Linux如何查看开放端口

在Linux中查看本机端口常用命令:,1. netstat -tunlp:显示TCP/UDP端口及进程信息,2. ss -tuln:更快速的套接字查看工具,3. lsof -i :端口号:查看指定端口占用情况,4. nmap localhost:扫描本地开放端口

netstat 命令(经典工具,适用多数系统)

安装与基础命令

Linux如何查看开放端口

sudo apt install net-tools  # Debian/Ubuntu
sudo yum install net-tools  # CentOS/RHEL
netstat -tunlp | grep LISTEN  # 查看监听中的端口

参数解析

  • -t:TCP协议
  • -u:UDP协议
  • -n:数字形式显示(不解析域名)
  • -l:仅监听端口
  • -p:显示进程名/PID(需sudo权限)

输出示例

tcp6   0   0 :::22   :::*    LISTEN      1234/sshd

表示SSH进程(PID 1234)正在监听IPv6的22端口。


ss 命令(替代netstat,更高效)

推荐场景:现代Linux发行版(无需安装)

ss -tulpn  # 功能等价于netstat,性能更优

关键参数

Linux如何查看开放端口

  • -s:统计摘要(查看连接状态分布)
  • state established:过滤已建立连接
    示例

    ss -tn src :80  # 检查80端口的TCP连接

lsof 命令(查看进程与端口的关联)

安装与使用

sudo apt install lsof  # 安装
sudo lsof -i :22      # 查看22端口的进程

常用语法

  • lsof -i tcp:443:指定协议和端口
  • lsof -i -P -n:禁用域名/服务名解析(加速输出)
    输出解读

    sshd   1234   root    3u  IPv4  28771  0t0  TCP *:22 (LISTEN)

    进程名、PID、用户及端口状态一目了然。


nmap 命令(扫描本地开放端口)

适用场景:深度检测隐藏端口

sudo apt install nmap    # 安装
sudo nmap -sT -p- 127.0.0.1  # 扫描本地所有TCP端口

参数说明

Linux如何查看开放端口

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

🔍 方法对比与选择建议

工具 优势 适用场景
netstat 兼容性强 旧系统基础检查
ss 速度快、资源占用低 现代系统日常运维
lsof 进程关联信息详细 排查端口占用问题
nmap 扫描全面、支持高级探测 安全审计与深度检测

❗ 注意事项

  1. 权限要求:查看进程信息需sudo或root权限
  2. 过滤技巧
    • 组合grepss -tuln | grep 443
    • 排除IPv6:netstat -tunlp | grep -v 'tcp6'
  3. 端口状态解释
    • LISTEN:服务正在监听
    • ESTABLISHED:活跃连接
    • TIME_WAIT:连接关闭中

定期检查端口可提升系统安全性,避免未授权服务运行,建议结合防火墙(如ufw)管理访问控制。


📚 引用说明

  • 命令手册:man netstat, man ss, man lsof, man nmap
  • 权威指南:《Linux Network Administrator’s Guide》(O’Reilly)
  • 协议标准:RFC 793 (TCP), RFC 768 (UDP)
    基于Linux核心文档及实践验证,适用于Debian、Ubuntu、CentOS等主流发行版。

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

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

相关推荐

  • Linux如何查看公网IP?快速获取方法有哪些?

    在Linux系统中,可通过命令行快速查看公网IP,常用方法包括:使用curl访问外部服务(如curl ifconfig.me、curl icanhazip.com或curl api.ipify.org),或利用dig查询DNS记录(dig +short myip.opendns.com @resolver1.opendns.com),若未安装curl,可用wget替代。

    2025年5月29日
    400
  • Linux下如何快速正确安装Apache?

    在Linux上安装Apache通常使用包管理器,Ubuntu/Debian系统运行sudo apt update && sudo apt install apache2,CentOS/RHEL系统运行sudo yum install httpd,安装后启动服务并设置开机自启:sudo systemctl start apache2 (或httpd) 和 sudo systemctl enable apache2 (或httpd),最后通过浏览器访问服务器IP验证是否成功。

    2025年6月13日
    000
  • Linux如何快速修改主机名?

    在 Linux 中永久修改主机名,推荐使用 hostnamectl set-hostname 新主机名 命令(需要 root 权限),并同步更新 /etc/hosts 文件中旧主机名为新名称以确保网络解析正常。

    2025年6月1日
    300
  • 如何在服务器上轻松安装Linux系统?

    制作Linux启动盘,从U盘或光盘启动服务器,在安装向导中选择服务器版本(如Ubuntu Server/CentOS),配置磁盘分区(通常需/、swap等)、网络、时区及root密码,完成基础系统安装,最后配置必要服务(如SSH)并更新系统,注意UEFI/BIOS启动设置。

    2025年5月30日
    200
  • Linux防火墙关闭状态如何查看?

    要查看Linux防火墙状态,使用命令: ,1. 若系统使用 **firewalld**:sudo firewall-cmd –state 或 sudo systemctl status firewalld ,2. 若使用 **ufw**:sudo ufw status ,输出显示 **running**(开启)或 **inactive**(关闭),无输出通常表示未安装或关闭。

    2025年6月12日
    100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN