Linux

為什麼我的 Netstat 沒有返回所需的輸出而只是掛斷了?

  • April 29, 2019

我的遠端 Linux 機器能夠在 Internet 上 ping 一個 IP 地址,但相同的操作無法獲取該 IP 的 netstat 報告。

ping a.b.c.d
64 bytes from a.b.c.d: icmp_seq=1 ttl=64 time=0.509 ms
64 bytes from a.b.c.d: icmp_seq=2 ttl=64 time=0.249 ms
64 bytes from a.b.c.d: icmp_seq=3 ttl=64 time=0.273 ms
64 bytes from a.b.c.d: icmp_seq=4 ttl=64 time=0.357 ms

但 netstat 無法獲得輸出,

netstat -an a.b.c.d | grep <some port>

它只是掛起,甚至沒有返回我的提示,而我已經確定它應該列出的連接。

netstat 不接受IP 地址參數。唯一的非選項參數是延遲,並非所有版本都如此。

該命令將

列印網路連接、路由表、介面統計資訊、偽裝連接和多播成員資格

對於本地機器。它無法訪問有關其他機器的數據,只能與執行它的機器建立連接。這樣做可能需要一段時間,並且會隨著延遲而永遠循環。

如果您對有關從您的機器連接到特定其他 IP 地址的資訊感興趣,您可以使用grep它。請注意,netstat在任何情況下都已棄用,它的替代品ss對該案例具有更好的內置支持。

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