場(chǎng)景一:了解系統(tǒng)開(kāi)放的端口,和正在使用的端口,在各種情況下都會(huì)有所幫助。
青龍網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),青龍網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為青龍上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的青龍做網(wǎng)站的公司定做!
比如:如果你的服務(wù)器正在運(yùn)行著 Nginx,那么其端口應(yīng)該為80或者443,可以檢查一下。再比如你可以檢查一下 SMTP、SSH或者其他服務(wù)用的是哪個(gè)端口。當(dāng)有新的服務(wù)需要開(kāi)放端口的時(shí)候,你需要知道目前已經(jīng)被占用的,都有哪些端口。
此外,可以檢查一下是否有開(kāi)放的可用于入侵檢測(cè)的端口。
Linux 中有多種檢查端口的方法,本文將介紹兩種。
使用 lsof 檢查當(dāng)前系統(tǒng)開(kāi)放的端口
不管你是直接登錄的系統(tǒng),還是使用 ssh 連接的,都可以使用 lsof 命令來(lái)檢查端口:
該命令用于查找用戶使用的文件和進(jìn)程。上述命令中的選項(xiàng),包括:
但是,這也會(huì)展示許多計(jì)算機(jī)并沒(méi)有監(jiān)聽(tīng)的其他端口。
我們可以通過(guò)管道將此輸出傳輸?shù)?grep,并匹配模式 “LISTEN”,如下所示:
這樣就只顯示計(jì)算機(jī)正在監(jiān)聽(tīng)的,以及正在運(yùn)行的服務(wù)器所占用的端口。
使用 netcat 命令檢查遠(yuǎn)程服務(wù)器上的端口
nc(Netcat) 是一個(gè)命令行實(shí)用程序,使用TCP和UDP協(xié)議在網(wǎng)絡(luò)計(jì)算機(jī)之間讀取和寫(xiě)入數(shù)據(jù)。
以下是nc命令的語(yǔ)法:
這個(gè)工具有一個(gè)很實(shí)用的 -z 選項(xiàng),它會(huì)讓 nc 命令掃描正在監(jiān)聽(tīng)的守護(hù)進(jìn)程,但是不會(huì)向端口發(fā)送任何數(shù)據(jù)。
將其與 -v 選項(xiàng)結(jié)合,啟動(dòng)詳細(xì)信息,會(huì)有詳細(xì)信息的輸出。
losf與nc的不同點(diǎn):
lsof命令簡(jiǎn)介
lsof 命令用于顯示 Linux 系統(tǒng)當(dāng)前已打開(kāi)的所有文件列表。查看進(jìn)程或系統(tǒng)打開(kāi)的文件會(huì)給調(diào)試帶來(lái)極大的幫助。下面簡(jiǎn)單地介紹 lsof 常使用的功能。
lsof (list open files)命令用于查看你進(jìn)程打開(kāi)的文件,打開(kāi)文件的進(jìn)程,進(jìn)程打開(kāi)的端口(TCP、UDP),還可以用于找回/恢復(fù)被刪除的文件。lsof 命令需要訪問(wèn)核心內(nèi)存和各種文件,所以需要具備 root 超級(jí)管理員權(quán)限的用戶才能執(zhí)行此命令。
linux的nc命令,NetCat,在網(wǎng)絡(luò)工具中有“瑞士軍刀”美譽(yù)“,是解決這個(gè)問(wèn)題的工具。 nc命令安裝: yum install nc
以上是看來(lái)一些文章的總結(jié)分享內(nèi)容,歡迎補(bǔ)充討論。
一、最常用的方法:
1,netstat -an
2,lsof -i
以上兩個(gè)命令通過(guò)查詢網(wǎng)絡(luò)堆棧列舉正在監(jiān)聽(tīng)網(wǎng)絡(luò)的端口。
eg:檢查某一端口的監(jiān)聽(tīng)信息
netstat -anp | grep 端口號(hào)
lsof -i | grep 端口號(hào)
二、用端口掃描器nmap來(lái)檢查哪些端口正在監(jiān)聽(tīng)網(wǎng)絡(luò)
eg:判定哪些端口在監(jiān)聽(tīng)來(lái)自網(wǎng)絡(luò)上的 TCP 連接是:
nmap -sT -O localhost
可以通過(guò)netstat命令進(jìn)行簡(jiǎn)單查詢
netstat命令各個(gè)參數(shù)說(shuō)明如下:
-t : 指明顯示TCP端口
-u : 指明顯示UDP端口
-l : 僅顯示監(jiān)聽(tīng)套接字(所謂套接字就是使應(yīng)用程序能夠讀寫(xiě)與收發(fā)通訊協(xié)議(protocol)與資料的程序)
-p : 顯示進(jìn)程標(biāo)識(shí)符和程序名稱,每一個(gè)套接字/端口都屬于一個(gè)程序。
-n : 不進(jìn)行DNS輪詢,顯示IP(可以加速操作)
3
即可顯示當(dāng)前服務(wù)器上所有端口及進(jìn)程服務(wù),于grep結(jié)合可查看某個(gè)具體端口及服務(wù)情況··
netstat -ntlp //查看當(dāng)前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情況·
netstat -an | grep 3306 //查看所有3306端口使用情況·
使用netstst命令查看正在監(jiān)聽(tīng)狀態(tài)的端口:
1、netstat
-nupl
//n表示用數(shù)字形式顯示端口號(hào),u,表示udp協(xié)議類型,p是程序pid,l表示處于監(jiān)聽(tīng)狀態(tài)的;
2、netstat
-nuplf|grep
3306
//這個(gè)表示查找處于監(jiān)聽(tīng)狀態(tài)的,端口號(hào)為3306的進(jìn)程