tcpdump的基本参数说明

虽然像Wireshark(易于掌握)等图形化的抓包工具已经被我们大量使用,但是有的时候tcpdump还是能派上用场,所以我们依然要掌握一些基本的用法和参数

1.tcpdump的参数说明

参数 说明
-n 使用IP地址表示主机,而不是主机名;使用数字表示端口而不是服务名称
-i 指定要监听的网卡接口。”-i any”表示抓取所有网卡上的数据包
-v 输出一个稍微详细的信息,例如显示IP数据包里的TTL和TOS信息
-t 不打印时间戳
-e 显示以太网帧头部信息
-c 只抓取指定数量的数据包
-x 以16进制显示数据包内容
-s 设置抓包时的抓取长度。当数据包的长度超过抓取长度时,tcpdump抓取的将是被截断的数据包
-S 以觉对值来显示TCP报文段的序号
-w 将tcpdump的输出以特殊的格式定向到某个文件中
-r 从文件读取数据包信息并显示

2.tcpdump的基本表达式说明

tcpdump的表达式分为3种,类型(type)方向(dir)和协议(proto)

(1)类型

tcpdump支持的类型包括host,net,port和portrange,他们分别指定主机名(或IP地址),用CIDR方法表示的网络地址,端口号以及端口范围。比如要抓取整个1.2.3.0/255.255.255.0网络上的数据包,可以使用如下命令

tcpdump net 1.2.3.0/24

(2)方向

src指定数据包的发送端dst指定了数据包的目的端。比如要抓取进入端口3333的数据包,可以使用如下命令

tcpdump dst port 3333

(3)协议

指定目标协议,比如要抓取ICMP数据包,可以使用如下命令

tcpdump icmp

3.tcpdump所支持的逻辑操作符

tcpdump支持and,or,not等,比如要抓取主机shreck和所有非leo主机之间交换的IP数据包可以使用如下命令

tcpdump ip host shreck and not leo

如果表达式比较复杂,我们也可以使用括号将他们分组,并且用“’“将他们括住,以免被shell所解释
比如要抓取来自主机10.0.2.4,目标端口是3389或22的数据包,可以使用如下命令

tcpdump 'src 10.0.2.4 and (dst port 3389 or 22)'

你可能感兴趣的:(数据,wireshark,网卡)