Tor流量分析&&暗网信息收集

通过Tor代理连接暗网

连接网络协议如下图所示:

通过Tor浏览器中的网桥进入Tor网络:


通过tor-export工具起一个socks代理进入Tor网络:

流量分析

SOCKS5 代理的过程

通过wiresharke抓取本地环回网卡,进行分析socks5流量

暗网信息收集

通过Yakit 建立中间人代理(port:8000),将socks5代理作为下游代理.这样我们可以通过Yakit实时观察到http明文数据包方便后续对暗网页面的信息数据进行处理!

写一个简单的http请求看看:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package main  

import (
"fmt"
"io" "log" "net/http" "net/url")

func main() {
proxyUrl, _ := url.Parse("http://127.0.0.1:8000") //通过Yakit进行转发,最终转发到tor网络
client := &http.Client{
Transport: &http.Transport{
Proxy: http.ProxyURL(proxyUrl),
},
}
resp, err := client.Get("http://hyxme2arc5jnevzlou547w2aaxubjm7mxhbhtk73boiwjxewawmrz6qd.onion/")
if err != nil {
log.Printf("error: %v", err)
}
defer resp.Body.Close()
// 后续进行数据提取即可
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}

访问成功

最终处理效果:

📌 爬虫函数实现:

  1. 使用结构体和函数映射

    • 将每个 HTML 页面和对应的提取逻辑封装为结构体。

    • 使用 map[string]func(string) 将 HTML 标识符与对应解析函数关联。

  2. 实现灵活扩展

    • 每个页面实现自己的提取逻辑。

    • 可以轻松添加新的解析函数。