端口详解

有过一些黑客攻击方面知识的读者都会知道,其实那些所谓的黑客并不是像人们想象那样从天而降,而是实实在在从您的电脑"大门"中自由出入。电脑的"大门"就­是我们平常所说的"端口",它包括电脑的物理端口,如电脑的串口、并口、输入/输出设备以及适配器接口等(这些端口都是可见的),但更多的是不可见的软件端­口,在本文中所介绍的都是指"软件端口",但为了说明方便,仍统称为"端口"。本文仅就端口的基础知识进行介绍,

一、端口简介

随着电脑网络技术的发展,原来物理上的接口(如键盘、鼠标、网卡、显示卡等输入/输出接口)已不能满足网络通信的要求,TCP/IP协议作为网络通信的标准协­议就解决了这个通信难题。TCP/IP协议集成到操作系统的内核中,这就相当于在操作系统中引入了一种新的输入/输出接口技术,因为在TCP/IP协议中引入了­一种称之为"Socket(套接字)"应用程序接口。有了这样一种接口技术,一台电脑就可以通过软件的方式与任何一台具有Socket接口的电脑进行通信。­端口在电脑编程上也就是"Socket接口"。

有了这些端口后,这些端口又是如何工作呢?例如一台服务器为什么可以同时是Web服务器,也可以是FTP服务器,还可以是邮件服务器等等呢?其中一个很重要的原­因是各种服务采用不同的端口分别提供不同的服务,比如:通常TCP/IP协议规定Web采用80号端口,FTP采用21号端口等,而邮件服务器是采用25号端口­。这样,通过不同端口,电脑就可以与外界进行互不干扰的通信。

据专家们分析,服务器端口数最大可以有65535个,但是实际上常用的端口才几十个,由此可以看出未定义的端口相当多。这是那么多黑客程序都可以采用某种方法,­定义出一个特殊的端口来达到入侵的目的的原因所在。为了定义出这个端口,就要依靠某种程序在电脑启动之前自动加载到内存,强行控制电脑打开那个特殊的端口。­这个程序就是"后门"程序,这些后门程序就是常说的木马程序。简单的说,这些木马程序在入侵前是先通过某种手段在一台个人电脑中植入一个程序,打开某个(些)­特定的端口,俗称"后门"(BackDoor),使这台电脑变成一台开放性极高(用户拥有极高权限)的FTP服务器,然后从后门就可以达到侵入的目的。

二、端口的分类

端口的分类根据其参考对象不同有不同划分方法,如果从端口的性质来分,通常可以分为以下三类:

(1)公认端口(Well Known

Ports):这类端口也常称之为"常用端口"。这类端口的端口号从0到1024,它们紧密绑定于一些特定的服务。通常这些端口的通信明确表明了某种服务的协议­,这种端口是不可再重新定义它的作用对象。例如:80端口实际上总是HTTP通信所使用的,而23号端口则是Telnet服务专用的。这些端口通常不会像木马这­样的黑客程序利用。为了使大家对这些常用端口多一些认识,在本章后面将详细把这些端口所对面应的服务进行列表,供各位理解和参考。

(2) 注册端口(Registered

Ports):端口号从1025到49151。它们松散地绑定于一些服务。也是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。这些端口多数没有明­确的定义服务对象,不同程序可根据实际需要自己定义,如后面要介绍的远程控制软件和木马程序中都会有这些端口的定义的。记住这些常见的程序端口在木马程序的防护­和查杀上是非常有必要的。常见木马所使用的端口在后面将有详细的列表。

(3) 动态和/或私有端口(Dynamic and/or Private

Ports):端口号从49152到65535。理论上,不应把常用服务分配在这些端口上。实际上,有些较为特殊的程序,特别是一些木马程序就非常喜欢用这些端­口,因为这些端口常常不被引起注意,容易隐蔽。

如果根据所提供的服务方式的不同,端口又可分为"TCP协议端口"和"UDP协议端口"两种。因为电脑之间相互通信一般采用这两种通信协议。前面所介绍的"连­接方式"是一种直接与接收方进行的连接,发送信息以后,可以确认信息是否到达,这种方式大多采用TCP协议;另一种是不是直接与接收方进行连接,只管把信息放在­网上发出去,而不管信息是否到达,也就是前面所介绍的"无连接方式"。这种方式大多采用UDP协议,IP协议也是一种无连接方式。对应使用以上这两种通信协议的­服务所提供的端口,也就分为"TCP协议端口"和"UDP协议端口"。

使用TCP协议的常见端口主要有以下几种:

(1)

