Netstat命令详解(windows下)
Netstat ⽤于显⽰与IP 、TCP 、UDP 和ICMP 协议相关的统计数据,⼀般⽤于检验本机各端⼝的⽹络连接情况。
如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,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 可以是
下列协议之⼀: TCP 、UDP 、TCPv6 或 UDPv6 。
如果与 -s 选项⼀起使⽤以显⽰按协议统计信息,proto 可以是下列协议之⼀ :
IP 、IPv6 、ICMP 、ICMPv6 、TCP 、TCPv6 、UDP 或 UDPv6 。
-r 显⽰路由表。
-s 显⽰按协议统计信息。默认地,显⽰ IP 、
IPv6 、ICMP 、ICMPv6 、TCP 、TCPv6 、UDP 和 UDPv6 的统计信息;
-p 选项⽤于指定默认情况的⼦集。
-v 与 -b 选项⼀起使⽤时将显⽰包含于
为所有可执⾏组件创建连接或监听端⼝的
组件。
interval 重新显⽰选定统计信息,每次显⽰之间
暂停时间间隔( 以秒计) 。按 CTRL+C 停⽌重新
显⽰统计信息。如果省略,netstat 显⽰当前
配置信息( 只显⽰⼀次)
(Win2000 )
C:\>netstat /?
Displays protocol statistics and current TCP/IP network connections.carmenelectra
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 address and port numbers in numerical form.
-p proto Shows connections for the protocol specified by proto; proto
may be TCP or UDP. If ud 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 ud to specify
a subt of the default.
interval Redisplays lected statistics, pausing interval conds
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 连接,TCP 和UDP 监听,进程内存管理的相关报告。
对于好奇⼼极强的⼈来说,紧紧有上⾯的理论是远远不够的,接下来我们来详细的解释⼀下各个参数的使⽤,看看执⾏之后会发⽣什么,显⽰的信息⼜是什么意思,好了,废话不说了,让我们⼀起来实践⼀下吧:)
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 *:*
stuffUDP Eagle:6002 *:*
UDP Eagle:6003 *:*
UDP Eagle:6004 *:*
UDP Eagle:6005 *:*
UDP Eagle:6006 *:*
UDP Eagle:6007 *:*
videoboyUDP 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 *:*
honestly
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 站找找,或者baidu ,google 吧
*****************************************************************
# ⼀些原理:也许你有这样的问题:“在机器名后的端⼝号代表什么?
例⼦: Eagle:2929
⼩于1024 的端⼝通常运⾏⼀些⽹络服务,⼤于1024 的端⼝⽤来与远程机器建⽴连接。
*****************************************************************
cake是什么意思继续我们的探讨,使⽤-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 和-n 是最常⽤的两个,据我不完全测试得出以下结果:
1. -n 显⽰⽤数字化主机名,即IP 地址,⽽不是compute_name 【eagle 】
2. -n 只显⽰TCP 连接(没有在哪⾥见过微软的相关⽂档,有哪个朋友见到的话,记得告诉我喔^_^ )
得到IP 等于得到⼀切,它是最容易使机器受到攻击的东东,所以隐藏⾃⼰IP ,获得别⼈的IP 对hacker来说⾮常重要,现在隐藏IP 技术很流⾏,但那些隐藏⼯具或服务真的让你隐⾝吗?我看不见得,呵呵,代理,跳板不属于今天讨论,⼀个获取对⽅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 20countdown
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 (接收后丢弃的包数)
permit的用法
Received Packets Delivered = 365287 (接收后转交的包数)
Output Requests = 369066 (请求数)
Routing Discards = 0 (路由丢弃数)
Discarded Output Packets = 2172 (包丢弃数)
Output Packet No Route = 0 (不路由的请求包)
Reasmbly Required = 0 (重组的请求数)
Reasmbly Successful = 0 (重组成功数)
Reasmbly Failures = 0 (重组失败数)
Datagrams Successfully Fragmented = 0 (分⽚成功的数据报数)
Datagrams Failing Fragmentation = 0 (分⽚失败的数据报数)
Fragments Created = 0 (分⽚建⽴数)
ICMPv4 Statistics (ICMP 统计结果)包括Received 和Sent 两种状态
Received Sent
Messages 285 784 (消息数)
Errors 0 0 (错误数)
Destination Unreachable 53 548 (⽆法到达主机数⽬)
Time Exceeded 0 0 (超时数⽬)
Parameter Problems 0 0 (参数错误)
write过去式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 (连接失败尝试数)
Ret 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:\>