netstat 命令常用用法总结

简介

netstat - 打印网络连接,路由表,接口统计信息,(masquerade)伪装连接和多播成员

语法

netstat  [address_family_options]  [--tcp|-t]  [--udp|-u]  [--raw|-w]  [--listening|-l]  [--all|-a]  
[--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--sym‐bolic|-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]  [--continu‐ous|-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]

描述

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

  • (none) 默认情况下,netstat显示打开的套接字列表。如果未指定任何地址族,则将打印所有已配置地址族的活动套接字。
  • --route , -r 显示内核路由表。有关详细信息,请参阅route(8)中的说明。netstat -rroute -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,unix,ipx,ax25,netrom和ddp等关键字。这与使用--inet--unix(-x)--ipx--ax25--netrom--ddp选项具有相同的效果。地址族inet包括raw,udp和tcp协议套接字。
  • -c, --continuous 这将导致netstat每秒连续打印所选信息。
  • -e, --extend 显示其他信息。使用此选项两次以获得最大细节。
  • -o, --timers 包括与网络计时器相关的信息。
  • -p, --program 显示每个套接字所属程序的PID和名称。
  • -l, --listening 仅显示侦听套接字。(默认情况下省略这些。)
  • -a, --all 显示监听和非监听套接字。使用--interfaces选项,显示未启动的接口
  • -F 从FIB打印路由信息。(这是默认设置。)
  • -C 从路由缓存中打印路由信息。

输出

有效的Internet连接(TCP, UDP, raw)

  • Proto 套接字使用的协议(tcp,udp,raw)。
  • Recv-Q 连接到此套接字的用户程序未复制(未处理)的字节数。
  • Send-Q 远程主机未确认的字节数。
  • Local Address 套接字本地端的地址和端口号。(默认会解析地址和端口)
  • Foreign Address 套接字远端的地址和端口号。类似于“本地地址”。
  • State 套接字的状态。由于在raw模式下没有状态,并且通常UDP中没有使用状态,因此该列可以留空。可以是以下几个值之一:
    • ESTABLISHED 套接字已建立连接。
    • SYN_SENT 套接字正在主动尝试建立连接.
    • SYN_RECV 已从网络接收连接请求。
    • FIN_WAIT1 套接字已关闭,连接正在半关闭(shutdown)。
    • FIN_WAIT2 连接已关闭,套接字正在等待远端半关闭(shutdown)。
    • TIME_WAIT 套接字在关闭后等待以处理仍在网络中的数据包。
    • CLOSE 套接字没有被使用
    • CLOSE_WAIT 远端已半关闭,等待套接字关闭。
    • LAST_ACK 远端已半关闭,并且套接字已关闭。等待ack。
    • LISTEN 套接字正在侦听传入连接。除非指定-l或-a选项,否则此类套接字不包含在输出中。
    • CLOSING 两个套接字都半关闭了,但我们仍然没有发送所有数据。
    • UNKNOWN 套接字的状态未知。
  • User 套接字所有者的用户名或用户ID(UID).
  • PID/Program name 斜杠分隔的进程ID(PID)和拥有套接字的进程的进程名称。--program导致包含此列。 您还需要超级用户权限 查看您不拥有的套接字的此信息。 此标识信息尚不可用于IPX套接字。

有效的UNIX域套接字

  • Proto 套接字使用的协议(通常是unix)。
  • RefCnt 引用计数(即通过此套接字附加的进程)。
  • Flags 显示的标志是SO_ACCEPTON(显示为ACC), SO_WAITDATA (W)SO_NOSPACE (N)
    如果相应的进程正在等待连接请求,则SO_ACCECPTON用于未连接的套接字。其他标志正常情况下不感兴趣。
  • Type 有几种类型的套接字访问:
    • SOCK_DGRAM 套接字用于数据报(无连接)模式。
    • SOCK_STREAM 这是一个流(连接)套接字.
    • SOCK_RAW 套接字用作原始套接字。
    • SOCK_RDM 这个提供可靠传递的消息。
    • SOCK_SEQPACKET 这是一个顺序数据包套接字。
    • SOCK_PACKET 原始接口访问套接字。
    • UNKNOWN 谁知道未来会给我们带来什么
  • State 该字段将包含以下关键字之一:
    • FREE 套接字未分配
    • LISTENING 套接字正在侦听连接请求。只有指定-l或-a选项,此类套接字才包含在输出中。
    • CONNECTING 套接字即将建立连接。
    • CONNECTED 套接字已连接。
    • DISCONNECTING 套接字正在断开连接。
    • (empty) 套接字未连接到另一个套接字。
    • UNKNOWN 这种状态永远不会发生。
  • PID/Program name 进程ID(PID)和打开套接字的进程的进程名称。
  • Path 这是附加到套接字的相应进程的路径名。

文件

  • /etc/services - 服务转换文件
  • /proc - proc文件系统的挂载点,通过以下文件访问内核状态信息。
  • /proc/net/dev - 设备信息
  • /proc/net/raw - 原始套接字信息
  • /proc/net/tcp - TCP套接字信息
  • /proc/net/udp - UDP套接字信息
  • /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 - 伪装连接
  • /proc/net/snmp - 统计数据