1、命令简介
netstat:用于显示网络连接、路由表、接口统计、masquerade 连接和多播成员等网络相关信息。
2、命令语法
netstat [address_family_options] [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--symbolic|-N] [--extend|-e[--extend|-e]] [--timers|-o] [--program|-p] [--verbose|-v] [--continuous|-c] netstat {--route|-r} [address_family_options] [--extend|-e[--extend|-e]] [--verbose|-v] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--continuous|-c] netstat {--interfaces|-i} [--all|-a] [--extend|-e[--extend|-e]] [--verbose|-v] [--program|-p] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--continuous|-c]
3、命令描述
netstat
是一个命令行实用程序,用于显示系统上的所有网络连接。它显示所有的TCP、UDP和Unix套接字连接。除了已连接的套接字外,它还显示了等待传入连接的监听套接字。Netstat命令显示的信息类型由第一个参数控制,如下所示:
参数 (Argument) | 描述 (Description) |
(none) | 默认情况下,netstat显示打开套接字的列表。如果您不指定任何地址族,那么将打印所有已配置地址族的活动套接字。 |
--route, -r | 显示内核路由表。有关详细信息,请参阅route(8)中的描述。netstat -r和route -e产生相同的输出。 |
--groups, -g | 显示IPv4和IPv6的多播组成员信息。 |
--interfaces, -i | 显示所有网络接口的表格。 |
--masquerade, -M | 显示伪装连接列表。 |
--statistics, -s | 显示每个协议的摘要统计信息。 |
4、命令选项
选项 | 描述 (Description) |
--verbose, -v | 通过详细信息告诉用户正在进行的操作。 特别是打印有关未配置的地址族的一些有用信息。 |
--wide, -W | 不要通过使用根据需要的宽度来截断IP地址。 现在这是可选的,以避免破坏现有的脚本。 |
--numeric, -n | 显示数值地址,而不是尝试确定符号主机、端口或用户名。 |
--numeric-hosts | 显示数值主机地址,但不影响端口或用户名的解析。 |
--numeric-ports | 显示数值端口号,但不影响主机或用户名的解析。 |
--numeric-users | 显示数值用户ID,但不影响主机或端口名称的解析。 |
--protocol=family, -A | 指定要显示连接的地址族(也可以更好地描述为低级协议)。 family是一个由逗号(',')分隔的地址族关键字列表, 如inet、unix、ipx、ax25、netrom和ddp。 这具有与--inet、--unix (-x)、--ipx、--ax25、--netrom 和--ddp选项相同的效果。inet地址族包括原始、udp和tcp协议套接字。 |
-c, --continuous | 这将导致netstat连续每秒打印所选信息。 |
-e, --extend | 显示附加信息。使用此选项两次以获取最大的详细信息。 |
-o, --timers | 包括与网络计时器相关的信息。 |
-p, --program | 显示每个套接字所属的程序的PID和名称。 |
-l, --listening | 仅显示侦听套接字。 (这些默认情况下被省略。) |
-F | 从FIB打印路由信息。 (这是默认设置。) |
-C | 从路由缓存中打印路由信息。 |
5、使用示例
1)没有任何参数时,netstat命令会显示有关Linux网络子系统的信息。默认情况下,netstat显示一个打开套接字的列表。
$ netstat
我们可以使用-a
选项来显示所有套接字,包括监听和非监听的,以及TCP、UDP、RAW、Unix套接字等协议。
2)使用-t选项可以仅显示TCP套接字。
$ netstat -t
3)使用-u选项可以仅显示UDP连接。
$ netstat -u
4)默认情况下,netstat命令仅显示已连接的套接字。但是,我们可以使用-a选项来显示其他类型的套接字。
$ netstat -au
5)使用-l命令可以显示监听套接字。以下是所有TCP监听套接字的示例。l
$ netstat -lt
6)我们可以使用-p选项来显示套接字所属的PID和程序名称。使用-e选项可以添加额外信息,如用户。但是,要以root身份运行此命令以查看所有PID。
$ netstat -pt
7)我们可以使用-n选项来禁用符号名称的DNS解析(显示IP地址而不是名称)。
$ netstat -ant
8)使用-s选项可以显示按协议分类的网络套接字的摘要。默认情况下,显示TCP、UDP、ICMP和IP协议的统计信息。
$ netstat -su
9)netstat命令还显示内核路由表。我们可以使用-r或--route选项来显示内核路由表。
$ netstat -r
10)我们可以使用-i选项来显示所有网络接口的表。
$ netstat -i
11)我们可以在netstat -i命令中使用-e选项扩展内核接口表的详细信息
$ netstat -i -e