好用netstat指令

在 windows 下使用 netstat 指令來查詢已開啟的 listen port (-a), 以及已建立的連線 (active connection) 是十分方便的工具. 不過若是要知道該 connection 或 listen port 是由哪個 process 建立的, 在 netstat 指令下是無法達成的, 必須藉由另一個 sysinternals (被 ms 併入了)的 tcpview 工具.

不過, 現在可以不用這麼麻煩了, netstat 工具已經增加了這個功能, 指令是 (-b), 例如:

netstat -nb

可 以找出目前建立 connection 的不解析名稱(即使用ip及port number, -n)的方式, 列出對應的執行檔名稱及 process id (PID), 如此一來, 對於要快速追蹤 active connection 及 listen port 的 process (或執行檔名) 可以更快速的利用指令來取得.

常用的方式如下:

netstat -na

netstat -nab

為什麼使用 -n, 因為可以不用反查 hostname, 直接顯示 ip, 速度較快啦.
另外使用 -b 的功能應該是要在 windows 2003 sp2 及以上, windows xp sp3, windows vista 以上才有.

以下為 netstat 的指令功能列表:

顯示通訊協定統計資料以及目前的 TCP/IP 網路連線。

 

NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-t] [-v] [interval]

 

-a 顯示所有連線以及接聽連接埠。
-b 顯示關於建立各連線或接聽連接埠的可執行檔。某些情況下是知名的可執行主機多重獨立元件,在這些情況下則會顯示關於建立連線或接聽連接埠的元件組合。在此 狀況下,可執行檔的名稱顯示於底部的 [] 中,而其呼叫的元件則顯示於頂端,直到取得 TCP/IP 為止。請注意,這個選項可能需要很多時間而且可能會失敗,除非您有足夠的權限。
-e 顯示乙太網路統計資料。這可結合 -s該選項。
-n 以數字形式顯示位址與連接埠號。
-o 顯示與各連線有關之所擁有的處理程序。
-p 通訊協定 顯示由通訊協定所指定的通訊協定連線;通訊協定可能為下列其中一種:TCP、UDP、TCPv6 或 UDPv6。如果使用此 -s選項顯示每一個通訊協定統計資料,則通訊協定可能為下列其中一種:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-r 顯示路由表。
-s 顯示每一個通訊協定統計資料。根據預設值,會顯示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計資料;此 -p 選項可用於指定預設子集。
-t 顯示目前的連線卸載狀態。
-v 與 -b 搭配使用時,將顯示關於建立所有可執行檔之連線或接聽連接埠的元件組合。
間隔 重新顯示已選的統計資料,並在每次顯示的間隔暫停數秒。按下 CTRL+C 以停止顯示統計資料。如果省略此步,則 netstat 將列印目前的組態資訊。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *