本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告

网络抓包工具tcpdump图文教程

发布:TangLu2016-10-11 9:48分类: 系统安全 标签: 抓包 tucdump

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

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


yum install tcpdump -y


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

tcpdump --version | tcpdump -h


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

tcpdump1.jpg

3、tcpdump命令常用选项

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

tcpdump2.jpg

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

tcpdump4.jpg

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

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

tcpdump3.jpg

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

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

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

-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的返回数据

tcpdump5、.png


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:可以将多个表达式组合一起,如:

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


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


温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《网络抓包工具tcpdump图文教程
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-328.html  [生成短网址]

已有 0/2453 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~