网络抓包工具tcpd教程ump图文

tcpdump工具可以将网络中传送的数据包完全截获下来提供分析。还支持网络层、协议、主机或端口的过滤,并提供and/or/not等逻辑语句来去掉无用的信息。通过本文可以熟悉TcpDump工具,对网络数据抓包不再难!

1、首先是在Linux系统上安装tcpdump,通过yum即可

1yum install tcpdump -y

2、安装好tcpdump后,第一件事就是查看tcpdump版本

 

1tcpdump --version | tcpdump -h

从下图可以看到不光显示了版本号,还给出了tcpdump命令的一些用法,也可以通过man查看tcpdump或者到tcpdump官方查看帮助文档,文档里还给出了一些常用命令的示例

-1

3、tcpdump命令常用选项:

-D:列出当前系统上可以进行抓包的设备

-2

-i:指定一个需要进行抓包的设备,如"tucdump -i eth0",每一行都是一个数据包的信息,由多个字段组成,第1个字段是时间;第2个是IP协议,IPv4显示为IP,IPv6显示为IP6;第3、4个是源地址与目标地址;第5个字段是TCP协议里的Flags;剩下几个字段就是包的详细信息以及最后length包的长度,0代表没有数据。

-3

-n:不解析主机名,直接显示IP信息

-q:仅显示主要信息,多余字段(如TCP Flags)不做输出

-4

-v | -vvv:和q相反,会显示更详细的信息,三个v信息最详细

-c:指定抓包个数,比如"tcpdump -c 5",只抓5个数据包,而不会持续进行抓包

-A:把包内的详细数据也显示出来,如果没加密的数据都会被抓出来,包括密码-5

-w:把tcpdump的抓包内容存到指定文本中,方便以后读取。如"tcpdump -i eth0 port 80 -c 10 -w tcpdump.pcap",通常情况下将tcpdump抓包文件后缀定义为pcap

-r:读取之前保存的pcap文件,读取的时候也可以加选项,如"tcpdump -r tcpdump.pcap -A"

-C file size | -W filecount | -G seconds:分别表示-w所记录的抓包数据文本的大小、文本的个数以及多少秒创建一次文本

tcpdump过滤表达式(使用表达式可以灵活的定义抓包条件,如端口,目标IP、源IP等,表达式一般写在命令的末尾)

 

port:后面接上指定的端口号,这样可以对指定端口的数据抓包,下图是本机用curl访问baidu后的抓包信息,可以看到本机192.168.44.129发出的请求以及收到220.181.57.217的返回数据

-6

host  ip:指定需要抓包的主机,如"host 192.168.44.129"

net range:指定IP地址的范围,如"net 192.168.44"或“192.168.44.0/24”

udp | tcp | icmp:抓取udp或者tcp或者icmp协议的数据包

src ip:源地址,只对指定源地址进行抓包

dst ip:目标地址,只对指定目标地址进行抓包

复合表达式:

and | or | not:可以将多个表达式组合一起,如:

 

1tcpdump -i eht0 -nq port 80 or port 443
2tcpdump -i eht0 -nq 'src host 192.168.44.129 and (dst port 80 or 443)'

 

 

到此tcpdump常用选项与用法就已经介绍完毕,由于实际操作中tcpdump的可读性不高,可以结合Wireshark来更方便的对抓包数据进行分析

上一篇:小龙虾的头部是“虾黄”还是“虾屎”?很多人还不懂,别再乱吃了
下一篇:第一个5G电话拨通了