tcpdump

文章目录

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)'
相关推荐
R_.L19 分钟前
网络 :数据链路层
网络
cat_with_cat3 小时前
Linux网络:UDP socket创建流程与简单通信
linux·网络·udp
不绝1913 小时前
怪物机制分析(有限状态机、编辑器可视化、巡逻机制)
网络·游戏·unity·游戏引擎
.YYY3 小时前
网络--初级
网络·计算机网络
阿维的博客日记3 小时前
HTTP/3.0的连接迁移使用连接ID来标识连接为什么可以做到连接不会中断
网络·网络协议·http
半路_出家ren4 小时前
第8章:应用层协议HTTP、SDN软件定义网络、组播技术、QoS
网络·网络协议·http·mpls·qos·sdn软件定义网络·组播技术
teeeeeeemo4 小时前
http和https的区别
开发语言·网络·笔记·网络协议·http·https
Bruce_Liuxiaowei4 小时前
Netstat高级分析工具:Windows与Linux双系统兼容的精准筛查利器
linux·运维·网络·windows·安全
iFulling5 小时前
【计算机网络】第三章:数据链路层(下)
网络·笔记·计算机网络
Brookty5 小时前
【操作系统】进程(二)内存管理、通信
java·linux·服务器·网络·学习·java-ee·操作系统