tcpdump、windump

2020/03 23 00:03

用之前,先用ifconfig列出当前设备的网络接口,示例:

ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.53.206  netmask 255.255.240.0  broadcast 172.16.63.255
        ether 00:16:3e:11:fc:e4  txqueuelen 1000  (Ethernet)
        RX packets 26585809  bytes 16352217278 (15.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18579541  bytes 13413764446 (12.4 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

那么当前网络首选接口为eth0

筛选80端口
tcpdump -i eth0 port 80

筛选80端口,只抓10个包
tcpdump -i etch0 port 80 -c 10

筛选:与8.8.8.8交互,并且80端口
tcpdump -i etch0 port host 8.8.8.8

筛选主机8.8.8.8发送的所有数据
tcpdump -i eth0 src host 8.8.8.8

筛选所有送到主机8.8.8.8的数据包
tcpdump -i eth0 dst host 8.8.8.8
以下为可选输出选项:
-e   输出的每行中都将包括数据链路层头部信息,例如源MAC和目标MAC。
-q   快速打印输出。即打印很少的协议相关信息,从而输出行都比较简短。
-X   输出包的头部数据,会以16进制和ASCII两种方式同时输出
-XX  比-X更详细
-v   当分析和打印的时候,产生详细的输出
-vv  比-v更详细
-vvv 比-vv更详细
-w   接文件名,可写到文件中

以下为配置选项:
-n   对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。
-nn  除了-n的作用外,还把端口显示为数值,否则显示端口服务名。
-P   指定要抓取的包是流入还是流出的包。可以给定的值为in/out/inout 默认inout
     -Pin / -Pout / -Pinout
-s len  设置最大抓包长度,不设置默认为65535

在Windows环境下的名称为WinDump,官方网址为:
https://www.winpcap.org/


在Windows10环境下直接运行会丢失DLL,需要安装Win10Pcap-v10.2-5002.msi;

点击这里打包下载