長和系 GFW 疑雲

剛從 Sidekick 處看見這樣的一個消息。我本身是用網上行,當然急不及待想試一試:結果和 Sidekick 一樣,瀏覽器只出現白頁。

當然這樣便咬定是網上行搞鬼太武斷,所以應進一步測試。不可以單靠 ping 或 tracert(traceroute) 兩個工具來檢查,因為很多伺服器太多設定會擋掉這種封包,結果也不準確。比較正確的做法應該使用 Ethereal 等等直接觀測網絡封包的工具。

所謂封包,相信對互聯網稍有認識的人也知道,電腦在 Internet 上傳送資料就像到郵局寄包裹:電腦會預先將訊息「斬件」,再加上諸如目的地和回郵地址等等資訊,才送到網絡上的。Internet 裏除了資料封包以外,有時候電腦為了防止掉亂次序或避免資料遺失,也會加入一些只有純為指令的封包以便操控。

packet左圖是 Ethereal 記錄我跟該網站之間通訊封包的清單。列表上綠色的封包表示成功傳送到對方電腦(不管是我還是對方寄出)的封包,最初我和對方跟正常一樣建立了連線(按:稍有認識的朋友大概可以看見我跟對方完成了 Three-way handshake),但直到當我向對方要求觀看網頁的時候(按:GET / HTTP/1.1),對方突然傳來中斷連線的指令(紅色的那幾個;RST 封包是也),結果我們之間的連線也中斷了。

因為那中斷連線太突然(按:正常會送出 FIN 訊號,而不是 RST),所以絕不可能透過編寫網頁或更改網頁伺服器設定做到(那種改法被禁止的用戶還是會收到由伺服器發出的錯誤訊息),而是要由管理員修改伺服器防火牆設定的。不過,如果是更改防火牆設定(或加上所謂的 IP Filter),雙方之間應該不可以建立到連線,我的封包應如石沉大海一樣沒回應才是。

除此之外,我也檢查過鄰近的 IP 位址,發現 69.49.101.19 (www.ntscmp.com) 至 69.49.101.21 也連不上(也是成功連線卻突然中斷),相反透過大學的電腦(連上學術網絡)卻可以如常到訪這些網站。很神奇,是不是?

最後,為了肯定對方設定錯誤,用 nmap 找找看除了網頁以外那台伺服器還有甚麼服務。結果如下:

DNS resolution of 1 IPs took 0.27s.
Initiating SYN Stealth Scan against hostedc10.megawebservers.com (69.49.101.19)
[1680 ports] at 02:09
Discovered open port 80/tcp on 69.49.101.19
Discovered open port 21/tcp on 69.49.101.19
SYN Stealth Scan Timing: About 10.81% done; ETC: 02:13 (0:04:07 remaining)
The SYN Stealth Scan took 255.08s to scan 1680 total ports.

除了 80 (http) 以外還有 21 (ftp) 可以用呢。接著我便試試拿 Firefox 連線看看:
packet2
奇蹟發生了,居然 FTP 可以連上同一個伺服器呢!雖然因為沒正確用戶資料而不能登入,卻不像觀看網頁一樣,連線給無端端中斷掉!這是很完整的連線過程。

結論:
1. 網站作者本身拒絕探訪機會很微 (這種中斷要的權限頗高)
2. 因網上行用戶攻擊,對方管理員設定防火牆或 IP 過濾做成的機會是零 (既然如此,應根本建立不了連線才是;而且 ftp 連得上)
3. 這種建立連線後再突然下斷線指令的現象,跟早前劍橋大學分析中國 運作方式同出一轍

我相信中間有人搞鬼。

Update 1:
寫得淺白一點,打個比喻吧。(請別拿這篇東西找論點)

打電話找朋友,電話明明接通了,聽見對方明明提起了聽筒,你說不到半句線路卻無端掛斷。自己跟某些電話號碼很相近的朋友也是這樣,但是其他人卻沒有這個問題,可以和他如常通話;你們也可以如常致電給其他人。不過用同一條線路卻可以發傳真給他,不會無故被中斷。

Update 2:
憑這些便指控某 ISP 似乎不太足夠,因為這也是我單方面的觀察啊。當然最好便是對方(指該伺服器)也有一份像這樣的封包清單,不過機會很微(這種東西問他們也不會給你)… 誰知道哪個地方出了問題?
但值得懷疑,這哪一方面也不像設定錯誤…

Update 3:
另一 HGC 用戶 Steve 所作的測試,比我又詳細要多了。(因為 Pingback 連結出現錯誤,現貼上更正)

One thought on “長和系 GFW 疑雲

Leave a Reply

Your email address will not be published. Required fields are marked *