tcpdump 抓包命令 参数用法详解

tcpdump 是一个强大的网络抓包工具,可以用来分析网络数据包,以下是 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

(0)
未希的头像未希新媒体运营
上一篇 2024-06-09 02:40
下一篇 2024-06-09 02:42

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入