电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

ARP地址解析协议详解及其漏洞分析

  • 资源ID:60957448       资源大小:18.82KB        全文页数:6页
  • 资源格式: DOCX        下载积分:0金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要0金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

ARP地址解析协议详解及其漏洞分析

ARP地址解析协议详解及其漏洞分析* 以太网解释协议(ARP). 文件名:/sys/netinet/if_ether.c * 注释:xie_minix *一,函数入口: * ARP有两个入口:1 * 由ether_input发出一软中断(见我的ethernet网络代码详解一文),arpintr中断例程被调用,检查完数据后 * 该中断例程调用in_arpinput函数. * 入口2: * 由ether_output函数在查询输出的硬件地址时,调用arpresolve函数进行地址解析. * 所以,ARP基本上是和ether网输出密切相关的. *二,相关的结构: * 关于他使用的结构方面,llinfo_arp是和路由相关的一个结构,ether_arp结构是一个遵循RFC826的一个ARP包的结构. *三,学习顺序: * 在看本文的时候,一般从函数arpintr(中断例程)开始看,紧接着看in_arpinput函数.再看看支撑函数arplookup后停止,这是第一入口. * arpresolve是第二入口的开始,他是解析地址的函数,如果解析不了,调用arprequest函数发送一ARP请求包,第二入口结束. * 关于arp_rtrequest函数和路由函数相关,作用是添加或删除一ARP节点.如果看不懂,可到以后的路由函数讲解时再了解. 乐淘棋牌http:/www.455573.com*四,ARP欺骗的核心内实现: * 在整个程序中,有hack-是我加入的代码,一直到end-结束,大概有十来段这样的代码,是用来实现ARP欺骗,下面我简要的讲一 * 讲他的实现原理: * 在我们开机后,系统初始化阶段,确切的说是在arp_ifinit初始函数被调用时,将发送一免费ARP,所谓免费,是指要寻找的IP地址是我自 * 己的IP地址,那么网络上如果有和我相同的IP地址的机器(IP地址冲突),他就会根据我的这个ARP包中的发送源硬件地址应答一个ARP * 包给我,我的接收函数就能判断是否有人和我的IP设置的是一样的.初始化函数不但在开机后初始化时实行,而且在你执行ifconfig改变 * IP地址时也会调用,如果要进行ARP欺骗,那么你就不能发送一免费ARP包,要不然对方的机器会记录下你的欺骗.这一点是其他的关于 * ARP欺骗方式在用户区域所不能达到的.在你的机器冒充另外一台机器期间,会遇见两种情况,第一种是:被冒充的机器发送一个ARP * 请求,因为是广播发送,所以你也接到了该请求,被请求的机器会应答一ARP,这时我们也要应答一ARP,不过要比真正的那台机器晚一点 * (在程序中我用的是DELAY延迟500毫秒,该数据可以进行调整,以适合你本地网络中较慢的机器),他就在被冒充的机器上进行覆盖前 * 一个回应,使得被冒充的机器认为你就是他要找的机器,当然被冒充的机器紧接着将发送IP包给你的机器,由于你的IP层会判断包的目的 * IP地址(肯定目的IP不对,因为被欺骗了),所以IP层会将他抛弃.第二种情况是:有其他的机器想和被欺骗的机器相联系,其他机器也将广播 * 一ARP请求,目的IP是被欺骗机器的IP,首先被欺骗主机会回应一ARP,我们也和被欺骗主机一样回应一ARP,覆盖被欺骗主机的回应. * 五,漏洞的分析: * 目前,我所见到的BSD类操作系统都可能被欺骗,其原因是没有判断ARP请求方的目的硬件地址是否是来之于广播地址,而我们进行的 * 所有欺骗都是进行单播方式的请求. *六,解决方案: * 在程序中的patch到patch end部分是我的解决方案.主要是对ARP请求部分的目的硬件地址是否是广播地址进行判断,如果要使用,请 * 把注释去掉就行了. *七,编译: *对于FreeBSD4.4版本,可直接拷贝覆盖/sys/net/if_ether.c文件,对于当前版本,只要把hack-到end-之间的段粘贴到相应的地方. *本程序在4.4下已经编译通过,由于实验条件不行,实验没有在两台以上机器进行过,在这里希望网友能帮忙测试,测试的方法是: *1.覆盖原文件后,进行核心编译. *2.重启动后,执行: * arp -d -a * sysctl net.link.ether.inet.ctrlhack=1 * ifconfig vr0 192.168.0.4 255.255.255.0 *  * 你的卡 你要冒充的IP 掩码 * 最好是把上面几个命令放到批执行文件中执行. *3.用被冒充的机器去PING 其他机器,这时候有可能ICMP包能发出几个,但应该立即没有反应. *4.如果有什么问题,大家可以把他记录,并发布到BBS上,更希望能多测试几种系统. * */#include "opt_inet.h" /*2个头文件由编译器在编译操作系统核心时产生的一些常量*/ #include "opt_bdg.h"#include <sys/param.h> #include <sys/kernel.h> #include <sys/queue.h> /*队列操作*/ #include <sys/sysctl.h> #include <sys/systm.h> #include <sys/mbuf.h> /*缓冲管理*/ #include <sys/malloc.h> /*分配缓冲*/ #include <sys/socket.h> /*主要是sockaddr_in结构要用到*/ #include <sys/syslog.h> /*LOG宏用到,即日志记录*/#include <net/if.h> /*硬件接口使用的一些结构,if的意思是interface*/ #include <net/if_dl.h> /*链路层的一些数据结构*/ #include <net/if_types.h> #include <net/route.h> /*和路由相关的函数*/ #include <net/netisr.h> /*注册中断向量用到的函数*/ #include <net/if_llc.h> #ifdef BRIDGE /*如果定义了桥转发*/ #include <net/ethernet.h> #include <net/bridge.h> #endif#include <netinet/in.h> #include <netinet/in_var.h> #include <netinet/if_ether.h>#include <net/iso88025.h> /*hack:-*/ #include <machine/clock.h> /*因为要使用DELAY()延迟函数*/static int arphacklock=0; /*全局变量用的锁*/ struct in_addr gatewayip; /*网关IP*/ struct in_addr oldip; /*我机器老的IP地址*/ static int trueip=0; /*是否使用冒充IP发送ARP请求*/ static u_char ithardaddr6;/*要冒充机器的硬件地址,在转移到临时缓冲之前由锁来控制其写*/ static int fromsubr=100; /*实验用,看看本机发出ARP请求是那个函数*/ /*end-*/#define SIN(s) (struct sockaddr_in *)s) /*强制转化成sockaddr_in结构,即Internet地址结构,其中s一般是sockaddr结构*/ #define SDL(s) (struct sockaddr_dl *)s)/*强制转化成sockaddr_dl结构,即ethernet地址结构,其中s一般是sockaddr结构*/天地棋牌http:/www.dadiqipaigw.cnSYSCTL_DECL(_net_link_ether);/*用于sysctl 用法如下:sysctl net.link.ether.=XXX, SYSCTL_DECL是申明下面的SYSCTL_NODE将继承的节点*/ SYSCTL_NODE(_net_link_ether, PF_INET, inet, CTLFLAG_RW, 0, "");/*/ /* hack: static int hackarp=0; SYSCTL_INT(_net_link_ether_inet, OID_AUTO, ctrlhack, CTLFLAG_RW,&hackarp, 0, ""); /*这方便你在用户区可控制核心变量,用法如下:sysctl net.link.ether.inet.ctlhackarp=1 那么变量hackarp就为1了. 下面的程序会根据hack的真假判断来进行欺骗*/ /* 一些记时器的值 */ static int arpt_prune = (5*60*1); /* 每5分钟过一遍列表,这个变量是由计时器使用,看看有没有超时ARP结点,有就删除他 */ static int arpt_keep = (20*60); /* 一旦解析了, 保持 20 分钟 */ static int arpt_down = 20; /* 一旦公布了down, 20秒不发送 */ /*对以上3个变量的控制*/ /*使用方法:sysctl net.link.ether.inet.prune_intvl=180 也就是把ARP定时期改为了每3分钟查一次ARP结点*/ SYSCTL_INT(_net_link_ether_inet, OID_AUTO, prune_intvl, CTLFLAG_RW, &arpt_prune, 0, ""); SYSCTL_INT(_net_link_ether_inet, OID_AUTO, max_age, CTLFLAG_RW, &arpt_keep, 0, ""); SYSCTL_INT(_net_link_ether_inet, OID_AUTO, host_down_time, CTLFLAG_RW, &arpt_down, 0, "");#define rt_expire rt_rmx.rmx_expire /*这里是放当前时间的,如果rtinit路由初始程序加入一IP路由,那么把当前时间+20*60秒放进去,*/ /*arptimer函数会和当前时间(当前时间由时钟每秒加1)比较,如果相等或比当前时间小,即到了或*/ /*该ARP结点时间过了20分钟.即超时*/ /*这里其实是真正的ARP列表*/ struct llinfo_arp  LIST_ENTRY(llinfo_arp) la_le;/*单向列表宏,说明该结构是一单向的列表,尾巴为0*/ struct rtentry *la_rt; /*和该结点相关的路由*/ struct mbuf *la_hold; /* 由于该地址正等待解释,所以要发送的数据(mbuf链头)指针暂时存放 */ long la_asked; /* 为该地址发送了一共几个ARP请求,如果到了5个,那么暂时停止20秒*/ #define la_timer la_rt->rt_rmx.rmx_expire static LIST_HEAD(,

注意事项

本文(ARP地址解析协议详解及其漏洞分析)为本站会员(m****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

分享当前资源【ARP地址解析协议详解及其漏洞分析】到朋友圈,您即可以免费下载此资源!
微信扫一扫分享到朋友圈
二维码
操作提示:任选上面一个二维码,打开微信,点击“发现”使用“扫一扫”,即可将选择的网页分享到朋友圈
您可能感兴趣的------------------------------------------------------------------------------------------------------



关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.