下面整理、總結了(Windows平台下)如何查看服務器端口信息的一些方法和工具。
1:tcpview工具查看端口
使用tcpview利器查看端口信息,這個工具不僅能顯示當前服務器的端口(Local Port),還能看到一個TCP連接的遠程端口號等信息。
2:”資源監視器”查看端口
運行資源管理器的方式多種多樣,下面列舉了常用的三種方式:
1:在“菜單” → “所有程序” → “附件” → “系統工具” → “資源監視器”
英文系統對應的操作如下:
Start menu → All Programs → Accessories → System Tools → Resource Monitor
2:Windows + R 運行resmon.exe命令啟動“資源監視器”。
3:Windows任務管理器中點擊“資源監視器”
如下截圖所示,在“資源監視器”里面,你會找到“偵聽端口”面板,你會找到對應的程序名、進程號、協議、防火牆狀態,地址、端口。信息比較詳細,定期刷新。也能清晰的看到防火牆是否限制該端口號。另外也可以按某些指標排序。不足之處也比較明顯:搜索定位比較麻煩,歸納統計比較麻煩。
3:命令netstat查看端口
netsta命令非常強大,可以用顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。netstat是在內核中訪問網絡及相關信息的程序,它能提供TCP連接,TCP和UDP監聽,進程內存管理的相關報告。
查看netstat命令的幫助信息:
C:\Users>netstat --help
顯示協議統計和當前 TCP/IP 網絡連接。
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]
-a 顯示所有連接和偵聽端口。
-b 顯示在創建每個連接或偵聽端口時涉及的可執行程序。
在某些情況下,已知可執行程序承載多個獨立的
組件,這些情況下,顯示創建連接或偵聽端口時涉
及的組件序列。此情況下,可執行程序的名稱
位於底部[]中,它調用的組件位於頂部,直至達
到 TCP/IP。注意,此選項可能很耗時,並且在您沒有
足夠權限時可能失敗。
-e 顯示以太網統計。此選項可以與 -s 選項結合使用。
-f 顯示外部地址的完全限定域名(FQDN)。
-n 以數字形式顯示地址和端口號。
-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 選項可用於指定默認的子網。
-t 顯示當前連接卸載狀態。
interval 重新顯示選定的統計,各個顯示間暫停的間隔秒數。
按 CTRL+C 停止重新顯示統計。如果省略,則 netstat
將打印當前的配置信息一次。
注意:Windows下的netstat的命令跟Linux下的netstat命令的參數有所區別,最好查看命令的幫助信息。
一些netstat命令的例子,nestat命令的強大之處在於靈活多變,可以滿足各種場景。
查看所有監聽的端口
C:\Users>netstat -aon | find /i "listening"
C:\Users>netstat -ano | findstr ":139"
TCP 192.168.103.63:139 0.0.0.0:0 LISTENING 4
C:\Users>netstat -aon | find /i "listening" | find "445"
TCP 192.168.103.63:139 0.0.0.0:0 LISTENING 4
C:\Users>
顯示UDP端口號的使用情況:
C:\Users>netstat -a -p UDP
其中find命令的幫助信息如下:
C:\Users>find /?
在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V 顯示所有未包含指定字符串的行。
/C 僅顯示包含字符串的行數。
/N 顯示行號。
/I 搜索字符串時忽略大小寫。
/OFF[LINE] 不要跳過具有脫機屬性集的文件。
"string" 指定要搜索的文本字符串。
[drive:][path]filename
指定要搜索的文件。
如果沒有指定路徑,FIND 將搜索在提示符處鍵入
的文本或者由另一命令產生的文本。
其中finstr命令的幫助信息如下:
C:\Users>findstr /?
在文件中尋找字符串。
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
[/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
strings [[drive:][path]filename[ ...]]
/B 在一行的開始配對模式。
/E 在一行的結尾配對模式。
/L 按字使用搜索字符串。
/R 將搜索字符串作為一般表達式使用。
/S 在當前目錄和所有子目錄中搜索匹配文件。
/I 指定搜索不分大小寫。
/X 打印完全匹配的行。
/V 只打印不包含匹配的行。
/N 在匹配的每行前打印行數。
/M 如果文件含有匹配項,只打印其文件名。
/O 在每個匹配行前打印字符偏移量。
/P 忽略有不可打印字符的文件。
/OFF[LINE] 不跳過帶有脫機屬性集的文件。
/A:attr 指定有十六進位數字的顏色屬性。請見 "color /?"
/F:file 從指定文件讀文件列表 (/ 代表控制台)。
/C:string 使用指定字符串作為文字搜索字符串。
/G:file 從指定的文件獲得搜索字符串。 (/ 代表控制台)。
/D:dir 查找以分號為分隔符的目錄列表
strings 要查找的文字。
[drive:][path]filename
指定要查找的文件。
除非參數有 /C 前綴,請使用空格隔開搜索字符串。
例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中尋找 "hello" 或
"there"。'FINDSTR /C:"hello there" x.y' 文件 x.y 尋找
"hello there"。
一般表達式的快速參考:
. 通配符: 任何字符
* 重復: 以前字符或類出現零或零以上次數
^ 行位置: 行的開始
$ 行位置: 行的終點
[class] 字符類: 任何在字符集中的字符
[^class] 補字符類: 任何不在字符集中的字符
[x-y] 范圍: 在指定范圍內的任何字符
\x Escape: 元字符 x 的文字用法
\<xyz 字位置: 字的開始
xyz\> 字位置: 字的結束
有關 FINDSTR 常見表達法的詳細情況,請見聯機命令參考。
參考資料: