命令行手册

Man » netstat 手册在线 - netstat 手册页的详细在线文档

🌍
netstat - 打印网络连接、路由表、接口统计信息、伪装连接和多播成员

概要

netstat [address_family_options] [--tcp|-t] [--udp|-u] [--udplite|-U] [--sctp|-S] [--raw|-w]
[--l2cap|-2] [--rfcomm|-f] [--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] [--wide|-W]

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]

netstat {--groups|-g} [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users]
[--continuous|-c]

netstat {--masquerade|-M} [--extend|-e] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--continuous|-c]

netstat {--statistics|-s} [--tcp|-t] [--udp|-u] [--udplite|-U] [--sctp|-S] [--raw|-w]

netstat {--version|-V}

netstat {--help|-h}

address_family_options:

[-4|--inet] [-6|--inet6] [--protocol={inet,inet6,unix,ipx,ax25,netrom,ddp,bluetooth, ... }]
[--unix|-x] [--inet|--ip|--tcpip] [--ax25] [--x25] [--rose] [--ash] [--bluetooth] [--ipx]
[--netrom] [--ddp|--appletalk] [--econet|--ec]

注意事项

此程序已基本过时。netstat 的替代方案是 ss。netstat -r 的替代方案是 ip route。netstat -i 的替代方案是 ip -s link。netstat -g 的替代方案是 ip maddr。

描述

Netstat 打印有关 Linux 网络子系统的信息。打印的信息类型由第一个参数控制,如下所示:

(无)

默认情况下,netstat 显示一个打开的套接字列表。如果您没有指定任何地址族,则将打印所有已配置地址族的活动套接字。

--route, -r

显示内核路由表。有关详细信息,请参阅 route(8) 中的说明。netstat -r 和 route -e 产生相同的输出。

--groups, -g

显示 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

指定要显示其连接的地址族(或者更准确地说,是低级协议)。family 是一个逗号 (,) 分隔的地址族关键字列表,例如 inet、inet6、unix、ipx、ax25、netrom、econet、ddp 和 bluetooth。这与使用 --inet|-4、--inet6|-6、--unix|-x、--ipx、--ax25、--netrom、--ddp 和 --bluetooth 选项具有相同的效果。

地址族 inet(IPv4)包括原始套接字、UDP、UDPLite 和 TCP 协议套接字。

地址族 bluetooth(IPv4)包括 L2CAP 和 RFCOMM 协议套接字。

-c, --continuous

这将导致 netstat 每秒打印一次所选信息。

-e, --extend

显示其他信息。使用此选项两次以获得最大的详细信息。

-o, --timers

包括与网络计时器相关的信息。

-p, --program

显示每个套接字所属的程序 PID 和名称。如果套接字属于内核(例如,内核服务,或者进程已退出但套接字尚未完成关闭),则显示一个连字符。

-l, --listening

仅显示侦听套接字。(默认情况下,这些套接字将被省略。)

-a, --all

显示侦听和非侦听套接字。与 --interfaces 选项一起使用时,显示未启动的接口。

-F

从 FIB 打印路由信息。(这是默认设置。)

-C

从路由缓存中打印路由信息。

输出

   活动 Internet 连接(TCP、UDP、UDPLite、原始套接字)
   Proto

套接字使用的协议(tcp、udp、udpl、raw)。

   Recv-Q
已建立连接:用户程序未复制的字节数。侦听状态:从 Kernel 2.6.18 开始,此列包含当前的 syn 积压。

   Send-Q
已建立连接:远程主机未确认的字节数。侦听状态:从 Kernel 6.18 开始,此列包含 syn 积压的最大大小。

   本地地址

套接字本地端地址和端口号。除非指定了 --numeric (-n) 选项,否则套接字地址将被解析为其规范主机名(FQDN),并且端口号将被转换为相应的服务名称。


外地地址

套接字的远程端地址和端口号。类似于“本地地址”。

状态

套接字的状态。由于在原始模式下没有状态,并且通常 UDP 和 UDPLite 也不使用状态,因此此列可以留空。通常,这可以是以下几种值之一:

ESTABLISHED
套接字已建立连接。

SYN_SENT
套接字正在积极尝试建立连接。

SYN_RECV
已从网络接收到连接请求。

FIN_WAIT1
套接字已关闭,并且正在关闭连接。

FIN_WAIT2
连接已关闭,套接字正在等待来自远程端的关闭。

TIME_WAIT
套接字正在等待关闭后处理仍存在于网络中的数据包。

CLOSE
套接字未被使用。

CLOSE_WAIT
远程端已关闭,正在等待套接字关闭。

LAST_ACK
远程端已关闭,套接字已关闭。正在等待确认。

