由于工作原因需要基于zgrab2进行开发,但在Linux下安装zgrab2时便遇到了一些挺难绕过去的坑,跌跌撞撞终于解决了,写篇文章记录一下。
准备工作
GO环境安装
由于zgrab2是由Go语言开发,所以需要安装GO环境,关于Go语言环境的配置(Linux)请点我移步至相关文章。
Git安装
需要从GitHub上拷贝源码,所以要安装一下Git,我用的是Ubuntu,直接一条命令搞定:
sudo apt-get install git
讯享网
zgrab2项目地址
点我进入或直接访问:https://github.com/zmap/zgrab2
讯享网
坑
完成准备工作后,根据zgrab2的README.md文件,首先运行如下命令克隆项目:
讯享网$ go get github.com/zmap/zgrab2
然后就遇到了这个问题:
复制下来是这样的:
cheo@cheo:~$ go get github.com/zmap/zgrab2 package golang.org/x/sys/unix: unrecognized import path "golang.org/x/sys/unix" (https fetch: Get https://golang.org/x/sys/unix?go-get=1: dial tcp 216.239.37.1:443: connect: connection refused)
原因我们也知道,被墙了嘛,这篇文章肯定不是教你搭梯子,而是利用 golang 在GitHub上建立的一个镜像库,直接安装:
首先,在GOPATH(你的工作目录)建立文件夹golang.org/x,然后进入文件夹把缺的这个东西克隆下来:
方便大家复制,把命令贴出来:
讯享网cheo@cheo:/Users/cheo/gopath/src$ mkdir -p golang.org/x cheo@cheo:/Users/cheo/gopath/src$ cd golang.org/x/ cheo@cheo:/Users/cheo/gopath/src/golang.org/x$ git clone https://github.com/golang/sys.git
解决了这个麻烦之后,执行官方文档中的下一步编译(make)的时候又出了问题:
还缺少上边那几个依赖文件!!!
于是乎,重新打开刚才建立的golang.org/x目录,执行差不多的命令,把这三个依赖也安装一下:
$ git clone https://github.com/golang/crypto.git $ git clone https://github.com/golang/net.git $ git clone https://github.com/golang/text.git
接下来我又傻乎乎的以为现在可以编译了,然而事实却是:
讯享网cd cmd/zgrab2 && go build && cd ../.. ../../modules/mongodb/scanner.go:9:2: cannot find package "gopkg.in/mgo.v2/bson" in any of: /usr/local/go/src/gopkg.in/mgo.v2/bson (from $GOROOT) /Users/cheo/gopath/src/gopkg.in/mgo.v2/bson (from $GOPATH) ../../modules/redis/scanner.go:27:2: cannot find package "gopkg.in/yaml.v2" in any of: /usr/local/go/src/gopkg.in/yaml.v2 (from $GOROOT) /Users/cheo/gopath/src/gopkg.in/yaml.v2 (from $GOPATH) Makefile:24: recipe for target 'zgrab2' failed make: * [zgrab2] Error 1
还少两个包!!!
没脾气,再回GOPATH下的src目录,建立gopkg.in,还用原来的配方安装这两个依赖~
$ mkdir gopkg.in $ cd gopkg.in/ $ git clone https://github.com/go-yaml/yaml.git $ mv yaml/ yaml.v2
注:这里从GitHub上克隆下来的名字叫yaml改个名就好了。
安装mgo
讯享网$ cd gopkg.in/ $ git clone https://github.com/go-mgo/mgo.git $ mv mgo/ mgo.v2
注:同样改个名字就好。
执行编译
终于,编译成功!沃德天~
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/54149.html