1/
《翻墙会被政府知道吗?》
结论:不一定。

可能政府会用这样的说辞,"一旦翻墙,政府都知道。政府选择性地抓一抓,以儆效尤罢了。"这当然是吓唬小白的罢了,不过在一定条件下确可以是真的。

这里咱就聊一聊翻墙的事儿,如果有任何问题可以在此thread后留言,提问,或者讨论。
2/
《网络供应商(ISP)》
网络供应商(以下简称ISP)咱可以理解为诸如移动,电信,联通等为大陆人提供网络的公司。

这些公司的基础硬件设施在为咱们提供网络的同时,也会监控咱们的网络流量。

那么运营商眼里咱的流量看起来是森么样呢?
当然每台电脑都不会一样,咱可以用抓包分析工具wireshark自测
3/
《wireshark》
下载地址:
wireshark.org/download.html

wireshark的主要功能是“抓取&分析数据包”。
数据包非常重要,因为咱们的所有网络流量是被拆分成一个个小的数据包进行传输,这个过程可以类比为《邮递包裹》。

每一个包裹最重要的信息有:
1.发件人
2.收件人
3.包裹内容
4.邮递方式
4/
《一条tweet的故事》
比如咱这条tweet其实对于TCP/IP协议而言可是一个大且复杂的“邮递业务”。

首先它不小,所以它等成分很多个小包裹进行传输,其中每一个小包裹都是一个数据包。

首先咱把着一条推分成假设50个小包裹,每一个上面都打好一张包裹订单信息,并且编号
5/
《一条tweet的故事》

咱们挑选其中任意一个包裹,就会看到包裹上被打好的标签

a. 发出地址 = 咱本机的局域网IP地址
b.目的地 = twitter某个服务器的IP地址
c.内容 = 咱的推(加密后的)
d. 包裹编号,邮递方式 = 协议(TCP/IP),包裹质量 = 包裹的字节大小,等等信息
6/
《一条tweet的故事》
非正常亲况下,假设墙不存在,咱可以直连twitter则该条tweet大致的流程是?

无墙情况下:
step1:
把咱这50个打包好,封装好的包裹抱去最近的快递点,并告之对方,咱要送快递

这个过程就是咱本地电脑到本地路由器的过程
7/
《一条tweet的故事》

step2:
路由器在接收到了咱发推用的电脑设备的数据包以后,会发较近的网络运营商的服务器

此过程可以理解为,咱的包裹由本地的快递站点送往本地快递公司的一个物流仓库

此后在大陆这段路程,这个包裹送不送,怎么送,什么时候送,会被怎样处理都是(快递物流公司)ISP说了算
8/
step3:

数据包从本地的ISP路由器到骨干网,最后再走海底光缆出国,然后由外国其他ISP的路由器最终送到twitter的服务器

这个过程可以理解为国际快递业务,比如由移动承担,ISP的出海之前的大型网关相当于就是海关,最终是否能出去还得看海关是否放行
9/
假设twitter没有被墙,那么“海关”自然会对目的地为twitter服务器的包裹放行。

出了海关以后,这个包裹将这个快递公司的境外接收点接收。比如电信CN2的境外接入点。

再之后的路程就会是国际其他快递公司帮忙运输此包裹,直至达到twitter服务器
10/
step4:
twitter服务器接收到一些包裹以后会开始等,等所有包裹到齐,并按照标号开始检查是否所有到齐。如果有包裹丢失的情况,会发出信息,要求重新寄送等等

一旦一切无误,完整性有保障,那么twitter方则会开始拆包裹,组装数据,最后形成咱这一条推,并发送出来让各位推油看到
11/
在以上过程中,有几个关键要素,可以抽象为:

传输一个数据包:
数据包上有,起始IP地址,终点IP地址,所用协议,数据内容,以及其他信息

传输路径:

电脑 -> 路由器 -> ISP的一些列服务器 -> 目的地附近ISP一系列服务器 -> 目的地电脑(服务器)
12/
所以这里咱们可以开始讨论,森么是墙?森么又是翻墙?

墙可以大致理解为是网络供应商的《一系列审查机制》

所谓审查,对方得先分辨出咱的意图,然后才能决定做何种处理

而翻墙则是《一系列反ISP审查机制的行为》。所以网络代理是翻墙的一种技术,但是根据定义,不使用代理仍然可以是翻墙
13/
《加密的网络代理》
目前大陆所使用的绝大多数翻墙手段为《加密的网络代理》。这里面包含VPN,包含v2ray以及shadowsocks,trojan等一系列翻墙协议

之前《一条tweet的故事》描述了无审查发推的一个过程