LISTEN 套接字正在侦听传入的连接。除非指定了 --listening (-l) 或 --all (-a) 选项,否则此类套接字不会包含在输出中。

CLOSING
两个套接字都已关闭,但我们仍然没有发送所有数据。

DISCONNECTING
套接字的状态未知。

用户

套接字所有者的用户名或用户 ID (UID)。

PID/程序名称

一个以斜杠分隔的对,表示拥有该套接字的进程的进程 ID (PID) 和进程名称。--program 选项会导致包含此列。您还需要超级用户权限才能查看您不拥有的套接字上的此信息。此标识信息尚未适用于 IPX 套接字。

定时器

与此套接字关联的 TCP 定时器。格式为 timer(a/b/c)。定时器可以是以下值之一:

off 没有为该套接字设置定时器。

on 套接字的重传定时器处于活动状态。

keepalive
保活定时器处于活动状态。

timewait
连接正在关闭,并且套接字的 timewait 定时器处于活动状态。

括号中的值:

a 定时器值。

b 发送的重传次数。

c 发送的保活次数。

活动的 UNIX 域套接字
协议

套接字使用的协议(通常为 unix)。

RefCnt

引用计数(即通过此套接字连接的进程数)。

标志

显示的标志是 SO_ACCEPTON(显示为 ACC)、SO_WAITDATA (W) 或 SO_NOSPACE (N)。如果相应的进程正在等待连接请求,则 SO_ACCECPTON 用于未连接的套接字。其他标志通常不重要。

类型

有几种类型的套接字访问:

SOCK_DGRAM
套接字用于数据报(无连接)模式。

SOCK_STREAM
这是一个流(连接)套接字。

SOCK_RAW
套接字用作原始套接字。

SOCK_RDM
这提供可靠的消息传递。

SOCK_SEQPACKET
这是一个顺序数据包套接字。

SOCK_PACKET
原始接口访问套接字。

UNKNOWN

无论未来会给我们带来什么——请在此处填写。

状态

此字段将包含以下关键字之一:

FREE:套接字未分配

LISTENING:套接字正在监听连接请求。只有在指定 `--listening (-l)` 或 `--all (-a)` 选项时,此类套接字才会包含在输出中。

CONNECTING:套接字即将建立连接。

CONNECTED:套接字已连接。

DISCONNECTING:套接字正在断开连接。

(空):套接字未连接到其他套接字。

DISCONNECTING:此状态不应发生。

PID/程序名称

拥有套接字的进程的进程 ID (PID) 和进程名称。更多信息请参见上面的“活动互联网连接”部分。

路径

这是相应进程连接到套接字的路径名。

活动 IPX 套接字

(需要由了解此的人来完成)

活动 NET/ROM 套接字

(需要由了解此的人来完成)

活动 AX.25 套接字

(需要由了解此的人来完成)

文件

/etc/services —— 服务转换文件

/proc —— /proc 文件系统的挂载点,通过以下文件提供对内核状态信息的访问。

/proc/net/dev —— 设备信息

/proc/net/raw —— 原始套接字信息

/proc/net/tcp —— TCP 套接字信息

/proc/net/udp —— UDP 套接字信息

/proc/net/udplite —— UDPLite 套接字信息

/proc/net/igmp —— IGMP 多播信息

/proc/net/unix —— Unix 域套接字信息

/proc/net/ipx —— IPX 套接字信息

/proc/net/ax25 —— AX25 套接字信息

/proc/net/appletalk —— DDP(Appletalk)套接字信息

/proc/net/nr —— NET/ROM 套接字信息

/proc/net/route —— IP 路由信息

/proc/net/ax25_route —— AX25 路由信息

/proc/net/ipx_route —— IPX 路由信息

/proc/net/nr_nodes —— NET/ROM 节点列表

/proc/net/nr_neigh —— NET/ROM 邻居

/proc/net/ip_masquerade —— 伪装连接

/sys/kernel/debug/bluetooth/l2cap —— 蓝牙 L2CAP 信息

/sys/kernel/debug/bluetooth/rfcomm —— 蓝牙串行连接

/proc/net/snmp —— 统计信息

参见

route(8), ifconfig(8), iptables(8), proc(5), ss(8), ip(8)

错误

如果套接字在查看时发生更改,有时可能会出现奇怪的信息。这种情况不太可能发生。

作者

netstat 用户界面由 Fred Baumgarten <_> 编写,man 页面基本上由 Matt Welsh <_> 编写。它由 Alan Cox <_> 更新,然后由 Tuan Hoang <_> 再次更新。man 页面和 net-tools 包中的命令由 Bernd Eckenfels <_> 完全重写。UDPLite 选项由 Brian Micek <_> 添加。