문제

어떤 IP가 어떤 ISP에 할당되어 있는지는 공개 정보인가요?지리 IP 서비스는 어떻게 이 정보를 얻고 이 정보를 유지합니까?

이러한 서비스 중 하나를 사용하지 않고 특정 IP가 어디에 속하는지 개인적으로 어떻게 알 수 있습니까?

도움이 되었습니까?

해결책

그 가치가있는 것에 대해, 나는 ISP 업계의 시니어 레벨에서 10 년 이상 일했기 때문에 이것에 대해 꽤 경험이 있습니다.

큰 IP 범위는 필요에 따라 할당됩니다 이아나 각각 지역 인터넷 등록 기관.

지역의 크기는 일반적으로 대륙입니다. IP 주소는 ~ 아니다 국내 기준으로 할당되었습니다.

RIR은 차례로 ISP에 IP 주소를 할당하여 최종 사용자에게 할당합니다.

각각의 RIR은 a를 유지합니다 whois 어떤 ISP가 NetBlock이 할당되었는지를 알기 위해 쿼리 할 수있는 서버뿐만 아니라 어느 정도의 최종 사용자 및 최종 사용자의 주소를 알 수 있습니다.

많은 ISP가 모든 단일 고객 에게이 정보를 작성하지는 않습니다. 따라서 DSL 서비스의 거주 구독자 인 경우 GEO 레코드가 귀하의 주소가 아니라 ISP의 주소를 제공 할 가능성이 높습니다.

다양한 지리적 위치 제공자는 주로 채굴하여 작동합니다 whois 기록. 그렇게하는 합법성은 회색 영역입니다. Ripe의 데이터베이스 저작권 선언문은 다음과 같습니다. 여기.

IANA는 또한 DNS의 루트 영역을 유지하지만 IP 할당 함수와 완전히 분리되어 있습니다. 도메인 이름 작업과 IP 주소의 구별을 유지하는 것이 매우 중요합니다.

다른 팁

코드에 통합할 수 있는 매핑 테이블과 서비스가 포함된 다양한 라이브러리가 있습니다.

이해해야 할 가장 중요한 것은 다음과 같습니다. 직접적인 관계는 없다 IP 주소와 세계 어느 곳이든 간에.주소는 대략 지리적인 조직에 큰 블록으로 할당되고, 조직은 더 작은 블록을 할당합니다. 이는 특정 IP 주소에 대해 여러 수준에서 발생할 수 있습니다(Alnitak이 프로세스를 잘 설명합니다).

사실은 다음과 같습니다WHOIS 데이터는 정확할 필요가 없습니다.주소 블록이 있으면 화성에 있다고 말할 수 있습니다.그리고 최종 조직의 위치를 ​​좁히더라도(예: 알래스카의 매우 작은 ISP) 사용자가 하와이에서 전화 접속을 사용하거나 서버가 괌의 회사를 호스팅할 수 있습니다.

따라서 IP 주소(또는 도메인 이름)를 물리적 위치에 매핑하는 데는 항상 위험/추정 요소가 있습니다.절대로 그렇게 해서는 안 된다는 말은 아닙니다. 대략적이거나 불완전한 정보가 매우 유용한 응용 프로그램이 많이 있습니다.

"작동 방식"에 대한 구체적인 질문에 답하기 위해 : 수많은 수동 노동이 관련되어 있으며 데이터베이스는 수동으로 유지되는 정도입니다.. 다른 답변이 지적한 것처럼, IP 범위와 국가 간에는 실제 상관 관계가 없으며 훨씬 덜 구체적인 지역. 최근 IP 주소 공간 분포 시스템은 더 분산되어있어 소규모 개인 공급 업체가 지리적 지역에 관계없이 IPv4 주소 범위를 얻을 수 있음을 의미합니다. 이것이 Google ACQuried Urchin을 통해 Google Analytics에 서비스를 사용할 수있는 이유입니다. 매우 정확한 IP-to-Geographic-Region 정보.

서비스를 사용하고 싶지 않은 경우 Maxmind (개인 용도로 무료이며 데이터베이스는 어느 정도 열려 있습니다) 또는 Google 웹 로그 분석 (개인 용도로 무료), 때로는 평평한 파일로 떠 다니는 무료 (따라서 항상 약간 구식) 데이터베이스가 있습니다.

데이터는 종종 업데이트되기가 느리고 복제하기가 느리게 진행됩니다. 저의 작업장은 몇 년 전에 ISP를 바꾸었고, 우리는 이전에 캐나다 IP 주소 (미국에 기반을 둔) 블록을 배정 받았으며, 몇 달 동안 Google은 기본 검색 엔진으로 Google.ca를 계속 제공했습니다. 내 주택 IP 주소가 내 마을에서 온 것으로, 다른 주에있는 도시에서 1/2가 나오는 시간 약 1/2.

Jason은 프로세스가 동일하다는 것이 옳지 만 업데이트는 더 느리고 데이터가 덜 정확합니다.

Alnitak의 답변은 거의 정확합니다.

참고로 .dll을 사용하여 사용자 위치를 확인하려는 경우 다음을 시도해 볼 수 있습니다. IP 주소 확장 에서 발견 코드플렉스.ISP의 위치에 대한 내부 데이터베이스가 있습니다.위에서 Alnitak이 언급한 것처럼 각 ISP에는 IP 블록이 있습니다.그래서 이 정보는 모두 .dll 안에 묻혀있습니다 :)

사용하기가 정말 쉽습니다..dll을 참조한 다음 인스턴스를 생성하면 됩니다. System.Net.Ip주소 물체!확장명이 나열되어 있습니다.

또한 내가 해당 codeplex 프로젝트/제품의 작성자임을 선언해야 합니다.

그것을 확인하시기 바랍니다 :)

편집하다:내가 해당 제품의 작성자라는 정보를 추가했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top