上一篇
场景引入:
深夜赶工部署新服务,突然发现应用死活连不上数据库?🤯 同事大喊“端口被占用了!”,而你对着黑乎乎的终端一脸懵——别慌!掌握这些Linux端口管理技巧,分分钟让你从“端口小白”进阶“网络侦探”🕵️♂️
端口是什么:
好比快递柜的格子号(比如3306是MySQL的专属“柜子”),数据通过端口找到正确的服务。
常见端口:
netstat -tuln # 查看所有监听中的TCP/UDP端口
输出解读:
t
:TCP协议 u
:UDP协议 l
:仅显示监听端口 n
:直接显示端口号(不解析服务名) 示例:
Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
👉 22端口正在监听所有IP的连接
ss -tuln # 更快速!推荐新系统使用
优势:
-p
看占用进程) sudo lsof -i :8080 # 查看8080端口的占用情况
输出示例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 1234 root 6u IPv4 12345 0t0 TCP *:8080 (LISTEN)
👉 原来是nginx占用了8080端口!
sudo nmap -sT 127.0.0.1 # 扫描本机开放端口
高级玩法:
nmap -p 1-1000 192.168.1.1 # 扫描某IP的1~1000端口
⚠️ 注意:未经授权的扫描可能违法!
解决步骤:
sudo lsof -i :3306
sudo kill -9 [PID]
sudo systemctl restart mysql
telnet 目标IP 端口号 # 传统方法(如未安装:yum install telnet) nc -zv 目标IP 端口号 # 更推荐!(需安装netcat)
成功响应:Connection to 192.168.1.10 22 port [tcp/ssh] succeeded!
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80
sudo firewall-cmd --add-port=8080/tcp --permanent # 永久生效 sudo firewall-cmd --reload
场景 | 命令 |
---|---|
查看所有监听端口 | ss -tuln 或 netstat -tuln |
查具体端口占用 | sudo lsof -i :端口号 |
杀进程 | sudo kill -9 [PID] |
测试端口连通性 | nc -zv IP 端口 |
开放防火墙端口 | firewall-cmd --add-port=XX/tcp |
最后的忠告🔊:
sudo
提权哦~ 现在你可以淡定地对同事说:“放着,我来!” 💪 (默默收藏这篇指南就更稳了)
本文由 让水 于2025-08-02发表在【云服务器提供商】,文中图片由(让水)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/511803.html
发表评论