从MAC地址查找DHCP IP地址


3

我有一些计算机需要通过网络重新安装,但是为了使安装正常进行,计算机需要在DNS / DHCP中注册其MAC地址,以便能够对其进行识别并获得正确的IP地址和策略。从公元

问题在于,由于某种原因,计算机通常未在DNS / DHCP中注册,并且在重新安装过程的后期阶段之前不会注意到该计算机,因此,这样浪费了很多时间来进行故障排除。

我想知道是否有某种方法可以查询具有MAC地址的DNS服务器,并查看其是否已正确注册到IP地址?

(我无权访问AD。)

Answers:


2

AFAIK,无法使用MAC地址查询DHCP服务器,但是您可以在计算机上使用ping和ARP表。

ping -b <broadcast address>
arp -a

将为您提供网络中所有主机的MAC和IP地址。


在WinXP Prof.上不起作用。选项-b不存在。

尝试删除-b。
Can BerkGüder2009年

我已经好多年没有使用Windows了。
Can BerkGüder09年

不显示想要的效果。arp表像以前一样为空,并且ping命令返回超时。

1
可在我的计算机上工作
Can BerkGüder09年

1

根据网络的大小,扫描每台可能的计算机可能非常快。


device_hwaddr="XX:XX:XX:XX:XX"

# we ping every ip in the range 192.168.0.*
ip_last_number=0
while test $ip_last_number -ne 255; do
    ping -c 1 192.168.0.$ip_last_number >/dev/null 2>&1 &
    ip_last_number=$(($ip_last_number + 1))
done

# we search in the arp table if their is our device
echo $(arp|grep $device_hwaddr)


感谢您的评论,尽管它无法正常工作,因为它无法访问/应答,因此请参见如何设置。我需要的是一种使用MAC地址查询DNS以查看其IP地址的方法。

1

我遇到了同样的问题:我有一个MAC地址,但是IP地址在我身上改变了。在Windows XP上,广播ping似乎对我不起作用,并且我们的Linux机器在不同的子网上,因此蛮力促使我:

for /l %i in (1,1,254) do ping -n 1 -l 1 -w 1 10.11.2.%i

其中10.11.2.0是我的子网。那我就可以

arp -a

并查找/ grep获取我的已知MAC地址。(请注意,Windows使用-分隔符,而Linux使用:in MAC地址)。

您也可以通过额外的for循环将其扩展到更大的子网。


0

您可以使用反向地址解析协议(RARP)。它通过广播将IP地址解析为给定的MAC地址。它很旧(甚至通过DHCP已过时),但应该可以使用。


RARP已弃用。
Can BerkGüder09年

此外,RARP用于确定主机自己的IP地址。根据OP计划使用此功能的方式,他可能正在寻找InARP之类的东西,而AFAIK也已弃用。
Can BerkGüder09年

s /不建议使用/已过时/ g
Can BerkGüder09年

我插入了您的评论。

您将如何使用RARP?任何标准的Windows命令将能够?

0

这些机器是否仅在安装时需要特定的IP地址才能设置策略?如果没有,为什么他们在安装时没有获得正确的地址?在部署之后是否会为他们分配正确的IP?

在我看来,在DHCP服务器中为每台计算机的MAC地址创建静态条目是您正在寻找的解决方案。在您的帖子中,听起来您无法自己做到这一点,但是如果有必要,您的系统管理员可能会为您这样做。他还可能允许您以只读方式访问所有静态地址分配(因此您可以在安装前检查它们)。


所有机器都基于其物理MAC地址通过DHCP服务器设置了静态IP,是的,我需要向sysadmin查询有关MAC / IP的实际映射的信息,并且每次与计算机联系时都有些麻烦似乎没有得到认可。但也许我可以获得该访问权限。

0

动态IP地址通常是从析取范围中选择的。例如,静态192.168.0.0/25,动态192.168.0.128/25。这取决于您的配置。

如果您无权访问DHCP服务器的配置,我认为没有其他方法可以检查它是静态的还是动态的。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.