Debian 下 Dumpcap 的网络协议支持概览
- Dumpcap 是 Wireshark 套件的命令行抓包工具,底层依赖 libpcap/PCAP 捕获引擎,能够按链路层类型与传输/应用层签名识别并捕获多种网络流量。它可处理链路层如 以太网、Wi‑Fi(IEEE 802.11),网络层如 IPv4/IPv6,常见传输层与应用层协议如 TCP、UDP、ICMP、ARP/RARP、DNS、DHCP、HTTP/HTTPS、SSL/TLS、FTP、SMTP、POP3、IMAP、SSH、Telnet、VoIP(SIP/RTP) 等。需要注意,Dumpcap 的职责是“捕获”,深入的协议解析与解码通常由 Wireshark/tshark 完成。
按层次划分的代表性协议
| 层次 |
代表协议 |
说明 |
| 链路层 |
以太网、Wi‑Fi(IEEE 802.11) |
802.11 支持取决于驱动/内核与是否启用监控模式 |
| 网络层 |
IPv4、IPv6 |
支持常见 IP 头部与扩展 |
| 传输层 |
TCP、UDP、ICMP |
支持常见端口与 ICMP 类型/代码 |
| 地址解析 |
ARP、RARP |
局域网地址解析相关流量 |
| 常见应用层 |
DNS、DHCP、HTTP/HTTPS、SSL/TLS、FTP、SMTP、POP3、IMAP、SSH、Telnet |
基于端口/握手特征识别 |
| 其它 |
PPP |
点对点链路抓包支持 |
| 语音/信令 |
SIP、RTP(VoIP) |
需相应 dissector 支持 |
| 以上协议在 Wireshark 的协议支持范围内,Dumpcap 可捕获其流量;具体能否识别与显示细节取决于安装的解码器与抓包环境。 |
|
|
影响协议可见性的因素
- 权限与能力:抓包通常需要管理员权限(如 sudo);在 Linux 上还需确保用户属于 wireshark 组或使用 sudo。未授权抓包可能违反策略或法规。
- 驱动与接口能力:Wi‑Fi 802.11 抓包需要网卡与驱动支持监控模式;部分接口/虚拟化环境仅提供受限的链路层信息。
- 编译时与运行时的解码器:Wireshark 的解码器由 libwireshark 提供,Debian 包通常启用大量协议;若缺少某些协议的解码器,捕获仍可进行,但深入分析会受限(可用 tshark -D 或 wireshark -G protocols 查看可用协议列表)。
快速验证与过滤示例
- 列出接口:dumpcap -d;捕获所有接口到文件:sudo dumpcap -i any -w capture.pcap
- 仅捕获 TCP 80/443:sudo dumpcap -i eth0 -f “tcp port 80 or tcp port 443”
- 仅捕获 ICMP:sudo dumpcap -i eth0 -f “icmp”
- 捕获某主机相关流量:sudo dumpcap -i eth0 -f “host 192.0.2.10”
- 使用显示过滤器仅显示 HTTP:sudo dumpcap -i eth0 -Y “http”
以上命令展示了常用的抓包与过滤方式;捕获过滤(BPF,如 tcp port 80)在抓包阶段减少数据量,显示过滤(如 -Y http)在显示阶段筛选已捕获的数据包。