Linux查看服務(wù)器開放和啟用的端口的方法步驟
在 Linux 系統(tǒng)中,可以通過以下方法查看 服務(wù)器開放和啟用的端口。以下是詳細(xì)的步驟和工具,適用于不同場(chǎng)景。
1. 使用 ss 查看開放的端口
ss 是一個(gè)現(xiàn)代化工具,用于顯示網(wǎng)絡(luò)連接和監(jiān)聽的端口。
1.1 查看正在監(jiān)聽的端口
運(yùn)行以下命令:
ss -tuln
- 參數(shù)說明:
-t:顯示 TCP 端口。-u:顯示 UDP 端口。-l:僅顯示監(jiān)聽的端口。-n:以數(shù)字形式顯示端口號(hào)(不解析為服務(wù)名稱)。
示例輸出:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* tcp LISTEN 0 128 127.0.0.1:3306 0.0.0.0:* udp UNCONN 0 0 0.0.0.0:123 0.0.0.0:*
- 解釋:
0.0.0.0:22:表示所有網(wǎng)絡(luò)接口上監(jiān)聽的 SSH 服務(wù)端口。127.0.0.1:3306:表示僅在本地監(jiān)聽的 MySQL 服務(wù)端口。
2. 使用 netstat 查看開放的端口
如果 ss 不可用,可以使用 netstat(部分系統(tǒng)需安裝 net-tools 包)。
2.1 查看監(jiān)聽的端口
運(yùn)行以下命令:
netstat -tuln
- 參數(shù)說明:
-t:顯示 TCP 端口。-u:顯示 UDP 端口。-l:僅顯示監(jiān)聽的端口。-n:以數(shù)字形式顯示端口號(hào)。
示例輸出:
Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN udp 0 0 0.0.0.0:123 0.0.0.0:*
2.2 安裝 net-tools(如果未安裝)
在部分系統(tǒng)中,netstat 可能缺失,需要手動(dòng)安裝:
sudo apt install net-tools # Ubuntu/Debian 系 sudo yum install net-tools # CentOS/RHEL 系
3. 使用 lsof 查看開放的端口
lsof 是一個(gè)強(qiáng)大的工具,可以查看與端口相關(guān)的進(jìn)程。
3.1 查看監(jiān)聽的端口
運(yùn)行以下命令:
sudo lsof -i -P -n | grep LISTEN
- 參數(shù)說明:
-i:顯示網(wǎng)絡(luò)連接。-P:顯示端口號(hào),而不是服務(wù)名稱。-n:避免解析域名,加快顯示速度。
示例輸出:
sshd 1234 root 3u IPv4 123456 0t0 TCP *:22 (LISTEN) mysqld 2345 mysql 10u IPv4 654321 0t0 TCP 127.0.0.1:3306 (LISTEN)
4. 使用 firewall-cmd 查看防火墻開放的端口
如果服務(wù)器使用 Firewalld 作為防火墻,可以通過以下命令查看防火墻規(guī)則。
4.1 查看已開放的端口
運(yùn)行以下命令:
sudo firewall-cmd --list-ports
示例輸出:
22/tcp 80/tcp 443/tcp
- 表示 TCP 端口
22(SSH)、80(HTTP)、443(HTTPS)已開放。
4.2 查看所有防火墻規(guī)則
運(yùn)行以下命令:
sudo firewall-cmd --list-all
示例輸出:
public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh http https ports: 22/tcp 80/tcp 443/tcp masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
4.3 開放新端口
如果需要開放額外的端口(如 8080 TCP),可以運(yùn)行:
sudo firewall-cmd --add-port=8080/tcp --permanent sudo firewall-cmd --reload
5. 使用 iptables 查看防火墻規(guī)則
如果服務(wù)器使用的是 iptables 防火墻,可以通過以下命令查看規(guī)則。
5.1 查看所有規(guī)則
運(yùn)行以下命令:
sudo iptables -L -n -v
示例輸出:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 100 5000 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 50 3000 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
5.2 開放新端口
如果需要新增開放端口(如 8080 TCP),可以運(yùn)行:
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
6. 使用 nmap 掃描本地開放端口
nmap 是一個(gè)網(wǎng)絡(luò)掃描工具,可以用于檢查本地或遠(yuǎn)程服務(wù)器的開放端口。
6.1 安裝 nmap
sudo apt install nmap # Ubuntu/Debian 系 sudo yum install nmap # CentOS/RHEL 系
6.2 掃描本地開放端口
運(yùn)行以下命令:
sudo nmap -sT -p- 127.0.0.1
-sT:掃描 TCP 端口。-p-:掃描所有端口(1-65535)。
示例輸出:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-16 10:00 UTC Nmap scan report for localhost (127.0.0.1) PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https 3306/tcp open mysql
7. 總結(jié)
| 工具 | 用途 | 命令示例 |
|---|---|---|
| ss | 查看監(jiān)聽的端口 | ss -tuln |
| netstat | 查看監(jiān)聽的端口 | netstat -tuln |
| lsof | 查看端口和相關(guān)進(jìn)程 | `lsof -i -P -n |
| firewall-cmd | 查看防火墻開放的端口 | firewall-cmd --list-ports |
| iptables | 查看防火墻規(guī)則 | iptables -L -n -v |
| nmap | 掃描本地開放端口 | nmap -sT -p- 127.0.0.1 |
通過以上方法,您可以輕松檢查 Linux 服務(wù)器上開放和啟用的端口,并根據(jù)需要調(diào)整防火墻規(guī)則或開放新端口。
到此這篇關(guān)于Linux查看服務(wù)器開放和啟用的端口的方法步驟的文章就介紹到這了,更多相關(guān)Linux查看服務(wù)器端口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
centos7 設(shè)置grub密碼及單用戶登錄實(shí)例代碼
這篇文章主要介紹了centos7 設(shè)置grub密碼及單用戶登錄實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11
windows10 更新Ubuntu20.04 LTS的方法步驟
這篇文章主要介紹了windows10 更新Ubuntu20.04 LTS的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Linux系統(tǒng)實(shí)現(xiàn)ansible自動(dòng)化安裝配置httpd的方法
這篇文章主要介紹了Linux系統(tǒng)實(shí)現(xiàn)ansible自動(dòng)化安裝配置httpd的方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02

