Ozon에서 가격 모니터링을 시작하거나 광고 파서를 실행하면 몇 분 후에 403 또는 CAPTCHA를 받게 됩니다. 그 이유는 거의 항상 동일합니다: 사이트가 DataDome으로 보호되고 있습니다. 이는 시장에서 가장 진보된 안티봇 서비스 중 하나로, 단순한 스크립트뿐만 아니라 일반 데이터 센터 프록시를 통한 요청도 차단할 수 있습니다. 이 기사에서는 DataDome이 어떻게 작동하는지, 무엇을 분석하는지, 그리고 올바른 프록시 선택이 안정적인 작업의 열쇠인 이유를 살펴보겠습니다.
DataDome이란 무엇이며 어디에 사용되는가
DataDome은 사이트가 자동화된 요청으로부터 보호하기 위해 연결하는 상업적 안티봇 서비스입니다. 대형 소매업체, 마켓플레이스, 뉴스 집계기, 예약 서비스 및 핀테크 플랫폼에서 사용됩니다. 회사에 따르면, DataDome은 매달 5조 건 이상의 요청을 처리하며 전 세계 수천 개의 사이트를 보호하고 있습니다.
Cloudflare Bot Management와 같은 초기 수준의 간단한 솔루션과 달리, DataDome은 사용자 요청과 서버 사이에 별도의 레이어로 작동합니다. 보호된 사이트에 대한 각 HTTP 요청은 먼저 DataDome의 인프라를 통과하며, 밀리초 단위로 통과, CAPTCHA 표시 또는 차단 결정을 내립니다.
경쟁업체의 가격 모니터링, 제품 데이터 수집, 광고 파싱 또는 다양한 지역에서의 광고 자동 테스트를 수행하는 경우, DataDome과 이미 마주쳤을 가능성이 높습니다. 다음은 전형적인 징후입니다:
- 403 Forbidden 또는 429 Too Many Requests 응답
- CAPTCHA 페이지로 리디렉션 (보통 Slider 또는 FunCaptcha)
- 빈 응답 또는 "접근 제한"이라는 메시지가 있는 페이지
- 브라우저에서 작동하는 사이트, 그러나 스크립트 또는 파서를 통한 요청에서 오류 발생
- IP 변경에도 불구하고 다른 매개변수가 변경되지 않으면 차단됨
DataDome을 사용하는 잘 알려진 사이트로는 Reddit, Rakuten, Foot Locker, TripAdvisor, Leboncoin 등이 있습니다. 러시아 시장에서는 DataDome이 덜 사용되지만, 일부 대형 전자상거래 플랫폼과 집계기에서 사용되고 있습니다.
DataDome이 봇을 식별하는 방법: 무엇을 분석하는가
DataDome의 논리를 이해하는 것은 인터넷에서의 절반의 "해결책"이 작동하지 않는 이유를 이해하는 것입니다. 시스템은 다단계 분석을 사용하며, 차단은 하나의 신호가 아니라 신호의 조합에 따라 발생합니다. 각 수준을 살펴보겠습니다.
1. IP 평판 및 ASN
DataDome이 처음으로 확인하는 것은 IP 주소와 그것이 속한 자율 시스템(ASN)의 평판입니다. IP가 데이터 센터(Amazon AWS, DigitalOcean, OVH, Hetzner 등)에 등록되어 있다면, 이는 즉각적인 경고 신호입니다. DataDome은 "더러운" IP의 자체 데이터베이스를 유지하며 다른 안티봇 서비스와 데이터를 교환합니다. 이미 다른 보호된 사이트에서 파싱에 사용된 IP는 더 빨리 차단됩니다.
2. 행동 패턴
DataDome은 요청의 사실뿐만 아니라 시간에 따른 행동도 분석합니다. 요청 간의 간격이 너무 균일하면 봇의 징후입니다. 특정 엔드포인트(예: 상품 페이지)만 호출하고 메인 페이지를 방문하지 않는 것은 의심스럽습니다. HTML 요청 시 CSS, 글꼴, 이미지 로딩이 없는 것도 신호입니다.
3. HTTP 헤더 및 순서
실제 브라우저는 엄격하게 정의된 순서와 세트로 헤더를 전송합니다. DataDome은 User-Agent가 실제 브라우저의 지문과 일치하는지 확인합니다. sec-ch-ua 헤더가 있는지? Accept-Language가 올바른지? User-Agent 문자열을 단순히 대체하고 전체 헤더 세트를 재현하지 않으면 시스템이 이를 감지합니다.
4. JavaScript 챌린지 및 브라우저 지문
DataDome은 페이지에 JavaScript 코드를 삽입하여 브라우저의 "지문"을 수집합니다: 화면 해상도, 글꼴 목록, WebGL 렌더링, Canvas 지문, 플러그인 존재 여부, 장치 유형. JavaScript가 실행되지 않으면(예: requests 또는 curl을 통한 일반 HTTP 요청) DataDome은 이를 기록하고 차단합니다. 그래서 JS 렌더링이 없는 간단한 파서는 보호된 사이트에서 작동하지 않습니다.
5. 쿠키 및 세션 토큰
DataDome은 첫 방문 시 자체 쿠키(datadome)를 설정합니다. 이후 요청에서는 이 쿠키의 존재 및 유효성을 확인합니다. 파서가 요청 간에 쿠키를 저장하지 않거나 매번 새 세션을 시작하면 이는 또 다른 자동화 신호입니다.
결론: 왜 DataDome이 일반적인 차단보다 더 복잡한가
DataDome은 하나의 매개변수로 차단하지 않습니다 — 여러 신호를 동시에 고려하여 "위험 평가"를 수행합니다. IP 필터를 우회할 수 있지만 JS 챌린지에서 실패할 수 있습니다. 올바른 헤더를 설정할 수 있지만 행동 패턴 때문에 차단될 수 있습니다. 효과적인 우회는 종합적인 접근이 필요합니다.
왜 데이터 센터 프록시가 DataDome과 함께 작동하지 않는가
DataDome과 처음 마주치는 사람들이 가장 많이 묻는 질문입니다: "프록시를 구매하고 연결했는데도 여전히 차단됩니다. 왜일까요?" 답은 프록시의 유형에 있습니다.
데이터 센터 프록시는 상업 호스팅 및 서버 농장에 등록된 IP 주소입니다. DataDome(대부분의 현대 안티봇 시스템과 마찬가지로)은 모든 알려진 데이터 센터의 ASN에 대한 최신 데이터베이스를 유지합니다. 그런 IP에서 요청이 오면, 행동 분석 전에 자동으로 높은 수준의 의심을 받습니다.
문제는 IP의 평판뿐만 아니라, 데이터 센터 프록시는 종종 수천 명의 사용자가 동시에 사용되기 때문에 하나의 주소에서 비정상적인 트래픽 패턴을 생성합니다. DataDome은 이를 감지하고 제공업체의 전체 IP 풀을 차단합니다.
| 프록시 유형 | DataDome 통과 확률 | 이유 |
|---|---|---|
| 데이터 센터 (공유) | 매우 낮음 | 데이터 센터의 ASN, "더러운" IP |
| 데이터 센터 (전용) | 낮음 | 여전히 서버 ASN |
| 거주형 (정적) | 중간 | 실제 ISP, 그러나 하나의 IP = 의심스러움 |
| 거주형 (회전) | 높음 | 실제 가정용 IP, 회전 |
| 모바일 (4G/5G) | 최대 | 모바일 운영자, NAT, 높은 신뢰도 |
결론은 간단합니다: DataDome을 우회하려면 높은 평판의 IP가 필요합니다 — 실제 사용자처럼 보이는 IP입니다. 그래서 거주형 프록시가 보호된 사이트에서 작업하는 표준이 되었습니다.
거주형 vs 모바일 프록시: DataDome을 위한 선택
데이터 센터 프록시가 적합하지 않다는 것이 분명해지면, 다음 질문이 생깁니다: 거주형 또는 모바일? 각 유형에는 강점이 있으며 선택은 작업에 따라 다릅니다.
거주형 프록시
거주형 프록시는 인터넷 서비스 제공업체(Ростелеком, МТС, Comcast 등)를 통해 연결된 실제 가정 사용자들의 IP 주소를 사용합니다. DataDome의 관점에서 — 이는 노트북 앞에 앉아 있는 일반 사람입니다. 주요 장점은 다음과 같습니다:
- 거대한 IP 풀 — 다양한 국가와 도시의 수백만 개 주소
- 회전: 각 요청은 새로운 IP에서 발생할 수 있습니다
- 지리적 타겟팅: 특정 국가, 지역 또는 도시를 선택할 수 있습니다
- 안티봇 시스템에서 높은 평판
- 대량 파싱 및 가격 모니터링에 적합
거주형 프록시의 제한 사항은 속도입니다. 데이터 센터 프록시보다 느리며, 이는 분당 수천 페이지를 파싱할 때 치명적입니다. 그러나 DataDome과 작업할 때는 받아들여야 할 타협입니다.
모바일 프록시
모바일 프록시는 모바일 운영자의 SIM 카드(4G/5G)를 통해 작동합니다. 이는 모든 안티봇 시스템의 관점에서 가장 "신뢰할 수 있는" 유형의 트래픽입니다. 이유는 모바일 운영자가 NAT를 사용하기 때문입니다 — 하나의 IP 뒤에는 수백 명의 실제 사용자가 숨겨져 있을 수 있습니다. DataDome은 이를 알고 있으며, 실제 고객을 차단할 위험 없이 모바일 IP를 차단할 수 없습니다.
- 안티봇 시스템에서 최대 신뢰 수준
- 실제 모바일 운영자의 ASN
- 재연결 시 IP 변경 (또는 타이머에 따라)
- 차단 확률이 최소화된 작업에 이상적
모바일 프록시의 단점은 가격과 거주형에 비해 제한된 IP 풀입니다. 이들은 각 요청의 신뢰성이 중요한 작업에 적합하며, 대량의 요청에는 적합하지 않습니다.
언제 무엇을 선택해야 하는가:
- 가격 모니터링, 카탈로그 파싱 → 거주형 회전 프록시
- 계정 작업, 인증 → 모바일 또는 거주형 정적
- 다양한 지역에서의 광고 테스트 → 지리적 타겟팅이 있는 거주형
- 안티봇과 함께하는 고부하 파싱 → 회전 거주형
DataDome 우회를 위한 실용적인 방법
올바른 유형의 프록시는 필요하지만 충분하지 않습니다. DataDome은 수십 개의 매개변수를 분석하며, 프록시는 그 중 하나인 IP 평판만을 다룹니다. 다음은 함께 작동하는 전체 방법 세트입니다.
방법 1: 올바른 HTTP 헤더
DataDome은 브라우저가 전송하는 전체 헤더 세트를 확인합니다. Chrome을 Windows에서 에뮬레이트하기 위한 최소 세트는 다음과 같습니다: 올바른 User-Agent, sec-ch-ua, sec-fetch-site, sec-fetch-mode, 지리적 위치에 맞는 올바른 Accept-Language. 언어와 IP의 국가 불일치는 차단의 일반적인 원인입니다.
방법 2: JavaScript 렌더링
DataDome으로 보호된 사이트에 대해 curl 또는 requests를 통한 간단한 HTTP 요청은 JS 챌린지를 통과하지 못합니다. 실제로 JavaScript를 실행하는 도구가 필요합니다: 헤드리스 브라우저(Playwright, Puppeteer) 또는 안티디텍트를 통한 전체 브라우저. 코드 없이 비즈니스 작업을 위한 최적의 옵션은 안티디텍트 브라우저입니다: Dolphin Anty, AdsPower, GoLogin. 이들은 실제 Chromium을 실행하며 고유한 지문을 가지고 프록시 연결을 지원합니다.
방법 3: IP 및 세션 회전
DataDome은 "나쁜" 세션을 기억합니다. IP가 차단되면 즉시 변경하고 같은 주소에서 요청을 반복하지 마십시오. 회전 거주형 프록시를 사용할 경우 각 요청 또는 세션은 새로운 IP를 받습니다. 중요: IP뿐만 아니라 쿠키 세션도 변경해야 합니다 — 그렇지 않으면 DataDome이 새로운 IP를 이전에 차단된 세션과 연결합니다.
방법 4: 인간 행동 모방
DataDome의 행동 분석은 요청 패턴을 추적합니다. 요청 간에 무작위 지연(2초에서 8초)을 추가하고 탐색을 모방하십시오: 먼저 메인 페이지, 다음 카테고리, 그 다음 상품. 목표 페이지만 정면으로 파싱하지 마십시오. 정적 리소스(CSS, 이미지)를 로드하거나 최소한 요청을 모방하십시오.
방법 5: 지리적 일치
이는 종종 무시됩니다. 러시아 사이트를 파싱하지만 미국 IP를 사용하는 경우 — DataDome은 이를 감지합니다. 목표 사이트와 동일한 국가의 프록시를 사용하십시오. 더 나아가: Accept-Language 및 브라우저의 시간대를 프록시의 지리적 위치에 맞게 설정하십시오.
방법 6: DataDome 쿠키 관리
쿠키 datadome은 DataDome이 "좋은" 방문자에게 발급하는 토큰입니다. 검증을 성공적으로 통과했다면 이 쿠키를 저장하고 다음 요청에서 사용하십시오. 필요 없이 쿠키를 재설정하지 마십시오. IP를 변경할 때는 이전 쿠키를 전이하는 것이 아니라 새로운 토큰을 얻는 새로운 세션을 시작하는 것이 좋습니다.
DataDome 우회를 위한 프록시 설정: 단계별 안내
두 가지 시나리오에 대한 실용적인 설정을 살펴보겠습니다: 안티디텍트 브라우저를 통한 작업(코드 없는 비즈니스 작업을 위한) 및 파싱을 위한 설정입니다.
시나리오 A: 안티디텍트 브라우저 (Dolphin Anty / AdsPower / GoLogin)
이 방법은 계정 작업을 하거나 다양한 지역에서 광고를 테스트하거나 보호된 사이트를 수동으로 탐색하는 사람들에게 적합합니다.
- 브라우저의 새 프로필을 생성하십시오 Dolphin Anty 또는 AdsPower에서. 각 프로필은 별도의 "디지털 지문"입니다.
- 프로필 설정에서 "프록시" 섹션을 찾으십시오. 유형을 선택하십시오: SOCKS5(선호) 또는 HTTP.
- 프록시 정보를 입력하십시오: 호스트, 포트, 로그인, 비밀번호. 회전 거주형 프록시의 경우 제공업체의 게이트웨이 주소를 사용하십시오.
- 지리적 위치를 확인하십시오: "프록시 확인"을 클릭하십시오 — 브라우저가 국가와 도시를 보여줍니다. 목표 사이트와 일치하는지 확인하십시오.
- 브라우저의 언어를 설정하십시오 프록시의 지리적 위치에 맞게. 프록시가 독일에서 온 경우 — de-DE로 설정하십시오.
- 올바른 User-Agent를 설정하십시오: 최신 Chrome을 Windows 또는 macOS에서 선택하십시오 — 가장 일반적인 구성입니다.
- 프로필을 실행하십시오 그리고 목표 사이트로 이동하십시오. 필요한 페이지를 즉시 열지 말고 먼저 메인 페이지로 들어가십시오.
시나리오 B: Playwright/Puppeteer를 통한 파싱
DataDome으로 보호된 사이트에서 자동화된 데이터 수집을 위해서는 프록시와 올바른 지문 설정을 지원하는 헤드리스 브라우저가 필요합니다.
# Playwright + 거주형 프록시 (Python)
# DataDome 우회를 위한 주요 매개변수:
browser = playwright.chromium.launch(
proxy={
"server": "http://gate.proxyprovider.com:8000",
"username": "user",
"password": "pass"
}
)
context = browser.new_context(
# 실제 최신 Chrome의 User-Agent
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
# 지리적 위치가 프록시 국가와 일치
locale="ru-RU",
timezone_id="Europe/Moscow",
# 실제 화면 해상도
viewport={"width": 1920, "height": 1080}
)
# 행동 간의 무작위 지연
import time, random
time.sleep(random.uniform(2, 5))
추가로: 헤드리스 모드를 숨기기 위한 라이브러리를 사용하십시오 (playwright-stealth, puppeteer-extra-plugin-stealth). DataDome은 여러 기술적 신호를 통해 헤드리스 Chrome을 식별할 수 있으며, 이러한 플러그인은 이를 숨기는 데 도움이 됩니다.
DataDome을 위한 프록시 설정 체크리스트:
- ✅ 프록시 유형: 거주형 또는 모바일(데이터 센터 아님)
- ✅ 프로토콜: SOCKS5(선호) 또는 HTTPS
- ✅ 프록시의 지리적 위치가 사이트의 국가와 일치
- ✅ Accept-Language 및 시간대가 프록시 국가와 일치
- ✅ JavaScript가 실행됨 (헤드리스 브라우저 또는 안티디텍트)
- ✅ 쿠키가 요청 간에 저장됨
- ✅ 요청 간 지연: 2-8초
- ✅ 새로운 세션마다 IP 회전
DataDome이 여전히 차단하는 일반적인 실수
올바른 프록시를 사용하더라도 많은 사람들이 여전히 차단을 받습니다. 다음은 가장 일반적인 원인과 이를 수정하는 방법입니다.
오류 1: 지리적 위치와 언어 불일치
프랑스 프록시를 연결했지만 브라우저가 Accept-Language: en-US를 전송합니다. DataDome은 이를 감지합니다: IP는 프랑스에서 왔지만 언어는 영어입니다 — 비정상적인 행동입니다. 해결책: 항상 언어, 시간대 및 로케일을 프록시의 지리적 위치와 동기화하십시오.
오류 2: 차단된 IP 재사용
403을 받았습니까? 같은 IP에서 요청을 반복하지 마십시오. DataDome은 "나쁜" 주소를 기억하고 즉시 차단합니다. 차단의 첫 징후가 보이면 즉시 IP를 변경하고 쿠키를 삭제하십시오.
오류 3: 너무 높은 요청 빈도
거주형 프록시를 사용하더라도 100밀리초마다 요청을 할 수는 없습니다. 실제 사용자는 페이지를 10-30초 동안 읽습니다. DataDome은 탐색 속도를 분석합니다. 최적의 모드는: 한 IP에서 분당 1-3 페이지, 10-15 요청 후 IP 변경입니다.
오류 4: 구식 User-Agent 사용
2024년에 Chrome 89 User-Agent는 경고 신호입니다. DataDome은 어떤 브라우저 버전이 현재인지 알고 있습니다. 최신 버전만 사용하십시오: Chrome 120+, Firefox 120+. User-Agent를 정기적으로 업데이트하십시오.
오류 5: JS 챌린지 무시
가장 치명적인 오류는 일반 HTTP 요청을 통해 JavaScript 렌더링 없이 DataDome으로 보호된 사이트를 파싱하려고 하는 것입니다. DataDome은 페이지에 JS 코드를 삽입하여 실행되고 토큰을 반환해야 합니다. 이 토큰 없이는 다음 요청이 차단됩니다. 해결책은 오직 헤드리스 브라우저 또는 안티디텍트 브라우저입니다.
오류 6: 하나의 IP에서 여러 개의 병렬 스레드
하나의 IP를 통해 10개의 병렬 파싱 스레드를 실행하면 즉시 감지됩니다. DataDome은 하나의 주소에서 비정상적인 요청 수를 감지합니다. 규칙: 하나의 IP = 하나의 스레드 = 하나의 세션. 병렬 파싱을 위해서는 IP 풀과 회전이 필요합니다.
| 오류 | 증상 | 해결책 |
|---|---|---|
| 데이터 센터 IP | 첫 요청에서 403 | 거주형/모바일로 변경 |
| JS 렌더링 없음 | CAPTCHA 또는 빈 응답 | 헤드리스 브라우저 사용 |
| 높은 요청 빈도 | 5-10 요청 후 429 | 지연 추가, IP 회전 |
| 지리적/언어 불일치 | 2-3 요청 후 차단 | 로케일과 IP 동기화 |
| 구식 User-Agent | 매번 로그인 시 CAPTCHA | 최신 Chrome 버전으로 업데이트 |
결론
DataDome은 단순히 IP를 변경하는 것으로 해결되지 않는 심각한 시스템입니다. 이는 동시에 주소의 평판, 사용자 행동, 브라우저 지문, 요청 헤더 및 쿠키를 분석합니다. 그래서 데이터 센터 프록시는 여기서 작동하지 않으며, "단순히 User-Agent를 변경하는 것"은 충분하지 않습니다.
DataDome을 우회하기 위한 작업 조합은 다음과 같습니다: 고품질 거주형 또는 모바일 프록시 + 헤드리스 브라우저 또는 안티디텍트(Dolphin Anty, AdsPower, GoLogin) + 올바른 헤더와 지리적 일치 + 인간과 같은 지연 + 쿠키 관리. 각 요소가 중요하며, 그 중 하나라도 누락되면 성공 확률이 낮아집니다.
가격 모니터링, 카탈로그 파싱 또는 다양한 지역에서의 광고 테스트를 DataDome 보호 사이트에서 수행하는 경우, 거주형 프록시로 시작하는 것을 권장합니다 — 이들은 IP 평판, 주소 풀의 양 및 비용 간의 최적의 균형을 제공합니다. 각 요청의 최대 신뢰성과 최소 차단 위험이 중요한 작업에 대해서는 모바일 프록시를 고려해야 합니다 — DataDome이 이들의 트래픽을 차단하는 경우는 극히 드뭅니다.
```