自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么隨機IP、隨機UA也逃不掉被反爬蟲的命運

安全 應(yīng)用安全
但實際上,還有一個東西,叫做瀏覽器指紋,它是不會隨著你更換 IP 或者 User-Agent 而改變的。而且即使你不使用模擬瀏覽器,你直接使用 Golang、使用 Python,它們也有自己各自的指紋,并且他們的指紋每次請求也是固定的。

[[418573]]

有些同學(xué)在寫爬蟲的時候,覺得只要自己每次請求都使用不同的代理 IP,每次請求的 Headers 都寫得跟瀏覽器的一模一樣,就不會被網(wǎng)站發(fā)現(xiàn)。

但實際上,還有一個東西,叫做瀏覽器指紋,它是不會隨著你更換 IP 或者 User-Agent 而改變的。而且即使你不使用模擬瀏覽器,你直接使用 Golang、使用 Python,它們也有自己各自的指紋,并且他們的指紋每次請求也是固定的。只要網(wǎng)站發(fā)現(xiàn)某個擁有特定指紋的客戶端持續(xù)高頻率請求網(wǎng)站,它就可以把你封掉。

你似乎不相信?那我證明給你看。

現(xiàn)在,我準備一個隧道代理,如下圖所示:

然后,我們打開一個網(wǎng)站:https://ja3er.com/json . 當你用電腦瀏覽器打開它的時候,它是這樣的:

不論你怎么刷新網(wǎng)頁,這上面的字符串都是不會變的。

現(xiàn)在,我使用 Python 去請求這個頁面,看到的內(nèi)容如下圖所示:

可以看到,雖然我使用了隧道代理,每次請求的 IP 都是不一樣的,但是這個網(wǎng)站返回的內(nèi)容始終是一樣的。所以如果這不是一個測試網(wǎng)站,而是一個加了這個檢測機制的網(wǎng)站,那么它輕松就能把我給屏蔽了。

這個檢測算法,叫做JA3算法。這個算法在官網(wǎng)上面的介紹信息如下:

The JA3 algorithm takes a collection of settings from the SSL “Client Hello” such as SSL/TLS version, accepted cipher suites, list of extensions, accepted elliptic curves, and elliptic curve formats.

JA3算法收集了 SSL 請求里面的信息,包括但不限于 SSL/TLS 版本,Cipher Suites數(shù)量,瀏覽器擴展列表,elliptic curves等等。通過這一系列參數(shù)綜合起來生成一個指紋字符串。也許這些參數(shù)里面,你跟一些人的 Cipher Suites 數(shù)量相同,你跟另外一些人的瀏覽器擴展數(shù)相同,你又跟另外一些人的 TLS版本號相同……但是所有這些參數(shù)全部相同的人,就非常少了。而在這非常少的人里面,這些人還同時訪問同一個網(wǎng)站的可能性就更小了。所以,網(wǎng)站用 JA3算法,可以近似認為,在一段時間內(nèi),指紋字符串相同的連續(xù)請求,有極大概率是來自同一個人。

JA3算法的三個作者之一John Althouse寫了一篇文章來介紹瀏覽器指紋和 JA3算法:TLS Fingerprinting with JA3 and JA3S | by John Althouse | Salesforce Engineering[1] 。有興趣的同學(xué)可以看一看。

但我們說,魔高一尺,道高一丈。JA3算法是不是真的無懈可擊呢?其實也不是,仍然有辦法繞過去的。請大家期待我后面的文章。

P.S.: 給大家科普一個小知識,日常生活中,我們常常聽一些人說,道高一尺,魔高一丈,又聽另一些人說,魔高一尺,道高一丈。那么這兩句到底哪一句是對的,什么情況下應(yīng)該用哪一句呢?

其實,以道高一尺,魔高一丈為例,它的意思是,道非常厲害,道往上漲一尺所產(chǎn)生的力量,魔需要往上漲一丈才能抵消。通俗的講,就是巨人走一步,普通人要走十步才能追的上。

同理,魔高一尺,道高一丈的意思是魔非常厲害,魔往上漲一尺所產(chǎn)生的力量,道需要往上漲一丈才能抵消。

但我們?nèi)粘I钪?,很多人以為,魔高一尺,道高一丈的意思是說,魔長高一尺的時間,道已經(jīng)長高了一丈,所以魔永遠追不上道。這種理解是錯誤的,這些人剛好把意思搞反。

參考資料

[1]TLS Fingerprinting with JA3 and JA3S | by John Althouse | Salesforce Engineering:https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967

本文轉(zhuǎn)載自微信公眾號「未聞Code」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系未聞Code公眾號。

 

責任編輯:武曉燕 來源: 未聞Code
相關(guān)推薦

2022-07-28 14:17:45

黑客網(wǎng)絡(luò)攻擊

2023-12-06 07:33:20

MySQL鎖事間隙鎖

2025-02-04 17:24:22

2022-11-24 10:24:32

2012-10-16 09:44:38

微軟Windows 8

2016-10-13 15:51:50

2022-09-14 23:06:45

2021-12-27 09:31:20

HashtableJava隨機數(shù)

2015-02-05 09:45:19

拙劣軟件軟件開發(fā)

2022-03-16 10:07:35

AMDIntel芯片

2009-12-01 10:19:24

WiMAX

2016-08-17 12:29:53

存儲SSDNAND Flash

2025-02-17 08:10:00

C++代碼lambda

2010-03-23 09:47:38

Python隨機數(shù)Python隨機字符串

2022-09-20 07:02:20

網(wǎng)絡(luò)爬蟲反爬蟲

2013-07-10 09:38:22

OpenStackLinux

2021-04-12 05:58:43

進程內(nèi)核機制

2018-01-29 09:28:44

2012-02-09 10:41:33

小米手機雷軍

2024-06-07 08:56:43

HTTPPythonSelenium
點贊
收藏

51CTO技術(shù)棧公眾號