以下是使用端口掃描時(shí)會(huì)發(fā)現(xiàn)的一些常見端口:
端口概況
有很多可用的端口掃描工具,但您也可以使用以下 Linux 命令掃描任何目標(biāo)機(jī)器的開放端口。
開放端口是允許建立完整的 TCP 連接的端口,在這種情況下,端口掃描器已找到響應(yīng)掃描可用的端口并建立連接。
使用 ss 命令掃描開放端口
ss 命令用于轉(zhuǎn)儲(chǔ)套接字統(tǒng)計(jì)信息并以與 netstat 類似的方式顯示信息,如下所述。
ss 命令還可以顯示比大多數(shù)其他工具(如 netstat 或 lsof)更多的 TCP 和狀態(tài)信息。
要使用ss顯示正在偵聽的 TCP 連接,命令是:
ss -tl
其中,t代表 TCP 端口,l代表偵聽套接字。
要顯示正在偵聽的 UDP 連接,命令是:
ss -ul
其中u代表 UDP 端口。
如果你想同時(shí)顯示 TCP 和 UDP 連接,命令是:
ss -lntup
其中p代表進(jìn)程名稱
如果要顯示所有套接字連接,則可以簡單地使用 ss命令。
使用 netstat 掃描開放端口
Netstat,提供所有網(wǎng)絡(luò)活動(dòng)的基本統(tǒng)計(jì)信息,并通知用戶哪些端口和地址對(duì)應(yīng)的連接(TCP、UDP)正在運(yùn)行,以及哪些端口為任務(wù)打開。
要使用 netstat 檢查所有打開的端口,命令是:
netstat -pnltu
其中p代表與服務(wù)關(guān)聯(lián)的進(jìn)程 ID,n代表數(shù)字編號(hào)。正在運(yùn)行的端口,l代表偵聽套接字,t代表 TCP 連接,u代表 UDP 連接。
在 Windows 操作系統(tǒng)中,您可以通過命令行 (cmd.exe) 使用 netstat 服務(wù)。
使用 lsof 命令掃描開放端口
lsof 是一個(gè)命令行實(shí)用程序,適用于所有 Unix 和 Linux 等操作系統(tǒng),用于檢查“打開文件列表”。
lsof 命令主要用于檢索有關(guān)由各種進(jìn)程打開的文件的信息,系統(tǒng)中打開的文件可以是不同類型的,如磁盤文件、網(wǎng)絡(luò)套接字、命名管道和設(shè)備。
要顯示打開的端口,請鍵入以下命令:
lsof -i
如果您只想顯示打開的套接字,則可以使用:
lsof -n -P | grep LISTEN
要僅顯示 TCP 連接,請鍵入:
lsof -i tcp
使用 Nmap 掃描開放端口
Nmap 是免費(fèi)的開源網(wǎng)絡(luò)安全掃描器之一,通常用于網(wǎng)絡(luò)發(fā)現(xiàn)和安全審計(jì),除此之外,您還可以使用NMAP 掃描開放端口、監(jiān)控主機(jī)和網(wǎng)絡(luò)清單。
在 Kali Linux 中,Nmap 已經(jīng)預(yù)先安裝在其中,但對(duì)于 Ubuntu 或任何其他 Linux 發(fā)行版,您可以通過鍵入sudo apt install nmap命令來安裝 nmap。
對(duì)于 Windows 操作系統(tǒng),Nmap 安裝包附帶了一個(gè)名為 Zenmap 的 Nmap 前端 GUI,用于從用戶界面而不是命令行控制 Nmap。
要掃描打開的 TCP 端口,請鍵入:
nmap -sT -O localhost
上述命令將對(duì)目標(biāo)主機(jī)啟動(dòng) TCP 連接掃描,如果無法進(jìn)行 TCP SYN 掃描,則 TCP 連接掃描是默認(rèn)執(zhí)行的掃描。這種類型的掃描請求底層操作系統(tǒng)嘗試使用“連接”系統(tǒng)調(diào)用與目標(biāo)主機(jī)/端口連接。
對(duì)于 UDP,命令是:
nmap -sU localhost
上述命令將對(duì)目標(biāo)主機(jī)發(fā)起 UDP 端口掃描,UDP 掃描將 UDP 數(shù)據(jù)包發(fā)送到目標(biāo)端口,如果收到響應(yīng),則端口被分類為打開,如果多次傳輸后沒有收到響應(yīng),則端口被分類為開放/過濾。