在服務(wù)器管理和維護(hù)過程中,了解服務(wù)器上開放的端口是非常重要的。開放的端口不僅可以幫助我們了解服務(wù)器上運(yùn)行的服務(wù),還能幫助我們排查潛在的安全隱患。本文將介紹幾種常用的命令,用于查看服務(wù)器上開放的端口。
1. netstat
命令
netstat
是一個非常常用的網(wǎng)絡(luò)工具,可以顯示網(wǎng)絡(luò)連接、路由表、接口統(tǒng)計(jì)信息等。要查看服務(wù)器上開放的端口,可以使用以下命令:
netstat -tuln
-t
:顯示 TCP 端口-u
:顯示 UDP 端口-l
:顯示監(jiān)聽中的端口-n
:以數(shù)字形式顯示地址和端口號
執(zhí)行該命令后,你將看到類似以下的輸出:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:68 0.0.0.0:*
Local Address
列顯示了服務(wù)器上開放的端口。
2. ss
命令
ss
是 netstat
的替代工具,功能更強(qiáng)大,性能更好。要查看服務(wù)器上開放的端口,可以使用以下命令:
ss -tuln
-t
:顯示 TCP 端口-u
:顯示 UDP 端口-l
:顯示監(jiān)聽中的端口-n
:以數(shù)字形式顯示地址和端口號
執(zhí)行該命令后,你將看到類似以下的輸出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 128 *:80 *:*
3. lsof
命令
lsof
是一個列出當(dāng)前系統(tǒng)打開文件的工具,也可以用來查看服務(wù)器上開放的端口。要查看服務(wù)器上開放的端口,可以使用以下命令:
lsof -i -P -n
-i
:顯示網(wǎng)絡(luò)連接-P
:顯示端口號而不是服務(wù)名稱-n
:以數(shù)字形式顯示地址
執(zhí)行該命令后,你將看到類似以下的輸出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
apache2 5678 www-data 3u IPv4 67890 0t0 TCP *:80 (LISTEN)
4. nmap
命令
nmap
是一個強(qiáng)大的網(wǎng)絡(luò)掃描工具,可以用來掃描服務(wù)器上開放的端口。要掃描本地服務(wù)器上開放的端口,可以使用以下命令:
nmap localhost
執(zhí)行該命令后,你將看到類似以下的輸出:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-01 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
總結(jié)
通過以上幾種命令,你可以輕松查看服務(wù)器上開放的端口。每種命令都有其獨(dú)特的優(yōu)勢,netstat
和 ss
適合快速查看,lsof
可以提供更詳細(xì)的信息,而 nmap
則適合進(jìn)行更全面的掃描。根據(jù)你的需求選擇合適的工具,可以幫助你更好地管理和維護(hù)服務(wù)器。
希望本文對你有所幫助!如果你有任何問題或建議,歡迎在評論區(qū)留言。