幫助理解“netstat -b”的輸出

幫助理解“netstat -b”的輸出

我使用的是 Windows 7 64 位,並運行netstat -b並將資料輸出到文字檔案。它們是 4 列“Proto”、“Local Address”、“Foreign Address”和“State”。 「外部位址」列出了我的電腦名稱和連接埠號碼。他們至少還有9個這樣的人,只是本地地址和外國地址上的連接埠不同。

例如:

Proto  Local Address          Foreign Address        State
TCP    127.0.0.1:2559         Someuser-PC:54735      TIME_WAIT

這是什麼意思?我該擔心嗎?

答案1

注意:這個答案是 Giacomo1968 答案的補充。他說得很對;我回答這個問題也是因為我覺得我還有一些細節要補充。我讓這個答案與 TCP 連接埠 2559 進行對話。

由於您的連線是 127.0.0.1,這表示您 PC 上的程式正在與 PC 上的程式(可能是第二個程式)進行通訊。

對於活動連接,您很可能有匹配的條目。因此,除了:
Proto Local Address Foreign Address State TCP Someuser-PC:54735 127.0.0.1:2559 ESTABLISHED 您可能還有: Proto Local Address Foreign Address State TCP 127.0.0.1:2559 Someuser-PC:54735 ESTABLISHED

對於 TIME_WAIT 狀態來說,情況可能不太可能如此。我想如果我想在故障排除過程中收集更多信息,我會尋找它。

Proto Local Address Foreign Address State TCP Someuser-PC:54735 127.0.0.1:2559 TIME_WAIT 您可能還擁有: Proto Local Address Foreign Address State TCP 127.0.0.1:2559 Someuser-PC:54735 TIME_WAIT

我也會刪除系統名稱。我通常使用netstat -nab(在現代 MicrosoftWindows 版本中),因為它更快、更清晰。如果連字號後面沒有 n,netstat 會執行反向名稱查找,這就是 127.0.0.1 看起來像 Someuser-PC 的原因。它速度較慢,而且不太清晰,因為實際的 IP 封包實際上使用數字 IP 位址,而不是文字名稱。 (如果我想知道 127.0.0.1 的名稱,我可以自己手動執行反向名稱查找。)如果有惡意攻擊者,我不希望 GoodGuy 的正向查找指向 192.0.2.10,並且然後反向查找198.51.100.50 以解析為GoodGuy,然後我手動查找GoodGuy 並開始錯誤地指責192.0.2.10,而真正攻擊我的地址是198.51.100.50。我透過堅持數字來避免這種謬論,無論如何,這樣更快。

您可能需要以管理員身份執行此程式才能獲得最佳的可用進程名稱。 (我指的不僅僅是管理員群組中的帳戶;如果您有 UAC,您可能需要管理員提示才能突破 UAC 的限制。)

連接埠 54735 可能是傳出連接,因為它位於 IANA 的臨時連接埠範圍內。基本上這意味著這些號碼是保留/用於傳出連接的。 (範圍是可自訂的,因此我將此評論基於預設值。術語「臨時」連接埠是一個標準術語,可用於查找更多詳細資訊。)

通常,出於安全目的,如果 TCP 連線是 ESTABLISHED 或 LISTENING,則需要注意(因為 LISTENING 可能會變成 ESTABLISHED 連線)。 TIME_WAIT 應在一段時間後自行消失;我不會擔心這個,除非你有很多。 (有時 Web 伺服器會產生大量 TIME_WAIT 連接,因為它們創建了大量連接,但沒有正確關閉它們。我相信,大概是幾十個或幾百個。)順便說一句,我認為此狀態表明連接已放棄通信,並等待遠端確認連線已關閉。可能是 netstat 沒有顯示相關程序,因為該程序認為連接已關閉,並且已停止關注該連接。

關於你是否擔心的問題,我簡單的回答是:不會。它只是意味著您的電腦的一部分正在與電腦的另一部分進行通訊。如果 127.0.0.1 上的程式導致問題,則問題是您的電腦上安裝了惡意程式。這可能是個令人擔憂的原因。然而,程序與 127.0.0.1 進行通信的事實通常不會引起關注,因為這些連接通常不會增加任何其他安全問題。這種網路連線是相當正常的行為。因此,您與 127.0.0.1 之間的 9 個 TIME_WAIT 連線無需擔心。

答案2

第一的,netstat是一個非常簡單的工具。它只是列印有關網路連接、路由表、介面統計資料、偽裝連接和多播成員身份的資訊。基本上,只是整體網路資訊。所以你這樣說:

這是什麼意思?我該擔心嗎?

好吧,從字面上看,這就是我正在閱讀的內容:

Proto  Local Address          Foreign Address        State
TCP    127.0.0.1:2559         Someuser-PC:54735      TIME_WAIT

從字面上看,這只是意味著127.0.0.1使用連接埠的 IP 位址上的本機電腦正在與連接埠上2559指定的遠端電腦建立 TCP 連接,狀態基本上意味著連接現在已關閉,但該連接在您的電腦上保持活動狀態。Someuser-PC54735TIME_WAIT

現在為什麼這種連結是在某個時刻建立的嗎?不清楚。本地地址端口2559似乎連接到Linux 終端伺服器專案 (LSTP)其描述為:

Linux 終端伺服器專案為 Linux 伺服器新增了瘦客戶端支援。 LTSP 是一種靈活、經濟高效的解決方案,使世界各地的學校、企業和組織能夠輕鬆安裝和部署瘦客戶端。

外部位址連接埠54735屬於通常被認為是“動態”或“私有”的高範圍端口,但基本上意味著“沒有標準應用程式以已知方式保留/聲明此端口,因此這些端口用於隨機/特殊/特定於應用程序連接。

我對 LSTP 沒有深入的經驗,也不知道(或理解)您的設置的具體細節,但從表面上看,這似乎是一個有效且合法的連接。許多協定使用客戶端的已知端口,然後使用目標伺服器上的隨機“專用”端口。所以這表面上對我來說似乎是正常行為。即使netstat在任何作業系統的 PC 上顯示了數十個條目,運行netstat這樣的基本裸命令(不進行過濾)也只會在螢幕上轉儲成堆的條目;在天氣好的時候,在乾淨的系統上,網路流量可能會很吵。

現在,如果您說這Someuser-PC是您的本機 PC,並且有來自本機主機環回的連接127.0.0.1,那麼這一切都可能與本機電腦上的某些應用程式的工作方式有關。就您所知,這意味著您正在運行一些進行輕量級 LSTP 終端模擬的軟體,並且核心程式碼使用 TCP 封包與其父「伺服器」應用程式進行通訊。

但老實說,由於你的問題提供的資訊很少,很難說這是好是壞。我的直覺告訴我,您只是在 PC 上安裝了一些軟體,這些軟體只是簡單且非惡意地使用 LSTP 終端仿真來完成工作。不多也不少。

相關內容