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

linux怎么查看端口号

端口 sudo bash 占用 561    来源:    2025-04-06

在Linux系统中,查看端口号(端口占用情况)可以通过以下几种常用方法:


1. 查看监听中的端口(服务器端)

netstat 命令(传统工具,部分新系统需安装)

sudo netstat -tulnp
  • 参数说明
    • -t:TCP端口
    • -u:UDP端口
    • -l:仅显示监听中的端口
    • -n:以数字形式显示端口(不解析服务名称)
    • -p:显示占用端口的进程名和PID(需root权限)

ss 命令(更现代、更快速的替代工具)

sudo ss -tulnp
  • 参数与netstat类似,但性能更高,推荐使用。

2. 查看所有活跃连接(包括客户端)

sudo netstat -anp   # 或使用 ss -anp
  • 显示所有TCP/UDP连接(包括已建立的连接和监听端口)。

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

sudo lsof -i :端口号  # 例如检查80端口:sudo lsof -i :80
  • 输出示例:显示占用该端口的进程名、PID、用户等信息。

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

iptables(传统防火墙)

sudo iptables -L -n

firewalld(CentOS/RHEL)

sudo firewall-cmd --list-ports

ufw(Ubuntu/Debian)

sudo ufw status

5. 快速测试端口连通性

Telnet测试

telnet IP地址 端口号  # 如 telnet 192.168.1.1 80

nc(netcat)工具

nc -zv IP地址 端口号  # 如 nc -zv localhost 22

常见场景示例

  • 查找占用80端口的进程bash sudo lsof -i :80
  • 检查SSH默认端口(22)是否监听bash sudo ss -tlnp | grep 22

注意事项

  1. 需要root权限才能查看所有进程的端口占用(使用sudo)。
  2. 如果命令不存在,安装对应工具:
    • net-tools(包含netstat):sudo apt install net-tools(Debian/Ubuntu)或 sudo yum install net-tools(CentOS/RHEL)。
    • lsofsudo apt install lsofsudo yum install lsof

根据需求选择合适的方法即可快速定位端口信息!