windows下查找指定端口被哪個程序占用


在Windows環境下,用netstat命令查看某個端口號是否占用,為哪個進程所占用.

eg、查看端口號為61078被哪個程序占用

1、查看端口號為61079被哪個PID所占用:Netstat –ano|findstr “<端口號>”

 

wKiom1Zi5B3CFyDoAABXe83umGg876.png

從結果中可以找到端口61078被PID為5576的進程占用

2、通過該PID查找對應的進程名稱

wKiom1Zi5QDwS6QXAABXQ_eZh0E895.png

從結果中可以判斷PID為5576的進程名為YoukuMediaCenter.exe

3、通過用任務管理器查看找到該進程的安裝目錄

wKioL1Zi5jixqg3OAACOz84jTBg034.png

wKiom1Zi5geyYMJUAAFtAOD9t2c644.png

 

 

 

擴展

netatat命令

Netstat用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。

常見參數

-a (all)顯示所有選項,默認不顯示LISTEN相關

-t (tcp)僅顯示tcp相關選項

-u (udp)僅顯示udp相關選項

-o 顯示與每個連接相關的所屬進程PID

-n 拒絕顯示別名,能顯示數字的全部轉化成數字。

-l 僅列出有在 Listen (監聽) 的服務狀態

-p 顯示建立相關鏈接的程序名

-r 顯示路由信息,路由表

-e 顯示擴展信息,例如uid等

-s 按各個協議進行統計

-c 每隔一個固定時間,執行該netstat命令。

提示:LISTEN和LISTENING的狀態只有用-a或者-l才能看到

 

網絡連接狀態

1)、LISTEN:首先服務端需要打開一個socket進行監聽, 偵聽來自遠方TCP端口的連接請求 

2)、 SYN_SENT:客戶端通過應用程序調用connect進行active open.於是客戶端tcp發送一個SYN以請求建立一個連接.之后狀態置為SYN_SENT. 在發送連接請求后等待匹配的連接請求 

3)、 SYN_RECV:服務端應發出ACK確認客戶端的 SYN,同時自己向客戶端發送一個SYN. 之后狀態置為SYN_RECV,在收到和發送一個連接請求后等待對連接請求的確認 

4)、ESTABLISHED: 代表一個打開的連接,雙方可以進行或已經在數據交互了,數據可以傳送給用戶 

5)、 FIN_WAIT1:主動關閉(active close)端應用程序調用close,於是其TCP發出FIN請求主動關閉連接,之后進入FIN_WAIT1狀態.等待遠程TCP的連接中斷請求,或先前的連接中斷請求的確認 

6)、CLOSE_WAIT:被動關閉(passive close)端TCP接到FIN后,就發出ACK以回應FIN請求(它的接收也作為文件結束符傳遞給上層應用程序),並進入CLOSE_WAIT. 等待從本地用戶發來的連接中斷請求 

7)、FIN_WAIT2:主動關閉端接到ACK后,就進入了 FIN-WAIT-2 . 從遠程TCP等待連接中斷請求 

8)、LAST_ACK:被動關閉端一段時間后,接收到文件結束符的應用程 序將調用CLOSE關閉連接。這導致它的TCP也發送一個 FIN,等待對方的ACK.就進入了LAST-ACK . 等待原來發向遠程TCP的連接中斷請求的確認 

9)、TIME_WAIT:在主動關閉端接收到FIN后,TCP 就發送ACK包,並進入TIME-WAIT狀態。等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認 

10)、CLOSING: 比較少見.等待遠程TCP對連接中斷的確認 

11)、CLOSED: 被動關閉端在接受到ACK包后,就進入了closed的狀態。連接結束. 沒有任何連接狀態 

12)、UNKNOWN: 未知的Socket狀態。

 

tasklist命令

“Tasklist”命令是一個用來顯示運行在本地或遠程計算機上的所有進程的命令行工具,帶有多個執行參數,默認顯示所有進程

wKiom1Z_TqyyOB4HAAA4bkkPj10176.png

參數

/S      system            指定連接到的遠程系統。

/U      [domain\]user     指定使用哪個用戶執行這個命令。

/P      [password]        為指定的用戶指定密碼。

(使用tasklist命令查看遠程系統的進程時,需要遠程機器的RPC 服務器的支持,否則,該命令就不能正常使用)

wKiom1Z_T-jQ_RhKAAAk0uvjzvE589.png

/M      [module]          列出調用指定的 DLL 模塊的所有進程,如果沒有指定模塊名,顯示每個進程加載的所有模塊。

/SVC                     顯示每個進程中的服務。

wKiom1Z_UGnj-6AlAAA1x-xe6Tc322.png

/V                       指定要顯示詳述信息。

/FI     filter            顯示一系列符合篩選器指定的進程。

wKiom1Z_UxahVJRDAAAqA2634pg234.jpglt (小於),

le (小於等於),

gt (大於),

ge (大於等於),

eq (等於),

ne (不等於)

 

 

 

 

 

 

 

wKioL1Z_U2-RQV_vAACCfTDs7v8449.png

列出了系統中正在運行的非“justin”用戶狀態的所有進程。

 

taskkill

taskkill是用來終止進程的

參數列表:    

/S    system           指定要連接到的遠程系統。    

/U    [domain\]user    指定應該在哪個用戶上下文                           執行這個命令。    

/P    [password]       為提供的用戶上下文指定密碼。如果忽略,提示輸入。  

/F                     指定要強行終止進程。    

/FI   filter           指定篩選進或篩選出查詢的                           的任務。    

/PID  process id       指定要終止的進程的PID。    

/IM   image name       指定要終止的進程的圖像名。通配符 '*'可用來指定所有圖像名。    

/T                     Tree kill: 終止指定的進程和任何由此啟動的子進程。 

/?                     顯示幫助/用法。

wKiom1Z_VjywaMKqAAAcMZMtLE8305.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM