📅  最后修改于: 2020-12-09 05:41:53             🧑  作者: Mango
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命令,它将显示传统的Linux安装错误消息“未找到命令'netstat'”。
要安装它,执行以下命令:
sudo apt install net-tools
上面的命令将要求输入管理密码以安装该命令。如果成功安装,它将产生如下输出:
让我们看一下netstat命令的以下示例:
“ -a”选项用于显示所有现有连接。执行netstat命令,如下所示:
netstat- a
上面的命令将列出所有现有连接。考虑以下输出:
我们只能列出TCP或UDP连接。要仅显示TCP连接,请使用“ t”选项执行命令,如下所示:
netstat -at
上面的命令将列出所有TCP连接。考虑以下输出:
要仅显示UDP连接,请使用“ u”选项执行它,如下所示:
netstat -au
上面的命令将列出所有UDP连接。考虑以下输出:
netstat命令的默认行为是通过反向DNS查找找出每个IP地址的主机名。这会导致输出变慢。如果我们不想知道主机名,则通过使用它禁止显示“ n”选项来禁用反向DNS查找:考虑以下命令:
netstat -ant
上面的命令将禁用反向DNS查找,并显示所有TCP连接。考虑以下输出:
侦听连接是可用于连接请求的连接。任何网络进程都会为侦听传入的连接请求保留一个开放端口。可以通过执行以下命令列出这些连接:
netstat -tnl
上面的命令将列出所有TCP连接的侦听连接。考虑以下输出:
在检查网络统计信息时,有时对于特定连接或用户的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输出,请使用“ c”选项执行命令,如下所示:
netstat -ct
上面的命令将连续显示TCP连接。考虑以下输出:
“ g”选项用于显示多播组信息。要printIpv4和Ipv6的详细信息,请执行以下命令:
netstat -g
上面的命令将显示多播组信息。考虑以下输出: