一旦发生ip冲突,导致所有局域网内的电脑无法访问服务器了。如果局域网是通过此服务器上网的,那所有电脑无法上网了。那么小编就来告诉大家怎样才能知道网络IP是否被占用。
方法一:原始ping法
第一个方法比较简单,而且受环境限制比较大。众所周知在没有安装防火墙和设置过滤规则的计算机上都容许ICMP协议数据包的通过,那么可以通过“ping ip地址”这个命令来查看该IP地址是否有计算机使用。通过任务栏的“开始-运行”,输入CMD后回车进入命令行模式。假设公司网络是192.168.1.0/255.255.255.0,那么可以通过ping 192.168.1.1,ping 192.168.1.2......ping 192.168.1.254来测试IP地址是否被占用。这种方法遇到计算机上安装了防火墙对ICMP协议进行过滤的话,或者公司交换机和路由器上对ICMP实施ACL访问控制列表过滤的话就不可行了。因此这个方法受的局限比较大,一般测试的成功率不高,很容易把安装了防火墙的计算机对应的IP地址认为没有被使用。
方法二:扫描器扫描法
由于扫描器扫描时并不是仅仅使用ICMP协议进行ping,可以设置,让扫描器多扫描几个端口,多扫描几个服务。这样即使计算机上安装了防火墙或者交换机上有访问控制列表过滤ICMP协议,只要该计算机开放了某些端口或某些服务,就不会出现漏报的问题。通过扫描器扫描出来的IP地址列表还可以导出成HTML文件或TXT文件,这样方便保存和统计。使用扫描器扫描法可以查看出网络中几乎全部计算机使用的IP地址,但是对于那些极个别的设置了防火墙的复杂规则,过滤了大部分常用端口和常见服务的计算机来说,还是会或多或少的出现漏报或错报的问题,再加上扫描器扫描法还需要我们下载专门的工具,所以也给操作上带来了不方便。
方法三:sniffer监视法
作为网络管理员的我们应该都会使用sniffer,那么只需要在网络中开启sniffer对网络传输的数据包进行监视,过一段时间就会查出有哪些IP地址有数据包发出,这样就可以确定该IP地址已经被占用了。不过用sniffer的方法不能将已经占用的IP地址保存成文件输出,而且给人有一种大材小用的感觉,毕竟sniffer正统不是用来做扫描IP地址的。
方法四:ARP缓存法
ARP缓存法是以前面介绍的ping法为基础而来的,对于安装了防火墙或设置过滤规则的计算机来说直接ping该IP地址是得不到返回信息的,但是有一点必须注意,那就是虽然无法从ping的返回信息中得出该IP地址是否被占用,但是从ARP缓存中却可以看出来。防火墙等过滤设置可以不容许ICMP协议返回数据包给源地址,但是由于ARP是工作在二层上的,所以在ICMP协议数据包被过滤前ARP已经通过查看MAC的方式获得了网络中在线主机的MAC地址。
只要网络中的计算机想上网,那么一定会将自己网卡的MAC地址告诉与其连接的交换机,接下来交换机也会进一步将他知道的MAC地址信息反馈给使用ping的主机。这样在使用ping的主机上就能够通过是否获得MAC地址的方式来了解该IP地址对应的计算机是否在线了。
通过任务栏的“开始-运行”,输入CMD后回车进入命令行模式。假设公司网络是192.168.1.0/255.255.255.0,那么可以通过ping 192.168.1.1,ping 192.168.1.2......ping 192.168.1.254来测试IP地址是否被占用。当然不管ping返回的是通还是不通,全部ping完后执行arp -a命令显示ARP缓存表,出现在缓存表中的IP地址就是被占用的地址。