kisa-whois-ip
KISA WHOIS 서비스에서 KRNIC이 관리하는 IP 주소의 등록·할당 정보를 조회합니다.
문법
옵션
- ip=STRING
- 필수 옵션. 조회 대상 IP 주소. IPv4 또는 IPv6 형식을 허용합니다. 예:
192.0.2.1,2001:db8::1 - profile=STRING
- 선택 옵션. KISA WHOIS 접속 프로파일 식별자. 미지정 시 등록된 모든 KISA WHOIS 프로파일을 순회하며 각각 한 건씩 조회합니다. 예:
kisa_whois - locale=STRING
- 선택 옵션. 출력 언어.
ko또는en만 허용합니다. 해외 IP는 레지스트리·국가 코드만 반환됩니다. (기본값:ko)
출력 필드
| 필드 | 타입 | 이름 | 설명 |
|---|---|---|---|
| profile | 문자열 | 프로파일 | 조회에 사용된 접속 프로파일 식별자 |
| ip_type | 문자열 | 조회 유형 | 조회된 자원 유형 (IPv4/IPv6) |
| registry | 문자열 | 관리 기관 | 자원을 관리하는 레지스트리. 예: KISA |
| country | 문자열 | 국가 코드 | ISO 2 국가 코드. 예: KR |
| ip_range | 문자열 | IP 범위 | 사용자(최종 할당)에 할당된 IP 범위 |
| cidr | 문자열 | CIDR | 사용자 CIDR 프리픽스 길이 |
| network_type | 문자열 | 네트워크 유형 | 사용자 네트워크 유형 |
| org_name | 문자열 | 할당기관 | 사용자(최종 할당) 기관명 |
| org_id | 문자열 | 할당기관 ID | 할당기관 식별자 |
| org_address | 문자열 | 할당기관 주소 | 할당기관 주소 |
| org_postal_code | 문자열 | 할당기관 우편번호 | 할당기관 우편번호 |
| created | 날짜 | 등록일 | 사용자 할당 등록일 |
| tech_name | 문자열 | 담당자 | 기술 담당자 이름 |
| tech_phone | 문자열 | 담당자 전화번호 | 기술 담당자 전화번호 |
| tech_email | 문자열 | 담당자 이메일 | 기술 담당자 이메일. 예: user@example.com |
| provider_type | 문자열 | 상위 할당 유형 | 상위 할당 유형: PI(독립사용자, Provider-Independent) 또는 ISP |
| provider_ip_range | 문자열 | 상위 IP 범위 | 상위 할당 IP 범위 |
| provider_cidr | 문자열 | 상위 CIDR | 상위 CIDR 프리픽스 길이 |
| provider_service_name | 문자열 | 상위 서비스명 | 상위 네트워크 서비스명 |
| provider_org_name | 문자열 | 상위 할당기관 | 상위 할당 기관명 (독립사용자 또는 ISP) |
| provider_org_id | 문자열 | 상위 할당기관 ID | 상위 할당 기관 식별자 |
| provider_org_address | 문자열 | 상위 할당기관 주소 | 상위 할당 기관 주소 |
| provider_org_postal_code | 문자열 | 상위 할당기관 우편번호 | 상위 할당 기관 우편번호 |
| provider_created | 날짜 | 상위 등록일 | 상위 할당 등록일 |
| provider_tech_name | 문자열 | 상위 담당자 | 상위 기술 담당자 이름 |
| provider_tech_phone | 문자열 | 상위 담당자 전화번호 | 상위 기술 담당자 전화번호 |
| provider_tech_email | 문자열 | 상위 담당자 이메일 | 상위 기술 담당자 이메일 |
오류 코드
파싱 오류
| 오류 메시지 | 원인 | 해결 |
|---|---|---|
| 조회 대상 옵션(domain, ip, asn)을 입력하세요. | ip 옵션 누락 또는 빈 값 | ip= 에 조회할 IP 주소 지정 |
| 유효하지 않은 IP 주소입니다. | IPv4·IPv6 형식이 아닌 값 입력 | 올바른 IP 주소 형식으로 입력 |
| 유효하지 않은 locale 입니다. 'ko' 또는 'en'을 사용하세요. | locale 값이 ko/en 이 아님 | locale=ko 또는 locale=en 지정 |
| 사용 가능한 KISA WHOIS 프로파일이 없습니다. | (profile 미지정 시) 등록된 프로파일 없음 | KISA WHOIS 접속 프로파일을 먼저 등록 |
| KISA WHOIS 프로파일 이름을 입력하세요. | 지정한 profile 식별자가 존재하지 않음 | 올바른 프로파일 식별자 지정 |
런타임 오류
런타임 오류 발생 시 쿼리가 중단됩니다. 메시지는 kisa-whois-ip error: 접두사와 함께 표시됩니다.
| 오류 메시지 | 원인 | 해결 |
|---|---|---|
| KISA WHOIS API daily quota exceeded - 일일 호출 제한을 초과하였습니다. | 공공데이터포털 일일 호출 한도 초과 | 다음 날까지 대기하거나 한도 상향 신청 |
| KISA WHOIS API rate limit exceeded - 호출 속도 제한을 초과하였습니다. ... | 단시간 과다 호출로 속도 제한 | 잠시 후 재시도 |
| service_key is not configured for profile: <프로파일> | 프로파일에 service_key 미설정 | 프로파일에 공공데이터포털 인증키 설정 |
| KISA WHOIS API error (<코드>): <메시지> | API가 오류 코드 반환 | 메시지 확인 후 입력값·인증키 점검 |
설명
이 명령어는 공공데이터포털(data.go.kr)이 제공하는 KISA WHOIS OpenAPI(/B551505/whois/ip_address)를 호출하여 KRNIC이 관리하는 IP 주소의 등록·할당 정보를 조회합니다. 호출당 IP 한 건을 조회해 결과 레코드 한 건을 출력합니다.
응답은 사용자(최종 할당) 정보와 상위 할당 정보로 구분됩니다. 상위 할당 정보는 독립사용자(PI) 또는 ISP 할당 중 하나만 존재하며, provider_type 필드로 그 유형을 구분합니다(PI 또는 ISP). 사용자 블록은 org_*·tech_*·created 필드로, 상위 할당 블록은 provider_* 필드로 매핑됩니다.
locale 값에 따라 기관·담당자 명칭이 한국어/영문으로 반환됩니다. KRNIC 관리 대상이 아닌 해외 IP는 registry·country 만 채워지고 나머지 필드는 비어 있습니다. profile 옵션을 생략하면 등록된 모든 프로파일을 순회 조회합니다. 공공데이터포털 인증키 단위로 일일 호출 한도·속도 제한이 적용됩니다.
여러 IP를 한 번에 조회하려면 kisa-whois-ip-batch 명령어를 사용하세요.
사용 예
예시: 접속 출발지 IP의 할당 기관 확인
상황: 보안 이벤트에 등장한 출발지 IP가 어느 기관에 할당된 국내 대역인지 확인합니다.
예상 결과:
| ip_type | registry | country | ip_range | org_name | provider_type |
|---|---|---|---|---|---|
| IPv4 | KISA | KR | 192.0.2.0 - 192.0.2.255 | 테스트기관 | ISP |
결과 해석: org_name 으로 IP 사용 기관을, provider_type=ISP 와 provider_org_name 으로 상위 할당 ISP를 식별할 수 있습니다. country 가 KR 이 아니면 해외 IP로, 상세 정보가 제공되지 않습니다.