文章目录
tcpdump 是一个强大的网络数据包捕获工具,用于在网络接口上捕获和显示通过的数据包。它通常用于网络故障排除和安全分析。下面详细介绍 tcpdump 及其用法。
1.选项解释
以下是 tcpdump
的选项和用法,以表格形式展示:
选项 | 说明 |
---|---|
-A |
以 ASCII 格式显示数据包内容 |
-b |
打印 AS 数字 |
-B size |
设置缓冲区大小(以 KiB 为单位) |
-c count |
捕获指定数量的数据包后停止 |
--count |
与 -c 相同 |
-C file_size |
将捕获的数据包文件切分为指定大小的文件 |
-d |
将数据包显示为伪代码形式 |
-dd |
将数据包显示为 C 程序格式 |
-ddd |
将数据包显示为十进制数格式 |
-D |
列出所有可用的网络接口 |
-E algo:secret |
使用指定算法和密钥解密 IPsec 流量 |
-f |
将数据包的外部地址显示为数字格式 |
-F file |
从指定文件读取过滤器表达式 |
-G seconds |
将捕获文件按指定时间间隔轮换 |
-h |
显示帮助信息并退出 |
-H |
打印以太网头部中的 TTL 和 ID |
-I |
设置为监视模式(仅适用于无线接口) |
-j tstamptype |
设置时间戳类型 |
-J |
列出可用的时间戳类型 |
-K |
不校验 IP 和 TCP/UDP 校验和 |
-l |
将标准输出设为缓冲模式 |
-L |
显示已知的数据链路类型并退出 |
-M secret |
使用指定密钥验证 IPsec 流量 |
-n |
不解析主机名(将 IP 地址显示为数字格式) |
-N |
不打印域名部分 |
--number |
与 -c 相同 |
-O |
不进行优化 |
-p |
不置混杂模式 |
-q |
快速输出(不显示数据包的冗余信息) |
`-Q in | out |
-r file |
从文件中读取数据包 |
-R |
打开 RPC 解码 |
-s snaplen |
设置捕获的快照长度 |
-S |
打印绝对序列号 |
-t |
不打印时间戳 |
-tt |
打印完整的时间戳(秒) |
-ttt |
打印时间戳间隔(微秒) |
-tttt |
打印完整的日期和时间 |
-T type |
强制将数据包解码为指定类型 |
--time-stamp-precision precision |
设置时间戳精度(秒、微秒、纳秒) |
--micro |
使用微秒时间戳 |
--nano |
使用纳秒时间戳 |
--version |
显示版本信息并退出 |
-v |
打印更多信息(冗长模式) |
-vv |
打印更多详细信息 |
-vvv |
打印最详细的信息 |
-V file |
从指定文件中读取数据包 |
-w file |
将捕获的数据包写入文件 |
-W filecount |
在写入文件时循环使用文件名 |
-x |
以十六进制格式显示数据包内容 |
-X |
以十六进制和 ASCII 格式显示数据包内容 |
-y datalinktype |
设置数据链路类型 |
-z postrotate-command |
捕获文件轮换后的命令 |
-Z user |
设置捕获进程的用户 ID |
expression |
设置捕获过滤表达式 |
这是 tcpdump
的常见选项及其用途。根据具体需求组合使用这些选项,可以更高效地捕获和分析网络数据包。
2.表达式用法
tcpdump 表达式用于过滤捕获的数据包,确保只捕获和显示符合特定条件的数据包。这些表达式由一个或多个原子条件和布尔运算符(如 AND、OR 和 NOT)组合而成。下面详细介绍 tcpdump 表达式的用法。
c
tcpdump host 192.168.1.1 # host:指定的主机,例如 IP 地址或主机名
tcpdump net 192.168.1.0/24 #net:指定的网络
tcpdump port 80 #port:指定的端口号。
tcpdump src 192.168.1.1 # src:源地址。
tcpdump dst 192.168.1.1 # dst:目的地址。
# 指定协议类型
tcpdump ip
tcpdump tcp
tcpdump src 192.168.1.1 and dst port 80 # 用 and 或 &&。
tcpdump src 192.168.1.1 or dst port 80 # 用 or 或 ||
tcpdump not src 192.168.1.1 # 用 not 或 !
# 使用括号来明确表达式的优先级
tcpdump 'src 192.168.1.1 and (dst port 80 or dst port 443)'