.Ktu402
我们都知道,在现在的Internet和局域网里,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯,对此应该不用我罗嗦了。不过我想你肯定碰见过IP地址发生冲突的情况,至少我就遭遇过。 那一天我发现我的网络客户不能正常工作,只要电源打开,都会频繁出现地址冲突的提示。可是前一天还是好好的,而且也没有做任何新的设置呀!仔细想了想,唯一有所区别的是机房的人员有所调整,可能是新来的人设置的IP地址和我的冲突了,一问果然如此。要不是他和我都打开机器了,我还发现不了问题呢! 可见网络上即使存在冲突的机器,有时也不能及时发现问题,只有在相互冲突的网络客户同时都在开机状态时才能暴露出来,看来它还有一定隐蔽性的,下面我就来给你揭揭秘。 发生IP冲突主要有以下几个原因。有些人可能对TCP/IP并不了解,不知道\"IP地址\"、\"子网掩码\"、\"默认网关\"这些参数怎么设置(不要笑话他们,毕竟我们也是这样一步一步走来的),有的时候他们得到的参数信息可能并不是管理员告诉的,也有可能开始设置时是正确的但后来又无意地不小心修改了这些信息。即使是管理员给出了正确的参数数据,我们也总有失误,因为老虎还有打盹的时候呢,把参数输错也是在所难免的。另外在让人维修调试机器的时候,维修人员可能会用一些临时的IP地址,如果忘了改过来也有可能出现冲突。另外还有一种我们深恶痛绝的情况,就是有人窃用他人的IP地址。 接到冲突报告后,要做几件事情,首先要确定冲突发生的VLAN。通过IP规划的vlan定义以及冲突的IP地址,可以找到冲突地址所在的网段。这对成功地找到网卡MAC地址非常关键,因为有些网络命令不能跨网段存取。 下面先把客户机与网络隔离,对于有非法的IP地址的微机,权且容它运行去吧,这样我们倒有机会设法找到它了。再对网络做一些简单的测试,主要的命令有ping命令和arp命令。使用ping命令,假设冲突的IP地址为146.127.35.3,在msdos窗口,命令格式如下: C:\\WIDOWS\\〉ping 146.127.35.3 Request timed out Reply from 146.127.35.3 : bytes=32 time〈1ms TTL=128 〉 Reply from 146.127.35.3 : bytes=32 time〈1ms TTL=128 〉 Reply from 146.127.35.3 : bytes=32 time〈1ms TTL=128 〉 其实最初我打算用\"开始\"-\"运行\"来执行ping命令的(在实际操作中我更习惯于用这种方法),不过它走得实在太快,看不过来,只好求助于msdos了。 我们之所以要ping这台机器,有两个目的,首先我必须肯定要找的那台机器确实在网络上,其次,我想知道这台机器的网卡的MAC地址,那么下面怎么才能知道它的MAC地址哪?这就需要使用第二个命令arp:arp命令只能在某一个VLAN中使用有效,它是低层协议,而且不能跨路由。
C:\\WIDOWS\\〉arp -a Interface: ...... on Inerface ...... Internet Address/Physical Address/Type 146.127.35.3/00-00-22-35-62-53/ dynamic 这就说明冲突IP地址146.127.35.3 处网卡的MAC地址是00-00-22-35-62-53。接下来我们要找的是MAC地址为00-00-22-35-62-53的网卡的具体物理位置。 每台客户机的网卡都直接连接到第二级交换机上,接下来面对大量的以太网交换机,我们要查找是冲突MAC所对应交换机端口。因为我所在的网络中与客户连接的设备是Bay的303/304,我就以303为例来看一看如何查找某一个MAC地址所在的端口位置。Bay303的网管有很多种方式,下面只利用Web浏览器方式来说明查找非法MAC的方法。 在查找之前,先要搞清楚VLAN内的交换机位置,查出这些交换机的IP地址,使用交换机地址可以访问到交换机的网管信息。我们要做以下工作,先在在网管员的机器上启动浏览器,把交换机的IP地址敲进去,在看到提示的登录信息之后输入用户名和密码,再进入\"MAC Address Table\"选项,这样就可以得到下面的信息: