端口转发总是不起作用?

端口转发总是不起作用?

我打开了端口 25374,这是 eMule TCP 端口,然后我使用canyouseeme.org检查它是否真的打开了。

我遇到了一个奇怪的问题:

当 eMule 运行时,canyouseeme.org 看到了我的端口。我收到以下消息:"Success: I can see your service on xxx.xx.xxx.xx on port (25374) Your ISP is not blocking port 25374"

当我关闭 eMule 然后在 canyouseeme.org 上再次检查端口时,我得到了:Error: I could not see your service on xxx.xx.xxx.xx on port (25374) 原因:连接超时

但是当我关闭 Windows 防火墙时,我收到了不同的错误:Error: I could not see your service on xxx.xx.xxx.xx on port (25374) 原因:连接被拒绝

谁能向我解释为什么会发生这种情况以及如何使端口始终打开?

谢谢

答案1

您的端口转发功能正常运行。只是存在以下区别:

  1. 转发端口
  2. 开放端口
  3. 关闭的端口
  4. 被阻塞的端口

端口转发只是路由器的一项功能,它指示路由器将数据包路由到特定主机的特定端口。无论目标主机的端口实际上是打开还是关闭,它都会执行此操作。

如果目标主机的目标端口已关闭,路由器仍会将任何连接请求数据包转发到目标主机,但目标主机将回复一个RST数据包,告知远程主机端口已关闭,而不是SYN-ACK继续连接的响应。(这是 TCP SYN ping 所基于的机制,也是许多端口扫描器的工作方式。)

但是,如果防火墙主动阻止了端口,那么甚至响应也RST可能会被阻止。因此网络活动将如下所示:

  1. 外部主机SYN向路由器发送数据包(TCP 连接请求的三次握手的第一步)。
  2. 路由器接收SYN数据包并将其重新路由到目标主机。
  3. 目标主机接收到SYN数据包,但被 Windows 防火墙阻止。即使 eMule 正在运行,该应用程序也不会收到连接请求。
  4. 外部主机等待RSTSYN-ACK响应,告知它目标端口已关闭或连接请求已被接受;但是,什么也没有发生......
  5. 最终,外部主机的客户端应用程序决定等待的时间足够长,并且连接超时。

这是防火墙的一个特点,它只是丢弃流量。防火墙拒绝流量仍会发送RST响应或 ICMP destination unreachable。但是,这会向潜在攻击者暴露更多有关网络的信息,这就是为什么一些网络管理员更喜欢简单地丢弃被阻止的流量。

相关内容