一、使用netstat查看監聽的端口
在Linux中,可以通過使用netstat命令來查看當前系統正在監聽哪些端口,以及哪些進程在使用它們。其基本語法如下:
netstat -tlnp
其中,選項-t表示查看所有TCP協議相關的連接和監聽端口,選項-l表示顯示當前系統正在監聽的端口,選項-n表示直接顯示IP地址和端口,而不使用主機名和服務名稱。選項-p表示顯示正在使用該端口的進程的PID和名稱。
如果你要查看UDP協議的端口,可以把選項-t換成-u即可。
二、使用lsof查看打開的文件描述符
除了netstat外,還有一個強大的命令叫做lsof,它可以列出當前系統打開的文件描述符。在Linux中,網絡連接也是以文件描述符的形式存在於系統中的。因此,我們可以使用lsof命令來查看當前正在使用的網絡連接,包括正在監聽的端口。其基本語法如下:
lsof -i :port
其中port代表要查詢的端口號,如果想查看所有正在使用的端口,可以將端口號換成字母i。
三、使用ss命令替代netstat和lsof
除了以上兩個傳統命令外,Linux系統還有一個比較新的命令叫做ss,它可以替代netstat和lsof,而且速度更快、查詢更準確。ss命令的基本語法如下:
ss -ltnp
其中,選項-l表示顯示所有監聽的連接,選項-t表示僅顯示TCP連接,選項-n表示直接顯示IP地址和端口,而不使用主機名和服務名稱,選項-p表示顯示使用該連接或端口的進程和進程ID。
四、使用nmap掃描開放的端口
除了查看當前系統監聽的端口外,還可以使用nmap這個強大的工具來掃描網段或指定IP地址主機上開放的端口。其基本語法如下:
nmap -sS IP或網段
其中,選項-sS表示使用TCP SYN掃描方式,可以快速查詢哪些端口處於開放狀態。也可以探測指定的端口,例如:
nmap -p port IP或網段
其中port指定要探測的端口號。
五、使用telnet測試端口連通性
除了以上工具外,還可以使用telnet命令來測試網絡主機上某個端口的連通性是否正常。其基本語法如下:
telnet IP地址 端口號
例如,要測試本機上的80號端口是否開放,可以執行以下命令:
telnet localhost 80
如果連接成功,將會看到一片空白。如果連接失敗,則表示該端口未開放或無法連接。
原創文章,作者:ADIUM,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/332498.html