端口号与应用的对应查询方法

为什么要关心端口号?

  • 端口是传输层的"门牌号" ,应用进程通过它来收发数据。
  • 当电脑运行多个应用时,端口帮助操作系统区分"这份数据应该交给哪个应用"。
  • 所以,如果你知道某个应用的端口号,就能追踪它的网络行为;反之,如果你知道某个端口,就能查到对应的应用。

查看端口号(从端口 → 应用)

📍 常见操作系统方法:

1. Windows

  • 命令行方式

    netstat -ano

    • -a 显示所有连接和监听端口
    • -n 数字形式显示地址和端口
    • -o 显示 PID(进程号)

结果类似:

yaml 复制代码
TCP    0.0.0.0:80      0.0.0.0:0    LISTENING    1234

表示 进程 PID=1234 占用了 80 端口

  • 进一步找到应用名
yaml 复制代码
tasklist | findstr 1234

就能查出是哪个应用占用了端口。


2. Linux / macOS

  • netstat 命令

    netstat -tunlp

    • -t TCP
    • -u UDP
    • -n 数字显示
    • -l 监听中的端口
    • -p 显示进程 PID 和程序名
  • ss 命令(更现代)

    ss -tunlp

输出会告诉你某个端口对应的进程。


已知应用查对应端口(从应用 → 端口)

1. 在 Windows

  • 方法一: netstat + PID
arduino 复制代码
netstat -ano | findstr "LISTENING"
    • -a 显示所有连接和监听端口
    • -n 用数字显示地址和端口号
    • -o 显示对应的进程 PID
    • 然后通过 任务管理器
xml 复制代码
tasklist | findstr <PID>

就能知道哪个应用开了哪些端口。

  • 方法二:PowerShell 更直观
vbnet 复制代码
Get-Process -Id (Get-NetTCPConnection | Where-Object { $_.State -eq "Listen" }).OwningProcess

直接列出监听端口的进程。


2. 在 Linux / macOS

  • 方法一: lsof
css 复制代码
lsof -i -P -n | grep LISTEN
    • -i 网络相关
    • -P 显示端口号而不是服务名
    • -n 不解析域名(更快)
    • 输出结果会显示:应用 → 协议 → 端口。
  • 方法二: netstat

    netstat -tulnp

    • -t TCP
    • -u UDP
    • -l listening
    • -n 数字显示
    • -p 显示进程名/ID。
  • 方法三: ss (更现代,替代 netstat)

    ss -tulnp


3. 直观比喻

  • 房子(机器) :计算机
  • 房间(应用) :进程
  • 门(端口) :对外开放的入口
  • 想知道某个房间开了哪些门,就去查这间房间对应的"门牌号"。

🛠 举例

比如你运行了一个 本地 Node.js 服务,想查它监听的端口:

perl 复制代码
ps -ef | grep node
# 假设得到 PID=12345

lsof -i -P -n | grep 12345

结果可能显示:

sql 复制代码
node   12345 user   TCP 0.0.0.0:3000 (LISTEN)

说明这个 Node 应用监听了 3000 端口


常见应用与端口的映射

协议/应用 默认端口
HTTP 80
HTTPS 443
FTP 21
SSH 22
MySQL 3306
Redis 6379
PostgreSQL 5432
WebSocket 一般跟 HTTP/HTTPS 一致(80/443)
本地开发(Node.js、Vue、React 等) 常见 3000, 5173, 8080 等

结合 TCP/IP 模型看待

  • 应用层:具体应用(浏览器、数据库、游戏客户端)
  • 传输层:应用占用某个端口(80, 443, 3306...),TCP/UDP 负责传输
  • 网络层:IP 地址负责找到主机
  • 链路层:MAC 地址负责找到网卡

所以:应用 = 进程 端口号 网络连接

端口号就是把 操作系统中的进程网络层的通信 绑在一起的关键。

相关推荐
天才测试猿7 小时前
Jmeter接口测试:jmeter组件&元件介绍,利用取样器中http发送请求
自动化测试·软件测试·网络协议·测试工具·jmeter·http·接口测试
银安7 小时前
从分层思想走到 TCP/IP 模型
网络协议·tcp/ip
程序猿(雷霆之王)8 小时前
应用层协议——HTTP
网络·网络协议·http
情深不寿3179 小时前
传输层————TCP
linux·网络·c++·tcp/ip
摆个烂9 小时前
Apache HTTP基于端口的多站点部署完整教程
网络协议·http·apache
weixin_4196583116 小时前
HTTP协议介绍
网络·网络协议·http
ZeroNews内网穿透18 小时前
什么是TCP/UDP/HTTP?它们如何影响你的内网穿透体验?
tcp/ip·http·udp
程序猿(雷霆之王)19 小时前
传输层协议——UDP/TCP
网络·tcp/ip·udp
蒋星熠19 小时前
网络协议深度解析:从OSI七层模型到现代互联网通信的技术实战
网络·后端·python·网络协议·http·性能优化·tcp