Board logo

标题: 菜鸟入门知识(二) [打印本页]

作者: 风幻残林    时间: 2005-1-19 04:24     标题: 菜鸟入门知识(二)

对TCP/IP 有透彻的了解,这是任何一个入侵者所必备的素质。只有深刻理解TCP/IP 协议,才会知道Internet 是怎样运转的、而事实上TCP/IP 协议的应用领域已不仅仅限于Internet,比如说可以利用TCP/IP 建立Intranet。TCP/IP 协议是由美国国防部开发的一组通信协议,允许不同的计算机共享一个网络上的信息。当把两个相同的 PC 联网已不再是一个技术性挑战时,TCP/IP 提供了解决下面这个棘手问题的办法:那就是如何将一台PentiumPC 连接到一台 DEC 小型机或 Sillcon GraPhics 工作站上去。事实上,TCP/IP 协议是使Internet 各部分紧密结合的粘合剂。下面我们分别介绍TIP 与IP 的意义。
TCP
TCP 也就是英文Transfer Control Protocol 的缩写,意为“传输控制协议。TCP 是可靠的、基本的传输协议,这用于提供可靠的、全双工的虚拟线路连接。连接是在发送和连接的节点端口之间实施的。TCP 的数据流是8 位一组的,它可在TCP 主机之间提供多个虚拟线路的连接。
IP
IP 是英文Internet Protocol 的缩写,意即“互联网协议。"IP 协议是一个网络层协议,它在许多数据链路层协议上提供无连接数据服务。但是IP 协议同其他网络层协议一样,不负责数据仓的传送,它尽最大的努力传送数据。而上层协议可以在IP 协议的基础上负责数据仓的传送服务。IP 提供了一系列有趣的服务,成为设计其它协议的基础。IP 提出独立于下层的网络逻辑地址(即IP 地址)来表示。它利用地址决议协议(ARP)把这一逻辑地址同一个节点的物理节点地址联系起来。TCP/IP 可以提供比其他协议更大的便利,其中之一就上面所提到的,可以在各种不同的硬件和操作系统上工作,因而利用TCP/IP 可以迅速方便地创建一个子网络,这类网络中可以有Mac 机、IBM 兼容机、sun 工作站、MIPS 机等。这些机器可以用共同的协议与同伴进行通信,正是由于这个原因,传输控制协议(TCP)和互联网协议(IP)的应用越来越广泛,TCIP/IP 现在已经成了连接不同系统的共同标准。在网络普及的美国,TCP/IP 处于公共领域,并已美国国防部要求在安全部门及其所周的承包商、研究单位和大学中使用,几乎所有的计算机系统销售商都提供TIP/IP。互联网技术屏蔽了底层网络硬件细节,使得不同类型的网络之间可以互相通信。但TCP/IP 协议组组本身存在着一些安全性问题。由于
大量重要的应用程序都以TCP 作为它们的传输层协议,因此TCP 的安全性问题会给网络带来严重的后果。目前还没有十分简便的方法防止伪造IP 地址的人侵行为,但我们可以采取以下措施来尽可能地保护系统免受这类攻击。首先,我们可以配置路由器和网关,使它们能够拒绝网络外部与本网内具有相同IP 地址的连接请求,而且,当包的IP 地址不在本阿内时,路由器和网关不应该把本网主机的包发送出去。其次,在包发送到网络上之前,我们可以对它进行加密。虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性和真实性。为了防止从SYN-RCVD 到CLDSE-WAIT 状态的伪转移,需要改变操作系统中TCP 操作的部分相关代码,使得当TCP 机处于SYN-RCVD 状态时,忽略任何对等主机发来的FIN 包。只有当建立连接后,才可以使连接建立定时器无效。也就是说,在同步开放连接建立过程中,当主机收到一个
ACK 时,定时器应置为无效,使状态转移到ESTABLISHED。只有CLOSED 等少数几种状态与定时器无关。入侵主机可能会迫使TCP 机转移到这些状态,因为该状态不受任何定时器制约,如果入侵者不发送适当的包,生机可能会被阻塞在这个状态。
IPX
IPX(Internetwork Packet eXchange‘网络报文分组交换’)是Novell公司用于Netware网络操作系统的通信协议。基于此协议可实现客户机/服务器模式的局域网,因此在局域网领域被广泛采用。随着Internet和Intranet的迅速发展,这种协议将被Internet的基本通信协议TCP/IP协议取代,因为采用TCP/IP协议可建立更加简单而统一的信息交换平台。
UDP
UDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网落时间协议)和DNS(DNS也使用TCP)。
欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。
ICMP
ICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。PING是最常用的基于ICMP的服务。
TCP和UDP的端口结构
TCP和UDP服务通常有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。
两个系统间的多重Telnet连接是如何相互确认并协调一致呢?TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:
源IP地址---发送包的IP地址。
目的IP地址---接收包的IP地址。
源端口---源系统上的连接的端口。
目的端口---目的系统上的连接的端口。
端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。这些端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。





欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) Powered by Discuz! 7.2