赞助连接

赞助连接

阅 读 文 章

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

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


register struct rtentry *rt = la->;la_rt;/*该ARP结点相关的路有表*/
la = la->;la_le.le_next;/*while的循环可遍历整个ARP结点表*/
if (rt->;rt_expire && rt->;rt_expire <= time_second)/*如果是非永久性ARP并且时间超时,在启用了一个ARP结点时,*/
/*rt->;rt_expire会设置成当前的time_second(系统内的秒)+20分钟*/
/*然后time_second就滴答滴答的在走,当系统的time_second走了20*/
/*分钟时候,就使rt->;rt_expire和time_second相等了,等式成立.就...*/
arptfree(ola); /* 定时器期满,清楚该ARP记录,函数在后面 */
}
splx(s);/*开网络中断*/
}

/*
 * 当你在设置你的某块网卡的IP时(如:ifconfig ...),
 */
static void
arp_rtrequest(req, rt, sa)
int req;/*是删除,添加还是克隆一个路由(克隆路由是因为到外网的IP都必须经过网关,也就是说,你的数据包发给网关就没事了),*/
/*所以外网的IP的路由都是克隆网关的就OK了.*/
register struct rtentry *rt;
struct sockaddr *sa;
{
register struct sockaddr *gate = rt->;rt_gateway;
register struct llinfo_arp *la = (struct llinfo_arp *)rt->;rt_llinfo;
static struct sockaddr_dl null_sdl = {sizeof(null_sdl), AF_LINK};
static int arpinit_done;

if (!arpinit_done) {/*判断是否建立了ARP节点队列*/
arpinit_done = 1;
LIST_INIT(&llinfo_arp);/*建立ARP节点队列*/
timeout(arptimer, (caddr_t)0, hz);/*启动计时器*/
register_netisr(NETISR_ARP, arpintr);
/*我们来看看register_netisr函数,即设置中断向量,NETISR_ARP是中断号,arpintr中断例程
int
register_netisr(num, handler)
int num;
netisr_t *handler;/* 中断例程指针
{

if (num < 0 || num >;= (sizeof(netisrs)/sizeof(*netisrs)) ) {/*中断号不能小于0或大于中断向量数组的最大下标*
printf("register_netisr: bad isr number: %d\n", num);
return (EINVAL);
}
netisrs[num] = handler;/*设置他,唯一调用他的是if_ethersubr.c中的ether_input函数(我是指ARP哦)*
return (0);            /*看一下sys\i386\isa\ipl.s(82行):文件中的.globl _netisrs定义为32个长字的netisrs中断向量数组.*
}
*/
}
if (rt->;rt_flags & RTF_GATEWAY) /*如果是网关,返回*/
return;
switch (req) {

case RTM_ADD:/*添加一条路由*/
/*
 */
if ((rt->;rt_flags & RTF_HOST) == 0 &&   /*不是主机路由且掩码不是全1(即不是主机路由,主机路由隐含的掩码是全1)*/
    SIN(rt_mask(rt))->;sin_addr.s_addr != 0xffffffff)
rt->;rt_flags |= RTF_CLONING;/*加克隆标志,即外网的IP,使用克隆吧*/
if (rt->;rt_flags & RTF_CLONING) {
论坛热门帖子: [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):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.