📜  Linux netstat

📅  最后修改于: 2020-12-09 05:41:53             🧑  作者: Mango

Linux netstat命令

Linux netstat命令代表网络统计信息。它显示有关不同接口统计信息的信息,包括打开的套接字,路由表和连接信息。此外,它可以用于显示所有套接字连接(包括TCP,UDP)。除了已连接的套接字外,它还会显示等待连接的套接字。它是网络和系统管理员的便捷工具。

句法:

netstat命令支持各种命令行选项。 netstat命令的基本语法如下:

netstat 

选项:

它支持多个命令行选项,以print有关Linux网络子系统的信息。输出由第一个参数控制。让我们看一下第一个参数的列表:

(无):如果未指定任何选项,它将执行默认命令,该命令显示所有已配置地址族的打开套接字的列表。

–route,-r:用于print内核路由表。 “ netstat -r”命令和“ route -e”命令将产生相同的输出。

–groups -g:用于显示不同IP版本(IPv4和IPV6)的组播组成员信息。

–interfaces,-i:用于显示所有网络接口。

–masquerade,-M:显示伪装的连接。

–statistics,-s:此选项显示每个协议的摘要统计信息。

其他选项:

–verbose -v:用于显示详细的输出。这是一个方便的工具,用于显示有关未配置的地址系列的详细信息。

–wide,-W:用作输出,不会根据需要减少IP地址。仍然可以选择不破坏现有脚本。

–numeric,-n:用于显示数字地址或定义符号主机,端口或用户名。

–numeric-hosts:用于显示数字主机地址;它不会影响端口或用户名的解析。

–numeric-ports:用于显示数字端口号,它不影响主机名或用户名的属性和对象。

–numeric-users:用于显示数字用户ID,它不影响主机名或端口名的解析。

–protocol = family,-A:用于指定要显示其连接的地址族。地址族是一个逗号(','),类似于Inet,inet6,Unix,ax25,Netrom,Econet,Ipx,DDP和Bluetooth。

-c,–continuous:用于每秒连续显示所选信息。

-e,–extend:用于扩展输出。此选项可以使用两次以获取最大细节。

-o,–timers:用于包括与网络计时器相关的信息。

-p,–program:用于将PID和进程名称显示到相应的套接字。

-l,-listening:仅用于显示侦听套接字。

-a,–all:用于显示两个套接字(即,监听和非监听)。通过指定“ –interfaces”选项,我们可以列出未启动的接口。

-F:用于显示来自FIB的路由信息。

-C:用于显示路由缓存中的路由信息。

安装netstat命令

如果您的计算机上未安装netstat命令,它将显示传统的Linux安装错误消息“未找到命令'netstat'”。

要安装它,执行以下命令:

 sudo apt install net-tools

上面的命令将要求输入管理密码以安装该命令。如果成功安装,它将产生如下输出:

netstat命令的示例

让我们看一下netstat命令的以下示例:

  • 显示所有连接
  • 仅显示TCP或UDP连接
  • 禁用反向DNS查找以获得更快的输出
  • 仅显示监听连接
  • 显示Pid和Uid
  • 显示统计
  • 显示内核路由信息
  • 展示广告网络接口
  • 连续显示netstat输出
  • 显示组播组信息

显示所有连接

“ -a”选项用于显示所有现有连接。执行netstat命令,如下所示:

netstat- a

上面的命令将列出所有现有连接。考虑以下输出:

仅显示TCP或UDP连接

我们只能列出TCP或UDP连接。要仅显示TCP连接,请使用“ t”选项执行命令,如下所示:

netstat -at

上面的命令将列出所有TCP连接。考虑以下输出:

要仅显示UDP连接,请使用“ u”选项执行它,如下所示:

netstat -au

上面的命令将列出所有UDP连接。考虑以下输出:

禁用反向DNS查找以获得更快的输出

netstat命令的默认行为是通过反向DNS查找找出每个IP地址的主机名。这会导致输出变慢。如果我们不想知道主机名,则通过使用它禁止显示“ n”选项来禁用反向DNS查找:考虑以下命令:

netstat -ant

上面的命令将禁用反向DNS查找,并显示所有TCP连接。考虑以下输出:

仅显示监听连接

侦听连接是可用于连接请求的连接。任何网络进程都会为侦听传入的连接请求保留一个开放端口。可以通过执行以下命令列出这些连接:

netstat -tnl

上面的命令将列出所有TCP连接的侦听连接。考虑以下输出:

显示Pid和Uid

在检查网络统计信息时,有时对于特定连接或用户的Pid和Uid至关重要。可以通过执行'p'选项列出Pid和Uid。执行以下命令:

sudo netstat -nlpt

上面的命令将列出所有TCP连接的Pid。必须以sudo特权执行此命令。否则,它将不会显示Pid。考虑以下输出:

显示统计

netstat命令还是一个方便的工具,用于显示网络统计信息,例如没有协议发送和接收的数据包。要显示网络统计信息,请使用“ -s”选项执行命令,如下所示:

netstat -s

上面的命令将显示网络统计信息。考虑以下输出:

显示内核路由信息

'r'选项用于显示内核路由信息。它将显示与route命令相同的输出。要显示路由信息,请执行以下命令:

netstat -rn

上面的命令将显示路由信息。 'n'选项将禁用主机名查找。考虑以下输出:

展示广告网络接口

我们还可以使用netstat命令显示有关网络接口的信息。要显示网络接口,请使用“ i”选项执行命令,如下所示:

netstat -i

上面的命令将列出网络接口和相关信息。考虑以下输出:

连续显示netstat输出

要连续显示netstat输出,请使用“ c”选项执行命令,如下所示:

netstat -ct

上面的命令将连续显示TCP连接。考虑以下输出:

显示组播组信息

“ g”选项用于显示多播组信息。要printIpv4和Ipv6的详细信息,请执行以下命令:

netstat -g

上面的命令将显示多播组信息。考虑以下输出: