我注意到,每当我重新连接网络时,我的 XP 都会弹出一个提示,提示它找到了支持 UPNP 的路由器。
在我的 Windows 命令行中,我可以输入Net View
据说可以看到工作组中的计算机(虽然目前我无法看到隔壁的计算机,但这无关紧要;)。)
Vista 中的 Windows Media Player 引入了一些可以检测网络上共享媒体的功能。
如果我进入 Windows 网络,它会进行类似 Samba 发现之类的操作。
我猜想在 Linux 中还有其他类似的协议在 LAN 上运行。Mac 中也是如此。
- 这些协议是什么?我的意思是,比“基于 UDP”更准确。
- 还有哪些常见的协议?(例如,内置于某些常用版本的 Windows、MacOSX、前10名Linux 发行版,或某些alternativeto 中的类别值得一提。
- 是否有一个工具可以让他们列出局域网上可用的计算机/对等点 - 最好是通过命令行?
(有没有可以按多种协议列出节点的工具?)
答案1
UPnP 使用 UDP/1900(标准)和 TCP/2869(微软)。
据我所知,有两个选项可以进行扫描。
此工具http://upnp-check.rapid7.com/。
或者使用 upnp-info 脚本进行 nmap。
答案2
nmap 将列出同一子网上的其他计算机。您还可以使用 Linux 中的循环进行简单的 ping 扫描,例如:
for I in {1..254}
do
ping -c1 192.168.1.${I} && echo host is UP || echo Host is down
done
假设你的子网是 192.168.1.0/24
Mac 使用多播 DNS (MDNS)(也称为 Bonjour)进行服务发现。Linux 使用 avahi 和 DNS-SD 进行服务发现。