传输层协议分析实验报告Word格式文档下载.docx
《传输层协议分析实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《传输层协议分析实验报告Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。
窗口校验和紧急指针选项〔长度可变〕
填充TCP接受传输输连接的方式传送TCP报文,传输连接包括连接建立、数据传输和连
接释放三个阶段。
2)TCP连接的建立TCP连接建立接受“3次握手〞方式。
首先,主机的TCP向主机B的TCP发出连接请求报文段,其首部中的同步位SYN应置1,同时选择一个序号X,说明在后面传送数据时的第一个数据字节的序号是X+1,如图3所示:
图3
TCP连接建立的3次握手过程
然后,主机B的TCP收到连接请求报文段后,若同意,则发回确认。
在确认报文段中应将SYN和CK都置1,确认号应为X+1,同时也为自己选择一个序号Y。
最终,主机的TCP收到B确实认后,要向B发回确认,其CK置1,确认号为Y+1,而自己的序号为X+1。
TCP的标准规定,SYN置1的报文段都要消耗掉一个序号。
同时,运行客户进程的主机的TCP通知上层应用进程,连接已经建立。
当主机向B发送第一个数据报文段时,其序号仍为X+1,因为前一个确认报文段并不消耗序号。
当运行服务器进程的主机B的TCP收到主机确实认后,也通知其上层应用进程,连接已经建立。
另外,在TCP连接建立的过程中,还利用TCP报文段首部的选项字段进行双方最大报文段长度MSS协商,确定报文段的数据字段的最大长度。
双方都将自己能够支持的MSS写入选项字段,比较之后,取较小的值赋给MSS,并应用于数据传送阶段。
3)TCP数据的传送为了保证TCP传输的可靠性,TCP接受面向字节的方式,将报文段的数据部分进行编号,每个字节对应一个序号。
并在连接建立时,双方商定初始序号。
在报文段首部中,序号字段和数据部分长度可以确定发送方传送数据的每一个字节的序号,确认号字段则表示接收方盼望下次收到的数据的第一个字节的序号,即表示这个序号之前的数据字节均已收到。
这样既做到了可靠传输,又做到了全双工通信。
当然,数据传送阶段有很多冗杂的问题和状况,如流量操纵、拥塞操纵、重传机制等,本次试验不探究。
被动打开主动打开确认
确认连接请求
4)TCP连接的释放在数据传输结束后,通信的双方都可以发出释放连接的请求。
TCP连接的释放接受“4次握手〞。
如图
应用进程释放连接通知主机应用进程不再发送报文确认应用进程释放连接①②确认B不再发送报文FIN,SEQ-XCK,SEQ=Y,CK=X+1FIN,CK,SEQ=Y,CK=X+1CK,SEQ=X+1,CK=Y+1B图4TCP连接释放的4次握手过程首先,设图4中主机的应用进程先向其TCP发出释放连接的请求,并且不再发送数据。
TCP通知对方要释放从到B这个方向的连接,将发往主机B的TCP报文段首部的中止位置1,其序号X等于前面已传送过的数据的最终一个字节的序号加1。
主机B的TCP收到释放连接通知后即发出确认,其序号为Y,确认号为X+1,同时通知高层应用进程,如图中的箭头①。
这样从到B的连接就被释放了,连接处于半关闭状态,相当于主机对主机B说“我已经没有数据发送了。
但是假如你还有数据要发送,我仍旧接收。
〞此后,主机B不再接收发来的数据。
但若主机B还有一些数据要发给,则可以继续发送〔这种状况很少〕。
主机只要正确收到数据,仍旧向B发送确认。
若主机B不再向主机发送数据,其应用进程就通知TCP释放连接,如图中的箭头②。
主机B发出的连接释放报文段必需将中止位FIN和确认位CK置1,并使其序号仍为Y〔因为签名发送确实认报文段不消耗序号〕,但是还必需重复上次已经发送过的CK=X+1。
主机必需对此发出确认,将CK置1,CK=Y+1,而自己的序号仍旧是X+1,因为依据TCP标准,前面发送过的FIN报文段要消耗掉一个序号。
这样就把B到的反方向的连接释放掉。
主机的TCP再向其应用进程报告,整个连接已经全部释放。
2.4试验步骤骤步骤1
在Wireshrk中设置过滤条件,协议为TCP
XX,地址为本机->
ny,并开始截获报文;
步骤2
打开.sin.,完成后,保存截获的报文并命名为“TCP学号〞,,分析捕获的报文。
这里,TCP的连接和建立接受的是:
三次握手
方式,本机是
192.168.3.3
,远端主机是192.168.3.183
。
步骤3
分析TCP连接建立过程的前3个报文,填写下表1:
表表1
TCP建立过程的三个报文信息字段名称第一条报文第二条报文第三条报文
报文序号170417161718SequenceNunber830849835CKNumber289291237CK12911SYN111
步骤4
分析截获报文中数据发送部分的第一条TCP报文及其确认报文,将报文中的字段值填写在表格2中。
表表2
TCP报文首部信息
字段名长度字段值字段意义发送报文确认报文源端口16发送
目标端口16确认端口号是唯一标识序号32
确认好32确认
头部长度4
保存6
保存字段窗口16
校验和16
紧急指针16
选项〔长度可变〕
步骤5
TCP连接建立时,其报文首部与其它TCP报文不同,有一个option字段,它的作用是什么?
结合IEEE802.3协议规定的以太XX最大帧长分析此数据是怎么得出来的?
步骤6
分析TCP数据传送阶段的前8个报文,将报文信息填入表3:
表表3
TCP数据传送部分的前8个报文报文序号报文种类序号字段确认号字段数据长度被确认报文序号窗口3744确认28913242891233754发送1066
165803764确认113442911233784发送1066
165793794确认23712902371233804发送1066
165933814确认2890290290167683824确认290129029016768
2.5
试验总结在试验中,通过分析截获的TCP报文首部信息,可以看到首部中的序号、确认号等字段是TCP可靠连接的基础。
分析TCP头部信息,分析“3次握手〞过程。
通过对数据传送阶段报文的初步分析,了解数据的编码和确认机制。
总之,TCP协议中的各项设置都是为了在数据传输时提供可靠的面向连接的服务。
2.B编程造构造UDP数据包部分使用C语言构造UDP数据包程序。
1)UDP首部和伪首部结构体定义
/*UDP首部*/structudphdr{unsignedshortu_src;
unsignedshortu_dst;
unsignedshortu_len;
unsignedshortu_cksum;
chru_dt[U_MXLEN];
//UDP中校验使用的伪首部structpseudo_heder{intsrcIp;
shortudp_len;
chrrsv;
chrprotocol;
unsignedshortsrc_port;
};
unsignedshortdsc_port;
unsignedshortlen;
unsignedshortcheck_sum;
chrdt;
2〕构建UDP报文数据
intbuild_udp_Pckge(structsocket_pir*sp,constunsignedchr*buf,intlen,unsignedchr*udpPcket[],int*udpPcketLen){*udpplen=sizeof(structudp_hdr)+len;
structudp_hdr*uh=(structudp_hdr*)udppkt;
unsignedchr*dbuf=(udppkt+sizeof(structudp_hdr));
memcpy(dbuf,buf,len);
Uh->
source=htons(s_port);
dest=htons(d_port);
len=htons(sizeof(structudp_hdr0)+len);
check=0;
Un->
check=udpcksum(d_ip,d_port,s_ip,udppkt,sizeof(structudp_hdr)+len);
returnudppkt;
}
过渡得很合理。
平铺直叙,用词简达。
传输层安全协议
随着计算机XX络的普及与进展,XX络为我们制造了一个可以实现信息共享的新环境。
但是由于XX络的开放性,如何在XX络环境中保障信息的安全始终是人们关注的焦点。
在XX络出现的初期,XX络主要分布在一些大型的讨论机构、大学和公司。
由于XX络使用环境的相对独立和封闭性,XX络内部处于相对安全的环境,在XX络内部传输信息基本不需要太多的安全措施。
随着XX络技术的飞速进展,尤其是Internet的出现和以此平XX的电子商务的广泛应用,如何保证信息在Internet的安全传输,特别是敏感信息的保密性、完好性已成为一个重要问题,也是当今XX络安全技术讨论的一个热点。
在很多实际应用中,XX络由分布在不同站点的内部XX络和站点之间的公共XX络组成。
每个站点配有一XXXX关设备,站点内XX络的相对封闭性和单一性,站点内XX络对传输信息的安全爱护要求不大。
二站点之间XX络属于公共XX络,XX络相对开发,使用状况冗杂,因此需要对站点间的公共XX络传输的信息进行安全爱护。
在XX际层中,IPSec可以提供端到端的XX络层安全传输,但是它无法处理位于同一端系统之中的不同的用户安全需求,因此需要在传输层和更高层提供XX络安全传输服务,来满足这些要求。
基于两个传输进程间的端到端安全服务,保证两个应用之间的保密性和安全性,为应用层提供安全服务。
Web扫瞄器是将XX