Netstat命令详解_第1页
Netstat命令详解_第2页
Netstat命令详解_第3页
Netstat命令详解_第4页
Netstat命令详解_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Netstat命令详解Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。Netstat 详细参数列表(winXP)C:>netstat /?显示协议统计信息和当前 TCP/IP 网络连接。NETSTAT -a -b -e -n -o -p proto -r

2、 -s -v interval  -a            显示所有连接和监听端口。  -b            显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列 被显示。这种情况下,可执行组件名在底部的 中,顶部是其调用的组件, 等等,直到 TCP/IP部分。注意此选项可能需要很长时间,如果

3、没有足够权限可能失败。  -e            显示以太网统计信息。此选项可以与 -s选项组合使用。  -n            以数字形式显示地址和端口号。  -o            显示与每个连接相关的所属进程 ID。  -p proto   

4、   显示 proto 指定的协议的连接;proto 可以是下列协议之一: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选项一起使用以显示按协议统计信息,proto可以是下列协议之一:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。  -r            显示路由表。  -s            显示按协议统计信息。默

5、认地,显示 IP、 IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;  -p 选项用于指定默认情况的子集。  -v            与 -b 选项一起使用时将显示包含于 为所有可执行组件创建连接或监听端口的组件。  interval      重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。按 CTRL+C 停止重新显示统计信息。如果省略,netst

6、at 显示当前配置信息(只显示一次)Netstat的一些常用选项 netstat -s本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。 netstat -e本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。 netstat -r本选项可以显示关于路由

7、表的信息,类似于后面所讲使用route print命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。 netstat -a本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_WAIT)或者处于联机等待状态的(TIME_WAIT)等netstat -n显示所有已建立的有效连接。netstat支持用于显示活动或被动套接字的选项集。选项- t、- u、- w和-x分别表示TCP、UDP、RAW和UNIX套接字连接。如果你另外还提供了一个-a标记,还会显示出等待连接(也就是说处于监听模式)

8、的套接字。这样就可以得到一份服务器清单,当前所有运行于系统中的所有服务器都会列入其中。 调用netstat -ta时,输出结果如下: rootmachine1 /$ netstat -ta Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 2 9:telnet 6:2873 ESTABLISHED tcp 0 0 9:1165 4:ne

9、tbios-ssn ESTABLISHED tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED tcp 0 0 *:9001 *:* LISTEN tcp 0 0 *:6000 *:* LISTEN tcp 0 0 *:socks *:* LISTEN tcp 0 80 9:1161 0:netbios-ssn CLOSE 上面的输出表明

10、部分服务器处于等待接入连接状态。利用-a选项的话,netstat还会显示出所有的套接字。注意根据端口号,可以判断出一条连接是否是外出连接。对呼叫方主机来说,列出的端口号应该一直是一个整数,而对众所周知服务(well known service)端口正在使用中的被呼叫方来说,netstat采用的则是取自/etc/services文件的象征性服务名在随- i标记一起调用时, netstat将显示网络接口的当前配置特性。除此以外,如果调用时还带上-a选项,它还将输出内核中所有接口,并不只是当前配置的接口。netstat-i的输出结果是这样的: rootmachine1 /$ netstat -i K

11、ernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 787165 0 0 1 51655 0 0 0 BRU eth1 1500 0 520811 0 0 0 1986 0 0 0 BRU lo 3924 0 1943 0 0 0 43 0 0 0 LRU MTU和Met字段表示的是接口的MTU和度量值值;RX和TX这两列表示的是已经准确无误地收发了多少数据包( RX - OK / TX -OK)、产生了多少错误(RX-ERR/TX-E

12、RR)、丢弃了多少包(RX-DRP/TX-DRP),由于误差而遗失了多少包(RX-OVR/TX-OVR);最后一列展示的是为这个接口设置的标记,在利用ifconfig显示接口配置时,这些标记都采用一个字母。它们的说明如下: B 已经设置了一个广播地址。 L 该接口是一个回送设备。 M 接收所有数据包(混乱模式)。 N 避免跟踪。 O 在该接口上,禁用A R P。 P 这是一个点到点链接。 R 接口正在运行。 U 接口处于“活动”状态。 显示路由表 在随- r标记一起调用n e t s t a t时,将显示内核路由表,就像我们利用r o u t e命令一样。产生的输出如下: rootmachin

13、e1 /$ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 28 U 0 0 0 eth0 U 0 0 0 eth1 U 0 0 0 lo UG 0 0 0 eth0 - n 选项令netstat以点分四段式的形式输出IP

