Products
GG网络技术分享 2025-08-13 12:45 7
在维护和优化Linux服务器时搞懂端口占用情况至关关键。本文将详细介绍怎么在CentOS 7系统中查看全部端口占用状态,助您飞迅速定位问题,提升服务器性能。
用netstat
命令,您能获取当前系统上全部端口的占用情况。
$ netstat -anp | grep LISTEN | grep -E ""
tcp .: .:* LISTEN /sshd tcp6 ::: :::* LISTEN /sshd tcp6 ::: :::* LISTEN /httpd tcp6 ::: :::* LISTEN /httpd udp .: .:* /dhclient
此命令将列出全部监听状态的TCP和UDP端口及其对应的进程。
输出后来啊中,端口信息旁边列出的进程ID能用来识别占用端口的进程。比方说端口占用了进程ID为的sshd
进程;端口和端口占用了进程ID为的httpd
进程。
如果您需要查看特定端口的进程信息,能用lsof
命令。以下示例将列出全部与TCP协议80端口相关的进程信息:
$ lsof -i :80
在防火墙开启的情况下 要访问对应的服务,需要添加相应的端口规则。以下命令能查看当前开放的端口:
$ sudo firewall-cmd --list-ports
若要添加新鲜的端口规则, 比方说开放80端口:
$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
$ sudo firewall-cmd --reload
对于流量监控,能用iftop
命令。以下命令将监控指定端口的流量情况:
$ iftop -f "port 80" interface: ens33
对于系统级配置,您兴许需要调整TCP/IP参数。
net.ipv4.ip_local_port_range
指定可用的本地端口范围。net.ipv4.tcp_fin_timeout
设置TCP连接收尾的等待时候。net.ipv4.tcp_keepalive_time
设置TCP连接的保活时候。net.ipv4.tcp_syncookies
启用TCP SYN Cookies以防着SYN洪水打。要使更改生效, 请运行以下命令:
$ sysctl -p
默认情况下CentOS 7系统启用了防火墙。如果您需要打开防火墙, 能用以下命令:
$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld
通过上述方法,您能轻巧松地在CentOS 7中查看和管理端口占用情况。这些个技巧不仅有助于诊断和优良决服务器问题,还能搞优良服务器的整体性能和睦安性。
欢迎您用这些个方法,并我们的观点。
Demand feedback