FTP:定义了文件传输协议,使用21端口。常说某某电脑开了FTP服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。

(2)

Telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到电脑上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是­纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。

(3)

SMTP:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置­中常看到有这么SMTP端口设置这个栏,服务器开放的是25号端口。

(4)

POP3:它是和SMTP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是110端口。也是说,只要你有相应的使用POP3协议的程序(例如Fo­xmail或Outlook),就可以不以Web方式登陆进邮箱界面,直接用邮件程序就可以收到邮件(如是163邮箱就没有必要先进入网易网站,再进入自己的邮­箱来收信)。

黑客必会的网络端口的基本常识

使用UDP协议端口常见的有:

(1)

HTTP:这是大家用得最多的协议,它就是常说的"超文本传输协议"。上网浏览网页时,就得在提供网页资源的电脑上打开80号端口以提供服务。常说"WWW服­务"、"Web服务器"用的就是这个端口。

(2) DNS:用于域名解析服务,这种服务在Windows

NT系统中用得最多的。因特网上的每一台电脑都有一个网络地址与之对应,这个地址是常说的IP地址,它以纯数字+"."的形式表示。然而这却不便记忆,于是出­现了域名,访问电脑的时候只需要知道域名,域名和IP地址之间的变换由DNS服务器来完成。DNS用的是53号端口。

(3)

SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。

(4)

OICQ:OICQ程序既接受服务,又提供服务,这样两个聊天的人才是平等的。OICQ用的是无连接的协议,也是说它用的是UDP协议。OICQ服务器是使用8­000号端口,侦听是否有信息到来,客户端使用4000号端口,向外发送信息。如果上述两个端口正在使用(有很多人同时和几个好友聊天),就顺序往上加。

在电脑的6万多个端口,通常把端口号为1024以内的称之为常用端口,这些常用端口所对应的服务通常情况下是固定的。表1所列的都是服务器默认的端口,不允许­改变,一般通信过程都主要用到这些端口。

表1

服务类型默认端口服务类型默认端口

Echo7Daytime13

FTP21Telnet23

SMTP25Time37

Whois43DNS53

Gopher70Finger79

WWW80POP3110

NNTP119IRC194

另外代理服务器常用以下端口:

(1).

HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080

(2). SOCKS代理协议服务器常用端口号:1080

(3). FTP协议代理服务器常用端口号:21

(4). Telnet协议代理服务器常用端口:23

三、端口在黑客中的应用

像木马之类的黑客程序,就是通过对端口的入侵来实现其目的的。在端口的利用上,黑客程序通常有两种方式,那就是"端口侦听"和"端口扫描"。

"端口侦听"与"端口扫描"是黑客攻击和防护中经常要用到的两种端口技术,在黑客攻击中利用它们可以准确地寻找攻击的目标,获取有用信息,在个人及网络防护方面­通过这种端口技术的应用可以及时发现黑客的攻击及一些安全漏洞。下面首先简单介绍一下这两种端口技术的异同。

"端口侦听"是利用某种程序对目标电脑的端口进行监视,查看目标电脑上有哪能些端口是空闲、可以利用的。通过侦听还可以捕获别人有用的信息,这主要是用在黑­客软件中,但对于个人来说也是非常有用的,可以用侦听程序来保护自己的电脑,在自己电脑的选定端口进行监视,这样可以发现并拦截一些黑客的攻击。也可以侦听­别人电脑的指定端口,看是否空闲,以便入侵。

"端口扫描"(port

scanning)是通过连接到目标系统的TCP协议或UDP协议端口,来确定什么服务正在运行,然后获取相应的用户信息。现在有许多人把"端口侦听"与"端口­扫描"混为一谈,根本分不清什么样的情况下要用侦听技术,什么样的情况下要用扫描技术。不过,现在的这类软件也似乎对这两种技术有点模糊了,有的干脆把两个功能­都集成在一块。

"端口侦听"与"端口扫描"有相似之处,也有区别的地方,相似的地方是都可以对目标电脑进行监视,区别的地方是"端口侦听"属于一种被动的过程,等待别人的连­接的出现,通过对方的连接才能侦听到需要的信息。在个人应用中,如果在设置了当侦听到有异常连接立即向用户报告这个功能时,就可以有效地侦听黑客的连接企图,及­时把驻留在本机上的木马程序清除掉。这个侦听程序一般是安装在目标电脑上。用在黑客中的"端口侦听"通常是黑客程序驻留在服务器端等待服务器端在进行正常活动­时捕获黑客需要的信息,然后通过UDP协议无连接方式发出去。而"端口扫描"则是一种主动过程,它是主动对目标电脑的选定端口进行扫描,实时地发现所选定端口­的所有活动(特别是对一些网上活动)。扫描程序一般是安装在客户端,但是它与服务器端的连接也主要是通过无连接方式的UDP协议连接进行。

