一、CentOS7查看埠佔用情況
CentOS7系統中,我們可以使用以下命令查看埠佔用情況:
netstat -anp | grep LISTEN | grep -E "(tcp|udp)"
該命令的含義為:利用netstat
命令顯示所有網路連接情況,grep
過濾出監聽(LISTEN)狀態的埠,並顯示其進程ID(PID)和進程名。
例如:
$ netstat -anp | grep LISTEN | grep -E "(tcp|udp)"
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 914/sshd
tcp6 0 0 :::22 :::* LISTEN 914/sshd
tcp6 0 0 :::80 :::* LISTEN 1094/httpd
tcp6 0 0 :::443 :::* LISTEN 1094/httpd
udp 0 0 0.0.0.0:68 0.0.0.0:* 771/dhclient
上述輸出結果的意思是:22
埠(SSH)佔用了進程ID為914
的sshd
進程;80
和443
埠佔用了進程ID為1094
的httpd
進程。
二、CentOS7查看埠狀態
通過netstat
命令,我們可以查看埠的監聽狀態,主要有以下幾種:
- LISTEN:正在等待傳入連接請求;
- ESTABLISHED:正常數據傳輸狀態;
- TIME_WAIT:連接成功關閉,等待套接字關閉的時間。
我們可以使用以下命令查看指定埠的狀態:
netstat -anp | grep 埠號
例如,查看埠80
的狀態:
$ netstat -anp | grep 80
tcp6 0 0 :::80 :::* LISTEN 1094/httpd
上述輸出結果中,LISTEN
狀態表示埠正在等待傳入連接請求。
三、CentOS7查看埠號命令
我們可以使用以下命令查看已打開的埠號:
sudo firewall-cmd --list-ports
例如:
$ sudo firewall-cmd --list-ports
80/tcp
上述輸出結果表示80
埠已經打開。
四、CentOS7查看埠
除了使用netstat
命令和firewall-cmd
命令來查看埠,還可以使用nmap
命令進行掃描。
使用以下命令進行掃描,查看目標伺服器的埠情況:
nmap -sT -O localhost
上述命令中,-sT
參數表示使用TCP進行掃描,-O
參數表示識別目標操作系統。
例如,查看本地伺服器的埠情況:
$ nmap -sT -O localhost
Starting Nmap 6.40 ( http://nmap.org ) at 2021-05-13 18:39 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000076s latency).
Not shown: 992 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
111/tcp open rpcbind
631/tcp open ipp
3306/tcp open mysql
6081/tcp open nqs
8000/tcp open http-alt
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
上述輸出結果中,open
狀態表示相應的埠已經打開。
五、CentOS7怎麼開啟所有埠
默認情況下,CentOS7隻開放了一些常見的埠,如果需要開放所有埠,則需要進行如下操作:
- 修改
/etc/sysctl.conf
文件,添加以下內容: - 執行以下命令使更改生效:
- 添加相應的防火牆規則,開放所有埠:
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_keepalive_time=1200
net.ipv4.tcp_syncookies=1
sysctl -p
sudo firewall-cmd --zone=public --add-port=0-65535/tcp --permanent
sudo firewall-cmd --reload
六、CentOS7打開防火牆
為了提高伺服器的安全性,CentOS7系統默認啟用了防火牆,如果需要打開防火牆,則可以使用以下命令:
sudo systemctl start firewalld
如果需要防火牆永久生效,則可以使用以下命令進行配置:
sudo systemctl enable firewalld
在防火牆開啟的情況下,我們需要添加相應的埠規則才能訪問對應的服務。
七、CentOS7查看埠進程
我們可以使用lsof
命令查看指定埠的進程信息。
使用以下命令查看80
埠的進程信息:
lsof -i :80
例如:
$ lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 1094 root 4u IPv6 13791 0t0 TCP *:http (LISTEN)
httpd 1096 apache 4u IPv6 13791 0t0 TCP *:http (LISTEN)
httpd 1097 apache 4u IPv6 13791 0t0 TCP *:http (LISTEN)
httpd 1098 apache 4u IPv6 13791 0t0 TCP *:http (LISTEN)
httpd 1099 apache 4u IPv6 13791 0t0 TCP *:http (LISTEN)
httpd 1100 apache 4u IPv6 13791 0t0 TCP *:http (LISTEN)
上述輸出結果中,第二列為進程ID(PID),第三列為用戶,第七列為埠信息。
八、CentOS7查看埠流量
我們可以使用iftop
命令查看指定埠的流量情況。
使用以下命令查看80
埠的流量情況:
sudo iftop -f "port 80"
例如:
$ sudo iftop -f "port 80"
interface: ens33
IP address: 192.168.38.128/24
MAC address: 00:0c:29:43:93:25 (VMware, Inc.)
Started at 2021-May-13 18:36:13 CST (0.0 s)
[...]
---------------------------------------------------------------------------------------------
192.168.38.128 => 173.194.38.137 8.74Mb 10.3Mb 11.0Mb
<= 0b 0b 0b
---------------------------------------------------------------------------------------------
1 host(s) displayed.
上述輸出結果中,第一列為源IP地址,第三列為目的IP地址,第四列為上傳流量,第五列為下載流量。
九、CentOS7查看埠佔用
我們還可以使用fuser
命令查看指定埠的進程佔用情況。
使用以下命令查看80
埠的進程佔用情況:
sudo fuser 80/tcp
例如:
$ sudo fuser 80/tcp
80/tcp: 1094
上述輸出結果中,1094
為進程ID。
原創文章,作者:LNCNT,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/372063.html