那么加入网络代理相当于什么呢?
如图 Image
14/
《一条tweet的故事2》
回到现实世界,大陆当然不可能直接发出一条推文。再次使用邮递国际包裹的比喻,这类似于向敏感人士,邮递违禁物品

首先咱直连发推ISP知不知道?当然知道,并且ISP会直接把咱们的数据包丢掉

为什么是丢掉,而不是拆开数据包看一看,然后根据内容给咱定罪呢?
15/
因为ISP它办不到。
因为现在而言,在假设咱本地电脑没有被渗透的条件下,咱和twitter之间的通讯是加密通讯

推油可以想象,咱在送往快递站点以前,这每一个包裹内的东西已经用一个很难打开的迷你保险柜把包裹内容锁起来了

快递承运方虽然知道目的地,但是无法打开查看其中内容
16/
但是ISP本着,虽然无法监控内容,但我可以让你内容传输无法到达目的地,于是半路上就把咱的包裹扣下了

那么代理是什么意思呢?就是找一些中间人帮我们转送包裹

咱们要把数据包发送给twitter,但是twitter是黑名单上的目的地,但是咱们可以发给其他被允许的目的地,因为不是所有海外IP都是黑名单
17/
不过单纯的转发却不足够,因为ISP在运送之前拆开包裹即可知道咱们的代理服务器并不是重点,最终目的地仍然是twitter,因此仍然会丢包

所以加密代理非常必要。加密代理相当于咱的包裹内容有两层保险柜,而且密码不相同 Image
18/
这样做的目的当然是为了防止ISP的拆包检查。并且加入加密代理服务器之后还有一个好处,使得ISP不知道咱的网络协议

推油可以这样理解知晓网络协议与网络行为之间的联系。

虽然使用网络的最基础协议是TCP/IP或者UDP/IP协议,但是在此之上有很多应用层的协议,可以透露咱们的一些行为 ImageImageImageImage
19/
比如HTTP,HTTPS代表咱正在浏览网页,并且域名信息以及根据DNS请求来看,知道正在浏览的网页
就像图1中看到的ip.webnernetz.net
亦或是,看到SSH协议,知道咱正在访问VPS服务器,看到bittorrent协议知道咱正在通过BTT种子下载资源
如图2 ImageImage
20/
此处合理假定,wireshark抓包结果为ISP能看到的流量

理想情况下,加密后代理后的流量,ISP只知道包的大小,频率,以及代理服务器的IP地址

除此之外ISP不知道关于这些加密流量的任何信息

也就是ISP知道:
什么时刻,咱和代理服务器之间传输了多少大小的数据,其余一概不知 Image
21/
当然20这只是理想情况下,ISP想找咱翻墙的破绽其实并不难。比如常用的类似于shadowsocks之类的代理,在使用PAC规则代理模式的时候,实际上会DNS信息不少也是会泄漏的

这里就不得不提到翻墙中遇到的《DNS泄漏》问题
22/
DNS泄漏是ISP知道咱们翻墙行为的一个突破点,也是很多推油忽略的漏洞

咱知道网络的通讯最基础的还是TCP/IP or UDP/IP协议,就是之前快递的比喻中提到的,咱必须标明目的地的地址,也就是IP地址数据包才能送达目的地

但很多时候咱是不能记住那么多IP地址的,或者一个目标有多个IP地址
23/
这时候会用到域名的概念,也就是通常上网用到的网址
比如twitter.com,咱发推只需要知道目的地是twitter,至于是twitter什么服务器,以及对应的什么IP地址这都是无所谓的

这些个IP地址也并非一直不变,有时候域名对应的IP地址也会发生变化,所以这个时候DNS服务器就有了存在的必要
24/
DNS服务器类似于一个数据库,咱们的计算机通过发送查询某个域名,DNS服务器返还给咱一个IP地址,然后咱就可以通过TCP/IP协议向这个IP地址发送数据包

还是以邮递包裹来比喻,现在咱要送一个包裹给一个叫做Jack的人,此人居无定所,四海为家

但是邮递包裹的规矩必须是,填写收件人地址才行
25/
此时在填写包裹邮递信息之前,咱急需一个东西,它可以随时查询jack的现居住地,也就是说咱每次给Jack送包裹,流程都是这样:
1.通过某种途径查询Jack现在方便的收件地址
2.把这个得到的地址填入邮递订单中
3.邮出该包裹
26/
那么发推的过程也比较类似。
1.首先咱得向DNS服务器查询twitter的IP地址
2.向该IP地址发送数据包

DNS服务器通常会包含在ISP的网络服务中,比如使用移动的宽带或者4G网络,通常默认DNS服务器是ISP的服务器,此时有趣的事情会发生
27/
1.ISP的DNS服务器会记录咱的查询记录
2.ISP的DNS服务器不会给你正确的IP地址

