如何判断某一个IP地址是否被占用

您所在的位置:网站首页 怎么查一个人ip地址 如何判断某一个IP地址是否被占用

如何判断某一个IP地址是否被占用

2024-07-10 01:40| 来源: 网络整理| 查看: 265

背景

由于目前从事桌面云相关的工作,需要经常创建虚拟机以及为该虚拟机分配IP地址。在一个局域网中,我们的IP地址要求唯一性,如果设置的IP地址已经被利用,虚拟机就无法创建成功或者出现其他无法预料的事情。

那么我们应该用什么办法来判断某个IP地址是否已经被占用呢?我们我知道的有两个方法:

ping命令arping命令

ping命令

从事IT工作的基本都知道这个命令,它用来判断目标地址网络通路是否正常以及对应的主机是否存在。例如: 在这里插入图片描述 在这里插入图片描述 如果使用ping 目标主机地址,提示无法访问目标主机,一般情况下,可表明这个IP地址没有被使用或者网络不通。但是,对方主机若开启了防火墙,我们使用ping命令也会提示“无法访问主机”,实际上该IP地址已经存在了,IP地址已经存在则无法创建虚拟机。此时,则需要使用arping命令了。

另外ping命令可以之window和linux系统均支持。

ARP地址解析协议

在linux系统下面,我们还可以使用arping命令来判断某个IP的地址是否被占用。该命令主要使用了地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

其主要过程如下:

主机发送信息时将包含目标IP地址的ARP请求包广播到网络上的所有主机;目标主机的IP和APR请求包匹配时,目标主机返回对应的物理地址主机收到返回消息后将该IP地址和物理地址存入本机ARP缓存中。

为了提高查询效率,本地的ARP缓存都会保留一段时间。下次请求时会直接查询ARP缓存以节约资源。我们可以使用命令arp -a命令查询ARP缓存信息,例如: 在这里插入图片描述 arping命令

由于arping命令是基于ARP地址解析协议,我们可以在同网段中使用arping命令来判断目标主机是否存在,若存在目标主机会给出响应以及mac地址信息。

例如:

[root@xxxxx ~]# arping 103.29.xxx.xxx ARPING 103.29.xxx.xxx from 103.29.71.92 eth0 Unicast reply from 103.29.xxx.xxx [F8:66:F2:xx:xx:41] 11.512ms Unicast reply from 103.29.xxx.xxx [F8:66:F2:xx:xx:41] 11.966ms Unicast reply from 103.29.xxx.xxx [F8:66:F2:xx:xx:41] 4.512ms Unicast reply from 103.29.xxx.xxx [F8:66:F2:xx:xx:41] 5.966ms ^CSent 6 probes (1 broadcast(s)) Received 6 response(s)

以上信息表明103.29.xxx.xxx主机存在,我们不能再利用这个IP地址。否则表明这个IP地址在同网段中是没有被使用的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3