>_toolkitbox

~/tools / AI Bot Log Analyzer

AI Bot Log Analyzer — 접근 로그의 AI 크롤러 방문을 집계합니다

웹 서버 접근 로그를 붙여넣으면 어떤 AI 크롤러가 방문했고, 무엇을 가져갔으며, 서버가 어떻게 응답했는지 보여 줍니다. nginx와 Apache 로그, JSON 줄 형식을 지원합니다. 입력한 내용은 브라우저 밖으로 나가지 않습니다.

로그를 붙여넣으면 어떤 AI 크롤러가 방문했는지 보여 줍니다.

User-Agent는 증거가 아니라 자기소개입니다. 누구든 같은 문자열을 보낼 수 있습니다.

요청이 진짜인지 확인하려면, 출발지 IP 주소를 운영 주체가 공개한 대역과 비교하세요. 이 도구는 IP 주소를 조회하지 않습니다.

Google-Extended와 Applebot-Extended는 로그에 나타나지 않습니다. 둘 다 robots.txt용 제어 이름이며, 실제 요청은 Googlebot과 Applebot에서 오기 때문입니다.

Apache와 nginx의 combined 형식, 흔한 필드 이름의 JSON 줄, User-Agent 문자열 목록을 읽습니다.

크롤러 목록은 2026-10-15에 각 운영 주체의 문서와 대조했습니다.

모든 처리는 브라우저 안에서 이루어집니다. 로그는 업로드되지 않습니다.

AI 회사들은 여러 종류의 크롤러를 운영합니다. 학습용 데이터를 모으는 것, AI 검색용 색인을 만드는 것, 사람이 요청했을 때 페이지를 가져오는 것이 있습니다. robots.txt는 이들을 다르게 다룰 수 있지만, 실제로 무엇이 오는지는 로그만 알려 줍니다. 이 도구는 접근 로그를 읽어, User-Agent에 AI Crawler robots.txt Generator 목록에 있는 크롤러 이름이 들어 있는 요청을 찾아 크롤러별, 목적별로 집계합니다. 고유 IP 주소, 상태 코드, robots.txt를 가져갔는지, 가장 많이 요청된 경로도 함께 보여 줍니다. User-Agent는 자기소개일 뿐이므로, 집계된 수는 그 크롤러라고 밝힌 요청의 수입니다.

이럴 때 사용

  • robots.txt로 막은 크롤러가 여전히 오고 있는지 확인하기
  • AI 검색 크롤러가 오류 없이 페이지를 가져가는지 점검하기
  • AI 목록에 없는 봇 같은 User-Agent 찾아내기

사용법

  1. 로그 줄을 붙여넣거나 로그 파일을 선택합니다. 파일은 브라우저 안에서 읽습니다.
  2. 표를 확인합니다. 크롤러마다 한 행이며, 목적, 요청 수, 고유 IP, 상태 코드가 나옵니다.
  3. 그 밖의 봇 같은 User-Agent 중에 모르는 이름이 없는지 살펴봅니다.

AI 크롤러의 세 가지 종류

목적하는 일예robots.txt
학습모델 학습을 위해 웹 콘텐츠를 수집합니다GPTBot, ClaudeBot, meta-externalagent, CCBot운영 주체는 따른다고 밝힙니다
AI 검색질문에 답하는 데 쓰는 색인을 만듭니다OAI-SearchBot, Claude-SearchBot, PerplexityBot, meta-webindexer운영 주체는 따른다고 밝힙니다
사용자 요청형사람이 요청했을 때 페이지를 가져옵니다ChatGPT-User, Claude-User, Perplexity-User, meta-externalfetcherOpenAI, Perplexity, Meta는 적용되지 않을 수 있다고 밝히고, Anthropic은 Claude-User가 따른다고 밝힙니다

한 종류를 막는다고 다른 종류까지 막히는 것은 아닙니다. 예를 들어 학습 크롤러를 막아도, 별도의 크롤러를 쓰는 AI 검색에서는 빠지지 않습니다.

표 읽는 법

  • 요청 수와 고유 IP: 한 주소에서 오는 많은 요청과 여러 주소에서 오는 적은 요청은 의미가 다르므로 둘 다 보세요.
  • 상태 코드: 검색 크롤러에 4xx와 5xx 응답이 나갔다면 페이지를 가져가지 못했다는 뜻이고, 그러면 답변에 나타날 수 없습니다.
  • robots.txt 열: /robots.txt를 가져가는 크롤러는 적어도 규칙을 읽고 있습니다. RFC 9309는 크롤러가 이 파일을 캐시할 수 있지만, 접근할 수 없는 경우가 아니라면 24시간보다 오래된 사본은 쓰지 말아야 한다고 하므로, 한 번도 요청하지 않는 크롤러는 규칙을 무시하고 있을 수 있습니다.
  • 그 밖의 봇 같은 User-Agent: AI 목록에 없는 이름입니다. 들어 본 적 없는 크롤러를 찾아볼 수 있는 곳입니다.

