檢查端口對於查看哪些端口已打開並在您的系統上偵聽非常重要。監聽服務可以成為黑客的切入點,他們可以利用系統漏洞來訪問或破壞您的系統。如果您不使用該服務,我們不建議您繼續運行。它還消耗額外的資源。因此,您應該不斷檢查系統上的開放端口。
本文介紹瞭如何使用四種不同的方法檢查 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 是開放的。
筆記如果您在 ss 命令中使用 -p 或 –processes 選項,則您必須是 root 或具有 sudo 權限。否則,您將無法看到端口上運行的進程的進程標識號 (PID)。
使用 netstat 命令檢查開放端口
Linux Netstat 命令提供有關當前網絡連接和統計信息的信息。 Netstat 具有與 ss 命令幾乎相同的命令選項。 您必須安裝 net-tools 才能使用 netstat 命令。為此,請在終端中發出以下命令:
$ 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 系統上的開放端口。我們希望您喜歡這篇文章。