老胡的做法
Linux透過埠號看來查詢定位監聽這個埠的程序要使用lsof命令;反之透過程序的PID查詢其佔用的埠號要使用netstat命令。需要注意的是,netstat命令在有些發行版的系統中不是預裝的,如果沒有預裝的話,需要安裝net-tools這個工具包。
lsof本身的功能是檢視開啟某個檔案的程序PID,它有一個選項-i,可以指定一個埠號,根據埠號查詢使用這個埠號的程序PID。例如:
lsof -i:10808
這樣就得到了兩個程序在監聽10808這個埠,一個是PID為4053的chrome,一個是PID為19697的v2ray。
這樣就得到了對應PID的程序的具體情況,包括可執行程式的路徑、啟動的引數、執行的時間、啟動程序的使用者等等。
-i4和-i6兩個命令選項分別指定的是ipv4的埠和ipv6的埠。
不知道哪些程序佔用了哪些埠,可以使用netstat命令來進行檢視。
使用netstat命令時,一般常用l、t、n、p這三個選項的組合。
l代表結果顯示包含被監聽的埠;
t表示結果包含TCP協議的連線;
n代表結果顯示使用ip地址而不是主機名或域名;
p代表結果顯示程式的程序號PID和程式名。
所以,檢視所有程序佔用的埠號就是:
如果只對其中的v2ray程序感興趣,可以加過濾:
這樣就把特定程式所監聽的埠號查詢出來了。
老胡的做法
Linux透過埠號看來查詢定位監聽這個埠的程序要使用lsof命令;反之透過程序的PID查詢其佔用的埠號要使用netstat命令。需要注意的是,netstat命令在有些發行版的系統中不是預裝的,如果沒有預裝的話,需要安裝net-tools這個工具包。
使用lsof快速透過埠定位佔用程序的PIDlsof本身的功能是檢視開啟某個檔案的程序PID,它有一個選項-i,可以指定一個埠號,根據埠號查詢使用這個埠號的程序PID。例如:
lsof -i:10808
這樣就得到了兩個程序在監聽10808這個埠,一個是PID為4053的chrome,一個是PID為19697的v2ray。
ps -aux | grep 程序號這樣就得到了對應PID的程序的具體情況,包括可執行程式的路徑、啟動的引數、執行的時間、啟動程序的使用者等等。
-i4和-i6兩個命令選項分別指定的是ipv4的埠和ipv6的埠。
使用netstat檢視程序佔用的埠號不知道哪些程序佔用了哪些埠,可以使用netstat命令來進行檢視。
使用netstat命令時,一般常用l、t、n、p這三個選項的組合。
l代表結果顯示包含被監聽的埠;
t表示結果包含TCP協議的連線;
n代表結果顯示使用ip地址而不是主機名或域名;
p代表結果顯示程式的程序號PID和程式名。
所以,檢視所有程序佔用的埠號就是:
netstat -lntp如果只對其中的v2ray程序感興趣,可以加過濾:
netstat -lntp|grep v2ray這樣就把特定程式所監聽的埠號查詢出來了。