`
wsmajunfeng
  • 浏览: 497411 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Netstat命令详解(windows下)

 
阅读更多
Netstat 用于显示与IPTCPUDPICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

    
如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP 可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP 数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat 查一查为什么会出现这些情况了。
Netstat 详细参数列表
Winxp
C:\>netstat /?
显示协议统计信息和当前 TCP/IP 网络连接。
NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
  -a            显示所有连接和监听端口。
  -b           
显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件
               
拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。
               
这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP
                
部分。注意此选项可能需要很长时间,如果没有足够权限可能失败。

  -e           
显示以太网统计信息。此选项可以与 -s
               
选项组合使用。

  -n           
以数字形式显示地址和端口号。
  -o           
显示与每个连接相关的所属进程 ID
  -p proto     
显示 proto 指定的协议的连接;proto 可以是
               
下列协议之一: TCPUDPTCPv6 UDPv6
               
如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一 :
                IP
IPv6ICMPICMPv6TCPTCPv6UDP UDPv6

  -r           
显示路由表。
  -s           
显示按协议统计信息。默认地,显示 IP
                IPv6
ICMPICMPv6TCPTCPv6UDP UDPv6 的统计信息;
                -p
选项用于指定默认情况的子集。
  -v           
-b 选项一起使用时将显示包含于
               
为所有可执行组件创建连接或监听端口的
               
组件。
  interval     
重新显示选定统计信息,每次显示之间
               
暂停时间间隔( 以秒计) 。按 CTRL+C 停止重新
               
显示统计信息。如果省略,netstat 显示当前
               
配置信息( 只显示一次)
Win2000
C:\>netstat /?
Displays protocol statistics and current TCP/IP network connections.
NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]
  -a            Displays all connections and listening ports.
  -e            Displays Ethernet statistics. This may be combined with the -s
                option.
  -n            Displays addresses and port numbers in numerical form.
  -p proto      Shows connections for the protocol specified by proto; proto
                may be TCP or UDP.  If used with the -s option to display
                per-protocol statistics, proto may be TCP, UDP, or IP.
  -r            Displays the routing table.
  -s            Displays per-protocol statistics.  By default, statistics are
                shown for TCP, UDP and IP; the -p option may be used to specify
                a subset of the default.
  interval      Redisplays selected statistics, pausing interval seconds
                between each display.  Press CTRL+C to stop redisplaying
                statistics.  If omitted, netstat will print the current
                configuration information once.

Netstat
的一些常用选项
 
netstat -s
——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web 浏览器)运行速度比较慢,或者不能显示Web 页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。


netstat -e
——本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。


netstat -r
——本选项可以显示关于路由表的信息,类似于后面所讲使用route print 命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。


netstat -a
——本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED ),也包括监听连接请求(LISTENING )的那些连接,断开连接(CLOSE_WAIT )或者处于联机等待状态的(TIME_WAIT )等


netstat -n
——显示所有已建立的有效连接。
 
    微软公司故意将这个功能强大的命令隐藏起来是因为它对于普通用户来说有些复杂。我们已经知道:Netstat 它可以用来获得你的系统网络连接的信息(使用的端口,在使用的协议等 ),收到和发出的数据,被连接的远程系统的端口,Netstat 在内存中读取所有的网络信息。
    Internet RFC 标准中,Netstat 的定义是: Netstat 是在内核中访问网络及相关信息的程序,它能提供TCP 连接,TCPUDP 监听,进程内存管理的相关报告。
    对于好奇心极强的人来说,紧紧有上面的理论是远远不够的,接下来我们来详细的解释一下各个参数的使用,看看执行之后会发生什么,显示的信息又是什么意思,好了,废话不说了,让我们一起来实践一下吧:)
C:\>netstat -a
Active Connections
  Proto  Local Address          Foreign Address        State
  TCP    Eagle:ftp              Eagle:0                LISTENING
  TCP    Eagle:telnet           Eagle:0                LISTENING
  TCP    Eagle:smtp             Eagle:0                LISTENING
  TCP    Eagle:http             Eagle:0                LISTENING
  TCP    Eagle:epmap            Eagle:0                LISTENING
  TCP    Eagle:https            Eagle:0                LISTENING
  TCP    Eagle:microsoft-ds     Eagle:0                LISTENING
  TCP    Eagle:1030             Eagle:0                LISTENING
  TCP    Eagle:6059             Eagle:0                LISTENING
  TCP    Eagle:8001             Eagle:0                LISTENING
  TCP    Eagle:8005             Eagle:0                LISTENING
  TCP    Eagle:8065             Eagle:0                LISTENING
  TCP    Eagle:microsoft-ds     localhost:1031         ESTABLISHED
  TCP    Eagle:1031             localhost:microsoft-ds  ESTABLISHED
  TCP    Eagle:1040             Eagle:0                LISTENING
  TCP    Eagle:netbios-ssn      Eagle:0                LISTENING
  TCP    Eagle:1213             218.85.139.65:9002     CLOSE_WAIT
  TCP    Eagle:2416             219.133.63.142:https   CLOSE_WAIT
  TCP    Eagle:2443             219.133.63.142:https   CLOSE_WAIT
  TCP    Eagle:2907             192.168.1.101:2774     CLOSE_WAIT
  TCP    Eagle:2916             192.168.1.101:telnet   ESTABLISHED
  TCP    Eagle:2927             219.137.227.10:4899    TIME_WAIT
  TCP    Eagle:2928             219.137.227.10:4899    TIME_WAIT
  TCP    Eagle:2929             219.137.227.10:4899    ESTABLISHED
  TCP    Eagle:3455             218.85.139.65:9002     ESTABLISHED
  TCP    Eagle:netbios-ssn      Eagle:0                LISTENING
  UDP    Eagle:microsoft-ds     *:*
  UDP    Eagle:1046             *:*
  UDP    Eagle:1050             *:*
  UDP    Eagle:1073             *:*
  UDP    Eagle:1938             *:*
  UDP    Eagle:2314             *:*
  UDP    Eagle:2399             *:*
  UDP    Eagle:2413             *:*
  UDP    Eagle:2904             *:*
  UDP    Eagle:2908             *:*
  UDP    Eagle:3456             *:*
  UDP    Eagle:4000             *:*
  UDP    Eagle:4001             *:*
  UDP    Eagle:6000             *:*
  UDP    Eagle:6001             *:*
  UDP    Eagle:6002             *:*
  UDP    Eagle:6003             *:*
  UDP    Eagle:6004             *:*
  UDP    Eagle:6005             *:*
  UDP    Eagle:6006             *:*
  UDP    Eagle:6007             *:*
  UDP    Eagle:6008             *:*
  UDP    Eagle:6009             *:*
  UDP    Eagle:6010             *:*
  UDP    Eagle:6011             *:*
  UDP    Eagle:1045             *:*
  UDP    Eagle:1051             *:*
  UDP    Eagle:netbios-ns       *:*
  UDP    Eagle:netbios-dgm      *:*
  UDP    Eagle:netbios-ns       *:*
  UDP    Eagle:netbios-dgm      *:*
 
我们拿其中一行来解释吧:
Proto  Local Address          Foreign Address        State
TCP    Eagle:2929             219.137.227.10:4899    ESTABLISHED
 
协议(Proto ):TCP ,指是传输层通讯协议(什么?不懂?请用baidu 搜索"TCP"OSI 七层和TCP/IP 四层可是基础^_^
本地机器名(Local  Address ):Eagle ,俗称计算机名了,安装系统时设置的,可以在“我的电脑”属性中修改,本地打开并用于连接的端口:2929   
远程机器名(Foreign  Address ):
219.137.227.10
远程端口:
4899 
状态:ESTABLISHED  
 
状态列表
LISTEN   :在监听状态中。   
ESTABLISHED
:已建立联机的联机情况。

TIME_WAIT
:该联机在目前已经是等待的状态。 
 
-a 参数常用于获得你的本地系统开放的端口,用它您可以自己检查你的系统上有没有被安装木马(ps :有很多好程序用来检测木马,但你的目的是想成为真正的hacker ,手工检测要比只按一下“scan ”按钮好些---- 仅个人观点)。如果您Netstat 你自己的话,发现下面的信息:
  

   Port 12345(TCP) Netbus
  
Port 31337(UDP) Back Orifice
  

  祝贺! 您中了最常见的木马(^_^ ,上面4899 是我连别人的,而且这个radmin 是商业软件,目前我最喜欢的远程控制软件)
  如果你需要木马及其端口列表的话,去国内的H 站找找,或者baidugoogle

  

   *****************************************************************
  

  # 一些原理:也许你有这样的问题:“在机器名后的端口号代表什么?
  例子:
Eagle:2929
  小于1024 的端口通常运行一些网络服务,大于1024 的端口用来与远程机器建立连接。  

  *****************************************************************
 
继续我们的探讨,使用-n 参数。( Netstat -n)
  Netstat -n 基本上是-a 参数的数字形式:
 
C:\>netstat -n
Active Connections
  Proto  Local Address          Foreign Address        State
  TCP    127.0.0.1:445          127.0.0.1:1031         ESTABLISHED
  TCP    127.0.0.1:1031         127.0.0.1:445          ESTABLISHED
  TCP    192.168.1.180:1213     218.85.139.65:9002     CLOSE_WAIT
  TCP    192.168.1.180:2416     219.133.63.142:443     CLOSE_WAIT
  TCP    192.168.1.180:2443     219.133.63.142:443     CLOSE_WAIT
  TCP    192.168.1.180:2907     192.168.1.101:2774     CLOSE_WAIT
  TCP    192.168.1.180:2916     192.168.1.101:23       ESTABLISHED
  TCP    192.168.1.180:2929     219.137.227.10:4899    ESTABLISHED
  TCP    192.168.1.180:3048     192.168.1.1:8004       SYN_SENT
  TCP    192.168.1.180:3455     218.85.139.65:9002     ESTABLISHED
 
-a  和 - 是最常用的两个,据我不完全测试得出以下结果:
1. -n 显示用数字化主机名,即IP 地址,而不是compute_nameeagle
2. -n  只显示TCP 连接(没有在哪里见过微软的相关文档,有哪个朋友见到的话,记得告诉我喔^_^
     得到IP 等于得到一切,它是最容易使机器受到攻击的东东,所以隐藏自己IP ,获得别人的IPhacker 来说非常重要,现在隐藏IP 技术很流行,但那些隐藏工具或服务真的让你隐身吗?我看不见得,呵呵,代理,跳板不属于今天讨论,一个获取对方IP 的简单例子请参考我前面的文章【用DOS 命令查QQ 好友IP 地址
 
-a 和 -n 是最常用的命令,如果要显示一些协议的更详细信息,就要用-p 这个参数了,它其实是-a  和 -n 的一个变种 ,我们来看一个实例,你就明白了:【netstat -p @@@ 其中@@@TCP 或者UDP
C:\>netstat -p tcp
Active Connections
  Proto  Local Address          Foreign Address        State
  TCP    Eagle:microsoft-ds     localhost:1031         ESTABLISHED
  TCP    Eagle:1031             localhost:microsoft-ds  ESTABLISHED
  TCP    Eagle:1213             218.85.139.65:9002     CLOSE_WAIT
  TCP    Eagle:2416             219.133.63.142:https   CLOSE_WAIT
  TCP    Eagle:2443             219.133.63.142:https   CLOSE_WAIT
  TCP    Eagle:2907             192.168.1.101:2774     CLOSE_WAIT
  TCP    Eagle:2916             192.168.1.101:telnet   ESTABLISHED
  TCP    Eagle:2929             219.137.227.10:4899    ESTABLISHED
  TCP    Eagle:3455             218.85.139.65:9002     ESTABLISHED
  
  继续我们的参数讲解 -e
    含义:本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量 。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。
C:\>netstat -e
Interface Statistics
                           Received            Sent
Bytes                     143090206        44998789
Unicast packets              691805          363603
Non-unicast packets          886526            2386
Discards                          0               0
Errors                            0               0
Unknown protocols              4449
    若接收错和发送错接近为零或全为零,网络的接口无问题。但当这两个字段有100 个以上的出错分组时就可以认为是高出错率了。高的发送错表示本地网络饱和或在主机与网络之间有不良的物理连接;   高的接收错表示整体网络饱和、本地主机过载或物理连接有问题,可以用Ping 命令统计误码率,进一步确定故障的程度。netstat -e  和ping 结合使用能解决一大部分网络故障。
 
    接下来我们开始讲解两个比较复杂的参数 -r  -s ,也正因为如此,笔者把他放到最后讲解,这里面可能会涉及到其他方面的知识,以后在我的博客中将会继续写出来,呵呵,最近比较忙
   
-r 是用来显示路由表信息,我们来看例子:
C:\>netstat -r
Route Table (路由表)
===========================================================================
Interface List
(网络接口列表)
0x1 ........................... MS TCP Loopback interface
0x10003 ...00 0c f1 02 76 81 ...... Intel(R) PRO/Wireless LAN 2100 3B Mini PCI
dapter
0x10004 ...00 02 3f 00 05 cb ...... Realtek RTL8139/810x Family Fast Ethernet
C
===========================================================================
===========================================================================
Active Routes:
(动态路由)
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.1.254   192.168.1.181       30
          0.0.0.0          0.0.0.0    192.168.1.254   192.168.1.180       20
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.1.0    255.255.255.0    192.168.1.180   192.168.1.180       20
      192.168.1.0    255.255.255.0    192.168.1.181   192.168.1.181       30
    192.168.1.180  255.255.255.255        127.0.0.1       127.0.0.1       20
    192.168.1.181  255.255.255.255        127.0.0.1       127.0.0.1       30
    192.168.1.255  255.255.255.255    192.168.1.180   192.168.1.180       20
    192.168.1.255  255.255.255.255    192.168.1.181   192.168.1.181       30
        224.0.0.0        240.0.0.0    192.168.1.180   192.168.1.180       20
        224.0.0.0        240.0.0.0    192.168.1.181   192.168.1.181       30
  255.255.255.255  255.255.255.255    192.168.1.180   192.168.1.180       1
  255.255.255.255  255.255.255.255    192.168.1.181   192.168.1.181       1
Default Gateway:     192.168.1.254
(默认网关)
===========================================================================
Persistent Routes:
(静态路由)
  None
C:\>
 
-s 参数的作用前面有详细的说明,来看例子
C:\>netstat -s
IPv4 Statistics        IP 统计结果)     
  Packets Received                   = 369492 (接收包数)
  Received Header Errors             = 0
(接收头错误数)
  Received Address Errors            = 2
(接收地址错误数)
  Datagrams Forwarded                = 0
(数据报递送数)
  Unknown Protocols Received         = 0
(未知协议接收数)
  Received Packets Discarded         = 4203
(接收后丢弃的包数)
  Received Packets Delivered         = 365287
(接收后转交的包数)
  Output Requests                    = 369066
(请求数)
  Routing Discards                   = 0
(路由丢弃数 )
  Discarded Output Packets           = 2172
(包丢弃数)
  Output Packet No Route             = 0
(不路由的请求包)
  Reassembly Required                = 0
重组的请求数
  Reassembly Successful              = 0
(重组成功数)
  Reassembly Failures                = 0
(重组失败数)
  Datagrams Successfully Fragmented  = 0
分片成功的数据报数
  Datagrams Failing Fragmentation    = 0
分片失败的数据报数
  Fragments Created                  = 0
分片建立数)
ICMPv4 Statistics ICMP 统计结果)包括ReceivedSent 两种状态
                            Received    Sent
  Messages                  285         784
消息数

  Errors                    0           0
(错误数)
  Destination Unreachable   53          548
(无法到达主机数目)
  Time Exceeded             0           0
(超时数目)
  Parameter Problems        0           0
(参数错误)
  Source Quenches           0           0
源夭折数
  Redirects                 0           0
(重定向数)
  Echos                     25          211
(回应数)
  Echo Replies              207         25
(回复回应数)
  Timestamps                0           0
(时间戳数)
  Timestamp Replies         0           0
(时间戳回复数)
  Address Masks             0           0
地址掩码数
  Address Mask Replies      0           0
地址掩码回复数)
TCP Statistics for IPv4 TCP 统计结果)
  Active Opens                        = 5217主动打开数
  Passive Opens                       = 80
被动打开数
  Failed Connection Attempts          = 2944
连接失败尝试数
  Reset Connections                   = 529
复位连接数
  Current Connections                 = 9
(当前连接数目)
  Segments Received                   = 350143
(当前已接收的报文数)
  Segments Sent                       = 347561
(当前已发送的报文数)
  Segments Retransmitted              = 6108
(被重传的报文数目)
UDP Statistics for IPv4 UDP 统计结果)
  Datagrams Received    = 14309 (接收的数据包)
  No Ports              = 1360
(无端口数)
  Receive Errors        = 0
(接收错误数)
  Datagrams Sent        = 14524
(数据包发送数)
C:\>
分享到:
评论

相关推荐

    netstat命令详解

    ### Netstat命令详解 #### 一、Netstat命令概述 Netstat命令是Linux及类Unix系统中用于查看网络状态的强大工具。它可以帮助用户监控和管理网络连接、路由表、接口状态、多播成员等信息。Netstat对于网络管理员来说...

    cmd中Netstat命令详解

    ### CMD中Netstat命令详解 #### 一、引言 `Netstat` 是一个非常重要的命令行工具,用于查看和管理计算机上的网络连接状态。它能够帮助用户了解系统的网络活动情况,包括显示当前的TCP/IP连接、监听端口、路由表、...

    Netstat命令详解

    在Windows XP及以后的操作系统中,Netstat命令提供了丰富的参数选项,下面是对这些参数的详细解释: 1. **-a**:显示所有当前的TCP和UDP连接,以及正在监听的端口。这对于检查哪些服务正在运行并监听特定端口非常有...

    netstat命令

    ### Netstat命令详解 #### 一、概述 `netstat`命令是计算机系统中一个非常重要的工具,主要用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,可以帮助用户检查网络连接的状态以及诊断网络问题。通过`netstat`,...

    Windows netstat 命令总结.doc

    **Windows netstat 命令详解** `netstat` 是一个强大的网络诊断工具,它能够显示活动的网络连接状态,包括TCP和UDP连接、监听端口、路由表等信息。在Windows操作系统中,`netstat` 常用于检查网络连接、监控系统...

    使用netstat命令进行网络问题排查的诀窍.docx

    【网络问题排查与netstat命令详解】 在信息技术领域,网络问题的排查是开发人员和运维工程师日常工作中不可或缺的一部分。无论是Windows还是Linux系统,`netstat`命令都是一个强大的工具,用于查看网络连接状态、...

    windows命令详解

    "Windows命令详解"旨在帮助用户掌握这些命令,使其能更高效地管理和控制计算机。在这个主题中,我们将深入探讨一些常见的Windows命令,以及它们在日常使用中的应用。 1. **dir** 和 **ls**: - `dir` 命令(在...

    Windows常用网络命令详解.docx

    "Windows常用网络命令详解" Windows操作系统中有很多实用的网络命令,这些命令可以帮助用户检测和解决网络问题。在本文中,我们将详细介绍Windows常用网络命令,包括Ping命令、Tracert命令、Netstat命令、Nslookup...

    Netstat命令使用详解

    在Linux系统中,Netstat命令的用法与Windows有所不同,但基本功能是类似的。例如,"-r"参数同样用于显示路由表,"-i"参数可以显示接口统计信息。而"-s"参数则用于显示协议统计信息,其功能与Windows中的"-s"参数相似...

    CMD命令详解.7z

    CMD命令详解.7z文件包含了对Windows操作系统中CMD命令行工具的详尽解析,这个压缩包旨在帮助用户深入了解和熟练掌握在CMD环境下执行的各种命令。CMD(Command Prompt)是Windows系统中的一个命令行接口,它允许用户...

    Windows系统 常用网络命令使用技巧详解.doc

    Windows系统常用网络命令使用技巧详解 Windows 系统中的网络命令是非常重要的工具,对于网络故障的诊断和解决非常有帮助。本文将详细介绍 Windows 系统中的常用网络命令,包括 Ping 命令、Tracert 命令、Netstat ...

    用netstat命令 化身Win 7安全高手.txt

    ### 使用netstat命令成为Win 7安全高手 在Windows 7操作系统中,用户可以通过一系列内置的工具和技术来增强系统的安全性。其中,`netstat`命令是实现这一目标的关键工具之一。通过熟练掌握并运用该命令,用户可以...

    net use命令详解

    ### net use 命令详解 #### 一、net use 命令概述 `net use` 是一个在Windows操作系统中用于管理网络连接的强大工具,主要用于建立、查询或删除网络驱动器映射以及命名管道等资源。通过命令行界面,用户可以方便地...

    Windows 常用的网络命令详解

    以下是对Windows常用网络命令的详解: 1. **PING**: `ping`命令用于检查网络连接是否通畅,通过发送ICMP回显请求到指定的IP地址并等待响应。`ping 192.168.0.8 -t`将持续不断地发送请求,直到用户手动中断,`-t`...

    Windows操作系统常用网络命令详解

    ### Windows操作系统常用网络命令详解 #### 一、Ping命令的使用技巧 Ping是Windows操作系统中最常用的网络诊断工具之一,主要用于检查本地主机与另一台主机之间的网络连接状态。它通过发送ICMP(Internet Control ...

    netstat查看端口占用命令.txt

    #### 一、netstat命令简介 在深入了解如何使用`netstat`命令查看端口占用情况之前,我们首先需要对`netstat`有一个基本的认识。`netstat`(network statistics)是Windows系统中一个监测网络中DNS服务器配置信息、...

    ARP命令详解

    ARP 命令详解 ARP 命令是用于查看和管理 ARP 高速缓存中的项目的命令。ARP 高速缓存是用于存储 IP 地址和对应的网卡物理地址的缓存。通过使用 ARP 命令,我们可以查看本地计算机或另一台计算机的 ARP 高速缓存中的...

    cmd 和 netstat指令

    通过深入理解CMD与Netstat这两个命令的功能及其参数,用户可以更加高效地管理和监控Windows系统的文件系统和网络连接状态。CMD作为Windows的核心命令行工具,提供了丰富的功能和灵活性;而Netstat则帮助用户了解系统...

Global site tag (gtag.js) - Google Analytics