검색
검색은 현재 프로젝트에서 캡처한 HTTP 트래픽을 조회합니다. HTTP 기록에 현재 불러온 행 이외의 기록도 포함됩니다.
검색 열기
왼쪽 탐색 메뉴에서 검색을 클릭합니다. 구조화된 조건이나 HTTPQL 표현식을 입력한 뒤 검색을 클릭하거나 Enter를 누릅니다. 입력만 하면 조건이 바뀔 뿐 새 검색은 실행되지 않습니다. 추가 결과를 검사하려면 페이지를 이동합니다.
HTTPQL 구문
HTTPQL은 HTTP 트래픽을 위한 구조화된 쿼리 언어입니다. 타입이 지정된 연산자로 요청과 응답 필드를 비교합니다.
필드
| 필드 | 비교 대상 |
|---|---|
req.host | 요청 호스트 이름. |
req.path | 요청 경로. |
req.method | HTTP 메서드(GET, POST 등). |
req.body | 요청 본문 내용. |
resp.code | 응답 상태 코드(정수). |
resp.len | 바이트 단위의 응답 본문 길이(정수). |
resp.body | 응답 본문 내용. |
resp.header["Name"].value | 이름이 지정된 응답 헤더의 값. |
req.header["Name"].value | 이름이 지정된 요청 헤더의 값. |
req.has_finding | 요청에 발견 사항이 하나 이상 첨부되어 있으면 true. |
req.tag | 요청에 적용된 태그 문자열. |
연산자
| 연산자 | 적용 타입 | 의미 |
|---|---|---|
eq | 문자열, 정수 | 정확히 일치. |
ne | 문자열, 정수 | 같지 않음. |
cont | 문자열 | 부분 문자열을 포함. |
ncont | 문자열 | 부분 문자열을 포함하지 않음. |
regex | 문자열 | 정규식과 일치. |
gt | 정수 | 초과. |
gte | 정수 | 이상. |
lt | 정수 | 미만. |
lte | 정수 | 이하. |
exists | 헤더 | 헤더가 존재. |
표현식 조합
AND와 OR로 조건을 조합합니다. 괄호로 우선순위를 제어합니다. ne나 ncont 같은 부정 연산자로 일치 항목을 제외합니다.
text
(req.method.eq:POST OR req.method.eq:PUT) AND resp.code.gte:500쿼리 예시
500번대 오류를 반환한 POST 요청 찾기:
text
req.method.eq:POST AND resp.code.gte:500Authorization 헤더가 있는 요청 찾기:
text
req.header["Authorization"].value.exists특정 호스트의 큰 응답 찾기:
text
req.host.eq:api.example.com AND resp.len.gt:100000추가 검토 태그가 지정된 요청 찾기:
text
req.tag.eq:followup발견 사항이 첨부된 모든 요청 찾기:
text
req.has_finding.eq:true응답 본문에 알려진 오류 문자열이 있는 요청 찾기:
text
resp.body.cont:"stack trace"저장된 검색
HTTPQL 입력란 옆의 고정으로 자주 쓰는 쿼리를 저장하여 빠르게 재사용합니다. 고정된 쿼리를 선택하면 적용되며, 더 이상 필요하지 않으면 해당 칩을 제거합니다. 쿼리 기록에서도 최근 표현식을 재사용할 수 있습니다.
검색 탭은 현재 방문 중에 독립적인 쿼리를 비교할 수 있게 합니다. 영구적으로 저장되는 검색은 아닙니다. 내보내기와 가져오기가 가능한 이름 있는 구조화된 프리셋에는 필터 페이지를 사용하세요.
결과 검사
결과 테이블의 행을 클릭하면 검사 패널에서 요청과 응답을 엽니다. 검사기는 HTTP 기록과 같은 보기입니다. 원문과 서식 정리 보기를 전환하고, 헤더나 본문을 복사하며, 이 패널에서 발견 사항을 직접 추가할 수 있습니다.
AI 지원
AI 제공자가 설정되어 있으면 쿼리 입력란 옆의 AI를 클릭하여 찾을 내용을 자연어로 설명합니다. Ogma가 HTTPQL 표현식을 생성합니다. 실행 전에 쿼리를 검토하세요.
- "서버 오류를 반환하는 POST 요청" >
req.method.eq:POST AND resp.code.gte:500 - "API 하위 도메인의 50 KB보다 큰 응답" >
req.host.cont:api AND resp.len.gt:51200 - "발견 사항이 첨부된 요청" >
req.has_finding.eq:true