netstat -an
当我在中输入命令时cmd
,我得到的信息是某个 MAC 地址打开了我的某个端口。我的问题是如何关闭该端口以及如何从 MAC 地址找到另一台计算机的 IP?
我得到这个输出:
UDP [fe80::b970:58f1:a42a:a333%11]:1900 *:*
UDP [fe80::b970:58f1:a42a:a333%11]:50524 *:*
答案1
从您的输出来看,我认为这些不是 MAC 地址。而是 IPv6 地址。另外,我认为您的问题中的回车符被弄乱了。我认为它没有显示任何连接的计算机,而只是显示您有进程正在监听这些端口。
要找出涉及的 Windows 进程,您可以执行netstat -anb
(您可能必须以管理员权限执行此操作)。
端口 1900 用于 ssdp 协议。您可以通过禁用该SSDP Discovery
服务来关闭它。
我不确定端口 50524 对应的是什么,但在我的系统上,同样的SSDP Discovery
服务正在监听许多高编号端口……对你来说可能也是一样的。
答案2
如果您运行netstat -b
,则可以看到正在监听特定端口的应用程序。您无法(据我所知)按需关闭端口,只能终止正在接受连接的进程。
另外,我认为你混淆了 MAC 地址和 IPv6 地址fe80::b970:58f1:a42a:a333
。不是一个 MAC 地址;这是一个 IPv6 地址。问题解决了;您已经获得了 IP。
(如果您没有 MAC 地址,则此行以下的信息无关紧要)
此外,即使您知道 MAC 地址,我也不知道 Windows 是否有 RARP(反向地址解析协议)。我知道rarpd
Linux 曾经有,但 RARP 支持已在内核 2.3 版中删除。如果您使用无线连接或连接到集线器(而不是交换机),您可以随时启动 WireShark 或类似程序并检查帧的目标地址。