免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1124 | 回复: 1
打印 上一主题 下一主题

[函数] 在LINUX下有没有哪个函数可以设置网卡模式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-15 14:55 |只看该作者 |倒序浏览
我想把网卡设置成混杂模式

论坛徽章:
0
2 [报告]
发表于 2005-05-15 15:43 |只看该作者

在LINUX下有没有哪个函数可以设置网卡模式

ioctl


测试:


  1. #include <stdio.h>;
  2. #include <net/if.h>;
  3. #include <sys/socket.h>;
  4. #include <sys/raw.h>;
  5. #include <sys/ioctl.h>;

  6. int
  7. main ()
  8. {
  9.         int fd;
  10.         struct ifreq ifr;
  11.         char *dev;

  12.         dev="eth0";

  13.         fd = socket (PF_INET, SOCK_DGRAM, 0);
  14.         strncpy ((char *)ifr.ifr_name, dev, sizeof(ifr.ifr_name));

  15.         ioctl (fd, SIOCGIFFLAGS, &ifr);
  16.         if (ifr.ifr_flags & IFF_PROMISC)
  17.                 printf ("%s\n", "promisc on");
  18.         else
  19.                 printf ("%s\n", "promisc off");
  20. }
复制代码


打开:

  1. #include <stdio.h>;
  2. #include <net/if.h>;
  3. #include <sys/socket.h>;
  4. #include <sys/raw.h>;
  5. #include <sys/ioctl.h>;

  6. int
  7. main ()
  8. {
  9.         int fd;
  10.         struct ifreq ifr;
  11.         char *dev;

  12.         dev="eth0";

  13.         fd = socket (PF_INET, SOCK_DGRAM, 0);
  14.         strncpy ((char *)ifr.ifr_name, dev, sizeof(ifr.ifr_name));

  15.         ioctl (fd, SIOCGIFFLAGS, &ifr);
  16.         ifr.ifr_flags |= IFF_PROMISC;
  17.         ioctl (fd, SIOCSIFFLAGS, &ifr);
  18. }
复制代码


关闭:

  1. #include <stdio.h>;
  2. #include <sys/ioctl.h>;
  3. #include <net/if.h>;
  4. #include <sys/socket.h>;
  5. #include <sys/raw.h>;

  6. int
  7. main ()
  8. {
  9.         int fd;
  10.         struct ifreq ifr;
  11.         char *dev;

  12.         dev="eth0";

  13.         fd = socket (PF_INET, SOCK_DGRAM, 0);
  14.         strncpy ((char *)ifr.ifr_name, dev, sizeof(ifr.ifr_name));

  15.         ioctl (fd, SIOCGIFFLAGS, &ifr);
  16.         ifr.ifr_flags &= ~IFF_PROMISC;
  17.         ioctl (fd, SIOCSIFFLAGS, &ifr);
  18. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP