pcap_open()函数中的标志位

定义

  • #define PCAP_OPENFLAG_PROMISCUOUS 1
        定义适配器是否必须进入混杂模式。
  • #define PCAP_OPENFLAG_DATATX_UDP 2
        定义是否必须使用UDP协议进行数据传输(在远程捕获的情况下)
  • #define PCAP_OPENFLAG_NOCAPTURE_RPCAP 4
        定义远程探针是否将捕获其自己生成的流量。
  • #define PCAP_OPENFLAG_NOCAPTURE_LOCAL 8
        定义本地适配器是否将捕获其自身生成的流量。
  • #define PCAP_OPENFLAG_MAX_RESPONSIVENESS 16
        此标志将适配器配置为具有最大响应能力。

#define PCAP_OPENFLAG_PROMISCUOUS 1

    定义适配器是否必须进入混杂模式。
    如果必须以混杂模式打开适配器,则为“1”,否则为“0”。请注意,即使此参数为false,由于其他原因,接口也可能处于混杂模式(例如,由于启用了混杂模式的另一个捕获进程当前正在使用该接口)。在具有2.2或更高版本内核的Linux系统上(具有“any”设备),此标志在“any”设备上不起作用;如果提供“any”参数,则忽略“promisc”标志。
    在正常状况下,一个适配器仅仅抓取网络中目的地是它自己的数据包;因此其他主机交换的数据包都被忽略。当适配器处在混杂模式下的时候它就会抓取所有的数据包而不管是不是发给它的。这就意味着在共享媒体(如非交换的以太网)上,W

猜你喜欢

转载自blog.csdn.net/MMTS_yang/article/details/109765003