14、地址,而不是象征性的主机名和网络名。如果想避免通过网络查找地址(比如避开DNS或NIS服务器),这一点是特别有用的。 netstat输出结果中,第二列展示的是路由条目所指的网关,如果没有使用网关,就会出现一个星号(*)或者;第三列展示路由的概述,在为具体的I P地址找出最恰当的路由时,内核将查看路由表内的所有条目,在对找到的路由与目标路由比较之前,将对IP地址和genmask进行按位“与”计算;第四列显示了不同的标记,这些标记的说明如下: G 路由将采用网关。 U 准备使用的接口处于“活动”状态。 H 通过该路由,只能抵达一台主机。 D 如果路由表的条目是由ICMP重定向消息生成

15、的,就会设置这个标记。 M 如果路由表条目已被ICMP重定向消息修改,就会设置这个标记。 netstat输出结果的Iface显示该连接所用的物理网卡,如eth0表示用第一张,eth1表示用第二张。接下来我们来看一下,微软是怎么说的?    微软公司故意将这个功能强大的命令隐藏起来是因为它对于普通用户来说有些复杂。我们已经知道:Netstat它可以用来获得你的系统网络连接的信息(使用的端口,在使用的协议等 ),收到和发出的数据,被连接的远程系统的端口,Netstat在内存中读取所有的网络信息。    在Internet RFC标准中,Netstat的定义是

16、: Netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。     对于好奇心极强的人来说,紧紧有上面的理论是远远不够的,接下来我们来详细的解释一下各个参数的使用,看看执行之后会发生什么,显示的信息又是什么意思,好了,废话不说了,让我们一起来实践一下吧:)C:>netstat -aActive Connections  Proto  Local Address          Foreign Address&

17、#160;       State  TCP    Eagle:ftp              Eagle:0                LISTENING  TCP    Eagle:telnet       

18、   Eagle:0                LISTENING  TCP    Eagle:smtp             Eagle:0                LISTENING  TCP  

19、0; Eagle:http             Eagle:0                LISTENING  TCP    Eagle:epmap            Eagle:0            &

20、#160;   LISTENING  TCP    Eagle:https            Eagle:0                LISTENING  TCP    Eagle:microsoft-ds     Eagle:0      

21、;          LISTENING  TCP    Eagle:1030             Eagle:0                LISTENING  TCP    Eagle:6059        

22、0;    Eagle:0                LISTENING  TCP    Eagle:8001             Eagle:0                LISTENING  TCP   

23、 Eagle:8005             Eagle:0                LISTENING  TCP    Eagle:8065             Eagle:0            

24、60;   LISTENING  TCP    Eagle:microsoft-ds     localhost:1031         ESTABLISHED  TCP    Eagle:1031             localhost:microsoft-ds  ESTABLISHED &

25、#160;TCP    Eagle:1040             Eagle:0                LISTENING  TCP    Eagle:netbios-ssn      Eagle:0            &#

26、160;   LISTENING  TCP    Eagle:1213             5:9002     CLOSE_WAIT  TCP    Eagle:2416             42:https   CLOSE_WAI

27、T  TCP    Eagle:2443             42:https   CLOSE_WAIT  TCP    Eagle:2907             01:2774     CLOSE_WAIT  TCP

28、0;   Eagle:2916             01:telnet   ESTABLISHED  TCP    Eagle:2927             0:4899    TIME_WAIT  TCP    Eagle:2928  

29、60;          0:4899    TIME_WAIT  TCP    Eagle:2929             0:4899    ESTABLISHED  TCP    Eagle:3455         &

30、#160;   5:9002     ESTABLISHED  TCP    Eagle:netbios-ssn      Eagle:0                LISTENING  UDP    Eagle:microsoft-ds     *:*

31、0; UDP    Eagle:1046             *:*  UDP    Eagle:1050             *:*  UDP    Eagle:1073             *:*  UDP

32、0;   Eagle:1938             *:*  UDP    Eagle:2314             *:*  UDP    Eagle:2399             *:*  UDP    Eagle

33、:2413             *:*  UDP    Eagle:2904             *:*  UDP    Eagle:2908             *:*  UDP    Eagle:3456  

34、60;          *:*  UDP    Eagle:4000             *:*  UDP    Eagle:4001             *:*  UDP    Eagle:6000      

35、;       *:*  UDP    Eagle:6001             *:*  UDP    Eagle:6002             *:*  UDP    Eagle:6003         &

36、#160;   *:*  UDP    Eagle:6004             *:*  UDP    Eagle:6005             *:*  UDP    Eagle:6006             *:

37、*  UDP    Eagle:6007             *:*  UDP    Eagle:6008             *:*  UDP    Eagle:6009             *:*  UD

38、P    Eagle:6010             *:*  UDP    Eagle:6011             *:*  UDP    Eagle:1045             *:*  UDP   

39、Eagle:1051             *:*  UDP    Eagle:netbios-ns       *:*  UDP    Eagle:netbios-dgm      *:*  UDP    Eagle:netbios-ns       *:* 

40、60;UDP    Eagle:netbios-dgm      *:*我们拿其中一行来解释吧:Proto  Local Address          Foreign Address        StateTCP    Eagle:2929             0

41、:4899    ESTABLISHED协议(Proto):TCP,指是传输层通讯协议(什么?不懂?请用baidu搜索"TCP",OSI七层和TCP/IP四层可是基础_)本地机器名(Local  Address):Eagle,俗称计算机名了,安装系统时设置的,可以在“我的电脑”属性中修改,本地打开并用于连接的端口:2929)   远程机器名(Foreign  Address):0远程端口:4899  状态:ESTABLISHED  

42、;状态列表LISTEN  :在监听状态中。   ESTABLISHED:已建立联机的联机情况。 TIME_WAIT:该联机在目前已经是等待的状态。 -a 参数常用于获得你的本地系统开放的端口,用它您可以自己检查你的系统上有没有被安装木马(ps:有很多好程序用来检测木马,但你的目的是想成为真正的hacker,手工检测要比只按一下“scan”按钮好些-仅个人观点)。如果您Netstat你自己的话,发现下面的信息: Port 12345(TCP) Netbus Port 31337(UDP) Back Orifice 祝贺!您中了最常见的木马(_,上面4899

43、是我连别人的,而且这个radmin是商业软件,目前我最喜欢的远程控制软件) 如果你需要木马及其端口列表的话,去国内的H站找找,或者baidu,google吧 * #一些原理:也许你有这样的问题:“在机器名后的端口号代表什么? 例子:Eagle:2929小于1024的端口通常运行一些网络服务,大于1024的端口用来与远程机器建立连接。*继续我们的探讨,使用-n参数。(Netstat -n) Netstat -n基本上是-a参数的数字形式:C:>netstat -nActive Connections  Proto  Local Address

44、0;         Foreign Address        State  TCP    :445          :1031         ESTABLISHED  TCP    :1031   

45、0;     :445          ESTABLISHED  TCP    80:1213     5:9002     CLOSE_WAIT  TCP    80:2416     42:44

46、3     CLOSE_WAIT  TCP    80:2443     42:443     CLOSE_WAIT  TCP    80:2907     01:2774     CLOSE_WAIT  TC

47、P    80:2916     01:23       ESTABLISHED  TCP    80:2929     0:4899    ESTABLISHED  TCP    80:3048     

48、:8004       SYN_SENT  TCP    80:3455     5:9002     ESTABLISHED-a 和 n 是最常用的两个,据我不完全测试得出以下结果:1. -n 显示用数字化主机名,即IP地址,而不是compute_name【eagle】2. -n 只显示TCP连接(没有在哪里见过微软的相关文档,有哪个朋友见到的话,记得告诉我喔_)&#

49、160;    得到IP等于得到一切,它是最容易使机器受到攻击的东东,所以隐藏自己IP,获得别人的IP对hacker来说非常重要,现在隐藏IP技术很流行,但那些隐藏工具或服务真的让你隐身吗?我看不见得,呵呵,代理,跳板不属于今天讨论,一个获取对方IP的简单例子请参考我前面的文章【用DOS命令查QQ好友IP地址】-a 和 -n 是最常用的命令,如果要显示一些协议的更详细信息,就要用-p这个参数了,它其实是-a 和 -n的一个变种,我们来看一个实例,你就明白了:【netstat -p 其中为TCP或者UDP】C:>netstat -p tcpActive Con

50、nections  Proto  Local Address          Foreign Address        State  TCP    Eagle:microsoft-ds     localhost:1031         ESTABLISHED  TCP&

51、#160;   Eagle:1031             localhost:microsoft-ds  ESTABLISHED  TCP    Eagle:1213             5:9002     CLOSE_WAIT  TCP    Eagle

