tcpdump命令的控制分4个部分

控制tcpdump行为

-c 控制抓取报文的个数

-p 非混杂模式

-s 限制报文长度,0 为不限制

-w 保存抓取的报文到指定路径

-r 从pcap报文读取报文

控制输出信息如何显示

-a 网络地址显示为名称

-n 网络地址显示为IP点分格式地址

-N 不要域名转换

-f 不要远端名称解析

显示哪些数据

-v 打印ttl

-vv 显示详细信息

-q  显示更少信息

-x  报文以十六进制显示

过滤条件

命令行上的条件以 and / or 来组合,也可以   -F 来指定 条件文件来过滤

地址

host 1.2.3.4 / dst(src) 1.2.3.4

net 192.168.1.2.0 mask 255.255.255.0

ip协议

ip proto       proto可以是关键字或数字,定义在/etc/protocols , 如 ip ospf 等于 ip 89

端口、3层以上协议

port  关键字/数字  定义在 /etc/services   ,如 port 53 等于 port domain

报文特征字段

ether[0]&1 !=0

tcp[0:2] == 1234

报文长度

greater  / less

tcpdump greater 256    捕获报文长度大于256字节的报文

一些应用

循环抓包

tcpdump -i eth* -s 0 -C 1024 -W 100 -w /home/loop_cap.pcap -Z root     每个pcap报文1G大小,循环在eth*上抓100个这样的报文

05-11 21:52