前言
whatweb是一个指纹识别工具,在kail上预装的有,目前我的环境是centos7,本次就是在centos7上安装whatweb。
安装ruby环境
由于whatweb是基于ruby开发的,需要先安装ruby环境。
ruby所需要的包
yum install g***-c++ patch readline readline-devel zlib zlib-devel \
libyaml-devel libffi-devel openssl-devel make \
bzip2 autoconf automake libtool bison iconv-devel sqlite-devel
yum安装的不是最新版本的ruby,后续可能会报错,ruby -v 查看版本,建议安装2.5以上版本。可以通过下面的方式去安装高版本的ruby。
yum update
yum install ruby ruby-devel rubygems
安装高版本ruby的方式
修改gem源
gem sources --add https://gems.ruby-china.***/ --remove https://rubygems.org/
gem source -l 查看gem源
更新ruby
gpg2 --keyserver hkp://keyserver.ubuntu.*** --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
安装rvm
curl -sSL https://get.rvm.io | bash -s stable
更新配置文件
source /etc/profile.d/rvm.sh
通过rvm升级ruby
rvm list known
rvm install 2.5.8
部署whatweb
midir whatweb
cd whatweb
wget https://github.***/urbanadventurer/WhatWeb/archive/refs/tags/v0.5.5.tar.gz
tar -xzvf whatweb
cd whatweb
bundler install
./whatweb --version # 查看版本,看是否安装成功
./whatweb --help # 查看相关使用方法
whatweb常用方式
扫描域名
./whatweb www.baidu.***
从文件中读取目标
./whatweb -i target.txt
whatweb 百度一下,你就知道 --log-xml=baidu.xml
whatweb --no-errors -t 255 内网网段
遇到的问题
问题一:cannot load such file -- iconv (LoadError)
解决方式:gem install iconv
问题二:通过gem安装iconv时报SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate has expired) (https://index.ruby-china.***/quick/Marshal.4.8/iconv-1.0.8.gemspec.rz)
解决方法
从报错看这是由于证书错误导致的。
正常情况下,你是不会遇到 SSL 证书错误的,除非你的 Ruby 安装方式不正确。
如果遇到 SSL 证书问题,你又无法解决。
Linux上,请修改 ~/.gemrc 文件,增加 ssl_verify_mode: 0 配置,以便于 RubyGems 可以忽略 SSL 证书错误。
windows上, .gemrc 存放在: c:\用户\你的账户 下面,也就是类似于:C:\Users\admin下面。
修改以后再安装如下,可以看到忽略了证书错误直接安装
问题三:./whatweb:55:in': undefined method available?' for Gem:Module (NoMethodError)
解决方法:
现在安装的是0.4.7,而最新版本是0.5.5,将whatweb升级到这个版本就不会再报错了,可以成功运行
专注分享安全知识,大家可以关注一下我的微信公众号,谢谢大家!
不积跬步,无以至千里;不积小流,无以成江河。