我知道我可以 ping 服务器名称并确定 IP 地址。但是是否有命令可以用来确定子网?我使用的是 Windows XP。
答案1
不,子网划分一般很难/不可能从远处确定 - 为什么需要它?
严格来说,您也不能使用 ping 来确定服务器的 IP 地址 - ping 只是使用常规解析器来确定 IP 地址并将其打印出来,然后继续执行其主要任务,通过发送 ICMP 回显请求消息并等待 ICMP 回显答复消息来测试主机是否启动。
实际上,专为从 DNS 查找名称映射而构建的工具是 host,或者更近期的 dig,它来自 BIND DNS 服务器客户端工具。Dig 是一款非常有用的工具,每个系统管理员都应该能够使用它。
附加信息:您可以使用 IP 地址上的 whois 来找出谁拥有该地址所属的 IP 块以及它有多大,就像您在域上一样。
答案2
编写一个脚本来在远程服务器上执行 psexec ipconfig 并解析子网掩码的输出。
答案3
经过反复尝试,您可以使用命令行中的“tracert”来 ping 相邻的 IP 地址,以查看路由的最终结果。假设没有防火墙阻止 ICMP 请求。
tracert 10.0.0.1
tracert 10.0.0.2
tracert 10.0.0.4
tracert 10.0.0.8
etc.
tracert 10.0.1.1
如果倒数第二个 IP 保持不变,则表示您处于子网中。当然,由于存在 NAT,而且许多主机会阻止这些请求,因此您可能运气不佳。
答案4
理论上,类型“17”ICMP(ping)请求应该适合您,但我不知道它现在受到多广泛的支持。
http://www.rhyshaden.com/icmp.htm
http://www.ietf.org/rfc/rfc792.txt
ICMP Address Mask Ping (-PM)
http://www.networkuptime.com/nmap/page4-8.shtml