tcpdump 网络抓包神器

tcpdump - 追踪过滤网络数据包

tcpdump 是能够打印指定网卡接口的详细网络包内容的工具集

command format

过滤主机

指定源地址

指定目的地址

过滤端口 抓取所有经过eth1,目的或源端口是25的网络数据

指定源端口

指定目的端口

网络过滤

协议过滤

常用表达式

抓取所有经过eth1,目的地址是172.16.71.254或172.16.71.200端口是80的TCP数据

抓取所有经过eth1,目标MAC地址是00:01:02:03:04:05的ICMP数据

抓取所有经过eth1,目的网络是172.16,但目的主机不是172.16.71.200的TCP数据

高级过滤

IP头

抓分片包 匹配MF,分片包

最后分片包的开始3位是0,但是有Fragment Offset字段匹配分片和最后分片

抓取源端口大于1024的TCP数据包

只抓SYN包,第十四字节是二进制的00000010,也就是十进制的2

抓SYN或者SYN-ACK

用到了位操作,就是不管ACK位是啥抓PSH-ACK

抓所有包含FIN标记的包(FIN通常和ACK一起,表示幽会完了,回见)

抓RST(勾搭没成功,伟大的greatwall对她认为有敏感信息的连接发RST包,典型的棒打鸳鸯)

tcpdump考虑了一些数字恐惧症者的需求,提供了部分常用的字段偏移名字 icmptype (ICMP类型字段) icmpcode (ICMP符号字段) tcpflags (TCP标记字段) ICMP类型值有:

TCP标记值:

这样上面按照TCP标记位抓包的就可以写直观的表达式了:只抓SYN包

抓SYN, ACK

抓SMTP数据

抓取数据区开始为"MAIL"的包,"MAIL"的十六进制为0x4d41494c

抓HTTP GET/POST数据 GET

POST

查看HTTP请求响应头

抓SSH返回

"SSH-"的十六进制是0x5353482D

抓老版本的SSH返回信息,如"SSH-1.99.."

按数量抓包保存到文件 -c参数指定抓多少个包

上面的命令计算抓10000个SYN包花费多少时间,可以判断访问量大概是多少

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180123G00N7H00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券