传输层协议TCP和UDP分析
分析所用软件下载:Wireshark-win32-1.10.2.exe
阅读导览
1. 分析应用TCP协议,以及TCP链接管理
2. 分析应用UDP协议
分析要求
(1)TCP部分:
- 学习3CDaemon FTP 服务器的配置和使用
- 设计应用以获取tcp报文
- 分析tcp报文的格式与内容(分析至少5个报文,并理解它们之间的关系)
- 分析TCP 连接建立的 "三次握手"过程,找到 对应的报文
(2)UDP部分:
- 学习Cisco TFTP Server的配置和使用
- 设计应用以获取udp报文
- 分析udp报文的格式与内容(分析至少5个报文,并理解它们之间的关系)
- 分析UDP 报文与TCP 报文有何不同?体会UDP 协议和TCP 协议的区别
分析内容
(1)TCP部分:
- 学习3CDaemon FTP 服务器的配置和使用
下载安装3CDaemon软件并配置FTP服务器部分
- 设计应用以获取tcp报文
使用3CDaemon 系统内置的匿名帐户 "anonymous"登陆FTP 服务器以获取TCP报文
- 分析tcp报文的格式与内容(分析至少5个报文,并理解它们之间的关系)
分析见第四部分
- 分析TCP 连接建立的 "三次握手"过程,找到 对应的报文
(2)UDP部分:
- 学习Cisco TFTP Server的配置和使用
配置Cisco TFTP Server
- 设计应用以获取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报文
- 分析udp报文的格式与内容(分析至少5个报文,并理解它们之间的关系)
分析见第四部分
- 分析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分析的更多相关文章
- 传输层协议TCP和UDP
本文力图简洁,让读者对TCP和UDP有个初步的认知.闲话少说,现在开始吧.TCP和UDP都是传输层的协议.TCP通过三次握手建立可靠连接,对未送达的消息重新进行发送.UDP不建立连接而直接发送,对未送 ...
- 浅谈传输层协议TCP和UDP
在当今因特网的层次结构中,传输层的协议主要有两种,其一为Transmission Control Protocol,即TCP:其二为User Datagram Protocol,即UDP. 1.TCP ...
- TCP/IP中的传输层协议TCP、UDP
TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输. 传输层协议根据IP数据报判断最终的接收端应用程序. TCP/IP的众多应用协议大多以客户端/服务端的形式运行.客户端是请 ...
- 常用传输层协议(tcp/ip+udp)与常用应用层协议简述(http)
一.计算机网络体系结构 二.TCP与UDP差异 1.TCP是面向连接的可靠传输,UDP是面向无连接的不可靠传输 面向连接表现在3次握手,4次挥手:可靠传输表现在未进行4次挥手时的差错重传,超时重传: ...
- UNIX网络编程---传输层:TCP、UDP、SCTP(二)
UNIX网络编程----传输层:TCP.UDP.SCTP 一.概述 本章的焦点是传输层:包括TCP.UDP.和SCTP(流控制传输协议).SCTP是一个较新的协议,最初设计用于跨因特网传输电话信令. ...
- 数据通讯与网络 第五版第24章 传输层协议-TCP协议部分要点
上一博客记录了UDP协议的关键要点,这部分记录TCP协议的关键要点. 24.3 传输控制协议(TRANSMISSION CONTROL PROTOCOL) TCP(Transmission Contr ...
- 传输层的TCP和UDP协议
作者:HerryLo 原文永久链接: https://github.com/AttemptWeb... TCP/IP协议, 你一定常常听到,其中TCP(Transmission Control Pro ...
- 01网络编程(基础知识+OSI七层协议+TCP与UDP)
目录 01 网络编程 一.软件开发架构 1.1 CS架构 1.2 BS架构 二.网络理论前戏 2.1 简介 2.2 常见硬件 三.OSI七层协议(五层) 3.1 七层协议 3.2 五层协议 3.3 知 ...
- [转帖]技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解
技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解 http://www.52im.net/thread-1309-1-1.html 本文来自腾讯资深研发工程师罗成的技术分享, ...
随机推荐
- C++ const 和static的总结以及使用
一 static的使用 (作用域和存储方式) 1.作用域---------->隐藏 静态函数跟静态全局变量的作用类似 (静态函数不能被其它文件所用: 其它文件中可以定义相同名字的函数,不会发生 ...
- FFmpeg编写的代码
//初始化解封装 av_register_all(); avformat_network_init(); avcodec_register_all(); //封装文件的上下文 ...
- P1631 序列合并
P1631 序列合并 有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2N2个和,求这N^2N2个和中最小的N个. 对于100%的数据中,满足1<=N<=100000. ...
- Eclipse启动和手动启动tomcat访问localhost:8080显示404问题总结
前言:建议对tomcat的文件结构和相关属性有较多了解.本文以eclipse的DynamicWebProject为讲解对象. 目录: eclipse添加tomcat关联注意点 tomcat404问题归 ...
- 【转】MySQL下载安装验证
MySQL官网下载路径:https://dev.mysql.com/downloads/mysql/ MySQL安装步骤:转自博主 Smile_Coding 博文:https://www.cnblog ...
- hive与hbase的整合
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.其优点学习成本低,可以通过类S ...
- Mime、base64编码
第一部分 在阮一峰老师的博客中,是这样介绍Mime的: MIME的全称是"Multipurpose Internet Mail Extensions",中译为"多用途互联 ...
- yum安装报错:Failure when receiving data from the peer
系统:Centos6.9 操作:yum install -y *.rpm 报错信息: Transaction Summary ===================================== ...
- Sequel-Model
Sequel::Model Mass Assignment 大多数的Model方法接受一个包含一系列key和value的哈希作为参数,这些方法包括:Model.new, Model.create, M ...
- ASP.NET 负载均衡 StateServer Session共享问题(经验记录)
(源地址:http://www.cnblogs.com/ryhan/p/3748976.html) 最近在改造公司的一个系统 支持F5硬件负载,由于系统后面还跟了个异步工具,需要将Admin上传的文件 ...