大家好,
我正在查看 AIX 7 服务器上的“netstat -an”输出,proto 列让我有点困惑。首先,输出:
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp6 0 0 *.22 *.* LISTEN
tcp4 0 0 *.22 *.* LISTEN
tcp 0 0 *.111 *.* LISTEN
据我了解,SSH 服务器(TCP 端口 22)正在侦听 IPv4 和 IPv6。但是 portmap(TCP 端口 111)是否侦听 IPv4、IPv6 或两者? AIX 手册页和我在 IBM 支持站点上找到的内容都没有区分或具体定义“tcp”协议的含义或包含的内容(4/6/两者)。
感谢您的帮助!
约翰
答案1
如果您的套接字属于地址族 AF_INET,那么它tcp4
位于netstat
netstat: tcp4 0 0 *.57312 *.* LISTEN
如果您的套接字属于地址族 AF_INET6,那么这取决于IPV6_V6ONLY
选项:
int v6only= 0;
setsockopt (s, IPPROTO_IPV6, IPV6_V6ONLY, &ipv6only, sizeof ipv6only);
netstat: tcp 0 0 *.57313 *.* LISTEN
如果设置了此选项
int v6only= 1;
setsockopt (s, IPPROTO_IPV6, IPV6_V6ONLY, &ipv6only, sizeof ipv6only);
netstat: tcp6 0 0 *.57314 *.* LISTEN