本机抓包实验

背景

有时,为了定位问题,需要先测试一下抓包工具、抓包方法、信息显示等。

可以通过nc工具(或busybox nc)模拟报文发送和报文监听。用tcpdump抓包和显示报文。并且在本机就可以测试验证

抓包命令

sudo tcpdump -i lo -nn -s 0 -X port 6666

tcp、udp都抓,

注意

-i Io 表示在本地换回设备上抓包, -nn的第一个n表示不用做dns转换,第二个n表示端口显示为数字,而不是 http、snmp、sftp等协议名。

-s 0 表示最大抓包长度是0,即不截断,全部抓

-X 表示 报文内容 16进制和ASCII码同时显示

监听udp报文

$ ./busybox nc -l -u -p 6666

hello

注意:busybox的nc比较简陋,只能收到第一个udp消息。

发送udp报文

方法1 echo "hello" | ./busybox nc -u 127.0.0.1 6666

方法2 bash可以给模拟的udp设备发送报文

echo "hello" > /dev/udp/127.0.0.1/6666

监听tcp报文

./busybox nc -l -p 6666

hello

发送tcp报文

echo "hello" | ./busybox nc 127.0.0.1 6666