`

使用 netstat 命令监视网络状态

阅读更多

http://docs.sun.com/app/docs/doc/819-7058/ipconfig-142?l=zh&a=view

使用 netstat 命令监视网络状态

netstat 命令生成包含网络状态和协议统计信息的显示内容。可以通过表格形式显示 TCP、SCTP(流控制传输协议)和 UDP(用户数据报协议)端点的状态,还可以显示路由表信息和接口信息。

netstat 可显示各种类型的网络数据,具体取决于所选择的命令行选项。这些显示信息对于系统管理非常有价值。netstat 的基本语法如下所示:

netstat [-m] [-n] [-s] [-i | -r] [-f address-family]

本节介绍最常用的 netstat 命令选项。有关所有 netstat 选项的详细说明,请参阅 netstat(1M) 手册页。

过程如何按协议显示统计信息

netstat -s 选项显示 UDP、TCP、SCTP、ICMP 和 IP 协议的统计信息。


注 –

可以使用 Solaris 用户帐户获取 netstat 命令的输出。


  1. 显示协议状态。


    $ netstat -s
    


示例 8–5 网络协议统计信息

 

以下示例显示了 netstat -s 命令的输出。某些输出信息已被截断。输出可以指明存在协议问题的区域。例如,ICMPv4 和 ICMPv6 的统计信息可以指明 ICMP 协议发现错误的位置。


RAWIP
        rawipInDatagrams    =  4701     rawipInErrors       =     0
        rawipInCksumErrs    =     0     rawipOutDatagrams   =     4
        rawipOutErrors      =     0

UDP
        udpInDatagrams      = 10091     udpInErrors         =     0
        udpOutDatagrams     = 15772     udpOutErrors        =     0

TCP     tcpRtoAlgorithm     =     4     tcpRtoMin           =   400
        tcpRtoMax           = 60000     tcpMaxConn          =    -1
        .
        .
        tcpListenDrop       =     0     tcpListenDropQ0     =     0
        tcpHalfOpenDrop     =     0     tcpOutSackRetrans   =     0

IPv4    ipForwarding        =     2     ipDefaultTTL        =   255
        ipInReceives        =300182     ipInHdrErrors       =     0
        ipInAddrErrors      =     0     ipInCksumErrs       =     0
        .
        .
        ipsecInFailed       =     0     ipInIPv6            =     0
        ipOutIPv6           =     3     ipOutSwitchIPv6     =     0

IPv6    ipv6Forwarding      =     2     ipv6DefaultHopLimit =   255
        ipv6InReceives      = 13986     ipv6InHdrErrors     =     0
        ipv6InTooBigErrors  =     0     ipv6InNoRoutes      =     0
        .
        .
        rawipInOverflows    =     0     ipv6InIPv4          =     0
 
       ipv6OutIPv4         =     0     ipv6OutSwitchIPv4   =     0

ICMPv4  icmpInMsgs          = 43593     icmpInErrors        =     0
        icmpInCksumErrs     =     0     icmpInUnknowns      =     0
        .
        .
        icmpInOverflows     =     0

ICMPv6  icmp6InMsgs         = 13612     icmp6InErrors       =     0
        icmp6InDestUnreachs =     0     icmp6InAdminProhibs =     0
        .
        .
        icmp6OutGroupQueries=     0     icmp6OutGroupResps  =     2
        icmp6OutGroupReds   =     0

IGMP:
      12287 messages received
          0 messages received with too few bytes
          0 messages received with bad checksum
      12287 membership queries received
SCTP  sctpRtoAlgorithm     =  vanj    
      sctpRtoMin           =  1000 
      sctpRtoMax           = 60000
      sctpRtoInitial       =  3000
      sctpTimHearBeatProbe =     2
      sctpTimHearBeatDrop  =     0
      sctpListenDrop       =     0
      sctpInClosed         =     0 

过程如何显示传输协议的状态

可以通过 netstat 命令显示传输协议的状态。有关详细信息,请参阅 netstat(1M) 手册页。

  1. 显示系统上 TCP 和 SCTP 传输协议的状态。


    $ netstat
    
  2. 显示系统上特定传输协议的状态。


    $ netstat -P transport-protocol
    

    transport-protocol 变量的值为 tcpsctpudp


示例 8–6 显示 TCP 和 SCTP 传输协议的状态


此示例显示基本 netstat 命令的输出。请注意,仅显示与 IPv4 有关的信息。


$ netstat

TCP: IPv4
   Local Address     Remote Address    Swind Send-Q  Rwind Recv-Q      State
----------------- -------------------- ----- ------  ----- ------     -------
lhost-1.login      abc.def.local.Sun.COM.980 49640      0     49640    0 ESTABLISHED
lhost-1.login      ghi.jkl.local.Sun.COM.1020 49640     1     49640    0 ESTABLISHED
remhost-1.1014     mno.pqr.remote.Sun.COM.nfsd 49640    0     49640    0 TIME_WAIT
SCTP:                  
Local Address    Remote Address  Swind  Send-Q  Rwind  Recv-Q StrsI/O  State 
---------------- --------------  -----  ------ ------ ------  ------   -------
 *.echo            0.0.0.0            0       0 102400      0   128/1   LISTEN
 *.discard         0.0.0.0            0       0 102400      0   128/1   LISTEN
 *.9001            0.0.0.0            0       0 102400      0   128/1   LISTEN


示例 8–7 显示特定传输协议的状态

 

此示例显示指定了 netstat-P 选项时的结果。


$ netstat -P tcp
   
TCP: IPv4
   Local Address     Remote Address    Swind Send-Q  Rwind Recv-Q      State
----------------- -------------------- ----- ------  ----- ------     -------
lhost-1.login      abc.def.local.Sun.COM.980 49640      0     49640    0 ESTABLISHED
lhost.login        ghi.jkl.local.Sun.COM.1020 49640     1     49640    0 ESTABLISHED
remhost.1014       mno.pqr.remote.Sun.COM.nfsd 49640    0     49640    0 TIME_WAIT

TCP: IPv6
 Local Address    Remote Address        Swind Send-Q Rwind Recv-Q   State If 
---------------- ---------------------- ------ ----- ------ ----------- -----
localhost.38983   localhost.32777       49152      0 49152      0 ESTABLISHED      
localhost.32777   localhost.38983       49152      0 49152      0 ESTABLISHED      
localhost.38986   localhost.38980       49152      0 49152      0 ESTABLISHED      

过程如何显示网络接口状态

netstat 命令的 i 选项显示本地系统上配置的网络接口的状态。可以使用此选项确定系统在每个网络中传输和接收的包数。

  1. 显示网络中接口的状态。


    $ netstat -i
    


示例 8–8 网络接口状态显示

 

下面的示例显示通过主机接口的 IPv4 和 IPv6 包流的状态。

例如,每次客户机尝试引导时,显示的服务器输入包计数 (Ipkts) 都会增加,而输出包计数 (Opkts) 保持不变。这种情况表示服务器正在查看来自客户机的引导请求包。但是,服务器却不知道对它们做出响应。这种混乱可能是由 hostsipnodesethers 数据库中的错误地址引起的。

但是,如果输入包计数在一段时间内保持不变,则说明计算机根本未查看包。这种情况说明出现了其他类型的故障,如硬件问题。


Name  Mtu  Net/Dest      Address        Ipkts  Ierrs Opkts  Oerrs Collis Queue 
lo0   8232 loopback      localhost      142    0     142    0     0      0     
hme0  1500 host58        host58        1106302 0     52419  0     0      0     

Name  Mtu  Net/Dest      Address                    Ipkts  Ierrs Opkts  Oerrs Collis
lo0   8252 localhost     localhost                   142    0     142    0     0     
hme0  1500 fe80::a00:20ff:feb9:4c54/10 fe80::a00:20ff:feb9:4c54 1106305 0 52422 0  0

过程如何显示套接字的状态

使用 netstat 命令的 -a 选项,可以查看本地主机上套接字的状态。

  1. 键入以下内容显示套接字和路由表项的状态:

    使用用户帐户便可运行 netstat 的 -a 选项。


    % netstat -a  
    


示例 8–9 显示所有套接字和路由表项

 

netstat -a 命令的输出显示详细的统计信息。以下示例显示 netstat -a 典型输出的各部分信息。


UDP: IPv4
   Local Address         Remote Address     State
-------------------- -------------------- -------
      *.bootpc                              Idle
host85.bootpc                               Idle
      *.*                                   Unbound
      *.*                                   Unbound
      *.sunrpc                              Idle
      *.*                                   Unbound
      *.32771                               Idle
      *.sunrpc                              Idle
      *.*                                   Unbound
      *.32775                               Idle
      *.time                                Idle
       .
       .
      *.daytime                             Idle
      *.echo                                Idle
      *.discard                             Idle
      
UDP: IPv6
   Local Address                     Remote Address                   State      If  
--------------------------------- --------------------------------- ---------- -----
      *.*                                                           Unbound   
      *.*                                                           Unbound   
      *.sunrpc                                                      Idle      
      *.*                                                           Unbound   
      *.32771                                                       Idle      
      *.32778                                                       Idle      
      *.syslog                                                      Idle      
      .
      .
TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
      *.*                  *.*                0      0 49152      0 IDLE
localhost.4999             *.*                0      0 49152      0 LISTEN
      *.sunrpc             *.*                0      0 49152      0 LISTEN
      *.*                  *.*                0      0 49152      0 IDLE
      *.sunrpc             *.*                0      0 49152      0 LISTEN
      .
      .
      *.printer            *.*                0      0 49152      0 LISTEN
      *.time               *.*                0      0 49152      0 LISTEN
      *.daytime            *.*                0      0 49152      0 LISTEN
      *.echo               *.*                0      0 49152      0 LISTEN
      *.discard            *.*                0      0 49152      0 LISTEN
      *.chargen            *.*                0      0 49152      0 LISTEN
      *.shell              *.*                0      0 49152      0 LISTEN
      *.shell              *.*                0      0 49152      0 LISTEN
      *.kshell             *.*                0      0 49152      0 LISTEN
      *.login  
       .
       .
            *.*                0      0 49152      0 LISTEN
   *TCP: IPv6
 Local Address            Remote Address        Swind Send-Q Rwind Recv-Q   State If
----------------------- ----------------------- ----- ------ ----- ------    ----
   *.*                         *.*                0      0 49152      0      IDLE
   *.sunrpc                    *.*                0      0 49152      0      LISTEN
   *.*                         *.*                0      0 49152      0      IDLE
   *.32774                     *.*                0      0 49152

过程如何显示特定地址类型的包的传输状态

使用 netstat 命令的 -f 选项可查看与特定地址族的包传输相关的统计信息。

  1. 查看 IPv4 或 IPv6 包传输的统计信息。


    $ netstat -f inet  |  inet6
    

    要查看 IPv4 传输信息,请键入 inet 作为 netstat -f 的参数。使用 inet6 作为 netstat -f 的参数可查看 IPv6 信息。


示例 8–10 IPv4 包传输的状态

 

以下示例显示了 netstat -f inet 命令的输出。


TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
host58.734         host19.nfsd       49640      0 49640      0 ESTABLISHED
host58.38063       host19.32782      49640      0 49640      0 CLOSE_WAIT
host58.38146       host41.43601      49640      0 49640      0 ESTABLISHED
host58.996         remote-host.login 49640      0 49206      0 ESTABLISHED


示例 8–11 IPv6 包传输的状态

 

以下示例显示了 netstat - f inet6 命令的输出。


TCP: IPv6
 Local Address          Remote Address        Swind Send-Q Rwind Recv-Q   State    If
------------------ ------------------------- ----- ------ ----- ------ --------- -----
localhost.38065         localhost.32792       49152   0 49152      0    ESTABLISHED  
localhost.32792         localhost.38065       49152   0 49152      0    ESTABLISHED 
localhost.38089         localhost.38057       49152   0 49152      0    ESTABLISHED 

过程如何显示已知路由的状态

netstat 命令的 -r 选项显示本地主机的路由表。该表显示主机知晓的所有路由的状态。使用用户帐户便可运行 netstat 的 -r 选项。

  1. 显示 IP 路由表。


    $ netstat -r
    


示例 8–12 netstat 命令生成的路由表输出

 

以下示例显示了 netstat -r 命令的输出。


Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
host15               myhost               U         1  31059  hme0
10.0.0.14            myhost               U         1      0  hme0
default              distantrouter        UG        1      2  hme0
localhost            localhost            UH        42019361  lo0

Routing Table: IPv6
  Destination/Mask            Gateway                   Flags Ref   Use   If  
--------------------------- --------------------------- ----- --- ------ -----
2002:0a00:3010:2::/64    2002:0a00:3010:2:1b2b:3c4c:5e6e:abcd U  1      0 hme0:1
fe80::/10                fe80::1a2b:3c4d:5e6f:12a2    U       1     23 hme0 
ff00::/8                 fe80::1a2b:3c4d:5e6f:12a2    U       1      0 hme0 
default                  fe80::1a2b:3c4d:5e6f:12a2    UG      1      0 hme0 
localhost                localhost                   UH      9  21832 lo0 

参数

说明

目标

Destination/Mask

指定作为路由目标端点的主机。请注意,IPv6 路由表将 6to4 隧道端点 (2002:0a00:3010:2::/64) 的前缀显示为路由目标端点。

Gateway

指定用于转发包的网关。

Flags

指示路由的当前状态。U 标志指示路由处于运行状态。G 标志指示路由指向网关。

Use

显示已发送的包数。

Interface

指示作为传输源端点的本地主机上的特定接口。

 

 


分享到:
评论

相关推荐

    计算机网络常用网络命令实验报告.doc

    本实验报告的主要内容是介绍常用网络命令的使用,包括 Ping 命令、ipconfig 命令、ARP 命令、tracert 命令和 netstat 命令等。 一、实验目的 本实验的目的是为了熟悉常用网络命令的使用,了解它们的作用和应用场景...

    基本网络测试工具的使用.pdf

    本实验报告主要介绍了基本网络测试工具的使用,包括状态监视、流量监视和路由监视。实验的主要目的是熟练掌握操作系统自带的基本网络测试工具。 一、网络状态监视工具的使用 在 WindowsXP 环境下,可以使用 ...

    ubuntu命令手册.pdf

    * 连续监视内存使用情况:使用 `watch` 命令连续监视内存使用情况 * 动态显示进程执行情况:使用 `top` 命令动态显示进程执行情况 * 查看当前有哪些进程:使用 `ps` 命令查看当前有哪些进程 * 查看进程的启动时间:...

    网络组建与管理4/网络管理

    Netstat命令可以帮助网络管理员了解网络的整体使用情况。它可以显示当前正在活动的网络连接的详细信息,例如显示网络连接、路由表和网络接口信息,可以统计目前总共有哪些网络连接正在运行。 利用命令参数,命令可以...

    入门学习Linux常用必会60个命令实例详解doc/txt

    ◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup; ◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who; ◆ 其它...

    150个常用的Linux命令汇总

    10. netstat:显示网络状态 深入网络操作命令 1. lsof:显示打开的文件描述符 2. route:显示路由信息 3. mail:发送电子邮件 4. mutt:电子邮件客户端 5. nslookup:域名解析 6. dig:域名解析 磁盘文件系统命令...

    linux运维必备150个命令.docx

    10. netstat:显示当前网络状态 深入网络操作命令 1. lsof:显示当前系统的网络连接 2. route:显示当前网络路由 3. mail:发送电子邮件 4. mutt:电子邮件客户端 5. nslookup:查询域名服务器 6. dig:查询域名...

    本机服务器端口号查询.docx

    使用端口监视类软件 与netstat命令类似,端口监视类软件也能查看本机打开了哪些端口,这类软件非常多,著名的有Tcpview、portReporter、绿鹰pc万能精灵、网络端口查看器等,推荐你上网时启动Tcpview,密切监视本机...

    HP-UX系统管理(高级)

    第1章 UNIX基本使用和基本命令.1 1.1 课程目标 1.2 UNIX概述1 1.3 UNIX SHELL.1 1.4 HP-UX的登录和注销.2 1.4.1 典型的终端会话过程2 1.4.2 登录.3 1.4.3 注销.4 1.5 命令行的格式.4 1.5.1 命令行格式4 1.5.2 二级...

    入门级的SUN培训资料

    4.netstat 显示与网络有关的各种数据结构 29 5.ifconfig 显示网络接口 29 6.route 路由设置 29 7.arp 反响解析 29 8.nfsstat 监控NFS 29 第四部分 系统应用 30 十二.图形窗口配置 30 1.双屏配置 30 2.显卡...

    网络安全技术习题库..doc

    系统内置netstat命令中参数-a的作用是 ( )。 A. 表示按协议显示各种连接的统计信息,包括端口号 B. 表示显示活动的TCP连接并包括每个连接的进程ID C. 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口 D. ...

    Linux工具之Nethogs按进程监控网络带宽的安装部署

    比如说,你可以用命令iftop来检查带宽使用情况. netstat用来查看接口统计报告,还有top监控系统当前运行进程.但是如果你想要找一个能够按进程实时统计网络带宽利用率的工具,那么NetHogs值得一看。 NetHogs是一个小型的...

Global site tag (gtag.js) - Google Analytics