tcpdump 是一个强大的网络抓包工具,可以用来分析网络数据包,以下是 tcpdump 抓包命令的参数用法详解:
(图片来源网络,侵删)
1、基本语法
tcpdump [选项] [表达式]
2、常用选项
选项 | 说明 |
i 接口名 | 指定抓取的网络接口,如 eth0、wlan0 等 |
n | 不解析主机名和端口名,直接显示 IP 地址和端口号 |
X | 以十六进制和 ASCII 码显示数据包内容 |
s 抓取数据包大小 | 指定抓取的数据包大小,默认为 65535 字节 |
c 抓取数据包数量 | 指定抓取的数据包数量,达到指定数量后停止抓取 |
v | 显示详细信息,包括数据包的协议类型、源 IP、目标 IP、源端口、目标端口等 |
w 输出文件名 | 将抓取到的数据包保存到指定的文件中,使用 pcapng 格式 |
r 输入文件名 | 从指定的文件中读取数据包进行分析或过滤 |
F 过滤表达式 | 根据过滤表达式抓取符合条件的数据包 |
G 设置抓包文件的组 ID | 用于在多用户环境下设置抓包文件的组 ID,避免权限问题 |
W 设置抓包文件的写权限掩码 | 用于在多用户环境下设置抓包文件的写权限掩码,避免权限问题 |
Z 设置抓包文件的粘滞位 | 用于在多用户环境下设置抓包文件的粘滞位,避免其他用户删除文件 |
C 设置抓包文件的创建时间戳 | 用于在多用户环境下设置抓包文件的创建时间戳,避免权限问题 |
q 静默模式,不显示任何信息 | |
tttt 设置时间显示格式,如 hh:mm:ss.sss | |
e 设置数据链路层协议类型,如 arp、rarp、ip、icmp、igmp、udp、tcp、raw、ppp、fddi、atm、slip、slurpfifo、nlmon、ns1、sunrpc、clns等 | |
E 设置以太网帧头部类型,如 arp、rarp、ip、arpwatch、llmnr等 | |
y 输出数据包时使用绝对时间戳,而不是相对时间戳 | |
Q inet 仅抓取 inet 协议的数据包 | |
q inet6 仅抓取 inet6 协议的数据包 | |
V 显示版本信息并退出 |
3、过滤表达式
tcpdump 支持丰富的过滤表达式,可以根据源 IP、目标 IP、源端口、目标端口、协议类型等条件进行过滤,以下是一些常用的过滤表达式:
表达式 | 说明 |
host IP地址 | 抓取与指定 IP 地址相关的数据包 |
net IP地址/子网掩码 | 抓取与指定 IP 地址和子网掩码相关的数据包 |
port 端口号 | 抓取与指定端口号相关的数据包 |
src IP地址[!]dst IP地址 | 抓取源 IP 地址为指定值或非指定值的数据包 |
src host IP地址[!]dst host IP地址 | 抓取源主机 IP 地址为指定值或非指定值的数据包 |
src port[!]dst port[!]protocol | 抓取源端口号为指定值或非指定值,目标端口号为指定值或非指定值,以及协议类型为指定值或非指定值的数据包 |
tcp[flags] = value[!]value | 抓取 tcp flags(标志位)为指定值或非指定值的数据包 |
tcp[flags] & value[!]value | 抓取 tcp flags(标志位)与指定值或非指定值进行按位与操作后结果为真(非零)的数据包 |
tcp[flags] != value[!]value | 抓取 tcp flags(标志位)与指定值或非指定值进行按位异或操作后结果为真(非零)的数据包 |
tcp[((offset)>>field_length):field_length] & mask[!]mask | 根据 tcp flags(标志位)的偏移量和长度,以及掩码进行按位与操作或按位异或操作后的结果进行过滤 |
protocol[!]protocol[^]port[!]port[^]ip[!]ip[^]host IP地址[!]host IP地址[^]net IP地址/子网掩码[!]net IP地址/子网掩码 | 根据协议类型、端口号、IP 地址和主机 IP 地址进行过滤,可以使用 ^ (逻辑非)和 ! (逻辑非)进行组合过滤 |
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/678010.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复