allpromisc.c
来自「基于TCP/IP协议的网络入侵检测系统是在Linux平台下」· C语言 代码 · 共 31 行
C
31 行
#include "nids.h"#if (HAVE_NEW_PCAP)#include <sys/socket.h>#include <netinet/in.h>#include <net/if.h>#include <sys/ioctl.h>int set_all_promisc(){ struct ifreq ifaces[16]; struct ifconf param; int sock, i; param.ifc_len = sizeof(ifaces); param.ifc_req = ifaces; sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP); if (sock <= 0) return 0; if (ioctl(sock, SIOCGIFCONF, ¶m)) return 0; for (i = 0; i < param.ifc_len / sizeof(struct ifreq); i++) { if (ioctl(sock, SIOCGIFFLAGS, ifaces + i)) return 0; ifaces[i].ifr_flags |= IFF_PROMISC; if (ioctl(sock, SIOCSIFFLAGS, ifaces + i)) return 0; } return 1;}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?