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