首页主机资讯CentOS Sniffer如何设置抓包时长

CentOS Sniffer如何设置抓包时长

时间2025-11-26 14:24:03发布访客分类主机资讯浏览891
导读:在 CentOS 中设置抓包时长的方式 一、使用 tcpdump 按固定时长运行 直接按时间停止:用 -G <秒> 配合 -W 1 让抓包在指定秒数后自动停止并只生成一个文件。示例:抓取 eth0 上 10 秒 并写入文件。...

在 CentOS 中设置抓包时长的方式

一、使用 tcpdump 按固定时长运行

  • 直接按时间停止:用 -G < 秒> 配合 -W 1 让抓包在指定秒数后自动停止并只生成一个文件。示例:抓取 eth010 秒 并写入文件。
    • 命令:sudo tcpdump -i eth0 -G 10 -W 1 -w capture_10s.pcap
  • 按时间轮转并限定总时长:用 -G < 秒> 做时间轮转,配合 -W < 文件数> 控制总运行时长(总时长 ≈ 轮转间隔 × 文件数)。示例:每 60 秒 一个文件,最多 5 个文件,总时长约 5 分钟
    • 命令:sudo tcpdump -i eth0 -G 60 -W 5 -w cap_%Y%m%d_%H%M%S.pcap
  • 常用补充参数
    • -s 0:抓取完整报文;-nn:不解析主机名和端口名;需要时加 -v/-vv 提高输出详细度。
    • 若需按包数提前结束可用 -c < 数量> ;分析已保存文件用 -r 文件名。以上参数可与时长控制组合使用。

二、使用 dumpcap 按固定时长运行

  • 指定接口与输出,并设置运行时长(秒):示例抓取 any 接口 30 秒 到文件。
    • 命令:sudo dumpcap -i any -a duration:30 -w capture_30s.pcap
  • 说明
    • -a duration:N 直接控制抓包时长(单位:秒)。
    • 需要更细的过滤可用 -f “表达式”(BPF 语法),如:sudo dumpcap -i any -f “tcp port 80” -a duration:15 -w http_15s.pcap
    • 抓包通常需要 root 权限;长时间运行请关注磁盘空间。

三、使用 MySQL Sniffer 控制运行时长

  • 该工具本身不提供“按秒停止”的参数,常用做法是配合 timeout 命令限定运行时长。示例:抓取 eth03306 端口 60 秒
    • 命令:timeout 60s mysql-sniffer -i eth0 -p 3306 -l /tmp/mysql_sniff.log
  • 说明
    • -l 指定日志目录;如需按时间切分日志可用 -s < 分钟> (按分钟切分),但这与“运行多久后停止”是两个维度。

四、实用建议

  • 权限与接口:抓包需 root 或具备 CAP_NET_RAW 能力;不确定接口名可用 -D 列出(tcpdump)。
  • 文件与性能:建议用 -s 0 抓取完整报文;长时间或高速链路建议按时间或大小轮转,避免单文件过大(tcpdump 可用 -G/-C 组合)。
  • 过滤表达式:优先用 BPF 过滤(如 host 1.2.3.4 and port 80)减少无关流量,降低资源占用。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS Sniffer如何设置抓包时长
本文地址: https://pptw.com/jishu/756694.html
CentOS Sniffer能否实时监控网络状态 CentOS Sniffer能否自定义过滤规则

游客 回复需填写必要信息