[工具使用]WhatWeb

2023-10-27

网站指纹识别工具WhatWeb

因为想要面对一个新的开始,一个人必须有梦想、有希望、有对未来的憧憬。如果没有这些,就不叫新的开始,而叫逃亡。
																					————玛丽亚·杜埃尼亚斯

WhatWeb简介

web指纹扫描主要用于对应用名称(版本)、服务器软件(版本)、编程语言(版本)、应用框架(版本)四大特征的识别,以实现对目标应用的准确标识。现有产品比如知道创宇的:ZoomEye

网站指纹信息包括:应用名、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据库等
设备指纹信息包括:应用名、版本、开放端口、操作系统、服务名、地理位置等

WhatWeb是一个基于Ruby语言的开源网站指纹识别软件,正如它的名字一样,whatweb能够识别各种关于网站的详细信息包括:CMS类型、博客平台、中间件、web框架模块、网站服务器、脚本类型、JavaScript库、IP、cookie等等。WhatWeb有超过1000个插件,每个插件都能识别不同的东西。WhatWeb还标识版本号,电子邮件地址,账户ID,Web框架模块,SQL错误等。
WhatWeb可以隐秘、快速、彻底或缓慢扫描。WhatWeb支持攻击级别来控制速度和可靠性之间的权衡。当在浏览器中访问网站时,该交易包含许多关于Web技术为该网站提供支持的提示。有时,单个网页访问包含足够的信息来识别网站,但如果没有,WhatWeb可以进一步询问网站。默认的攻击级别称为“被动”,速度最快,只需要一个网站的HTTP请求。这适用于扫描公共网站。在渗透测试中开发了更积极的模式。

用法(10小点)

1、参数
whatweb 域名
-i 指定要扫描的文件
-v 详细显示扫描的结果
-a 指定运行级别

