一、常用命令:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)公司、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了玉田免費(fèi)建站歡迎大家使用!
1,lsof -i端口號
2,netstat -tunlp|grep 端口號
這兩個命令都可以查看端口被什么進(jìn)程占用。
二、lsof -i 需要 root 用戶的權(quán)限來執(zhí)行,如下圖:
三、netstat命令
netstat -tunlp?用于顯示 tcp,udp 的端口和進(jìn)程等相關(guān)情況。
netstat 查看端口占用語法格式:
netstat -tunlp | grep 端口號
擴(kuò)展資料
一、更多 lsof 的命令擴(kuò)展
1、lsof -i:8080:查看8080端口占用
2、lsof abc.txt:顯示開啟文件abc.txt的進(jìn)程
3、lsof -c abc:顯示abc進(jìn)程現(xiàn)在打開的文件
4、lsof -c -p 1234:列出進(jìn)程號為1234的進(jìn)程所打開的文件
5、lsof -g gid:顯示歸屬gid的進(jìn)程情況
6、lsof +d /usr/local/:顯示目錄下被進(jìn)程開啟的文件
7、lsof +D /usr/local/:同上,但是會搜索目錄下的目錄,時間較長
8、lsof -d 4:顯示使用fd為4的進(jìn)程
9、lsof -i -U:顯示所有打開的端口和UNIX domain文件
二、更多netstat命令
1、netstat -ntlp ? //查看當(dāng)前所有tcp端口
2、netstat -ntulp | grep 80 ? //查看所有80端口使用情況
3、netstat -ntulp | grep 3306 ? //查看所有3306端口使用情況
三、關(guān)閉端口
1、在查到端口占用的進(jìn)程后,如果你要?dú)⒌魧?yīng)的進(jìn)程可以使用 kill 命令:
kill -9 PID
2、如上實(shí)例,我們看到 8000 端口對應(yīng)的 PID 為 26993,使用以下命令殺死進(jìn)程:
kill -9 26993
場景一:了解系統(tǒng)開放的端口,和正在使用的端口,在各種情況下都會有所幫助。
比如:如果你的服務(wù)器正在運(yùn)行著 Nginx,那么其端口應(yīng)該為80或者443,可以檢查一下。再比如你可以檢查一下 SMTP、SSH或者其他服務(wù)用的是哪個端口。當(dāng)有新的服務(wù)需要開放端口的時候,你需要知道目前已經(jīng)被占用的,都有哪些端口。
此外,可以檢查一下是否有開放的可用于入侵檢測的端口。
Linux 中有多種檢查端口的方法,本文將介紹兩種。
使用 lsof 檢查當(dāng)前系統(tǒng)開放的端口
不管你是直接登錄的系統(tǒng),還是使用 ssh 連接的,都可以使用 lsof 命令來檢查端口:
該命令用于查找用戶使用的文件和進(jìn)程。上述命令中的選項(xiàng),包括:
但是,這也會展示許多計(jì)算機(jī)并沒有監(jiān)聽的其他端口。
我們可以通過管道將此輸出傳輸?shù)?grep,并匹配模式 “LISTEN”,如下所示:
這樣就只顯示計(jì)算機(jī)正在監(jiān)聽的,以及正在運(yùn)行的服務(wù)器所占用的端口。
使用 netcat 命令檢查遠(yuǎn)程服務(wù)器上的端口
nc(Netcat) 是一個命令行實(shí)用程序,使用TCP和UDP協(xié)議在網(wǎng)絡(luò)計(jì)算機(jī)之間讀取和寫入數(shù)據(jù)。
以下是nc命令的語法:
這個工具有一個很實(shí)用的 -z 選項(xiàng),它會讓 nc 命令掃描正在監(jiān)聽的守護(hù)進(jìn)程,但是不會向端口發(fā)送任何數(shù)據(jù)。
將其與 -v 選項(xiàng)結(jié)合,啟動詳細(xì)信息,會有詳細(xì)信息的輸出。
losf與nc的不同點(diǎn):
lsof命令簡介
lsof 命令用于顯示 Linux 系統(tǒng)當(dāng)前已打開的所有文件列表。查看進(jìn)程或系統(tǒng)打開的文件會給調(diào)試帶來極大的幫助。下面簡單地介紹 lsof 常使用的功能。
lsof (list open files)命令用于查看你進(jìn)程打開的文件,打開文件的進(jìn)程,進(jìn)程打開的端口(TCP、UDP),還可以用于找回/恢復(fù)被刪除的文件。lsof 命令需要訪問核心內(nèi)存和各種文件,所以需要具備 root 超級管理員權(quán)限的用戶才能執(zhí)行此命令。
linux的nc命令,NetCat,在網(wǎng)絡(luò)工具中有“瑞士軍刀”美譽(yù)“,是解決這個問題的工具。 nc命令安裝: yum install nc
以上是看來一些文章的總結(jié)分享內(nèi)容,歡迎補(bǔ)充討論。
前言
如何確定端口是否在Linux或類unix系統(tǒng)下占用?怎么檢查哪些端口正在Linux服務(wù)器上被占用?Linux系統(tǒng)如何使用命令行檢查端口是否已經(jīng)在占用?
查詢哪些端口正在服務(wù)器的網(wǎng)絡(luò)接口上被占用是非常重要的工作。您需要查詢打開端口以檢測入侵。除了入侵之外,出于故障排除的目的,可能有必要檢查服務(wù)器上的其他應(yīng)用程序是否已經(jīng)使用了某個端口。例如,您可以在同一系統(tǒng)上安裝Apache和Nginx服務(wù)器。因此,有必要了解Apache或Nginx是否使用TCP端口80或443。本教程提供了使用netstat、nmap和lsof命令查詢正在使用的端口并查看正在使用該端口的應(yīng)用程序的步驟。
如何查詢端口是否在使用中:
檢查Linux上被占用的端口和應(yīng)用程序:
Step1: 打開終端
Step2: 執(zhí)行以下任意一條命令查看被占用的端口
查看端口22是否被占用:
較新版本的Linux使用以下查詢命令:
方法1: 使用lsof命令查詢占用端口
先安裝lsof命令
RHEL/CentOS系統(tǒng):
Debian/Ubuntu系統(tǒng)安裝lsof命令
使用語法如下
OpenBSD
看到類似這樣的輸出結(jié)果:
sshd是進(jìn)程名字
TCP 22表示sshd進(jìn)程占用了TCP 22端口,正在監(jiān)聽中(LISTEN)
1243表示sshd進(jìn)程號
方法二:使用netstat查詢被占用的端口號
較新的Linux發(fā)行版已經(jīng)不再默認(rèn)集成netstat命令,而是使用新命令ss取代了。
如果要使用netstat命令,需要手動安裝net-tools套件:
RHEL/CentOS系統(tǒng)安裝net-tools套件,執(zhí)行以下命令:
Debian/Ubuntu系統(tǒng)執(zhí)行以下命令:
您可以使用netstat查詢被占用的端口和應(yīng)用程序,如下所示。
執(zhí)行以下命令查詢:
在Linux上,netstat命令已經(jīng)廢棄了一段時間。因此,你需要使用ss命令如下:
或者:
其中ss命令選項(xiàng)如下:
-t : 只顯示Linux上的TCP套接字
-u : 在Linux上只顯示UDP套接字
-l : 監(jiān)聽套接字。例如,TCP端口22由SSHD服務(wù)器打開。
-p : 列出打開套接字的進(jìn)程名
-n : 不要解析服務(wù)名稱,即不要使用DNS
FreeBSD/MacOS X netstat 語法
FreeBSD/MacOS X查詢被占用的端口
或者
OpenBSD netstat 語法
OpenBSD查詢被占用的端口
或者
方法三:使用`nmap`命令查詢Linux被占用的端口
默認(rèn)情況下,Linux發(fā)行版并沒有默認(rèn)安裝nmap命令,
CentOS系統(tǒng)安裝nmap
Ubuntu系統(tǒng)安裝nmap
使用nmap查詢本機(jī)被占用的端口
查詢Linux系統(tǒng)被占用的UDP端口
查詢Linux系統(tǒng)被占用的TCP端口
你可以同時查詢被占用的TCP和UDP端口
結(jié)論:
本教程解釋了如何在Linux系統(tǒng)上使用命令行查詢TCP或者UDP端口是否被占用。有關(guān)更多信息,請參見nmap命令和lsof命令頁面
1、linux 端口查看命令。
2、Linux查看端口號。
3、怎么查看linux端口號。
4、如何查看linux端口號。
1."linux查看端口號命令,為您提供linux查看端口號命令圖文信息,打開linux系統(tǒng),在linux的桌面的空白處右擊。
2.在彈出的下拉選項(xiàng)里,點(diǎn)擊打開終端。
3.在終端窗口中輸入cat/etc/services命令,回車后即可查看到服務(wù)器端口。
Linux查看程序端口占用情況
使用命令:
ps -aux | grep tomcat
發(fā)現(xiàn)并沒有8080端口的Tomcat進(jìn)程。
使用命令:netstat –apn
查看所有的進(jìn)程和端口使用情況。發(fā)現(xiàn)下面的進(jìn)程列表,其中最后一欄是PID/Program name
發(fā)現(xiàn)8080端口被PID為9658的Java進(jìn)程占用。
進(jìn)一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明確知道8080端口是被哪個程序占用了!然后判斷是否使用KILL命令干掉! 《Linux就該這么學(xué)》學(xué)習(xí)更多命令。
方法二:直接使用 netstat -anp | grep portno
即:netstat -anp|grep 8080