团队作业5——测试与发布(Alpha版本)
一、团队展示
-
队名:fumbleFish
-
成员
-
林泓(组长):3118005370
-
吴茗睿:3118005385
-
吴旻哲:3118005384
-
朱育清:3118005437
-
张培烽:3118005391
-
郭泽纯:3218005395
-
二、项目截图
初始界面展示:扫描博客园
扫描结果:
-
整体扫描:
-
端口扫描
-
子域名
-
C段扫描结果
-
whois查询结果
-
web指纹
三、Alpha版本测试报告
在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个?
-
修复的bug:6个
-
不能重现的bug:无
-
这个产品就是这么设计的,不是 bug:2个
-
没有能力修复,将来也不打算修复:无
-
这个bug的确应该修复,但没有时间在这个版本修复,延迟到下一个版本修复:4个
具体情况如下表:
bug名称 | bug类型 | 修复方法 |
---|---|---|
子域名数据获取异常 | 修复的bug | 重新更改正则表达式 |
读取 config 文件异常 | 修复的bug | 删除掉config文件中的中文字符、添加错误处理语句 |
获取不到 header 信息时程序异常 | 修复的bug | 增加本地的header信息,当获取不到UA时用 |
报错窗口问题 | 修复的bug | 重新修改类 |
在前台接收到的数据是字符串形式,而后端数据类型可能不是字符串,导致程序报错 | 修复的bug | 分析好每个接收数据在后台的数据类型,做出对应的类型转化 |
由于前台组件较多,在代码中对应的变量很复杂难以区分,导致程序报错 | 修复的bug | 对变量做出有区分度的命名,方便后期调用 |
当生成 OSINT 实例的时候,指定 domain 参数时,当指定的参数没有加上主机头的时候(如:osint_ob = OSINTrecon(domain='testfire.net'))使用 shodan_uav() 和 ip2domain() 方法时会查不出结果 | 这个产品就是这么设计的,不是 bug | 原因就是dns-python库没办法对此类域名进行 A 记录查询,从而返回了空的 ip 集合 |
模块不支持压力测试或频繁大量使用 | 这个产品就是这么设计的,不是 bug | 原因:zoomeye、shodan的API使用次数有限,同时google也会检查到流量异常,从而弹出不可绕过的验证码或将使用者的ip进行封锁 |
在前台点击“运行”之后,由于等待后台运行结果存在一定的时间,在等待阶段前台窗口会有些卡顿,难以让用户满意 | 这个bug的确应该修复,但没有时间在这个版本修复,延迟到下一个版本修复 | 解决卡顿问题,或者考虑在运行时加入“请稍后”的提示字眼 |
对用户输入的数据仍然无法做到错误鉴别,无法完全确保程序运行时的数据格式都是正确的,这样会增加程序报错的次数 | 这个bug的确应该修复,但没有时间在这个版本修复,延迟到下一个版本修复 | 增加正则表达式的过滤,还有逻辑上的一些判断,规避一些很容易就能看出来的错误 |
指定了正确的域名之后,google子域名查询有时候还是查不出结果 | 这个bug的确应该修复,但没有时间在这个版本修复,延迟到下一个版本修复 | 精细化UA的获取 |
指定了正确的域名之后,子域名查询结果可能过少的问题 | 这个bug的确应该修复,但没有时间在这个版本修复,延迟到下一个版本修复 | 增加子域名搜集的更多手段 |
场景测试
-
你预期不同的用户会怎样使用你的软件?
-
白帽黑客:利用该工具对站点进行扫描,根据扫描工具的扫描结果信息,及时发现系统漏洞,并采取相应的补救措施
-
普通用户:安装在自己的电脑、若需和其他电脑进行传输,可以用该工具扫描对方端口的开放情况
-
-
他们有什么需求和目标?
-
白帽黑客:针对目标信息的收集,希望能提升任务的执行效率和资源的利用率
-
普通用户:不会进行命令行的操作,希望能有界面化设计
-
-
你的软件提供的功能怎么组合起来满足他们的需要?
-
提供一个可以给白帽黑客和普通用户使用的一款端口扫描器,具有人性化的图形界面,还有较高的执行效率,同时满足不同使用人员的需求。
-
-
你们在什么样的平台、硬件配置、浏览器类型等条件上对你们的软件进行测试?——测试矩阵(test matrix)
操作系统 硬件 环境 是否成功运行 win10 8代i7 8G内存 python3.8 是 win10 8代i7 8G内存 python3.7 是 -
你认为你们团队的软件在什么条件下,就可以认定其已经足够好,可以发布Alpha版本?——出口条件(exit criteria)
-
功能基本实现,用户体验感良好,无严重bug出现
-
四、Alpha版本发布说明
1、列出这一版本的功能(在原有项目基础上开发的列出新功能)
-
端口扫描
-
子域名收集
-
C 段扫描
-
旁站 IP
-
有无 CDN
-
Whois信息收集
-
Web应用指纹识别
2、以原有项目为基础开发的,列出这一版本修复的缺陷
-
子域名数据获取异常
-
报错窗口问题
3、对运行环境的要求
celery==4.4.0rc4
redis==5.0.10
ipwhois==1.2.0
Faker==4.16.0
lxml==4.6.1
4、安装方法
redis需要手动安装以及配置环境变量
其余环境要求用pip install -r requirement.txt 即可
5、已知问题和限制
问题:由于网络问题有时会查询whois失败,c段扫描部分用的是外网平台https://hackertarget.com/as-ip-lookup/,网络可能会出错,有部分bug
限制:查询外网服务器/网站时需要开启全局代理
不足,待改进:尚未完成前台可视化界面
6、说明软件的发布方式以及发布地址
WEB 端: http://hed9eh0g.top:5000/
一、团队展示
-
队名:fumbleFish
-
成员
-
林泓(组长):3118005370
-
吴茗睿:3118005385
-
吴旻哲:3118005384
-
朱育清:3118005437
-
张培烽:3118005391
-
郭泽纯:3218005395
-
二、项目截图
初始界面展示:扫描博客园
扫描结果:
-
整体扫描:
-
端口扫描
-
子域名
-
C段扫描结果
-
whois查询结果
-
web指纹
三、Alpha版本测试报告
在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个?
-
修复的bug:6个
-
不能重现的bug:无
-
这个产品就是这么设计的,不是 bug:2个
-
没有能力修复,将来也不打算修复:无
-
这个bug的确应该修复,但没有时间在这个版本修复,延迟到下一个版本修复:4个
具体情况如下表:
bug名称 | bug类型 | 修复方法 |
---|---|---|
子域名数据获取异常 | 修复的bug | 重新更改正则表达式 |
读取 config 文件异常 | 修复的bug | 删除掉config文件中的中文字符、添加错误处理语句 |
获取不到 header 信息时程序异常 | 修复的bug | 增加本地的header信息,当获取不到UA时用 |
报错窗口问题 | 修复的bug | 重新修改类 |
在前台接收到的数据是字符串形式,而后端数据类型可能不是字符串,导致程序报错 | 修复的bug | 分析好每个接收数据在后台的数据类型,做出对应的类型转化 |
由于前台组件较多,在代码中对应的变量很复杂难以区分,导致程序报错 | 修复的bug | 对变量做出有区分度的命名,方便后期调用 |
当生成 OSINT 实例的时候,指定 domain 参数时,当指定的参数没有加上主机头的时候(如:osint_ob = OSINTrecon(domain='testfire.net'))使用 shodan_uav() 和 ip2domain() 方法时会查不出结果 | 这个产品就是这么设计的,不是 bug | 原因就是dns-python库没办法对此类域名进行 A 记录查询,从而返回了空的 ip 集合 |
模块不支持压力测试或频繁大量使用 | 这个产品就是这么设计的,不是 bug | 原因:zoomeye、shodan的API使用次数有限,同时google也会检查到流量异常,从而弹出不可绕过的验证码或将使用者的ip进行封锁 |
在前台点击“运行”之后,由于等待后台运行结果存在一定的时间,在等待阶段前台窗口会有些卡顿,难以让用户满意 | 这个bug的确应该修复,但没有时间在这个版本修复,延迟到下一个版本修复 | 解决卡顿问题,或者考虑在运行时加入“请稍后”的提示字眼 |
对用户输入的数据仍然无法做到错误鉴别,无法完全确保程序运行时的数据格式都是正确的,这样会增加程序报错的次数 | 这个bug的确应该修复,但没有时间在这个版本修复,延迟到下一个版本修复 | 增加正则表达式的过滤,还有逻辑上的一些判断,规避一些很容易就能看出来的错误 |
指定了正确的域名之后,google子域名查询有时候还是查不出结果 | 这个bug的确应该修复,但没有时间在这个版本修复,延迟到下一个版本修复 | 精细化UA的获取 |
指定了正确的域名之后,子域名查询结果可能过少的问题 | 这个bug的确应该修复,但没有时间在这个版本修复,延迟到下一个版本修复 | 增加子域名搜集的更多手段 |
场景测试
-
你预期不同的用户会怎样使用你的软件?
-
白帽黑客:利用该工具对站点进行扫描,根据扫描工具的扫描结果信息,及时发现系统漏洞,并采取相应的补救措施
-
普通用户:安装在自己的电脑、若需和其他电脑进行传输,可以用该工具扫描对方端口的开放情况
-
-
他们有什么需求和目标?
-
白帽黑客:针对目标信息的收集,希望能提升任务的执行效率和资源的利用率
-
普通用户:不会进行命令行的操作,希望能有界面化设计
-
-
你的软件提供的功能怎么组合起来满足他们的需要?
-
提供一个可以给白帽黑客和普通用户使用的一款端口扫描器,具有人性化的图形界面,还有较高的执行效率,同时满足不同使用人员的需求。
-
-
你们在什么样的平台、硬件配置、浏览器类型等条件上对你们的软件进行测试?——测试矩阵(test matrix)
操作系统 硬件 环境 是否成功运行 win10 8代i7 8G内存 python3.8 是 win10 8代i7 8G内存 python3.7 是 -
你认为你们团队的软件在什么条件下,就可以认定其已经足够好,可以发布Alpha版本?——出口条件(exit criteria)
-
功能基本实现,用户体验感良好,无严重bug出现
-
四、Alpha版本发布说明
1、列出这一版本的功能(在原有项目基础上开发的列出新功能)
-
端口扫描
-
子域名收集
-
C 段扫描
-
旁站 IP
-
有无 CDN
-
Whois信息收集
-
Web应用指纹识别
2、以原有项目为基础开发的,列出这一版本修复的缺陷
-
子域名数据获取异常
-
报错窗口问题
3、对运行环境的要求
celery==4.4.0rc4
redis==5.0.10
ipwhois==1.2.0
Faker==4.16.0
lxml==4.6.1
4、安装方法
redis需要手动安装以及配置环境变量
其余环境要求用pip install -r requirement.txt 即可
5、已知问题和限制
问题:由于网络问题有时会查询whois失败,c段扫描部分用的是外网平台https://hackertarget.com/as-ip-lookup/,网络可能会出错,有部分bug
限制:查询外网服务器/网站时需要开启全局代理
不足,待改进:尚未完成前台可视化界面
6、说明软件的发布方式以及发布地址
WEB 端:
五、项目创新点或优势
-
用户友好型操作,简单易用
-
redis存储,可以后期方便对查询的数据进行批量管理
-
集成化形式的工具,减少繁琐查询步骤
-
多线程,提高程序运行速度
-
五、项目创新点或优势
-
redis存储,可以后期方便对查询的数据进行批量管理
-
集成化形式的工具,减少繁琐查询步骤
-
多线程,提高程序运行速度
-
反爬虫识别,防止在提取在线平台的数据时被侦查