檢查端口對於查看哪些端口已打開並在系統上偵聽非常重要。監聽服務可以成為黑客的切入點,他們可以利用系統漏洞來訪問或破壞您的系統。如果您不使用該服務,我們不建議您繼續運行它。它還消耗額外的資源。因此,您應該不斷檢查系統上的開放端口。
本文將向您展示如何使用四種不同的方法檢查 Debian 10 系統上的開放端口。
注意:本文中描述的命令和過程已經在 Debian 10 Buster 系統上進行了測試。
使用 ss 命令檢查開放端口
Linux ss(socket statistics)命令提供有關網絡連接的重要信息,例如開放端口和偵聽套接字。此信息是從 Linux 內核中獲得的。使用不帶任何命令行參數的 ss 命令會顯示有關所有當前連接的詳細信息,而不管狀態如何。 ss 命令取代了 netstat 命令。 ss 命令與 iproute2 軟件包捆綁在一起,可在 Debian 系統上使用。無論如何,如果您在系統上找不到它,您可以輕鬆安裝它。
在 Debian 10 系統上打開終端並發出以下命令:
$ sudo apt install iproute2
要檢查 Debian 系統上的開放端口,請在終端中發出以下命令:
$ sudo ss -tulpn
在哪裡:
- -t,–tcp: 顯示所有 TCP 套接字
- -u,-udp: 顯示所有 udp 套接字
- -l,–監聽: 顯示所有監聽套接字
- -p,過程: 檢查哪個進程正在使用套接字
- -n, – 編號: 如果要顯示端口號而不是服務名稱,請使用此選項
輸出顯示所有偵聽 TCP 和 UDP 連接的列表。
上面的輸出顯示系統上只有端口 22 是開放的。
筆記:您必須是 root 或具有 sudo 權限才能在 ss 命令中使用 -p 或 –processes 選項。否則,您將無法看到端口上運行的進程的進程標識號 (PID)。
使用 netstat 命令檢查開放端口
Linux Netstat 命令提供有關當前網絡連接和統計信息的信息。 Netstat 具有與 ss 命令幾乎相同的命令選項。 要使用 netstat 命令,您需要安裝 net-tools。為此,請在終端中發出以下命令:
$ sudo apt-get install net-tools
安裝後,您可以在 Debian 終端中使用 netstat 命令。
要檢查 Debian 系統上的開放端口,請在此處發出以下命令:
$ sudo netstat –tulnp
在哪裡:
- -t,–tcp: 顯示所有 TCP 套接字
- -u,-udp: 顯示所有 udp 套接字
- -l,–監聽: 顯示所有監聽套接字
- -p,過程: 檢查哪個進程正在使用套接字
- -n, – 編號: 如果要顯示端口號而不是服務名稱,請使用此選項
上面的輸出顯示系統上只有端口 22 是開放的。
筆記: 在 netstat 命令中使用 -p 或 –processes 選項時,您必須是 root 或具有 sudo 權限的用戶。否則,您將無法看到端口上運行的進程的進程標識號 (PID)。
使用 lsof 命令檢查打開的端口
Linux lsof 命令給出了打開文件的列表(因為在 Linux 中一切都是文件,包括設備、目錄、端口等)。 您可以使用 lsof 命令查找有關由各種進程打開的文件的信息。
lsof 命令在 Debian 系統上可用。無論如何,如果您在系統上找不到它,您可以輕鬆地將其安裝在終端中:
$ apt-get install lsof
要查看使用 lsof 偵聽的所有 TCP 端口,請在終端中發出以下命令:
$ sudo lsof -nP -iTCP -sTCP:LISTEN
上面的輸出顯示系統上只有端口 22 是開放的。
使用 Nmap 實用程序檢查打開的端口
Nmap 是一個用於執行系統和網絡掃描的 Linux 命令行實用程序。它主要用於網絡審計和安全掃描。 Linux系統默認不安裝,但可以在終端使用以下命令安裝:
$ sudo apt install nmap
運行上述命令後,系統可能會詢問您是否要繼續安裝。 單擊 y 繼續。之後,安裝將在您的系統上開始。
安裝後,您可以使用 Nmap 檢查系統上的開放端口。為此,請在終端中發出以下命令:
$ sudo nmap –sT –p-65535 ip-address
系統的 IP 地址是 192.168.72.158,所以命令是:
$ sudo nmap –sT –p-65535 192.168.72.158
上面的輸出顯示系統上只有端口 22 是開放的。
就這樣!本文解釋瞭如何檢查 Debian 10 系統上的開放端口。我希望你喜歡這篇文章。