有什么办法可以在我的网络上找到未使用的IP地址?


25

如何找到网络上未使用的IP地址?DHCP服务器一直分配相同的地址,而我需要一个不同的IP地址来测试我的应用程序。该软件将需要在Windows上运行。

Answers:


36

最好的方法可能是在ARP Ping扫描模式下使用NMAP(http://nmap.org/)。用法将类似于nmap -sP -PR 192.168.0.*(或您的网络是什么)。

这种方法的优点是它使用地址解析协议来检测IP地址是否分配给计算机。想要在网络上找到的任何计算机都需要应答ARP,因此这种方法适用于ping扫描,广播ping和端口扫描不存在的情况(由于防火墙,操作系统策略等)。


1
+1我还没有意识到Windows上可以使用nmap二进制文件。肯定会用它,它会晃动。
msanford

确实做到了。希望我不会让查询令任何人感到不适。显然,Nmap还想告诉我在它遇到的任何计算机上打开了哪些“有趣的”端口。:OI绝对不需要或想要那个。
杰森2009年

3
哎呀 除了-PR以外,还使用-sP应该会禁用不必要的端口扫描。
guilherme

-0.5对我而言,nmap主机规范中可以使用通配符(0.5,因为手册页中没有与主机相关的“ *”,只有端口;)
msanford,2009年

6
令人惊讶的是,我们描述了nmap一个(新手?)问题的水平扫描解决方案,该问题询问如何在DHCP分配的网络环境中“推送”未使用的IP地址。建议我们联系本地DHCP授权机构(他的管理员?)并分配一些测试IP地址不是我们的责任(作为管理员吗?)?同意,这是一个优雅的技巧,我们都喜欢nmap,包括矩阵迷。但是,我们了解这里发生了什么吗?
NIK

17

您实际上不应该尝试在使用DHCP的网络上查找未使用的IP地址。除非您知道自己在做什么,否则不应该这样做,并且询问如何做表明您不这样做。

网络地址管理隐式是组织(而非技术)活动。DHCP使网络管理员经常认为它纯粹是技术性的,但是该协议经过精心设计,可以通过一点政治协商就可以轻松满足您的需求。

DHCP具有一项功能,可以每次为某些系统分配相同的IP地址(换句话说,分配机制可以是动态的,但是分配本身可以是固定的)。

请您的DHCP管理员为您创建一些条目。如果他们说“不”,请做一些腿部工作,然后请您的经理请他们的经理来做。

或者要求DHCP管理员分配一定范围的IP地址供您个人使用,但不要在DHCP之外使用它们。

这确实符合每个人的最大利益。如果您的项目值得付出一些额外的努力,那么对组织的热爱将大有帮助。

我认为其他发布者并未认真考虑可能发生的事情,部分危险在于IP地址冲突的结果不可预测:

如果您偷猎地址,然后它们与其他人的系统冲突,那么结果可能会很痛苦,例如结束工作。

  1. 当系统发生IP冲突时,系统的行为会有所不同。有些人很快就放弃了。有些只是在屏幕上显示了奇怪的警告。某些系统可能会争夺IP地址。

  2. 您不知道要断开哪个系统。您可能会断开重要服务器的连接,或者您的系统可能有一个存根服务器开始响应实际流量。或者可能是您老板的PC,或者是也有IP抢注的高级工程师。

这是一个非常相似的DNS故事。我曾与一家聪明但有时令人讨厌的人一起在公司工作,他了解DNS解析之外的所有内容。他配置了大约80%的公司邮件系统,以便在发生小故障时,我的实验室环境最终成为出站邮件服务器。他们很快就发现了这个问题,但是您可以想象如果我的系统没有将邮件排队在防火墙后面会造成多严重的后果。


2
@benc,太好了!这是我认为在DHCP环境中扫描未使用的IP地址时比较合理的第一个答案。+1可以像ServerFault上的管理员那样思考。
NIK

看来,我注意到这个问题只是因为您今天回答了这个问题!上个月在这里没有这一点,事情似乎已经结束了!!
nik

是的 他们不能说我没有警告过他们。
09年

很遗憾,这不是所选的答案-因为它回答了真实的问题。+1


3

在我公司一次,有人不小心将其IP设置为我们服务器机房中核心交换机的IP。


最终 结果:“ WTF发生在Network1上?!?!”

故事的寓意:请与您的管理员交谈。如果您在工程公司工作,那么他们很可能会制定适当的程序给您一个地址,甚至您自己的地址。


+1-这些故事会吓倒人们正确的举止。抱歉,这件事发生在您的现实生活中。
benc

2

您基本上必须选择:

  • 询问您的DHCP服务器已经分配了哪些地址(通过Web界面,cli界面或服务器使用的任何界面)。如果网络上的非常多的节点使用DHCP进行自我配置(即,没有任何自行分配的IP地址),则此方法将起作用。显然,您还需要访问路由器的配置,这听起来好像没有。

  • ping(或端口扫描)您的整个子网,看看谁回答。如果特定节点禁用了ICMP-echo-r​​equest(即“阻止ping”),则可能无法使用。


没错,我无权访问DHCP服务器。是否建议使用任何实用工具来ping子网?我尝试了“ ping 224.0.0.1”建议,但报告为“常规故障”。
杰森2009年

恐怕我总是可以访问linux机器进行网络诊断之类的事情(因此,我对Windows语法没有那么大的帮助)。打谷歌,看看你发现了什么;肯定有一个不错的免费软件GUI工具。
msanford

Guilherme在下面将其使用,尽管语法是nmap -sP 192.168.0.1-254
msanford

1

如其他答案所述,如果您无法访问DHCP服务器,则对本地子网的ping扫描或NMAP扫描可能是确定可用IP地址的最佳方法。

但是,请记住两件事。

  1. 您的网络管理员可能不会对您运行端口/ ping扫描感到友好;如果它们具有类似于体面的入侵防护的功能,那么当他们四处寻找不满意的东西时,您应该不会感到惊讶。

  2. 在同一子网上混合使用静态配置和DHCP可能会导致问题。如果使用IP配置设备,则通过子网扫描等发现它是“空闲”的,而DHCP服务器随后将该地址移交给另一个节点,您的计算机和IP地址的“真实”所有者将继续争夺谁应该具有该IP的ARP条目。这将导致两台机器的连接中断。(同样,您友好的邻居管理员也可能会进行访问)。

如果您确实需要另一个IP地址进行测试,是否可以联系您的网络管理员并询问?他们将能够配置手动DHCP条目,该条目将根据计算机的MAC地址为您的计算机提供特定的DHCP租约。


感谢您的提示。我知道DHCP服务器可能会将地址发布给其他人,因此我不打算保留很长时间。我确实需要另一个IP地址。思科防火墙检查我的IP地址,以查看我在最近12个小时内是否已通过该地址进行身份验证,如果是,则永远不会为我提供注销方法。返回登录屏幕的唯一方法是让该12小时期限到期或获得新IP。我曾经通过切换到无线连接来做到这一点,但是现在我需要对防火墙进行另一次射击,以便检查我的代码。
杰森2009年

1

查看Fing。它曾经被称为lookatlan。这是一个很小的安装,但是会扫描网络并为您提供一个简单的图形界面,以查看正在使用的内容和未使用的内容。


0

如果使用Windows Server DHCP,则DHCP查看器将显示使用的IP地址。也许您的IP范围很小,请尝试扩大范围。

使用路由器分配IP地址时,我遇到了类似的问题。我的解决方案扩大了范围,似乎可行。


从他的问题的措辞来看,我有一种强烈的感觉,他不是网络的管理员,而是在寻找一个免费的IP地址来测试某些代码。
msanford

究竟。我正在编写一个可自动通过Cisco防火墙登录的应用程序。当天登录后,将无法注销。由于我需要在代码中测试不同的场景,因此我需要能够获得不同的IP,因此系统提示我重新登录。
杰森2009年
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.