插件窝 干货文章 linux怎么查看端口

linux怎么查看端口

端口 sudo bash 显示 645    来源:    2025-04-06

在Linux系统中,查看端口信息(如监听、连接状态等)有多种常用方法,以下是详细总结:


1. 查看监听中的端口

netstat 命令

sudo netstat -tuln
  • 参数说明
    • -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

ss 命令(推荐,更高效)

sudo ss -tuln
  • 参数与 netstat 类似,但性能更好(现代Linux系统推荐使用)。

lsof 命令

sudo lsof -i -P -n | grep LISTEN
  • 参数说明
    • -i:显示网络连接
    • -P -n:禁止端口到服务名的转换(直接显示数字)。

2. 查看所有活动的连接(包括已建立的连接)

sudo netstat -tunp  # 显示进程信息
sudo ss -tunp       # 更高效的替代方案
  • 参数说明
    • -p:显示占用端口的进程(需root权限)。

3. 检查特定端口是否被占用

sudo lsof -i :22          # 检查22端口
sudo ss -tunlp | grep 22  # 过滤22端口

4. 查看端口对应的服务

通过 /etc/services 文件

grep 22 /etc/services
  • 此文件记录了常见端口与服务名的映射关系。

使用 nmap 扫描本地端口

sudo nmap -sT -p- 127.0.0.1  # 扫描所有端口(耗时较长)

5. 防火墙查看开放的端口

iptables

sudo iptables -L -n -v

firewalld

sudo firewall-cmd --list-ports

6. 快速验证端口是否开放(远程/本地)

telnet 127.0.0.1 22     # 测试本地22端口
nc -zv 127.0.0.1 22     # 使用netcat测试
curl -v telnet://127.0.0.1:22  # 使用curl测试

注意事项

  1. 权限要求:查看进程信息(如 -p 参数)通常需要 sudo
  2. 工具安装
    • 如果命令不存在,可通过包管理器安装: bash sudo apt install net-tools lsof nmap # Debian/Ubuntu sudo yum install net-tools lsof nmap # CentOS/RHEL

根据需求选择合适的方法,sslsof 是现代Linux系统中的首选工具。