netstat命令文档

netstat命令

输出网络连接,路由表,接口统计信息,伪装连接,以及多播的成员

格式

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 命令类型选项 指定地址族 具体的细节选项
总的来说,netstat其实不是一个简单的工具,可以看做是一个工具集合,其中有很多个常用的命令。而这些命令的不同功能取决于命令类型选项

  • netstat -r 输出内核路由表相关的信息
  • netstat -s 输出各个协议的统计信息
  • netstat -g 输出多播的组成员信息
  • netstat -i 输出所有的网卡接口
  • netstat 这个其实是用得最多的,就是什么类型参数都没有,这样就是用来查看打开的套接字的列表的。也就是看当前系统中套接字的状态的。

描述

netstat打印Linux网络子系统的信息。打印的信息的类型由第一个参数控制,详情如下:

  • (none)
    默认情况下,netstat显示打开的套接字的列表。如果不指定任何地址族,那么所有配置的地址族的活跃的套接字都会被打印出来。
  • –route,-r
    展示内核路由表,可以参考route(8)命令。netstat -r 或者 route -e生成同样的输出。
  • –groups, -g
    展示IPV4或者IPV6的多播的组成员信息。
  • –interfaces, -i
    展示所有的网络接口的表。
  • –masquerade, -M
    展示所有伪装的连接
  • –statistics, -s
    展示每个协议的统计信息。

选项

  • –verbose,-v
    • 通过verbose来告诉用户发生了什么,尤其对于那些没有配置的地址族可以打印一些有用的信息出来。
  • –wide, -W
    • 通过满足输出内容需要的宽度来实现不截断IP地址。
  • –numeric, -n
    • –numeric-hosts
    • –numeric-ports
    • –numeric-users
  • –protocol=family, -A
    • 指定要显示的连接的地址族
    • family参数是一个逗号(,)分割的地址族关键词,如inet,unix,ipx,ax25,netrom,ddp
    • 这个参数等同于使用了–inet, --unix, --ipx, --ax25, --netrom, --ddp选项
    • inet地址族包含了raw,udp,tcp协议的套接字
  • -c, --continuous
    • netstat持续每秒打印选择的信息
  • -e, --extend
    • 展示附加的信息。两次使用这个选项可以获取最大的详情。
  • -o, --timers
    • 包含跟网络定时器相关的信息
  • -p, --program
    • 展示这个socket属于的那个程序的PID以及名字
  • -l, --listening
    • 仅仅展示在监听的套接字, 这个是被默认忽略的部分
  • -a, --all
    • 展示在监听的和非监听的套接字
    • 带有–interfaces选项的时候,会展示没有起来的接口
  • -F
    • 从FIB中打印路由信息 这个是默认设置的
  • -C
    • 从route的缓存中打印路由信息

输出内容

活跃的Internet连接(TCP/UDP/raw)

  • Proto
    • 套接字使用的协议 (tcp/upd/raw)
  • Recv-Q
    • 连接到这个套接字的应用程序没有拷贝走的字节的数量。
  • Send-Q
    • 远程主机还没有接收的字节数。
  • Local Address
    • 套接字本地端的地址和端口号码。除非指定了-n,否则套接字的地址解析为标准主机名,端口号翻译成对应的服务名。
  • Foreign Address
    • 套接字远程端的地址和端口号码,同上。
  • State
    • 套接字的状态,UDP和raw的套接字都没有状态这种东西,直接留空。
    • 通常这个可以是如下的几个值:
      • ESTABLISHED 套接字已经建立连接
      • SYN_SENT 套接字正在积极地建立连接
      • SYN_RECV 从网络中收到了连接请求
      • FIN_WAIT1 socket已经关闭,连接正在关闭中
      • FIN_WAIT2 连接已经关闭,套接字正在等远端的关闭。
      • TIME_WAIT 套接字正在等待处理还在网络中的包。
      • CLOSE 套接字没有使用的状态
      • CLOSE_WAIT 对端已经关闭,等本段close
      • LAST_ACK 对端已经关闭,并且本地的套接字也关闭了,等待最后的ack
      • LISTEN 套接字正在等即将到来的连接,这些套接字不含在输出中,除非你指定-l或者-a
      • CLOSING 两边的socket都同时关闭,我们的最后的数据还没发完
      • UNKNOWN socket状态未知
  • User
    • socket的拥有者的用户名或者是uid
  • PID/Program name
    • 对于你不拥有的套接字需要用超级用户特权来看信息
    • 拥有这个套接字的进程的PID和进程名
  • Timer

活跃的Unix域套接字

  • Proto
    • 这个socket用的协议,就是unix
  • RefCnt
    • 引用计数,也就是附加到这个socket上的进程数
  • Flags
    • 标记字段有SO_ACCEPTON(展示为ACC),SO_WAITDATA或者SO_NOSPACE,后两者都展示为(N)。
    • SO_ACCECPTON用于如果关联的进程等待连接请求的情况,也就是未连接的套接字。
  • Type
    • 有如下的套接字访问类型:
      • SOCK_DGRAM
        • 套接字用于数据报模式,也就是无连接的模式
      • SOCK_STREAM
        • 流式套接字,也就是有连接的
      • SOCK_RAW
        • 原始套接字
      • SOCK_RDM
        • This one serves reliably-delivered messages.
      • SOCK_SEQPACKET
        This is a sequential packet socket.
      • SOCK_PACKET
        Raw interface access socket.
  • State
    • 这个字段包含如下的一个关键字:
      • FREE The socket is not allocated
      • LISTENING
      • CONNECTING
      • LISTENING
        • 正在监听连接请求
      • CONNECTING 正在建立一个连接
      • CONNECTED 套接字连接上了
      • DISCONNECTING 正在断开连接
        The socket is disconnecting.
      • (empty) 为空表示这个套接字没有连接到任何其他的一个
  • PID/Program name
  • Path
    • 这个是进程把socket跟哪个路径关联起来

跟此命令相关的文件

/etc/services – The services translation file

/proc – Mount point for the proc filesystem, which gives access to kernel status information via the following files.

/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/igmp – IGMP multicast information

/proc/net/unix – Unix domain socket information

/proc/net/ipx – IPX socket information

/proc/net/ax25 – AX25 socket information

/proc/net/appletalk – DDP (appletalk) socket information

/proc/net/nr – NET/ROM socket information

/proc/net/route – IP routing information

/proc/net/ax25_route – AX25 routing information

/proc/net/ipx_route – IPX routing information

/proc/net/nr_nodes – NET/ROM nodelist

/proc/net/nr_neigh – NET/ROM neighbours

/proc/net/ip_masquerade – masqueraded connections

/proc/net/snmp – statistics

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值