Linux netstat 命令

Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。本文主要介绍Linux netstat 命令。

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

推荐阅读
cjavapy编程之路首页