📜  netstat pid - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:44:34.416000             🧑  作者: Mango

介绍Netstat命令

netstat是一个非常有用的命令,它可以显示网络状态。它可以显示你的计算机网络接口(网络设备)、协议、连接状态、等等。我们可以使用 netstat 来获取有关网络连接的信息,例如打开的端口、远程服务器的IP地址和端口、协议、网络状态等。

在Linux系统中,我们通常使用 netstat 命令来查看网络状态。在本文中,我们将简要介绍如何使用 netstat 命令,并让你了解它的常用选项。

在命令行中使用netstat

在终端中输入 netstat 命令将显示当前计算机网络的所有连接。使用 -p 选项可以使 netstat 显示与该连接关联的进程ID(PID)。

netstat -p

其中 -p 选项可以与其他选项一起使用,例如 -a(所有连接)、-t(TCP连接)和 -u(UDP连接)。

netstat -atp
解析 netstat 命令的输出

netstat 命令的输出很详细,包括了四个列,分别为:协议、本地地址、远程地址和状态/进程。

以下是 netstat 命令输出的例子:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 192.168.0.10:52250      13.107.21.200:https     ESTABLISHED 2505/firefox
tcp        0      0 192.168.0.10:45822      52.173.197.53:https     ESTABLISHED 2602/firefox
tcp        0      0 192.168.0.10:8080       192.168.0.1:http        TIME_WAIT   -

从输出信息中我们可以看到:

  • Proto:连接使用的协议
  • Recv-Q:等待接收的数据量
  • Send-Q:等待发送的数据量
  • Local Address:本地IP地址和端口号
  • Foreign Address:远程服务器的IP地址和端口号
  • State:连接的当前状态
  • PID/Program name:与该连接关联的进程的PID和程序名称

其中,进程的名称可以被省略,这时 PID/Program name 只会显示进程ID。

图形化操作 netstat 命令

可以使用 ss(Socket Statistic)或 lsof 来代替 netstat 命令,并能够在终端中更直观地查看网络连接信息。

使用 ss 命令

ss 命令工具是一个非常流行的网络监视工具。它可以更快、更准确地查看网络状态。以下是使用 ss 命令来查看TCP连接的示例:

ss -t
使用 lsof 命令

lsof 命令是一个可以显示打开文件和进程的工具。它可以显示文件、套接字、网络连接等I/O相关的信息。以下是使用 lsof 命令来查看TCP连接的示例:

lsof -iTCP -sTCP:ESTABLISHED
总结

netstat 命令是一个非常有用的工具,它可以使我们更好地了解网络状态。使用 netstat 命令不仅可以监视和调试网络连接,还可以识别哪些进程正在使用网络资源。