curl이나 API로 내 IP를 어떻게 조회하나요?
터미널에서 curl ipnow.kr 을 입력하면 현재 접속의 공인 IP가 한 줄로 바로 출력되고, curl ipnow.kr/json 을 쓰면 위치·통신사·User-Agent 등 상세 정보가 JSON 형식으로 반환됩니다. Windows PowerShell에서도 비슷한 방식으로 바로 조회할 수 있습니다.
최종 수정일
curl로 IP를 한 줄로 확인하기
터미널에서 curl ipnow.kr 을 입력하면 HTML 화면 대신 현재 공인 IP만 한 줄로 출력됩니다. curl ipnow.kr/ip 도 같은 방식으로 IP 한 줄만 돌려줍니다.
두 경로 모두 스크립트에서 변수로 바로 저장해 쓰기 좋게 설계돼 있어, 서버 상태 점검 스크립트나 원격 서버의 공인 IP 확인용으로 자주 활용됩니다.
JSON API로 상세 정보 받기
curl -s ipnow.kr/json 을 실행하면 JSON 형식의 응답을 받을 수 있습니다. jq가 설치돼 있다면 curl -s ipnow.kr/json | jq 로 보기 좋게 정리해서 볼 수 있습니다.
JSON에는 ip, ip_version, country_code, country, region, city, latitude, longitude, asn, isp, as_org, user_agent, browser, browser_version, os, device, is_bot, is_ai, bot_name, accept_language, protocol, time 같은 필드가 담겨 있습니다.
IPv4·IPv6을 각각 강제로 조회하려면?
curl -4 ipnow.kr 을 쓰면 IPv4로만 접속해 IPv4 공인 주소를 확인하고, curl -6 ipnow.kr 을 쓰면 IPv6로만 접속해 IPv6 주소를 확인합니다. 두 결과가 다르게 나온다면 그 기기나 서버가 IPv4와 IPv6를 동시에 쓰는 듀얼스택 환경이라는 뜻입니다.
Windows PowerShell에서 조회하기
PowerShell에서는 (Invoke-WebRequest ipnow.kr/ip).Content 로 IP 문자열만 받아올 수 있고, irm ipnow.kr/json (Invoke-RestMethod의 별칭)을 쓰면 JSON 응답을 바로 객체로 받아 필드별로 다룰 수 있습니다.
스크립트에서 자동으로 IP를 가져오려면?
bash 스크립트라면 MYIP=$(curl -s ipnow.kr/ip) 처럼 변수에 저장해 배포 스크립트나 방화벽 규칙에 바로 활용할 수 있습니다.
JavaScript에서는 fetch("https://ipnow.kr/json").then(r => r.json()).then(data => console.log(data.ip)) 처럼 fetch로 호출할 수 있으며, CORS가 모든 출처에 허용돼 있어 브라우저에서 직접 호출해도 막히지 않습니다.
curl이나 API로 내 IP를 어떻게 조회하나요?: 단계별 방법
- IP 한 줄만 확인터미널에서
curl ipnow.kr또는curl ipnow.kr/ip를 입력해 공인 IP를 바로 출력합니다. - JSON으로 상세 조회
curl -s ipnow.kr/json을 실행하고, 필요하면| jq로 보기 좋게 정리합니다. - IPv4/IPv6 강제 지정
curl -4 ipnow.kr또는curl -6 ipnow.kr로 원하는 버전의 주소만 확인합니다. - PowerShell에서 조회
(Invoke-WebRequest ipnow.kr/ip).Content또는irm ipnow.kr/json을 실행합니다. - 스크립트에 연동bash에서는
$(curl -s ipnow.kr/ip)로 변수에 저장하고, JavaScript에서는 fetch로 /json을 호출해 필요한 필드를 꺼내 씁니다.
자주 묻는 질문
브라우저에서 fetch로 호출하면 CORS 오류가 나지 않나요?
ipnow.kr의 API는 모든 출처에 CORS를 허용(Access-Control-Allow-Origin: *)하고 있어 별도 서버 없이 브라우저 자바스크립트에서 바로 호출할 수 있습니다.
API를 쓰려면 인증키가 필요한가요?
필요 없습니다. 회원가입이나 API 키 없이 누구나 무료로 curl이나 fetch로 바로 호출할 수 있습니다.
curl ipnow.kr과 curl ipnow.kr/json은 어떻게 다른가요?
curl ipnow.kr과 curl ipnow.kr/ip는 IP 주소 한 줄만 돌려주고, curl ipnow.kr/json은 위치·통신사·User-Agent 등 상세 정보를 JSON 형식으로 돌려줍니다.
User-Agent 필드는 왜 JSON에 같이 나오나요?
요청을 보낸 클라이언트(curl, 브라우저 등)의 User-Agent도 함께 기록해 어떤 환경에서 조회했는지 알 수 있게 한 것입니다. User-Agent 자체에 대한 설명은 User-Agent란에서 볼 수 있습니다.