1. 程式人生 > >netstat命令各個引數含義 與 lsof 檢視程序指令的區別

netstat命令各個引數含義 與 lsof 檢視程序指令的區別

netstat命令各個引數說明如下:

  -t : 指明顯示TCP埠

       -a : 顯示所有socket(套接字),包括正在監聽的(LISTEN)

  -u : 指明顯示UDP埠

  -l : 僅顯示監聽套接字(所謂套接字就是使應用程式能夠讀寫與收發通訊協議(protocol)與資料的程式)

  -p : 顯示程序識別符號和程式名稱,每一個套接字/埠都屬於一個程式。

  -n : 不進行DNS輪詢,顯示IP(可以加速操作)

即可顯示當前伺服器上所有埠及程序服務,於grep結合可檢視某個具體埠及服務情況··

netstat -ntlp   //檢視當前所有tcp埠·

netstat -ntulp |grep 80   //檢視所有80埠使用情況·

netstat -an | grep 3306   //檢視所有3306埠使用情況·

檢視一臺伺服器上面哪些服務及埠

netstat  -lanp

檢視一個服務有幾個埠。比如要檢視mysqld

ps -ef |grep mysqld

檢視某一埠的連線數量,比如3306埠

netstat -pnt |grep :3306 |wc

檢視某一埠的連線客戶端IP 比如3306埠

netstat -anp |grep 3306

所以 netstat  顯示各種網路詳細資訊。 如TCP UDP 路由器等相關資訊

lsof命令:

先要理解 在LInux環境下, 任何事物都以檔案的形式存在,通過檔案不僅僅可以訪問常規資料,還可以訪問網路連線和硬體。所以如傳輸控制協議 (TCP) 和使用者資料報協議 (UDP) 套接字等,系統在後臺都為該應用程式分配了一個檔案描述符,無論這個檔案的本質如何,該檔案描述符為應用程式與基礎作業系統之間的互動提供了通用介面。因為應用程式開啟檔案的描述符列表提供了大量關於這個應用程式本身的資訊,因此通過lsof工具能夠檢視這個列表對系統監測以及排錯將是很有幫助的。

lsof(list open files)是一個列出當前系統開啟檔案的工具

netstat -p 顯示PID, 可以和別的引數合併使用 netstat -pt

lsof

lsof filename 顯示開啟指定檔案的所有程序

lsof -u username 顯示所屬user程序開啟的檔案

lsof -i 用以顯示符合條件的程序情況

綜合:

根據埠port查程序

   netstat -nap | grep port
 lsof  -i:port   使用lsof -i :port就能看見所指定埠執行的程式,同時還有當前連線

根據程序pid查埠

 netstat -nap | grep pid
 lsof -i | grep pid

netstat -an 檢視網路埠  
nmap 埠掃描
netstat -nupl  (UDP型別的埠)
netstat -ntpl  (TCP型別的埠)
netstat -anp 顯示系統埠使用情況