WebZmap 是一个通过web方式管理运行zmap扫描任务, 并提供 RESTful API 方便第三方程序调用控制zmap任务
目前该项目还在开发中,很多功能待完善, 由于个人时间精力有限, 开发进度有点慢, 有兴趣的朋友可以fork, 并给我PR
- 通过Web管理zmap任务(70%)
- 通过RESTful API为第三方程序提供接口(60%)
- 分布式扫描(0%)
- zmap
- Python 2.7
- django 1.10
- requests 2.9.1
- djangorestframework 3.4.4
1️⃣安装 zmap, 安装方式请查看zmap官方文档
2️⃣克隆项目
git clone https://github.com/fengyouchao/webzmap
3️⃣安装依赖
cd webzmap
sudo -H pip install -r requirments.txt
4️⃣初始化
python manage.py migrate #创建数据库
python manage.py createsuperuser #创建系统用户
sudo python manage.py zmapd start #启动用于执行zmap任务的zmapd服务,必须以root权限执行
5️⃣确认zmap执行路径
where zmap
WebZmap 默认的zmap执行路径为 /usr/local/sbin/zmap
如果 where zmap
的路径不是该值, 编辑 webzmap/settings.py
, 在文件最后添加以下内容:
ZMAP_PATH = 'your zmap bin path'
6️⃣运行
python manage.py runserver
访问 http://localhost:8000
1️⃣提交任务后任务一直处于Pending状态
请检查是否启动了zmapd服务
sudo python manage.py zmapd status
启动zmapd
sudo python manage.py zmapd start
2️⃣执行日志显示[FATAL] csv: could not open output file (xxx/webzmap/workspace/xxx/status.txt)
目前测试发现,这应该是zmap的一个bug,测试版本号为2.1.1
, 在指定-u
参数时,有一定概率发生此问题,目前解决办法为重新创建任务。