Network programming 用于OSPF需求电路验证的PPP网络检测

Network programming 用于OSPF需求电路验证的PPP网络检测,network-programming,packet,pcap,ppp,ospf,Network Programming,Packet,Pcap,Ppp,Ospf,我正在寻找一种方法来检测是否有任何传入或传出的网络流量是PPP(点对点)。有没有一种方法可以使用pcap库嗅探这种类型的流量 我需要知道流量是否为PPP以验证特定条件的原因。该条件是,如果OSPF选项字段中的DC(需求电路)位已启用,则必须为该网络启用PPP。只有点对点网络才能充分利用OSPF需求电路(RFC 1793)。中的“点对点”指的不是特定类型的流量,而是特定类型的网络。例如,运行点对点协议的串行线路上的所有流量都是“点对点流量”;以太网上没有“点对点”流量。非点对点流量可以通过点对点网

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

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

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

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

在Windows上,我找不到ioctl来获取特定接口的标志,但是
SIO\u get\u interface\u列表
将返回一个包含
IFF\u POINTOPOINT
标志的
iifflags
成员的结构