当前位置:首页 > Linux > 正文

Linux如何查看端口?

在Linux中查看端口,常用命令有: ,1. netstat -tuln 显示监听端口 ,2. ss -tuln 更高效的替代工具 ,3. lsof -i :端口号 查看指定端口进程 ,4. nmap localhost 扫描本机开放端口

Linux中如何查看端口:全面指南

在Linux系统中,端口是网络通信的关键入口,无论是排查服务故障、检查安全风险,还是优化服务器性能,掌握查看端口的技能都至关重要,以下将详细介绍多种查看端口的方法,涵盖基础命令、高级工具及实用技巧。


查看本机监听的端口

以下命令需root权限才能获取完整信息(命令前加 sudo)。

  1. netstat 命令(经典工具,适合大多数系统)

    查看所有监听端口:

    netstat -tuln
    • -t:显示TCP端口
    • -u:显示UDP端口
    • -l:仅列出监听端口
    • -n:禁用域名解析(显示IP和端口号)

      输出示例: Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 :::80 :::* LISTEN

  2. ss 命令(netstat的现代替代,速度更快)

    查看监听端口:

    ss -tuln

    输出格式与 netstat 类似,但支持更多过滤选项(如 ss -tuln sport = :80 过滤80端口)。

    Linux如何查看端口? 第1张

  3. lsof 命令(查看进程占用的端口)

    列出所有监听端口的进程:

    lsof -i -P -n | grep LISTEN
    • -i:显示网络连接
    • -P -n:禁止端口别名和域名解析

      输出示例: nginx 1234 root 6u IPv4 0xab1c 0t0 TCP *:80 (LISTEN)


检查远程端口是否开放

验证目标IP的端口连通性:

  1. telnet 命令(基础测试工具)

    测试远程主机的80端口:

    Linux如何查看端口? 第2张

    telnet 192.168.1.100 80
    • 连接成功:显示空白或服务标识(如HTTP响应头)
    • 连接失败:返回 Connection refused 或超时
  2. nc(netcat)(网络瑞士军刀)

    快速测试端口:

    nc -zv 192.168.1.100 22
    • -z:只扫描不发送数据
    • -v:显示详细结果

      输出

      Connection to 192.168.1.100 22 port [tcp/ssh] succeeded!

  3. nmap 工具(专业级扫描)

    扫描目标主机的1-1000端口:

    nmap -sT -p 1-1000 192.168.1.100
    • -sT:TCP连接扫描
    • -p:指定端口范围

      输出示例: PORT STATE SERVICE 22/tcp open ssh 80/tcp open http


查看端口与服务的映射关系

端口号对应的服务名称通常定义在 /etc/services 文件中:

cat /etc/services | grep 80

输出

Linux如何查看端口? 第3张

http 80/tcp www # World Wide Web


特殊场景处理技巧

  1. 检查端口占用进程

    查找占用80端口的进程:

    lsof -i :80 # 或 ss -tulnp | grep ":80"

  2. 监听端口实时变化

    动态监控端口状态(每2秒刷新):

  3. 防火墙干扰排查

    若端口监听正常但无法访问,检查防火墙规则:

    iptables -L -n -v # 查看iptables规则 firewall-cmd --list-ports # Firewalld管理
  4. 方法对比与推荐

    命令/工具 最佳场景 优点 缺点
    netstat 兼容旧系统 无需额外安装 新系统可能被淘汰
    ss 快速查看监听端口 速度快,资源占用低 参数较复杂
    lsof 定位进程占用 显示进程和文件详情 部分系统需手动安装
    nmap 扫描远程主机端口 功能全面,支持高级扫描 需安装,部分扫描需root
    telnet/nc 快速测试端口连通性 简单直接 无状态分析能力

    推荐选择

    • 日常检查:ss -tuln + lsof -i :端口号
    • 远程探测:nc -zv(简单测试)或 nmap(深度扫描)


    安全提示

    • 避免在公有网络使用 nmap 扫描他人主机,可能触发安全警报。
    • 生产环境中,建议通过 基于密钥的SSH 管理服务器,关闭不必要的端口。
    • 定期使用 netstat -antp 检查异常连接,防范入侵行为。


    通过以上方法,您可全面掌握Linux系统中的端口状态,根据需求选择工具组合,即可高效完成网络监控、故障排查及安全加固任务。

    引用说明: 基于Linux官方文档(man pages)及常见运维实践,参考工具包括iproute2套件、nmap官方指南及net-tools手册。

0