分析所用软件下载:Wireshark-win32-1.10.2.exe

阅读导览

1. 分析应用TCP协议,以及TCP链接管理

2. 分析应用UDP协议

分析要求

(1)TCP部分:

  1. 学习3CDaemon FTP 服务器的配置和使用
  2. 设计应用以获取tcp报文
  3. 分析tcp报文的格式与内容(分析至少5个报文,并理解它们之间的关系)
  4. 分析TCP 连接建立的 "三次握手"过程,找到 对应的报文

(2)UDP部分:

  1. 学习Cisco TFTP Server的配置和使用
  2. 设计应用以获取udp报文
  3. 分析udp报文的格式与内容(分析至少5个报文,并理解它们之间的关系)
  4. 分析UDP 报文与TCP 报文有何不同?体会UDP 协议和TCP 协议的区别

分析内容

(1)TCP部分:

  1. 学习3CDaemon FTP 服务器的配置和使用

下载安装3CDaemon软件并配置FTP服务器部分

  1. 设计应用以获取tcp报文

使用3CDaemon 系统内置的匿名帐户 "anonymous"登陆FTP 服务器以获取TCP报文

  1. 分析tcp报文的格式与内容(分析至少5个报文,并理解它们之间的关系)

分析见第四部分

  1. 分析TCP 连接建立的 "三次握手"过程,找到 对应的报文

(2)UDP部分:

  1. 学习Cisco TFTP Server的配置和使用

配置Cisco TFTP Server

  1. 设计应用以获取udp报文

使用Windows 命令行模式下的TFTP 客户端命令连接TFTP服务器,下载f1.txt文件:

TFTP –i 172.18.3.188 GET f1.txt

上传f2.txt文件:

TFTP -i 172.18.3.188 PUT f2.txt

同时抓包以获取UDP报文

  1. 分析udp报文的格式与内容(分析至少5个报文,并理解它们之间的关系)

分析见第四部分

  1. 分析UDP 报文与TCP 报文有何不同?体会UDP 协议和TCP 协议的区别

分析结果及总结

1. 获取并分析tcp报文

(1)登录ftp服务器:172.18.3.154建立TCP连接的SYN报文:

07a200151ea58e8f000000008002ffff5ad20000020405b40103030301010402

源端口:07a2

Source port: abr-api (1954)

目的端口:0015

Destination port: ftp (21)

序号:1e a5 8e 8f

Sequence number: 0 (relative sequence number)

首部长度:8

Header length: 32 bytes

码元比特:02

Flags: 0x002 (SYN)

窗口:ff ff

Window size value: 65535

Calculated window size: 65535

校验和:5ad2

Checksum: 0x5ad2 [validation disabled]

选项:02 04 05 b4 01 03 03 03 01 01 04 02

Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), SACK permitted

(2)登录ftp服务器:172.18.3.154建立TCP连接的SYN+ACK报文:

00e04c512b4e00e04c500ff9080045000034287040004006b2fcac12039aac120399001507a263bcdaf71ea58e908012ffff1c0d0000020405b40103030301010402

源端口:00 15

Source port: ftp (21)

目的端口:07 a2

Destination port: abr-api (1954)

序号:63 bc da f7

Sequence number: 0 (relative sequence number)

确认号:1e a5 8e 90

Acknowledgment number: 1 (relative ack number)

首部长度:8

Header length: 32 bytes

码元比特:12

Flags: 0x012 (SYN, ACK)

窗口:ff ff

Window size value: 65535

Calculated window size: 65535

校验和:1c 0d

Checksum: 0x1c0d [validation disabled]

选项:020405b40103030301010402

Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), SACK permitted

(3)登录ftp服务器:172.18.3.154建立TCP连接的第二个ACK报文:

07a200151ea58e9063bcdaf85010b5c9a7110000

源端口:07a2

Source port: abr-api (1954)

目的端口:0015

Destination port: ftp (21)

序号:1e a5 8e 90

