论坛风格切换切换到宽版
  • 699阅读
  • 0回复

[问题求助]linux下设置网卡为 混杂模式 的程序! [复制链接]

上一主题 下一主题
离线tonyfuming.
 
发帖
2210
C币
-234851
威望
424
贡献值
1
银元
-2
铜钱
4990
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
l.inux下设置网卡为 混杂模式 的程序!学习
#in.clude "sys/types.h"           鲜花
#include "netinet./in.h".
#include "arp.a/inet.h"           建材
#.include "errno.h".
#include ."netdb.h".
#incl.ude "net/if.h"            杀毒
#include "s.ys/ioctl.h"           女人
exter.n int errno;教育
int open_fd()
  {
  .        int f, s;           女人
         . struct i.freq ifr;(广告)

          i.f ((f = so.cket(AF_INET, SOCK_PACKET, htons(0x800)))  0) {[成人用品]
   .      .         return(-1);.
          }
          strc.p.y(ifr.ifr_name, "eth0");           鲜花
          if ((s = ioctl(f., SIOCGIFFLAGS, &ifr))  .0) {学习
                  clos.e(.f);           鲜花
  .          .      return(-1);.
          }
          if..r.ifr_flags |= IFF_PROMISC;             汽车
  .        if ((s = ioctl(f, SIOCS.IFFLAGS, &ifr))  0)           建材
          {
   .              . return(-1);<性病>
          }
          printf("Setting in.terface ::: %s :::. to promisc\n\n", ifr.i.fr_name);--------------彩票
          retur.n(f);--- 印刷
  }

int main() {
        printf(".1\n");.
        open._fd();学习
     .   printf("2\n");           女人
}
我发现用这个sock_fd = socket( PF_PACKET, SOCK_RAW, hton.s(E.TH_P_ALL) );创建套接字真的是很强大,不但能够收到所有IP包,还.能收到所有以太网中的所有包,比我原来用的 RawSocke.t=socket(.AF_INET,SOCK_PACKET,htons(0x800));强大多了.(用这个创建虽然能收到以太帧,但里面的都是IP数据)[成人用品]
但问题是我只是想收到.以.太网中的所有IP数据,其他数据我不想得到,           建材
sock_fd =socket(PF_PACKET, SOCK_RAW, htons(ETH_.P_ALL).)          婚庆

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/62281/showart_1092151.html教育
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个