`

使用 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

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

 

 


分享到:
评论

相关推荐

    监视网络状态的小命令

    ### 监视网络状态的小命令 在日常工作中,我们经常需要了解本地计算机的网络状态,以便于更好地管理和排查网络问题。Windows系统自带了一系列强大的命令行工具,这些工具可以帮助用户轻松地监视网络连接活动。本文...

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

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

    计算机网络实验计算机网络实验.doc

    例如,使用 netstat 命令可以显示当前的连接状态,使用 netstat -an 命令可以显示所有的连接和监听 PORT。 八、使用 TELNET 命令 TELNET 命令用来远程登录服务器。例如,使用 telnet www.baidu.com 命令可以远程...

    netstat - an 端口查看器

    一、Netstat命令基础 "Netstat"是“Network Statistics”的缩写,这是一个命令行工具,广泛应用于Windows、Linux和Unix等操作系统中。通过执行"Netstat"命令,用户可以获取系统的网络连接状态,包括活动的TCP和UDP...

    通过netstat查看同时连接某个端口的ip数

    #### netstat命令简介 `netstat`(network statistics)是Unix/Linux系统中的一个命令行工具,用于显示网络连接、路由表、接口统计等信息。通过`netstat`可以获取当前系统网络状态的各种信息,包括但不限于TCP/UDP...

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

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

    北邮信息工程 网络管理实验一

    实验内容包括Windows NT(2000)环境下网络状态监视工具的使用、网络流量监视工具的使用和网络路由监视工具的使用。 一、网络状态监视工具的使用 * Ipconfig 命令:用于显示网卡的基本 TCP/IP 配置参数,释放网卡...

    aix-netstat.doc

    在AIX操作系统中,`netstat` 命令是一个非常强大的工具,用于查看网络接口的状态、路由表、统计数据等信息。通过对`aix-netstat.doc`文档的部分内容进行分析,我们可以深入了解`netstat`命令的各种用途及其输出含义...

    ubuntu命令手册.pdf

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

    windows网络命令大全

    - 监视网络端口的使用情况。 - 排查网络连接问题。 - 监控网络流量。 #### 6. ARP 绑定列表 - **命令格式**: - `arp -a` - **功能描述**: - 查看ARP缓存表,即IP地址和MAC地址的绑定关系。 - **应用场景**...

    必须学会的几个网络测试命令

    ### 必须学会的几个网络测试命令 在网络管理和故障排查过程中,掌握一些基本的网络测试命令至关重要。这些命令可以帮助我们快速诊断网络问题、检查连通性以及了解网络配置信息等。接下来,我们将详细介绍几个非常...

    菜鸟必备的网络探测常用命令大全

    10. **`netstat`**: 监视网络状态和连接。 - `netstat -a`: 显示所有活动的TCP和UDP连接。 - `netstat -n`: 显示连接的IP地址和端口号。 - `netstat -v`: 显示正在进行的工作。 - `netstat -p 协议名`: 查看指定...

    必须了解的八个DOS命令

    netstat命令:网络状态的监视器 netstat命令用于显示活动网络连接、路由表以及网络接口统计信息,是网络管理员的得力助手。通过netstat,可以监控网络端口的状态,识别可疑的网络行为。 - **参数解析**: - `-a`...

    TCP监视器增强版(绿色、无广告插件、中文版本)

    8. **NETSTAT**:NETSTAT命令通常用于显示网络连接、路由表和网络接口统计,这个功能让用户可以直接在软件中执行常见的网络诊断操作。 9. **WHOIS**:WHOIS查询可以查找域名的所有者信息,对于网络安全和版权保护等...

    网络经典命令行合集单PDF文件

    6. **网络性能监控命令**:perfmon(性能监视器)和netstat -abn,用于监控系统性能指标和网络连接状态。 7. **远程管理命令**:如PsExec,允许远程执行命令;telnet,提供远程登录功能;wmic,Windows Management ...

    UNIX常用性能监控命令.doc

    本文将详细介绍一些常用的性能监控命令,包括查看网络连接性、检查网络接口、监控主机路由、磁盘I/O性能以及AIX系统的内存监视。 1. **网络连通性检查**: 使用`ping`命令可以检查与目标主机的网络连通性。例如,`...

    监视系统资源使用,定时记录到指定文件

    在IT管理领域,监视系统资源使用是至关重要的任务,它能帮助我们了解系统的运行状态,及时发现并预防可能的问题。本篇文章将详细讲解如何监视系统资源,并定时将这些信息记录到指定的文件。 首先,我们要了解系统的...

Global site tag (gtag.js) - Google Analytics