找出開啟網路連線的程式

出自KMU Wiki

(修訂版本間差異)
跳轉到: 導航, 搜索
在2011年10月27日 (四) 10:58所做的修訂版本 (編輯)
Lisachang (對話 | 貢獻)

←上一個
當前修訂版本 (2016年12月20日 (二) 10:26) (編輯) (撤銷)
Ykk (對話 | 貢獻)

 
(19個中途的修訂版本沒有顯示。)
第1行: 第1行:
-在 Windows 環境下,若發現網路連線明顯的變慢,或網路設備有類似當機情況時,<br>+在 Windows 環境下,若發現網路連線明顯的變慢,或網路設備有類似當機情況時,
-可使用「netstat」指令配合「工作管理員」找出開啟網路連線的程式,<br>+ 
-來檢測及排除網路連線是否異常的狀況。<br>+可下載並執行 [http://technet.microsoft.com/en-us/sysinternals/bb897437 TCPView] ([http://fs.kmu.edu.tw/tools/TCPView.zip TCPView 校內下載])這個工具程式,
 + 
 +或者用 Windows 內建的「netstat」指令配合「工作管理員」找出開啟網路連線的程式,
 + 
 +來檢測及排除網路連線是否異常的狀況。
 + 
檢測步驟如下:<br> 檢測步驟如下:<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)是一個可以查詢本機網路和外界網路連線的指令, netstat(network statistics)是一個可以查詢本機網路和外界網路連線的指令,
可以透過這個指令瞭解電腦連線的狀況,也可得知有沒有奇怪的連線。 可以透過這個指令瞭解電腦連線的狀況,也可得知有沒有奇怪的連線。
參數 a 表示列出所有連線中或listening的連線; 參數 a 表示列出所有連線中或listening的連線;
n 表示使用數字形態列出,亦即 http 會以 80 顯示,ftp 會以 21 顯示…; n 表示使用數字形態列出,亦即 http 會以 80 顯示,ftp 會以 21 顯示…;
- o 則為列出該程式的 PID+ o 則為列出該連線程式的 PID(Process ID)
- 當網路是連線狀態時,會出現以下資訊+當網路是連線狀態時,會出現以下資訊
 +[[Image:conn1.jpg|圖像:conn1.jpg]]<br>
- 在連線時『State』欄位可能會有以下幾種狀態:+ 『Proto』代表協議,有TCP和UDP兩種協議。
 + 『Local Address』代表本機地址,該位址冒號後的數字就是開放的埠號。
 + 『Foreign Address』代表遠端地址,如果和其他機器正在連線,顯示的就是對方的位址。
 + 『State』代表狀態,如果顯示LISTENING表示處於偵聽狀態,就是說該埠是開放的,等待連接,但還沒有被連接。
 + 『PID』代表連線程式的 PID(Process ID)。
 + 
 + 在連線時『State』可能會有以下幾種狀態:
 + LISTENING:偵聽狀態,等待連接。
SYN_SENT:連線初始時,發送封包的狀態。 SYN_SENT:連線初始時,發送封包的狀態。
 + SYN_RECV:接收到一個要求連線的主動連線封包。
TIME_WAIT:等候對方回應的狀態。 TIME_WAIT:等候對方回應的狀態。
ESTABLISHED:連線已建立完成的狀態。 ESTABLISHED:連線已建立完成的狀態。
 + FIN_WAIT1:該插槽服務(socket)已中斷,該連線正在斷線當中。
 + FIN_WAIT2:該連線已掛斷,但正在等待對方主機回應斷線確認的封包。
在這些欄位中要特別檢視的是 在這些欄位中要特別檢視的是
『Local Address』欄位內的 port number 以及『State』欄位的 SYN_SENT 這個狀態。 『Local Address』欄位內的 port number 以及『State』欄位的 SYN_SENT 這個狀態。
若出現大量的連線,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」打勾+如果「工作管理員」中沒列出 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
圖像:netstat.jpg

 XP:按「開始」後,在「執行」的位置上鍵入cmd,再按「ENTER」,您便會得到一個「命令提示字元」視窗。  
 Vista:按「開始」後,在「搜尋」的位置上鍵入cmd,再按「ENTER」,您便會得到一個「命令提示字元」視窗。
 netstat(network statistics)是一個可以查詢本機網路和外界網路連線的指令,
 可以透過這個指令瞭解電腦連線的狀況,也可得知有沒有奇怪的連線。
 參數 a 表示列出所有連線中或listening的連線;
      n 表示使用數字形態列出,亦即 http 會以 80 顯示,ftp 會以 21 顯示…;
      o 則為列出該連線程式的 PID(Process ID)

當網路是連線狀態時,會出現以下資訊 圖像:conn1.jpg

『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
圖像:conn.jpg

3. 找出連線程式
「工作管理員」 -> 「處理程序」頁籤中,查詢PID是3116的影像名稱(程式名稱)
以下圖為例,PID是3116執行的程式是msnmsgr.exe
圖像:process.jpg


如果「工作管理員」中沒列出 PID 欄位(預設是沒有),可自行調整顯示欄位設定。
「工作管理員」 -> 「檢視」 -> 「選擇欄位」 -> 「PID」打勾
圖像:PID01.jpg

圖像:PID02.jpg