温馨提示×

Debian dumpcap怎么过滤数据包

小樊
54
2026-08-06 02:38:07
栏目: 智能运维

在 Debian 上用 dumpcap 过滤数据包,主要有 三种方式捕获过滤(Capture filter)显示过滤(Display filter)、以及 dumpcap 自身参数过滤。下面按常见用法说明。


一、dumpcap 的捕获过滤(Capture filter)

在抓包前就生效,基于 BPF(tcpdump 语法)

1️⃣ 基本用法

sudo dumpcap -i eth0 -f "host 192.168.1.10"

2️⃣ 常见捕获过滤示例

需求 过滤表达式
指定 IP host 192.168.1.10
指定源 IP src host 192.168.1.10
指定目的 IP dst host 192.168.1.10
指定端口 port 80
指定协议 tcp / udp / icmp
多条件 tcp and port 443
排除某个 IP not host 192.168.1.1
HTTP tcp port 80
DNS udp port 53

✅ 示例:

sudo dumpcap -i eth0 -f "tcp port 443"

二、dumpcap 指定网卡和文件

sudo dumpcap -i eth0 -w capture.pcap -f "tcp port 80"

常用参数:

  • -i:网卡
  • -w:保存文件
  • -f:捕获过滤
  • -c:抓多少个包后停止
  • -s:抓包长度(0 = 完整)
sudo dumpcap -i any -s 0 -c 100 -w test.pcap

三、dumpcap 使用显示过滤(Display filter)

⚠️ dumpcap 本身不支持显示过滤 显示过滤是 Wireshark / tshark 才支持的

✅ 正确方式(用 tshark)

sudo tshark -r capture.pcap -Y "http.request"

常见显示过滤:

  • ip.addr == 192.168.1.1
  • tcp.port == 443
  • http
  • dns
  • icmp

四、dumpcap 权限问题(Debian 常见)

1️⃣ 使用 root

sudo dumpcap

2️⃣ 或加入 wireshark 组

sudo usermod -aG wireshark $USER
newgrp wireshark

五、查看可用网卡

dumpcap -D

六、实战示例

抓某台主机的 HTTP 流量

sudo dumpcap -i eth0 -f "host 192.168.1.100 and tcp port 80" -w http.pcap

抓 DNS 并保存

sudo dumpcap -i any -f "udp port 53" -w dns.pcap

七、总结

过滤类型 工具 语法
捕获过滤 dumpcap BPF(tcpdump 语法)
显示过滤 tshark / Wireshark Wireshark 语法
保存文件 dumpcap -w

如果你愿意,可以告诉我:

  • 想抓 哪种协议
  • 本机 / 服务器 / 容器
  • 是否要 实时分析或离线分析

我可以帮你写一条 精准的 dumpcap 命令

0