找到一个tftp-to-http代理工具,可以在PXE启动时tftp协议下载加速
2020-7-8 1843

tftp-http-proxy是一个简单的TFTP服务器,它将所有读取请求代理到后备HTTP服务器,并提供响应。

源码地址:https://github.com/bwalex/tftp-http-proxy

 

用法

Usage of dist/tftp-http-proxy:
  -http-base-url string
    	HTTP base URL (default "http://127.0.0.1/tftp")
  -tftp-timeout duration
    	TFTP timeout (default 5s)

细节

启动tftp-http-proxy时,它将作为常规TFTP服务器在(UDP)端口69上侦听。每当接收到新的TFTP读取请求时,该请求就会作为HTTP请求转发到已配置的HTTP URL(-http-base-url标志)。HTTP请求将包含一些其他HTTP标头,其中包含有关TFTP请求的信息:

  • X-TFTP-IP:请求TFTP客户端的IP
  • X-TFTP-Port:请求TFTP客户端使用的端口
  • X-TFTP-File:TFTP客户端请求的文件名

如果HTTP请求返回状态200响应,则响应的内容将作为TFTP读取请求的文件内容发送。HTTP响应应包含准确的ContentLength标头,因为它将用于在读取响应上设置TFTP TSize选项。

如果HTTP响应状态不是200,则会将错误响应发送到TFTP客户端。

 

我修改了一下,把默认的HTTP base URL 改成了http://127.0.0.1

使用示例:
tftp-http-proxy_amd64.exe -http-base-url http://127.0.0.1/  -http-append-path false -tftp-timeout 5  -tftp-bind-address :69

最后于 2020-7-8 被caocaofff编辑 ,原因:
上传的附件:
收藏
点赞
道具卡
分享
官方QQ群:872611894(群密码:pecmd.net)
最新回复 (1)
  • avatar image
    caocaofff 2020-7-8
    楼主   2

    在虚拟机测试,http服务使用nginx,能正常通过PXE引导到grub4dos菜单,但加载大文件时,比如启动WIM,会明显不如直接从http get的速度,所以看上去这种转发效果跟直接tftp获取速度差不多

    最后于 2020-7-8 被caocaofff编辑 ,原因:
    官方QQ群:872611894(群密码:pecmd.net)
返回