西西河

主题:【原创】it科普二 蛋疼向研究之GFW -- 浩瀚星辰

共:💬52 🌺62
全看分页树展 · 主题
家园 【原创】it科普二 蛋疼向研究之GFW

GFW是什么大家都知道了,我们今天的目标就是来研究下GFW是怎么工作的。

在国内的朋友可以拿起火狐访问一下 www.youtube.com你会看到

连接被重置

载入页面时到服务器的连接被重置。

* 此站点暂时不可用或者太忙。请稍后重试。

* 如果您无法载入任何页面,请检查您计算机的网络连接。

* 如果您的计算机受到防火墙或代理服务器的保护,请确认 Firefox

被授权访问网页。

到这里很多人就关掉了,大部分人没兴趣去研究究竟发生了什么,他们只是觉得这个网址被被tg封锁了。也因为这几年长春真人实在是太活跃,也许昨天还上去的一个网站今天再去打开就会无法访问,所以经常就会有人一看到某个网站上不去了就会高呼网站被墙了,例如今天的imdb。我个人认为imdb是否被墙了还值得商榷,因为他和其他被墙网站表现形式不太一样。

连接超时

位于 www.imdb.com 的服务器响应时间过长。

* 此站点暂时不可用或者太忙。请稍后重试。

* 如果您无法载入任何页面,请检查您计算机的网络连接。

* 如果您的计算机受到防火墙或代理服务器的保护,请确认 Firefox

被授权访问网页。

看到不太一样的地方了吗?

载入页面时到服务器的连接被重置。

连接超时

位于 www.imdb.com 的服务器响应时间过长。

症状我们已经发现,问题是这个症状下面隐含了什么。

house:foreman,do a MRI!(不明白这句的请无视)

Tracing route to us.dd.imdb.com [207.171.166.140]

over a maximum of 30 hops:

1 2 ms 1 ms 1 ms localhost [192.168.1.1]

2 11 ms 7 ms 34 ms 222.129.184.1

3 7 ms 15 ms 5 ms 125.35.75.13

4 10 ms 8 ms 9 ms 61.148.157.121

5 4 ms 10 ms 10 ms bt-229-253.bta.net.cn [202.106.229.253]

6 14 ms 10 ms 9 ms 123.126.0.29

7 48 ms 49 ms 38 ms 219.158.8.214

8 219.158.11.154 reports: Destination host unreachable.

当然这并不是说没有被墙,而是和正规被墙的情况不太一样,也是为了引出本文的真正主角

tracert www.youtube.com

Tracing route to youtube-ui.l.google.com [74.125.153.100]

over a maximum of 30 hops:

1 2 ms 1 ms 1 ms localhost [192.168.1.1]

2 16 ms 23 ms 15 ms 222.129.184.1

3 10 ms 12 ms 5 ms 61.148.14.81

4 19 ms 11 ms 11 ms 61.148.157.9

5 4 ms 11 ms 8 ms 61.148.157.65

6 5 ms 8 ms 11 ms 123.126.0.5

7 40 ms 41 ms 42 ms 219.158.4.102

8 77 ms 83 ms 72 ms 219.158.3.222

9 * * * Request timed out.

10 124 ms 112 ms 123 ms 209.85.249.192

11 113 ms 109 ms 306 ms 209.85.250.86

12 218 ms 126 ms 112 ms 209.85.250.103

13 134 ms 113 ms 120 ms 72.14.233.130

14 119 ms 116 ms 111 ms ty-in-f100.1e100.net [74.125.153.100]

Trace complete.

问题在于去往youtube的数据包居然畅通无阻,但是我们什么也看不到。

之后大家可以联想下在google 搜f l g的效果,往往是一开始能看到些东西,之后就没有返回数据,你要看的东西被动态的墙了。

现在我们就来解密下gfw的工作原理吧,实际上火狐已经告诉大家是怎么回事了你的链接被重置了,但问题是重置是怎么回事恐怕一般人不知道.

我们先看看tcp的包结构

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Source Port | Destination Port |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Sequence Number |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Acknowledgment Number |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Data | |U|A|P|R|S|F| |

| Offset| Reserved |R|C|S|S|Y|I| Window |

| | |G|K|H|T|N|N| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Checksum | Urgent Pointer |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Options | Padding |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| data |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

其中我们本次的主角就是

Control Bits: 6 bits (from left to right):

URG: Urgent Pointer field significant

ACK: Acknowledgment field significant

PSH: Push Function

RST: Reset the connection

SYN: Synchronize sequence numbers

FIN: No more data from sender

这个RST就是让大家看不到想看东西的元凶。

接下来我们就可以分析一下这个东西是怎么工作的,他蹲在主要出口路由上,只要敏感字符到达一个限制就马上向你机器推送一个伪装成你目标主机含有rst被置1的数据包,接下来你的计算机告诉你,载入页面时到服务器的连接被重置,于是你就看不到下面的东西了。

tcp数据包结构看不清的可以去看

http://www.faqs.org/rfcs/rfc793.html

rfc 793

全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河