在 ss
命令的输出中,显示了一条 TCP 连接记录:
tcp ESTAB 0 0 10.8.0.1:42384 10.8.0.10:21771
以下是这条记录的详细解释:
tcp
:
表示这是一个 TCP 协议的连接。
ESTAB
:
代表连接处于“已建立”状态(ESTABLISHED
)。这意味着两台设备之间的连接已经成功建立,并且正在进行数据通信。
0 0
:
这些数字通常代表发送和接收的队列大小,表示当前发送和接收的数据量很小或没有积压的数据包。
10.8.0.1:42384
:
这是本地端的 IP 地址和端口号。10.8.0.1
是本地设备的 IP 地址,42384
是本地的端口号。
10.8.0.10:21771
:
这是远程端的 IP 地址和端口号。10.8.0.10
是远程设备的 IP 地址,21771
是远程的端口号。
要查看哪个进程正在使用特定的网络连接,可以使用以下工具和方法:
ss
命令ss
命令可以显示所有当前的套接字连接,并且可以与 -p
参数结合使用来显示与每个连接相关的进程信息。
运行以下命令以查找使用特定连接的进程:
sudo ss -tp 'dport = :21771' 'sport = :42384'
解释:
-t
:显示 TCP 连接。
-p
:显示与每个连接相关的进程信息。
'dport = :21771'
:过滤目的端口为 21771
的连接。
'sport = :42384'
:过滤源端口为 42384
的连接。
这样,ss
会显示匹配的连接以及相关的进程信息。
netstat
命令netstat
命令也是一个查看网络连接的工具,虽然在现代系统中通常推荐使用 ss
,但它仍然可以很好地完成任务。
运行以下命令:
sudo netstat -tnp | grep '10.8.0.1:42384'
解释:
-t
:仅显示 TCP 连接。
-n
:以数字形式显示地址和端口号。
-p
:显示每个连接的进程 ID 和进程名称。
grep
用于筛选特定的源地址和端口号。
lsof
命令lsof
是一个更通用的工具,可以列出与文件、网络连接等相关的所有进程信息。
运行以下命令:
sudo lsof -i TCP:42384
解释:
-i TCP:42384
:显示使用本地端口 42384
的所有 TCP 连接。
或者,如果你想更具体地查看 IP 地址和端口号:
sudo lsof -i @10.8.0.1:42384
fuser
命令fuser
是一个更直接的工具,用于查看哪些进程在使用特定的网络端口。
运行以下命令:
sudo fuser 42384/tcp
解释:
42384/tcp
:指定要查看的 TCP 端口号。
这个命令将返回使用端口 42384
的进程 ID,你可以进一步使用 ps
命令查看详细信息:
ps -p <PID> -o pid,comm,args
其中 <PID>
是上面 fuser
返回的进程 ID。
通过这些方法,你可以找到使用特定网络连接的进程,并获得相关的详细信息。
显示信息
tcp 0 0 10.8.0.1:42384 10.8.0.10:21771 ESTABLISHED 2536/python3
这条输出表明一个使用 python3
解释器的进程(进程 ID 为 2536
)正在使用从 10.8.0.1:42384
到 10.8.0.10:21771
的 TCP 连接,连接状态为 ESTABLISHED
(已建立)。
tcp
:表示这是一个 TCP 协议的连接。
0 0
:表示发送和接收的队列大小,通常表示目前没有积压的数据包。
10.8.0.1:42384
:本地 IP 地址和端口号,表示此连接来自 10.8.0.1
的 42384
端口。
10.8.0.10:21771
:远程 IP 地址和端口号,表示此连接目标为 10.8.0.10
的 21771
端口。
ESTABLISHED
:连接状态为“已建立”,即连接已经成功建立,并且正在进行通信。
2536/python3
:使用此连接的进程信息,2536
是进程 ID(PID),python3
是执行该进程的程序名。
查看进程详情:
你可以使用 ps
命令来查看 PID 2536
的更多信息:
ps -p 2536 -o pid,ppid,comm,user,etime,args
这将显示有关该进程的详细信息,包括父进程 ID、启动用户、运行时间和启动参数等。
查看进程执行的脚本:
如果你想了解 python3
正在运行哪个脚本,可以通过 lsof
或 ps
查看:
sudo lsof -p 2536
或者,使用 ps
:
ps -p 2536 -o args=
这将显示该进程的完整启动命令行,包括所执行的 Python 脚本。
终止进程(如果有需要): 如果你确定此进程不应该运行,或者需要停止它,可以使用以下命令终止它:
sudo kill 2536
或者强制终止:
sudo kill -9 2536