如何檢查 Linux 中的開放埠列表?
| 2019-04-17 08:51 收藏: 2
最近,我們就同一主題寫了兩篇文章。這些文章內容幫助你如何檢查遠端伺服器中給定的埠是否開啟。
如果你想 檢查遠端 Linux 系統上的埠是否開啟 請點選連結瀏覽。如果你想 檢查多個遠端 Linux 系統上的埠是否開啟 請點選連結瀏覽。如果你想 檢查多個遠端 Linux 系統上的多個埠狀態 請點選連結瀏覽。
但是本文幫助你檢查本地系統上的開放埠列表。
在 Linux 中很少有用於此目的的實用程式。然而,我提供了四個最重要的 Linux 命令來檢查這一點。
你可以使用以下四個命令來完成這個工作。這些命令是非常出名的並被 Linux 管理員廣泛使用。
netstat
:netstat (“network statistics”) 是一個顯示網路連線(進和出)相關資訊命令列工具,例如:路由表, 偽裝連線,多點傳送成員和網路埠。nmap
:Nmap (“Network Mapper”) 是一個網路探索與安全審計的開源工具。它旨在快速掃描大型網路。ss
: ss 被用於轉儲套接字統計資訊。它也可以類似 netstat 使用。相比其他工具它可以展示更多的TCP狀態資訊。lsof
: lsof 是 List Open File 的縮寫. 它用於輸出被某個程式開啟的所有檔案。
如何使用 Linux 命令 netstat 檢查系統中的開放埠列表
netstat
是 Network Statistics 的縮寫,是一個顯示網路連線(進和出)相關資訊命令列工具,例如:路由表、偽裝連線、多播成員和網路埠。
它可以列出所有的 tcp、udp 連線和所有的 unix 套接字連線。
它用於發現發現網路問題,確定網路連線數量。
# netstat -tplugn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2038/master
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 1396/snmpd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1398/httpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1388/sshd
tcp6 0 0 :::25 :::* LISTEN 2038/master
tcp6 0 0 :::22 :::* LISTEN 1388/sshd
udp 0 0 0.0.0.0:39136 0.0.0.0:* 1396/snmpd
udp 0 0 0.0.0.0:56130 0.0.0.0:* 1396/snmpd
udp 0 0 0.0.0.0:40105 0.0.0.0:* 1396/snmpd
udp 0 0 0.0.0.0:11584 0.0.0.0:* 1396/snmpd
udp 0 0 0.0.0.0:30105 0.0.0.0:* 1396/snmpd
udp 0 0 0.0.0.0:50656 0.0.0.0:* 1396/snmpd
udp 0 0 0.0.0.0:1632 0.0.0.0:* 1396/snmpd
udp 0 0 0.0.0.0:28265 0.0.0.0:* 1396/snmpd
udp 0 0 0.0.0.0:40764 0.0.0.0:* 1396/snmpd
udp 0 0 10.90.56.21:123 0.0.0.0:* 895/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 895/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 895/ntpd
udp 0 0 0.0.0.0:53390 0.0.0.0:* 1396/snmpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 1396/snmpd
udp6 0 0 :::123 :::* 895/ntpd
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 224.0.0.1
eth0 1 224.0.0.1
lo 1 ff02::1
lo 1 ff01::1
eth0 1 ff02::1
eth0 1 ff01::1
你也可以使用下面的命令檢查特定的埠。
# # netstat -tplugn | grep :22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1388/sshd
tcp6 0 0 :::22 :::* LISTEN 1388/sshd
如何使用 Linux 命令 ss 檢查系統中的開放埠列表?
ss
被用於轉儲套接字統計資訊。它也可以顯示類似 netstat
的資訊。相比其他工具它可以展示更多的 TCP 狀態資訊。
# ss -lntu
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 *:39136 *:*
udp UNCONN 0 0 *:56130 *:*
udp UNCONN 0 0 *:40105 *:*
udp UNCONN 0 0 *:11584 *:*
udp UNCONN 0 0 *:30105 *:*
udp UNCONN 0 0 *:50656 *:*
udp UNCONN 0 0 *:1632 *:*
udp UNCONN 0 0 *:28265 *:*
udp UNCONN 0 0 *:40764 *:*
udp UNCONN 0 0 10.90.56.21:123 *:*
udp UNCONN 0 0 127.0.0.1:123 *:*
udp UNCONN 0 0 *:123 *:*
udp UNCONN 0 0 *:53390 *:*
udp UNCONN 0 0 *:161 *:*
udp UNCONN 0 0 :::123 :::*
tcp LISTEN 0 100 *:25 *:*
tcp LISTEN 0 128 127.0.0.1:199 *:*
tcp LISTEN 0 128 *:80 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 :::25 :::*
tcp LISTEN 0 128 :::22 :::*
你也可以使用下面的命令檢查特定的埠。
# # ss -lntu | grep ':25'
tcp LISTEN 0 100 *:25 *:*
tcp LISTEN 0 100 :::25 :::*
如何使用 Linux 命令 nmap 檢查系統中的開放埠列表?
Nmap (“Network Mapper”) 是一個網路探索與安全審計的開源工具。它旨在快速掃描大型網路,當然它也可以工作在獨立主機上。
Nmap 使用裸 IP 資料包以一種新穎的方式來確定網路上有哪些主機可用,這些主機提供什麼服務(應用程式名稱和版本),它們執行什麼作業系統(版本),使用什麼型別的資料包過濾器/防火牆,以及許多其他特徵。
雖然 Nmap 通常用於安全審計,但許多系統和網路管理員發現它對於日常工作也非常有用,例如網路資產清點、管理服務升級計劃以及監控主機或服務正常執行時間。
# nmap -sTU -O localhost
Starting Nmap 6.40 ( http://nmap.org ) at 2019-03-20 09:57 CDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00028s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 1994 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
199/tcp open smux
123/udp open ntp
161/udp open snmp
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.7 - 3.9
Network Distance: 0 hops
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.93 seconds
你也可以使用下面的命令檢查特定的埠。
# nmap -sTU -O localhost | grep 123
123/udp open ntp
如何使用 Linux 命令 lsof 檢查系統中的開放埠列表?
它向你顯示系統上開啟的檔案列表以及開啟它們的程式。還會向你顯示與檔案相關的其他資訊。
# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ntpd 895 ntp 16u IPv4 18481 0t0 UDP *:ntp
ntpd 895 ntp 17u IPv6 18482 0t0 UDP *:ntp
ntpd 895 ntp 18u IPv4 18487 0t0 UDP localhost:ntp
ntpd 895 ntp 20u IPv4 23020 0t0 UDP CentOS7.2daygeek.com:ntp
sshd 1388 root 3u IPv4 20065 0t0 TCP *:ssh (LISTEN)
sshd 1388 root 4u IPv6 20067 0t0 TCP *:ssh (LISTEN)
snmpd 1396 root 6u IPv4 22739 0t0 UDP *:snmp
snmpd 1396 root 7u IPv4 22729 0t0 UDP *:40105
snmpd 1396 root 8u IPv4 22730 0t0 UDP *:50656
snmpd 1396 root 9u IPv4 22731 0t0 UDP *:pammratc
snmpd 1396 root 10u IPv4 22732 0t0 UDP *:30105
snmpd 1396 root 11u IPv4 22733 0t0 UDP *:40764
snmpd 1396 root 12u IPv4 22734 0t0 UDP *:53390
snmpd 1396 root 13u IPv4 22735 0t0 UDP *:28265
snmpd 1396 root 14u IPv4 22736 0t0 UDP *:11584
snmpd 1396 root 15u IPv4 22737 0t0 UDP *:39136
snmpd 1396 root 16u IPv4 22738 0t0 UDP *:56130
snmpd 1396 root 17u IPv4 22740 0t0 TCP localhost:smux (LISTEN)
httpd 1398 root 3u IPv4 20337 0t0 TCP *:http (LISTEN)
master 2038 root 13u IPv4 21638 0t0 TCP *:smtp (LISTEN)
master 2038 root 14u IPv6 21639 0t0 TCP *:smtp (LISTEN)
sshd 9052 root 3u IPv4 1419955 0t0 TCP CentOS7.2daygeek.com:ssh->Ubuntu18-04.2daygeek.com:11408 (ESTABLISHED)
httpd 13371 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
httpd 13372 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
httpd 13373 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
httpd 13374 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
httpd 13375 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
你也可以使用下面的命令檢查特定的埠。
# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 1398 root 3u IPv4 20337 0t0 TCP *:http (LISTEN)
httpd 13371 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
httpd 13372 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
httpd 13373 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
httpd 13374 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
httpd 13375 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
via: https://www.2daygeek.com/linux-scan-check-open-ports-using-netstat-ss-nmap/
作者:Magesh Maruthamuthu 選題:lujun9972 譯者:heguangzhi 校對:wxy
相關文章
- 在Linux中,如何檢視開放的埠?Linux
- Linux中檢查本地系統上的開放埠列表的方法Linux
- Linux 檢視對外開放埠Linux
- Linux: 如何檢視本機埠並釋放Linux
- Linux中如何檢視開啟了哪些埠?Linux
- linux 開放埠Linux
- 在 Linux 系統中開放埠Linux
- 檢視Linux埠是否被開放@[環境部署]Linux
- CentOS7檢視開放埠命令及開放埠號CentOS
- linux開放80 埠Linux
- linux開放指定埠Linux
- linux 開放埠命令Linux
- win10開放埠怎樣檢視_win10檢視開放埠號的步驟Win10
- linux檢視埠占用及強制釋放埠Linux
- Linux 中如何開啟埠Linux
- CentOS/Linux 開放80、8080埠或者開放某個埠CentOSLinux
- linux開放指定埠命令Linux
- [Linux]ubuntu開放server的指定埠LinuxUbuntuServer
- 如何在 Linux 中查詢服務的埠號Linux
- linux檢查埠狀態命令Linux
- linux:檢視使用中的埠Linux
- 如何檢查多個遠端 Linux 系統是否開啟了指定埠?Linux
- Ubuntu檢視埠和釋放埠Ubuntu
- 利用命令檢視win10系統中開放埠的方法Win10
- 埠開放
- Linux系統下如何在防火牆開放指定埠Linux防火牆
- Linux檢視埠占用情況,並強制釋放佔用的埠Linux
- linux埠列表 (轉)Linux
- 90-vm中centos 開放埠CentOS
- Linux 防火牆開放特定埠 (iptables)Linux防火牆
- 開啟linux主機的埠快速釋放Linux
- linux埠釋放Linux
- linux 釋放埠Linux
- centos7開放、關閉及檢視埠CentOS
- Oracle 開放埠Oracle
- Linux檢查遠端埠是否通暢Linux
- LINUX中如何檢視某個埠是否被佔用Linux
- Linux中如何檢視8080埠是否被佔用?Linux