找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 1047|回复: 0

[【原创】] 有关抢ip问题的浅析

[复制链接]
发表于 2005-3-27 19:38:44 | 显示全部楼层 |阅读模式
本来这个帖子是发在读书交流版的,可是好像完全没有人看,非常感谢那些文学爱好者朋友们在那里发帖(呵呵,好像在这里说了也是白说),但是我更希望大家不要仅仅局限在文学这一块来讨论交流,有关很多理工的,比如计算机的技术等等都可以交流,本来是想定位于读书的,但是好像大家暂时可能对那些专业书籍没兴趣,所以我就放到这里好了,我还是想引导朋友们从理论上分析部分问题,但是由于我个人的写作习惯不太好,常常写飞了,所以如果有什么问题看不太明白,希望大家提出来一起研究讨论,如果你看着晕,那一定是我写得不好,不是你的阅读能力的问题。当然,其实这些都是一些非常基础的问题,所以万望老鸟们不要见笑,如果有错误,一定指出,先谢过了。我的想法是对于每一个这样的讨论帖都会留一些没有解决的问题给大家,希望得到高手朋友的指点,同时将这些问题引深,让参与的朋友们一起提高。

有关ip争用的现象在没有采用dhcp的教育网中是比较普遍的,事情的起因也就是由于一位同学在实验室出现了这种现象让我帮他抢回自己的ip导致出现了下文。对于这个问题,其实网上已经有了很多的分析讨论,我这里不过是将他们综合一下而已,同时就其中的明显错误指出,避免人云亦云而产生的错误,这也是我最终希望大家一起来讨论书籍的原因,因为很多情况下真正的权威是理论,是经典的书籍,而非网络。(当然网络上也不乏很多经典的原创)

下面就网上对这个问题的几个流行的说法加以分析讨论:

1,“2000,xp比98更加容易抢ip”。这句话对吗?那要看你怎么说了,如果你说因为98要重启,2000,xp不用重启,那么我一定和你现场比试,而且估计你抢不过我,呵呵。why,其实2000,xp(nt架构)和98在ip争用的问题上的区别主要是98只广播不检测,xp带有检测,所以从某种角度上说,98更强。那么98如何不重启抢ip呢?(希望不要有人说我唐僧)还是从原理说起,网络的这一块接口的活动,对于操作系统而言,在windows下一般称为服务,其实我觉得用u/linux下的daemon更合适,只是在98下没有明显找得到重新启动这个进程的位置。那么怎么办,还是从原理分析,应用进程的再下层是什么呢,接口,也就是驱动。对了,因此有朋友找到了,右击我的电脑,找到网络适配器,双击……(真的有点唐僧……, 禁用启用即可)。在我的实际试验过程中,由于98不检测,所以一抢一个准。2000,xp频频弹出ip冲突。呵呵,那么是不是因此就可以否定上面的结论而得出98比xp容易抢ip呢, 莫急,请继续看下面的讨论分析。

2,再来看看另一种说法:“绑定arp列表就可以防止ip争用”。实际呢,就我的试验结果看来:这个说法部分无效,或者说无效。对于这种绑定,网上也流行着两种说法:
(1)在cmd下用ipconfig-all(win98下是command下用winipcfg,希望高人不要气死,呵呵,不过想必高人看不到这里已经吐血而亡了 )查出本机的mac地址,然后绑定为静态。具体操作不细述了 arp -s 不明白看help,写得很清楚,这是好的习惯。那么,有用吗?还是从原理入手,由于大家都知道局域网内部本质上可以说其实是基于mac而不是ip进行互相的访问的,所以才有arp一说,那也正因为如此,了解这一点的人应该清楚,当你已经被抢断线,你已经无法获得网关的mac,这个表怎么发给网关让他刷新自己的列表,根本不可能有用,这就是结论。

(2)那么下面再来看看网上另一种绑定的方法:绑定网关的mac,这个有一点对了,在发生冲突时,用这个仍然可以找到网关,所以理论上可以去更新网关的arp表,但是在我实际的操作中发现,仍然无效,即使设置为静态,仍然被抢。至于原因,我想应该和网关的arp表的刷新机制有关,也就是说你要主动发送arp请求包给网关才行而普通的网络连接请求中是不包含arp请求包的,也就是说arp请求包只在配置网络的时候发送,而由于有了冲突检测,所以发送不出去了。由于当时没有做抓包分析所以不是很确定,望行家们不吝赐教。那么到了这里是不是为了抢ip已经有一部分朋友转到98去了,呵呵,好像的确有一部分这样的人,其实装xp的朋友们根本不用担心(2000没有机器作实验,记不太清了)在网络连接那里右键修复,随着arp表,nbt和wins的相关资料被重写,呵呵,ip又抢回来了。因此实际上应该这么说98更容易抢ip,因为它不检测无理的抢走了,而xp更讲道理,它先检测,但是如果有人无理取闹的话它也会发标的。 借这个帖子我想再说一次那就是大家对于网上的一些技术文章最好也能做一点分析,我觉得网上的泛滥的东西很多而真正的精品却并不多,因此很容易被误导,但是我们只要明白原理,比如真正读透了tcp/ip协议卷的那三册书(呵呵,当然如果我们读透了,就不会对这种问题还存有疑虑了),这种问题自然迎刃而解,这也是我强调书和好书的原因。最后顺便提一下,对于计算机而非电脑感兴趣的朋友,强烈的建议使用一下linux,不是为了异类,而是因为在linux下,很多的问题必须你自己解决,这样你才会对系统有真正的了解,其实在linux下对这个问题还有更加经典和强烈的手段,呵呵。但是基于目前的现状,(我的个人能力和目前的论坛人气),只能讨论这种比较低级的话题,所以我更希望有一天能够和朋友们解决更高级一点的话题。比如如何做非标准端口的ftp的nat这个困惑我很久的问题。总之一句话,希望大家在这里热烈讨论,一起学习,共同进步。

呵呵,发完之后才发现,原来这是第200个帖子,而且正好使得威望和金币数量相等,有趣呀,这两天灌水的确灌得有点累了,休息,真的要好好休息一下了。(其实还是灌水)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-5-25 07:12 , Processed in 0.308325 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表