论坛: 系统集成 标题: 关于NETSTAT命令详解~! 复制本贴地址    
作者: vtemqj [vtemqj]    论坛用户   登录
朋友们常会问着样的问题,怎样查别人的IP?怎样查自己的IP呢?我系统的哪些段口是开的?我怎样知道我的系统是否被安装了木马程序? 
其实这些问题(还有一些相似的问题)有一个简单的答案:Netstat命令! 
微软公司故意将这个功能强大的命令隐藏起来是因为它对于普通用户来说有些复杂。 
Netstat可以在MSDOS命令窗口下打开。 

C:\cd windows 

C:\windows> 

大多数Windows用户的默认目录是Windows目录,如果不是,上面的命令将打开Windows目录。 
好,在我们继续之前,我们要先知道Netstat是到底用来做什么的,它可以用来获得你的系统网络连接的信息(使用的端口,在使用的协议等 ),收到和发出的数据,被连接的远程系统的端口,Netstat在内存中读取所有的网络信息。 
在Internet RFC标准中,Netstat的定义是: 
“Netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告”。 

现在我们在对Netstat有了一定的了解之后就可以来使用它了,如果你打开了DOS窗口,你可以用以下命令来获取有关Netstat的帮助信息。 

C:\WINDOWS>netstat /? 

-a Displays all connections and listening ports. (Server-side connections are normally not shown). 

-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 contents of 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的-a参数命令。 
-a参数用来显示在本地机器上的外部连接,它也显示我们远程所连接的系统,本地和远程系统连接时使用的端口,和本地和远程系统连接的状态。(type and state ) 

例子: 

C:\windows>netstat -a 

Active Connections 

Proto Local Address Foreign Address State 

TCP ankit:1031 dwarfie.box.com:ftp ESTABLISHED 

TCP ankit:1036 dwarfie.box.com:ftp-data TIME_WAIT 

TCP ankit:1043 banners.egroups.com:80 FIN_WAIT_2 

TCP ankit:1045 mail2.mtnl.net.in:pop3 TIME_WAIT 

TCP ankit:1052 zztop.box.com:80 ESTABLISHED 

TCP ankit:1053 mail2.mtnl.net.in:pop3 TIME_WAIT 

UDP ankit:1025 *:* 

UDP ankit:nbdatagram *:* 

我们有其中一行来讲解: 

Proto Local Address Foreign Address State 

TCP ankit:1031 dwarfie.box.com:ftp ESTABLISHED 

协议(Proto):TCP(是否用详细讲解,请来信) 
本地机器名(Local Address):ankit(这个是您在安装系统时自设的,本地打开并用于连接的端口:1031) 
远程机器名(Foreign Address):dwarfie.box.com 
远程端口:ftp 
状态:ESTABLISHED 

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

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

祝贺!您中了最常见的木马(我好想在废话啊~) 
如果你需要木马列表的话,去国内的H站找找,我也有的,您要? 

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

#一些原理:也许你有这样的问题:“在机器名后的端口号代表什么? 
例子:ankit:1052 

小于1024的端口通常运行一些网络服务,大于1024的端口用来与远程机器建立连接,比如,你的浏览器在建立一个与www.163.com的连接,这时你的机器将打开一个随意的但大于1024的端口用于连接163的服务器。 

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


继续我们的探讨,使用-n参数。(Netstat -n) 
Netstat -n基本上是-a参数的数字形式: 

C:\>netstat -n 

Active Connections 

Proto Local Address Foreign Address State 

TCP 203.xx.251.161:1031 195.1.150.227:21 ESTABLISHED 

TCP 203.xx.251.161:1043 207.138.41.181:80 FIN_WAIT_2 

TCP 203.xx.251.161:1053 203.94.243.71:110 TIME_WAIT 

TCP 203.xx.251.161:1058 195.1.150.227:20 TIME_WAIT 

TCP 203.xx.251.161:1069 203.94.243.71:110 TIME_WAIT 

TCP 203.xx.251.161:1071 194.98.93.244:80 ESTABLISHED 

TCP 203.xx.251.161:1078 203.94.243.71:110 TIME_WAIT 

通过比较,发现有两点不同。 

1 -n参数命令用IP地址代替机器名。 
2 我不确定,但经过再三的测试,Netstat �Cn命令不显示非TCP连接的数据。 

-n参数通常用于查自己的IP时使用,也有些人使用他是因为他们更喜欢用数字的形式来显示主机名。难道这就是“数字化生存”? 

得到IP等于得到一切,它是最容易使机器受到攻击的东东,所以隐藏自己IP,获得别人的IP对hacker来说非常重要,现在隐藏IP技术很流行,但那些隐藏工具或服务真的让你引身吗?答案是:它们不能使你完全隐身。下面例子用来简单说明如何获得IP。 

