之前介绍了使用Python编写FTP服务器(9行代码)和客户端,今天介绍使用Python搭建TFTP服务器。
需要使用的第三方库是:minimumTFTP,我在安装它的时候遇到些问题(使用的是pip3 install minimumTFTP),显示安装成功,但使用的时候会出错,windows和linux一样,并且下载源码安装同样不能正常使用。最终去gi下载了minimumTFTP.py,放在了Python的中(前面文章介绍过)才算搞定。直接上代码:
import minimumTFTP
tftpServer = minimumTFTP.Server('d:\\ljds')
()
只需注意第二行,本次实验共享目录是D盘下的ljds。(测试发现传输的文件如果有中文总会有问题,所以实验演示传输的文件名都不带中文。minimumTFTP相关介绍资料太少,暂时无解)
运行脚本后,查看端口69已经开启:
TFTP使用UDP69端口
TFTP服务器已经搭建好了,实验完成!
如果就此结束,文章就显得太水了,接下来演示TFTP的上传和下载。
TFTP下载:
服务器端目录
目前在共享目录(D盘的ljds文件夹)中,放了一个Cisco IOS,TFTP客户端脚本:
import minimumTFTP
tftpClient = minimumTFTP.Client('192.168.1.101', '.', 'c7200-j;)
()
需要说明的是第二行,里面使用了3个参数,解释如下:
## arg1: server_IP_address
## arg2: client_directory
## arg3: get or put filename
即:服务器IP地址是192.168.1.101,将文件下载至当前目录,下载文件名是c7200-j。现在运行客户端的下载脚本:
下载TFTP服务器上的文件
查看脚本所在目录:
完成下载
TFTP上传:
接下来演示上传,将需要上传的文件和上传脚本放在同一目录,这里测试使用ljds.pdf:
实验前状态
TFTP上传脚本:
import minimumTFTP
tftpClient = minimumTFTP.Client('192.168.1.101', '.', 'ljds.pdf')
()
执行脚本:
将文件上传至TFTP服务器
查看TFTP服务器共享目录:
实验后状态
实验完成!
如果对我的文章感兴趣,请订阅我的头条号。欢迎评论交流学习。
或者关注新浪微博“梁家大叔”,有惊喜!!!