ptftpd,一个纯python tftp工具套件
ptftpd的Python项目详细描述
ptftpd是一组与tftp相关的工具。它包括一个tftp 服务器、tftp客户端和基于此tftp的完整pxe解决方案 服务器和micro dhcp或bootp服务器。所有这些工具都是用 python,设计快速,符合rfc,易于使用。
可用工具包括:
- bootpd:一个bootp服务器(符合rfc951和rfc1497)
- dhcpd:一个简单的、精简的dhcp服务器。
- ptftpd:tftp服务器(符合rfc135234723482349和7440)
- pxed:使用dhcpd和ptftpd的单调用pxe服务器。
- ptftp:一个简单的tftp客户端(rfc135034723482349和7440 合规且有能力)
它们都支持--help选项来将使用摘要呈现给 用户。
所有工具还了解--rfc1350选项,该选项强制它们 基本tftp rfc1350兼容模式,禁用所有tftp扩展 增强的兼容性你的目标会遇到任何问题吗 系统
安装
ptftpd作为ptftpd发行版在pypi上可用。
$ pip install ptftpd
这将安装ptftplibpython包以及脚本 上面列出了。
如果在标准发行版之外使用ptftpd工具套件 安装时,可能需要指定python模块搜索路径 PYTHONPATH在执行二进制文件之前:
$ export PYTHONPATH=`pwd` $ bin/ptftp Connected to localhost:69. tftp>
TFTP服务器和客户端
tftp服务器ptftpd完全支持tftp规范 在RFC1350中定义。它还支持tftp选项扩展协议 (根据RFC2347),RFC2348中定义的块大小选项和 从RFC2349传输大小选项。
有关如何使用ptftpd的帮助,请键入:
$ ptftpd --help
可以使用-p选项更改使用的端口。根路径是 作为一个简单的论点。例如,服务于/var/lib/tftpon 端口6969通过eth0网络接口:
$ ptftpd -p 6969 eth0 /var/lib/tftp
tftp客户端是一个交互式客户端,只需启动它并键入 help查看可用的命令:
$ ptftp tftp> help ...
PXE溶液
PXE系统也很容易使用。它需要三个参数: 要侦听的网络接口,要从中服务的tftp根路径 文件和pxe引导文件名。它会自动启动一个tftp 在给定接口上为主机提供服务的服务器和DHCP服务器。见 --help了解更多详细信息:
$ pxed --help
在bootp服务器上使用pxed.py的机制尚不在 但是这样的解决方案很容易通过 手动启动bootp服务器和tftp服务器:
$ bootpd <interface> <PXE boot file> & $ ptftpd <interface>