onionscan + tor 实现暗网爬取

环境安装

1、安装相关依赖

1
2
3
4
5
6
yum update
yum install git bison libexif-dev
yum install tor
yum install epel-release
yum install python-pip
pip install stem

2、 安装go语言环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 下载
wget https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz
# 解压
tar -C /usr/local -xzf go1.12.6.linux-amd64.tar.gz
# 创建go项目路径
mkdir -p /root/gopath
# 添加环境变量
vi /etc/profile
# 添加内容
GOROOT=/usr/local/go
GOPATH=/root/gopath
export GOROOT
export GOPATH
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
# 使环境变量生效
source /etc/profile

3、安装onionscan

1
2
3
4
5
6
7
8
9
10
# 由于golang.org被墙,不能直接下载文件,所以需要从镜像仓库手动下载相应的依赖文件
mkdir -p /root/gopath/src/golang.org/x
cd /root/gopath/src/golang.org/x/
git clone https://github.com/golang/net.git
git clone https://github.com/golang/crypto.git
git clone https://github.com/golang/sys.git
# 安装onionscan
go get github.com/s-rah/onionscan
go install github.com/s-rah/onionscan

在命令行输入onionscan返回相应的命令信息表示onionscan安装成功



4、Tor的配置

由于onionscan是通过tor代理进行访问暗网,而tor在国内不能直接连接上,所以需要进行代理配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 编辑tor配置文件
vi /etc/tor/torrc
# 在文件最后添加
Socks4Proxy 192.98.203.92:1088 #socks4代理地址,也支持http代理和sock5代理
# tor不能用root用户运行,创建一个用户来运行tor
useradd tor
# 创建tor运行所需的目录,以及赋予权限
mkdir -p /run/tor
chown -R tor:tor /run/tor
# 用tor用户登录
su tor
# 启动tor
tor

出现如下图输出,表示tor启动成功

onionscan的使用

1
2
3
4
5
6
# 在root用户下
# 创建onionscan数据存储目录
mkdir -p /opt/onionscandb
# 使用onionscan进行爬取
onionscan -dbdir /opt/onionscandb -torProxyAddress 127.0.0.1:9050 -depth 1 -jsonReport -verbose wallstyizjhkrvmj.onion

参数说明:

  1. -dbdir 指定爬取数据存储目录,未指定情况下会保存在当前路径下
  2. -torProxyAddress 使用tor代理
  3. -depth 指定扫描暗网的深度
  4. -jsonReport 扫描结果生成json报告
  5. -verbose 控制台输出详细信息

扫描结果效果图

参考资料

  1. 暗网系列之:利用Python + OnionScan 打造自己的安全威胁情报平台
  2. 用好OnionScan,自己动手制作暗网爬虫