(一)基本概念
DNS(Domain Name System):域名系统,建立域名到IP的映射。
HTTP(Hypertext transport protocol):超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。
IP数据包格式:首部+数据,首部=固定部分+选项部分,固定部分20字节,最大长度为60。
帧格式:目的地址+源地址+类型+数据+FCS
(二)TCP三次握手
(1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。
(2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。
(3)采用两次握手不行,原因就是上面说的实效的连接请求的特殊情况。
(三)ARP地址解析协议
(1)发送者主机中保存ARP缓冲列表,表示IP和MAC地址映射
(2)在物理层要发送数据前,查询ARP缓冲列表,根据IP查询MAC地址,如查询不到向所有主机发送ARP数据包
(3)其他主机ARP数据包后,判断自己是否属于指定的IP,是指广播告诉发送者自己的MAC地址
(4)发送者更新ARP缓冲列表,加入该IP到MAC地址的映射,并发送数据到该MAC地址
(四)ARP病毒
利用ARP地址解析过程的第三步,假装自己是该IP,频繁告诉发送者,我就是你要找的IP,让发送者更新ARP缓冲列表,后面拦截发送出去的数据。