Ssh

為什麼 SSH 在 netstat 中將協議顯示為 tcp6 tcp?

  • May 4, 2015
$ netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN  

:::22為什麼埠 22 (和)有兩條記錄,0.0.0.0:22為什麼一條使用協議 astcp而另一條使用 astcp6

這是在 Ubuntu 12.04.4 上

預設情況下sshd使用 ipv4 和 ipv6。AddressFamily您可以通過以下指令配置 sshd 使用的協議/etc/ssh/sshd_config

對於 ipv4 和 ipv6(預設)

AddressFamily any

僅適用於 ipv4

AddressFamily inet

僅適用於 ipv6

AddressFamily inet6

進行任何更改後sshd_config重新啟動sshd以使更改生效。

實際上,它更有趣一些

基本上,即使您完全禁用 IPv6,由於奇怪的核心原因,某些套接字也會被辨識為“TCP6/UDP6”。

我在沒有 IPv6 支持的情況下在連接到 3G 網路的 android 手機上執行 netstat 後注意到它(在 APN 設置中禁用並且運營商明確不支持)

在我看到 WhatsApp 的 TCP6 連接以某種方式持續存在後,我開始研究並找到了這個連結: https ://blog.codecentric.de/en/2014/04/note-netstat/

引用自:https://unix.stackexchange.com/questions/126750