windows系統port監聽

weixin_34119545發表於2016-01-31

通常情況下。假設想發現全部已經使用的和正在監聽的port,我們能夠使用netstat命令。 netstat並不是一個port掃描工具。假設你想掃描計算機開放了哪些port的話。建議使用本文介紹的方法。

Netstat命令基礎

Netstat命令主要用於顯示協議統計資訊和當前 TCP/IP 網路連線。

其格式例如以下:

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

以下簡單說明各個引數的含義:

-a 顯示全部連線和監聽port。

-b 顯示包括於建立每一個連線或監聽port的可執行元件。在某些情況下已知可執行元件擁有多個獨立元件,而且在這些情況下包括於建立連線或監聽port的元件序列被顯示。這樣的情況下,可執行元件名在底部的 [] 中。頂部是其呼叫的元件。等等。直到 TCP/IP 部分。注意此選項可能須要非常長時間,假設沒有足夠許可權可能失敗。

-e 顯示乙太網統計資訊。

此選項能夠與 -s選項組合使用。

-n 以數字形式顯示地址和port號。

-o 顯示與每一個連線相關的所屬程式 ID。

-p proto 顯示 proto 指定的協議的連線;proto 能夠是下列協議之中的一個: TCP、UDP、TCPv6 或UDPv6。

假設與 -s 選項一起使用以顯示按協議統計資訊,proto 能夠是下列協議之中的一個: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。

-r 顯示路由表。

-s  顯示按協議統計資訊。

預設地,顯示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計資訊;-p 選項用於指定預設情況的子集。

-v 與 -b 選項一起使用時將顯示包括於為全部可執行元件建立連線或監聽port的元件。

interval 又一次顯示選定統計資訊,每次顯示之間暫停時間間隔(以秒計)。

按 CTRL+C 停止又一次顯示統計資訊。

假設省略。netstat 顯示當前配置資訊(僅僅顯示一次)。

使用Netstat發現計算機上的監聽或開放port

開啟命令提示符窗體,並鍵入:

 

C:/WINDOWS>netstat -an |find /i "listening"

假設使用者想要將顯示結果存到一個檔案裡(一般是文字檔案),以備日後參考,能夠使用重定向命令,如“>”或“>>”:

 

netstat -an |find /i "listening" > c:/openports.txt

我們能夠將“listening”改為“established”,檢視一下計算機究竟通過哪些port通訊:

 

C:/WINDOWS>netstat -an |find /i "established"

注意:在Windows XP和Windows Server2003中,假設使用者要得到與每一個連線相關的全部自有程式的ID列表,能夠輸入執行“NETSTAT -O”:

 

C:/WINDOWS>netstat -ao |find /i "listening"
TCP   pro1:epmap   pro1.dpetri.net:0   LISTENING   860
TCP   pro1:microsoft-ds   pro1.dpetri.net:0   LISTENING   4
TCP   pro1:1025   pro1.dpetri.net:0   LISTENING   908
TCP   pro1:1084   pro1.dpetri.net:0   LISTENING   596
TCP   pro1:2094   pro1.dpetri.net:0   LISTENING   596
TCP   pro1:3389   pro1.dpetri.net:0   LISTENING   908
TCP   pro1:5000   pro1.dpetri.net:0   LISTENING   1068

使用者能夠訪問http://www.petri.co.il/download_free_reskit_tools.htm.

使用PULIST來找到PID和使用它的程式。

比如,我們可能會發現計算機在TCPport80上有一個與遠端IP地址的連線,可是計算機上並沒有開啟Internet Explorer或其他的瀏覽器窗體。為了檢視究竟是什麼程式在使用

這個會話,我們使用例如以下的命令:

 

C:/WINDOWS>netstat -no
Active Connections
Proto Local Address Foreign Address State PID
TCP   192.168.0.100:2496   212.179.4.7:80   ESTABLISHED   1536

然後使用帶有“FIND”引數的“PULIST”命令:

 

C:/WINDOWS>pulist |find /i "1536"
Process   PID   User
LUCOMS~1.EXE   1536   DPETRI/danielp

能夠看出, DANIELP在執行著 LUCOMS~1.EXE,這是Symantec Live Update程式。

要檢視全部開啟的、已建立的、關閉的以及使用的port,能夠使用例如以下的命令:

 

C:/WINDOWS>netstat -a

在Windows XP或2003中,我們能夠使用-o開關:

 

C:/WINDOWS>netstat -ao

相關文章