分类 ubuntu 下的文章

udp发送ip端口发送不可达


众所周知,udp是无连接的,所以忽略udp接收方状态,是否监听对应udp端口以及ip是否存在,直接向udp发送数据,会发生什么?为了搞清楚这个问题,我们尝试在局域网建立收发设备,然后抓包分析。端口不可达从抓包来看,udp数据正常发出。对端设备回复icmp指示端口不可达。ip 不可达当我们把接收端设备关机,此时udp数据正常发出,直到arp连续三次请求失败。此时抓包显示udp包已经不发送了。此时,我们跟踪sytem call 确定,发用户空间的sendto 接口仍然显示成功。sendto(3, "012345679abcdef\0", 16, 0, {sa_family...

一次无效的运维


目录 [隐藏]I. 恢复快照后不能上网II. 防火墙规则变化III. mac地址变化导致服务认证失败IV. 设备连接失败 这里记录一次无效的运维,称之为无效,更多的是我人为原因引起的。1月2号阿里云提示服务器执行恶意脚本,当时正在休元旦,直接忽略。1月4号上班的时候查看了完整提示,分析了启动上下文,确定服务器被redis恶意注入矿机脚本。能够被注入原因很简单,把无认证的redis直接暴露了在公网,因为该服务器是从其他公司过户过来,稳定运行了5年,接手后保持原来的端口安全策略也没有注意。http://65.108.48.150/f2201rr/f.sh第一时间分析了该脚本...

vscode 通过数据断点分析segmentation fault


vscode 通过数据断点分析segmentation fault通常地,程序异常,我们借助vscode在ubuntu主动调试,程序会自动在异常代码位置停下来,但是异常分析通常不会这么简单,而是一连串连锁反应。这里尝试分析,因为程序异常,非法写入了一段正常内存,从而导致多个链路之后异常发生。而对于此问题,最常使用的调试手段就是添加数据断点。通常直接在某段代码位置添加的代码为函数断点,程序会自动在该位置停下来。同样地,我们可以添加条件断点:当某个判断条件(例如,变量值为真)满足的时候;当某段代码连续执行N次的时候;当某个变量(内存)被读写的时候;如上前两个条件断点,vsocde 里面的c/...

socat


目录 [隐藏]I. 地址规范地址关键字地址选项II. 样例远程访问目标机器的unix-domain socket监听unix socket重定向串口 socathttp://www.dest-unreach.org/socat/。提示:如下翻译来自 man 1 socat,未完待续……概述socat 是一个命令行工具,用以建立一个双向字节流交换数据。该字节流又可以被构造成不同地址类型,大量的地址选项也同样可以被作用于该流,因此socat非常强大。filan 是一个打印文件描述符的工具,已经被重构用以调试socat,当然,也可以另做它用。procan 是一个打印进程信息的工具...

在linux 下通过vscode调试elf可执行文件


how to use vscode debug elf ?elf 是linux 下可执行可链接文件(executable and linkable format)。通过gcc/make 我们很容易编译出我们需要的elf文件,借助vscode可以在ubuntu图形化调试该程序,再也不用在gdb命令操作了。如下是elf文件结构,包含文件头(elf header)和代码、数据区索引表(program header table、section header table)和对应代码区、数据区。明白了如上文件结构,还需要具体解答如下疑惑。什么文件可以被调试?通过file命令对比可以知道用以调试的文件...

Ubuntu wireless-ac 9560 驱动异常


Ubuntu 19.10 Intel wireless-ac 9560 driver exception重启电脑后发现wifi不能使用了,网络设置里面提示未发现网络适配器。电脑比较新,之前安装ubuntu18.10 低版本kernel 版本就发现不识别wifi设备,更新到ubuntu19.10 后正常,不过正常安装后也反复重启过使用了一段时间。Detected Intel(R) Wireless-AC 9560, REV=0x354;Ubuntu 19.10 5.3.0-40-generic;小米笔记本pro 15;排查第一时间排查dmesg 发现有iwlwifi 内核模块报错。主动搜...

开源homekit adk 测试


目录 [隐藏]I. contextII. dependencyIII. compileIV. testV. troubleshootingsclang: Command not foundfatal error: 'dns_sd.h' file not foundldd errorNo setup code found in key-value store.开源homekit adk 测试摘要 :本文尝试体验苹果新鲜开源的homekit adk,实现在ubuntu成功编译运行后在iPhone 家 实现设备的添加、控制,以及siri的语音控制。由amazon、apple、goo...

在ubuntu上使用onedrive


目录 [隐藏]I. dependencesII. installIII. configIV. troubleshootingsError reading ngrok APIonedrivesdk install failedImportError: cannot import name 'loosebidict' from 'bidict' 在ubuntu上使用onedrive自从使用了onedrive过后就像发现宝贝似得,跨机器自动同步文件很是方便,特别是一些正在进行调试笔记、开发文档。所以在ubuntu也马上考虑使用onedrive。https://github.c...

在局域网建立.local域名


目录 [隐藏]I. hostnameII. hostsIII. mdnsIV. avahi ubuntu setup .local domain in lan需要理解linux下面的几个概念。I. hostname主机名,默认保存在/etc/hosname,可以通过命令hostname查看和更改。$hostname #查看 hachi-jay $sudo hostname -F /etc/hostname #编辑`/etc/hostname`后应用该命令更改。II. hosts本地域名文件,配置后再本机...

thingsboard 开发环境建立


目录 [隐藏]I. dependencylinuxII. installIII. troubleshootingmaven:Some files do not have the expected license headermaven:Could not resolve dependencies for project org.thingsboard:application:jar:2.4.1Failed to run task: 'npm install' failedjava:变量 log找不到符号java:类org.thingsboard.server.common.msg....