通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 爱心红客 电信网通铁通移动 在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 > 文章类 > 安全防御 > 安全相关 > 文章正文
端口·安全·扫描应用知识
责任编辑:酷酷の鱼   更新日期:2008-7-27
 

来源:安全中国

看到这个题目你也许有些奇怪,怎么把这几个词放在了一起,其实谈起端口和木马都是老生常谈了,但即使是常谈还有很多人的计算机被“冲击波”冲过之后又被“震荡波”狠狠地震了一下,看来很有必要再谈谈老话题,免得再被什么波温柔地扫过。其实说这些最终的目的就是为了保证计算机的上网安全。
一、 端口
一)、端口的一般含义
说到端口,这确实是个老话题,但一切都是从它开始的,不得不说。何谓端口,打个比方,你住在一座房子里,想让别人来拜访你,得在房子上开个大门,你养了个可爱的小猫,为了它的进出,专门给它修了个小门,为了到后花园,又开了个后门……所有这些为了进到这所房子里而开的门我们叫它端口,这些为了别人进来而开的端口称它为"服务端口"。
你要拜访一个叫张三的人,张三家应该开了个允许你来的门____服务端口,否则将被拒之门外。去时,首先你在家开个"门",然后通过这个"门"径直走进张三家的大门。为了访问别人而在自己的房子开的"门",我们称它为"客户端口"。它是随机开的而且是主动打开的,访问完就自行关闭了。它和服务端口性质是不一样的,服务端口是开了个门等着别人来访问,而客户端口是主动打开一个门去打开别人的门,这点一定要清楚。
下面我们从专业的角度再简单解释一下端口的概念。联网的计算机要能相互通信必须用同一种协议,协议就是计算机通信的语言,计算机之间必须说一种语言才能彼此通信,Internet的通用语言是TCP/TP,它是一组协议,它规定在网络的第四层运输层有两种协议TCP、UDP。端口就是这两个协议打开的,端口分为源端口和目的端口,源端口是本机打开的,目的端口是正在和本机通信的另一台计算机的端口,源端口分主动打开的客户端口和被动连接的服务端口两种。在Internet中,你访问一个网站时就是在本机开个端口去连网站服务器的一个端口,别人访问你时也是如此。也就是说计算机的通讯就像我们互相串门一样,从这个门走进哪个门。
当你装好系统后默认就开了很多"服务端口"。如何知道自己的计算机系统开了那些端口呢?这就是下面要说的:
二)、查看端口的方法
1、命令方式
下面以Windows XP为例看看新安装的系统都开了那些端口,也就是说都预留了那些门,不借助任何工具来查看端口的命令是netstat,方法如下:
a、在"开始"的"运行"处键入cmd,回车

b、在dos命令界面,键入netstat -na,图2显示的就是打开的服务端口,其中Proto
代表协议,该图中可以看出有TCP和UDP两种协议。Local Address代表本机地址,该地址冒号后的数字就是开放的端口号。Foreign Address代表远程地址,如果和其它机器正在通信,显示的就是对方的地址,State代表状态,显示的LISTENING表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开了,但此时还没有人进来。以第一行为例看看它的意思。
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
这一行的意思是本机的135端口正在等待连接。注意:只有TCP协议的服务端口才能处于LISTENING状态。


2、用TCPView工具
为了更好的分析端口,最好用TCPView这个软件,该软件很小只有93KB,而且是个绿色软件,不用安装。
图3是TCPView的运行界面。第一次显示时字体有些小,在"Options"->"Font"中将字号调大即可。TCPView显示的数据是动态的。图3中Local Address显示的就是本机开放的哪个端口(:号后面的数字),TCPView可以看出哪个端口是由哪个程序发起的。从图3可以看出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服务。目前正处于侦听状态。
inetinfo.exe:1260 TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
2、ESTABLISHED状态
现在从192.168.1.1这台计算机访问一下192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为ESTABLISHED。
ESTABLISHED的意思是建立连接。表示两台机器正在通信。
下面显示的是本机的FTP服务正在被192.168.1.1这台计算机访问。
inetinfo.exe:1260 TCP 192.168.1.10:21 192.168.1.1:3009 ESTABLISHED
注意:处于ESTABLISHED状态的连接一定要格外注意,因为它也许不是个正常连接。后面我们要讲到这个问题。
3、 TIME_WAIT状态
现在从192.168.1.1这台计算机结束访问192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为TIME_WAIT。
TIME_WAIT的意思是结束了这次连接。说明21端口曾经有过访问,但访问结束了。
[System Process]:0 TCP 192.168.1.10:21 192.168.1.1:3009 TIME_WAIT
4、小技巧
a、可以telnet一个开放的端口,来观察该端口的变化。比如看1025端口是开放的,在命令状态(如图1运行cmd)运行:
telnet 192.168.1.10 1025
b、从本机也可以测试,只不过显示的是本机连本机
c、在Tcpview中双击连接可看出程序的位置,右键点击该连接,选择End Process即可结束该连接
五)、客户端口的状态变化
客户端口实际上就是从本机访问其它计算机服务时打开的源端口,最多的应用是上网,下面就以访问www.baidu.com为例来看看端口开放以及状态的变化情况。
1、SYN_SENT状态
SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波之类的病毒了。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多SYN_SENT的原因。
下面显示的是本机连接www.baidu.com网站时的开始状态,如果你的网络正常的,那很快就变为ESTABLISHED的连接状态。
IEXPLORE.EXE:2928 TCP 192.168.1.10:1035 202.108.250.249:80 SYN_SENT
2、ESTABLISHED状态
下面显示的是本机正在访问www.baidu.com网站。如果你访问的网站有许多内容比如访问www.yesky.com,那会发现一个地址有许多ESTABLISHED,这是正常的,网站中的每个内容比如图片、flash等都要单独建立一个连接。看ESTABLISHED状态时一定要注意是不是IEXPLORE.EXE程序(IE)发起的连接,如果是EXPLORE.EXE之类的程序发起的连接,那也许是你的计算机中了木马了。
IEXPLORE.EXE:3120 TCP 192.168.1.10:1045 202.108.250.249:80 ESTABLISHED
3、TIME_WAIT状态
如果浏览网页完毕,那就变为TIME_WAIT状态。
[System Process]:0 TCP 192.168.1.10:4259 202.108.250.249:80 TIME_WAIT

