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