使用 netstat 檢查端口
netstat 是一個命令行工具,可以提供有關網絡連接的信息。
netstat - atulnp會顯示所有端口和所有對應的程序,用grep管道可以過濾出想要的字段
-a :all,表示列出所有的連接,服務監聽,Socket資料
-t :tcp,列出tcp協議的服務
-u :udp,列出udp協議的服務
-n :port number, 用端口號來顯示
-l :listening,列出當前監聽服務
-p :program,列出服務程序的PID
Proto :網絡傳輸協議,主要為tcp和udpLocal Address :本地的ip:portForeign Address:遠程主機的ip:portState :連線狀態,主要有監聽( LISTEN )和建立(ESTABLISED)PID :服務的進程編號Program name:服務名稱
netstat 命令示例示例
顯示所有已開放端口,請使用以下命令:
netstat -anp
要列出正在偵聽的所有 TCP 或 UDP 端口,包括使用端口和套接字狀態的服務
請使用以下命令:
netstat -tunlp
此命令中使用的選項具有以下含義:
-t – 顯示 TCP 端口。-u – 顯示 UDP 端口。-n – 顯示數字地址而不是主機名。-l – 僅顯示偵聽端口。-p – 顯示進程的 PID 和名稱。僅當您以 root 或 sudo 用戶身份運行命令時,才會顯示此信息。
通過以上兩種方式查詢到服務的PID號
通過ps命令查詢對應的服務
ps -ef |grep 87254
查詢指定端口通過grep過濾:
netstat -tnlp | grep :80
注:Proto – 套接字使用的協議。Local Address – 進程偵聽的 IP 地址和端口號。PID/Program name – PID 和進程名稱。
使用 lsof 檢查端口
lsof 是一個功能強大的命令行實用程序,它提供有關進程打開的文件的信息。
在 Linux 中,一切都是文件,可以將套接字視為寫入網絡的文件。
要使用 lsof 獲取所有偵聽 TCP 端口的列表:lsof -nP -iTCP -sTCP:LISTEN
使用的選項如下:-n – 不要將端口號轉換為端口名稱。-p – 不要解析主機名,顯示數字地址。-iTCP -sTCP:LISTEN – 僅顯示 TCP 協議狀態為 LISTEN 的網絡文件。
使用 lsof 命令
lsof -i:端口號 用于查看某一端口的占用情況,比如查看9092端口使用情況
lsof -i:9095
可以看到9095端口已經被nginx占用
lsof -i:22220
查看網絡
查看網絡IPip a #查看當前網絡