助手系列之python的FTP服务器

电脑的OS是Win7,Python版本是2.7.9,安装了pip

因为python没有内置可用的FTP SERVER,所以先选一个第三方的组件安装上,这里我选的是pyftpdlib

pip install pyftpdlib

安装完后可以直接用下面命令启用ftp服务器

python –m pyftpdlib –p 21

但这个ftp服务器没什么安全性,所以我们自己定制一个新的

from pyftpdlib.authorizers import DummyAuthorizerfrom pyftpdlib.handlers import FTPHandlerfrom pyftpdlib.servers import FTPServerimport os

def main():    # Instantiate a dummy authorizer for managing ‘virtual‘ users    authorizer = DummyAuthorizer()

# Define a new user having full r/w permissions and a read-only    # anonymous user    authorizer.add_user(‘user‘, ‘12345‘, ‘.‘, perm=‘elradfmwM‘)    authorizer.add_anonymous(os.getcwd())

# Instantiate FTP handler class    handler = FTPHandler    handler.authorizer = authorizer

# Define a customized banner (string returned when client connects)    handler.banner = "pyftpdlib based ftpd ready."

# Specify a masquerade address and the range of ports to use for    # passive connections.  Decomment in case you‘re behind a NAT.    #handler.masquerade_address = ‘151.25.42.11‘    #handler.passive_ports = range(60000, 65535)

# Instantiate FTP server class and listen on 0.0.0.0:2121    address = (‘192.168.1.205‘, 2121)    server = FTPServer(address, handler)

# set a limit for connections    server.max_cons = 256    server.max_cons_per_ip = 5

# start ftp server    server.serve_forever()

if __name__ == ‘__main__‘:    main()
 
这样我们就可以了用ftp客户端连接192.168.1.205的2121端口了
时间: 2024-12-06 06:35:32

助手系列之python的FTP服务器的相关文章

python开发ftp服务器第一天(pyftpdlib)

学习了大约快一个月的python,现在开始有意识做一些项目. 据我了解,python现在更多的是用于自动化运维方面,例如做一些服务器上审计堡垒机,分布式监控,还有做web的后台开发. 今天想在实验室搭建一个ftp服务器,用来分享一些资料,于是就想到了利用python来进行开发. ftp服务器的本质还是利用socket编程来实现,只不过遵循特定的协议而已,我查了一下协议是RFC959. 当然为了不重复造轮子,先看看有没有开源的lib,百度一下找到了pyftpdlib这个库,查看了一下这个库,发现代

python实现FTP服务器

FTP服务的主动模式和被动模式 在开始之前,先聊一下FTP的主动模式和被动模式,两者的区别 , 用两张图来表示可能会更加清晰一些: 主动模式: 主动模式工作过程: 1. 客户端以随机非特权端口N,就是大于1024的端口,对server端21端口发起连接 2. 客户端开始监听 N+1端口: 3. 服务端会主动以20端口连接到客户端的N+1端口. 主动模式的优点: 服务端配置简单,利于服务器安全管理,服务器只需要开放21端口 主动模式的缺点: 如果客户端开启了防火墙,或客户端处于内网(NAT网关之后

Python之ftp服务器

今天把做的ftp服务器过程总结一下,先看看要求 一.需求 1. 用户加密认证 2. 允许同时多用户登录 3. 每个用户有自己的家目录 ,且只能访问自己的家目录 4. 对用户进行磁盘配额,每个用户的可用空间不同 5. 允许用户在ftp server上随意切换目录cd 6. 允许用户查看当前目录下文件ls 7. 允许上传put和下载get文件,保证文件一致性 8. 文件传输过程中显示进度条 附加实现的功能: 1.实现服务器端文件删除,创建.删除目录 2.查看当前账户状态 3.实现断点续传 二.实现过

python搭建ftp服务器

1 # coding: utf-8 2 import os 3 from pyftpdlib.authorizers import DummyAuthorizer 4 from pyftpdlib.handlers import FTPHandler 5 from pyftpdlib.servers import FTPServer 6 7 def main(): 8 #实例化用户授权管理 9 authorizer = DummyAuthorizer() 10 authorizer.add_us

python简易FTP服务器

功能描述:实现简单的文件上传和下载功能 程序分三部分: ① ftp_opr.py    上传下载功能,需与其他程序在一起 ② ftp_server.py    服务端程序 ③ ftp_client.py    客户端程序 #!/usr/bin/env python # -*- coding:utf-8 -*- #filename:ftp_opr.py import socket,os,json def send_file(socket_object,filename):      ####传入套

Python一秒搭建ftp服务器,帮助你在局域网共享文件【华为云技术分享】

“老板 来碗面” “要啥面?” “内牛满面..” 最近项目上的事情弄得人心累,本来是帮着兄弟项目写套入口代码,搞着搞着就被拉着入坑了.搞开发的都知道,最怕弄这种项目portal的东西,你调用一堆东西,结果各种调用报错都反馈到你这里,导致的结果就是除了啥问题都找你. 最形象的比喻就是,眼前一栋楼,你是看门的.电梯坏了找你.住户被盗了找你.连谁家下水不通了也找你,各种无厘头的破事儿,我就想送出一张图… 共享文件 熟悉Python的朋友们都知道,python自带了一个Simple HTTP Serve

使用Python或Node创建简单web服务器和FTP服务器实现文件共享

有时我们需要给旁边的人传一些文件,如果大家都用windows或者mac,那么皆大欢喜,直接用QQ传就可以了,但如果有个不省心的家伙用linux怎么办?可以用网盘或者U盘,或者另外一种更酷一些的方法来实现文件共享. 使用Python(2.6-2.7)创建简单的web服务器 进入某目录,执行 python -m SimpleHTTPServer port 即可创建一个局域网内可用的web服务器.使用ip:port进行访问. 使用Node创建简单的web服务器 首先执行一下命令安装http-serve

python 搭建http服务器和ftp服务器

默认安装版本为pytho2.7 http服务器搭建: 进入要开放访问的目录下,执行命令:python -m SimpleHTTPServer 9000 显示上述表示安装成功,且http服务的端口为:9000,不跟端口默认80端口 通过浏览器访问该http服务: http://localhost:9000 页面显示入下: 服务器端显示如下: 表示接收请求成功. ftp服务器搭建: python不自带ftp服务库,因此需要安装插件: 进入Python27\Scripts目录,执行:pip insta

python快速搭建简易的FTP服务器

上回说到,使用python搭建一个简易的web下载服务器,但是这个简易的服务器客户端不能够上传文件.这次来搭建一个简易的ftp服务器,来提供文件的下载和上传功能. 一.首先我们来安装提供服务的pyftpdlib模块pip install pyftpdlib二.然后通过python的-m选项将pyftpdlib模块简单的独立服务器运行起来.这时我们想要共享那个目录,只需在该目录下运行命令即可python -m pyftpdlib-m 以模块的方式启动验证:到这里,一个简单的FTP服务器已经搭建成功