# 프록시가 정적인지 확인하는 방법: 시간 경과에 따른 IP, ASN 및 위치

> 프록시가 정적인지 확인하는 방법: curl 또는 Python으로 24시간 동안 매시간 IP, ASN, 위치를 기록하세요. 테스트된 스크립트; SteadyProxy IP, KYC 없음, 암호화폐.

- URL: https://steadyproxy.com/ko/guides/check-if-a-proxy-is-static/
- 최종 업데이트: 2026-10-19
- Publisher: SteadyProxy (https://steadyproxy.com)

정적 프록시는 전체 임대 기간 동안 동일한 출구 IP, 네트워크, 국가를 유지합니다. 다음은 테스트된 curl 및 Python 스크립트로 이를 증명하는 반복 가능한 방법입니다.

**빠른 답변 — 프록시가 고정 IP인지 어떻게 확인하나요?**

프록시가 고정 IP인지 확인하려면 최소 24시간 동안 한 시간에 한 번씩 api.ipify.org와 ipinfo.io/json에 프록시를 통해 요청하세요. 그런 다음 성공한 모든 체크에서 출구 IP, ASN(org 필드) 및 국가를 비교하세요. 모든 행에서 하나의 IP와 하나의 ASN이 나오면 해당 기간 동안 프록시가 고정 상태를 유지한 것입니다. **SteadyProxy** 고정 IP는 30일 임대 기간마다 고정되도록 설계되었으며, 이 테스트로 직접 확인할 수 있습니다. 2026년 10월 19일 업데이트.

## 테스트의 핵심 사실은 무엇인가요?

| 속성 | 값 |
| --- | --- |
| 테스트 엔드포인트 | api.ipify.org(출구 IP만) 및 ipinfo.io/json(IP, org/ASN, 도시, 지역, 국가) |
| 권장 기간 | 24시간, 한 시간에 한 번 체크(총 24회); 장기 작업의 경우 7일째에 반복 |
| 고정 결과 | 성공한 모든 체크에서 동일한 IP와 동일한 ASN |
| 로테이션 결과 | 서로 다른 IP가 두 개 이상이거나 ASN 변경 |
| 실패한 요청 | 타임아웃은 IP 변경이 아닙니다: 성공한 행만 비교하세요 |
| 도시 변경 | 데이터베이스 업데이트 시 발생할 수 있음; IP와 ASN이 더 강력한 신호입니다 |
| 테스트 완료 | 두 스크립트 모두 2026년 10월 19일 비밀번호로 보호된 테스트 프록시를 통해 실행됨 |

## 고정 프록시에서 정확히 무엇이 동일하게 유지되어야 하나요?

세 가지 값이 변경되지 않아야 합니다: 출구 IP, ASN, 국가. 출구 IP는 웹사이트가 보는 주소이며 api.ipify.org는 이것만 반환합니다. ASN은 IP를 공지하는 네트워크로, ipinfo.io는 org 필드에 표시합니다(예: AS9009 다음에 네트워크 이름). 국가는 IP 데이터베이스에서 가져옵니다. 도시와 지역은 IP가 동일하더라도 해당 데이터베이스가 업데이트되면 변경될 수 있습니다. 연결하는 호스트가 항상 출구 IP는 아니라는 점에 유의하세요: 항상 프록시를 통해 출구 IP를 읽으세요.

## curl로 프록시를 어떻게 확인하나요?

먼저 한 번 체크하여 필드를 확인한 다음 루프를 실행하세요. USERNAME, PASSWORD, host, port를 대시보드에 표시된 IP의 네 가지 값으로 바꾸세요. 루프는 체크마다 ip-log.txt에 한 줄씩 기록하고 체크 사이에 3,600초 대기합니다. 마지막 두 명령은 고유 IP와 네트워크를 계산합니다: 각각 한 줄이면 테스트 동안 프록시가 고정 상태를 유지한 것입니다.

*curl: 한 번 체크 후 24회 시간별 체크*

```bash
# One check through the proxy: IP, network (org = ASN + name), country, city
curl -s -m 30 -x "http://USERNAME:PASSWORD@gw.steadyproxy.com:7777" https://ipinfo.io/json

# 24 checks, one per hour, one line per check in ip-log.txt
PROXY="http://USERNAME:PASSWORD@gw.steadyproxy.com:7777"
for i in $(seq 1 24); do
  printf '%s ' "$(date -u +%Y-%m-%dT%H:%M:%SZ)" >> ip-log.txt
  curl -s -m 30 -x "$PROXY" https://ipinfo.io/json | tr -d '\n' >> ip-log.txt
  echo >> ip-log.txt
  sleep 3600
done

# Count the distinct exit IPs and networks in the log (one line each = static)
grep -o '"ip": *"[^"]*"' ip-log.txt | sort | uniq -c
grep -o '"org": *"[^"]*"' ip-log.txt | sort | uniq -c

```

## Python으로 프록시를 어떻게 확인하나요?

Python 스크립트는 동일한 테스트를 수행하고 스프레드시트에서 열 수 있는 CSV 파일을 작성합니다. 프록시 세부 정보는 환경 변수(PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS)와 두 가지 설정(CHECKS, 기본값 24; INTERVAL_SECONDS, 기본값 3600)에서 읽습니다. 각 라운드에서 두 엔드포인트를 모두 쿼리하므로 둘 사이의 불일치도 잡아낼 수 있습니다. 마지막에 고유 IP, 네트워크, 국가 및 한 줄 결과를 출력합니다. 2026년 10월 19일 Python 3.14 및 Requests 2.34로 사용자 이름과 비밀번호가 필요한 로컬 테스트 프록시를 통해 실행했습니다.

*check_static.py: 시간 경과에 따른 IP, ASN 및 위치 기록*

```python
"""Log the exit IP, network and location of one proxy over time.

A static IP shows the same IP, network (ASN) and country in every row.
Install: python -m pip install requests
"""
import csv
import os
import time
from datetime import datetime, timezone
from urllib.parse import quote

import requests

HOST = os.environ.get("PROXY_HOST", "gw.steadyproxy.com")
PORT = os.environ.get("PROXY_PORT", "7777")
USER = os.environ.get("PROXY_USER", "USERNAME")
PASSWORD = os.environ.get("PROXY_PASS", "PASSWORD")
CHECKS = int(os.environ.get("CHECKS", "24"))
INTERVAL = int(os.environ.get("INTERVAL_SECONDS", "3600"))
LOG_FILE = os.environ.get("LOG_FILE", "static-ip-log.csv")

PROXY = "http://" + quote(USER, safe="") + ":" + quote(PASSWORD, safe="") + "@" + HOST + ":" + PORT
PROXIES = {"http": PROXY, "https": PROXY}
FIELDS = ["time_utc", "ipify_ip", "ipinfo_ip", "org", "country", "region", "city"]


def check_once(session):
    ipify = session.get("https://api.ipify.org?format=json", proxies=PROXIES, timeout=(10, 30))
    ipify.raise_for_status()
    info = session.get("https://ipinfo.io/json", proxies=PROXIES, timeout=(10, 30))
    info.raise_for_status()
    data = info.json()
    return {
        "time_utc": datetime.now(timezone.utc).isoformat(timespec="seconds"),
        "ipify_ip": ipify.json()["ip"],
        "ipinfo_ip": data.get("ip", ""),
        "org": data.get("org", ""),
        "country": data.get("country", ""),
        "region": data.get("region", ""),
        "city": data.get("city", ""),
    }


def main():
    rows = []
    with requests.Session() as session, open(LOG_FILE, "a", newline="", encoding="utf-8") as fh:
        session.trust_env = False
        writer = csv.DictWriter(fh, fieldnames=FIELDS)
        if fh.tell() == 0:
            writer.writeheader()
        for n in range(CHECKS):
            try:
                row = check_once(session)
            except requests.RequestException as exc:
                print("check", n + 1, "failed:", type(exc).__name__)
            else:
                writer.writerow(row)
                fh.flush()
                rows.append(row)
                print(row["time_utc"], row["ipify_ip"], row["org"], row["country"], row["city"])
            if n + 1 < CHECKS:
                time.sleep(INTERVAL)

    ips = {r["ipify_ip"] for r in rows} | {r["ipinfo_ip"] for r in rows}
    orgs = {r["org"] for r in rows}
    countries = {r["country"] for r in rows}
    print("successful checks:", len(rows), "of", CHECKS)
    print("distinct IPs:", sorted(ips))
    print("distinct networks:", sorted(orgs))
    print("distinct countries:", sorted(countries))
    if len(rows) >= 2 and len(ips) == 1 and len(orgs) == 1 and len(countries) == 1:
        print("RESULT: same IP, network and country in every successful check")
    else:
        print("RESULT: not stable, or not enough data - read the log")


if __name__ == "__main__":
    main()

```

## 테스트는 얼마나 오래 실행해야 하나요?

최소 24시간 동안 실행하세요. 많은 로테이션 상품은 요청마다, 세션마다 또는 정해진 시간 후에 IP를 변경하므로 1분 내 몇 번의 체크로는 변경을 놓칠 수 있습니다. 매주 실행되는 작업의 경우 7일 후에 테스트를 반복하세요. 한 시간에 한 번이면 충분하며 무료 조회 서비스의 사용 한도보다 훨씬 낮습니다. 짧은 테스트(예: 5분 간격으로 12회)에만 더 짧은 간격을 사용하세요.

## 테스트 중 IP가 변경되면 어떻게 해야 하나요?

먼저 설정 오류를 배제하세요. 모든 요청이 동일한 호스트, 포트, 사용자 이름을 사용했는지 확인하세요: 서로 다른 두 IP는 종종 서로 다른 두 인증 정보 라인에서 발생합니다. 그런 다음 시스템 프록시나 VPN이 일부 요청을 가로챘는지 확인하세요; Python 스크립트는 trust_env = False로 이러한 설정을 무시합니다. 하나의 SteadyProxy 인증 정보 라인의 출구 IP가 임대 기간 중 실제로 변경되면 로그를 지원팀에 보내세요. 교체 규칙: IP가 작동하지 않으면 지원팀에 문의하세요: 재고가 허용하는 범위에서 수리하거나 동일 국가의 다른 IP로 교체해 드립니다.

## IP가 동일한데 위치가 변경될 수 있는 이유는 무엇인가요?

위치는 IP의 속성이 아니라 데이터베이스의 추정치이기 때문입니다. 지리위치 제공업체는 데이터를 업데이트하며, 고정 IP는 업데이트 사이에 한 도시에서 인근 도시로 이동할 수 있습니다. 레지스트리 데이터도 더 나은 기준이 되지 못합니다: RIPE 문서에 따르면 국가 속성을 IP를 국가에 매핑하는 데 안정적으로 사용할 수 없습니다. 도시 변경은 데이터베이스 이벤트로, IP나 ASN 변경은 실제 변경으로 간주하세요. 가이드 [고정 레지덴셜 프록시는 정말 레지덴셜인가?](https://steadyproxy.com/ko/guides/are-static-residential-proxies-really-residential/)에서 이러한 레코드를 읽는 방법을 설명합니다.

## 고정 프록시 테스트에 대해 사람들이 또 무엇을 묻나요?

### 프록시가 고정 IP임을 증명하는 체크 횟수는 몇 회인가요?

미래를 증명하는 숫자는 없습니다; 테스트는 측정한 기간만 설명합니다. 실제로 하나의 IP와 하나의 ASN으로 24회 시간별 체크를 하면 하루 동안 프록시가 로테이션되지 않았음을 보여줍니다. 일주일 후 테스트를 반복하고 로그를 보관하세요. SteadyProxy에서는 각 IP가 30일 임대 기간 동안 고정되도록 설계되었습니다.

### api.ipify.org와 ipinfo.io를 둘 다 사용하는 이유는 무엇인가요?

api.ipify.org는 IP만 반환하므로 깔끔한 기준이 됩니다. ipinfo.io는 ASN과 조직, 도시, 지역, 국가를 추가합니다. 같은 라운드에서 두 서비스가 서로 다른 IP를 보고하면 클라이언트가 서로 다른 경로를 통해 여러 연결을 열고 있을 수 있습니다. 어떤 결과든 신뢰하기 전에 확인할 가치가 있습니다.

### 스티키 세션이 짧은 테스트에서 고정처럼 보일 수 있나요?

예. 스티키 세션이 있는 로테이션 레지덴셜 프록시는 정해진 시간(흔히 몇 분) 동안 하나의 IP를 유지한 후 변경합니다. 몇 분짜리 테스트는 고정처럼 보일 수 있습니다. 그래서 이 가이드는 최소 24시간 동안 체크할 것을 요구합니다. 진정한 고정 IP는 며칠에 걸쳐 동일한 IP와 ASN을 유지합니다.

### 실패한 요청이 IP 변경을 의미하나요?

아니요. 타임아웃이나 프록시 오류는 단지 해당 요청 하나가 완료되지 않았다는 뜻일 뿐입니다. 스크립트는 실패한 라운드를 건너뛰고 성공한 행만 비교합니다. 연속으로 많은 실패가 발생하면 점검이 필요합니다: 자격 증명, 포트, 본인 연결 상태를 확인하고, 문제가 계속되면 지원팀에 문의하세요.

### 이 검사들을 토큰 없이 ipinfo.io로 보내도 괜찮나요?

가벼운 사용에는 괜찮습니다. 시간당 요청 한 건은 매우 적은 트래픽입니다. 2026년 10월 19일 테스트에서 확인했듯이 ipinfo.io는 토큰 없이 기본 요청에 응답하며, 더 많은 양에는 토큰을 제공합니다. 한 번에 많은 IP를 테스트한다면 무료 토큰을 만들어 요청에 추가하거나 api.ipify.org만 사용하세요.

### 대시보드에서 출구 IP를 테스트해야 하나요, 호스트를 테스트해야 하나요?

출구 IP입니다. 연결하는 호스트는 웹사이트가 보는 IP와 다른 이름이나 주소일 수 있습니다. 프록시를 통해 검사를 실행하고 api.ipify.org가 반환하는 IP를 사용하세요. 그 출구 IP가 허용 목록에 추가하거나 WHOIS에서 조회할 IP이기도 합니다.

### 신뢰하기 전에 SteadyProxy IP에서 테스트를 실행할 수 있나요?

네, 그리고 권장합니다. US$2.24에서 30일용 IP 하나를 주문하고, 하루 동안 Python 스크립트를 실행한 뒤 로그를 확인하세요. [환불 정책](https://steadyproxy.com/ko/refunds/)에 따라, 배송 후 첫 24시간 내에 작동하지 않고 저희가 수리하거나 교체할 수 없는 IP는 잔액으로 전액 환급됩니다.

## 이 가이드는 어떤 출처를 사용하나요?

1. [ipify API](https://www.ipify.org/) — ipify (2026-10-19)
2. [IPinfo 개발자 문서](https://ipinfo.io/developers) — IPinfo (2026-10-19)
3. [Requests 고급 사용법: 프록시와 타임아웃](https://requests.readthedocs.io/en/latest/user/advanced/) — Requests (2026-10-19)
4. [curl 매뉴얼 페이지](https://curl.se/docs/manpage.html) — curl (2026-10-19)
5. [RIPE 데이터베이스 문서: country 속성](https://docs.db.ripe.net/RPSL-Object-Types/Descriptions-of-Primary-Objects) — RIPE NCC (2026-10-19)

---

SteadyProxy: SteadyProxy는 정적 프록시 제공업체입니다: ISP(정적 레지덴셜) 및 전용 데이터센터 IP를 IP당 30일 단위로 임대하며, 신분증 업로드 없이 암호화폐로 결제합니다.
