TCP/IP协议的基本原理,例如: IPTCP头的各个字段的功能以及
连接的建立过程。这里先简单地介绍一下 TCP/IP协议。
         IP数据包( packet):数据包这个术语指的是 IP协议消息。消息分为消息头和消息体,消息头是IP协议使用的各种参数信息,如:源、目的地址等等。消息体是上层协议TCP协议的数据内容。
IP机制: Linux支持三种 IP消息类型: ICMPUDPTCPICMP数据报是网络级的 IP控制
和状态消息。 ICMP消息控制两台端主机之间的与通信相关的信息。 UDP 类型的IP包在网络应用
程序之间传送数据,但是不保证传送质量和数据包的传送顺序。 UDP数据的传送类似邮局的明
信片发送方式。 TCP类型的 IP包同样在网络应用程序之间传送数据,但是 TCP数据包头包含了更
多的信息,从而保证了可靠有序的数据传输。传送 TCP数据类似通过电话系统交谈的过程:数据
可靠而且保证传送顺序。大多数 Internet应用程序都使用 TCP协议, UDP用的比较少。也就是说
绝大多数的 Internet服务都倾向于在客户程序和服务器程序之间建立双向的数据传送通道(使用
TCP),而不是单向的数据传送通道(使用 UDP)。
IP数据包头:所有的 IP数据包( ICMPUDPTCP)都要包含源、目的的 IP地址和 IP包的
上层协议的类型,如: ICMPUDPTCP。根据不同的协议类型, IP数据包头还包含其他不同
的字段。 ICMP类型的 IP数据包包含一个标识控制或状态消息的类型字段,以及一个进一步指示
是何种类型的控制或状态消息类型的字段。对于 UDPTCP类型,还包含两个分别标识源和目
的端口号的字段。 TCP数据包头还包含区分每个数据包的标识符及保证连接状态的信息的字段。
TCP/IP 安全问题: TCP/IP协议本身有不少的缺陷,允许攻击者利用隐藏通道的方式在看上
去正常的数据包中秘密地传输数据。下面对这些缺陷进行进一步说明:
隐藏通道指任何被进程用来进行可能对系统安全策略造成威胁的数据传输的通道。 TCP/IP
的设计本身并不想有什么隐藏通道,但是设计上的缺陷导致了用来非法传输信息的隐藏通道的
存在。
TCP/IP环境下,有若干方法可以用来建立隐藏通道,在主机之间实现非法通信。例如:
1) 旁路包过滤器,网络探测器( sniffer)和“不洁词”(dirty word)搜索引擎。
2) 在正常的信息包中封装经过加密的或未经加密的信息的方式,通过网络秘密传输信息。
3) 通过将封装有非法信息的伪装包在 Internet上的某一个站点上“中转”来隐藏被传输的数
据的源发送位置。
众所周知, TCP是面向连接的可靠的协议。简单的说, TCP协议采取一定的措施保证到达远
端机器的数据没有被篡改。实现这个特性依赖于 TCP的三次握手机制:
1. 发送一个带有序列号( Initial Sequence NumberISN)的同步数据包 -SYN
主机 A希望同主机 B建立连接。主机 A发送一个数据包,该数据包的 SYN位被置位,表示希
望建立一个新的连接,并且该数据包带有一个 ISN号,来识别主机之间发送的不同的数据包。
Host A ------ SYN(ISN) ------> Host B
2. 远程机器响应一个确认包 ACK
主机B通过发送一个 SYN位和ACK位被置位的数据包来响应该主机 A的连接请求。这个响应
包中不但包含了主机 BISN,而且包含了主机 AISN+1,表示刚才的连接请求数据包被正确的
接收,等待接收 ISNISN+1的数据包。 Host A <------ SYN(ISN+1)/ACK ------ Host B
3. 主机A通过再发送一个确认包 ACK给主机B来完成连接的建立
         TCP/IP安全问题概述_安全