기타 Lobsters · 6일 전

웹 크롤러 낚으려고 100만 개 가상 페이지 덫을 놨더니 벌어진 일

핵심 요약
  • 개발자가 100만 개가 넘는 페이지로 구성된 이진 트리 구조의 웹사이트 덫을 설치해 크롤러 추적 실험을 진행했습니다.
  • 콘타보(Contabo) IP 대역에서 들어오는 대규모 크롤러가 초당 약 4회의 일정한 속도로 전체 사이트를 체계적으로 긁어가는 패턴이 확인되었습니다.
  • 로그 분석을 통해 주거용 프록시가 아닌 데이터센터 서버 기반의 단일 통제형 분산 크롤링 구조임이 드러났습니다.
요약 한 개발자가 웹 스크래퍼들을 유인하고 분석하기 위해 PHP 기반의 가상 웹사이트 '스크래퍼 정크야드(Scraper Junkyard)'를 구축해 실험을 진행했습니다. 이 사이트는 0번 노드를 루트로 하여 이진 트리 구조(각 페이지가 부모, 좌측 자식 2N+1, 우측 자식 2N+2로 연결)로 총 1,048,578개의 고유 페이지가 너비 우선 탐색 형태로 연결되는 구조였습니다. 실험 기간 동안 아파치(Apache) 접속 로그를 분석한 결과, 호스팅 및 클라우드 업체인 콘타보(Contabo GmbH)의 IP 대역에서 대규모의 조직적 크롤링이 지속적으로 발생한 사실이 드러났습니다. 주거용 프록시가 아닌 호스팅 서버 IP를 직접 사용한 이 크롤러는 초기 탐색(Initial probes) 단계를 거친 뒤, B, C, D, E 등 여러 차례에 걸쳐 사이트 전체 노드를 샅샅이 긁어갔습니다. 특히 분석 데이터에 따르면 크롤러는 일정한 초당 요청 수(초당 약 4회)를 매우 정밀하게 유지했으며, 이진 트리의 각 랭크를 동시 병렬 방식으로 순회하는 패턴을 보였습니다. 3개의 하위 시리즈가 중첩되어 실행된 '시리즈 D' 기간에는 요청 속도가 초당 8건 이상으로 정확히 두 배가량 치솟는 등 고도로 통제된 분산 크롤러의 동작 특성이 데이터 로그를 통해 명확히 확인되었습니다.
Sponsored · 광고