1. lsof命令
功能:列出開啟的檔案
常用選項:
-i [i] 監聽的網路位址,如果沒有指定,預設列出所有。
[i]來自[46][protocol][@hostname|hostaddr][:service|port]
-u 列出unix域socket檔案
-p 指定pid
-u 指定使用者名稱或uid所有開啟的檔案
+d 遞迴搜尋
例項:
列出所有開啟的檔案: # lsof檢視哪個程序占用檔案: # lsof /etc/passwd
列出80埠監聽的程序: # lsof -i:80
列出埠1-1024之間的所有程序:
# lsof -i:1-1024
列出所有tcp網路連線: # lsof -i tcp
列出所有udp網路連線: # lsof -i udp
根據檔案描述符列出開啟的檔案: # lsof -d 1
列出某個目錄被開啟的檔案: # lsof +d /var/log
列出程序id開啟的檔案: # lsof -p 5373
開啟所有登入使用者名稱abc或user id 1234,或pid 123或pid 456: # lsof -p 123,456 -u 123,abc
列出command列中包含字串sshd: # lsof -c sshd
2. netstat命令
功能:列印網路連線、路由表、介面統計資訊、偽裝連線和多播成員
常用選項:
-r 顯示路由表
-i 顯示介面表
-n 不解析名字
-p 顯示程式名 pid/program
-l 顯示監聽的socket
-a 顯示所有socket
-o 顯示計時器
-z 顯示上下文
-t 只顯示tcp連線
-u 只顯示udp連線
-s 顯示每個協議統計資訊
例項:
顯示所有監聽: # netstat -anltu顯示所有tcp連線: # netstat -antp
顯示所有udp連線: # netstat -anup
顯示路由表: # netstat -r
3. ss命令
功能:比netstat更強大的socket檢視工具
格式:ss [options] [ filter ]
常用選項:
-n 不解析名字
-a 顯示所有socket
-l 顯示所有監聽的socket
-o 顯示計時器
-e 顯示socket詳細資訊
-m 顯示socket記憶體使用
-p 顯示程序使用的socket
-i 顯示內部tcp資訊
-s 顯示socket使用彙總
-4 只顯示ipv4的socket
-0 顯示包socket
-t 只顯示tcp socket
-u 只顯示udp socket
-d 只顯示dccp socket
-w 只顯示raw socket
-x 只顯示unix域socket
-f family 只顯示socket族型別( unix, inet, inet6, link, netlink)
-a 查詢socket [,query]
-d 將原始的tcp socket轉儲到檔案
-f 從檔案中讀取過濾資訊
過濾:-o state 顯示tcp連線狀態資訊
例項:
顯示所有tcp連線: # ss -t -a顯示所有udp連線: # ss -u –a
顯示socket使用彙總: # ss -s
顯示所有建立的連線: # ss -o state established
顯示所有的time-wait狀態: # ss -o state time-wait
搜尋所有本地程序連線到x server: # ss -x src /tmp/.x11-unix/*
linux 如何檢視服務和埠
問 我該如何發現哪種服務正在某個特定埠上監聽呢?我如何發現哪乙個程式正在乙個特定埠上監聽呢?答 在 nix系統中,你可以使用下面的任何乙個命令來得到在乙個特定tcp埠上監聽的列表。lsof 其功能是列示開啟的檔案,包括監聽埠。netstat 此命令象徵性地展示各種與網路有關的資料和資訊的內容。lso...
linux如何檢視埠被哪個程序占用?
1 lsof i 埠號 2 netstat tunlp grep 埠號 都可以檢視指定埠被哪個程序占用的情況 步驟一 lsof i lsof i 用以顯示符合條件的程序情況,lsof list open files 是乙個列出當前系統開啟檔案的工具。以root使用者來執行lsof i命令,如下圖 步...
linux如何檢視埠被哪個程序占用?
1 lsof i 埠號 2 netstat tunlp grep 埠號 都可以檢視指定埠被哪個程序占用的情況 首先進入控制台 步驟一 lsof i lsof i 用以顯示符合條件的程序情況,lsof list open files 是乙個列出當前系統開啟檔案的工具。以root使用者來執行lsof i...