在 Ubuntu 中,你可以使用多种命令来查看进程的网络连接。以下是一些常用的方法:
netstat
命令:
netstat
是一个用于显示网络连接、路由表和接口统计信息的工具。你可以使用它来查看哪些进程正在监听特定的端口或已经建立了连接。
netstat -tulnp
参数解释:
-t
:显示 TCP 连接。-u
:显示 UDP 连接。-l
:显示监听状态的连接。-n
:以数字形式显示地址和端口号。-p
:显示进程 ID 和程序名称。ss
命令:
ss
是 netstat
的替代品,它提供了更多的功能和更好的性能。使用方法类似于 netstat
。
ss -tulnp
参数解释:
-t
:显示 TCP 连接。-u
:显示 UDP 连接。-l
:显示监听状态的连接。-n
:以数字形式显示地址和端口号。-p
:显示进程 ID 和程序名称。lsof
命令:
lsof
是一个用于列出打开文件的工具,但它也可以用来查看进程的网络连接,因为网络连接在 Unix/Linux 系统中被视为文件。
lsof -i
参数解释:
-i
:显示网络连接信息。你可以进一步使用 -P
(大写)来显示端口号而不是服务名称,使用 -n
来显示 IP 地址而不是主机名。
fuser
命令:
fuser
可以用来显示哪些进程正在使用指定的文件、文件系统或 Unix 域套接字。
fuser -n tcp 80/tcp
这将显示正在使用 TCP 端口 80 的进程。
请注意,某些命令可能需要 root 权限才能显示所有进程的网络连接信息。如果你遇到权限问题,可以在命令前加上 sudo
来获取必要的权限:
sudo netstat -tulnp
或者
sudo ss -tulnp
在使用这些命令时,请确保你的系统已经安装了相应的工具。如果没有安装,你可以使用包管理器来安装它们,例如:
sudo apt update
sudo apt install net-tools # 安装 netstat 和相关工具
sudo apt install iproute2 # 安装 ss
sudo apt install lsof # 安装 lsof