首頁 運維 linux運維 linux怎麼查看有哪些連接埠開放

linux怎麼查看有哪些連接埠開放

Mar 02, 2022 pm 03:21 PM
linux

linux查看開放埠的方法:1、使用nmap工具偵測開放埠;2、使用netstat工具偵測開放埠;3、使用lsof工具偵測開放埠;4、使用telnet偵測開放埠;5、使用netcat工具檢測開放連接埠。

linux怎麼查看有哪些連接埠開放

本教學操作環境:linux5.9.8系統、Dell G3電腦。

在網路技術中,連接埠(Port)包括邏輯連接埠和實體連接埠兩種類型。實體連接埠指的是實體存在的端口,如ADSL Modem、集線器、交換器、路由器上用 於連接其他網路設備的接口,如RJ-45端口、SC端口等等。邏輯端口是指邏輯意義上用於區分服務的端口,如TCP/IP協議中的服務端口,端口號的範圍從0到65535,例如用於瀏覽網頁服務的80端口,用於FTP服務的21端口等。由於實體連接埠和邏輯連接埠數量較多,為了對連接埠進行區分,將每個連接埠進行了編號,這就是連接埠號碼

連接埠依埠號碼可以分為3大類:

1:公認連接埠(Well Known Port)

公認連接埠號碼從0到1023,它們緊密綁定與一些常見服務,例如FTP服務使用連接埠21,你在/etc/services 裡面可以看到這種映射關係。

2:註冊連接埠(Registered Ports):

從1024到49151。它們鬆散地綁定於一些服務。也就是說有許多服務綁定於這些端口,這些端口同樣用於許多其它目的.

3: 動態或私有端口(Dynamic and/or Private Ports)

動態端口,即私人連接埠號碼(private port numbers),是可用於任意軟體與任何其他的軟體通訊的連接埠數,使用網際網路的傳輸控制協議,或用戶傳輸協議。動態端口一般從49152到65535

Linux中有限定端口的使用範圍,如果我要為我的程式預留某些端口,那麼我需要控制這個端口範圍。 /proc/sys/net/ipv4/ip_local_port_range定義了本地TCP/UDP的連接埠範圍,你可以在/etc/sysctl.conf裡面定義net.ipv4.ip_local_port_range = 1024 65000

[root@localhost ~]# cat /proc/sys/net/ipv4/ip_local_port_range
32768   61000
[root@localhost ~]#  echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range
登入後複製

關於連接埠和服務服務,我曾經拿公共廁所打比方,公共廁所裡的每一個廁所就好比系統的每一個端口,為人解決方便就是所謂的服務,你提供了這些服務,那麼就必須開放端口(廁所),當有人上廁所時,就是在這些連接埠建立了連結。如果那個廁所被人佔用了,就表示端口號被服務佔用了,如果有一天這裡不提供公共廁所服務了,這個公共廁所被拆除了,自然也就沒有了端口號了。其實更形象的例子,就好比銀行大堂,連接埠號碼是那些櫃檯,而那些取號辦理業務的人就好比連結到伺服器的各種客戶端。他們透過連接埠重新導向技術與櫃檯發送業務聯繫。再舉一個簡單易懂的例子,端口號,好比高鐵線上的每個站點,例如,長沙、岳陽等分別代表一個端口號,旅客通過火車票到各自的站點,就好比各個應用程序發往服務器連接埠的IP包。

如何檢查連接埠是否開放,其實不整理,還不知道有這麼多方法!

1:nmap工具偵測開放埠

nmap是一款網路掃描和主機偵測的工具。 nmap的安裝非常簡單,如下所示rpm安裝所示。

[root@DB-Server Server]# rpm -ivh nmap-4.11-1.1.x86_64.rpm 
warning: nmap-4.11-1.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:nmap                   ########################################### [100%]
[root@DB-Server Server]# rpm -ivh nmap-frontend-4.11-1.1.x86_64.rpm 
warning: nmap-frontend-4.11-1.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:nmap-frontend          ########################################### [100%]
[root@DB-Server Server]#
登入後複製

