paint-brush
Úloha odtlačku prsta TLS pri zoškrabovaní webupodľa@brightdata
312 čítania
312 čítania

Úloha odtlačku prsta TLS pri zoškrabovaní webu

podľa Bright Data6m2024/10/18
Read on Terminal Reader

Príliš dlho; Čítať

Ak sa váš webový škrabák stále blokuje, môže to byť spôsobené vaším odtlačkom prsta TLS. Dokonca aj keď nastavíte hlavičky HTTP ako prehliadač, systémy proti botom dokážu rozpoznať automatické požiadavky analýzou vášho odtlačku prsta TLS počas handshake. Nástroje ako cURL Impersonate, ktoré napodobňujú konfigurácie TLS prehliadača, môžu pomôcť obísť tieto bloky. Ak chcete získať úplnú slobodu zoškrabovania, zvážte použitie riešení, ako je rozhranie API scraping Browser od Bright Data.
featured image - Úloha odtlačku prsta TLS pri zoškrabovaní webu
Bright Data HackerNoon profile picture
0-item

Váš webový škrabák sa opäť zablokoval? Uf, čo teraz? Pribili ste tieto hlavičky HTTP a urobili ste to ako prehliadač, ale stránka stále zistila, že vaše požiadavky boli automatizované. Ako je to vôbec možné? Jednoduché: je to váš odtlačok prsta TLS! 😲


Ponorte sa do záludného sveta odtlačkov prstov TLS, odhaľte, prečo je to tichý zabijak za väčšinou blokov, a naučte sa, ako ho obísť.

Anti-Bot vás opäť zablokoval? Čas zistiť prečo!

Predpokladajme, že máte čo do činenia s typickým scenárom škrabania. Vytvárate automatickú požiadavku pomocou klienta HTTP – ako sú požiadavky v jazyku Python alebo Axios v jazyku JavaScript – na načítanie kódu HTML webovej stránky, aby ste z nej zoškrabali nejaké údaje.


Ako už pravdepodobne viete, väčšina webových stránok má zavedené technológie ochrany proti botom . Zaujíma vás najlepšia technológia proti poškriabaniu? Pozrite si nášho sprievodcu najlepšími riešeniami proti poškriabaniu! 🔐


Tieto nástroje monitorujú prichádzajúce požiadavky a odfiltrujú tie podozrivé.


Anti-bot zachraňujúci nevinný server


Ak vaša žiadosť vyzerá, že pochádza od bežného človeka, môžete ísť. Inak? Bude to kamenné múry! 🧱

Žiadosti prehliadača verzus požiadavky robotov

Teraz, ako vyzerá žiadosť od bežného používateľa? Jednoduché! Stačí spustiť nástroje DevTools prehliadača, prejsť na kartu Sieť a presvedčiť sa sami:


Výber webovej požiadavky v nástrojoch DevTools


Ak túto požiadavku skopírujete do cURL výberom možnosti z ponuky po kliknutí pravým tlačidlom myši, dostanete niečo takéto:

 curl 'https://kick.com/emotes/ninja' \ -H 'accept: application/json' \ -H 'accept-language: en-US,en;q=0.9' \ -H 'cache-control: max-age=0' \ -H 'cluster: v1' \ -H 'priority: u=1, i' \ -H 'referer: https://kick.com/ninja' \ -H 'sec-ch-ua: "Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"' \ -H 'sec-ch-ua-mobile: ?0' \ -H 'sec-ch-ua-platform: "Windows"' \ -H 'sec-fetch-dest: empty' \ -H 'sec-fetch-mode: cors' \ -H 'sec-fetch-site: same-origin' \ -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36'

Ak sa vám táto syntax javí ako čínština, žiadny strach – pozrite si náš úvod do cURL . 📖


V zásade je „ľudská“ požiadavka len bežná HTTP požiadavka s niektorými extra hlavičkami (príznaky -H ). Systémy proti botom kontrolujú tieto hlavičky, aby zistili, či žiadosť prichádza od robota alebo legitímneho používateľa v prehliadači.


Jedna z ich najväčších červených zástav? Hlavička User-Agent ! Preskúmajte náš príspevok o najlepších používateľských agentoch na zoškrabovanie webu . Táto hlavička je automaticky nastavená klientmi HTTP, ale nikdy sa úplne nezhoduje s hlavičkami, ktoré používajú skutočné prehliadače.


Nezhoda v tých hlavičkách? Je to mŕtvy darček pre robotov! 💀


Ďalšie informácie nájdete v našom sprievodcovi hlavičkami HTTP na zoškrabovanie webu .

Nastavenie hlavičiek HTTP nie je vždy riešením

Teraz si možno pomyslíte: „Jednoduchá oprava, s týmito hlavičkami budem vykonávať len automatické požiadavky!“ Ale ešte chvíľu... 🚨


Pokračujte a spustite požiadavku cURL, ktorú ste skopírovali z DevTools:


Replikovanie požiadavky v cURL


Prekvapenie! Server vám vrátil stránku „403 Access Denied“ od Cloudflare. Áno, dokonca aj s hlavičkami podobnými prehliadaču môžete byť stále zablokovaní!


Prelomiť Cloudflare napokon nie je také jednoduché. 😅


Ale počkať, ako?! Nie je to presne tá istá požiadavka, akú by vyvolal prehliadač? 🤔 No, nie tak celkom...

Kľúč spočíva v modeli OSI

Na aplikačnej úrovni modelu OSI sú požiadavky prehliadača a cURL rovnaké. Napriek tomu existujú všetky základné vrstvy, ktoré môžete prehliadať. 🫠


Model OSI


Niektoré z týchto vrstiev sú často vinníkmi za týmito otravnými blokmi a tam prenášané informácie sú presne to, na čo sa zameriavajú pokročilé technológie proti škrabaniu. Prefíkané záludné zvery! 👹


Napríklad sa pozerajú na vašu IP adresu , ktorá je získaná z vrstvy siete. Chcete sa vyhnúť týmto zákazom IP? Postupujte podľa nášho návodu , ako sa vyhnúť zákazu IP s proxy servermi !


Bohužiaľ, to nie je všetko! 😩


Anti-bot systémy tiež venujú veľkú pozornosť odtlačku TLS zo zabezpečeného komunikačného kanála vytvoreného medzi vaším skriptom a cieľovým webovým serverom na transportnej vrstve.


V tom sa veci medzi prehliadačom a automatizovanou žiadosťou HTTP líšia! V pohode, však? Teraz vás však určite zaujíma, čo to obnáša... 🔍

Čo je to odtlačok prsta TLS?

Odtlačok prsta TLS je jedinečný identifikátor, ktorý vytvárajú riešenia proti botom, keď váš prehliadač alebo klient HTTP nastaví zabezpečené pripojenie k webovej lokalite.


Odtlačok TLS prehliadača Chrome z browserleaks.com/tls


Je to ako digitálny podpis, ktorý váš počítač zanechá počas TLS handshake — úvodnej „konverzácie“ medzi klientom a webovým serverom s cieľom rozhodnúť, ako budú šifrovať a zabezpečovať údaje na transportnej vrstve. 🤝


Keď odošlete požiadavku HTTP na stránku, základná knižnica TLS vo vašom prehliadači alebo klientovi HTTP spustí procedúru handshake. Dve strany, klient a server, sa začnú jeden druhého pýtať veci ako: „Aké šifrovacie protokoly podporujete?“ a "Ktoré šifry by sme mali použiť?" ❓


TLS handshake


Na základe vašich odpovedí môže server zistiť, či ste bežný používateľ prehliadača alebo automatizovaný skript používajúci klienta HTTP. Inými slovami, ak sa vaše odpovede nezhodujú s odpoveďami typických prehliadačov, môžete byť zablokovaní.


Predstavte si toto podanie ruky ako stretnutie dvoch ľudí:


Ľudská verzia :

  • Server: "Akým jazykom hovoríte?"

  • Prehliadač: "Angličtina, francúzština, čínština a španielčina"

  • Server: "Skvelé, porozprávajme sa"


Bot verzia :

  • Server: "Akým jazykom hovoríte?"

  • Bot: „Mňau! 🐈”

  • Server: „Prepáč, ale nevyzeráš ako ľudská bytosť. Zablokované!"


Mačky nie sú ľudské bytosti. Alebo sú?