六)、端口详细变迁图
以上是最主要的几个状态,实际还有一些,图4是TCP的状态详细变迁图(从TCP/IP详解中剪来),用粗的实线箭头表示正常的客户端状态变迁,用粗的虚线箭头表示正常的服务器状态变迁。这些不在本文的讨论范围。有兴趣的朋友可以好好研究一下。

图4 TCP的状态变迁图
七)、要点
一般用户一定要熟悉(再啰嗦几句):
1、服务端口重点要看的是LISTENING状态和ESTABLISHED状态,LISTENING是本机开了哪些端口,ESTABLISHED是谁在访问你的机器,从哪个地址访问的。
2、客户端口的SYN_SENT状态和ESTABLISHED状态,SYN_SENT是本机向其它计算机发出的连接请求,一般这个状态存在的时间很短,但如果本机发出了很多SYN_SENT,那可能就是中毒了。看ESTABLISHED状态是要发现本机正在和哪个机器传送数据,主要看是不是一个正常程序发起的
二、木马
什么是木马,简单的说就是在未经你许可偷偷在你的计算机中开个后门,木马开后门主要有两种方式。
1、有服务端口的木马,这类木马都要开个服务端口的后门,成功后该后门处于LISTENING状态,它的端口号可能固定一个数,也可能变化,还有的木马可以与正常的端口合用,例如你开着正常的80端口(WEB服务),木马也用80端口。这种木马最大的特点就是有端口处于LISTENING状态,需要远程计算机连接它。这种木马对一般用户比较好防范,将防火墙设为拒绝从外到内的连接即可。比较难防范的是反弹型木马。
2、反弹型木马,反弹型木马是从内向外的连接,它可以有效的穿透防火墙,而且即使你使用的是内网IP,他一样也能访问你的计算机。这种木马的原理是服务端主动连接客户端(黑客)地址。木马的服务端软件就像你的Internet Explorer一样,使用动态分配端口去连接客户端的某一端口,通常是常用端口,像端口80。而且会使用隐避性较强的文件名,像iexpiore.exe、explorer(IE的程序是IEXPLORE.EXE)。如果你不仔细看,你可能会以为是你的Internet Explorer。这样你的防火墙也会被骗过。如果你在TcpView中看到下面这样的连接一定要注意,很有可能是种木马了。 iexpiore.exe 192.168.1.10(本机IP):1035(你的端口) Y.Y.Y.Y(远程IP):80(远程端口)
或 Rundll32.exe 192.168.1.10(本机IP):1035(你的端口) Y.Y.Y.Y(远程IP):80(远程端口)
或 explorer.exe 192.168.1.10(本机IP):1035(你的端口) Y.Y.Y.Y(远程IP):80(远程端口)

[1] [2] 下一页

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 最近更新
    普通文章 黑客已发布DNS攻击代码
    普通文章 金山每日病毒预警:诈骗嫌疑的杀软下载器
    普通文章 英国数千家网站遭黑客"下毒" 危险波及用户
    普通文章 周鸿祎:推出免费杀毒 招招夺命!
    普通文章 IE8有望本年发布 Windows7还无期
    普通文章 Office 2007已经售出近1.2亿套
    普通文章 垃圾邮件大王越狱后全家死亡
    推荐文章 端口·安全·扫描应用知识
    普通文章 无补丁?教你阻击最新Office漏洞
    普通文章 不起眼的小动作可能葬送安全措施
    热门文章
    普通文章不打Windows补丁 五分钟就被入侵
    普通文章DNS漏洞曝光 谁将面临真正的风险
    普通文章IE 8 Beta 2将发布,您准备好了吗
    普通文章反微软斗士Opera耍出“中国功夫”
    普通文章08上半年十大病毒盘点 机器狗成毒王
    普通文章"灰鸽子"卷土重来 U盘使用者成攻击重点
    普通文章入侵美国大学的新西兰黑客无罪开释
    普通文章生物识别加密应用前景可观
    普通文章中国的“黑客辣妹”
    推荐文章瑞星公司07月17日发布 每日计算机病毒及木马播报
    精彩专题