如何查看Linux端口状态?

使用 netstat -tulnss -tuln 命令查看监听端口及其状态,lsof -i :端口号 可检查特定端口占用情况,这些命令需 sudo 权限查看所有信息。

🔍 一、ss 命令(推荐首选)

优势:替代传统netstat,执行速度更快,直接读取内核数据。
常用组合

如何查看Linux端口状态?

# 查看所有监听端口(LISTEN)和已建立连接(ESTAB)
ss -tulnp
# 解析输出关键字段:
# -t: TCP端口  -u: UDP端口  -l: 仅监听  -n: 数字形式  -p: 显示进程

输出示例

State   Recv-Q  Send-Q  Local Address:Port  Peer Address:Port
LISTEN  0       128     0.0.0.0:22          0.0.0.0:*        users:(("sshd",pid=1234,fd=3))
ESTAB   0       0       192.168.1.10:22     192.168.1.5:54321

📌 关键解读:

  • LISTEN:服务正在监听(如SSH的22端口)
  • ESTAB:活跃连接(如已建立的SSH会话)

⚙️ 二、netstat 命令(兼容旧系统)

适用场景:老版本系统或习惯经典工具时使用。
操作示例

# 查看TCP/UDP监听端口及关联进程
netstat -tulnp
# 实时监控端口活动(每秒刷新)
netstat -c -tunap

输出字段解析
Proto(协议)、Recv-Q/Send-Q(队列数据)、Local Address(本机IP:端口)、State(状态)、PID/Program(进程信息)


🛠️ 三、lsof 命令(精准定位进程)

核心价值:直接关联端口与进程,适合排查冲突。
关键操作

如何查看Linux端口状态?

# 查看占用80端口的进程
lsof -i :80
# 检查TCP协议22端口
lsof -i TCP:22

输出示例

COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx    567  root    6u  IPv4  12345      0t0  TCP *:http (LISTEN)

💡 提示:NAME列显示LISTEN表示监听中,ESTABLISHED为活动连接。


🌐 四、nmap 扫描(远程/本机探测)

核心用途:检测端口开放状态(本地或远程主机)。
操作步骤

# 安装nmap(未安装时)
sudo apt install nmap  # Debian/Ubuntu
sudo yum install nmap  # CentOS/RHEL
# 扫描本机所有TCP端口
nmap -sT 127.0.0.1
# 快速扫描常用端口(示例远程主机)
nmap -F 192.168.1.100

典型输出

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
3306/tcp open  mysql

⚠️ 注意:STATEopen表示端口开放,filtered可能被防火墙拦截。

如何查看Linux端口状态?


📡 五、连通性测试(telnet/nc

快速验证:测试端口是否可访问(无需完整扫描)。
方法对比
| 工具 | 命令示例 | 适用场景 |
|———|——————————|———————–|
| telnet| telnet 192.168.1.100 3306 | 基础TCP测试(需安装) |
| nc | nc -zv 192.168.1.100 22 | 支持UDP/TCP,无交互 |

结果解读

  • 连接成功 → 显示Connected to...succeeded!
  • 连接失败 → Connection refused(服务未运行)或超时(防火墙拦截)

根据场景选择工具

  1. 日常监控ss -tulnp(高效全面)
  2. 进程关联分析lsof -i :端口号(精准定位)
  3. 远程端口探测nmap -F 目标IP(专业扫描)
  4. 快速连通测试nc -zv IP 端口(即时验证)

📚 引用说明:本文内容基于Linux内核文档(kernel.org)、ss(8)手册页及Nmap官方指南(nmap.org),符合系统管理员通用实践标准。
🔐 安全提示:生产环境操作前请确认权限,避免敏感端口暴露。

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

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月12日 04:17
下一篇 2025年6月12日 04:20

相关推荐

  • Linux如何安装apt-get工具?

    Debian/Ubuntu系统预装了apt-get命令,如遇缺失(极罕见),可运行sudo apt update && sudo apt install apt修复基础包管理功能。

    2025年6月6日
    300
  • Linux怎么退出终端控制台

    在Linux控制台中,输入exit命令或按Ctrl+D组合键即可安全退出当前终端会话,若处于多用户环境(如SSH),此操作会断开连接;若在图形界面的终端模拟器中,则直接关闭窗口。

    2025年6月6日
    100
  • Linux硬盘空间不够用怎么查?

    在Linux中查看硬盘空间,使用命令 df -h 即可,该命令以易读格式(如GB、MB)显示所有挂载磁盘分区的总大小、已用空间、可用空间和使用百分比。

    2025年6月8日
    000
  • Linux编译C后如何保存退出?

    在Linux中编译C程序后,保存退出涉及两个独立操作: ,1. **编译**:终端执行 gcc -o 输出文件名 源文件.c(如 gcc -o hello hello.c),生成可执行文件。 ,2. **退出编辑器**: , – **Vim**:按 ESC 输入 :wq 回车保存退出。 , – **Nano**:按 Ctrl+O 保存,Ctrl+X 退出。 ,编译完成后直接关闭终端或输入 exit 退出即可。

    2025年6月10日
    100
  • Linux FTP端口修改指南

    修改Linux FTP端口需编辑FTP服务配置文件(如/etc/vsftpd.conf),将listen_port改为新端口号,保存后重启服务(如systemctl restart vsftpd),并在防火墙放行新端口(如firewall-cmd –add-port=新端口/tcp –permanent)。

    2025年6月13日
    100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN