#payload #networking #tool #protocols #penetration #port #ip

bin+lib pentest

无依赖的网络渗透测试工具

1 个不稳定版本

0.1.0 2023年4月12日

#3#渗透

MIT 许可协议

10KB
164

网络渗透测试工具

GitHub Workflow Status GitHub release (latest SemVer including pre-releases) Crates.io GitHub top language GitHub repo size

这是一个基于 Rust 的命令行工具,允许您对目标 IP 地址和端口进行软渗透测试。它使用 TCP 或 UDP 协议发送预定义数量的数据包以测试网络的性能。

特性

  • 支持 TCP 和 UDP 协议
  • 可定制数据包有效载荷
  • 可调整数据包数量
  • 可配置并发级别(线程数)
  • 用于监控进度的调试输出

用法

  1. 克隆仓库
git clone https://github.com/ca333/pentest
cd pentest
  1. 构建项目
cargo build --release
  1. 使用所需参数运行渗透测试工具
./target/release/pentest [IP_ADDRESS] [PORT] [COUNTER] [PROTOCOL] [PAYLOAD] [CONCURRENCY]

根据需要替换参数

  • IP_ADDRESS: 目标 IP 地址(例如,127.0.0.1)
  • PORT: 目标端口号(例如,7777)
  • COUNTER: 要发送的数据包数量(例如,1000)
  • PROTOCOL: 要使用的协议:TCPUDP
  • PAYLOAD: 数据包有效载荷字符串(例如,"Test payload")
  • CONCURRENCY: 并发发送数据包的线程数(例如,5)

示例

要测试监听在 IP 地址 127.0.0.1、端口 7777 的本地服务器,使用 TCP 协议发送 1000 个数据包,有效载荷为 "Test payload" 并使用 5 个线程,请运行以下命令

./target/release/pentest 127.0.0.1 7777 1000 TCP "Test payload" 5

待办事项

  • 改进错误处理
  • 模块化代码
  • 添加单元测试和集成测试
  • 实现 CI/CD
  • 使用 clapstructopt 实现命令行参数解析
  • 添加/增强文档
  • 允许通过文件进行配置
  • 集成日志库
  • 通过容器实现集群化
  • 支持其他协议(例如,ICMP、HTTP)
  • 添加“自动识别”端口扫描功能
  • 实现可定制的数据包选项
  • 引入指纹识别功能
  • 集成自动识别漏洞扫描
  • 提供流量分析和报告功能

许可证

本项目采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。

免责声明

本工具仅适用于教育目的和合法渗透测试。作者对由此工具引起的任何滥用或损害不承担责任。使用风险自负。

请注意,本项目处于早期开发阶段,正在用作个人游乐场来探索使用 Rust 的网络堆栈。因此,它可能不适合生产使用或关键安全测试。该工具提供“原样”,不提供有关其稳定性、正确性或有效性的保证。

在执行对任何系统或网络的渗透测试之前,请务必获得适当的授权。

贡献者

无运行时依赖