Sequence number: 1 (relative sequence number)

确认号:63 bc da f8

Acknowledgment number: 1 (relative ack number)

首部长度:5

Header length: 20 bytes

码元比特:10

Flags: 0x010 (ACK)

窗口:b5 c9

Window size value: 46537

Calculated window size: 372296

Window size scaling factor: 8

校验和:a7 11

Checksum: 0xa711 [validation disabled]

(4)ftp服务器:172.18.3.154断开TCP连接的FIN+ACK seq=x报文:

00e04c512b4e00e04c500ff908004500002854fb40004006867dac12039aac12039900150966cb76f9c531de53865011b5b846a70000000000000000

源端口:00 15

Source port: ftp (21)

目的端口:09 66

Destination port: jediserver (2406)

序号:cb 76 f9 c5

Sequence number: 437 (relative sequence number)

确认号:31 de 53 86

Acknowledgment number: 135 (relative ack number)

首部长度:5

Header length: 20 bytes

码元比特:11

Flags: 0x011 (FIN, ACK)

窗口:b5 b8

Window size value: 46520

Calculated window size: 372160

Window size scaling factor: 8

校验和:46 a7

Checksum: 0x46a7 [validation disabled]

(5)ftp服务器:172.18.3.154断开TCP连接的ACK x+1报文:

0966001531de5386cb76f9c65010b59346cc0000

源端口:09 66

Source port: jediserver (2406)

目的端口:00 15

Destination port: ftp (21)

序号:31 de 53 86

Sequence number: 135 (relative sequence number)

确认号:cb 76 f9 c6

Acknowledgment number: 438 (relative ack number)

首部长度:5

Header length: 20 bytes

码元比特:10

Flags: 0x010 (ACK)

窗口:b5 93

Window size value: 46483

Calculated window size: 371864

Window size scaling factor: 8

校验和:46 cc

Checksum: 0x46cc [validation disabled]

(6)ftp服务器:172.18.3.154断开TCP连接的FIN seq =y ,ACK +1报文:

0966001531de5386cb76f9c65011b59346cb0000

源端口:09 66

Source port: jediserver (2406)

目的端口:00 15

Destination port: ftp (21)

序号:31 de 53 86

Sequence number: 135 (relative sequence number)

确认号:cb 76 f9 c6

Acknowledgment number: 438 (relative ack number)

首部长度:5

Header length: 20 bytes

码元比特:11

Flags: 0x011 (FIN, ACK)

窗口:b5 93

Window size value: 46483

Calculated window size: 371864

Window size scaling factor: 8

校验和:46 cb

Checksum: 0x46cb [validation disabled]

(7)ftp服务器:172.18.3.154断开TCP连接的ACK y+1报文:

00e04c512b4e00e04c500ff908004500002854fc40004006867cac12039aac12039900150966cb76f9c631de53875010b5b846a60000000000000000

源端口:00 15

Source port: ftp (21)

目的端口:09 66

Destination port: jediserver (2406)

序号:cb 76 f9 c6

Sequence number: 438 (relative sequence number)

确认号:31 de 53 87

Acknowledgment number: 136 (relative ack number)

首部长度:5

Header length: 20 bytes

码元比特:10

Flags: 0x010 (ACK)

窗口:b5 b8

Window size value: 46520

Calculated window size: 372160

Window size scaling factor: 8

校验和:46 a6

Checksum: 0x46a6 [validation disabled]

对于TCP连接建立过程:

客户端发送序号为x的SYN报文,服务器接收后发送序号为y的SYN与序号为x+1 的ACK 报文,客户端接收后,发送序号为y+1的ACK报文,TCP以此顺序建立三次握手。

对于TCP连接的正常关闭:

网点1发送序号为x的FIN报文,网点2接收后发送序号为x+1的ACK 报文,网点2再发送序号为y的FIN与序号为x+1的ACK报文,网点1接收后发送序号为y+1的ACK报文,网点2接收该报文,连接正常关闭,此为改进的三次握手方法。

