不指定任何参数
1 tcpdump
监听特定网卡
1 tcpdump -i eth0
监听特定主机,例子:10.0.32.28,备注:出入的包都会被监听
1 tcpdump host 10.0.32.28
特定来源、目标地址的通信
1 tcpdump src host hostname #源主机IP
2 tcpdump dst host hostname #目的主机IP
特定端口
1 tcp port 22
监听TCP/UDP
1 tcpdump tcp
监听来自主机123.207.116.169在端口22上的TCP数据包
1 tcpdump tcp port 22 and src host 123.207.116.169
监听特定主机之间的通信
1 tcpdump ip host 210.27.48.1 and 210.27.48.2
210.27.48.1除了和210.27.48.2之外的主机之间的通信
1 tcpdump ip host 210.27.48.1 and ! 210.27.48.2
稍微详细点的例子
1 tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w test.pcap
1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
2)-i eth1 : 只抓经过接口eth1的包
3)-t : 不显示时间戳
4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
5)-c 100 : 只抓取100个数据包
6)dst port ! 22 : 不抓取目标端口是22的数据包
7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
8)-w ./target.cap : 保存成cap文件,方便用ethereal即wireshark)分析
限制抓包的数量
如下,抓到1000个包后,自动退出
1 tcpdump -c 1000
原文链接https://www.jb51.net/article/131595.htm