1、tcpdump是对网络上的数据包进行截获的包分析工具;
2、安装:yum install tcpdump(yum安装即可),安装完成之后创建一个文件夹,专门存放抓取数据保存的文件,执行tcpdump相关命令在该文件下执行就可以了;
3、例子:抓取网卡eht0 及192.168.168.18ip和8081端口;
命令:tcpdump -i eht0 -w file.cap host 192.168.168.18 and tcp port 8081;
-w :参数指定将监听到的数据包写入文件中保存,file.cap就是该文件。
-i :参数指定tcpdump监听的网络界面。
注意:每个服务器的网卡不一定是eht0,先使用ipconfig/ifconfig查看清楚自己又几个网卡,要监听那个 叫什么名字等。
然后再查看保存的文件就可以了!
抓取到文件之后我将文件传到我的windows上面,这里就涉及到一个如何打开cap文件的问题;
我用的是Wireshark,打开之后显示如下图:
Wireshark下载地址:/soft/2883.htm
解释一下上图三行的具体意义:
1、最上面为数据包列表,用来显示截获的每个数据包的总结性信息;
2、中间为协议树,用来显示选定的数据包所属的协议信息;
3、最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
数据包列表中,第一列是编号(如第1个包),第二列是截取时间(0.000000),第三列source是源地址(115.155.39.93),第四列destination是目的地址(115.155.39.112),第五列protocol是这个包使用的协议(这里是UDP协议),第六列info是一些其它的信息,包括源端口号和目的端口号(源端口:58459,目的端口:54062)。
协议树可以得到被截获数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet protocol)、UDP端口号(user datagram protocol)以及UDP协议的具体内容(data)。
另外在排查问题的时候,为了更准确的定位问题,会对抓的包利用Wireshark做过滤,
参考—>/wojiaopanpan/article/details/69944970;
我这里具体做的过滤就是我的服务器通过网卡单向发出去的包,原理就是源地址source发往目标的就是单向的;
过滤条件命令“ip.src eq 192.168.60.60”;如:
如果觉得《linux下tcpdump抓包保存cap文件 使用Wireshark分析》对你有帮助,请点赞、收藏,并留下你的观点哦!