Snímanie odtlačkov prstov TLS funguje pod aplikačnou vrstvou modelu OSI. To znamená, že svoj odtlačok TLS nemôžete vyladiť pomocou niekoľkých riadkov kódu. 🚫 💻 🚫


Ak chcete sfalšovať odtlačky prstov TLS, musíte vymeniť konfigurácie TLS svojho klienta HTTP s konfiguráciami skutočného prehliadača. Úlovok? Nie všetci klienti HTTP vám to umožňujú!


Do pekla!


Tu prichádzajú do úvahy nástroje ako cURL Impersonate . Táto špeciálna zostava cURL je navrhnutá tak, aby napodobňovala nastavenia TLS prehliadača a pomohla vám simulovať prehliadač z príkazového riadku!

Prečo bezhlavý prehliadač nemusí byť riešením

Možno si teraz pomyslíte: „Ak klienti HTTP vydávajú odtlačky prstov TLS podobné robotom, prečo na zoškrabovanie nepoužiť prehliadač?“


Veľký pohyb mozgu!


Cieľom je použiť nástroj na automatizáciu prehliadača na spustenie konkrétnych úloh na webovej stránke pomocou bezhlavého prehliadača.


Či už prehliadač beží v hlavičkovom alebo bezhlavom režime, stále používa rovnaké základné knižnice TLS. To je dobrá správa, pretože to znamená, že bezhlavé prehliadače generujú odtlačok TLS „podobný človeku“! 🎉


To je riešenie, nie? To naozaj nie... 🫤


Nie tak celkom...


Tu je nakopnutie: Bezhlavé prehliadače prichádzajú s ďalšími konfiguráciami, ktoré kričia: „Som bot!“ 🤖


Iste, mohli by ste to skúsiť skryť pomocou tajného doplnku v Puppeteer Extra , ale pokročilé systémy proti botom dokážu pomocou výziev JavaScriptu a odtlačkov prstov prehliadača odhaliť bezhlavé prehliadače.


Takže áno, bezhlavé prehliadače nie sú vaším bezpečným únikom ani pred robotmi. 😬

Ako skutočne obísť odtlačky prstov TLS

Kontrola odtlačkov prstov TLS je len jednou z mnohých pokročilých taktík ochrany proti botom, ktoré implementujú sofistikované riešenia proti zoškrabaniu. 🛡️


Ak chcete skutočne zanechať bolesti hlavy z odtlačkov prstov TLS a iných nepríjemných blokov, potrebujete riešenie zoškrabovania ďalšej úrovne, ktoré poskytuje:

  • Spoľahlivé TLS odtlačky prstov

  • Neobmedzená škálovateľnosť

  • Superschopnosti na riešenie CAPTCHA

  • Zabudovaná rotácia IP cez 72-miliónovú IP proxy sieť

  • Automatické pokusy

  • Možnosti vykresľovania JavaScriptu


To sú niektoré z mnohých funkcií, ktoré ponúka rozhranie Bright Data Scraping Browser API – riešenie cloudového prehliadača typu všetko v jednom na efektívne a efektívne zoškrabovanie webu.


Tento produkt sa bezproblémovo integruje s vašimi obľúbenými nástrojmi na automatizáciu prehliadača vrátane Playwright, Selenium a Puppeteer. ✨


Stačí nastaviť automatizačnú logiku, spustiť skript a nechať rozhranie Scraping Browser API zvládnuť špinavú prácu. Zabudnite na bloky a vráťte sa k tomu, na čom záleží – škrabaniu plnou rýchlosťou! ⚡️


Nepotrebujete interakciu so stránkou? Vyskúšajte Bright Data Web Unlocker !

Záverečné myšlienky

Teraz konečne viete, prečo práca na úrovni aplikácie nestačí na to, aby ste sa vyhli všetkým blokom. Veľkú úlohu zohráva aj knižnica TLS, ktorú používa váš HTTP klient. TLS odtlačky prstov? Už to nie je záhada – rozlúskli ste to a viete, ako sa s tým vysporiadať.


Hľadáte spôsob, ako škrabať bez udierania do blokov? Nehľadajte nič iné ako súpravu nástrojov Bright Data ! Pripojte sa k misii sprístupniť internet všetkým – dokonca aj prostredníctvom automatizovaných požiadaviek HTTP. 🌐


Až nabudúce pokračujte v slobodnom surfovaní po webe!