⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 if_promisc.c

📁 网络流量生成工具,开源软件,也可以作为网络流量检测软件使用
💻 C
字号:
/*  * $smu-mark$  * $name: if_promisc.c$  * $author: Salvatore Sanfilippo <antirez@invece.org>$  * $copyright: Copyright (C) 1999 by Salvatore Sanfilippo$  * $license: This software is under GPL version 2 of license$  * $date: Fri Nov  5 11:55:48 MET 1999$  * $rev: 2$  */ #include <sys/types.h>#include <sys/ioctl.h>#include <string.h>#include <stdio.h>#include <netinet/in.h>#include <sys/socket.h>#include <net/if.h>#include "hping2.h"#include "globals.h"int if_promisc_on(int s){	struct ifreq ifr;	strncpy(ifr.ifr_name, ifname, IFNAMSIZ);	if ( ioctl(s, SIOCGIFFLAGS, &ifr) == -1) {		perror("[open_sockpacket] ioctl(SIOCGIFFLAGS)");		return -1;	}	if (!(ifr.ifr_flags & IFF_PROMISC)) {		ifr.ifr_flags |= IFF_PROMISC;		if ( ioctl(s, SIOCSIFFLAGS, &ifr) == -1) {			perror("[open_sockpacket] ioctl(SIOCSIFFLAGS)");			return -1;		}	}	return 0;}int if_promisc_off(int s){	struct ifreq ifr;	strncpy(ifr.ifr_name, ifname, IFNAMSIZ);	if ( ioctl(s, SIOCGIFFLAGS, &ifr) == -1) {		perror("[open_sockpacket] ioctl(SIOCGIFFLAGS)");		return -1;	}	if (ifr.ifr_flags & IFF_PROMISC) {		ifr.ifr_flags ^= IFF_PROMISC;		if ( ioctl(s, SIOCSIFFLAGS, &ifr) == -1) {			perror("[open_sockpacket] ioctl(SIOCSIFFLAGS)");			return -1;		}	}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -