﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-无涯-文章分类-dos</title><link>http://www.blogjava.net/koradji/category/47300.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 09 Dec 2010 05:59:33 GMT</lastBuildDate><pubDate>Thu, 09 Dec 2010 05:59:33 GMT</pubDate><ttl>60</ttl><item><title>【转帖】端口占用查询命令“netstat”详解</title><link>http://www.blogjava.net/koradji/articles/340098.html</link><dc:creator>koradji</dc:creator><author>koradji</author><pubDate>Wed, 08 Dec 2010 13:30:00 GMT</pubDate><guid>http://www.blogjava.net/koradji/articles/340098.html</guid><wfw:comment>http://www.blogjava.net/koradji/comments/340098.html</wfw:comment><comments>http://www.blogjava.net/koradji/articles/340098.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/koradji/comments/commentRss/340098.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/koradji/services/trackbacks/340098.html</trackback:ping><description><![CDATA[原文出处：<a href="http://hi.baidu.com/n88365/blog/item/d73837afb32969fefbed5001.html">http://hi.baidu.com/n88365/blog/item/d73837afb32969fefbed5001.html</a><br />
<br />
Netstat命令详解<br />
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据，一般用于检验本机各端口的网络连接情况。 <br />
如果你的计算机有时候接收到的数据报导致出错数据或故障，你不必感到奇怪，TCP/IP可以容许这些类型的错误，并能够自动重发数据报。但如果累计的出错
情况数目占到所接收的IP数据报相当大的百分比，或者它的数目正迅速增加，那么你就应该使用Netstat查一查为什么会出现这些情况了。
Netstat 详细参数列表<br />
<strong>（Winxp）</strong><br />
C:"&gt;netstat /?<br />
显示协议统计信息和当前 TCP/IP 网络连接。<br />
NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]<br />
-a            显示所有连接和监听端口。<br />
-b            显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件<br />
拥有多个独立组件，并且在这些情况下包含于创建连接或监听端口的组件序列被显示。<br />
这种情况下，可执行组件名在底部的 [] 中，顶部是其调用的组件，等等，直到 TCP/IP<br />
部分。注意此选项可能需要很长时间，如果没有足够权限可能失败。<br />
-e            显示以太网统计信息。此选项可以与 -s<br />
选项组合使用。<br />
-n            以数字形式显示地址和端口号。<br />
-o            显示与每个连接相关的所属进程 ID。<br />
-p proto      显示 proto 指定的协议的连接；proto 可以是<br />
下列协议之一: TCP、UDP、TCPv6 或 UDPv6。<br />
如果与 -s 选项一起使用以显示按协议统计信息，proto 可以是下列协议之一:<br />
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。<br />
-r            显示路由表。<br />
-s            显示按协议统计信息。默认地，显示 IP、<br />
IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息；<br />
-p 选项用于指定默认情况的子集。<br />
-v            与 -b 选项一起使用时将显示包含于<br />
为所有可执行组件创建连接或监听端口的<br />
组件。<br />
interval      重新显示选定统计信息，每次显示之间<br />
暂停时间间隔(以秒计)。按 CTRL+C 停止重新<br />
显示统计信息。如果省略，netstat 显示当前<br />
配置信息(只显示一次)<br />
<strong>（Win2000）</strong><br />
C:"&gt;netstat /?<br />
Displays protocol statistics and current TCP/IP network connections.<br />
NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]<br />
-a            Displays all connections and listening ports.<br />
-e            Displays Ethernet statistics. This may be combined with the -s<br />
option.<br />
-n            Displays addresses and port numbers in numerical form.<br />
-p proto      Shows connections for the protocol specified by proto; proto<br />
may be TCP or UDP.  If used with the -s option to display<br />
per-protocol statistics, proto may be TCP, UDP, or IP.<br />
-r            Displays the routing table.<br />
-s            Displays per-protocol statistics.  By default, statistics are<br />
shown for TCP, UDP and IP; the -p option may be used to specify<br />
a subset of the default.<br />
interval      Redisplays selected statistics, pausing interval seconds<br />
between each display.  Press CTRL+C to stop redisplaying<br />
statistics.  If omitted, netstat will print the current<br />
configuration information once.<br />
<strong>Netstat</strong><strong>的一些常用选项</strong> <br />
<strong>netstat -s</strong>——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序（如Web浏览器）运行速度比较慢，或者不能显示Web页之类的数据，那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行，找到出错的关键字，进而确定问题所在。 <br />
<strong>netstat -e</strong>——本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量，也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。 <br />
<strong>netstat -r</strong>——本选项可以显示关于路由表的信息，类似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外，还显示当前有效的连接。 <br />
<strong>netstat -a</strong>——本选项显示一个所有的有效连接信息列表，包括已建立的连接（ESTABLISHED），也包括监听连接请求（LISTENING）的那些连接，断开连接（CLOSE_WAIT）或者处于联机等待状态的（TIME_WAIT）等<br />
<strong>netstat -n</strong>——显示所有已建立的有效连接。 <br />
<br />
<br />
<strong>接下来我们来看一下，微软是怎么说的？</strong><br />
微软公司故意将这个功能强大的命令隐藏起来是因为它对于普通用户来说有些复杂。我们已经知道：Netstat它可以用来获得你的系统网络连接的信息（使用
的端口，在使用的协议等 ），收到和发出的数据，被连接的远程系统的端口，Netstat在内存中读取所有的网络信息。<br />
在Internet RFC标准中，Netstat的定义是： Netstat是在内核中访问网络及相关信息的程序，它能提供TCP连接，TCP和UDP监听，进程内存管理的相关报告。 <br />
对于好奇心极强的人来说，紧紧有上面的理论是远远不够的，接下来我们来详细的解释一下各个参数的使用，看看执行之后会发生什么，显示的信息又是什么意思，好了，废话不说了，让我们一起来实践一下吧：）<br />
C:"&gt;netstat -a<br />
Active Connections<br />
Proto  Local Address          Foreign Address        State<br />
TCP    Eagle:ftp              Eagle:0                LISTENING<br />
TCP    Eagle:telnet          Eagle:0                LISTENING<br />
TCP    Eagle:smtp            Eagle:0                LISTENING<br />
TCP    Eagle:http            Eagle:0                LISTENING<br />
TCP    Eagle:epmap            Eagle:0                LISTENING<br />
TCP    Eagle:https            Eagle:0                LISTENING<br />
TCP    Eagle:microsoft-ds    Eagle:0                LISTENING<br />
TCP    Eagle:1030            Eagle:0                LISTENING<br />
TCP    Eagle:6059            Eagle:0                LISTENING<br />
TCP    Eagle:8001            Eagle:0                LISTENING<br />
TCP    Eagle:8005            Eagle:0                LISTENING<br />
TCP    Eagle:8065            Eagle:0                LISTENING<br />
TCP    Eagle:microsoft-ds    localhost:1031        ESTABLISHED<br />
TCP    Eagle:1031            localhost:microsoft-ds  ESTABLISHED<br />
TCP    Eagle:1040            Eagle:0                LISTENING<br />
TCP    Eagle:netbios-ssn      Eagle:0                LISTENING<br />
TCP    Eagle:1213            218.85.139.65:9002    CLOSE_WAIT<br />
TCP    Eagle:2416            219.133.63.142:https  CLOSE_WAIT<br />
TCP    Eagle:2443            219.133.63.142:https  CLOSE_WAIT<br />
TCP    Eagle:2907            192.168.1.101:2774    CLOSE_WAIT<br />
TCP    Eagle:2916            192.168.1.101:telnet  ESTABLISHED<br />
TCP    Eagle:2927            219.137.227.10:4899    TIME_WAIT<br />
TCP    Eagle:2928            219.137.227.10:4899    TIME_WAIT<br />
TCP    Eagle:2929            219.137.227.10:4899    ESTABLISHED<br />
TCP    Eagle:3455            218.85.139.65:9002    ESTABLISHED<br />
TCP    Eagle:netbios-ssn      Eagle:0                LISTENING<br />
UDP    Eagle:microsoft-ds    *:*<br />
UDP    Eagle:1046            *:*<br />
UDP    Eagle:1050            *:*<br />
UDP    Eagle:1073            *:*<br />
UDP    Eagle:1938            *:*<br />
UDP    Eagle:2314            *:*<br />
UDP    Eagle:2399            *:*<br />
UDP    Eagle:2413            *:*<br />
UDP    Eagle:2904            *:*<br />
UDP    Eagle:2908            *:*<br />
UDP    Eagle:3456            *:*<br />
UDP    Eagle:4000            *:*<br />
UDP    Eagle:4001            *:*<br />
UDP    Eagle:6000            *:*<br />
UDP    Eagle:6001            *:*<br />
UDP    Eagle:6002            *:*<br />
UDP    Eagle:6003            *:*<br />
UDP    Eagle:6004            *:*<br />
UDP    Eagle:6005            *:*<br />
UDP    Eagle:6006            *:*<br />
UDP    Eagle:6007            *:*<br />
UDP    Eagle:6008            *:*<br />
UDP    Eagle:6009            *:*<br />
UDP    Eagle:6010            *:*<br />
UDP    Eagle:6011            *:*<br />
UDP    Eagle:1045            *:*<br />
UDP    Eagle:1051            *:*<br />
UDP    Eagle:netbios-ns      *:*<br />
UDP    Eagle:netbios-dgm      *:*<br />
UDP    Eagle:netbios-ns      *:*<br />
UDP    Eagle:netbios-dgm      *:*<br />
<br />
我们拿其中一行来解释吧：<br />
Proto  Local Address          Foreign Address        State<br />
TCP    Eagle:2929            219.137.227.10:4899    ESTABLISHED<br />
<br />
协议（Proto）：TCP，指是传输层通讯协议（什么？不懂？请用baidu搜索"TCP"，OSI七层和TCP/IP四层可是基础^_^）<br />
本地机器名（Local  Address）：Eagle，俗称计算机名了，安装系统时设置的，可以在&#8220;我的电脑&#8221;属性中修改，本地打开并用于连接的端口：2929）  <br />
远程机器名（Foreign  Address）：219.137.227.10<br />
远程端口：4899  <br />
状态：ESTABLISHED  <br />
<br />
<strong>状态列表</strong><br />
LISTEN  ：在监听状态中。  <br />
ESTABLISHED：已建立联机的联机情况。 <br />
TIME_WAIT：该联机在目前已经是等待的状态。 <br />
<br />
-a
参数常用于获得你的本地系统开放的端口，用它您可以自己检查你的系统上有没有被安装木马（ps：有很多好程序用来检测木马，但你的目的是想成为真正的
hacker，手工检测要比只按一下&#8220;scan&#8221;按钮好些----仅个人观点）。如果您Netstat你自己的话，发现下面的信息： <br />
<br />
Port 12345(TCP) Netbus <br />
Port 31337(UDP) Back Orifice <br />
<br />
祝贺!您中了最常见的木马（^_^，上面4899是我连别人的，而且这个radmin是商业软件，目前我最喜欢的远程控制软件） <br />
如果你需要木马及其端口列表的话，去国内的H站找找，或者baidu，google吧 <br />
<br />
***************************************************************** <br />
<br />
#一些原理：也许你有这样的问题：&#8220;在机器名后的端口号代表什么？ <br />
例子：Eagle:2929<br />
小于1024的端口通常运行一些网络服务，大于1024的端口用来与远程机器建立连接。　　<br />
*****************************************************************<br />
<br />
继续我们的探讨，使用-n参数。（Netstat -n) <br />
Netstat -n基本上是-a参数的数字形式：<br />
<br />
C:"&gt;netstat -n<br />
Active Connections<br />
Proto  Local Address          Foreign Address        State<br />
TCP    127.0.0.1:445          127.0.0.1:1031        ESTABLISHED<br />
TCP    127.0.0.1:1031        127.0.0.1:445          ESTABLISHED<br />
TCP    192.168.1.180:1213    218.85.139.65:9002    CLOSE_WAIT<br />
TCP    192.168.1.180:2416    219.133.63.142:443    CLOSE_WAIT<br />
TCP    192.168.1.180:2443    219.133.63.142:443    CLOSE_WAIT<br />
TCP    192.168.1.180:2907    192.168.1.101:2774    CLOSE_WAIT<br />
TCP    192.168.1.180:2916    192.168.1.101:23      ESTABLISHED<br />
TCP    192.168.1.180:2929    219.137.227.10:4899    ESTABLISHED<br />
TCP    192.168.1.180:3048    192.168.1.1:8004      SYN_SENT<br />
TCP    192.168.1.180:3455    218.85.139.65:9002    ESTABLISHED<br />
<br />
-a 和 －n 是最常用的两个，据我不完全测试得出以下结果：<br />
1. -n 显示用数字化主机名，即IP地址，而不是compute_name【eagle】<br />
2. -n 只显示TCP连接（没有在哪里见过微软的相关文档，有哪个朋友见到的话，记得告诉我喔^_^）<br />
得到IP等于得到一切，它是最容易使机器受到攻击的东东，所以隐藏自己IP，获得别人的IP对hacker来说非常重要，现在隐藏IP技术很流行，但那些
隐藏工具或服务真的让你隐身吗？我看不见得，呵呵，代理，跳板不属于今天讨论，一个获取对方IP的简单例子请参考我前面的文章【<a href="http://imgcache.qq.com/qzone/blogjumper.html#url=http://hawkoo.bokee.com/viewdiary.10456844.html" target="_blank"><font color="#2f5fa1">用DOS命令查QQ好友IP地址</font></a>】<br />
<br />
-a 和 -n 是最常用的命令，如果要显示一些协议的更详细信息，就要用-p这个参数了，它其实是-a 和 -n的一个变种，我们来看一个实例，你就明白了：【netstat -p @@@ 其中@@@为TCP或者UDP】<br />
C:"&gt;netstat -p tcp<br />
Active Connections<br />
Proto  Local Address          Foreign Address        State<br />
TCP    Eagle:microsoft-ds    localhost:1031        ESTABLISHED<br />
TCP    Eagle:1031            localhost:microsoft-ds  ESTABLISHED<br />
TCP    Eagle:1213            218.85.139.65:9002    CLOSE_WAIT<br />
TCP    Eagle:2416            219.133.63.142:https  CLOSE_WAIT<br />
TCP    Eagle:2443            219.133.63.142:https  CLOSE_WAIT<br />
TCP    Eagle:2907            192.168.1.101:2774    CLOSE_WAIT<br />
TCP    Eagle:2916            192.168.1.101:telnet  ESTABLISHED<br />
TCP    Eagle:2929            219.137.227.10:4899    ESTABLISHED<br />
TCP    Eagle:3455            218.85.139.65:9002    ESTABLISHED<br />
<br />
继续我们的参数讲解 -e<br />
含义：本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量，也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。<br />
C:"&gt;netstat -e<br />
Interface Statistics<br />
Received            Sent<br />
Bytes                    143090206        44998789<br />
Unicast packets              691805          363603<br />
Non-unicast packets          886526            2386<br />
Discards                          0              0<br />
Errors                            0              0<br />
Unknown protocols              4449<br />
若接收错和发送错接近为零或全为零，网络的接口无问题。但当这两个字段有100个以上的出错分组时就可以认为是高出错率了。高的发送错表示本地网络饱和或
在主机与网络之间有不良的物理连接;
高的接收错表示整体网络饱和、本地主机过载或物理连接有问题，可以用Ping命令统计误码率，进一步确定故障的程度。netstat -e
和ping结合使用能解决一大部分网络故障。<br />
<br />
接下来我们开始讲解两个比较复杂的参数 <strong>-r </strong>和<strong> -s</strong> ，也正因为如此，笔者把他放到最后讲解，这里面可能会涉及到其他方面的知识，以后在我的博客中将会继续写出来，呵呵，最近比较忙<br />
<br />
-r是用来显示路由表信息，我们来看例子：<br />
C:"&gt;netstat -r<br />
Route Table（路由表）<br />
===========================================================================<br />
Interface List（网络接口列表）<br />
0x1 ........................... MS TCP Loopback interface<br />
0x10003 ...00 0c f1 02 76 81 ...... Intel(R) PRO/Wireless LAN 2100 3B Mini PCI<br />
dapter<br />
0x10004 ...00 02 3f 00 05 cb ...... Realtek RTL8139/810x Family Fast Ethernet<br />
C<br />
===========================================================================<br />
===========================================================================<br />
Active Routes:（动态路由）<br />
Network Destination        Netmask          Gateway      Interface  Metric<br />
0.0.0.0          0.0.0.0    192.168.1.254  192.168.1.181      30<br />
0.0.0.0          0.0.0.0    192.168.1.254  192.168.1.180      20<br />
127.0.0.0        255.0.0.0        127.0.0.1      127.0.0.1      1<br />
192.168.1.0    255.255.255.0    192.168.1.180  192.168.1.180      20<br />
192.168.1.0    255.255.255.0    192.168.1.181  192.168.1.181      30<br />
192.168.1.180  255.255.255.255        127.0.0.1      127.0.0.1      20<br />
192.168.1.181  255.255.255.255        127.0.0.1      127.0.0.1      30<br />
192.168.1.255  255.255.255.255    192.168.1.180  192.168.1.180      20<br />
192.168.1.255  255.255.255.255    192.168.1.181  192.168.1.181      30<br />
224.0.0.0        240.0.0.0    192.168.1.180  192.168.1.180      20<br />
224.0.0.0        240.0.0.0    192.168.1.181  192.168.1.181      30<br />
255.255.255.255  255.255.255.255    192.168.1.180  192.168.1.180      1<br />
255.255.255.255  255.255.255.255    192.168.1.181  192.168.1.181      1<br />
Default Gateway:    192.168.1.254（默认网关）<br />
===========================================================================<br />
Persistent Routes:（静态路由）<br />
None<br />
C:"&gt;<br />
<br />
<strong>-s</strong> 参数的作用前面有详细的说明，来看例子<br />
C:"&gt;netstat -s<br />
IPv4 Statistics      <strong>（IP统计结果）</strong>    <br />
Packets Received                  = 369492（接收包数）<br />
Received Header Errors            = 0（接收头错误数）<br />
Received Address Errors            = 2（接收地址错误数）<br />
Datagrams Forwarded                = 0（数据报递送数）<br />
Unknown Protocols Received        = 0（未知协议接收数）<br />
Received Packets Discarded        = 4203（接收后丢弃的包数）<br />
Received Packets Delivered        = 365287（接收后转交的包数）<br />
Output Requests                    = 369066（请求数）<br />
Routing Discards                  = 0（路由丢弃数 ）<br />
Discarded Output Packets          = 2172（包丢弃数）<br />
Output Packet No Route            = 0（不路由的请求包）<br />
Reassembly Required                = 0（重组的请求数）<br />
Reassembly Successful              = 0（重组成功数）<br />
Reassembly Failures                = 0（重组失败数）<br />
Datagrams Successfully Fragmented  = 0（分片成功的数据报数）<br />
Datagrams Failing Fragmentation    = 0（分片失败的数据报数）<br />
Fragments Created                  = 0（分片建立数）<br />
ICMPv4 Statistics <strong>（ICMP统计结果）包括Received和Sent两种状态</strong><br />
Received    Sent<br />
Messages                  285        784（消息数）<br />
Errors                    0          0（错误数）<br />
Destination Unreachable  53          548（无法到达主机数目）<br />
Time Exceeded            0          0（超时数目）<br />
Parameter Problems        0          0（参数错误）<br />
Source Quenches          0          0（源夭折数）<br />
Redirects                0          0（重定向数）<br />
Echos                    25          211（回应数）<br />
Echo Replies              207        25（回复回应数）<br />
Timestamps                0          0（时间戳数）<br />
Timestamp Replies        0          0（时间戳回复数）<br />
Address Masks            0          0（地址掩码数）<br />
Address Mask Replies      0          0（地址掩码回复数）<br />
TCP Statistics for IPv4<strong>（TCP统计结果）</strong><br />
Active Opens                        = 5217（主动打开数）<br />
Passive Opens                      = 80（被动打开数）<br />
Failed Connection Attempts          = 2944（连接失败尝试数）<br />
Reset Connections                  = 529（复位连接数）<br />
Current Connections                = 9（当前连接数目）<br />
Segments Received                  = 350143（当前已接收的报文数）<br />
Segments Sent                      = 347561（当前已发送的报文数）<br />
Segments Retransmitted              = 6108（被重传的报文数目）<br />
UDP Statistics for IPv4<strong>（UDP统计结果）</strong><br />
Datagrams Received    = 14309（接收的数据包）<br />
No Ports              = 1360（无端口数）<br />
Receive Errors        = 0（接收错误数）<br />
Datagrams Sent        = 14524（数据包发送数）<br />
C:"&gt;<br />
<br />
<img src ="http://www.blogjava.net/koradji/aggbug/340098.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/koradji/" target="_blank">koradji</a> 2010-12-08 21:30 <a href="http://www.blogjava.net/koradji/articles/340098.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>