You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Mac OS连接局域网内Windows主机端口失败求助

Mac OS连接局域网内Windows主机端口失败求助

嗨,我来帮你分析下这个问题!从你描述的情况来看,两种状态的报错其实指向了不同的关键点,咱们一步步排查:

  • 先确认Windows上是否有程序在监听目标端口
    当你关闭Windows防火墙后收到「Connection refused」,这说明两台机器的网络通路是通的,但目标端口777根本没有服务在等待接收连接。你可以在Windows的命令提示符(CMD)里运行以下命令检查:
    netstat -ano | findstr ":777"
    如果没有任何输出,那就是没有程序绑定到这个端口——这时候不管防火墙开不开,都无法建立连接,得先确保有服务在监听777端口才行。

  • 检查Windows防火墙规则的细节是否正确
    你说已经开启了777端口,但要注意几个容易忽略的点:

    • 规则的协议类型:你的nc命令默认扫描的是TCP端口,所以防火墙的入站规则必须针对TCP协议,不能只开UDP;
    • 规则的方向:要创建「入站规则」,允许外部设备(你的Mac)访问这个端口,而不是出站规则;
    • 网络类型匹配:Windows防火墙分域、专用、公共网络,如果你的Windows主机当前处于「公共」网络环境下,即使开了端口,公共网络的防火墙策略可能依然会拦截,建议先把Windows的网络类型改成「专用」试试。
  • 确认局域网基础连通性
    虽然你的nc命令能得到明确的报错,但可以先ping一下目标主机验证:
    ping 192.168.1.13
    如果ping不通,那可能是局域网子网不匹配、路由器开启了设备隔离等问题,但从你的报错来看,大概率是通的,不过确认下更稳妥。

  • 检查nc命令的参数是否匹配服务类型
    如果你Windows上的服务是基于UDP的,那需要给nc命令加-u参数,比如:
    nc -vzu 192.168.1.13 777
    不过从「Connection refused」的报错来看,更可能是没有TCP服务在监听。

总的来说,最核心的问题大概率是Windows端没有程序在监听777端口,先解决这个基础问题,再去细化防火墙的规则配置应该就能解决啦!

备注:内容来源于stack exchange,提问作者Martin Perry

火山引擎 最新活动