Ubuntu16.04-子域名监控工具Getdomain环境搭建

Ubuntu16.04-子域名监控Get_domain环境搭建

操作环境:Ubuntu16.04
数据库:Mongdb
项目地址:https://github.com/guimaizi/get_domain

各种依赖安装

sudo apt-get install git python3 python3-pip xvfb unzip libxss1 libappindicator1 libindicator7 -y

sudo pip3 install selenium pymongo

安装mongodb服务端

  1. 添加mongodb签名到APT
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
  2. 创建/etc/apt/sources.list.d/mongodb-org-3.2.list文件并写入命令
    echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
  3. 更新软件源列表
    sudo apt-get update
  4. 安装mongodb(默认是安装稳定版)
    sudo apt-get install -y mongodb-org

配置mongodb服务端

  1. 修改配置文件/etc/mongodb.conf

    修改后的内容如下:
    bind_ip = 0.0.0.0
    port = 27017
    auth=true (添加帐号,密码认证)

    修改后重启mongodb:sudo service mongodb restart

  2. 添加超级用户

    use admin
    db.createUser({user:'admin',pwd:'123456aaa1xsda1A',roles:[{role:'userAdminAnyDatabase',db:'admin'}]})
    db.auth('admin','123456aaa1xsda1A')
  3. 添加扫描器用户

    use target_domain
    db.createUser({user:'target',pwd:'123456aaaxsda1A',roles:[{role:'readWrite',db:'target_domain'}]})
    db.auth('target','123456aaaxsda1A')

安装chromedriver

先安装Chrome浏览器

sudo apt-get install libxss1 libappindicator1 libindicator7
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb
sudo apt-get install -f

再安装chromedriver

wget -N http://chromedriver.storage.googleapis.com/72.0.3626.7/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
chmod +x chromedriver
sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

安装go-lang

$ sudo apt-get update
$ sudo apt-get -y upgrade
$ wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz
$ sudo tar -xvf go1.7.linux-amd64.tar.gz
$ sudo mv go /usr/local

设置gopath

vim /etc/profile
export GOROOT=/usr/local/go  #设置为go安装的路径,有些安装包会自动设置默认的goroot
export GOPATH=$HOME/gocode   #默认安装包的路径
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/profile

go env看一下是否设置成功

设置Python默认为Python3

文章:https://blog.csdn.net/u011534057/article/details/51615193

使用文章的第二种方法:在系统级修改 Python 版本

下载subfinder

go get github.com/subfinder/subfinder

报错没关系,只要文件里有bin src就行

后续步骤

http://www.guimaizi.com/archives/360的启动说明

crontab定时执行任务:https://www.jianshu.com/p/838db0269fd0

crontab文件如下,每天12点执行:

# everday 12:00 am exec
0 0 17 * * ? python /home/get_domain/while_update.py

注意最后要留个空行

Mongodb操作

更新,否则无法进行对比,更新状态到0

db.getCollection('xxx').update({'state':1},{$set:{'state': NumberInt(0)}},{multi:true})

一直运行random_start

nohup python -u random_start.py > nohup.log 2>&1 &

记得修改random_start的代码为while 1
可以修改五次config,运行五个后台程序

各种报错解决

报错代码127

selenium.common.exceptions.WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 127

原因是browser版本过低,跟driver不匹配,升级browser

apt-get install chromium-browser

权限报错

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormall

chromedriver在py程序里没权限,修改代码Browser.py

chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox') 

相关链接

安装mongodb:https://www.jianshu.com/p/5598f1dcbb98

not found!