在实际工作中,经常会遇到一些莫名其妙的问题,有时间我们就可能会需要用到抓包工作,直接获取网络传输报文直接进行分析;
一、Tcpdump+WireShark简介
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
tcpdump与wireshark是同类的工具,不过tcpdump是命令行形式,wireshark是界面形式;
我们一般使用的方式为,使用tcpdump在服务器上抓包,生成抓包文件,再sz拷贝到windows电脑,使用wireShark打开分析;
Windows系统咱就不说啦,直接以linux服务器为例吧;
二、实际使用
1、为了对具体的端口进行抓包,我们需要进入服务器中,执行以下命令,开始抓包:
sudo tcpdump -i ens160 port 1883 -w /var/wiresharkdata/1883.pcap 其中: /var/wiresharkdata/1883.pcap 为抓包数据存放的位置 port 1883 为监视的端口
2、抓包结束后,使用sz命令将抓包文件下载到本地电脑:
sz 1883.pcap
3、在本地使用wireshark软件打开抓包文件,读取抓包数据如下:
很清楚,很有用;