PORT AND PROCESS
端口
一、Windows环境
查看端口的情况
- 查找所有运行的端口
1 | |
- 查找哪些进程在使用哪一个端口
1 | |
example
1 | |
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 19172
- 这表示有一个进程正在监听所有IPV4地址的端口80,进程id为19172。通常这表示一个Web服务器正在运行并且等待连接。
TCP 10.0.166.165:49154 157.255.5.249:8080 ESTABLISHED 10528
- 这表示有一个从本地地址10.0.166.165的49154端口到远程ip地址157.255.5.249的8080端口的tcp连接已经建立进程id为10528。
TCP 10.0.166.165:52123 111.30.170.28:8081 TIME_WAIT 0
- 这表示有一个从本地IP地址10.0.166.165的52123端口到远程IP地址111.30.170.28的8081端口的TCP连接已经关闭,目前处于TIME_WAIT状态。
UDP [fe80::f006:80df:58cd:e046%12]:1900 *:* 7880
- 这表示有一个进程正在监听IPv6地址的1900端口(通常用于UPnP),进程ID为7880。
为什么输出80端口的有关联的信息会输出其他的端口的一些信息?
尽管这个连接的端口是8080而不是80,但它可能与80端口的服务有关联,特别是如果它们属于同一个应用程序或服务,并且8080端口被用作80端口的替代或补充。
查看进程的情况
get-process命令
1 | |
example
1 | |
1 | |
二、Linux环境
查看端口的情况
ss命令(socket statistics)
| 后面可跟参数 | 释义 | 详解 |
|---|---|---|
| -a | –all | 显示所有套接字 |
| -l | –listening | 显示监听状态的套接字 |
| -e | –extended | 显示详细的套接字信息 |
| -m | –memory | 显示套接字的内存使用情况 |
| -p | –processes | 显示使用套接字的进程 |
| -i | –info | 显示 TCP内部信息 |
| -s | –summary | 显示套接字使用概况 |
| -4 | –ipv4 | 仅显示IPv4的套接字 |
| -6 | –ipv6 | 仅显示IPv6的套接字 |
| -t | –tcp | 仅显示 TCP套接字 |
过滤出监听在某一个端口的套接字信息
ss -al |grep :3355
1 | |
4096是缓冲区的大小(接受缓冲区的大小)。
lsof命令
这个命令的参数很杂,这里讲一下我主要的用途吧。要用管理员的权限使用此命令
首先我在Ubuntu上的Docker面开了一个tomcat端口,然后映射到主机3355端口,我想查看这个3355端口的进程号。
1、找到套接字的文件描述符。
1 | |
为什么开启一个监听的端口会有两个进程?
分别对应于IPv4(docker-pr 3650)和IPv6(docker-pr 3656)地址。这意味着,无论客户端使用IPv4还是IPv6地址连接到端口3355,Docker容器都可以接收和处理请求。
PORT AND PROCESS
http://example.com/2024/08/31/Linux-PORT/