| 
 | 
 
怎样查别人的IP?怎样查自己的IP呢?我系统的哪些段口是开的?我怎样知道我的系统是否被安装了木马程序?  
其实这些问题(还有一些相似的问题)有一个简单的答案:Netstat命令!  
微软公司故意将这个功能强大的命令隐藏起来是因为它对于普通用户来说有些复杂。  
Netstat可以在MSDOS命令窗口下打开。  
C:windows  
C:>  
大多数Windows用户的默认目录是Windows目录,如果不是,上面的命令将打开Windows目录。  
好,在我们继续之前,我们要先知道Netstat是到底用来做什么的,它可以用来获得你的系统网络连接的信息(使用的端口,在使用的协议等 ),收到和发出的数据,被连接的远程系统的端口,Netstat在内存中读取所有的网络信息。  
在Internet RFC标准中,Netstat的定义是:  
「Netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告」。  
netstat参数  
-----------------------------------------------------------  
-A 显示任何关联的协议控制块的地址。主要用于调试  
-a 显示所有套接字的状态。在一般情况下不显示与服务器进程相关联  
的套接字  
-i 显示自动配置接口的状态。那些在系统初始引导后配置的接口状态  
不在输出之列  
-m 打印网络存储器的使用情况  
-n 打印实际地址,而不是对地址的解释或者显示主机,网络名之类的  
符号  
-r 打印路由选择表  
-f address -family对于给出名字的地址簇打印统计数字和控制块  
信息。到目前为止,唯一支持的地址簇是inet  
-I interface 只打印给出名字的接口状态  
-p protocol-name 只打印给出名字的协议的统计数字和协议控制块  
信息  
-s 打印每个协议的统计数字  
-t 在输出显示中用时间信息代替队列长度信息。  
netstat命令的列标题  
Name 接口的名字  
Mtu 接口的最大传输单位  
Net/Dest 接口所在的网络  
Address 接口的IP地址  
Ipkts 接收到的数据包数目  
Ierrs 接收到时已损坏的数据包数目  
Opkts 发送的数据包数目  
Oeers 发送时已损坏的数据包数目  
Collisions 由这个接口所记录的网络冲突数目  
---------------------------------------------------------  
 
现在我们在对Netstat有了一定的了解之后就可以来使用它了,如果你打开了DOS窗口,你可以用以下命令来获取有关Netstat的帮助信息。  
C:>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:>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.inscreen.width-333)this.width=screen.width-333" border=0>op3 TIME_WAIT  
TCP ankit:1052 zztop.box.com:80 ESTABLISHED  
TCP ankit:1053 mail2.mtnl.net.inscreen.width-333)this.width=screen.width-333" border=0>op3 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的连接,这时你的机器将打...接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 -n命令不显示非TCP连接的数据。  
-n参数通常用于查自己的IP时使用,也有些人使用他是因为他们更喜欢用数字的形式来显示主机名。难道这就是「数字化生存」?   
得到IP等于得到一切,它是最容易使机器受到攻击的东东,所以隐藏自己IP,获得别人的IP对hacker来说非常重要,现在隐藏IP技术很流行,但那些隐藏工具或服务真的让你引身吗?答案是:它们不能使你完全隐身。下面例子用来简单说明如何获得IP。  
OICQ或ICQ是很流行的聊天软件(很容易在MM身上浪费时间),他们虽然不显示用户的IP,但都是「穿马甲的IP地址」,用下面的方法得到其他用户的IP。  
1 看一个DOS窗口,打入Netstat -n获得你系统已经打开的端口和远程连接列表。  
2 然后打开OICQ,给「受害者」发信息。  
3 当你们还在聊天的时候,返回DOS窗口,再打入Netstat -n命令,你将发现一个显示新连接的IP地址,这个就应该是「受害者」的IP。(也有其他的情况...)  
到目前为止,我们讨论了『-a』和『-n』及一些应用,并发现在屏幕上返回和显示的连接不是一个详尽的协议。这意味着它显示了TCP连接,UDP等,假如你想看到那个连接属于UDP连接,你需要用-p参数。  
通常的Netstat的-p参数格式如下:  
Netstat -p 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.inscreen.width-333)this.width=screen.width-333" border=0>op3 TIME_WAIT  
TCP ankit:1078 mail2.mtnl.net.inscreen.width-333)this.width=screen.width-333" border=0>op3 TIME_WAIT  
TCP ankit:1080 mail2.mtnl.net.inscreen.width-333)this.width=screen.width-333" border=0>op3 TIME_WAIT  
TCP ankit:1081www.burstnet.com:80 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:>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:1081www.burstnet.com:80 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.inscreen.width-333)this.width=screen.width-333" border=0>op3 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.inscreen.width-333)this.width=screen.width-333" border=0>op3 TIME_WAIT 
 |   
 
 
 
 |