Linux系統(tǒng)的ECS實(shí)例中通過(guò)netstat命令查看和檢查系統(tǒng)端口信息
概述
本文介紹了在Linux系統(tǒng)的實(shí)例中通過(guò)netstat命令查看系統(tǒng)端口信息的使用。
詳細(xì)信息
- 如果您對(duì)實(shí)例或數(shù)據(jù)有修改、變更等風(fēng)險(xiǎn)操作,務(wù)必注意實(shí)例的容災(zāi)、容錯(cuò)能力,確保數(shù)據(jù)安全。
- 如果您對(duì)實(shí)例(包括但不限于ECS、RDS)等進(jìn)行配置與數(shù)據(jù)修改,建議提前創(chuàng)建快照或開(kāi)啟RDS日志備份等功能。
- 如果您在阿里云平臺(tái)授權(quán)或者提交過(guò)登錄賬號(hào)、密碼等安全信息,建議您及時(shí)修改。
netstat命令使用介紹
netstat命令通常是用來(lái)監(jiān)控TCP/IP網(wǎng)絡(luò)的工具,可以顯示路由表、實(shí)際的網(wǎng)絡(luò)連接以及每一個(gè)網(wǎng)絡(luò)接口設(shè)備的狀態(tài)信息。如果需要了解當(dāng)前系統(tǒng)開(kāi)放了哪些端口,及這些端口的關(guān)聯(lián)進(jìn)程和用戶,可以通過(guò)netstat命令進(jìn)行查詢。此處介紹了netstat命令的語(yǔ)法和參數(shù),步驟如下。
使用語(yǔ)法
netstat [$Parameter]
注:[$Parameter]為netstat命令參數(shù)。
命令參數(shù)
參數(shù)說(shuō)明如下。
- -a或--all:顯示所有連接中的Socket。
- -A:列出該網(wǎng)絡(luò)類型連接中的相關(guān)地址。
- -c或--continuous:持續(xù)列出網(wǎng)絡(luò)狀態(tài)。
- -C或--cache:顯示路由器配置的緩存信息。
- -e或--extend:顯示額外的網(wǎng)絡(luò)相關(guān)信息。
- -t:僅顯示TCP端口。
- -u:僅顯示UDP端口。
- -l:僅顯示監(jiān)聽(tīng)套接字。
- -p:顯示進(jìn)程標(biāo)識(shí)符和程序名稱,每一個(gè)套接字或端口都屬于一個(gè)程序。
- -n:不進(jìn)行DNS輪顯示IP,可以加速操作。
- --help:命令用法幫助。
netstat命令常用的命令組合
通常結(jié)合grep、wc或sort等命令來(lái)分析系統(tǒng)連接情況和連接數(shù)狀態(tài),可以判斷服務(wù)器是否被攻擊,命令組合使用介紹參考如下。
-
執(zhí)行如下命令,顯示所有活動(dòng)的網(wǎng)絡(luò)連接。
netstat -na
-
執(zhí)行如下命令,顯示所有指定端口的網(wǎng)絡(luò)連接并排序。如果該指定端口被Web服務(wù)進(jìn)程監(jiān)聽(tīng),就可以通過(guò)查看該指定端口監(jiān)控Web服務(wù)。如果看到同一個(gè)IP有大量連接,則判定該IP疑似存在單點(diǎn)流量攻擊行為。
netstat -an | grep :[$Port] | sort注:[$Port]為L(zhǎng)inux系統(tǒng)指定的端口號(hào)。
-
執(zhí)行如下命令,統(tǒng)計(jì)當(dāng)前服務(wù)器有多少個(gè)活動(dòng)的指定服務(wù)連接數(shù)。正常來(lái)說(shuō)這會(huì)很小,一般小于5。在遭受DDoS攻擊時(shí),會(huì)造成該值會(huì)很高,但是該值并不能用來(lái)判斷是否遭受DDoS攻擊,因?yàn)樵诟卟l(fā)服務(wù)器上,該值也會(huì)很高。
netstat -n -p|grep [$Server] | wc -l
注:[$Server]指需要查看的服務(wù)名或進(jìn)程名。
-
執(zhí)行如下命令,列出所有與指定服務(wù)連接點(diǎn)連接過(guò)的IP地址。
netstat -n -p | grep [$Server] | sort -u -
執(zhí)行如下命令,列出所有發(fā)送指定服務(wù)連接點(diǎn)的IP地址。
netstat -n -p | grep [$Server] | awk '{print $5}' | awk -F: '{print $1}' -
執(zhí)行如下命令,統(tǒng)計(jì)所有連接到本機(jī)的IP地址。
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n -
執(zhí)行如下命令,統(tǒng)計(jì)所有TCP和UDP連接到本機(jī)的IP和連接次數(shù)。
netstat -anp | egrep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n -
執(zhí)行如下命令,檢查ESTABLISHED連接并且統(tǒng)計(jì)出每個(gè)IP地址的連接次數(shù)。
netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr -
執(zhí)行如下命令,統(tǒng)計(jì)出連接到指定端口的IP地址連接次數(shù),并列出排名前10的IP地址信息和該IP地址的連接次數(shù)。如果有單個(gè)IP地址存在大量連接,則判斷為該IP地址是單點(diǎn)流量攻擊行為。
netstat -antp |awk '$4 ~ /:80$/ {print $4" "$5}'|awk '{print $2}'|awk -F : {'print $1'}|uniq -c|sort -nr|head -n 10
netstat命令處理端口占用
-
執(zhí)行如下命令,根據(jù)對(duì)應(yīng)的端口號(hào),查找出對(duì)應(yīng)端口號(hào)占用的進(jìn)程信息。
netstat -antp | grep [$Port] -
執(zhí)行如下命令,根據(jù)以上步驟獲取的進(jìn)程ID號(hào),結(jié)束指定進(jìn)程,解決端口占用問(wèn)題。
kill -9 [$PID]
注:[$PID]為上一步獲取到的指定端口PID進(jìn)程號(hào)。
如果您有其他問(wèn)題,可以聯(lián)系北京優(yōu)勝智連阿里云代理商,為您提供一對(duì)一專業(yè)全面的技術(shù)服務(wù),同時(shí)新老阿里云會(huì)員,均可享受我公司代理商價(jià)格,歡迎咨詢!

