赞助连接

赞助连接

阅 读 文 章

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

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(xie_minix) | 时间:2007-05-27 | 浏览:人次 ]


{
if (arphacklock==1) /*如果对硬件地址加了锁,即前面有一个ARP请求包还没有处理结束*/
{
m_freem(m);
return;
}
arphacklock=1;/*我要开始处理了,不希望别的ARP包进入打搅我,即会替换掉下面的ithardaddr,要把他锁住*/
trueip=1;/*我要发送的是ifconfig以后的IP地址作为我的源IP地址*/
(void)memcpy(ithardaddr, ea->;arp_sha, sizeof(ea->;arp_sha));
fromsubr=3;
arprequest(ac, &myaddr, &isaddr, ac->;ac_enaddr);/*发送一单播ARP请求*/
printf("I got a request and I send a request to it\n");
m_freem(m);
return;
}
if ((op & ARPOP_REPLY) && (itaddr.s_addr==oldip.s_addr) && (isaddr.s_addr==myaddr.s_addr))
{ /*如果我冒充的IP给我的老地址发一ARP请求包,不理他*/
printf("oh,the dst send a ARP to my old IP address,ignore it \n");
m_freem(m);
return;
}
}
/*end----------------------*/
myaddr = ia ? ia->;ia_addr.sin_addr : maybe_ia->;ia_addr.sin_addr;
/*
如果退出循环时,如果ia不为空(注意:如果没找到该IP的话,即哪个break不会执行,ia在for循环到最后是NULL,因为队列
是以NULL结束的),说明程序在break中跳出,也就是说maybe_ia中的IP地址是正确的,上面的那句意思就是,如果ia为空的
话,那他用ia->;ia_addr.sin_addr 当然他指向的数据也为空了,否则,ia指向maybe_ia中的源IP地址,即发送方的IP地址.*/
if (!bcmp((caddr_t)ea->;arp_sha, (caddr_t)ac->;ac_enaddr,/*我的卡和发送者的卡相同*/
    sizeof (ea->;arp_sha))) {
m_freem(m); /* 比较一下ARP数据包中的发送方硬件地址和接收该包的的卡的硬件地址相同吗?相同就是自己发给自己
的,当然要扔掉*/
return;
}
/*patch---------*/
/* if ((op & ARPOP_REQUEST) && (!bcmp((caddr_t)ea->;arp_tha, (caddr_t)etherbroadcastaddr,sizeof (ea->;arp_sha)))) */
/* {                      */
/* m_freem(m); */
/* return;         */
/* }                         */
/*patch end ----*/
if (!bcmp((caddr_t)ea->;arp_sha, (caddr_t)etherbroadcastaddr,/*发送方的源硬件地址是广播地址吗?是的话就是有人在破坏*/
sizeof (ea->;arp_sha))) {                                /*在伪造一链路层数据包,想高广播风暴,一定要逮住他*/
log(LOG_ERR,
    "arp: ether address is broadcast for IP address %s!\n",
    inet_ntoa(isaddr));
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 及其 漏洞 分析 详解 协议 地址 解析 ARP IP if ea- 路由

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.