一、介绍
tcpdump是一个抓包工具,用于实时捕获和分析网络流量。它通常在unix和linux操作系统上使用。tcpdump能够捕获流经网络接口的数据包,并显示或保存它们以供进一步分析。它提供有关每个数据包的详细信息,包括源IP地址、目标IP地址、使用的协议、数据包时间戳、数据包大小等等。
二、使用
1、显示所有可用的网络接口 -D
tcpdump -D 
2、查下看系统网卡信息
ifconfig 
3、tcpdump过滤器格式:tcpdmp [options] [not] proto dir type
 options:可选 -nn/-vvv/-XX/-i/-c/-e
 proto:ip, arp, rarp, tcp, udp, icmp, ether等
 dir:src, dst, src or dst, src and dst,默认为 src or dst
 type:有 host, net, port, portrange(端口范围,比如 21-42)
 4、抓取某主机的数据包
tcpdump host 172.18.1.100 
5、抓取任务网卡数据包
tcpdump -i any 
6、抓取某网卡数据包
tcpdump -i eno1 
7、抓取网络tcp数据包
tcpdump -i eno1 tcp 
8、抓取某端口数据包
tcpdump -i eno1 tcp port 18001 
9、监听主机192.168.1.100和192.168.1.101之间ip协议的80端口的且排除www.baidu.com通信的所有数据包:
tcpdump ip dst 192.168.1.100 and src 192.168.1.101 and port 80 and host not baidu.com 
10、抓包保存到文件中
tcpdump -i eno1 tcp -w /tmp/slice1.cap 
tcpdump -i eno1 tcp src port 18001 -XX -Xs 0 -w /tmp/slice2.cap 
参数说明 
 -i: 指定网卡
 tcp:协议
 src: 指明包的来源
 port: 指明端口号
 -XX: 指抓到的包以16进制显示
 -X: 指以ASCII码显示
 -s 0: 指明抓整个包
 -w: 写到文件中
 11、读取捕获的数据包文件
 要读取和分析捕获的数据包0001.pcap文件,请使用带有“-r”选项的命令,如下所示。
tcpdump -r /tmp/slice1.cap 
三、wireshark打开cap文件
1、抓包保存到文件中
 tcpdump -i eno1 tcp -w /tmp/slice1.cap
 2、下载/tmp/slice1.cap到安装了wireshark电脑中。
 3、使用wireshark打开/tmp/slice1.cap
参考资料:
wireshark 导出特定分组
wireshark提取视频数据之RTP包中提取H264和H265