Linux下查看正在使用的端口


一、使用 netstat 檢查端口

netstat 是一個命令行工具,可以提供有關網絡連接的信息。

要列出正在偵聽的所有 TCP 或 UDP 端口,包括使用端口和套接字狀態的服務,請使用以下命令:
netstat -tunlp

此命令中使用的選項具有以下含義:

-t - 顯示 TCP 端口。
-u - 顯示 UDP 端口。
-n - 顯示數字地址而不是主機名。
-l - 僅顯示偵聽端口。
-p - 顯示進程的 PID 和名稱。僅當您以 root 或 sudo 用戶身份運行命令時,才會顯示此信息。

查詢指定端口通過grep過濾:
netstat -tnlp | grep :80

顯示示例:

注:
Proto - 套接字使用的協議。
Local Address - 進程偵聽的 IP 地址和端口號。
PID/Program name - PID 和進程名稱。

二、使用 ss 檢查端口

ss 是新的 netstat,命令選項大致相同。它缺少一些 netstat 功能,但暴露了更多的 TCP 狀態,而且速度稍快。

使用示例:ss -tunlp

三、使用 lsof 檢查端口

lsof 是一個功能強大的命令行實用程序,它提供有關進程打開的文件的信息。

在 Linux 中,一切都是文件,可以將套接字視為寫入網絡的文件。

要使用 lsof 獲取所有偵聽 TCP 端口的列表:
lsof -nP -iTCP -sTCP:LISTEN

使用的選項如下:
-n - 不要將端口號轉換為端口名稱。
-p - 不要解析主機名,顯示數字地址。
-iTCP -sTCP:LISTEN - 僅顯示 TCP 協議狀態為 LISTEN 的網絡文件。

使用示例:

要查找正在偵聽特定端口(例如 3306)的進程,請使用以下命令:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN

本文轉載自:https://www.linuxidc.com/Linux/2019-08/160085.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM