Mac的netstat和lsof使用
1.使用netstat命令,用來顯示各種網路資訊,比如網路連線、埠號、協議、狀態、程序ID等資訊;
使用lsof命令,用來顯示當前系統開啟檔案的資訊,因為包括埠和網路狀態在linux和mac中都屬於檔案,所以系統也為它們分配了檔案描述法fd。
2.在Linux上面使用的方法通常為:netstat -nltp,引數含義為:查詢TCP協議寫Listen的資訊
-a (all)顯示所有選項,預設不顯示LISTEN相關
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數字的全部轉化成數字。
-l 僅列出有在 Listen (監聽) 的服務狀態
-p 顯示建立相關連結的程式名
-r 顯示路由資訊,路由表
-e 顯示擴充套件資訊,例如uid等
-s 按各個協議進行統計
-c 每隔一個固定時間,執行該netstat命令
3.但是在Mac上執行該命令,會報如下的錯誤:
netstat: option requires an argument -- p
Usage: netstat [-AaLlnW] [-f address_family | -p protocol]
netstat [-gilns] [-f address_family]
netstat -i | -I interface [-w wait] [-abdgRtS]
netstat -s [-s] [-f address_family | -p protocol] [-w wait]
netstat -i | -I interface -s [-f address_family | -p protocol]
netstat -m [-m]
netstat -r [-Aaln] [-f address_family]
netstat -rs [-s]
4.在Mac上正確使用的方法是:即-f需要加上地址族,-p需要加上協議TCP或者UDP等
netstat [-AaLlnW] [-f address_family | -p protocol]
netstat [-gilns] [-v] [-f address_family] [-I interface]
netstat -i | -I interface [-w wait] [-c queue] [-abdgqRtS]
netstat -s [-s] [-f address_family | -p protocol] [-w wait]
netstat -i | -I interface -s [-f address_family | -p protocol]
netstat -m [-m]
netstat -r [-Aaln] [-f address_family]
netstat -rs [-s]
a)如果需要查詢inet,netstat -anvf inet
b)如果需要查詢TCP, netstat -anvp tcp
b)如果需要查詢UDP,netstat -anvp udp
5.lsof用法
lsof輸出各列的資訊的意義如下:
command、pid、user 用來標識程序的名稱、ID、擁有者
fd檔案描述符file description,應用程式通過檔案描述符來識別該檔案
type、size、name,檔案型別、大小、檔案的確切名稱
device 磁碟的名稱,
node 索引節點,該檔案在磁碟上的標識
6. lsof -i:8080 檢視8080埠的使用情況
lsof -i4TCP:8080, 檢視8080埠的TCP情況