【问题标题】:IPV6 socket's local address not on interfaceIPV6 套接字的本地地址不在接口上
【发布时间】:2021-06-14 21:21:37
【问题描述】:

创建 TCP6 套接字并连接到服务器时,为套接字选择的本地地址不在主机的任何接口上。为什么会有差异?

在下面的例子中,主机的 eth0 IPV6 地址是 fe80::10ff:36ff:fef5:611d。由于客户端是从 fe80::10ff:36ff:fef5:611d%eth0 连接的,我希望套接字的本地地址是相同的。但是 netstat 显示它是 fe80::10ff:36ff:f。

$ nc -l6v :: 10023
Listening on :: 10023
Connection received on fe80::10ff:36ff:fef5:611d%eth0 37402

$ nc -v fe80::10ff:36ff:fef5:611d%eth0 10023
Connection to fe80::10ff:36ff:fef5:611d%eth0 10023 port [tcp/*] succeeded!

$ netstat -6tn
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp6       0      0 fe80::10ff:36ff:f:37402 fe80::10ff:36ff:f:10023 ESTABLISHED
tcp6       0      0 fe80::10ff:36ff:f:10023 fe80::10ff:36ff:f:37402 ESTABLISHED

【问题讨论】:

    标签: ipv6


    【解决方案1】:

    地址被截断。尝试使用带有 -l 的 netstat

    【讨论】:

    • 我看到那个拿起锤子看到的盲人说。谢谢!是的 netstat 正在截断该 IPV6 地址。在我使用的 Debian 版本上,“-W”显示完整地址。
    猜你喜欢
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 2013-02-14
    • 2020-02-20
    相关资源
    最近更新 更多