Netstat是Windows下的网络检测工具,需要在安装了TCP/IP协议以后才可以使用的,我们来看看netstat这个命令:

             NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]

             -a Displays all connections and listening ports.

             显示所有连接和侦听端口。

             此命令可以显示出你的计算机当前所开放的所有端口,其中包括TCP端口和UDP端口。有经验的管理员会经常的使用它,以此来查看计算机的系统服务是否正常,是否被“黑客”留下后门,木马等。比如说我就有一个习惯,在刚刚装了系统配置好服务器以后我就会运行一下netstat
             -a看看系统开放了什么端口,并记录下来,以便以后作为参考使用,当发现有不明的端口时就可以及时的做出对策。由于这个参数同时还会显示出当前计算机有什么人的IP正连接着你的服务器,所以也是一种实时入侵检测工具,如发现有个IP连接着不正常的端口,你也可以及时做出有效对策。示例:
             C:\>netstat -a
             Active Connections
             Proto Local Address Foreign Address State

             TCP iceblood:ftp iceblood.yofor.com:0 LISTENING

             TCP iceblood:telnet iceblood.yofor.com:0 LISTENING

             TCP iceblood:smtp iceblood.yofor.com:0 LISTENING

             TCP iceblood:http iceblood.yofor.com:0 LISTENING

             TCP iceblood:https iceblood.yofor.com:0 LISTENING

             ………………

             TCP iceblood:1171 iceblood.yofor.com:3306 ESTABLISHED

             TCP iceblood:ms-sql-s iceblood.yofor.com:0 LISTENING

             TCP iceblood:3306 iceblood.yofor.com:1171 ESTABLISHED

             ………………

             UDP iceblood:ms-sql-m *:*

             UDP iceblood:4000 *:*

             UDP iceblood:4001 *:*

             UDP iceblood:4002 *:*

             从上面的情况就可以知道我的计算机现在开放的TCP端口有ftp(21),telnet(23),smtp(25),http(80),https(443),1171连接着自己的mysql(3306),ms-sql-s(1433),UDP端口有ms-sql-m(1433),4000-4002都是我的OICQ。

 
             -e Displays Ethernet statistics. This may be combined with the -s
             option.

             显示以太网统计。该参数可以与 -s 选项结合使用。

             这个参数正如所说的,将在下面再跟大家说。

 

             -n Displays addresses and port numbers in numerical form.

             以数字格式显示地址和端口号(而不是尝试查找名称)。

             大家如果只输入netstat的话就会看见如下类似的结果:

             C:\>netstat

             Active Connections
             Proto Local Address Foreign Address State

             TCP iceblood:1171 iceblood.yofor.com:3306 ESTABLISHED

             TCP iceblood:3306 iceblood.yofor.com:1171 ESTABLISHED

             TCP iceblood:1219 202.109.72.40:6667 ESTABLISHED

             TCP iceblood:3566 SERVER-2:microsoft-ds ESTABLISHED

             你会发现这些和netstat -a有相同的地方,只不过netstat可以很清楚的列举出来当前和你连接的所有计算机,在Local
             Address和Foreign
             Address里你也发现大多数给出的只是计算机NetBios名,却还是不知道当前和你连接的IP,但如果你加上-n参数就不同了,示例如下:
             C:\>netstat -n

             Active Connections

             Proto Local Address Foreign Address State

             TCP 127.0.0.1:1171 127.0.0.1:3306 ESTABLISHED

             TCP 127.0.0.1:3306 127.0.0.1:1171 ESTABLISHED

             TCP 192.168.1.21:1219 202.109.72.40:6667 ESTABLISHED

             TCP 192.168.1.21:3566 192.168.1.3:445 ESTABLISHED

             TCP 192.168.1.21:3577 202.107.208.187:110 TIME_WAIT

             TCP 192.168.1.21:3578 192.168.1.24:445 ESTABLISHED

             看!是不是很明了了?对方的IP全部都出来了。其实-n参数其实也就是告诉netstat不解析对方计算机的NetBios名。

             -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.

             显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s
             选项一同使用显示每个协议的统计,protocol 可以是 tcp udp、icmp 或 ip。

             这个参数你可以指定查看什么协议的连接状态,比如我想查看当前计算机正在连接的所有TCP端口,示例如下:

             C:\>netstat -p tcp

             Active Connections

             Proto Local Address Foreign Address State

             TCP iceblood:1171 iceblood.yofor.com:3306 ESTABLISHED

             TCP iceblood:3306 iceblood.yofor.com:1171 ESTABLISHED

             TCP iceblood:1219 202.109.72.40:6667 ESTABLISHED

             …………
             -r Displays the routing table.

             显示路由表的内容。

             这个没有特别的,可以输入netstat -r以后自己研究。

             -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.

             显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。

             这个参数让我们来配合-e来使用。

             C:\>netstat -s -e

             Interface Statistics

             Received Sent

             Bytes 505385542 41745793

             Unicast packets 150106 150547

             Non-unicast packets 313008 807

             Discards 0 0

             Errors 0 0

             Unknown protocols 327149

             IP Statistics

             Packets Received = 379906

             Received Header Errors = 0

             Received Address Errors = 215043

             Datagrams Forwarded = 0

             Unknown Protocols Received = 0

             Received Packets Discarded = 0

             Received Packets Delivered = 166002

             Output Requests = 151620

             Routing Discards = 0

             Discarded Output Packets = 0

             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

             TCP Statistics

             Active Opens = 1556

             Passive Opens = 1

             Failed Connection Attempts = 4

             Reset Connections = 143

             Current Connections = 4

             Segments Received = 141243

             Segments Sent = 140462

             Segments Retransmitted = 477
             UDP Statistics
             Datagrams Received = 15125

             No Ports = 9634

             Receive Errors = 0

             Datagrams Sent = 10628

             看!嘿嘿!你的网络基本状态都在这里面,比如你接受了多少数据包,多少字节,有多少TCP端口打开,有多少UDP端口打开,太丰富了……这些就留给各位高手自己慢慢琢磨去了。
             好了,以上就是netstat命令的简单介绍,其实关键是要看自己怎么去灵活的使用了