【问题标题】:UDP can listen but TCP failsUDP 可以监听但 TCP 失败
【发布时间】:2019-08-20 23:55:45
【问题描述】:

我想与我的主机和从机(CentOS 7)建立一个 TCP 连接。例如,我的节点的 IP 是 IP1 和 IP2。我可以成功地ping 对方。但我无法建立 TCP 连接。所以我用ncat来测试。我所做的如下

[Node1] ncat -v -u IP2 Port2
Ncat: Connected to IP2:Port2

[Node2] ncat IP2 Port2
Ncat: No route to host

我不知道我的操作是否正确测试 TCP 和 UDP。如果我的操作正确,为什么我无法建立 TCP 连接。你能告诉我为什么吗?

谢谢。

【问题讨论】:

    标签: tcp udp connection


    【解决方案1】:

    目前尚不清楚 IP2 端口 2 上是否存在 TCP 侦听器,并且该侦听器可从您的计算机访问(即没有防火墙限制访问)。如果不存在侦听器或连接以某种方式被阻塞,则初始 TCP 握手将已经失败,即甚至在发送任何数据之前。

    对于 UDP,这是不同的:最初的“连接”根本不与目标通信,而只是在本地套接字上设置目标地址。连接是否有效只能稍后看到,即客户端发送的数据是否真正到达服务器。

    【讨论】:

    • 感谢您的评论。我终于发现它是防火墙。谢了!
    【解决方案2】:

    似乎 IP2 丢弃了 SYN 数据包并将 ICMP 消息返回到 IP1 - 你应该配置防火墙。类似问题 - https://unix.stackexchange.com/questions/353452/no-route-to-host-with-nc-but-can-ping

    【讨论】:

    • 感谢您的帮助。我现在修好了。
    猜你喜欢
    • 2021-10-30
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    相关资源
    最近更新 更多