本文介紹一種技術手段用來防止HTTP劫持,在大多數(shù)情況下不但可以解決廣告推送的問題,也能解決密碼截獲和下載軟件被替換的情況。最終的效果是運營商停止了HTTP劫持,而非劫持后通過瀏覽器插件進行廣告過濾。
運營商HTTP劫持(非DNS劫持)推送廣告的情況相信大家并不陌生,解決的方法大多也是投訴增值業(yè)務部門進而投訴工信部。但這種方法費時費力,投訴接聽人員并不了解情況導致答非所問的情況有很多,有時候不但受氣最終也沒能完全解決問題,或者解決問題后過了一段時間復發(fā)的情況并不少見。
近年來,運營商HTTP劫持非但沒有收斂,反而變本加厲,玩出了新花樣:比如通過HTTP劫持進行密碼截獲的活動;比如下載軟件被替換的情況;比如劫持進行返利(當然返利不是返給你)的情況。
本文介紹一種技術手段用來防止HTTP劫持,在大多數(shù)情況下不但可以解決廣告推送的問題,也能解決密碼截獲和下載軟件被替換的情況。最終的效果是運營商停止了HTTP劫持,而非劫持后通過瀏覽器插件進行廣告過濾。此種方法的好處是既不用安裝瀏覽器插件進行廣告過濾,也不用額外的服務器(HTTP代理或VPN之類的),并且能防止下載軟件被替換和返利劫持,也能在一定程度上防范密碼的泄漏。
防治運營商HTTP劫持的終極技術手段
要說明這種技術手段的工作原理,首先需要說明大多數(shù)情況下運營商HTTP劫持的原理:
在用戶的瀏覽器連上被訪問的網(wǎng)站服務器,發(fā)送了HTTP請求后,運營商的路由器會首先收到此次HTTP請求,之后運營商路由器的旁路設備標記此TCP連接為HTTP協(xié)議,之后可以搶在網(wǎng)站服務器返回數(shù)據(jù)之前發(fā)送HTTP協(xié)議的302代碼進行下載軟件的劫持,瀏覽器收到302代碼后就會跳轉到錯誤的軟件下載地址下載軟件了,隨后網(wǎng)站服務器的真正數(shù)據(jù)到達后反而會被丟棄?;蛘?,旁路設備在標記此TCP連接為HTTP協(xié)議后,直接返回修改后的HTML代碼,導致瀏覽器中被插入了運營商的廣告,隨后網(wǎng)站服務器的真正數(shù)據(jù)到達后最終也是被丟棄。
從上述原理中看出,如果需要進行HTTP劫持,首先需要進行標記:如果是HTTP協(xié)議,那么進行劫持,否則不進行劫持。那么,是否有一種方法,既可以避免被旁路設備標記為HTTP協(xié)議,而目標網(wǎng)站收到的仍舊是原來的HTTP請求,并且不需要任何第三方服務器呢?答案是有的:
旁路設備中檢測HTTP協(xié)議的模塊通常比較簡單,一般只會檢測TCP連接建立后的第一個數(shù)據(jù)包,如果其是一個完整的HTTP協(xié)議才會被標記;如果并非是一個完整的HTTP協(xié)議,由于無法得到足夠多的劫持信息,所以并不會被標記為HTTP協(xié)議(我們偉大的防火墻并非如此,會檢查后續(xù)數(shù)據(jù)包,所以這種方法無效)。了解了這種情況后,防止劫持的方法就比較簡單了:將HTTP請求分拆到多個數(shù)據(jù)包內,進而騙過運營商,防止了HTTP劫持。而目標網(wǎng)站的操作系統(tǒng)的TCP/IP協(xié)議棧比較完善,收到的仍舊是完整的HTTP請求,所以也不會影響網(wǎng)頁瀏覽。
那么如何將瀏覽器發(fā)出的HTTP請求拆分到多個數(shù)據(jù)包中呢?我們可以在本地架設一個代理服務器,在代理服務器將瀏覽器的HTTP請求進行拆包,瀏覽器設置本地的代理服務器即可。我這里經(jīng)過測試,默認設置的情況下對三大運營商(電信、聯(lián)通、移動)的HTTP劫持現(xiàn)象都有很好的抑制作用。
河南億恩科技股份有限公司(mszdt.com)始創(chuàng)于2000年,專注服務器托管租用,是國家工信部認定的綜合電信服務運營商。億恩為近五十萬的用戶提供服務器托管、服務器租用、機柜租用、云服務器、網(wǎng)站建設、網(wǎng)站托管等網(wǎng)絡基礎服務,另有網(wǎng)總管、名片俠網(wǎng)絡推廣服務,使得客戶不斷的獲得更大的收益。
服務器/云主機 24小時售后服務電話:
0371-60135900
虛擬主機/智能建站 24小時售后服務電話:
0371-55621053
網(wǎng)絡版權侵權舉報電話:
0371-60135995
服務熱線:
0371-60135900