获取同一网络中的IP地址和计算机名称

Gra*_*ton 45 networking windows ip-address

可以使用什么命令来获取位于同一网络中的计算机的 IP 地址和名称?

我正在运行 Windows

sys*_*138 42

nmap -sn 192.168.1.0/24 
Run Code Online (Sandbox Code Playgroud)

把你的网络号码放在里面。它将对您的网络进行 ping 扫描并报告已启动机器的反向 DNS。不会找到停机的机器。

C:> for /L %N in (1,1,254) do @nslookup 192.168.0.%N >> names.txt
Run Code Online (Sandbox Code Playgroud)

这将对子网中的每个 IP 进行反向查找。

  • 我的窗口中没有 nmap (2认同)
  • 强尼,你是管理员还是用户?如果您不是管理员,您需要/想要进行此扫描的原因是什么?如果您是管理员,nmap 是一个非常方便的工具。 (2认同)

小智 6

尝试使用这个简单的命令提示符代码。获取所有网络arp -a ip 以查找 ip 来自何处tracert "ip"


Jor*_* W. 5

使用 Powershell - dmitrysotnikov编写了一个很好的函数,来自:\n http://dmitrysotnikov.wordpress.com/2008/03/07/get-computer-by-ip-address/

\n\n

确实需要一些错误处理来清除“超时”和“找不到主机”回复。

\n\n
function Get-ComputerNameByIP {\nparam(\n$IPAddress = $null\n)\nBEGIN {\n}\nPROCESS {\nif ($IPAddress -and $_) {\nthrow \xe2\x80\x98Please use either pipeline or input parameter\xe2\x80\x99\nbreak\n} elseif ($IPAddress) {\n([System.Net.Dns]::GetHostbyAddress($IPAddress))\n} elseif ($_) {\ntrap [Exception] {\nwrite-warning $_.Exception.Message\ncontinue;\n}\n[System.Net.Dns]::GetHostbyAddress($_)\n} else {\n$IPAddress = Read-Host \xe2\x80\x9cPlease supply the IP Address\xe2\x80\x9d\n[System.Net.Dns]::GetHostbyAddress($IPAddress)\n}\n}\nEND {\n}\n}\n\n#Use any range you want here\n1..255 | ForEach-Object {\xe2\x80\x9d10.20.100.$_\xe2\x80\x9d} | Get-ComputerNameByIP\n
Run Code Online (Sandbox Code Playgroud)\n