tftp下载及协议
来源:互联网 发布:保留数据重置win10 编辑:程序博客网 时间:2024/06/05 12:50
读写请求
1下载
!:按大端序(大端(网络字节序)和小端(家用笔记本))
ps:大端:高位数据放在低位地址;小端相反。
*struct 类型表*
Format C Type Python type Standard sizeNotes
x pad byte no value
c char string of length 1 1
b signed char integer 1 (3)
B unsigned charinteger 1(3)
? _Bool bool 1 (1)
h short integer 2 (3)
H unsigned shortinteger 2(3)
i int integer4 (3)
I unsigned intinteger 4(3)
l long integer 4 (3)
L unsigned longinteger 4(3)
q long long integer 8 (2), (3)
Q unsigned long longinteger 8(2), (3)
f float float 4 (4)
d double float 8 (4)
s char[] string 1
p char[] string
P void * integer (5), (3)
#只要是向网络上发送 多个字节表示1个数值的这样的数据,那么就需要pack
组包struct.pack("!H8sb5sb",1,"test.jpg",0,"octet",0)返回获取到的数据
ps:python2网络这块可以直接传参字符串,python3需要先编码
#只要是从网络收到了一个 多个字节表示一个值的这样的数据,那么就需要对这个数据进行unpack解析
解包struct.unpack("!HH",获取到的数据)返回一个元组
1下载
2上传 文件名(test.jpg,长度8) 0 octet 0
将上述请求发送至69端口,tftp服务器新开一个端口用于发送数据包
数据包
3数据包(2个字节) 块序号(包编号,2个字节) 数据(512个字节)
**传输大文件时块序号超过65535时重新从0开始,即if num==65536:num=0
5错误(2字节) 差错码(错误类型,2字节) 差错内容(string)
回应ACK
4确认包 块序号
ps:当数据包小于516(2+2+512)字节时,表示下载结束!
ps:如何让1、2、3、4或5占两个字节?
import struct
pack,unpack!:按大端序(大端(网络字节序)和小端(家用笔记本))
ps:大端:高位数据放在低位地址;小端相反。
*struct 类型表*
Format C Type Python type Standard sizeNotes
x pad byte no value
c char string of length 1 1
b signed char integer 1 (3)
B unsigned charinteger 1(3)
? _Bool bool 1 (1)
h short integer 2 (3)
H unsigned shortinteger 2(3)
i int integer4 (3)
I unsigned intinteger 4(3)
l long integer 4 (3)
L unsigned longinteger 4(3)
q long long integer 8 (2), (3)
Q unsigned long longinteger 8(2), (3)
f float float 4 (4)
d double float 8 (4)
s char[] string 1
p char[] string
P void * integer (5), (3)
#只要是向网络上发送 多个字节表示1个数值的这样的数据,那么就需要pack
组包struct.pack("!H8sb5sb",1,"test.jpg",0,"octet",0)返回获取到的数据
ps:python2网络这块可以直接传参字符串,python3需要先编码
#只要是从网络收到了一个 多个字节表示一个值的这样的数据,那么就需要对这个数据进行unpack解析
解包struct.unpack("!HH",获取到的数据)返回一个元组
阅读全文
0 0
- tftp下载及协议
- tftp服务器配置及协议分析
- TFTP协议
- TFTP协议
- TFTP协议
- TFTP协议
- TFTP协议
- tftp协议、下载和发送数据到服务器、
- <Arm开发板>使开发板连上外网及tftp下载命令
- LINUX下tftp安装步骤及tftp下载内核到开发板的方法
- TFTP(简单文件传输协议)
- TFTP协议简介
- TFTP协议 RFC1350 中文
- TFTP协议介绍
- TFTP协议详解
- TFTP协议简介
- TFTP协议简介
- TFTP协议简介
- python 高级特性
- echarts折线图柱状图的坐标轴的颜色及样式的设置
- Python编程_Lesson005_元组
- jupyter notebook 要点
- 敲黑板!break和continue的区别!
- tftp下载及协议
- Eclipse转IDEA及快捷键、常用优化设置
- Vue computed计算属性的妙用
- 自定义DrawableTextView——实现TextView左上右下的点击监听
- echarts 柱状图 ,颜色和显示设置
- JAVA简介、方法、面向对象笔记2
- duilib 入门一之界面库基本原理
- Check the difficulty of problems POJ
- redisCacheManager(redis缓存管理器使用)