我正在使用Linux。 你通常如何去寻找本地networking上的机器?
当然,安装nmap然后运行:
nmap -sP 192.168.0.1-254
当然,你需要用你的networking适当的值replaceIP范围。
我认为正确的方法是检查局域网的IP级别 ,然后ARP扫描是一个更好的select。
看到我对这个重复的问题的答案 ,我build议nast -m 。
许多方法是可能的。 我会开始一个nmap扫描。
使用arpwatch ,它可以让你find其他机器而不扫描networking
作为扫描networking的替代方法,如果您有权访问交换机或路由器,则可以直接检查路由器的ARP表,该表应列出所有连接的机器及其MAC地址。 如果您只是想要映射您的networking并查看联机内容,这可能是一个更好/更简单的解决scheme。
如果你有一个像样的路由器/交换机,你也可以通过SNMP获取这个信息,而不是直接login到设备上,在定期映射你的networking时有自己的优势。
一个很好的graphics工具是自动扫描networking( http://autoscan-network.com/ )。 它也显示开放端口。 对于Windows,我build议看@ @ lan,这是做同样的事情。
我同意nmap,和arpwatch是很好的工具,你也可以使用fping 。
在这里我完成了一个来自bortzmeyer的existant python脚本,为你做这个工作,脚本非常快。 但首先你必须安装ipcalc模块和psyco
import os, sys, re from threading import Thread import psyco, ipcalc
类平(线程):def init (self,ip,version):线程。 init (self)self.ip = ip self.version = version self.tab =(“No response”,“Partial Response”,“Alive”)
def run(self): try: if self.version==4: req=os.popen("ping -c2 -q "+self.ip, "r") elif self.version==6: req=os.popen("ping6 -c2 -q "+self.ip, "r") while 1: reponse=req.readline() if not reponse: break stat = re.findall(re.compile("(\d) received"), reponse) if stat: print "Status ", self.ip, " ",self.tab[int(stat[0])] except: raise sys.stderr.write("Error in ping.\n") sys.exit(-1)
if __name __ =='__ main__':psyco.full()try:address = sys.argv如果address.find('/')> 0:net = ipcalc.Network(address)else:net = [address] for ip在networking中:p = ping(str(ip),4)p.start()除外:pass
我使用(将在可用时下载)一个我编写的工具,它可以处理交换机的DNS / DHCPpipe理和SNMP漫游。 如果有东西不在DHCP中,我至less会从交换机获得一个MAC地址,但是我们已经决定把所有东西都放在DHCP中,即使这些机器本身是静态IP的,只是为了帮助跟踪地址空间。
如果你正在谈论find可能你没有放在那里的东西,我会同意nmap。 或者,如果你担心法律/政治问题,只是一个脚本,包装平…