自動更換ip地址的刷票軟體是如何實現的?

因為朋友參加了某網站的活動,讓我幫他刷票。該網站限制單個ip地址投票數量,並且隔日不清零。我通過adsl重新撥號換ip速度較慢(每分鐘1~2票)。
於是我去淘寶找到一家刷票服務店,他承諾可以更換全國ip地址投票。結果確實成功了,而且速度很快(每小時5000~1萬)。
我也是it從業人員,這種刷票的原理卻百思不得其解。刷票公司能擁有數十萬個獨立ip嗎?ip只能通過代理來改變,並不能偽裝吧?
這麼多獨立ip,難道是肉雞?老闆告訴我他可以把軟體一次性賣給我(價格較高我沒買),這樣想要多少票我都可以投。如果是肉雞的話應該做不到吧?
這種軟體是什麼工作原理呢?


更新,來認真回答下編程實現的可能。

實際上不用第三方資源編程實現刷票還是有可能的,前提是網站的IP分析有破綻。

要想知道為什麼,首先我們來看限制IP投票的機理:

有人說了,機理很簡單,取客戶端IP,然後記錄資料庫,同時累計本IP的投票次數,超過限額則不允許繼續投票。

你說的很對,但是忽略了一個情況,如果一個公司只有一個網關,出口就是一個獨立IP,是不是意味著無論這個公司多少人,都只能投一票?

可能這時候你還可以強辯,我給每個IP五票,所以每家公司可以投五次。

那你知不知道類似XX寬頻神馬的可能是一個城市只有一個/幾個獨立IP?

呃......

因此我們拿出RFC翻閱,終於發現原來獲取客戶端IP的方法並不止一個,至少有三個HTTP HEAD可以獲取用戶端IP,REMOTE_ADDR、HTTP_VIA、HTTP_FORWARDED_FOR,那麼這三個參數有何不同呢?

REMOTE_ADDR是WEB伺服器獲取的用戶IP值,也就是你最終的外網IP,它的壞處是,重複的太多,所以不能作為唯一判斷標誌。

HTTP_VIA是倒數第二個代理伺服器/網關的IP

HTTP_FORWARDED_FOR是所有網關和你自己的IP列表,格式如:202.96.103.1,202.84.2.1,192.168.1.12

程序員如獲至寶,就是它了,代碼如下:

//先取代理IP列表
string strIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(strIP))
{
//取不到代理IP則直接從伺服器變數取
strIP = Request.ServerVariables["REMOTE_ADDR"];
}

於是,你掉坑了,因為HTTP_X_FORWARDED_FOR是可以改的,最簡單的方法就是如@朱海洋 所說,自己架一個本地Proxy,然後IP亂變,複雜一點就用代碼實現自己填充HTTP_HEAD

以上方法未必一定能成功,取決於伺服器上代碼的實現,如果人家鐵了心就是要歧視沒有公網IP的用戶你也沒轍。

=============

想想光教刷票不教防不地道,其實也很簡單:REMOTE_ADDR限制1000個(可以根據網站訪問量調整),每日清零;HTTP_X_FORWARDED_FOR(為空不計入) REMOTE_ADDR限制一次,不清零。

=============


給你幾個可能答案:

內置了大量代理的軟體,這些代理可能是他們自己運營的,或者是通過肉雞架設的,或者網上找來的。

見過能同時插大量手機sim卡的卡槽么?簡訊刷票都是用這個的。

他們發布了某款免費軟體,可以後台執行特定的http請求指令。

他們破解了某個用戶數比較多的軟體的伺服器,可以控制客戶端隨意執行特定http請求。

他們手上有流量站,嵌入個代碼不是很難,訪問用戶就不小心投了票。

利用互聯網廣告在線投放系統,把投票鏈接作為廣告投放出去。

眾包給五毛黨,一票五毛。

我也不知道他們用哪個,反正都可以。

另外,人家不必把肉雞的產權給你,只給使用權就好,75年。


google app engine就是成本最低的ip池,一般人我不告訴他……


之前幫親戚刷票就是proxy_for,假裝自己是代理,然後ip從1.1.1.1開始暴力for循環


正好前段時間我做了個投票系統,不出意外也出現了刷票行為。說下我的解決辦法。
1.IP限制+cookie判斷。刷票者能通過adsl不斷換IP,但總歸是在同一台電腦上,雖然能清理cookie,但是至少讓他們的操作變得麻煩了。
2.驗證碼+驗證問題。驗證碼一定要搞牛逼點,不能被機器識別了。同時一定要加驗證問題,可以自己寫,我大概寫了100多個問題,隨機取,偶爾再去添加幾個。這樣很大程度上降低了刷票行為。基本只能由人工刷票了。
3.人工分析IP記錄。存在刷票行為的記錄,IP都是一個段內的,我是直接把刷票記錄刪掉。
4.再牛逼點就是手機簡訊驗證了。這成本就大了。我沒用。


如果網站不檢測代理的話就用代理伺服器,如果檢測的話就偽裝成代理伺服器。


代理ip的post或者get


更換ip很慢又投不了多少票 還不如找投票公司來得直接


用代理iP來的比較多


推薦閱讀:

為什麼中國很多的網站在登錄時都不採用HTTPS 加密協議呢?
如何看待中國安全研究團隊多次獲得特斯拉致謝?
怎樣才能更全面的刪除網路上與自己有關的信息?
全球互聯網治理聯盟是個什麼樣的組織?
為何網路安全法影響如此巨大沒有得到足夠的關注?

TAG:軟體 | 網路安全 | 投票 | 計算機網路 | IP地址 |