tcpdump -i eth0监听特定主机
#监听本机和1.39之间的往来通信 tcpdump host 192.168.1.39#监听来源为1.39的通信
tcpdump src host 192.168.1.39 tcpdump dst host hostname特定端口
tcpdump port 22来源主机+端口+tcp
tcpdump tcp port 22 and src host 123.207.116.169监听特定主机之间的通信
tcpdump ip host 210.27.48.1 and 210.27.48.2 #210.27.48.1 除了和 210.27.48.2 之外的主机之间的通信 tcpdump ip host 210.27.48.1 and ! 210.27.48.2常用例子
tcpdump tcp -i eth1 -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型 2) -s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包 3) -c 100 : 只抓取100个数据包 4) dst port ! 22 : 不抓取目标端口是22的数据包 5) src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24 抓取Get和Post请求
# Get tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420' # post tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354'找出发包数量最多的ip
tcpdump -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 20抓取http有效数据包
# 抓取 80 端口的 HTTP 有效数据包,排除 TCP 连接建立过程的数据包(SYN / FIN / ACK): tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
参考:https://www.cnblogs.com/wongbingming/p/13212306.html