關於nmap的使用,都可以長篇大寫特寫,這裡不做展開。如下所示,nmap 127.0.0.1 查看本機開放的端口,會掃描所有端口。當然也可以掃描其它伺服器連接埠。

[root@DB-Server Server]# nmap 127.0.0.1
 
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2016-06-22 15:46 CST
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
111/tcp  open  rpcbind
631/tcp  open  ipp
1011/tcp open  unknown
3306/tcp open  mysql
 
Nmap finished: 1 IP address (1 host up) scanned in 0.089 seconds
You have new mail in /var/spool/mail/root
[root@DB-Server Server]#
登入後複製

linux怎麼查看有哪些連接埠開放

2:netstat 工具偵測開放埠

[root@DB-Server Server]# netstat -anlp | grep 3306
tcp        0      0 :::3306                     :::*                        LISTEN      7358/mysqld         
[root@DB-Server Server]# netstat -anlp | grep 22
tcp        0      0 :::22                       :::*                        LISTEN      4020/sshd           
tcp        0     52 ::ffff:192.168.42.128:22    ::ffff:192.168.42.1:43561   ESTABLISHED 6198/2              
[root@DB-Server Server]#
登入後複製

linux怎麼查看有哪些連接埠開放

##如上所示,這個工具感覺沒有nmap簡潔明了。當然也確實沒有nmap功能強大。

3:lsof 工具偵測開放埠

[root@DB-Server Server]# service mysql start
Starting MySQL......[  OK  ]
[root@DB-Server Server]# lsof -i:3306
COMMAND  PID  USER   FD   TYPE DEVICE SIZE NODE NAME
mysqld  7860 mysql   15u  IPv6  44714       TCP *:mysql (LISTEN)
[root@DB-Server Server]# service mysql stop
Shutting down MySQL..[  OK  ]
[root@DB-Server Server]# lsof -i:3306
[root@DB-Server Server]#
登入後複製

linux怎麼查看有哪些連接埠開放#

[root@DB-Server Server]# lsof -i TCP| fgrep LISTEN
cupsd     3153    root    4u  IPv4   9115       TCP localhost.localdomain:ipp (LISTEN)
portmap   3761     rpc    4u  IPv4  10284       TCP *:sunrpc (LISTEN)
rpc.statd 3797 rpcuser    7u  IPv4  10489       TCP *:1011 (LISTEN)
sshd      4020    root    3u  IPv6  12791       TCP *:ssh (LISTEN)
sendmail  4042    root    4u  IPv4  12876       TCP localhost.localdomain:smtp (LISTEN)
登入後複製

##4: 使用telnet偵測連接埠是否開放

#   伺服器連接埠即使處於監聽狀態,但是防火牆iptables屏蔽了該端口,是無法透過該方法檢測端口是否開放的。

5:netcat工具偵測連接埠是否開放。

[root@DB-Server ~]# nc -vv 192.168.42.128 1521
Connection to 192.168.42.128 1521 port [tcp/ncube-lm] succeeded!
[root@DB-Server ~]# nc -z 192.168.42.128 1521; echo $?
Connection to 192.168.42.128 1521 port [tcp/ncube-lm] succeeded!
0
[root@DB-Server ~]#  nc -vv 192.168.42.128 1433
nc: connect to 192.168.42.128 port 1433 (tcp) failed: No route to host
登入後複製
相關推薦:《Linux影片教學

以上是linux怎麼查看有哪些連接埠開放的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1273
29
C# 教程
1256
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

vscode上一步下一步快捷鍵 vscode上一步下一步快捷鍵 Apr 15, 2025 pm 10:51 PM

VS Code 一步/下一步快捷鍵的使用方法:一步(向後):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

See all articles