OICQ或ICQ是很流行的聊天软件(很容易在MM身上浪费时间),他们虽然不显示用户的IP,但都是“穿马甲的IP地址”,用下面的方法得到其他用户的IP。 

1 看一个DOS窗口,打入Netstat �Cn获得你系统已经打开的端口和远程连接列表。 
2 然后打开OICQ,给“受害者”发信息。 
3 当你们还在聊天的时候,返回DOS窗口,再打入Netstat �Cn命令,你将发现一个显示新连接的IP地址,这个就应该是“受害者”的IP。(也有其他的情况...) 


到目前为止,我们讨论了‘-a’和‘-n’及一些应用,并发现在屏幕上返回和显示的连接不是一个详尽的协议。这意味着它显示了TCP连接,UDP等,假如你想看到那个连接属于UDP连接,你需要用-p参数。 

通常的Netstat的-p参数格式如下: 

Netstat �Cp xxx 

xxx可以是UDP或TCP,我们用显示TCP连接的例子来理解如何使用-p参数。 

C:\>netstat -p tcp 

Active Connections 

Proto Local Address Foreign Address State 

TCP ankit:1031 dwarfie.box.com:ftp ESTABLISHED 

TCP ankit:1043 banners.egroups.com:80 FIN_WAIT_2 

TCP ankit:1069 mail2.mtnl.net.in:pop3 TIME_WAIT 

TCP ankit:1078 mail2.mtnl.net.in:pop3 TIME_WAIT 

TCP ankit:1080 mail2.mtnl.net.in:pop3 TIME_WAIT 

TCP ankit:1081 http://www.burstnet.com/ FIN_WAIT_2 

TCP ankit:1083 zztop.box.com:80 TIME_WAIT 

这是个与-a,-n参数基本一样的变种。让我们继续看-e参数。 

C:\>netstat -e 

Interface Statistics 



Received Sent 

Bytes 135121 123418 

Unicast packets 419 476 

Non-unicast packets 40 40 

Discards 0 0 

Errors 0 0 

Unknown protocols 0 

有些质量不好的modems不显示输出或接受的数据包,用这个命令可以解决这个问题,你也可以用它查看你的机器在处理TCP/IP过程中的错误。 


我要讲解最后一个参数-r,这个命令有点难理解,而且涉及到其他方面的知识,我将在其他的教程中详细的讲解。下面我仅给出例子来理解-r参数。(在电脑方面,只要我们想做,我们就会有收获) 

C:\windows>netstat -r 

Route Table 



Active Routes: 



Network Address Netmask Gateway Address Interface Metric 

0.0.0.0 0.0.0.0 203.94.251.161 203.94.251.161 1 

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 

203.94.251.0 255.255.255.0 203.94.251.161 203.94.251.161 1 

203.94.251.161 255.255.255.255 127.0.0.1 127.0.0.1 1 

203.94.251.255 255.255.255.255 203.94.251.161 203.94.251.161 1 

224.0.0.0 224.0.0.0 203.94.251.161 203.94.251.161 1 

255.255.255.255 255.255.255.255 203.94.251.161 203.94.251.161 1 





Network Address Netmask Gateway Address Interface Metric 

0.0.0.0 0.0.0.0 203.94.251.161 203.94.251.161 1 

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 

203.94.251.0 255.255.255.0 203.94.251.161 203.94.251.161 1 

203.94.251.161 255.255.255.255 127.0.0.1 127.0.0.1 1 

203.94.251.255 255.255.255.255 203.94.251.161 203.94.251.161 1 

224.0.0.0 224.0.0.0 203.94.251.161 203.94.251.161 1 

255.255.255.255 255.255.255.255 203.94.251.161 203.94.251.161 1 



Active Connections 



Proto Local Address Foreign Address State 

TCP ankit:1031 dwarfie.box.com:ftp ESTABLISHED 

TCP ankit:1043 banners.egroups.com:80 FIN_WAIT_2 

TCP ankit:1081 http://www.burstnet.com/ FIN_WAIT_2 

TCP ankit:1093 zztop.box.com:80 TIME_WAIT 

TCP ankit:1094 zztop.box.com:80 TIME_WAIT 

TCP ankit:1095 mail2.mtnl.net.in:pop3 TIME_WAIT 

TCP ankit:1096 zztop.box.com:80 TIME_WAIT 

TCP ankit:1097 zztop.box.com:80 TIME_WAIT 

TCP ankit:1098 colo88.acedsl.com:80 ESTABLISHED 

TCP ankit:1099 mail2.mtnl.net.in:pop3 TIME_WAIT 
呵呵.到此为止,你应该知道了这个命令的用法了~如果有帮助请跟贴~



地主 发表时间: 06/02 00:15

回复: harry007 [harry007]   论坛用户   登录
好贴顶一下!!!!

B1层 发表时间: 06/02 00:50

论坛: 系统集成

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号