能够打开TCP端口但没有监听

3
使用Windows防火墙中的“添加规则”功能,我成功打开了TCP端口15537。但是当我在终端窗口执行命令netstat -ano时,该端口并未列出。我尝试在终端窗口执行telnet命令(例如telnet IP port),但是出现以下错误:

连接到localhost...无法连接到主机,在端口15537上连接失败

然后我下载了PortQry应用程序,并从另一台位于同一网络中的计算机上运行它,结果显示:

"未监听"

我已经花费超过2天的时间并向内部团队寻求帮助,但没有找到解决方案。

注意:两台计算机都使用Windows 10操作系统。


1
必须有一些服务器应用程序在该端口上运行。仅仅打开防火墙不会神奇地导致某些东西启动。 - th3falc0n
我认为,Windows 10没有Telnet服务器,它已经被弃用了。 - user3001812
@User3001812:这里不需要Telnet服务器,而且是不再支持的,但是Telnet客户端仍然得到支持。 - Luuk
4个回答

2

问题中没有指出任何问题,因此不需要解决方案。您已成功打开了TCP端口。您尚未尝试使任何内容侦听该TCP端口。

不清楚您期望的结果是什么,但您得到了应该得到的结果。没有任何问题。端口是打开的,因为您打开了它。没有任何内容在该端口上侦听,因为您没有设置任何内容在该端口上侦听。


0
从防火墙的角度查看所有打开的端口:
netsh firewall show portopening

您可以将该输出与以下内容进行关联:
netstat -ano

确认是否确实有服务在这些端口上。

-1

使用nmap代替netstat来检测开放的端口

nmap -p 您的端口号 您的本地IP

在该端口上运行服务

例如- 在我的情况下,为了打开端口,我使用"service ssh start"或"service apache2 start",分别在我的Linux机器上打开22和80端口。

在我的局域网中使用nmap,两个端口都已打开。希望这有所帮助。


-1

可能存在一些转发规则?由于访问的目的不在本地机器上,netstat命令无法看到正在侦听的端口,但它可以根据此端口看到下一个动作,通常是进行一些转发。

我对Windows防火墙配置不是很熟悉,但我知道如果在Linux中存在转发规则,例如

-p tcp -m tcp --dport 8080 -j {其他转发链}

我们无法在此主机上看到8080正在侦听(netstat -tunpl),但telnet host:8080可能会看到已连接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接