2、常规扫描
whatweb url
在这里插入图片描述
3、批量扫描
将url全部写入一个txt中
在这里插入图片描述
whatweb -i url.txt
在这里插入图片描述
4、显示详细内容
和nmap一样 参数是-v
在这里插入图片描述
5、扫描强度
(1)whatweb有一个-aggression(简写为-a)参数,此参数后边可以跟数字1-4,分别对应4个不同的等级。
(2)tealthy 每个目标发送一次http请求,并且会跟随重定向
(3)unused 不可用(从2011年开始,此参数就是在开发状态
(4)aggressive 每个目标发送少量的http请求,这些请求时根据参数为1时结果确定的
(5)heavy 每个目标会发送大量的http请求,会去尝试每一个插件

whatweb -a 3 www.baidu.com

在这里插入图片描述
6、扫描内网(本地主机)

whatweb --no-errors -t 255 192.168.0.0/24     //可以和-a -v 参数结合使用

在这里插入图片描述

7、导出扫描结果到文件
whatweb www.topreverse.cn --log-xml=re.txt
在这里插入图片描述
其他导出文件格式指令如下:

--log-brief=FILE            简单的记录,每个网站只记录一条返回信息
--log-verbose=FILE            详细输出
--log-xml=FILE            返回xml格式的日志
--log-json=FILE            以json格式记录日志
--log-json-verbose=FILE            记录详细的json日志
--log-magictree=FILE            xml的树形结构
--log-object=FILE            ruby对象格式
--log-mongo-database            mongo数据库格式

8、查看whatweb版本
whatweb -version
在这里插入图片描述

9、查看知道手册
whatweb -h
在这里插入图片描述

10、查看所有whatweb插件
whatweb -l
在这里插入图片描述

希望大家可以有所收获!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[工具使用]WhatWeb 的相关文章

  • 在 Python 中使用 XPath 和 LXML

    我有一个 python 脚本 用于解析 XML 并将某些感兴趣的元素导出到 csv 文件中 我现在尝试更改脚本以允许根据条件过滤 XML 文件 等效的 XPath 查询将是 DC Events Confirmation contains T
  • ActiveRecord 嵌套 SELECT——我可以在没有手动 SQL 的情况下完成它吗?

    我有一张桌子 上面有 除其他外 一个名字和一个等级 我想返回所有唯一名称的集合 但对于返回的每个名称 我想选择排名最高的行 这很简单 有两个嵌套的 SELECT 语句 SELECT FROM SELECT FROM foo ORDER BY
  • Python 中的六边形自组织映射

    我在寻找六边形 自组织映射 http en wikipedia org wiki Self organizing map在Python上 准备好模块 如果存在的话 绘制六边形单元格的方法 将六边形单元作为数组或其他方式使用的算法 About
  • 如何更改充当按钮的范围的文本

    我正在为自定义 Web 应用程序编写自动化测试 我遇到了无法更改跨度文本的问题 我尝试过使用 driver execute script 但没有运气 如果我更好地了解 javascript 这确实会有帮助 据我所知 您无法单击跨度 并且列表
  • 在 Python 中使用 sec 函数的反函数

    我正在创建一个程序 用于计算从一定高度范围和设定初始速度发射射弹的最佳角度 在我需要使用的最终方程中 存在一个反 sec 函数 它导致了一些麻烦 我已经导入了数学并尝试使用 asec 无论如何 但是数学似乎无法计算反秒函数 我也明白 sec
  • 使用正则表达式解析 Snort 警报文件

    我正在尝试使用 Python 中的正则表达式从 snort 警报文件中解析出源 目标 IP 和端口 和时间戳 示例如下 03 09 14 10 43 323717 1 2008015 9 ET MALWARE User Agent Win9
  • 在 python-docx 中搜索和替换

    我有一个包含以下字符串的文档 模板 你好 我的名字是鲍勃 鲍勃是一个很好的名字 我想使用 python docx 打开此文档并使用 查找和替换 方法 如果存在 来更改每个字符串 Bob gt Mark 最后 我想生成一个新文档 其中包含字符
  • 将一个时间序列插入到 pandas 中的另一个时间序列中

    我有一组定期测量的值 说 import pandas as pd import numpy as np rng pd date range 2013 01 01 periods 12 freq H data pd Series np ran
  • 将 subprocess.Popen 的输出通过管道传输到文件

    我需要启动一些长时间运行的进程subprocess Popen 并希望拥有stdout and stderr从每个自动管道到单独的日志文件 每个进程将同时运行几分钟 我想要两个日志文件 stdout and stderr 每个进程当进程运行
  • Python 中的这种赋值方式叫什么? a = b = 真

    我知道关于元组拆包 http docs python org tutorial datastructures html tuples and sequences但是当一行中有多个等号时 这个赋值被称为什么 阿拉a b True 它总是让我有
  • 字典的嵌套列表

    我正在尝试创建dict通过嵌套list groups Group1 A B Group2 C D L y x 0 for y in x if y x 0 for x in groups d k v for d in L for k v in
  • 如果不选择 Updated_at 属性,则无法更新 Rails 4 中的模型

    我正在从 Rails 3 2 13 升级到 4 并遇到更新模型的问题 我正在尝试仅更新模型上的单个属性 其中我只有 id 我还需要验证和回调 这在 Rails 3 中运行良好 但在 Rails 4 中遇到了麻烦 在 Rails 4 中 如果
  • 我可以使用 dask 创建 multivariate_normal 矩阵吗?

    有点相关这个帖子 https stackoverflow com questions 52337612 random multivariate normal on a dask array 我正在尝试复制multivariate norma
  • Python Flask 是否定义了路由顺序?

    在我看来 我的设置类似于以下内容 app route test def test app route
  • python中的sys.stdin.fileno()是什么

    如果这是非常基本的或之前已经问过的 我很抱歉 我用谷歌搜索但找不到简单且令人满意的解释 我想知道什么sys stdin fileno is 我在代码中看到了它 但不明白它的作用 这是实际的代码块 fileno sys stdin filen
  • asyncio - 多次等待协程(周期性任务)

    我正在尝试为异步事件循环创建定期任务 如下所示 但是我收到 RuntimeError 无法重用已等待的协程 异常 显然 asyncio 不允许等待相同的可等待函数 如中讨论的这个错误线程 https bugs python org issu
  • 如何对字符串列表进行排序?

    在 Python 中创建按字母顺序排序的列表的最佳方法是什么 基本回答 mylist b C A mylist sort 这会修改您的原始列表 即就地排序 要获取列表的排序副本而不更改原始列表 请使用sorted http docs pyt
  • 使用 Keras 和 fit_generator 绘制 TensorBoard 分布和直方图

    我正在使用 Keras 使用 fit generator 函数训练 CNN 这似乎是一个已知问题 https github com fchollet keras issues 3358TensorBoard 在此设置中不显示直方图和分布 有
  • 如何在SqlAlchemy中执行“左外连接”

    我需要执行这个查询 select field11 field12 from Table 1 t1 left outer join Table 2 t2 ON t2 tbl1 id t1 tbl1 id where t2 tbl2 id is
  • 使用 numpy 加速 for 循环

    下一个 for 循环如何使用 numpy 获得加速 我想这里可以使用一些奇特的索引技巧 但我不知道是哪一个 这里可以使用 einsum 吗 a 0 for i in range len b a numpy mean C d e f b i

随机推荐

  • (十七)STM32——定时器

    目录 学习目标 内容 简介 定时器分类 定时器功能介绍 计时器模式 工作过程 内部时钟选择 寄存器 配置 代码 总结 学习目标 本节内容我们来介绍一下有关定时器的知识 其实这个定时器 和我们日常接触的定时器没有什么区别 都是到了一定的时间就
  • ajax简单异步图片上传,Ajax简单异步上传图片并回显

    前台代码 上传图片按钮 选择图片 隐藏的文件选择器 图片预览 去除图片预览未选择时默认时的边框 img src img not src opacity 0 JavaScript部分 function uploadPhoto photoFil
  • Qt--拖放操作

    Qt 拖放操作 1 使用拖放打开文件 将桌面上的 txt文件拖入程序打开 新建Widget项目 项目名称为mydragdrop 类名和积累保持MainWindow和QMainWindow不变 建立完项目后 往界面上拖入一个Text Edit
  • C/C++库函数strstr和find实现子字符串查找

    1 子字符串查找实现Demo include
  • win10 ping不通 Docker ip(解决截图)

    背景 win10下载了docker desktop就是这个图 然后计划做一个springboot连接docker docker部署springboot docker 部署springboot 成功 截图 總鑽風的博客 CSDN博客 问题 s
  • 【Google测试之道】第五章 Google软件测试改进

  • 基于token和基于session用户认证两种方式区别

    背景知识 Authentication和Authorization的区别 Authentication 用户认证 指的是验证用户的身份 例如你希望以小A的身份登录 那么应用程序需要通过用户名和密码确认你真的是小A Authorization
  • Unity打开项目之Hold on,之第一次打开25G的文件夹,之我的自闭之旅

    环境 Unity2017 4 36 VS2019 Windows10 介绍 使用Unity打开一个进25G的项目 文件中包含各个平台的代码 第一次打开花费了进4个小时 关闭后在次打开花费了近 按理说只有第一次加载才会需要很长时间 第二次相对
  • Stata学习笔记

    今天学习的视频是 Stata入门 外部命令安装 哔哩哔哩 bilibili up主 silencedream Stata设置 如何快速安装3000 外部命令 连玉君老师PLUS文件 哔哩哔哩 bilibili up主 小志小视界 外部命令安
  • Matlab --- 如何用matlab在三维坐标系中画一个三维向量

    用MATLAB画三维向量 前两天 我在写Gram Schmidt正交化的文章时 想到最好用matlab把还没有经过正交化计算的原始向量 和已经经过正交化处理后的正交基 在三维坐标系中 用图像的方式表示出来 这样可以更加直观的看到向量与向量之
  • AC-DC--单相桥式全控整流电流源

    单相整流电路中应用较多的是单相桥式全控整流电路 带电阻负载的工作情况 原理图 波形图 在单相桥式全控整流电路中 晶闸管VT1 和VT4 组成一对桥臂 VT2和VT3 组成另一对桥臂 工作原理 在uz正半周 即 a点电位高于b点电位 若4个晶
  • 用户画像标签体系——从零开始搭建实时用户画像(三)

    用户画像标签体系 用户画像的核心在于给用户 打标签 每一个标签通常是人为规定的特征标识 用高度精炼的特征描述一类人 例如年龄 性别 兴趣偏好等 不同的标签通过结构化的数据体系整合 就可与组合出不同的用户画像 梳理标签体系是实现用户画像过程中
  • 如何通过内网穿透实现外部网络对Spring Boot服务端接口的HTTP监听和调试?

    文章目录 前言 1 本地环境搭建 1 1 环境参数 1 2 搭建springboot服务项目 2 内网穿透 2 1 安装配置cpolar内网穿透 2 1 1 windows系统 2 1 2 linux系统 2 2 创建隧道映射本地端口 2
  • JS获取系统时间

    网页通过JavaScript获取系统日期 时间的操作是比较常规的操作 我这里将自己使用过的方法小结一下 方便自己回顾或参考 目录 一 实现非常简单 第一步实例化 第二步获取值 二 参考实例 1 无格式要求简单获取 2 自定义格式获取 3 闰
  • 实现vue自定义指令v-loading

    1 创建文件 在 loading文件夹下创建3个文件 index js loading vue 和 loading js index js文件用来暴露安装插件接口 这个下面会有说明 有了 Vue directive这个方法就可以在页面中使用
  • Springboot获取IOC容器的方式

    1 前言 大家好 我是孤焰 最近我在制作日志审计功能时发现不知道怎样获取到Springboot项目中的IOC容器 经过摸索 最终解决了这个问题 现在把解决方式和大家分享一下 2 Springboot项目中获取IOC容器的方式 在Spring
  • go中如何处理error

    0 前言 go 中的异常处理和其他语言大不相同 像 Java C python 等语言都是通过抛出 Exception 来处理异常 而 go 是通过返回 error 来判定异常 并进行处理 在 go 中有 panic 的机制 但 panic
  • IDEA中使用vue 报 Namespace 'xxx' is not bound的解决办法

    IDE 问题编辑页中v on指令标红并提示 Namespace v on is not bound 解决办法 file Settings下 点ok后标红提示的问题解决 此方法是 Namespace xxx is not bound 通用解决
  • 阿里云RDS如何进行账号及数据库管理?

    本文说说如何管理RDS实例 进入控制台 选中RDS 在列表中选择我们需要管理的地域 并且找到我们需要管理的实例 首先建立一个数据库 点击数据库管理 点击创建数据库 输入数据库名 确定
  • [工具使用]WhatWeb

    网站指纹识别工具WhatWeb WhatWeb简介 用法 10小点 因为想要面对一个新的开始 一个人必须有梦想 有希望 有对未来的憧憬 如果没有这些 就不叫新的开始 而叫逃亡 玛丽亚 杜埃尼亚斯 WhatWeb简介 web指纹扫描主要用于对