这两条森么意思呢?
咱向ISP的DNS服务器发送请求,要求其返回给咱twitter的IP地址

那么ISP的DNS服务器则会留存记录:
某年某月某日某时刻 : 用户xxxx,查询twitter的IP

然后返回给咱一个无法访问的错误IP地址
28/
此两点总结起来是:
1.ISP会通过DNS查询记录监控咱的上网行为
2.ISP会通过返回错误IP的方式干扰咱正常访问一些网站
(也称之为DNS投毒) Image
29/
很多时候人们在使用代理的时候,自己的安全性是建立在想象之上的

即“我认为我的代理方式是安全的”

那么在ISP看来咱的网络流量究竟是怎样的呢?咱需要《抓包测试》

逻辑:只相信实证,相信抓包测试结果,而不是对代理过程的想象
30/
咱的《抓包测试》工具是3提到的wireshark,可以适用于macos,windows,linux
…zg5vztmjuricljdp2c5kshju4avyoid.onion/cryptobot4001/…

在wireshark抓包的界面中如图输入filter命令"dns"可以过滤出DNS协议的信息

通常情况如图1,info部分可以看到yahoo字样,事实上这些都是明文的

对咱的需求而言,最完美情况是抓不到DNS,图2 ImageImage
31/
为何抓包结果中没有DNS协议的结果对咱而言是一件好事?
因为wireshark判断DNS协议的方式是,UDP端口用53的便是
查不到,有两种情况

1.DNS over proxy,也就是不直接查询DNS信息,而是使用代理服务器代为查询,此法可阻止本地ISP监控,干扰咱的DNS查询过程

2.DNS加密
32/
DNS协议默认是非加密的,因此给ISP篡改&监控DNS查询过程提供可乘之机

但是如果咱和DNS服务器之间是通过加密协议进行信息交换,那么ISP除了阻断咱和DNS服务器之间的连接以外没有别的操作空间

因为加密以后,无法破解则无法篡改和监听
33/
补充一点,可能推油会想到,既然你ISP的DNS服务器有鬼,是否使用外国公共的DNS服务器可以避免?比如谷歌的8.8.8.8

答案是在大陆不可行,因为传统的DNS协议是明文通讯,ISP想要篡改以及监听依旧是可以的

ISP只要知道咱的DNS请求里面含有黑名单中的关键词,整个审查机制则会运转起来

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with cryptobot4001

cryptobot4001 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @cryptobot4001

Apr 21
1/
《如何创建一个匿名的twitter帐号》
此教学的重点为以下几个点:
* 隐藏ip地址
* 邮箱验证
* 绕过手机号码验证
* 帐号信息及密码管理

如若其他帐号创建涉及以上内容则方法可推广之。
2/
《如果创建一个匿名的twitter帐号:隐藏ip地址》
* 工具:
常规代理 + tor

大概需要通过:
本地代理 -> tor三层代理->twitter的过程

* 分析:
该方案可以做到:
1. 本地运营商(以下简称ISP)不知道咱使用了tor
2. 代理服务器管理/运营者不知道咱目的地是什么
3. twitter不知道咱一级代理ip
3/
《如果创建一个匿名的twitter帐号:隐藏ip地址》
操作方法:
1. 知道本地代理端口(比如shadowsocks常用的1080,或者clash常用的7890,或者v2ray之类的,以及任意自定义的端口)

打开tor关注设置 -> Tor:
先别碰网桥,勾选使用代理访问互联网(tor在中国,俄罗斯等被封禁,通俗讲就是翻墙上tor)
Read 30 tweets
Apr 20
@cryptobot404 1/
《如何创建一个匿名的twitter帐号》
此教学的重点为以下几个点:
* 隐藏ip地址
* 邮箱验证
* 绕过手机号码验证
* 帐号信息及密码管理

如若其他帐号创建涉及以上内容则方法可推广之。
@cryptobot404 2/
《如果创建一个匿名的twitter帐号:隐藏ip地址》
* 工具:
常规代理 + tor

大概需要通过:
本地代理 -> tor三层代理->twitter的过程

* 分析:
该方案可以做到:
1. 本地运营商(以下简称ISP)不知道咱使用了tor
2. 代理服务器管理/运营者不知道咱目的地是什么
3. twitter不知道咱一级代理ip
@cryptobot404 3/
《如果创建一个匿名的twitter帐号:隐藏ip地址》
操作方法:
1. 知道本地代理端口(比如shadowsocks常用的1080,或者clash常用的7890,或者v2ray之类的,以及任意自定义的端口)

打开tor关注设置 -> Tor:
先别碰网桥,勾选使用代理访问互联网(tor在中国,俄罗斯等被封禁,通俗讲就是翻墙上tor)
Read 27 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(