Tftod 的服务器使用下载文件

绿色的软件打开就可以使用

打开的界面是这样

指定一个目录  那么这个目录就可以当作服务器来使用

需要注意的:  默认的端口是69 是基于UDP实现的


操作码


功能


1


读请求,即下载


2


写请求,即上传


3


表示数据包,即DATA


4


确认码,即ACK


5


错误

每次请求服务器,服务器会给响应,再接收到服务器给的响应后,需要告诉服务器,我这边收到了,然后服务器再给发数据,再响应。。

注意  1: 数据包给的块编号是每次响应的,需要即使返回。

2:提交的数字需要转码,不是ASIC码,服务器即使接收到也不能及时响应操作

这里的编码解码  需要用到struct包     这个是模块包 octet  固定的

首先先完成一次的发送和接收

from socket import *
import struct

def main():
     # 采用socket 来发送接收
     uip = (‘192.168.119.172‘, 69)
     sendData = struct.pack("!H8sb5sb", 1, b"test.jpg", 0, b"octet", 0)
     st = socket(AF_INET, SOCK_DGRAM)
     # 发送的内容,等待响应的ip和端口
     st.sendto(sendData, uip)
     # 发送完成查看返回的数据
     rdate = st.recvfrom(1024)
     print(rdate)

if __name__ == ‘__main__‘:
    main()

(b‘\x00\x03\x00\x01(省略了)。\xf1\x17\x18\x19\x1a&\‘()*56789:CDEFGHI‘, (‘192.168.119.172‘, 63807))

返回的信息就是  操作码加上 块编号和数据  数据的大小是512

操作码 03 块编号是 01

时间: 2024-10-04 16:38:13

Tftod 的服务器使用下载文件的相关文章

从ftp服务器上下载文件

从ftp服务器上下载文件 FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP是File Transfer Protocol(文件传输协议).顾名思义,就是专门用来传输文件的协议.简单地说,支持FTP协议的服务器就是FTP服务器. 那么怎样从ftp服务器上下载文件呢?具体操作如下: ftpget -u zyx -p 123456  192.168.1.156  /hello ftpget :指令

C# winform把本地文件上传到服务器上,和从服务器上下载文件

昨天在做项目过程中遇到需要把本地文件上传到服务器上的问题,在这里记录一下,方便大家互相学习! /// <summary> /// 上传文件方法/// </summary> /// <param name="filePath">本地文件所在路径(包括文件)</param> /// <param name="serverPath">文件存储服务器路径(包括文件)</param> public voi

C#实现开发windows服务实现自动从FTP服务器下载文件(自行设置分/时执行)

最近在做一个每天定点从FTP自动下载节目.xml并更新到数据库的功能.首先想到用 FileSystemWatcher来监控下载到某个目录中的文件是否发生改变,如果改变就执行相应的操作,然后用timer来设置隔多长时间来下载.后来又想想了.用windwos服务来实现吧. 效果图: 执行的Log日志: INFO-2016/5/24 0:30:07--日志内容为:0/30/7进行time触发 INFO-2016/5/24 1:30:07--日志内容为:1/30/7进行time触发 INFO-2016/

linux系统上传下载文件的方法

linux系统上传.下载文件的方法有很多种,最常见的有ftp(需要安装ftp软件及配置),这里不做介绍, 下面介绍我常用的两种方式: 1.sftp方式(通过SecureCRT工具的ssh服务传输): 1.打开CRT工具自带的sftp(通过Alt+P命令打开),如图: 默认进入当前用户的家目录,可以自行cd命令切换到上传.下载的目录(windows操作文件系统需要在命令前加 l 参数,如lcd e:\到E盘根目录,lls列出根目录下的文件),上传通过put 加文件名,下载通过get 加文件名) 2

华为设备,通过tftp和ftp上传下载文件

真机IP192.168.10.10/24 R1 G0/0/0 IP192.168.10.1/24 在真机上搭建tftp服务器实现路由上传下载 使用tftpd32搭建TFTP服务器 R1配置 <R1>system-view                  //进入系统视图 [R1]interface GigabitEthernet 0/0/0     //进接口 [R1-GigabitEthernet0/0/0]ip address 192.168.10.1 24   // 配置接口IP [R

Linux--用SecureCRT来上传和下载文件

SecureCRT下的文件传输协议有以下几种:ASCII.Xmodem.Ymodem.Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. Xmodem:这种古老的传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%. Ymodem:这是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快Zmodem:Zmodem采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传.快速错误侦测等功能.这是目前最

Android下载文件常见错误解决方法

最近在学习Mars老师的Android开发课程,仿照http://www.cnblogs.com/Laupaul/archive/2012/02/12/2348293.html的代码来写应用,结果中间出了各种各样的问题,在这里总结一下: 1. java.lang.NullPointerException报错,android.os.NetworkOnMainThreadException异常 原因:urlCon.getInputStream()执行的时候出错导致,得不到InputStream.这个

Java FTP下载文件以及编码问题小结

问题 之前在开发过程中,遇到了一点问题,我要访问一个FTP服务器去下载文件详细情况如下: 1. 需要传入一个可能为中文的文件名: 2. 通过文件名去FTP上寻找该文件: 3. FTP服务器的命名编码为“GBK”: 思路 1.通过GET方法直接将文件名负载URL后面,但需要通过转码: 2.在Java Controller中收到参数后,进行解码,解码为正常数据: 3.用正常数据再转码为GBK,到Service中去调用FTP即可 4.(因公司安全考虑,我们需要在另一个模块中调用FTP)通过rest接口

FTP下载文件和操作系统的关系

标题不知道该怎么写了. 最近调试AGPS,嵌入式设备需要从FTP服务器上下载星历数据,星历数据是二进制数据.嵌入式设备下载完数据后和原始数据对比,发现数据量变大了(但是通过pc端的FTP软件下载下来的数据和服务器上的是一致的),对比数据发现,凡是有0x0A出现的地方,前边都多出了0x0D.是不是感觉很眼熟,这两个16进制数正式回车换行啊.瞬间想到了linux系统和windos系统回车换行的区别(猜测ftp服务器是linux环境,后得到确认).但是这是如何造成的呢,是在哪里改变的呢?去网上搜索答案