TCP/IP协议分析及应用
在计算机网络的发展过程中,TCP/IP网络是迄今为止对人类社会影响最重要的一种网络。TCP和IP是两种网络通信协议,以这两种协议为核心协议的网络总称为TCP/IP网络。人们常说的国际互联网或因特网就是一种TCP/IP网络,大多数企业的内部网也是TCP/IP网络。
作为一名学习计算机的学生,我们一定要对TCP/IP协议进行深刻的解析。通过对协议的分析进一步了解网络上数据的传送方式和网络上出现的问题的解决方法。本实验就是对文件传输协议进行分析来确定FTP协议工作方式。
目的:通过访问FTP:202.207.112.32,向FTP服务器上传和下载文件。用抓包工作来捕捉数据在网络上的传送过程。为的方便数据包的分析,通过上传一个内容为全A的TXT文件,来更直观的分析文件传输的过程。
过程: 1.在本机上安装科莱抓包软件
2.对科莱进行进滤器的设置(arp、ftp、ftp ctrl、ftp data)
3.通过运行CMD窗口进行FTP的访问
4.用PUT和GET进行文件的上传与下载
5.对抓到的包进行详细的分析
CMD中的工作过程:
C:\Documents and Settings\Administrator>ftp 202.207.112.32
Connected to 202.207.112.32.
220 Serv-U FTP Server v5.1 for
User (202.207.112.32:(none)): anonymous //通过匿名方式访问
331 User name okay, please send complete E-mail address as password.
Password:
230 User logged in, proceed.
ftp> cd 学生作业上传区/暂存文件夹
250 Directory changed to /学生作业上传区/暂存文件夹
ftp> put d:\ //上传文件200 PORT Command successful.
150 Opening ASCII mode data connection
226 Transfer complete.
ftp: 1736 bytes sent in 0.00Seconds 1736000.00Kbytes/sec.
ftp> //下载文件
200 PORT Command successful.
150 Opening ASCII mode data connection (580 Bytes). 226 Transfer complete.
tcpip协议分为哪几层作用
ftp: 580 bytes received in 0.00Seconds 580000.00Kbytes/sec.
ftp> quit
221 Goodbye!
对FTP响应代码说明见表1:
表1 FTP响应代码
IP数据包分析:(按照数据包的顺序进行分析)
表2和表3是对两个往返的数据报进行分析:
表2  捕获的第1个数据包
表3  捕获的第2个数据包
目标MAC :00 E0 FC 18 7B 46
源MAC :00 0D 87 90 74 FA  版本:4(IPv4)  首部长度:5(20字节) 上层协议:06(TCP )  源IP 地址:C0 A8 0B F7  目的IP 地址:CA CF 70 20
TCP 源端口:11 8F (随机产生) 目的端口:00 15(熟知端口21表示FTP )
TCP 报文段数据分析:
众所周知的端口来标识在TCP 上运行的标准服务,包括FTP 、HTTP 、TELNET 、SMTP 等,这些端口号码范围为0-1023。根据TCP 端口号80可以确定TCP 是为FTP 提供服务的。下面就讨论TCP 报文段的首部格式。
TCP 报文段首部的前20个字节是固定的(图1),后面有4N 字节是根据需要而增加的选项(N 是整数)。因此TCP 首部的最小长度是20字节。
通过理论与实际相结合对表4的TCP 报文进行更好的掌握与分析。
图1  TCP 报文段的首部格式
表4 捕获的第4个数据包
11 8F 源端口: 4495
00 15 目标端口: 21 (ftp)
C2 C0 EC 07序列号: 3267423239
00 00 00 00 确认号: 0
70 TCP偏移量: 7
02 标志:..00 0010 0x003F
40 00窗口: 16384 [48/2]
7B 23校验和: 0x7B23 (正确) [50/2]
00 00紧急指针: 0 [52/2]
由于FTP是封装在TCP中传输的,所以首先会进行TCP的三次握手。图2是对各标志位的解释:
URG:紧急位,用来指示紧急指针有效。
ACK:确认位,用来指示确认号有效。
PSH:请求推送。
RST:重建位,用于重新建立连接。
SYN:同步位,用来在建立连接时同步序号。
FIN:终止位,用来释放一连接。
建立连接的三次握手的状态标志位:
标志位第1包第2包第3包
图2 三次握手的状态标志位
←→分别表示进入、出去的数据包
TCP - 传输控制协议个别字段分析
编号序列号确认号窗口作用
登陆FTP过程
1→3267423239016384
TCP的三次握手2←3594637279326742324016384
3→3267423240359463728017520
4←3594637280326742324065535服务器发送49字节确认
5→3267423240359463732917471客户确认收到(280+49=329)6→3267423240359463732917471客户输入用户名
7←3594637329326742325665519服务器验证用户名
8→3267423256359463739917401客户对服务确认
00 E0 FC 18 7B 46 00 0D 87 90 74 FA 08 00 45 00 00 30 92 19 40 00 80 06 61 1F C0 A8 0B F7 CA CF 70 20 11 8F 00 15 C2 C0 EC 07 00 00 00 00 70 02 40 00 7B 23 00 00 02 04 05 B4 01 01 04 02
送指令给服务器以及等待服务器响应;另一个端口是作为数据传输的端口20,用来建立数据传输通道。控制连接(端口21)在整个FTP工作过程中始终保持连接状态。数据连接则是在每传输一个文件时都要开启和关闭。也就是说,在一个FTP的工作过程中,控制连接是永久的,数据连接是交互式的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。