我知道这不是TFTP的目的,但我的工作环境是,许多不同类型的设备从TFTP服务器中提取供应信息。我正在开发的是一个跟踪和维护设备配置的供应系统,我希望能够动态生成所请求的文件,就像您可以使用任何web应用程序一样。
是的,有些设备可以支持HTTP来提供服务,但并不是所有的设备都支持HTTP,我们希望事情是一致的。
是否有任何TFTP守护进程可以提供类似于CGI的东西?
发布于 2011-06-25 03:17:21
快速搜索就发现了这个在Sourceforge上的tftpd-cgi项目--也许值得一看。
我还刚刚编写了一个简单的tftpd服务器,能够为CGI提供可用的论吉乌布,所以这是绝对有可能的。我还没有对任何PXE客户端进行测试,但它确实适用于我的操作系统的tftp客户端。
我的测试用法:
./tftpd-cgi.py &
echo 'get cgi/test' | tftp 127.0.0.1; cat test && rm test它从我的简单CGI脚本输出:
Hello from CGI land!
127.0.0.1:61796发布于 2011-06-24 20:48:28
这是针对这里的。可悲的是,鉴于对TFTP协议的限制,这似乎是困难的或不可能的。
嗨。 > >是否考虑允许tftp服务器to >提供动态内容?>是的。协议让事情变得很困难。您几乎必须保证在一秒钟内生成内容,否则客户端很可能会淹没您的服务器。问题是,为了能够回答tsize查询,您必须知道输出的完整大小。但是,由于TFTP不能保证区分RRQ重发和新请求(pxelinux将作出区分,但TFTP服务器很难使用它),所以您必须在第一个请求之前得到答复。我有一个关于TFTP“暂停”选项和操作码的建议,但是我必须(a)实现它,(b)将它写成一个RFC,(c)想出如何通过IETF,而IETF喜欢假装TFTP不存在。
发布于 2011-06-24 22:17:45
更好的设计是生成所有配置文件,并将它们缓存在tftpboot目录中,而不是动态地生成它们。理想情况下,您的设备请求的文件名将是唯一的或可识别的,并且您可以在此基础上预先生成文件。
https://serverfault.com/questions/283949
复制相似问题