2. 获取并分析UDP报文

(1)TFTP –i 172.18.3.188 GET f1.txt的第一个UDP报文:

0c3e00450017bd5c

源端口:0c 3e

Source Port: 3134 (3134)

目的端口:0045

Destination Port: 69 (69)

报文长度:00 17

Length: 23

校验和:bd 5c

Checksum: 0xbd5c [validation disabled]

数据为TFTP报文

(2)TFTP –i 172.18.3.188 GET f1.txt的第二个UDP报文:

09f30c3e001b8124

源端口:09 f3

Source Port: 2547 (2547)

目的端口:0c3e

Destination Port: 3134 (3134)

报文长度:00 1b

Length: 27

校验和:81 24

Checksum: 0x8124 [validation disabled]

数据为TFTP报文

(3)TFTP –i 172.18.3.188 GET f1.txt的第三个UDP报文:

0c3e09f3000c8a32

源端口:0c 3e

Source Port: 3134 (3134)

目的端口:09 f3

Destination Port: 2547 (2547)

报文长度:00 0c

Length: 12

校验和:8a 32

Checksum: 0x8a32 [validation disabled]

数据为TFTP报文

(4)TFTP –i 172.18.3.188 PUT f2.txt的第一个UDP报文:

0d1d00450017bc7b

源端口:0d 1d

Source Port: 3357 (3357)

目的端口:00 45

Destination Port: 69 (69)

报文长度:00 17

Length: 23

校验和:bc 7b

Checksum: 0xbc7b [validation disabled]

数据为TFTP报文

(5)TFTP –i 172.18.3.188 PUT f2.txt的第二个UDP报文:

0b410d1d000c8806

源端口:0b 41

Source Port: 2881 (2881)

目的端口:0d 1d

Destination Port: 3357 (3357)

报文长度:00 0c

Length: 12

校验和:88 06

Checksum: 0x8806 [validation disabled]

数据为TFTP报文

(6)TFTP –i 172.18.3.188 PUT f2.txt的第三个UDP报文:

0d1d0b4100138b61

源端口:0d 1d

Source Port: 3357 (3357)

目的端口:0b 41

Destination Port: 2881 (2881)

报文长度:00 13

Length: 19

校验和:8b 61

Checksum: 0x8b61 [validation disabled]

数据为TFTP报文

(7)TFTP –i 172.18.3.188 PUT f2.txt的第四个UDP报文:

0b410d1d000c8805

源端口:0b 41

Source Port: 2881 (2881)

目的端口:0d 1d

Destination Port: 3357 (3357)

报文长度:00 0c

Length: 12

校验和:88 05

Checksum: 0x8805 [validation disabled]

数据为TFTP报文

UDP 报文与TCP 报文有何不同:

UDP报文比TCP报文简短,且不用建立连接,TCP是可靠传输协议,UDP是不可靠传输协议。UDP传输速度比TCP快,适用于一些对速度要求高,精确度要求较低的连接。

