常用命令:
tcpdump -i enp3s0 -nn -s0 -v -tttt -w /tmp/test-%Y%m%d_%H%M%S.pcap -G 3600 -C 200 -Z root
参数说明:
- -i enp3s0: 指定要捕获的数据包的网卡,这里网卡名称为enp3s0, 具体网卡名称以实际为准。如果需要捕获所有网卡数据,则网卡名称可以指定为
any - -nn: 禁用主机名解析和端口名解析,以提高捕获性能。数据包中的IP地址和端口号将以数字形式显示
- -s0: 设置要捕获的数据包的截断长度为0,表示捕获完整的数据包,而不是截断数据包的一部分
- -v: 启用详细的输出模式,将显示更多有关捕获数据包的信息
- -tttt: 显示时间戳。在这里,-tttt会显示精确到微秒级别的时间戳
- -w /tmp/test-%Y%m%d_%H%M%S.pcap: 指定捕获数据包后保存的文件路径和文件名格式。注意%x需要配合-G选项一起使用才有效。%格式说明:
- %Y: 年
- %m: 月
- %d: 日
- %H: 时
- %M: 分
- %S: 秒
- -G 3600: 设置文件轮换时间,每3600s(1小时)创建一个新的捕获文件。这有助于将捕获文件保持在一定的大小限制内,防止文件过大
- -C 200: 设置每个捕获文件最大为200M。一旦达到这个大小,将创建一个新的捕获文件,并继续捕获数据包。这有助于限制每个文件的大小,以便于管理和存储
- -Z root: 当使用
-G(按时间轮转文件)或-C(按大小轮转文件)时,tcpdump 默认放弃 root 权限,切换至tcpdump系统账户(UID/GID 通常为 72),导致无法写入高权限目录