传输层协议分析[头歌]

  • 源端口( 16 位):通信发送方使用的端口号
  • 目标端口( 16 位):通信接收方使用的端口号
  • 序列号( 32 位):用来确保数据可靠传输的唯一值
  • 确认号( 32 位):接收方在响应时发送的数值
  • 数据偏移( 4 位):标志数据包开始的位置,TCP 头部的长度
  • 标记( 12 位/ 6 位): SYN:(同步)发起连接的数据包:同步 SYN=1 表示这是一个连接请求或连接接受报文。 ACK:(确认)确认收到的数据包:只有当 ACK=1 时,确认号字段才有效;当 ACK=0 时,确认号无效。 RST:(重置)之前尝试的连接被关闭,(信号差,信号拥挤):当 RST=1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。 FIN:(结束)连接成功,传输完毕之后,连接正在断开:用来释放一个连接,FIN=1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。 PSH:(推送)数据包直接发送给应用,而不是缓存起来:接收 TCP 收到 PSH=1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。 URG:(紧急)数据包中承载的内容应该立即由 TCP 协议栈立即进行处理:当 URG=1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。 CWR:(拥塞窗口减小)缓存区已满或者拥挤,通信双方都应该降低传输的速率。
  • 窗口大小( 16 位):匹配缓存区的大小
  • 校验和( 16 位):确认 TCP 数据段中的内容是否发送了变化
  • 紧急指针( 16 位):明确显示数据之前的 16 进制序列号

其中,ACK 是可能与 SYN,FIN 等同时使用的,比如 SYN 和 ACK 可能同时为 1 ,它表示的就是建立连接之后的响应, 如果只是单个的一个 SYN ,它表示的只是建立连接。( TCP 的几次握手就是通过这样的 ACK 表现出来的), 但 SYN 与 FIN 是不会同时为 1 的,因为前者表示的是建立连接,而后者表示的是断开连接。RST 一般是在 FIN 之后才会出现为 1 的情况,表示的是连接重置。一般地,当出现 FIN 包或 RST 包时,我们便认为客户端与服务器端断开了连接;而当出现 SYN 和 SYN+ACK 包时,我们认为客户端与服务器建立了一个连接。

捕获从计算机到远程服务器的批量 TCP 传输

我们需要使用 Wireshark 来获取文件从计算机到远程服务器的 TCP 传输的数据包内容。首先访问一个网页,在网页上输入计算机上存储的文件名(包含 Alice in Wonderland 的 ASCII 文本),然后使用 HTTP POST 方法将文件传输到 Web 服务器(不使用 GET 方法的原因是我们希望大量数据从您的计算机传输到另一台计算机)。而在此同时,要运行 Wireshark 以获取从您的计算机发送和接收的 TCP 区段的内容。

双击打开桌面上的工作区文件夹"workspace",再打开实训文件夹"myshixun",将查询的信息保存到文件message-1.txt。具体要求如下: (1)打开 Wireshark ,加载实训文件夹中的tcp-ethereal-trace-1文件,并筛选出其中的"TCP"报文; (2)展开TCP分组,查看本机使用的 IP 地址和 TCP 端口号是什么,填写到文件中; (3)gaia.cs.umass.edu(目标网站)的 IP 地址和 TCP 端口号是什么,填写到文件中。

双击打开桌面上的工作区文件夹”workspace”,再打开实训文件夹”myshixun”,并打开其中的文件message-2.txt,将查询的信息保存到文件message-2.txt。具体要求如下: (1)打开文件夹中tcp-ethereal-trace-1文件; (2)打开编辑 ( edit ) ->首选项 ( preferences )-> Protocols -> TCP ,取消勾选 Relative sequence numbers(相对序列号); (3)第一次握手时, TCP SYN 区段的序列号( SEQ )是什么,填写到 txt 文件中; (4)由三次握手协议,客户端首次回复中,ACK=SEQ+1,根据(3)中的 SEQ 号,用tcp.ack==SEQ+1(具体数字)命令筛选出相应数据报,查看gaia.cs.umass.edu 发送给客户端计算机回复的 SYN 的序列号( SEQ )是多少,填写到 txt 文件中;

双击打开桌面上的工作区文件夹”workspace”,再打开实训文件夹”myshixun”,并打开其中的文件message-3.txt,。然后进行如下操作: (1)打开 Wireshark,加载实训文件夹中的tcp-ethereal-trace-1文件; (2)使用命令ip.dst==128.119.245.12进行筛选; (3)选中一条数据报,点击统计( Statistic s)-> TCP 流图形->时间序列( Stevens ),观察图形。判断此文件中是否有重传的区段(序列号一直增大则无,反之则有),填写到 txt 文件中; (4)使用 http 命令筛选数据报,查看数据传输大小以及使用时间,计算 TCP 链接的吞吐量(kb/s、结果保留整数),填写到 txt 文件中。

注:{吞吐量=数据传输大小/所用时间}。

双击打开桌面上的工作区文件夹”workspace”,再打开实训文件夹”myshixun”,并打开其中的文件message-4.txt,将查询的信息保存到文件message-4.txt。具体要求如下:
(1)打开 Wireshark,加载实训文件夹中的http-ethereal-trace-5文件,筛选 UDP 数据包;
(2)从跟踪中选择一个 UDP 数据包。打开该数据包,查看 UDP 标头中的四个字段的名称,并将这四个字段的名称写入 txt 文件(用“;”分隔);
(3)UDP 标头的四个字段总共有多少字节,将信息写入 txt 文件;
(4)从 IPV4(Internet Protocol Version4)中找到 UDP 的协议号是多少,将信息写入 txt 文件;

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值