Linux下查看端口被哪個程序佔用

Linux如何查看端口被哪個進程佔用的方法,使用工具lsof,netstat:

1.lsof -i: 端口號

lsof命令用於查看你進程開打的文件,打開文件的進程,進程打開的端口(TCP、UDP)。找回/恢復刪除的文件。是十分方便的系統監視工具,因爲lsof命令需要訪問核心內存和各種文件,所以需要root用戶執行。

如果系統沒有lsof工具,可以通過yum安裝之。

yum install lsof

選項:

-a:列出打開文件存在的進程; 
-c<進程名>:列出指定進程所打開的文件; 
-g:列出GID號進程詳情; 
-d<文件號>:列出佔用該文件號的進程; 
+d<目錄>:列出目錄下被打開的文件; 
+D<目錄>:遞歸列出目錄下被打開的文件; 
-n<目錄>:列出使用NFS的文件; 
-i<條件>:列出符合條件的進程。(4、6、協議、:端口、 @ip ) 
-p<進程號>:列出指定進程號所打開的文件; 
-u:列出UID號進程詳情; 
-h:顯示幫助信息; 
-v:顯示版本信息。
例:
VM_170_176_sles10_64:~ # lsof -i:3306 
COMMAND  PID USER   FD   TYPE   DEVICE SIZE NODE NAME
mysqld  5103 root   13u  IPv4 28776382       TCP *:mysql (LISTEN)

 2. netstat -tunlp | grep 端口號

netstat命令用來打印Linux中網絡系統的狀態信息,可讓你得知整個Linux系統的網絡情況。

選項:

-a或--all:顯示所有連線中的Socket; 
-A<網絡類型>或--<網絡類型>:列出該網絡類型連線中的相關地址; 
-c或--continuous:持續列出網絡狀態; 
-C或--cache:顯示路由器配置的快取信息; 
-e或--extend:顯示網絡其他相關信息; 
-F或--fib:顯示FIB; 
-g或--groups:顯示多重廣播功能羣組組員名單; 
-h或--help:在線幫助; 
-i或--interfaces:顯示網絡界面信息表單; 
-l或--listening:顯示監控中的服務器的Socket; 
-M或--masquerade:顯示僞裝的網絡連線; 
-n或--numeric:直接使用ip地址,而不通過域名服務器; 
-N或--netlink或--symbolic:顯示網絡硬件外圍設備的符號連接名稱; 
-o或--timers:顯示計時器; 
-p或--programs:顯示正在使用Socket的程序識別碼和程序名稱; 
-r或--route:顯示Routing Table; 
-s或--statistice:顯示網絡工作信息統計表; 
-t或--tcp:顯示TCP傳輸協議的連線狀況; 
-u或--udp:顯示UDP傳輸協議的連線狀況; 
-v或--verbose:顯示指令執行過程; 
-V或--version:顯示版本信息; 
-w或--raw:顯示RAW傳輸協議的連線狀況; 
-x或--unix:此參數的效果和指定"-A unix"參數相同; 
--ip或--inet:此參數的效果和指定"-A inet"參數相同。
例:
VM_170_176_sles10_64:~ # netstat -tunlp | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      5103/mysqld


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章