传输层协议TCP和UDP分析的更多相关文章

  1. 传输层协议TCP和UDP

    本文力图简洁,让读者对TCP和UDP有个初步的认知.闲话少说,现在开始吧.TCP和UDP都是传输层的协议.TCP通过三次握手建立可靠连接,对未送达的消息重新进行发送.UDP不建立连接而直接发送,对未送 ...

  2. 浅谈传输层协议TCP和UDP

    在当今因特网的层次结构中,传输层的协议主要有两种,其一为Transmission Control Protocol,即TCP:其二为User Datagram Protocol,即UDP. 1.TCP ...

  3. TCP/IP中的传输层协议TCP、UDP

    TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输. 传输层协议根据IP数据报判断最终的接收端应用程序. TCP/IP的众多应用协议大多以客户端/服务端的形式运行.客户端是请 ...

  4. 常用传输层协议(tcp/ip+udp)与常用应用层协议简述(http)

    一.计算机网络体系结构 二.TCP与UDP差异 1.TCP是面向连接的可靠传输,UDP是面向无连接的不可靠传输 面向连接表现在3次握手,4次挥手:可靠传输表现在未进行4次挥手时的差错重传,超时重传: ...

  5. UNIX网络编程---传输层:TCP、UDP、SCTP(二)

    UNIX网络编程----传输层:TCP.UDP.SCTP 一.概述 本章的焦点是传输层:包括TCP.UDP.和SCTP(流控制传输协议).SCTP是一个较新的协议,最初设计用于跨因特网传输电话信令. ...

  6. 数据通讯与网络 第五版第24章 传输层协议-TCP协议部分要点

    上一博客记录了UDP协议的关键要点,这部分记录TCP协议的关键要点. 24.3 传输控制协议(TRANSMISSION CONTROL PROTOCOL) TCP(Transmission Contr ...

  7. 传输层的TCP和UDP协议

    作者:HerryLo 原文永久链接: https://github.com/AttemptWeb... TCP/IP协议, 你一定常常听到,其中TCP(Transmission Control Pro ...

  8. 01网络编程(基础知识+OSI七层协议+TCP与UDP)

    目录 01 网络编程 一.软件开发架构 1.1 CS架构 1.2 BS架构 二.网络理论前戏 2.1 简介 2.2 常见硬件 三.OSI七层协议(五层) 3.1 七层协议 3.2 五层协议 3.3 知 ...

  9. [转帖]技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解

    技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解    http://www.52im.net/thread-1309-1-1.html   本文来自腾讯资深研发工程师罗成的技术分享, ...

随机推荐

  1. ThinkPHP5.0手把手实现手机阿里云短信验证

    阿里云短信服务介绍阿里云短信服务就是以前的阿里大于,不过现在融合得到阿里云平台了.首先,你需要注册一个阿里云账号,这个自行解决. 仅用于测试使用官方送的代金券够用了.相关配置1.开通阿里云Access ...

  2. 重新设置Linux文件共享密码..

    今天同事把我主机踹倒了,鼠键都没反应,于是我在Linux运行的情况下强制重启了下电脑. 启动完了VMware后Linux重启,正常使用.后来我想起来有快照功能 之前也没用到过,于是就点了一下刚开始安装 ...

  3. Ubuntu 16.04下的安装RabbitMQ

    安装 添加源 echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/ra ...

  4. Hibernate之mappedBy与@JoinColumn

    @JoinColumn所在实体是关系拥有方,name即拥有方对应表到参考表的外键名称. @mappedBy所在实体是关系的被拥有方,value值owner中表示被拥有类的属性. 在单向关系中不需要设置 ...

  5. day 44 django 学习入门

    前情提要: 终于学到了Django  ...古川小姐姐好流b .....7天学完.....脑壳疼..为了出了这个小火箭.. 详细参考官网. https://www.django.cn/ 中文网站 一: ...

  6. Java的GC

    垃圾收集 在探究Jvm的过程中,有两个点特别需要关注,一是:内存的使用,分配策略,而这一点是在前一篇博客已经介绍过了. 二是:内存的回收.也就是这一篇博客所要探究的关键点. 内存回收需要关注的几个点: ...

  7. 剑指offer五十之数组中重复的数字

    一.题目 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...

  8. Linux的shell script

    Linux的shell script //编辑shell: vi a.sh //子进程运行shell sh a.sh //主线程运行shell source a.sh 相关例子: #!/bin/bas ...

  9. 安卓的SlidingMenu配置

    最近用到了界面的优化,使用SlidingMenu开源库比较方便,为了方便学习,我整理了一下配置过程. 1.准备资料. 首先下载这两个ActionBarSherlock和SlidingMenu,如图:

  10. Oracle中的层次查询详解

    1 语法格式 select [level], column, expr... from table [where condition] start with condition connect by ...