當涉及到服務(wù)器安全以及解決與服務(wù)相關(guān)的問題時,驗證哪些所有端口 (TCP/UDP) 都已打開并監(jiān)聽服務(wù)器的網(wǎng)絡(luò)接口非常重要。易受攻擊的開放端口可能是服務(wù)器中嚴重安全漏洞的原因,必須找到并關(guān)閉/禁用此類端口。
如果出現(xiàn)與服務(wù)相關(guān)的問題,檢查所有端口都在使用中可以用作故障排除機制,以查找是否有多個服務(wù)正在偵聽同一端口。以下是常用的端口號:
端口0到1023是眾所周知的端口
端口1024到49151是注冊端口(*通常由軟件開發(fā)人員注冊以為其應(yīng)用程序指定特定端口)
端口49152到65535是公共端口
下面,小編將分析在Linux云服務(wù)器和Windows云服務(wù)器中使用lsof,netstat和等命令確定服務(wù)中打開的所有端口的基本步驟。nmapnetstat
一、Linux云服務(wù)器
例如,Apache和Nginx服務(wù)都在同一臺服務(wù)器上運行。
方法1:使用lsof命令
lsof(列出打開的文件)是一個命令,用于顯示服務(wù)器中所有打開文件的列表以及打開它們的服務(wù)。
命令的一般語法lsof如下:# sudo lsof -i -P -n
使用pipeandgrep命令,可以對上述命令的結(jié)果進行過濾,以顯示監(jiān)聽服務(wù)器不同端口的文件的結(jié)果。
# sudo lsof -i -P -n | grep LISTEN
# doas lsof -i -P -n | grep LISTEN (for OpenBSD systems)
從示例輸出中取出最后一行,結(jié)果可以解釋如下:
named 812 named 23u IPv4 16018 0t0 TCP 47.113.184.237:53 (LISTEN)
named:服務(wù)的名稱。
47.113.184.237:指定服務(wù)綁定到的IP。
53:正在使用的服務(wù)的TCP端口。
812:服務(wù)的進程ID。
方法2:使用netstat命令
netstat(網(wǎng)絡(luò)統(tǒng)計)是一個命令行工具,可用于監(jiān)視服務(wù)器中傳入和傳出的網(wǎng)絡(luò)連接。
該netstat命令與grep命令一起檢查偵聽服務(wù)可以在以下語法中使用
# netstat -tulpn | grep LISTEN
# netstat -nat | grep LISTEN (for OpenBSD systems)
netstat命令在最新版本的Linux發(fā)行版中已被棄用。命令已ss取而代之。
使用該ss命令的語法如下所示:# sudo ss -tulpn
該ss命令的開關(guān)含義如下:
t:僅顯示 TCP 套接字。
u:僅顯示 UDP 套接字。
l:顯示監(jiān)聽套接字。
p:顯示打開套接字的進程的名稱。
n:不要嘗試解析服務(wù)名稱。
方法3:使用nmap命令
nmap(網(wǎng)絡(luò)映射器)是一種網(wǎng)絡(luò)掃描命令工具,可用于查找服務(wù)器上的主機和服務(wù)。這是通過向服務(wù)器發(fā)送數(shù)據(jù)包并進一步分析結(jié)果來完成的。
可以從服務(wù)器內(nèi)執(zhí)行的命令的一般語法nmap如下:
# sudo nmap -sT -O localhost
# sudo nmap -sTU -O 47.113.184.237 (scan both TCP and UDP for server)
二、Windows云服務(wù)器
在Windows云服務(wù)器中,該netstat命令可用于檢查服務(wù)器當前正在使用的端口。
在Windows云服務(wù)器中使用的命令語法netstat如下:
> netstat -bano | more
> netstat -bano | findstr /R /C:"[LISTENING]"
上述結(jié)果中的每個字段的含義如下:
Proto:用于套接字的協(xié)議(TCP/UDP)。
本地地址:服務(wù)正在偵聽的源IP地址和端口。
狀態(tài):服務(wù)的當前狀態(tài)。
PID:服務(wù)的進程ID,后跟服務(wù)名稱。
以上就是檢查Linux和Windows云服務(wù)器上的TCP / UDP端口是否打開的相關(guān)教程。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站