插件窝 干货文章 Linux下dumpcap如何保存数据包

Linux下dumpcap如何保存数据包

捕获 dumpcap capture bash 953    来源:    2025-05-09

在Linux下使用dumpcap保存数据包

dumpcap是Wireshark套件中的一个命令行工具,专门用于捕获网络数据包。以下是使用dumpcap保存数据包的方法和常用选项:

基本保存命令

dumpcap -i <interface> -w <output_file>
  • -i 指定网络接口(如eth0, wlan0等)
  • -w 指定输出文件名

常用选项

  1. 指定捕获时间

    dumpcap -i eth0 -w capture.pcap -a duration:60  # 捕获60秒
    
  2. 限制捕获包数

    dumpcap -i eth0 -w capture.pcap -c 1000  # 捕获1000个包后停止
    
  3. 循环捕获多个文件

    dumpcap -i eth0 -w capture.pcap -b filesize:1 -b files:5  # 每个文件1MB,最多5个文件
    
  4. 过滤特定流量

    dumpcap -i eth0 -w capture.pcap -f "tcp port 80"  # 只捕获HTTP流量
    
  5. 指定缓冲区大小

    dumpcap -i eth0 -w capture.pcap -B 10  # 10MB缓冲区
    

高级用法

  1. 捕获到指定大小后停止

    dumpcap -i eth0 -w capture.pcap -a filesize:10  # 捕获到10KB后停止
    
  2. 自动命名文件

    dumpcap -i eth0 -w "capture_%Y-%m-%d_%H-%M-%S.pcap"  # 使用时间戳命名
    
  3. 后台运行

    dumpcap -i eth0 -w capture.pcap -q &
    

查看可用接口

dumpcap -D  # 列出所有可用接口

注意事项

  1. 需要root权限或具有相应网络权限的用户才能捕获数据包
  2. 输出文件通常使用.pcap或.pcapng扩展名
  3. 可以使用Wireshark或tcpdump等工具分析捕获的文件

示例组合命令

sudo dumpcap -i eth0 -w /tmp/web_traffic.pcap -f "tcp port 80 or port 443" -a duration:300 -b filesize:5 -b files:10

这个命令会: - 捕获eth0接口上80和443端口的流量 - 持续5分钟(300秒) - 每5MB创建一个新文件 - 最多创建10个文件