首页 > 代码库 > Tcpdump安装使用

Tcpdump安装使用

安装:yum install tcpdump

截获某IP的主机的网络数据包:

tcpdump host 192.168.0.123

TCP协议要建立连接要经过3次“握手”,截取的数据包也是从3次握手开始,可以看到前三个包的状态(Flags)分别是:

 [S]、[S.]、[.]

 

cron可以定时执行抓包的时间

抓包命令:

tcpdump -c 100000 -w /home/kang/Desktop/test.txt -n

注释:抓10万个包,存在test.txt文件里,-n的意思是不对原地址和目的地址进行DNS查询

读文件命令:

tcpdump -r /home/kang/Desktop/test.txt -X -vv

注释:-r是读文件,-X是以ASCII码显示内容。-VV是以详细的报文信息显示

 

参数:

-i<interface> 接口

-v 详细

-vv 更加详细

-x 以十六进制显示数据包

-X 以ASCII码显示数据包

-n 不查询DNS

-F<file> 从指定的文件读取表达式

-D 显示可用的网络接口

-s 设置捕获数据包的长度

 

tcpdump对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的,所以通常的解决办法是显示用带-w的tcpdump保存到i文件中,再使用wireshark进行解码分析,并且定义过滤规则,以避免捕获的数据包铺满整个硬盘。

tcpdump为了方便wireshark工具认识,保存的文件名最好是xx.pcap后缀。例如:

tcpdump -nn -s 0 host 192.168.0.120 and port -80 -w wireshark.pcap

 

tcpdump分析http请求:

tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854

0x4745为“GET”前两个字母“GE”,0x4854为“HTTP”前两个字母“HT”

101.227.172.51.80
115.25.210.10.80
61.135.132.59.80
222.23.55.208.80
61.135.132.59
220.181.11.98
ip/dns解析:http://dns.aizhan.com/,查询到DNS解析的URL和地址

 

Tcpdump安装使用