Linux基础入门--网络工具--netstat

1.概述

打印网络连接、路由表、接口统计数据、伪装连接和多播成员关系

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]
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] [--raw|-w]
netstat {--version|-V}
netstat {--help|-h}
address_family_options:
[-4] [-6] [--protocol={inet,unix,ipx,ax25,netrom,ddp}[,...]]  [--unix|-x] [--inet|--ip] [--ax25] [--ipx] [--netrom] [--ddp]

3.参数

3.1 描述

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

参数 含义
(none) 默认情况下,netstat显示打开的套接字列表。如果不指定任何地址系列,则将打印所有已配置地址系列的活动套接字。
–route , -r 显示内核路由表。
–groups , -g 显示IPv4和IPv6的多播组成员信息。
–interfaces, -i 显示所有网络接口的表。
–masquerade , -M 显示伪装连接的列表。
–statistics , -s 显示每个协议的汇总统计信息。

3.2 选项

选项 含义
–verbose , -v 用冗长的语言告诉用户正在进行的操作。特别要打印一些关于未配置地址族的有用信息。
–wide , -W 不要截断IP地址使用输出作为需要的宽度。为了不破坏现有的脚本,这是可选的。
–numeric , -n 显示数字地址,而不是试图确定符号主机、端口或用户名。
–numeric-hosts 显示数字主机地址,但不影响端口或用户名的解析。
–numeric-ports 显示数字端口号,但不影响主机名或用户名的解析。
–numeric-users 显示数字用户id,但不影响主机名或端口名的解析。
–protocol=family , -A 为其指定地址系列
-c, --continuous 这将导致netstat每秒钟连续打印所选信息。
-e, --extend 显示额外的信息。使用此选项两次以获得最大细节。
-o, --timers 包括与网络计时器相关的信息。
-p, --program 显示每个套接字所属的程序的PID和名称。
-l, --listening 只显示监听套接字。(默认情况下省略。)
-a, --all 显示侦听和非侦听套接字。使用–interfaces选项,显示未启动的接口
-F 打印路由信息从FIB。
-C 从路由缓存中打印路由信息。

4.输出

4.1 Active Internet connections (TCP, UDP, raw)

选项 含义
Proto 套接字使用的协议(tcp、udp、raw)。
Recv-Q 连接到此套接字的用户程序没有复制的字节数。
Send-Q 远程主机未确认的字节数。
Local Address 套接字的本地端地址和端口号。除非指定–numeric (-n)选项,否则套接字地址将解析为其规范主机名(FQDN),端口号将转换为相应的服务名。
Foreign Address 套接字的远程端地址和端口号。类似于“本地地址”。
User 套接字所有者的用户名或用户ID (UID)。
PID/Program name 拥有套接字的进程的进程id (PID)和进程名。
State socket的状态。由于在raw模式中没有状态,并且通常在UDP中没有使用状态,因此此列可以留空。通常这可以是几个值之一:
状态 含义
ESTABLISHED 套接字有一个已建立的连接。
SYN_SENT 套接字正在积极尝试建立连接。
SYN_RECV 从网络接收到一个连接请求。
FIN_WAIT1 套接字关闭,连接关闭。
FIN_WAIT2 连接被关闭,套接字正在等待远程端关闭。
TIME_WAIT 套接字在关闭后等待处理仍然在网络中的数据包。
CLOSE socket没有被使用。
CLOSE_WAIT 远程端已经关闭,等待套接字关闭。
LAST_ACK 远程端已经关闭,套接字也已关闭。等待确认。
LISTEN 套接字正在监听传入的连接。除非指定–listening (-l)或–all (-a)选项,否则输出中不会包含这样的套接字。
CLOSING 两个套接字都关闭了,但我们仍然没有发送所有的数据。
UNKNOWN 套接字的状态未知。

4.1 Active UNIX domain Sockets

选项 含义
Proto 套接字使用的协议(通常是unix)。
RefCnt 引用计数(即通过这个套接字附加的进程)。
Flags 显示的标志是SO_ACCEPTON(显示为ACC)、SO_WAITDATA (W)或SO_NOSPACE (N)。SO_ACCECPTON用于未连接的套接字,如果它们对应的进程正在等待连接请求。其他标志不是正常意义上的。
Type 有几种类型的套接字访问,如下:
State 该字段将包含以下关键字之一,如下:
PID/Program name 打开套接字的进程的进程ID (PID)和进程名。
Path 这是对应进程附加到套接字的路径名。
类型 含义
SOCK_DGRAM 套接字在数据报(无连接)模式中使用。
SOCK_STREAM 这是一个流(连接)套接字。
SOCK_RAW 套接字用作原始套接字。
SOCK_RDM 这一个服务可靠的传递信息。
SOCK_SEQPACKET 这是一个顺序数据包套接字。
SOCK_PACKET 原始接口访问套接字。
UNKNOWN 未知。
状态 含义
FREE 未分配套接字。
LISTENING 套接字正在监听连接请求。只有在指定–listening (-l)或–all (-a)选项时,输出中才会包含这样的套接字。
CONNECTING 套接字即将建立连接。
CONNECTED socket已经连接。
DISCONNECTING socket已经断开连接。
(empty) socket没有连接到另一个。
UNKNOWN 这种状态不应该发生。

5.相关文件

/etc/services -- The services translation file
/proc/net/dev -- device information
/proc/net/raw -- raw socket information
/proc/net/tcp -- TCP socket information
/proc/net/udp -- UDP socket information
/proc/net/unix -- Unix domain socket information

温馨提示:
以上文章描述如有不清晰之处,欢迎在评论区评论,如有时间,会第一时间回复,谢谢!

猜你喜欢

转载自blog.csdn.net/qq_20677327/article/details/107078056