Linux环境下tcpdump网络协议抓包与解析
作者:点墨
这篇文章主要为大家介绍了Linux环境下tcpdump网络协议抓包与解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
环境
使用tcpdump分析常见网络协议(ARP,DNS)
linux: red-hat 8
yum install bind-utils tcpdump net-tools
ARP
前置条件
机器A与机器B处于同一网段
步骤
1.机器A的终端A执行 arp -D 机器B的IP
2.机器A的终端A执行 tcpdump -i ech0 -ent '(dst 机器AIP and src 机器BIP) or (dst 机器BIP and src 机器AIP)' -X
3.机器A的终端B执行 ping 机器B的IP
4.机器A的终端A获得网络包
结果
分析
0001 //硬件类型,1表示MAC地址 0800 //协议类型,表示要映射的协议地址类型,0800表示IP地址 06 //硬件地址长度字段,MAC地址是6 04 //协议地址长度字段,IPV4是4 0001 //操作类型,1为ARP请求,2为ARP应答,3位RARP请求,4位RARP应答 000c 29ff 22e7 //发送端以太网地址 0a70 8871 //发送端IP地址 0000 0000 0000 //目的端以太网地址,全0表示广播,broadcast,同网段下所有的机器都会接收到 0a70 886a //目的端IP地址 0001 //硬件类型,1表示MAC地址 0800 //协议类型,表示要映射的协议地址类型,0800表示IP地址 06 //硬件地址长度字段,MAC地址是6 04 //协议地址长度字段,IPV4是4 0002 //操作类型,1为ARP请求,2为ARP应答,3位RARP请求,4位RARP应答 000c 297c 7c42 //发送端以太网地址 0a70 886a //发送端IP地址 000c 29ff 22e7 //目的端以太网地址,全0表示广播,broadcast,同网段下所有的机器都会接收到 0a70 8871 //目的端IP地址 0000 0000 0000 0000 0000 0000 0000 0000 0000 //填充字节
DNS
步骤
- vi /etc/resolv.conf 配置DNS服务器
- 服务器终端1执行 tcpdump -i ech0 -nt -s 500 port domain -X
- 服务器终端2执行 host -t A www.baidu.com
- 终端1获得结果
结果
分析
4500 003b 3f0d 0000 4011 9136 0a70 8871 0a70 0d1e c153 0035 0027 aaa7 //IP表头 1048 //16位标识 0100 //16位标志 0 0000 0 0 1 0 000 0000 QR:0表示请求 opcode:0表示默认查询 AA:0 TC:0 RD:1表示递归查询 RA:0 zero:全0, rcode:返回码,表示应答状态,0表示无错误 0001 //16位问题个数 0000 //16位应答资源记录个数 0000 //16位授权资源记录数目 0000 //16位额外的资源记录数目 //查询问题 0377 7777 0562 6169 6475 0363 6f6d 00//查询名(可变长) www.baidu.com 0001 //16位查询类型,1表示获取目标主机的IP地址 0001 //16位查询类,1表示获取因特网地址(IP地址) 4500 0076 52ae 0000 7a11 435a 0a70 0d1e 0a70 8871 0035 c153 0062 55ca //IP表头 1048 //16位标识,与请求报文对应 8180 //16位标志 1 0000 0 0 1 1 000 0000 QR:1表示应答 opcode:0表示默认查询 AA:0 TC:0 RD:1表示递归查询 RA:1表示服务器支持递归查询 zero:全0, rcode:返回码,表示应答状态,0表示无错误 0001 //16位问题个数 0003 //16位应答资源记录个数,有3个 0000 //16位授权资源记录数目 0000 //16位额外的资源记录数目 //查询问题 0377 7777 0562 6169 6475 0363 6f6d 00 //查询名(可变长) www.baidu.com 0001 //16位查询类型,1表示获取目标主机的IP地址 0001 //16位查询类,1表示获取因特网地址(IP地址) //应答 c00c 0005 //32位域名 0001 //16位类型 A 0000 //16位类 02f6 000f //32位生存时间 0377 777701 6106 7368 6966 656e c016 // www.a.shifen c02b 0001 //32位域名 0001 //16位类型A 0000 //16位类 0004 0004 //32位生存时间 dcb5 2696 // 220.181.38.150 c02b 0001 //32位域名 0001 //16位类型A 0000 //16位类 0004 0004 //32位生存时间 dcb5 2695 // 220.181.38.149
以上就是Linux环境下tcpdump网络协议抓包与解析的详细内容,更多关于Linux tcpdump网络协议抓包解析的资料请关注脚本之家其它相关文章!