从 TFTP 服务器下载目录结构

从 TFTP 服务器下载目录结构

我需要从 TFTP 服务器下载完整的目录结构。有一些简单的方法可以做到这一点吗?如果这是不可能的,那么我如何单独下载所有文件(假设我有服务器上所有文件的列表)?

答案1

您无法使用 TFTP 列出文件或目录。阅读第一段RFC 1350 - 1. 目的(或者更好的是,阅读整个文档。)

如果您有文件列表,则files.txt可以使用expectcurl其他方式自动下载。使用curl的简单示例(作为入门):

tftpbatch:

#!/bin/bash

server="tftp://$2"

while IFS= read -r path; do
    [[ "$path" =~ ^\ *$ ]] && continue
    dir="$(dirname "$path")"
    printf "GET %s => %s\n" "$path" "$dir"
    ! [ -d "$dir" ] && mkdir -p "$dir"
    curl -o "$path" "$server/$path"
done < "$1"

运行:

./tftpbatch files.txt "10.0.0.5:69"

相关内容