-1

我正在寻找一种方法来检测任何传入或传出网络流量是否为 PPP(点对点)。有没有办法可以使用 pcap 库嗅探这种类型的流量?

我需要知道流量是否为 PPP 以验证某个条件的原因。该条件是如果启用 OSPF 选项字段中的 DC(需求电路)位,则必须为该网络启用 PPP。只有点对点网络才能充分利用 OSPF 需求电路 (RFC 1793)。

4

1 回答 1

0

RFC 1793中的“点对点”不是指特定类型的流量,而是指特定类型的网络例如,运行点对点协议的串行线路上的所有流量都是“点对点流量”;以太网上的任何流量都不是“点对点”的。非点对点流量可以通过点对点网络进行隧道传输,点对点流量可以通过非点对点网络进行隧道传输,但是在隧道的情况下,通常会有一个网络接口(在软件意义上,例如ifconfig -a在大多数 UN*X 系统中列出的内容或ipconfig/all将在 Windows 上列出)用于隧道流量,以及较低级别网络适配器的网络接口。

在大多数 UN*X 上,您可以使用SIOCGIFFLAGSioctl 获取网络接口的标志,其中一个标志是IFF_POINTOPOINT标志,它指示该接口的网络是否是点对点网络。

在 Windows 上,我找不到 ioctl 来获取特定接口的标志,但SIO_GET_INTERFACE_LIST Winsock ioctl将返回一个INTERFACE_INFO结构,iiFlags其中包含包含该IFF_POINTOPOINT标志的成员。

于 2012-04-30T16:57:39.680 回答