混杂模式的设置方法

1.网卡设为混杂模式:ifconfig eth0 promisc

 

2. 网卡设为混杂模式程序

 

#include "sys/types.h"

#include "netinet/in.h"

#include "arpa/inet.h"

#include "errno.h"

#include "netdb.h"

#include "net/if.h"

#include "sys/ioctl.h"

extern int errno;

int open_fd()

  {

          int f, s;

          struct ifreq ifr;

 

          if ((f = socket(AF_INET, SOCK_PACKET, htons(0x800))) < 0) {

                  return(-1);

          }

          strcpy(ifr.ifr_name, "eth0");

          if ((s = ioctl(f, SIOCGIFFLAGS, &ifr)) < 0) {

                  close(f);

                  return(-1);

          }

          ifr.ifr_flags |= IFF_PROMISC;

          if ((s = ioctl(f, SIOCSIFFLAGS, &ifr)) < 0)

          {

                  return(-1);

          }

          printf("Setting interface ::: %s ::: to promisc/n/n", ifr.ifr_name);

          return(f);

  }

 

int main() {

        printf("1/n");

        open_fd();

        printf("2/n");

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值