看到这个题目你也许有些奇怪,怎么把这几个词放在了一起,其实谈起端口和木马都是老生常谈了,但即使是常谈还有很多人的计算机被“冲击波”冲过之后又被“震荡波”狠狠地震了一下,看来很有必要再谈谈老话题,免得再被什么波温柔地扫过。其实说这些最终的目的就是为了保证计算机的上网安全。
一、 端口
一)、端口的一般含义
说到端口,这确实是个老话题,但一切都是从它开始的,不得不说。何谓端口,打个比方,你住在一座房子里,想让别人来拜访你,得在房子上开个大门,你养了个可爱的小猫,为了它的进出,专门给它修了个小门,为了到后花园,又开了个后门……所有这些为了进到这所房子里而开的门我们叫它端口,这些为了别人进来而开的端口称它为'服务端口'。
你要拜访一个叫张三的人,张三家应该开了个允许你来的门____服务端口,否则将被拒之门外。去时,首先你在家开个'门',然后通过这个'门'径直走进张三家的大门。为了访问别人而在自己的房子开的'门',我们称它为'客户端口'。它是随机开的而且是主动打开的,访问完就自行关闭了。它和服务端口性质是不一样的,服务端口是开了个门等着别人来访问,而客户端口是主动打开一个门去打开别人的门,这点一定要清楚。
下面我们从专业的角度再简单解释一下端口的概念。联网的计算机要能相互通信必须用同一种协议,协议就是计算机通信的语言,计算机之间必须说一种语言才能彼此通信,Internet的通用语言是TCP/TP,它是一组协议,它规定在网络的第四层运输层有两种协议TCP、UDP。端口就是这两个协议打开的,端口分为源端口和目的端口,源端口是本机打开的,目的端口是正在和本机通信的另一台计算机的端口,源端口分主动打开的客户端口和被动连接的服务端口两种。在Internet中,你访问一个网站时就是在本机开个端口去连网站服务器的一个端口,别人访问你时也是如此。也就是说计算机的通讯就像我们互相串门一样,从这个门走进哪个门。
当你装好系统后默认就开了很多'服务端口'。如何知道自己的计算机系统开了那些端口呢?这就是下面要说的:
二)、查看端口的方法
1、命令方式
下面以Windows XP为例看看新安装的系统都开了那些端口,也就是说都预留了那些门,不借助任何工具来查看端口的命令是netstat,方法如下:
a、在'开始'的'运行'处键入cmd,回车
b、在dos命令界面,键入netstat -na,Proto代表协议,有TCP和UDP两种协议。Local Address代表本机地址,该地址冒号后的数字就是开放的端口号。Foreign ress代表远程地址,如果和其它机器正在通信,显示的就是对方的地址,State代表状态,显示的
LISTENING表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开了,但此时还没有人进来。以第一行为例看看它的意思。
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
这一行的意思是本机的135端口正在等待连接。注意:只有TCP协议的服务端口才能处于LISTENING状态。
2、用TCPView工具
为了更好的分析端口,最好用TCPView这个软件,该软件很小只有93KB,而且是个绿色软件,不用安装。
第一次显示时字体有些小,在'Options'->'Font'中将字号调大即可。TCPView显示的数据是动态的。Local Address显示的就是本机开放的哪个端口(:号后面的数字),TCPView可以看出哪个端口是由哪个程序发起的。445、139、1025、135、5000等端口是开放的,445、139等端口都是system发起的,135等都是SVCHOST发起的。
三)、研究端口的目的:
1、知道本机开了那些端口,也就是可以进入到本机的'门'有几个,都是谁开的?
2、目前本机的端口处于什么状态,是等待连接还是已经连接,如果是已经连接那就要特别注意看连接是个正常连接还是非正常连接(木马等)?
3、目前本机是不是正在和其它计算机交换数据,是正常的程序防问到一个正常网站还是访问到一个陷阱?
当你上网时就是本机和其它机器传递数据的过程,要传递数据必须要用到端口,即使是有些非常高明的木马利用正常的端口传送数据也不是了无痕迹的,数据在开始传输、正在传输和结束传输的不同阶段都有各自的状态,要想搞明白上述3个问题,就必须清楚端口的状态变化。下面结合实例先分析服务端口的状态变化。只有TCP协议才有状态,UDP协议是不可@@传输,是没有状态的。
四)、服务端口的状态变化
先在本机(IP地址为:192.168.1.10)配置FTP服务,然后在其它计算机(IP地址为:192.168.1.1)访问FTP服务,从TCPView看看端口的状态变化。
下面是从TCPView中截取的部分。
1、LISTENING状态
FTP服务启动后首先处于侦听(LISTENING)状态。
State显示是LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开的,但还没有人进来。
从TCPView可以看出本机开放FTP的情况。它的意思是:程序inetinfo.exe开放了21端口,FTP默认的端口为21,可见在本机开放了FTP服务。目前正处于侦听状态。 < |