Ssh
為什麼 SSH 在 netstat 中將協議顯示為 tcp6 和 tcp?
$ 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/