Linux如何查看端口占用情况

在Linux系统中,使用 ss -tulnnetstat -tuln 命令可查看监听端口(TCP/UDP),查询具体端口占用用 lsof -i :端口号ss -tunlp | grep 端口号

为什么需要查询网络端口?

在Linux系统中,查询网络端口是网络诊断、服务部署、安全审计的核心操作,通过端口状态可快速定位:

Linux如何查看端口占用情况

  • 服务是否正常监听(如Web服务器80端口)
  • 可疑连接(排查入侵行为)
  • 端口冲突(避免服务启动失败)

四大专业工具详解

1️⃣ netstat(经典工具,适合基础检查)

# 查看所有监听端口(TCP/UDP)
sudo netstat -tuln
# 查看所有活动连接(含进程名)
sudo netstat -tulnp

输出解析

  • Proto:协议类型(TCP/UDP)
  • Recv-Q/Send-Q:队列数据量
  • Local Address:监听IP及端口(0.0.0:*表示所有接口)
  • PID/Program name:进程ID及名称

📌 适用场景:快速检查本地服务状态,系统兼容性强(旧版Linux首选)

2️⃣ ssnetstat替代品,高效精准)

# 查看所有TCP监听端口(推荐)
ss -tln
# 查看UDP端口及进程信息
ss -ulnp

优势

  • netstat快3倍(直接读取内核数据)
  • 显示更详细的连接状态(如TIME-WAITESTAB

📌 适用场景:生产环境首选,大数据量连接时性能优势明显

Linux如何查看端口占用情况

3️⃣ lsof(基于进程的深度分析)

# 查看22端口使用情况
sudo lsof -i :22
# 检查某进程(如nginx)的端口
sudo lsof -p $(pgrep nginx) -nP

关键输出

  • COMMAND:进程名称
  • USER:运行用户
  • TYPE:协议类型
  • NODE:端口号

📌 适用场景:精准定位端口冲突、进程级审计

4️⃣ nmap(网络扫描器,安全审计)

# 扫描本机开放端口(快速扫描)
nmap -sT -O 127.0.0.1
# 扫描特定端口范围(1-1000)
nmap -p 1-1000 192.168.1.100

参数解析

  • -sT:TCP全连接扫描
  • -O:操作系统探测
  • -p:指定端口范围

⚠️ 法律提示:仅扫描自有设备,未经授权扫描他人网络属违法行为!

Linux如何查看端口占用情况


场景化操作指南

需求 推荐命令 示例
检查Web服务器是否启动 ss -tln | grep ':80' 显示LISTEN即表示服务正常
排查“端口被占用”错误 sudo lsof -i :<端口号> 强制结束进程:kill -9 <PID>
验证防火墙是否放行 nmap -p 端口号 目标IP 状态为open表示可达
监控实时连接 watch -n 1 'ss -s' 每秒刷新连接统计

安全及最佳实践

  1. 最小权限原则:查询端口需sudo提权(避免信息遗漏)
  2. 敏感端口防护:发现异常监听(如22端口陌生IP连接)立即排查
  3. 工具更新:定期升级nmap等工具(yum update nmap
  4. 日志记录:结合/var/log/syslog分析端口活动历史

总结建议

  • 日常维护 → 用ss(高效)
  • 进程关联分析 → 用lsof(精准)
  • 安全审计 → 用nmap(全面)
  • 兼容旧系统 → 用netstat(通用)

🔍 扩展学习

  • 使用netcat测试端口连通性:nc -zv 目标IP 端口
  • 查看端口服务映射:grep 端口号 /etc/services

引用说明: 基于Linux官方文档及以下权威来源:

  1. ss(8) – Linux man page
  2. Nmap Network Scanning Official Guide
  3. Linux网络安全实践(Red Hat官方手册)

版权声明:可自由转载,请保留原文链接及作者署名。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/14509.html

(0)
酷盾叔酷盾叔
上一篇 2025年6月7日 21:47
下一篇 2025年6月7日 21:52

相关推荐

  • Mac装Linux双系统简单吗

    在Mac上安装Linux主要有两种方式:使用虚拟机软件(如Parallels或VirtualBox)或创建启动U盘进行双系统安装,双系统需先备份数据,使用启动盘制作工具创建Linux安装盘,重启Mac按住Option键选择U盘启动,并按提示分区安装即可,注意部分Mac硬件兼容性。

    2025年6月2日
    200
  • Linux如何修改1521端口配置?

    在Linux中修改Oracle数据库默认端口1521,需编辑监听配置文件(listener.ora和tnsnames.ora),将PORT值改为新端口号,重启监听服务(lsnrctl reload),同时配置防火墙放行新端口(firewall-cmd或iptables),并确保SELinux策略兼容(semanage/setsebool)。

    2025年5月28日
    400
  • Linux如何查看Oracle监听状态

    在Linux系统中,可通过lsnrctl status命令查看Oracle监听状态,若未运行,使用lsnrctl start启动,也可通过ps -ef | grep tnslsnr确认监听进程,或netstat -tulnp | grep 1521检查端口是否正常监听。

    2025年5月29日
    300
  • Linux系统是32位还是64位?一招秒查!

    通过命令行执行 uname -m 或 arch 查看系统架构,若显示 x86_64、aarch64 或 arm64 则为64位系统;若显示 i386、i686 或 armv7l 等则为32位,getconf LONG_BIT 可直显位数(32或64)。

    2025年6月3日
    500
  • 怎样轻松自制专业的Linux U盘启动工具

    制作Linux U盘启动工具需准备ISO镜像和空U盘,使用Rufus、Etcher或dd命令等工具,选择镜像文件及U盘设备,格式化后写入系统文件即可完成,注意备份U盘数据,确保兼容性并验证制作成功。

    2025年5月29日
    200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN