找出開啟網路連線的程式
出自KMU Wiki
在 Windows 環境下,若發現網路連線明顯的變慢,或網路設備有類似當機情況時,
可使用「netstat」指令配合「工作管理員」找出開啟網路連線的程式,
來檢測及排除網路連線是否異常的狀況。
檢測步驟如下:
1. 檢視網路連線狀態
請開啟「命令提示字元」,於指令列鍵入netstat -ano
XP:按「開始」後,在「執行」的位置上鍵入cmd,再按「ENTER」,您便會得到一個「命令提示字元」視窗。 Vista:按「開始」後,在「搜尋」的位置上鍵入cmd,再按「ENTER」,您便會得到一個「命令提示字元」視窗。
netstat(network statistics)是一個可以查詢本機網路和外界網路連線的指令, 可以透過這個指令瞭解電腦連線的狀況,也可得知有沒有奇怪的連線。 參數 a 表示列出所有連線中或listening的連線; n 表示使用數字形態列出,亦即 http 會以 80 顯示,ftp 會以 21 顯示…; o 則為列出該程式的 PID(Process ID)
當網路是連線狀態時,會出現以下資訊
『Proto』欄位代表協議,有TCP和UDP兩種協議。 『Local Address』欄位代表本機地址,該位址冒號後的數字就是開放的埠號。 『Foreign Address』欄位代表遠端地址,如果和其他機器正在連線,顯示的就是對方的位址。 『State』欄位代表狀態,如果顯示LISTENING表示處於偵聽狀態,就是說該埠是開放的,等待連接,但還沒有被連接。
在連線時『State』欄位可能會有以下幾種狀態: LISTENING:偵聽狀態,等待連接。 SYN_SENT:連線初始時,發送封包的狀態。 TIME_WAIT:等候對方回應的狀態。 ESTABLISHED:連線已建立完成的狀態。
在這些欄位中要特別檢視的是 『Local Address』欄位內的 port number 以及『State』欄位的 SYN_SENT 這個狀態。 若出現大量的連線,port number 呈現連續性(正常的話應為隨機性,不至於出現大量的連續性,除非整個網路只有一部主機連線),並且『State』持續為 SYN_SENT 的狀態時,則可大約判定網路連線是處於異常狀態。
如果「工作管理員」中沒列出 PID 欄位(預設是沒有),可自行調整顯示欄位設定。
「工作管理員」 -> 「檢視」 -> 「選擇欄位」 -> 「PID」打勾