LINUX中埠是否被佔用應該如何檢視呢?

大雄45發表於2022-04-27
導讀 這篇文章主要介紹了 中如何檢視某個埠是否被佔用的方法,文中透過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
1.netstat -anp |grep 埠號

如下,我以3306為例,netstat -anp |grep 3306(此處備註下,我是以普通使用者操作,故加上了sudo,如果是以root使用者操作,不用加sudo即可檢視),如下圖1:

LINUX中埠是否被佔用應該如何檢視呢?LINUX中埠是否被佔用應該如何檢視呢?

圖1中主要看監控狀態為LISTEN表示已經被佔用,最後一列顯示被服務mysqld佔用,檢視具體埠號,只要有如圖這一行就表示被佔用了。

2.netstat -nultp(此處不用加埠號)

該 是檢視當前所有已經使用的埠情況,如圖2:

LINUX中埠是否被佔用應該如何檢視呢?LINUX中埠是否被佔用應該如何檢視呢?

圖中可以看出我的82埠沒有被佔用

3.netstat -anp |grep 82檢視82埠的使用情況,如圖3:

LINUX中埠是否被佔用應該如何檢視呢?LINUX中埠是否被佔用應該如何檢視呢?

可以看出並沒有LISTEN那一行,所以就表示沒有被佔用。此處注意,圖中顯示的LISTENING並不表示埠被佔用,不要和LISTEN混淆哦,檢視具體埠時候,必須要看到tcp,埠號,LISTEN那一行,才表示埠被佔用了

在linux中檢視程式佔用的埠號

在Linux 上的 /etc/services 檔案可以檢視到更多關於保留埠的資訊。

可以使用以下六種方法檢視埠資訊。

ss:可以用於轉儲套接字統計資訊。
netstat:可以顯示開啟的套接字列表。
lsof:可以列出開啟的檔案。
nmap:是網路檢測工具和埠掃描程式。
systemctl:是systemd 系統的控制管理器和服務管理器。
以下我們將找出sshd 守護程式所使用的埠號。

方法1:使用 ss 

# ss -tlnp | grep sshd

方法2:使用 netstat 命令

# netstat -tnlp | grep ssh

方法3:使用 lsof 命令

也可以使用埠號來檢查。

# netstat -lntp | grep 860

方法4:使用 nmap 命令

# nmap -sV -p 22 localhost

大部分情況下,以上的輸出不會顯示程式的實際埠號。這時更建議使用以下這個journalctl 命令檢查日誌檔案中的詳細資訊。

# journalctl | grep -i ssh
 
12月 01 21:43:36 elk3 systemd[1]: Starting OpenSSH server daemon...
 
12月 01 21:43:36 elk3 sshd[860]: Server listening on 0.0.0.0 port 22.
 
12月 01 21:43:36 elk3 sshd[860]: Server listening on :: port 22.
 
12月 01 21:43:36 elk3 systemd[1]: Started OpenSSH server daemon.
 
12月 01 21:44:19 elk3 sshd[1106]: Accepted password for root from 192.168.122.1 port 49316 ssh2
 
12月 01 21:44:19 elk3 sshd[1106]: pam_unix(sshd:session): session opened for user root by (uid=0)

到此這篇關於LINUX中如何檢視某個埠是否被佔用的方法的文章就介紹到這了。

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2888938/,如需轉載,請註明出處,否則將追究法律責任。

相關文章