tshark是wireshark的命令行工具,经过shell命令抓取、解析报文。tcpdump是Linux系统下的抓包工具。wireshark和tcpdump都共同使用 libpcap做为其底层抓包的库,tshark也能够抓取报文。html
有时候须要在linux系统或者ARM开发板中进行抓包,使用tcpdump抓包更加方便,在这种场景下,通常使用tcpdump进行抓包,而后在Windows中使用wireshark来分析生成的包文件,在自动化分析或者自动化测试中,可使用tshark来进行包解析。本文介绍使用tcpdump抓取报文后使用tshark进行报文解析。python
安装
# linux
yum -y install wireshark
yum -y install tcpdump
tcpdump抓包
抓包
抓取eth1网卡数据包,数据写入文件/tmp/packet.pcapjson
tcpdump -i eth1 -w /tmp/packet.pcap >/dev/null 2>&1 &
其中windows
>/dev/null:将标准输出(控制台输出)重定向到/dev/null中,/dev/null表明 linux 的空设备文件。表示不输出内容
2>&1:重定向绑定,错误输出(2)和标准输出(1)输出到同一个地方
>/dev/null 2>&1的做用就是丢弃标准输出和错误输出,不会输出任何信息到控制台。
也能够只抓取特定协议的报文,好比过滤tcp报文:bash
tcpdump -i eth1 tcp -w /tmp/packet.pca