Tor源码阅读与改造(一)

0x00 前言

    由于公司需求,需要掌握洋葱网络的整体架构和部分详细实现细节,并对Tor进行针对性的改造。在查询Tor官方相关文档和google各种网站后,得到的信息仍无法达到目的,所以便开始了阅读Tor源码的旅程。

    Tor的源码可以在官网直接进行下载,URL地址为:

https://www.torproject.org/download/download.html.en

    虽然Tor源代码代码量较大,但是其代码风格非常的严谨和规范,包括代码结构、函数变量命令方式以及注释等。所以在熟悉Tor代码的套路之后,阅读起来虽然会花一些时间,不过阅读起来非常的舒服。

0x01 利器

    所谓 "工欲善其事必先利其器",虽然Tor代码很规范,但是毕竟代码量较大(估算几十万行),并且都是用C语言进行实现的。阅读源码的IDE可不能直接用普通的代码编辑器比如sublime,笔者选择了Source Insight 作为阅读工具:

该工具除了常见的语法高亮显示,有一个非常棒的功能:自动查找函数调用关系,如上图红框,这对于梳理清楚代码逻辑很有用。

另外静态阅读代码时,会遇上一个函数被众多的函数所调用,拥有众多的函数调用链,此时仍然需要借助于动态调试。因为Tor源码在windows下编译较为繁琐,笔者并没有去折腾这条路,而是选择了linux平台,用gdb作为动态调试工具。

此外,官方的日志永远是最重要的,这能帮助理解Tor的运行流程。但是Tor默认的日志级别并不高,内容不够详细,可以参考这里将日志级别提高:

https://www.torproject.org/docs/faq.html.en#Logs

 

最后,虽然Tor官方文档并没有满足笔者需求,但是对理解代码逻辑仍然具有非常重要的参考意义,这里列出一些有用的:

这里面有Tor一些公开数据,比如节点总数,各类节点的具体信息等。

Tor官方对各类模块实现的技术文档

Tor命令行和配置文件的参考手册

0x02 后续

接下来的几篇文章,笔者会将Tor的整体架构和部分功能模块(加解密、链路复用、长连接、hidden service等),以及Tor改造方法实现细节都分享一下。

by:会飞的猫

转载请注明:http://www.cnblogs.com/flycat-2016

转载于:https://www.cnblogs.com/flycat-2016/p/10468626.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tor Browser是一个基于Mozilla Firefox的免费开源网络浏览器,旨在提供用户更安全、更私密的上网体验。它通过使用Tor网络来匿名化用户的网络连接,保护用户的隐私和数据安全。Tor网络是一个由志愿者运行的网络,通过将用户的网络流量通过多个节点进行随机路由,来隐藏用户的真实IP地址和身份信息。这种多重加密和匿名化的过程使得用户的网络活动更加难以被追踪和监视。 要使用Tor Browser,您需要下载并安装它。首先,您可以访问Tor项目的官方网站(https://www.torproject.org/)下载Tor Browser的安装包。然后,根据您的操作系统选择正确的版本进行下载。安装包下载完成后,您可以运行安装程序,并按照指示进行安装。 在安装完成后,您可以打开Tor Browser。当您第一次打开Tor Browser时,它会连接到Tor网络并进行一些初始化设置。这可能需要一些时间,请耐心等待。 一旦Tor Browser成功连接到Tor网络,您就可以开始使用了。您可以像使用任何其他浏览器一样使用Tor Browser浏览网页、发送电子邮件等。不同的是,Tor Browser通过路由您的网络流量通过多个节点来隐藏您的真实IP地址,从而保护您的身份和隐私。 需要注意的是,Tor Browser可以提供更高的匿名性和隐私保护,但并不能完全消除所有网络安全风险。使用Tor Browser时,仍然需要注意不要分享个人敏感信息,避免下载不安全的文件或访问不受信任的网站。此外,由于Tor网络的性质,您可能会遇到一些访问速度较慢的问题。 总结起来,Tor Browser是一个提供更安全、更私密的上网体验的浏览器。它通过使用Tor网络来匿名化用户的网络连接,保护用户的隐私和数据安全。您可以通过下载并安装Tor Browser来开始使用它。请注意,在使用Tor Browser时仍需保持警惕并采取适当的网络安全措施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值