在网络中,当信息进行传播的时候,可以利用工具,将网络接口设置在侦听的模式,便可将网络中正在传播的信息截获或者捕获到,从而进行攻击。端口侦听在网络中的任­何一个位置模式下都可实施进行,而黑客一般都是利用端口侦听来截取用户口令。

四、端口侦听原理

以太网(Ethernet)协议的工作方式是将要发送的数据包发往连接在一起的所有电脑。在包头中包括有应该接收数据包的电脑的正确地址,因为只有与数据包­中目标地址一致的那台电脑才能接收到信息包。但是当电脑工作在侦听模式下,不管数据包中的目标物理地址是什么,电脑都将可以接收到。当同一网络中的两台计­算机通信的时候,源电脑将写有目的电脑地址的数据包直接发向目的电脑,或者当网络中的一台电脑同外界的电脑通信时,源电脑将写有目的电脑IP地址­的数据包发向网关。但这种数据包并不能在协议栈的高层直接发送出去,要发送的数据包必须从TCP/IP协议的IP协议层交给网络接口--数据链路层。网络接口不­会识别IP地址的,在网络接口中,由IP协议层来的带有IP地址的数据包又增加了一部分以太网的帧头信息。在帧头中,有两个域分别为只有网络接口才能识别的源计­算机和目的电脑的物理地址,这是一个48位的地址,这个48位的地址是与IP地址相对应的。换句话说,一个IP地址也会对应一个物理地址。对于作为网关的计算­机,由于它连接了多个网络,它也就同时具备有很多个IP地址,在每个网络中它都有一个。而发向网络外的帧中继携带的是网关的物理地址。

以太网中填写了物理地址的帧从网络端口中(或者从网关端口中)发送出去,传送到物理的线路上。如果局域网是由一条粗同轴电缆或细同轴电缆连接成的,那么数字信号­在电缆上传输信号就能够到达线路上的每一台电脑。再当使用集线器的时候,发送出去的信号到达集线器,由集线器再发向连接在集线器上的每一条线路。这样在物理线­路上传输的数字信号也就能到达连接在集线器上的每个电脑了。当数字信号到达一台电脑的网络接口时,正常状态下网络接口对读入数据帧进行检查,如数据帧中携带­的物理地址是自己的或者物理地址是广播地址,那么就会将数据帧交给IP协议层软件。对于每个到达网络接口的数据帧都要进行这个过程的。但是当电脑工作在侦听模­式下,所有的数据帧都将被交给上层协议软件处理。

当连接在同一条电缆或集线器上的电脑被逻辑地分为几个子网的时候,那么要是有一台电脑处于侦听模式,它可以接收到发向与自己不在同一个子网(使用了不同的掩­码、IP地址和网关)的电脑的数据包,在同一个物理信道上传输的所有信息都可以被接收到。

在UNIX系统上,当拥有超级权限的用户要想使自己所控制的电脑进入侦听模式,只需要向Interface(网络接口)发送I/O控制命令,就可以使电脑设­置成侦听模式了。而在Windows

9x的系统中则不论用户是否有权限都将可以通过直接运行侦听工具就可以实现。

在端口处于侦听时,常常要保存大量的信息(也包含很多的垃圾信息),并将对收集的信息进行大量的整理,这样就会使正在侦听的电脑对其他用户的请求响应变的很慢­。同时侦听程序在运行的时候需要消耗大量的处理器时间,如果在这时就详细的分析包中的内容,许多包就会来不及接收而被漏走。所以侦听程序很多时候就会将侦听得到­的包存放在文件中等待以后分析。分析侦听到的数据包是很头疼的事情,因为网络中的数据包都非常之复杂。两台电脑之间连续发送和接收数据包,在侦听到的结果中必­然会加一些别的电脑交互的数据包。侦听程序将同一TCP协议会话的包整理到一起就相当不容易,如果还期望将用户详细信息整理出来就需要根据协议对包进行大量的­分析。

现在网络中所使用的协议都是较早前设计的,许多协议的实现都是基于一种非常友好的,通信的双方充分信任的基础。在通常的网络环境之下,用户的信息包括口令都是以­明文的方式在网上传输的,因此进行端口侦听从而获得用户信息并不是一件难点事情,只要掌握有初步的TCP/IP协议知识就可以轻松的侦听到想要的信息的。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值