tcp个人小结

监听特定网卡
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.cap

1)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

上一篇:Wireshark TS | 如何按起始和终止时间拆分pcap文件


下一篇:tcpdump抓包与nmap扫描