我收到一份《中國焦慮圖鑒》
我不知道技術是否有罪,我只知道,這些盤踞在我們廣袤版圖上數以十億計的爬蟲,無時無刻不在提醒著我們:抱怨不會讓這個世界變得更好,你想生活在一個怎樣的世界,就要用自己的雙手去創造它。
這里有三個問題:
- 你以為你在大眾點評上找到的館子,真的是幾百個人給了好評,然后才出現在你的推薦里的嗎?
- 你以為你在百度上搜索到的信息,真的是百度想讓你看到的嗎?(注意體會這句話的意思,不是日常黑百度)
- 你以為在微博上看到的熱搜話題大V互動,真的都是真實發生的嗎?
每年總有那么幾天,幺哥會心情焦慮,坐立不安。那是因為,他又要準備搶回家的火車票了。幺哥家在湖南,離北京上千公里。他是家里的獨子,每年買到火車票準時出現在家門口是他的“義務”。
這兩年,他的救命稻草是一個搶票軟件,他在打折的時候買了會員,據說會員是有特權的:哪怕只搶到一張票,都會優先給他。(起碼幺哥是這樣安慰自己的。)
從技術上說,幺哥的救命稻草不是搶票軟件,而是搶票軟件背后,無數個叫做“爬蟲”的東西。
爬蟲就是一個探測機器,它的基本操作就是模擬人的行為去各個網站溜達,點點按鈕,查查數據,或者把看到的信息背回來,就像一只蟲子在一幢樓里不知疲倦地爬來爬去。
你每天使用的百度,其實就是利用了這種爬蟲技術:每天放出無數爬蟲到各個網站,把他們的信息抓回來,然后化好淡妝排著小隊等你來檢索。搶票軟件,也相當于撒出去無數個分身,每一個分身都幫助你不斷刷新 12306 網站的火車余票。
正好在上周末,一位黑客盆友御風神秘兮兮地給我發來一份《中國爬蟲圖鑒》,這哥們在某安全實驗室主要負責加班,順便和同事們開發了很多黑科技。比如:他們搞了一個威脅情報系統,號稱能探測到全世界的“爬蟲”都在做什么。
我打開《圖鑒》,一分鐘以后,我整個人都不好了,我看到了另一個“平行世界”:
就在我們身邊的網絡上,已經密密麻麻爬滿了各種網絡爬蟲,它們善惡不同,各懷心思。而越是每個人切身利益所在的地方,就越是爬滿了爬蟲。看到最后,我發現這哪里是《中國爬蟲圖鑒》,這分明是一份《中國焦慮圖鑒》。
我們今天要說的,就和這些 App 有關。
一、爬蟲的“騷操作”
爬蟲也分善惡。像谷歌這樣的搜索引擎爬蟲,每隔幾天對全網的網頁掃一遍,供大家查閱,各個被掃的網站大都很開心。這種就被定義為“善意爬蟲”。
但是,像搶票軟件這樣的爬蟲,對著 12306 每秒鐘恨不得擼幾萬次,鐵總并不覺得很開心,這種就被定義為“惡意爬蟲”。(注意:搶票的你覺得開心沒用,被掃描的網站覺得不開心,它就是惡意的。)
給你看一張圖:
這張圖里顯示的,就是各行各業被爬“叨擾”的比例。(這張圖顯示是全世界,不是全中國)而每一個色塊背后,都是一條真實而強大的利益鏈條。
1. 排名第一的是出行
出行行業中爬蟲的占比最高(20.87%),在出行的爬蟲中,有89.02%的流量都是沖著 12306 去的。這不意外,全中國賣火車票的獨此一家別無分號。
你還記得當年12306 上線王珞丹和白百何的“史上最坑圖片驗證碼”么?
這些東西不是為了故意難為老老實實賣票的人的,而恰恰是為了阻止爬蟲(也就是搶票軟件)的點擊。剛才說了,爬蟲只會簡單的機械點擊,它不認識白百何,所以很大一部分爬蟲就被擋在了門外。
你可能會說,不對啊,我現在還可以用搶票軟件搶到票啊。
沒錯,搶票軟件也不是吃素的,它們在和鐵總搞“對抗”,有一種東西叫做“打碼平臺”,你可以了解一下。
打碼平臺雇傭了很多叔叔阿姨,他們在電腦屏幕前不做別的事情,專門幫人識別驗證碼。那邊搶票軟件遇到了驗證碼,系統就會自動把這些驗證碼傳到叔叔阿姨面前,他們手工選好哪個是白百何哪個是王珞丹,然后再把結果傳回去??偣驳倪^程用不了幾秒時間。
這樣的打碼平臺還有記憶功能,如果叔叔阿姨已經標記了這張圖是“鍋鏟”,那么下次這張圖片再出現的時候,系統就直接判斷它是“鍋鏟”。時間一長,12306 系統里的圖片就被標記完了,機器自己都能認識。
你可能會問:為什么 12306 這么“摳”呢?它大方地讓爬蟲隨意爬會死嗎?
會死。
你知道每年過年之前,12306 被點成什么樣了嗎?
公開數據是這么說的:
“最高峰時1天內頁面瀏覽量達 813.4 億次,1 小時最高點擊量 59.3 億次,平均每秒 164.8 萬次?!?/p>
這還是加上驗證碼防護之后的數據,可想而知被攔截在外面的爬蟲還有多少。鐵路被爬蟲“點雞”成這樣已經夠慘了,但它還有個難兄難弟,就是航空。航空軟件里,被搞得最慘的不是國航,不是海航也不是東航,而是亞航。
航空類爬蟲的分布比例
很多人可能都沒坐過亞洲航空,這是一家馬來西亞的廉價航空公司,航線基本都是從中國各地飛往東南亞的旅游勝地,飛機上連礦泉水都得自費買,是屌絲度假之首選。
為什么爬蟲這么青睞亞航呢?
因為它便宜,確切地說,因為它經常放出便宜的票。本來,亞航的初衷只是隨機放出一些便宜的票來吸引游客,但這里面黃牛黨是有利可圖的。
據我所知,他們是這樣玩的:
技術宅黃牛黨們利用爬蟲,不斷刷新亞航的票務接口,一旦出現便宜的票,不管三七二十一先拍下來再說。
亞航有規定,你拍下來半小時(具體時間記不清了)不付款票就自動回到票池,繼續賣。但是黃牛黨們在爬蟲腳本里寫好了精確的時間,到了半小時,一毫秒都不多,他又把票拍下來,如此循環。直到有人從黃牛黨這里定了這個票,黃牛黨就接著利用程序,在亞航系統里放棄這張票,然后0.00001秒之后,就幫你用你的名字預定了這張票。
2. 排名第二的是社交
社交的爬蟲重災區,就是你們喜聞樂見的微博。
給你看張圖:
爬蟲經常光顧的微博地址
這里的代碼其實指向了微博的一個接口,它可以用來獲取某個人的微博列表、微博的狀態、索引等等。
獲得這些,能搞出什么騷操作呢?
你想想看,如果我能隨心所欲地指揮一幫機器人,打開某人的微博,然后刷到某一條,然后瘋狂關注、點贊或者留言,這不就是標準的僵尸粉工作的流程么……
其實,僵尸粉都只是爬蟲的常規操作,更騷的來了:
- 我是一個路人甲,我的微博沒人關注,我用大量的爬蟲,給自己做了十萬人的僵尸粉,一群僵尸在我的微博下面點贊評論;
- 我去找一個游戲廠商,讓他在我這投廣告吧。我發一條游戲的注冊鏈接,每有一個人通過我的鏈接注冊了游戲,游戲廠商就給我一毛錢;
- 十萬爬蟲繼續前赴后繼地點擊注冊鏈接,然后自動去完成注冊動作。
(以上數據不一定和現實吻合,只是展現一個邏輯。具體操作也會更復雜。)
同樣的,十萬僵尸粉去搶你家愛豆在微博上發的紅包,都是一樣的道理。
3. 排名第三的是電商
你回憶一下,有幾種東西叫做“比價平臺”、“聚合電商”和“返利平臺”。
他們大體都是一個原理:你搜索一樣商品,這類聚合平臺就會自動把各個電商的商品,都放在你面前供你選擇,如:淘寶、京東,還有唯品會蘇寧易購。
這就是爬蟲的功勞,它們去淘寶上,把不同網站的產品的圖片和價格統統扒下來,然后在自己這里展示。
這個原理和谷歌差不多,只不過他們展示的不是網頁而是商品。但是被放在一起比價,淘寶是拒絕的,京東也是拒絕的啊……
然而,由于機器爬蟲模擬的是人的點擊,電商很難阻止這類事情發生,他們甚至都不能向 12306 學習。你想想看,如果你每點開一個商品詳情,淘寶都讓你先分辨一次白百何和王珞丹,你肯定沒心情剁手了。
當然,電商對抗爬蟲有另外的方法,那就是“web 應用防火墻”,簡稱 WAF,這個我們后面再單獨說。
說到這,有人會有個疑問:那些聚合平臺,自己寫爬蟲,然后幫助淘寶京東賣貨,他們的名字叫雷鋒么?
醒醒啊同學,這里隨便給你說一下這種聚合電商平臺的盈利模式:
- 假設幾家店鋪都賣杜蕾斯,但是用戶在我這里搜索“杜蕾斯”的時候,我是有權利決定誰的店鋪在前面誰在后面。誰給的錢多,我就讓誰在搜索的前面。(注意,每個店鋪和淘寶平臺可不是一致行動人。淘寶平臺不希望自己的內容被聚合平臺抓取,但每個店鋪可是很樂意多一個渠道幫他們賣貨的。)
- 如果你覺得搞競價排名良心會痛,也可以用更簡單的方式——在網頁上展示獨立的廣告。訪問你網站的用戶,看到頁面上的廣告,也有可能會點擊。每點擊一次,你就賺一次錢。
- 你還可以作為中間商,收點中介費。你幫店家賣貨,店家會進行返利。這種套路,就是“返利網”這類平臺的玩法。
4. 接下來是 O2O 和搜索引擎
還記得開頭我問的幾個問題:你在大眾點評上看到的信息,真是吃貨們點評的嗎?
答:大部分時候是,但有時候不是。這里面的影響因素還是爬蟲。
御風告訴我,這些爬蟲很可能被用來做兩件事:
- 大眾點評是點評網站,內容比較全面,很多網站都會爬取大眾點評的數據,用來豐富自己的信息。
- 很多剛上點評的商戶,信譽值不高,可以用爬蟲來模擬留言、點贊,刷高自己的信譽值。
所以,理論上講一旦大眾點評對這些爬蟲對抗出現松懈,就會有一些并不怎么樣的店鋪被“刷”到頂部。
與之相似的,是爬蟲針對搜索引擎的進攻。
你可能了解,搜索引擎決定哪個網頁排名靠前,(除了廣告以外)主要一個指標就是看哪個搜索結果被人點擊的次數更多。既然這樣,那么我就派出爬蟲,搜索某個特定的“關鍵詞”,然后在結果里拼命地點擊某個鏈接,那么這個網站在搜索引擎的權重里自然就會上升。這個過程就叫做 SEO(搜索引擎優化)。
舉個例子:我隨意搜索一個關鍵詞。
它排在前面的網址,有可能就是經過 SEO 的。作為任何一個搜索引擎,都肯定不允許外人對于自己的搜索結果動手動腳,否則就會喪失公立性。它們會通過不定期調整算法來對抗 SEO。
5. 最后是政府部門網站
你看這張圖,全是爬蟲針對政府信息的爬取。
第二名,北京市預約掛號統一平臺,這個鍋,板上釘釘要號販子來背。
其他的,例如:法院公告、信用中國、信用安徽,為什么爬蟲要爬這些信息呢?
因為有些信息,是只有政府部門才掌握的。
比如:誰被告過,哪家公司曾經被行政處罰,哪個人曾經進入了失信名單。這些信息綜合起來,可以用來做一個公司或者個人的信譽記錄。
我試著打開了一下排名第四位的“信用中國”。
在這個平臺上,你只要輸入一個身份證號或者手機號,就可以查詢到一個人的信用情況,而這個網站正是屬于政府機構的。
如果一家公司要對外做信譽庫的服務,它必須先把信用中國的信息下載到自己的庫里,然后才能和其他數據進行綜合運算。如此,信用中國被爬,也就很容易解釋了。
剛才那張表格里,排名第七的是四川住建廳。根據御風的推測,這很可能是某些公司提供的一項“特殊服務”:他們把四川省各個地區的招標情況匯總起來,然后實時提醒那些房地產公司“別睡了,起來投標了”。
二、爬蟲戰爭
說了這么多,我猜你會有幾個疑問。
1. 爬蟲搞出這么多姿勢,它究竟是不是違法呢?
我打開中國網安第一大法《網絡安全法》仔細看了半小時,在里面沒有發現“爬取網絡公開信息被認定為違法”的條款。
繼續搜索,我又發現了幾條司法解釋:
未經授權爬取用戶手機通訊錄超過50條記錄;未經授權抓取用戶淘寶交易記錄超過500條;未經授權讀取用戶運營商網站通話記錄超過500條;未經授權讀取用戶公積金社保記錄的超過50000條的。以上這些情況可以入刑。
但是仔細看看,如果我只是用機器代替了人的手點擊鼠標敲擊鍵盤,接觸的都是公開信息,并不觸犯這些司法解釋。(這只是我簡單查詢后的結果,不代表任何官方意見)
但是,對企業來說,爬蟲卻著實傷害了自己。有句話說:“主救自救者”,他們得組織“民兵”自己保衛自己。
2. 爬蟲戰爭誰會贏?
爬蟲和被爬企業越來越勢不兩立,說白了,他們的對抗都是在阻擋對方的財路,所以下手都挺重。
企業經典的對抗方式,大概有幾種:圖片驗證碼、滑塊驗證、封禁 IP、給訪問者增加一些加解密運算,耗費爬蟲的程序資源等等。
極驗驗證的滑塊驗證技術
除了剛才這些小模塊,企業還可以通過 WAF(Web 應用防火墻)來防護,WAF 的功能就是通過設置一些規則,攔截掉那些不符合規則的請求。
但是,爬蟲的請求,和真人的請求太像了。
我覺得,對這種戰爭一個形象的比喻就是抗癌。癌細胞的目的就是拼命躲過免疫細胞的識別,而免疫細胞的目標就是拼命分辨哪個是好細胞哪個是癌細胞。
在我看來,這場對抗爬蟲的常規戰眼看就要升級為“智能戰”,而且戰線會向云端轉移。最近一些云安全廠商,已經在計劃通過人工智能的方法來識別爬蟲,主推反爬蟲的技術。
不過,就像人類目前難以消滅癌癥一樣,企業也難以完全消滅爬蟲。但是我相信,在對抗中這條戰線會達到一個精妙的平衡。這個戰線每向前推進一步,都需要安全研究員付出艱辛的努力。
三、《中國焦慮圖鑒》
最后,幫你搞到了一張表格,這是被監測到的受爬蟲侵擾最多的 Top50。(采樣數據,僅供參考)
這張表里,除了google、Youtube、ask、亞洲航空這四家企業之外,應該全是中國企業(或機關)。正是從這些名字背后,我體會到了很多人的辛酸和焦慮。
爬蟲是趨利的,它們永遠會向有利益的地方爬行。而爬蟲覺得有利益的地方,往往是我們不忍提及的隱痛。
排名第1的是“中國鐵路路客戶服務中心”,無數像幺哥一樣的游子,他們奮斗在一個遠離家鄉的城市,為了讓家人有更幸福的生活。正是他們難以買到過年回家車票的事實,才把 12306 推上了爬蟲榜的第一名。
排名第8的是“最高人民法院公告查詢”,在中國,我們的信用體系還很不完善,騙子和老賴還可以繼續蒙騙新人。所以才催生了爬蟲收集法院公告,形成民間信用記錄的服務。
排名第15的是“北京市預約掛號統一平臺”,我們的醫療改革在進行,但像你我一樣的普通人仍然看病難,又便宜又好的醫療資源需要爭奪,這才有了“一號難求”的現實,才有了黃牛用爬蟲拼命搶號的現象。
自不用說那些神坑的虛假廣告,沖榜刷量,背后都有爬蟲的影子。
有人說技術有罪,有人說技術無罪。
我不知道技術是否有罪,我只知道,這些盤踞在我們廣袤版圖上數以十億計的爬蟲,無時無刻不在提醒著我們:
抱怨不會讓這個世界變得更好,你想生活在一個怎樣的世界,就要用自己的雙手去創造它。
作者:史中,是一個傾心故事的科技記者,微博:@史中方槍槍
原文鏈接:https://www.huxiu.com/article/254155.html
本文由 史中@淺黑科技 授權發布于人人都是產品經理,未經作者許可,禁止轉載
題圖作者提供
更好奇筆者朋友的“威脅情報系統”是怎么搞出來的了
倒吸一口涼氣……………
終于知道極驗驗證這家公司為什么存在了。。。
爬蟲,爬?。。?/p>
記者的筆力就是比其他人強
真棒,干
不錯,就喜歡這種實在帖,其他的帖子廢話太多了。
問題來了,老師,在那么多**的搜索推薦中,到底哪個,才是真正的網址
技術貼!感謝科普。
另外,一個學心理的朋友跟我說,人在毫無防備的情況下,隨意而為的行為,最能反映當下的心理活動。
所以我想請問下老師,當您隨意在搜索引擎搜索XX的時候,您的心理在想什么。。
hahaha
壞