Zgrab是基于ZMap无状态扫描的应用层扫描器,可以自定义数据包以及ip、domain之间的关联。可用于快速指纹识别爆破等场景。
一、Zgrab下载
现在说说最新的下载地址吧,以前那个已被弃用了!
最新版本的GitHub网址:https://github.com/zmap/zgrab2
二、Zgrab安装
由于Zgrab安装要用上"go"命令,因此,我们需要先安装"go"语言。具体完整的Zgrab安装步骤如下:
1、安装go
wget https://studygolang.com/dl/golang/go1.12.7.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.12.7.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/usr/local/go/bin/
注意:export命令有效期仅用于该次登陆操作,重启后设置又会失效。
如有其它需求,请查看:Linux修改环境变量永久生效方法
2、安装zgrab
go get github.com/zmap/zgrab2
cd $GOPATH/src/github.com/zmap/zgrab2
make
注意:当你执行“make"命令后,这里或许会提示找不到包,请查看:
安装zgrab成功的效果图:
三、Zgrab使用 教程
简单的讲,zgrab使用其实也非常的简单,两条命令即可!
cd /usr/local/go/bin/src/github.com/zmap/zgrab2
./zgrab2 --help
详细的讲,zgrab使用也有点小复杂,具体如下:
用法:
zgrab2 [选项] <命令>
应用选项:
-o, --output-file= 输出文件名, 使用 - 用于stdout(默认值: - )
-f, --input-file= 输入文件名, 使用 - 用于stdin(默认值: - )
-m, --metadata-file= 元数据文件名, 使用 - 用于stderr(默认值: - )
-l, --log-file= 日志文件名,使用 - 用于stderr(默认值: - )
-i, --interface= 要发送的网络接口
-s, --senders= 要使用的发送goroutine数(默认值:1000)
--debug 在输出中包含调试字段。
--gomaxprocs= 设置GOMAXPROCS(默认值:0)
--connections-per-host= 连接每台主机的次数(结果在更多输出中)(默认值:1)
--read-limit-per-host= 单个主机读取的最大总千字节数(默认96kb)(默认值:96)
--prometheus= 用于Prometheus服务器的地址(例如本地主机:8080)。如果为空,则禁用Prometheus。
帮助选项:
-h, --help 显示此帮助消息
可用的命令:
bacnet bacnet
banner Banner
dnp3 dnp3
fox fox
ftp FTP
http HTTP Banner Grab
imap imap
ipp ipp
modbus modbus
mongodb mongodb
mssql MSSQL
multiple Multiple module actions
mysql MySQL
ntp NTP
oracle oracle
pop3 pop3
postgres Postgres
redis redis
siemens siemens
smb smb
smtp smtp
ssh SSH Banner Grab
telnet telnet
tls TLS Banner Grab
完整示例:
wget http://www.ipdeny.com/ipblocks/data/countries/hk.zone #香港IP,全球IP也可以从这里找到
zmap -w hk.zone -p 80 -B 100M -o hk.res #扫描出80端口的IP
./zgrab2 -input-file=hk.res --output-file=hk.txt --senders=1000 http #得到这些IP网页的源代码
cat hk.txt | grep "关键词" #扫完以后筛选(目标网页chrome下F12查看源代码,挑个只有这个网站有的关键词)
总结:如果看了有不懂的请评论区留言或和我相互交流也是可以的!