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 安装 zmap, 安装方式请查看zmap官方文档 安装 zmap, 安装方式请查看zmap官方文档 克隆项目git clone https://github.com/fengyouchao/webzmap 克隆项目 安装依赖cd webzmapsudo -H pip install -r requirements.txt 安装依赖 初始化python manage.py migrate #创建数据库python manage.py createsuperuser #创建系统用户sudo python manage.py zmapd start #启动用于执行zmap任务的zmapd服务,必须以root权限执行 初始化 确认zmap执行路径WebZmap 默认的zmap执行路径为 /usr/local/sbin/zmap 如果 where zmap 的路径不是该值, 编辑 webzmap/settings.py, 在文件最后添加以下内容:ZMAP_PATH = 'your zmap bin path' 确认zmap执行路径 WebZmap 默认的zmap执行路径为 /usr/local/sbin/zmap 如果 where zmap 的路径不是该值, 编辑 webzmap/settings.py, 在文件最后添加以下内容:
/usr/local/sbin/zmap
where zmap
webzmap/settings.py
- 运行python manage.py runserver #请勿在生产环境使用此方式运行访问 http://localhost:8000 运行 访问 http://localhost:8000
http://localhost:8000
如果要在生产环境中部署webzmap, 可以通过以下步骤完成: 编辑webzmap/settings.py在文件最后添加以下内容DEBUG = FalseALLOWED_HOSTS = ['*'] # 设置允许访问该站点的host, * 表示任意host, 如果您希望只能通过域名访问,在这里设置域名 编辑webzmap/settings.py在文件最后添加以下内容
webzmap/settings.py
- 查看Deploying Django 查看Deploying Django 提交任务后任务一直处于Pending状态请检查是否启动了zmapd服务sudo python manage.py zmapd status启动zmapdsudo python manage.py zmapd start 提交任务后任务一直处于Pending状态 请检查是否启动了zmapd服务 启动zmapd 执行日志显示[FATAL] csv: could not open output file (xxx/webzmap/workspace/xxx/status.txt)目前测试发现,这应该是zmap的一个bug,测试版本号为2.1.1, 在指定-u参数时,有一定概率发生此问题,目前解决办法为重新创建任务。 执行日志显示[FATAL] csv: could not open output file (xxx/webzmap/workspace/xxx/status.txt)
[FATAL] csv: could not open output file (xxx/webzmap/workspace/xxx/status.txt)
目前测试发现,这应该是zmap的一个bug,测试版本号为2.1.1, 在指定-u参数时,有一定概率发生此问题,目前解决办法为重新创建任务。
2.1.1
-u