ZXFtpServer

很简洁的小程序,是我喜欢的风格,功能也很强大。

作者:lzx
来源:Ph4nt0m Security Team

配置有点象前阵子longkeyy发的wineggdrop内部版,呵呵,就是学你的,一直在学习你~~~~

这个程序不到30K,
说明.txt

程序是有GUI的,而命令行可用参数:
[/help] [/startup] [/start] [/install] <file_fullpath> [/remove]
/help 显示此信息.
/startup 运行并启动ftp服务.
/hide 运行时隐藏窗口.
/start 启动系统服务.
/install 安装为系统服务, 默认配置文件为同目录下的ftpconfig.ini
/install d:\ftpcfg.ini 安装为系统服务并指定配置文件.
/remove 删除系统服务.

/////////////////////////////////////////////////////////////////////////////
FTP 一些可用扩展命令:
MDTM
LIST -R
XCRC filename;start;end
XMD5 filename

/////////////////////////////////////////////////////////////////////////////

配置文件详解:
/////////////////////////////////////////////////////////////////////////////
*********************权限设置说明***************************
Access
R ReadAccess
W WriteAccess
L ListAccess
C CreateAccess
D DeleteAccess
E ExecuteAccess
ExecuteAccess 权限允许执行管理员指令:
可用类似FlashFXP的客户端编辑发送原始命令
admin stopsvc 停止服务并退出程序
admin restartsvc 重新启动服务,以便新的配置生效
admin execute net start telnet 执行程序
chd c:\windows\ [CHD]: Change Home Directory. 更改根目录.
***************************************************************
[GlobalSettings]
Banner=Welcome to ZXFtpServer V1.0 By LZX. 欢迎信息
DataPort =2020 数据管道用的端口, PORT命令才有效,PASV则使用随机分配端口
ListenPort=2121 服务监听端口
MaxConnections = 0 限制全部登陆连接的数目,0为不限制
TimeOut=800 超时时间,单位: 秒,ftp客户端闲置超时就断开连接, 同时作为黑名单IP解除时限
TransferMode =PASV,PORT,FXP 允许的传输模式,逗号分开,被动模式:PASV,主动模式:PORT,服务器到服务器:FXP
PassMaxTryTimes = 3 最大密码尝试次数,超过则将IP列入黑名单, 到了TimeOut时间就解除
ServerDir =D:\ZXFTPD 可以设置一个路径来方便管理多用户的根目录,主要为方便在GUI下创建用户时有选择的在此路径为新用户分配一个目录

[test] 账号
Password=81dc9bdb52d04dc20036dbd8313ed055 密码, Md5加密
AccountStatus=Enable 账号状态, disable为禁用, enable为启用
HomeDir=D:\ZXFTPD\test\ 用户根目录
Access=RWL 用户权限,R即ReadAccess,W即WriteAccess,参见最上面[权限设置说明]
AllowedIP=150.* , 202.96.* 限制登陆IP,多个用逗号分开,此例设置只允许150以及202.96开头的IP登陆,*.*即允许所有IP
DeniedIP=151.*, 150.61.*, 150.4.* 禁止这些IP登陆,如此例设置将在AllowedIP中允许的150开头的IP中筛掉61和4的IP,留空或None为不限制
TotalSessions=0 限制总线程数,即此账号最大可以允许的并发登陆连接数,0 为不限制.
MaxSessionsPerIP=5 限制每个IP的线程数,即同一个IP用此账号同时并发登陆的连接数,0 为不限制.
DownloadBandWidth=600 此账号的下载总带宽,单位为KB,0 为不限制. 例如用户开N线程下载,则每个线程速度折为N分之一.
UploadBandWidth=0 此账号的上传总带宽,设置同上。
DownloadSpeed=50 限制此用户每个线程的最大下载速度,单位为KB, 0 为不限制.
UploadSpeed=100 限制此用户的最大上传速度,单位为KB, 0 为不限制.

[abc] 其他用户定义
Password=81dc9bdb52d04dc20036dbd8313ed055 密码, Md5加密
AccountStatus=Enable 账号状态, disable为禁用, enable为启用
HomeDir=D:\ 用户根目录
Access=RWL 用户权限,R即ReadAccess,W即WriteAccess,参见最上面[权限设置说明]
AllowedIP=*.* 限制登陆IP,多个用逗号分开,此例设置只允许150以及202.96开头的IP登陆,*.*即允许所有IP
DeniedIP=None 禁止这些IP登陆,如此例设置将在AllowedIP中允许的150开头的IP中筛掉61和4的IP,留空或None为不限制
TotalSessions=0 限制总线程数,即此账号最大可以允许的并发登陆连接数,0 为不限制.
MaxSessionsPerIP=5 限制每个IP的线程数,即同一个IP用此账号同时并发登陆的连接数,0 为不限制.
DownloadBandWidth=0 此账号的下载总带宽,单位为KB,0 为不限制. 例如用户开N线程下载,则每个线程速度折为N分之一.
UploadBandWidth=0 此账号的上传总带宽,设置同上。
DownloadSpeed=50 限制此用户每个线程的最大下载速度,单位为KB, 0 为不限制.
UploadSpeed=100 限制此用户的最大上传速度,单位为KB, 0 为不限制.

[next]
.
.
.
.

2006.09.11 By LZX.
有问题请联系我: QQ: 5088090
Email: [email protected]
=======================Over==============================================

程序算小巧,工作模式是多线程的~~~~
程序编写的初衷是想用WSAAsyncSelect异步模式,但是后来投降了。

…………………..
听wineggdrop这么一说似乎LIST -R这个有一定好处,程序改了下增加了这个功能
昨晚匆匆的在原来的代码上稍微改下增加LIST -R功能,没做多的测试,今天发现回溯列举较深目录时栈溢出了,这个问题已经修正~

9,15: 加了个XCRC, 作用类似XMD5,便于检查下载的文件正确性.
USAGE:
XCRC filename
XCRC filename start end

下载地址:http://www.ph4nt0m.org/bbs/showthread.php?s=&threadid=35421
需要的朋友直接到幻影原帖去下载吧,需 0 社区元就可以下载。

相关日志

发表评论