長和系 GFW 疑雲

Friday, September 22nd, 2006

剛從 Sidekick 處看見這樣的一個消息。我本身是用網上行,當然急不及待想試一試:結果和 Sidekick 一樣,瀏覽器只出現白頁。 當然這樣便咬定是網上行搞鬼太武斷,所以應進一步測試。不可以單靠 ping 或 tracert(traceroute) 兩個工具來檢查,因為很多伺服器太多設定會擋掉這種封包,結果也不準確。比較正確的做法應該使用 Ethereal 等等直接觀測網絡封包的工具。 所謂封包,相信對互聯網稍有認識的人也知道,電腦在 Internet 上傳送資料就像到郵局寄包裹:電腦會預先將訊息「斬件」,再加上諸如目的地和回郵地址等等資訊,才送到網絡上的。Internet 裏除了資料封包以外,有時候電腦為了防止掉亂次序或避免資料遺失,也會加入一些只有純為指令的封包以便操控。 左圖是 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 ...