找出開啟網路連線的程式
出自KMU Wiki
(修訂版本間差異)
在2011年10月26日 (三) 17:31所做的修訂版本 (編輯) Lisachang (對話 | 貢獻) ←上一個 |
當前修訂版本 (2016年12月20日 (二) 10:26) (編輯) (撤銷) Ykk (對話 | 貢獻) |
||
(33個中途的修訂版本沒有顯示。) | |||
第1行: | 第1行: | ||
- | 在 Windows | + | 在 Windows 環境下,若發現網路連線明顯的變慢,或網路設備有類似當機情況時, |
+ | |||
+ | 可下載並執行 [http://technet.microsoft.com/en-us/sysinternals/bb897437 TCPView] ([http://fs.kmu.edu.tw/tools/TCPView.zip TCPView 校內下載])這個工具程式, | ||
+ | |||
+ | 或者用 Windows 內建的「netstat」指令配合「工作管理員」找出開啟網路連線的程式, | ||
+ | |||
+ | 來檢測及排除網路連線是否異常的狀況。 | ||
+ | |||
+ | 檢測步驟如下:<br> | ||
1. 檢視網路連線狀態<br> | 1. 檢視網路連線狀態<br> | ||
請開啟「命令提示字元」,於指令列鍵入netstat -ano<br> | 請開啟「命令提示字元」,於指令列鍵入netstat -ano<br> | ||
- | XP:按「開始」後,在「執行」的位置上鍵入cmd,再按「ENTER」,您便會得到一個「命令提示字元」視窗。 | + | [[Image:netstat.jpg|圖像:netstat.jpg]]<br> |
- | Vista:按「開始」後,在「搜尋」的位置上鍵入cmd,再按「ENTER」,您便會得到一個「命令提示字元」視窗。<br> | + | XP:按「開始」後,在「執行」的位置上鍵入cmd,再按「ENTER」,您便會得到一個「命令提示字元」視窗。 |
- | + | Vista:按「開始」後,在「搜尋」的位置上鍵入cmd,再按「ENTER」,您便會得到一個「命令提示字元」視窗。 | |
+ | |||
+ | netstat(network statistics)是一個可以查詢本機網路和外界網路連線的指令, | ||
+ | 可以透過這個指令瞭解電腦連線的狀況,也可得知有沒有奇怪的連線。 | ||
+ | 參數 a 表示列出所有連線中或listening的連線; | ||
+ | n 表示使用數字形態列出,亦即 http 會以 80 顯示,ftp 會以 21 顯示…; | ||
+ | o 則為列出該連線程式的 PID(Process ID) | ||
+ | |||
+ | 當網路是連線狀態時,會出現以下資訊 | ||
+ | [[Image:conn1.jpg|圖像:conn1.jpg]]<br> | ||
+ | |||
+ | 『Proto』代表協議,有TCP和UDP兩種協議。 | ||
+ | 『Local Address』代表本機地址,該位址冒號後的數字就是開放的埠號。 | ||
+ | 『Foreign Address』代表遠端地址,如果和其他機器正在連線,顯示的就是對方的位址。 | ||
+ | 『State』代表狀態,如果顯示LISTENING表示處於偵聽狀態,就是說該埠是開放的,等待連接,但還沒有被連接。 | ||
+ | 『PID』代表連線程式的 PID(Process ID)。 | ||
+ | |||
+ | 在連線時『State』可能會有以下幾種狀態: | ||
+ | LISTENING:偵聽狀態,等待連接。 | ||
+ | SYN_SENT:連線初始時,發送封包的狀態。 | ||
+ | SYN_RECV:接收到一個要求連線的主動連線封包。 | ||
+ | TIME_WAIT:等候對方回應的狀態。 | ||
+ | ESTABLISHED:連線已建立完成的狀態。 | ||
+ | FIN_WAIT1:該插槽服務(socket)已中斷,該連線正在斷線當中。 | ||
+ | FIN_WAIT2:該連線已掛斷,但正在等待對方主機回應斷線確認的封包。 | ||
+ | |||
+ | 在這些欄位中要特別檢視的是 | ||
+ | 『Local Address』欄位內的 port number 以及『State』欄位的 SYN_SENT 這個狀態。 | ||
+ | 若出現大量的連線,port number 呈現連續性(正常的話應為隨機性,不至於出現大量的連續性,除非整個網路只有一部主機連線),並且『State』持續為 SYN_SENT 的狀態時,則可大約判定網路連線是處於異常狀態。 | ||
+ | 找出開啟網路連線的程式 | ||
+ | 2. 取得連線程式的 PID<br> | ||
+ | 以下圖為例,本機port:2981目前與207.46.125.33主機連線已建立完成,PID是3116<br> | ||
+ | [[Image:conn.jpg|圖像:conn.jpg]]<br> | ||
+ | 3. 找出連線程式<br> | ||
+ | 「工作管理員」 -> 「處理程序」頁籤中,查詢PID是3116的影像名稱(程式名稱)<br> | ||
+ | 以下圖為例,PID是3116執行的程式是msnmsgr.exe<br> | ||
+ | [[Image:process.jpg|圖像:process.jpg]]<br> | ||
- | 如果工作管理員中沒列出 PID 欄位,可自行調整顯示欄位設定。 | ||
- | 「工作管理員」 -> 「檢視」 -> | + | 如果「工作管理員」中沒列出 PID 欄位(預設是沒有),可自行調整顯示欄位設定。<br> |
+ | 「工作管理員」 -> 「檢視」 -> 「選擇欄位」 -> 「PID」打勾<br> | ||
+ | [[Image:PID01.jpg|圖像:PID01.jpg]]<br> | ||
+ | <br> | ||
+ | [[Image:PID02.jpg|圖像:PID02.jpg]]<br> | ||
- | [[Category:資訊處]] | + | [[Category:資訊處]] [[Category:圖書資訊處]] [[Category:資訊服務]] |
當前修訂版本
在 Windows 環境下,若發現網路連線明顯的變慢,或網路設備有類似當機情況時,
可下載並執行 TCPView (TCPView 校內下載)這個工具程式,
或者用 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表示處於偵聽狀態,就是說該埠是開放的,等待連接,但還沒有被連接。 『PID』代表連線程式的 PID(Process ID)。
在連線時『State』可能會有以下幾種狀態: LISTENING:偵聽狀態,等待連接。 SYN_SENT:連線初始時,發送封包的狀態。 SYN_RECV:接收到一個要求連線的主動連線封包。 TIME_WAIT:等候對方回應的狀態。 ESTABLISHED:連線已建立完成的狀態。 FIN_WAIT1:該插槽服務(socket)已中斷,該連線正在斷線當中。 FIN_WAIT2:該連線已掛斷,但正在等待對方主機回應斷線確認的封包。
在這些欄位中要特別檢視的是 『Local Address』欄位內的 port number 以及『State』欄位的 SYN_SENT 這個狀態。 若出現大量的連線,port number 呈現連續性(正常的話應為隨機性,不至於出現大量的連續性,除非整個網路只有一部主機連線),並且『State』持續為 SYN_SENT 的狀態時,則可大約判定網路連線是處於異常狀態。 找出開啟網路連線的程式
2. 取得連線程式的 PID
以下圖為例,本機port:2981目前與207.46.125.33主機連線已建立完成,PID是3116
3. 找出連線程式
「工作管理員」 -> 「處理程序」頁籤中,查詢PID是3116的影像名稱(程式名稱)
以下圖為例,PID是3116執行的程式是msnmsgr.exe
如果「工作管理員」中沒列出 PID 欄位(預設是沒有),可自行調整顯示欄位設定。
「工作管理員」 -> 「檢視」 -> 「選擇欄位」 -> 「PID」打勾