User-Agent는 자기소개입니다

누구나 같은 User-Agent 문자열을 보낼 수 있으므로, 이름별 집계는 그 크롤러라고 밝힌 요청의 수입니다. 확인하려면 출발지 IP 주소를 운영 주체가 공개한 정보와 비교하세요.

  • OpenAI, Perplexity, Anthropic, Common Crawl은 크롤러의 IP 대역을 공개합니다. Anthropic은 IP로 차단해도 확실하게 제외되지 않을 수 있다며 robots.txt를 권장합니다.
  • Google은 두 가지 확인 방법을 설명합니다. IP를 역방향 DNS로 조회한 뒤 순방향 조회로 같은 주소가 나오는지 확인하거나, 공개된 IP 목록과 대조하는 것입니다.
  • Apple은 Applebot의 IP 프리픽스를 공개하고 역방향 DNS 확인도 설명합니다.
  • Meta의 크롤러 문서에는 IP 대역이 나와 있지 않으며, User-Agent 문자열이나 IP 주소를 허용하라고 되어 있습니다.

로그로는 알 수 없는 것

  • Google-Extended에는 자체 User-Agent 문자열이 없고, Applebot-Extended는 웹 페이지를 크롤링하지 않습니다. 둘 다 Googlebot과 Applebot이 수집한 데이터의 사용 방법만 제어하므로, 로그에 이름으로 나타나지 않습니다.
  • CDN 캐시에서 응답했거나 서버에 도달하기 전에 막힌 요청은 원본 서버 로그에 없습니다.

출처(확인일 2026-10-23): OpenAI: Overview of OpenAI crawlers / Anthropic: Does Anthropic crawl data from the web? / Perplexity: Perplexity crawlers / Meta: Web crawlers / Common Crawl: CCBot / Apple: About Applebot / Google: Google's common crawlers / Google: Verifying Googlebot / RFC 9309: Robots Exclusion Protocol

FAQ

어떤 로그 형식을 지원하나요?

Apache와 nginx의 combined 형식, http_user_agent처럼 흔히 쓰는 필드 이름을 가진 한 줄당 JSON 객체 하나, 그리고 한 줄에 User-Agent 문자열 하나씩 적은 단순 목록을 지원합니다. 읽을 수 없는 줄은 개수를 세어 알려 줍니다.

일치했다고 해서 정말 그 회사의 방문이라는 증거가 되나요?

아니요. User-Agent는 누구나 설정할 수 있으므로, GPTBot이라고 밝힌 요청이 다른 사람에게서 올 수도 있습니다. OpenAI, Perplexity, Anthropic, Common Crawl처럼 크롤러의 IP 대역을 공개하는 운영 주체가 여럿 있으니, 요청의 출발지 주소를 확인할 수 있습니다. Meta의 크롤러 문서에는 IP 대역이 나와 있지 않습니다. 이 도구는 IP 주소를 확인하지 않습니다.

Google-Extended와 Applebot-Extended는 왜 나오지 않나요?

둘 다 크롤러가 아니라 robots.txt용 제어 이름입니다. Google은 Google-Extended에 별도의 User-Agent 문자열이 없다고 밝혔고, Apple은 Applebot-Extended가 웹 페이지를 크롤링하지 않는다고 밝혔습니다. 실제 요청은 Googlebot과 Applebot에서 오므로, 로그에서는 구별할 수 없습니다.

목적은 무슨 뜻인가요?

학습은 모델 학습용 데이터를 모으는 것입니다. 검색은 AI 검색 답변용 색인을 만드는 것입니다. 사용자는 사람의 요청으로 일어난 페이지 가져오기를 뜻하며, 이런 가져오기는 robots.txt를 따르지 않을 수 있다고 밝힌 운영 주체도 있습니다.

다른 도구보다 수치가 적은 이유는 무엇인가요?

로그에는 서버에 도달한 요청만 남습니다. CDN 캐시에서 응답했거나 도착하기 전에 차단된 요청은 원본 서버 로그에 나타나지 않을 수 있습니다.

로그가 업로드되나요?

아니요. 읽기와 집계는 브라우저 안에서 이루어집니다. 페이지가 느려지지 않도록 200,000줄을 넘는 부분은 집계하지 않습니다.

관련 도구