我通过 Windows 7 防火墙打开了端口 4444,以允许来自所有 IP 和协议的所有流量,包括允许边缘遍历。在那台机器上,设置了一个 netcat 侦听器来侦听端口 4444。然后我使用远程 Linux 客户端尝试使用 netcat 连接到端口 4444 上的 netcat 侦听器,尝试超时。这些相同的步骤导致在防火墙未明确允许的端口(4443、251 等)上成功连接。我检查以确保其他应用程序没有干扰端口上的活动
netstat -an | find "4444"
但那里什么也没有。我运行:
nc -nlvp 4444 -e cmd.exe
netstat -an | find "4444"
然后我看到有东西正在监听端口。但是
nc -nv win7pc 4444
超时。
-NMAP扫描显示端口被过滤。
-如果我禁用Windows防火墙,它会显示端口已打开。
-如果我禁用 Windows 防火墙,则允许连接。
- 问题与 nc、ncat 和 netcat 相同
-客户端是运行 Linux 的 VMware 机器
-Host 是一台 Win 7 机器,我通过 VMware 机器上的 RDP 连接到它。
这里发生了什么事?
答案1
在我的情况下发生这种情况的原因是存在另一个用户定义的 Windows 7 防火墙入站规则,在我设置的允许端口 X 上的流量的规则上方有几个条目,它明确阻止了端口 X 上的流量。
显然,阻止规则优先。一旦我禁用它,端口 X 就可以正常工作。