《TCPIP协议分析.docx》由会员分享,可在线阅读,更多相关《TCPIP协议分析.docx(10页珍藏版)》请在第一文库网上搜索。
1、TCP/IP合同分析及应用在计算机网络的发展过程中,TCP/IP网络是迄今为止对人类社会影响最重要的一种网络。TCP和IP是两种网络通信合同,以这两种合同为核心合同的网络总称为TCP/IP网络。人们常说的国际互联网或因特网就是一种TCP/IP网络,大多数公司的内部网也是TCP/IP网络。作为一名学习计算机的学生,我们一定要对TCP/IP合同进行深刻时解析。通过对合同的分析进一步理解网络上数据的传送方式和网络上浮现的问题的解决措施。本实验就是对文献传播合同进行分析来拟定FTP合同工作方式。目的:,向FTP服务器上传和下载文献。用抓包工作来捕获数据在网络上的传送过程。为时以便数据包的分析,通过上传
2、一种内容为全A的TXT文献,来更直观的分析文献传播的过程。过程:1.在本机上安装科莱抓包软件2 .对科莱进行进滤器时设立(arp、什P、什PCtrI、ftpdata)3 .通过运营CMD窗口进行FTP的访问4 .用PUT和GET进行文献的上传与下载。5.对抓到的包进行具体的分析CMD中的工作过程:Connectedto202.207.112.32.220SerV-UFTPServerv5.1forWinSockredy.User(202.207.112.32:(noe):anonymous/通过匿名方式访问331Usernameokay,pIeasesedcompIeteE-mai1addre
3、ssaspassword.Password:230User1oggedizproceed.什pcd学生作业上传区/暂存文献夹250Directorychagedto/学生作业上传区/暂存文献夹/上传aaa123.t什pputd:aaa123.txtXt文献200PORTCommandsuccessfuI.150OpeigASC11modedatacoectionforaaa123.txt.226Transfercomp1ete.ftp:1736bytessentin0.00Seconds173600O.OOKbytes/sec.ftpgetaaaaa.txt下载aaaaa.txt文献200PO
4、RTCommdsuccessfuI.1 500peigASCI1modedatacoectiofora.txt(580Bytes).2 26Transfercomp1ete.什p:580bytesreceivedin0.00Secods580000.OOKbytes/sec.ftpquit221Goodbye!对FTP响应代码阐明见表1:表1FTP响应代码响应代码解释阐明响应代码解释阐明150文献OK,数据连接将在短时间内打开230登录成功200成功331顾客名有效,需要密码220服务器准备就绪332需要账号名221服务关闭421关闭服务器226数据连接关闭500无效命令IP数据包分析:(按照
5、数据包时顺序进行分析)表2和表3是对两个来回的数据报进行分析:表2捕获的第1个数据包00EOFC187B4600OD879074FA0800450000309219400080表3捕获的第2个数据包00OD879074FA00EOFC187B46080045000030252D00007F目的MAC:00EOFC187B46源MAC:00OD879074FA版本:4(IPv4)首部长度:5(20字节)上层合同:06(TCP)源IP地址:COA80BF7目的IP地址:CACF7020TCP源端口:118F(随机产生)目的端口:0015(熟知端口21表达FTP)TCP报文段数据分析:众所周知的端口
6、来标记在TCP上运营的原则服务,涉及FTP、HTTP、TE1NET.SMTP等,这些端标语码范畴为0-1023。根据TCP端标语80可以拟定TCP是为FTP提供服务的。下面就讨论TCP报文段的首部格式。TCP报文段首部的前20个字节是固定的(图1),背面有4N字节是根据需要而增长的选项(N是整数)o因此TCP首部的最小长度是20字节。源端标语(16bit)目的端标语(16bit)序列号(32bit)确认号(32bit)首部长度(4bit)保存(6bit)URGACKPSHRSTSYNFIN窗口大小(16bit)校验和(16bit)紧急指针(16bit)选项和填充於11TCD3Tr田Mn号通过理
7、论与实际相结合对表4时TCP报文进行更好的掌握与分析。00EOFC187B4600OD879074FA08004500003092194000表4捕获的第4个数据包TCP-传播控制合同118F源端口:4495OO15目的端口:21(ftp)C2COEC07序列号:00000000确认号:070TCP偏移量:702标志:.0000100x003F40Oo窗口:1638448/27B23校验和:0x7B23(对刈50/20000紧急指针:052/2由于FTP是封装在TCP中传播时,因此一方面会进行TCP的三次握手。图2是对各标志位时解释:URG:紧急位,用来批示紧急指针SYN:同步位,用来在建立连
8、接时有效。同步序号。ACK:确认位,用来批示确认号有FIN:终结位,用来释放一连接。效。PSH:祈求推送。RST:重建位,用于重新建立连接。建立连接的三次握手的状态标志位:标志位第1包第2包第3包O篇急位.0o认45.o.1.1.O急迫恢0.0.0.O重重位0.0.同步校1.10.O经止付.Q00图2三次握手的状态标志位-f分别表达进入、出去的数据包表5对捕获的TCP数据重要字段的分析TCP-传播控制合同个别字段分析编号序列号确认号窗口作用登陆FTP过程1f016384TCP的三次握手2-163843一175204-65535服务器发送49字节确认5一17471客户确认收到249=)6-174
9、71客户输入顾客名7-65519服务器验证顾客名8一1740I客户对服务确认9-17401客户输入PASS10-65512服务确认PASSIIf17276客户对服务确认上传aa123.txt文献23-0重置连接24包内容U8FJjC2C0EC43D641D0D45018437C351500OO504F5254203139322C3136382C31312C3234372C31372C313830ODOA2417276采用Port模式25-65448服务器确认建立成功2617246客户端发送的文献名27包内容001411B43378C832000000(X)7002FFFF6EIDOO(X)02
10、0405B4O1O10402(0014代表20端口)27-065535服务器建立端口为20号新连接的三次TCP握手28一1752030-6553529包内容0015118FD641DOF2C2COEC725018FF9518480000313530204F70656E696E67204153434949206D6F6465206461746120636F6E6E656374696F6E20666F722061613132333435362E7478742EODOA29-65429对第26包的确认并且发送传播方式为ASCI1mode31一17520传播数据32-1752033-17520终结位为
11、1、客户端传播数据结束34-65535服务器对客户的确认35-65535终结位为1、服务器完毕接受36-17520客户对服务器的确认37-17188客户对服务器的第29包确认38-65429传播数据完毕通过上面FTP的分析:可以拟定FTP用到两个端口,一种端口是作为控制连接的端口21,用于发送指令给服务器以及等待服务器响应;另一种端口是作为数据传播的端口20,用来建立数据传播通道。控制连接(端口21)在整个FTP工作过程中始终保持连接状态。数据连接则是在每传播一种文献时都要启动和关闭。也就是说,在一种FTP的工作过程中,控制连接是永久的,数据连接是交互式时。表6释放连接时的状态标志位标志位第6
12、1包第62包第63包第64包紧急位0000确认位1111急切位0000重置位0000同步位0000终结位1010第61包是客户向服务器发送的终结报文,第62包是服务器对客户机的确认。此时,客户已经结束了对服务器的访问。但服务器并没有结束对客户机的会话。后边的第63包是服务器向客户发送的终结报文,第64包是客户对服务器时确认。这时双方的会话才真正终结。数据据链式路层(ARP)图3是ARP祈求和应答包:图3ARP/RARP报文封装在以太表6。捕获的ARP祈求数据报00OAE67FFE0500OFE2F5OD5708060001080006040002表7捕获的ARP应答数据报FFFFFFFFFFF
13、F00OAE67FFE050806000108000604000100图(4、5)分别为ARP祈求与应答的过程:主机A主机B路由器/网关图4。ARP的祈求过程图5ARP时应答过程注意:当发送IP数据报需要获取目的主机的物理地址时,一方面检查它的ARP高速缓存,如果ARP高速缓存中已经存在相应的映射表项,则目的主机的硬件地址可以从ARP高速缓存中获得,主机可以立即发送IP数据报。只有当ARP高速缓存中不存在与该目的IP地址相应的映射表项时,才广播ARP祈求。因此一般我们在抓取ARP数据之前,尽量先通过ARP-d命令先把ARP缓存清除,那样你才会抓到你想要的ARP数据包。否则就抓不到ARP祈求报文和对方的应当包文。总结:通过开设TCP/IP这门课程,我们学到了好多。特别是在实验课上,我们通过刚开始对一串串16进制数据是什么都不懂得到目前可以将报文和一合同相结合,分析出每位数据的含义,从而更深的理解了网络分层的必要性,对所谓的“合同是水平的、服务是垂直的”有了更好的理解。对网络的工作方式有了进一步的结识。固然,在分析过程中我们也曾有许多困难,心中存在好多问题,但最后通过老师的指引和我们的共同努力,都较好时将其解决。在很大限度上提高了我们的动手和解决实际问题能力。对这门课程学习让我们对网络产生了更深厚的爱好。也让我们结识不管做什么事情