콘텐츠로 건너뛰기

📍 내 IP 확인

공개 IP, 역방향 호스트명, 브라우저, OS, 프록시 헤더를 표시합니다.

완전 무료 가입 불필요 서버 처리 로그 · DB 없음 레이트 리밋 5 개 언어 다크 모드
내 IP
216.73.216.208
IPv4

🔍 상세

Client IP 216.73.216.208
REMOTE_ADDR 172.19.0.5
X-Forwarded-For 216.73.216.208
X-Real-IP — not set
CF-Connecting-IP — not set
Hostname (rDNS) — not set
Browser Unknown
OS Unknown
User-Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Accept-Language — not set
Accept-Encoding gzip, br, zstd, deflate
Protocol HTTP/1.1
TLS No (HTTP)

📚 프록시 헤더 정보

REMOTE_ADDR: TCP 연결 원본 IP

X-Forwarded-For: 프록시가 추가한 원래 클라이언트 IP

CF-Connecting-IP: Cloudflare가 설정하는 실제 클라이언트 IP

• 신뢰할 수 없는 출처의 X-Forwarded-For는 위조 가능하므로 프로덕션에서는 검증 필요.

📖 이 진단으로 알 수 있는 것

이 페이지는 당사 서버에서 보인 당신의 접속 IP 와 요청에 포함되어 있던 프록시 계열 헤더를 표시합니다. 여기 나오는 IP 가 당신 단말의 IP 라고는 할 수 없습니다. 모바일 회선이나 기업 네트워크에서는 CGNAT 나 프록시로 다수 이용자가 같은 IP 를 공유하고, VPN 을 거치면 그 출구의 IP 가 됩니다. 용도로는 자기 서비스가 접속원을 어떻게 인식하는지 확인하는 목적이 중심입니다.

판정 항목 무엇을 보는가 걸렸을 때의 대처
X-Forwarded-For 의 맨 왼쪽을 믿음 X-Forwarded-For 는 경유할 때마다 덧붙여져 client, proxy1, proxy2 처럼 이어집니다. 클라이언트 자신이 처음부터 가짜 값을 보낼 수 있으므로 맨 왼쪽은 전혀 믿을 수 없습니다. 맨 왼쪽을 채용한 구현에서는 IP 제한도 레이트 리밋도 차단도 헤더 한 줄만 더하면 우회됩니다. 자기 구성에서 경유하는 신뢰할 수 있는 프록시 수를 세고 오른쪽에서 센 위치를 채용합니다. nginx 라면 set_real_ip_from 에 자기 LB 나 CDN 의 대역만 나열하고 real_ip_recursive on; 을 설정합니다. 그러면 신뢰 목록에 없는 첫 값이 실제 클라이언트로 채용됩니다.
CDN 뒤에서 전원이 같은 IP 로 보임 Cloudflare 등을 앞단에 두면 오리진에서 본 접속원은 모두 엣지 서버의 IP 가 됩니다. 액세스 로그 분석, 지역 판정, 레이트 리밋이 한꺼번에 작동하지 않게 되고 하나의 IP 에서의 대량 접속으로 보고 스스로를 차단하는 사고도 일어납니다. CDN 이 붙이는 실제 클라이언트 IP 헤더(Cloudflare 는 CF-Connecting-IP, 범용은 True-Client-IP)를 채용합니다. nginx 라면 real_ip_header CF-Connecting-IP;set_real_ip_fromCDN 의 공개 IP 대역을 등록합니다. 이 대역은 바뀌므로 정기적으로 가져오는 구조를 넣으세요. 아울러 오리진에 CDN 이외에서 직접 닿는 경로를 방화벽으로 막습니다.
IPv6 를 IPv4 와 같은 입도로 다룸 IPv4 에서는 1 주소가 대체로 1 접속자에 대응하지만 IPv6 에서는 1 가입자에게 /64 이상(주소 수로 1800경 개)이 할당됩니다. 주소 단위로 레이트 리밋이나 차단을 걸어도 같은 이용자가 옆 주소로 옮기기만 하면 무효가 됩니다. IPv6 는 /64 단위로 묶어 셉니다(엄격히 하려면 /56). 아울러 데이터베이스의 IP 저장 컬럼은 45자 확보하세요(IPv4-mapped 형식 ::ffff:192.168.0.1 을 포함한 최대 길이입니다). 로그 분석 정규식이 IPv4 의 \d+\.\d+ 전제로 되어 있지 않은지도 재검토하세요.

IP 를 사용자 식별자로 쓰지 마세요. 모바일 회선에서는 CGNAT 로 수백〜수천 명이 같은 주소를 공유하고, 한편으로 한 이용자가 몇 분 만에 주소를 바꿉니다. 같은 IP 니까 동일인도, 다른 IP 니까 다른 사람도 성립하지 않습니다. 지역 판정도 국가 수준에서는 대체로 맞지만 도시 수준의 정확도는 크게 떨어집니다. 게다가 EU 의 GDPR 에서 IP 주소는 개인 데이터에 해당하므로 저장한다면 기간과 목적을 정하세요.

🔗 관련 도구