52、:2416             42:https   CLOSE_WAIT  TCP    Eagle:2443             42:https   CLOSE_WAIT  TCP    Eagle:2907      

53、;       01:2774     CLOSE_WAIT  TCP    Eagle:2916             01:telnet   ESTABLISHED  TCP    Eagle:2929          

54、;   0:4899    ESTABLISHED  TCP    Eagle:3455             5:9002     ESTABLISHED  -e    含义:本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的

55、数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。C:>netstat -eInterface Statistics                           Received            SentBytes         &#

56、160;           143090206        44998789Unicast packets              691805          363603Non-unicast packets          88652

57、6            2386Discards                          0               0Errors          

58、                 0               0Unknown protocols              4449    若接收错和发送错接近为零或全为零,网络的接口无问题。但当这两个字段有100个以上的出错分组时就可以认为是高出错率了。高的发送

59、错表示本地网络饱和或在主机与网络之间有不良的物理连接;  高的接收错表示整体网络饱和、本地主机过载或物理连接有问题,可以用Ping命令统计误码率,进一步确定故障的程度。netstat -e 和ping结合使用能解决一大部分网络故障。    接下来我们开始讲解两个比较复杂的参数 -r 和 -s ,也正因为如此,笔者把他放到最后讲解,这里面可能会涉及到其他方面的知识,以后在我的博客中将会继续写出来,呵呵,最近比较忙    -r是用来显示路由表信息,我们来看例子:C:>netstat -rRoute Table(路由表)=Interf

60、ace List(网络接口列表)0x1 . MS TCP Loopback interface0x10003 .00 0c f1 02 76 81 . Intel(R) PRO/Wireless LAN 2100 3B Mini PCIdapter0x10004 .00 02 3f 00 05 cb . Realtek RTL8139/810x Family Fast EthernetC=Active Routes:(动态路由)Network Destination        Netmask    

61、     Gateway       Interface  Metric                        54   81       30          0.0

62、.0.0              54   80       20                              

63、        1              80   80       20              81   8

64、1       30    80  55                      20    81  55        

65、60;             30    55  55    80   80       20    55  55    81   192.168.

66、1.181       30                    80   80       20                240.0

67、.0.0    81   81       30  55  55    80   80       1  55  55   

68、81   81       1Default Gateway:     54(默认网关)=Persistent Routes:(静态路由)  NoneC:>-s 参数的作用前面有详细的说明,来看例子C:>netstat -sIPv4 Statistics       (IP统计结果)      Packets Received  &

69、#160;                = 369492(接收包数)  Received Header Errors             = 0(接收头错误数)  Received Address Errors            = 2(接收地址错误数)  Datagr

70、ams Forwarded                = 0(数据报递送数)  Unknown Protocols Received         = 0(未知协议接收数)  Received Packets Discarded         = 4203(接收后丢弃的包数)  Received Packets

71、 Delivered         = 365287(接收后转交的包数)  Output Requests                    = 369066(请求数)  Routing Discards                 

72、60; = 0(路由丢弃数 )  Discarded Output Packets           = 2172(包丢弃数)  Output Packet No Route             = 0(不路由的请求包)  Reassembly Required            

73、0;   = 0(重组的请求数)  Reassembly Successful              = 0(重组成功数)  Reassembly Failures                = 0(重组失败数)  Datagrams Successfully Fragmented  = 0(分片成功

74、的数据报数)  Datagrams Failing Fragmentation    = 0(分片失败的数据报数)  Fragments Created                  = 0(分片建立数)ICMPv4 Statistics (ICMP统计结果)包括Received和Sent两种状态             

75、              Received    Sent  Messages                  285         784(消息数)  Errors           

76、60;        0           0(错误数)  Destination Unreachable   53          548(无法到达主机数目)  Time Exceeded             0    

77、       0(超时数目)  Parameter Problems        0           0(参数错误)  Source Quenches           0           0(源夭

78、折数)  Redirects                 0           0(重定向数)  Echos                     25      

79、0;   211(回应数)  Echo Replies              207         25(回复回应数)  Timestamps                0           0(时

80、间戳数)  Timestamp Replies         0           0(时间戳回复数)  Address Masks             0           0(地址掩码数)  Address Mask Repl

81、ies      0           0(地址掩码回复数)TCP Statistics for IPv4(TCP统计结果)  Active Opens                        = 5217(主动打开数)  Passive Opens                       = 80(被动打开数)  Failed Connection Attempts          = 2944(连接失败尝试数)  Reset Connections            &#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论