数据包分析:抓包

Wireshark(windows)

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

 

tcpdump(linux)

TcpDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

一般情况下Linux都自带了tcpdump。

使用root用户登录,运行tcpdump命令就可以开始抓包。这里说明一下,如果使用SSH登录到远程Linux,然后直接运行tcpdump,会发现抓到大量的数据包,速度快的都看不清楚,这是因为tcpdump抓到的包发送给远程的终端显示,同时又抓了这个包,再显示,再抓取,造成了循环抓取。当然,这样抓包没有任何意义,除了证明你的网络是通的。

tcpdump -nn -i eth0 icmp

 

抓取ping包

tcpdump -c 5 -nn -i eth0 icmp

 

抓取到本机22端口包

tcpdump -c 10 -nn -i eth0 tcp dst port 22 

 

解析包数据

tcpdump -c 2 -q -XX -vvv -nn -i eth0 tcp dst port 22

 

默认情况下,tcpdump抓包结果显示在屏幕(严格点,专业点应该说是标准输出)上,显然这不利于进一步的数据分析,因此我们需要将抓包结果存放在文件中。可以使用-w命令将结果保存在文件中,如:

tcpdump -w google.cap

  

环境

因为工作环境中的Linux一般只有字符界面,且一般而言Linux都自带的tcpdump,或者用tcpdump抓包以后用Wireshark打开分析。

 

参考 

《Wireshark数据包分析实战》

抓包工具tcpdump用法说明
Wireshark和TcpDump抓包分析心得

 

posted @ 2019-03-22 22:57  _raindrop  阅读(353)  评论(0编辑  收藏  举报