C# FTP暴力破解开源
摘要:# FTP暴力破解工具这是一个基于C#开发的高效FTP暴力破解工具,支持多线程并发操作和智能优化。工具可以通过命令行参数指定IP地址、用户名和密码字典,实现对多个FTP服务器的密码尝试。…
# FTP暴力破解工具
这是一个基于C#开发的高效FTP暴力破解工具,支持多线程并发操作和智能优化。工具可以通过命令行参数指定IP地址、用户名和密码字典,实现对多个FTP服务器的密码尝试。
## 功能特性
- 智能IP ping测试过滤功能,自动跳过不可达的目标,提高效率
- IP ping结果缓存机制,避免重复测试同一IP,大幅提升性能
- 高性能多线程并发操作,最大支持CPU核心数10倍或200个线程
- 完整的命令行参数支持
- 详细的日志记录,包括成功、失败和ping测试记录
- 自动去重和注释行跳过功能
- 实时进度显示,包括当前速度、剩余时间和成功率
- 优雅的取消操作支持(按ESC键)
- 内存使用监控,防止资源耗尽
## 系统要求
- Windows操作系统
- .NET Framework 4.7.2或更高版本/.NET Core 3.1或更高版本
## 使用方法
```
FTPCracker.exe -i ip.txt -u user.txt -p password.txt -x 200
```
### 命令行参数
- `-i` 指定包含IP地址的文件路径(必需)
- `-u` 指定包含用户名的文件路径(必需)
- `-p` 指定包含密码的文件路径(必需)
- `-x` 指定并发线程数量(可选,默认200,最大为CPU核心数的10倍或200,取较小值)
- `-h` 显示帮助信息
## 文件格式
### IP地址文件 (ips.txt)
每行一个IP地址,示例:
```
192.168.1.1
192.168.1.100
10.0.0.5
# 这是注释行,会被跳过
```
### 用户名文件 (user.txt)
每行一个用户名,示例:
```
root
admin
123456
# 这是注释行,会被跳过
```
### 密码文件 (password.txt)
每行一个密码,示例:
```
123456
admin
root
password
# 这是注释行,会被跳过
```
## 输出说明
- 程序执行过程中会实时显示进度信息和IP过滤情况
- 成功连接的信息会立即显示在控制台并记录到日志文件
- 所有日志文件保存在logs目录下:
- `FTP_success.txt`: 成功连接的记录
- `FTP_fail.txt`: 失败连接的记录
- `FTP_summary_时间戳.log`: 执行摘要报告
- 根目录下的`FTP_ping_test.txt`: IP ping测试结果记录
## 注意事项
1. 请确保有足够的系统资源(内存和CPU)来支持指定的线程数
2. 此工具仅用于授权测试和教育目的,请遵守相关法律法规
3. 大量线程可能会导致目标服务器负载过高,请谨慎设置线程数
4. ping测试会消耗一定时间,但能显著提高整体效率,特别是在有大量不可达IP的情况下
5. 缓存机制会自动保存已测试IP的结果,避免重复ping操作
## 编译说明
使用Visual Studio或dotnet命令行工具编译:
```
dotnet build FTPCracker.csproj -c Release
```
## 许可证
本工具仅供学习和授权测试使用,请勿用于非法用途。
## 免责声明
使用本工具产生的任何后果,由使用者自行承担全部责任。开发者不承担任何直接或间接责任。



