Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

CaptureSetup/PPP

这个页面说明在 PPP 链路上使用 Wireshark 抓包时的常见路径和平台限制。适合分析拨号线路、ISDN、PPPoE、T1/E1 或其他高速串行线路上的 PPP 流量时参考。

易混点:在某些系统上,普通接口抓包只能看到 PPP 承载的 IP 流量,看不到 PPP control protocol 或 PPP headers;PPPoE 在不同系统上的呈现方式也可能不同,可能表现为以太网上的 PPPoE,也可能表现为 PPP/WAN 接口。

历史边界

原页包含 WinPcap 3.1、Windows 95/98/Me、Windows NT 4.0、Windows Vista Beta 1、Windows XP/Server 2003 等历史环境说明。当前 Windows 抓包通常涉及 Npcap/Wireshark 的现行支持情况,因此这些内容主要用于理解历史限制,不应直接作为现代安装建议。

抓包场景总览

场景能看到什么主要限制
在运行 Wireshark 的机器所连接的 PPP 链路上抓包通常可看到该机器收发的 PPP 相关流量或其承载流量。是否能看到 control protocol、PPP headers 取决于平台和驱动。
在两台其他机器之间的 PPP 链路上抓包需要专用硬件或链路接入方式。原页提到 Endace DAG card;支持取决于硬件、驱动、libpcap/WinPcap 和操作系统。
PPPoE可能在以太网接口上看到 PPPoE session,也可能通过 PPP/WAN 接口呈现。不同 OS 和 PPPoE 实现差异较大。

各平台说明

平台原页说明注意点
UN*X大多数 UN*X 平台上,应该可以较容易地在 PPP 链路上捕获。不一定能够捕获 control protocol 流量;BSD、Solaris 等具体信息原页未展开。
Linux通过常规 libpcap 抓包无法捕获 PPP control protocol 流量,因为该流量不会提供给网络栈。可捕获 IP 流量,但可能看不到 PPP headers。
macOS在 PPP interface 设置完成之前无法在其上捕获。因此无法看到初始 control protocol 流量。
Windows原页认为在 PPP 链路上捕获更困难。原说明围绕 WinPcap 3.1 和旧 Windows 版本,当前应核对 Npcap/Wireshark 文档。

Linux 上捕获 PPP control protocol 的历史方法

原页记录:可以通过配置 ppp daemon,把该 daemon 发送和接收的所有数据 record 到一个捕获文件中,再用 Wireshark 打开该捕获文件。

在 Fedora Core 6 的例子中,可在 /etc/ppp/options 中添加:

text
record filename-of-your-choice

注意:PPP 端口上的所有流量都会被捕获到该文件中。如果长期启用,可能生成很大的捕获文件。

Windows 历史说明

系统原页说明
Windows 95、Windows 98、Windows Me捕获设备名称很可能包含 “NDISWAN”;WinPcap FAQ 提到 Windows 95 上可能因 Windows bug 重置连接,而该 bug 似乎已在 Windows 98/Me 修复。
Windows 2000、Windows XP、Windows Server 2003使用 WinPcap 3.1 时,应该能够在 “GenericDialupAdapter” 上捕获。
Windows NT 4.0、Windows Vista Beta 1原页记录这些版本不支持在 PPP interfaces 上捕获。
权限WinPcap 3.1 在 Windows 2000/XP/Server 2003 上的 PPP 支持需要相应 Power Users、Network Configuration Operations 或 Administrators 权限。
软件冲突TamoSoft CommView 驱动和各种 VPN 软件包曾被报告可能影响 WinPcap 在 PPP interfaces 上捕获。

原页还说明:如果在 PPP 链路建立前开始捕获,可用接口可能只有 “GenericDialupAdapter”,且未分配 IP 地址;链路建立后,“GenericDialupAdapter” 和引用已建立链路的 “WAN (PPP/SLIP) Interface” 都可能可用于捕获,后者会分配 IP 地址。

在两台其他机器之间的 PPP 链路上捕获

原页提到,某些操作系统上可能可以使用 Endace Measurement Systems 的 DAG card,把运行 Wireshark 的机器连接到两台其他机器之间的 PPP 链路。此方式需要支持 DAG API 的 libpcap 或 WinPcap,并安装 Endace DAG card 软件。原页还说明 DAG cards 仅在 Linux 和 FreeBSD 上受 libpcap 支持;进一步帮助应联系 Endace。

PPPoE 讨论边界

原讨论的核心问题是:PPPoE 是否应归入 PPP 抓包页面,还是应作为以太网上的特殊协议处理。讨论认为这取决于操作系统或第三方 PPPoE 实现如何把 PPPoE 连接接入 Ethernet driver、NDISWAN 或单独 PPP interface。

情况抓包表现
在 Ethernet adapter 上抓包可能看到进出以太网的所有流量,包括直接位于 Ethernet 之上的 PPPoE,IP 位于 PPP 之上。
在 Windows 添加的 PPP/WAN adapter 上抓包如果实现方式类似拨号 PPP 并使用 NDISWAN,流量可能看起来像 Ethernet 流量。
在其他 OS 的单独 PPP interface 上抓包可能看到看起来像 PPP 的流量,并带有该接口自己的 IPv4、IPv6 或其他地址。

相关抓包介质入口

介质用途
Capturing on Ethernet Networks以太网抓包。
Capturing on 802.11 Wireless Networks无线网络抓包。
Capturing on Token Ring NetworksToken Ring 网络抓包。
Capturing on VLAN Protected NetworksVLAN 场景抓包。
Capturing on the Loopback Device本机回环接口抓包。
Capturing on Frame Relay NetworksFrame Relay 网络抓包。
Capturing DOCSIS TrafficDOCSIS 流量抓包。
Capturing Bluetooth Traffic蓝牙流量抓包。
Capturing on ATM NetworksATM 网络抓包。
Capturing USB TrafficUSB 流量抓包。
Capturing IrDA TrafficIrDA 流量抓包。
Capturing on Cisco HDLC NetworksCisco HDLC 网络抓包。
Capturing SS7 TrafficSS7 流量抓包。

Imported from https://wiki.wireshark.org/CaptureSetup/PPP on 2020-08-11 23:12:01 UTC

相关 Wireshark Wiki 页面

网络分析技术档案