문제

저는 IPv4 주소의 처음 3 옥트를 사용하여 사용자의 국가, 도시, LAT, LON 등을 결정하는 IP 지리적 위치 라이브러리에서 작업하고 있습니다.

그러나 IPv6 주소를 처리하지 않으므로 그렇게하고 싶습니다.

IPv6 주소를 변환하여 IPv4 주소의 첫 3 옥셋과 동등한 것을 얻기 위해 IPv6 주소를 변환 할 수있는 방법이 있습니까?

도움이 되었습니까?

해결책

그만큼 일반적인 IPv6 할당 인터넷 제공 업체 (다국적 회사가 될 수 있음)에 대한 /32 (4 팩스)입니다. /48 (6 옥셋)최종 사이트 (일반적으로 클라이언트 조직)로. 당신은 출발점을 얻을 수 있습니다 위임 된 블록의 IANA 목록.

이것은 RIR 데이터베이스에있는 등록에만 해당됩니다. 최종 사용자에 대한 과제는 일반적으로 기록되지 않으므로 현재 주소,2a01:e35:8bd9:8bb0:92b:8628:5ca5:5f2b 내 공급자의 본부가 파리에 있다고 말할 것입니다 (국가 회사이기 때문에 고객은 프랑스의 어느 곳에도있을 수 있습니다).

또 다른 예외는 PI (제공자 독립적) 할당이며 일반적으로 /48입니다.

또한 IPv4 용 지리적 지위 데이터베이스가 많이 있으며, 내 아는 한 IPv6에는 아무것도 없습니다. 당신은 모든 것을 스스로해야 할 것입니다.

요약 : 당신이 믿는 것보다 더 많은 일.

다른 팁

노아의 의견에 대한 친근한 교정 (6 월 3 일 7:57)-

Maxmind의 고객 서비스 부서 (강조 광산) : "IPv6은 현재 지원되지 않습니다. 나중에 언젠가는이를 구현할 계획이지만 현재 날짜가 없습니다."

IPv6은 IPv4에 비해 완전히 다른 주소 지정 체계를 사용합니다. IPv6 주소를 IPv4 주소에 매핑 할 수있는 방법은 없습니다. 2002 년부터 시작되는 IPv6 주소가 표시되면 주소는 6to4 주소입니다. 당신은 아마도 사용중인 많은 사람들을 보지 못할 것이고 그들은 더 이상 사용되지 않는다. ~이다 IPv4에 매핑 가능.

공개 IPv4 주소의 각 사용자는 IPv6 공간의 /48 (65536 서브넷)을 사용할 수 있습니다. 이러한 주소는 항상 2002 년부터 시작합니다. 다음 두 16 진수 숫자는 IPv4 주소입니다. So 2002 : 5389 : 1164 : 내 웹 서버의 IPv4 주소 (83.137.17.100)에 해당합니다.

0x53 = 83
0x89 = 137
0x11 = 17
0x64 = 100

그러나 모든 '정상'IPv6 주소는 모든 IPv4 주소와 완전히 관련이 없습니다. 적어도 표준적인 방식으로. ISP는 IPv6을 고객에게 롤아웃 할 때 IPv4와 IPv6 주소 간의 관계를 정의 할 수 있습니다. 그러나 당신은 그 관계에 대해 알지 못하므로 그것은 당신에게 쓸모가 없을 것입니다 ...

MaxMind.com의 지리적 위치 서비스 및 라이브러리는 IPv6 OK를 처리합니다. 어쩌면 그들의 물건은 당신에게 옵션 일 것입니다. (나는 그들과 어떤 관계가 없다.)

아직이 작업을 수행하는 쉬운 방법이없는 것처럼 보이기 때문에 IPv4의 경우에 수행되지 않은 일을 할 수있는 기회가 생길 것입니다 (*)

우리는 이것이 좋은 생각인지 스스로에게 물어볼 수 있습니다.


(*) 또는 완료되면 작동하지 않았습니다!

Wiki에서 여러 IPv6, 주소 및 전환 메커니즘을 읽으면 IPv4 (SIIT, IPv4-Mapped IPv6, NAT64, 2002 :* 위에 쓰여진 것 등)를 유추 할 수있는 몇 가지 IPv6 주소 패턴을 찾을 수 있습니다. 그들 중 하나는 시작합니다 :http://en.wikipedia.org/wiki/ipv6_transition_mechanisms

나는 이러한 체계가 일반적인 GEO 보고서, 사기 보호 또는 사고 감지를 수행 할만 큼 인기가 있다고 생각하지 않지만 IPv6 GEO 조회를 통해 이러한 추론 된 IPv4 주소에 대한 IPv4 GEO 조회에 대한 우선 순위를 확실히 제공 할 것입니다 (IPv4를 가정합니다. DB가 더 완전합니다).

IPv6 GEO 정보에 대한 나의 관심사는 엄청나게 많은 수의 서브넷입니다. 데이터베이스는 더 커질 것입니다 (더 많은 IP 범위)는 예상되지만 예상되지만 같은 양의 터미널 GEO 정보의 경우 데이터베이스가 드물고 더 깊은 트리가 더 길어지고 (일부는 이진 또는 radix 트리를 사용하는 구현) 일부를 암시합니다. 성능 비용. IP 범위가있는 SQL 테이블을 사용하는 GEO 데이터베이스는 아마도 128 비트의 큰 비트가없고 산술을 사용하기 때문에 어려움을 겪을 것입니다.

또 다른 관심사는 모바일입니다. IPv6은 내가 착각하지 않으면 로밍을 촉진하도록 설계되었습니다. 셀 타워를 변경하고 IP를 유지할 수 있습니다. 도시, 지역 또는 국가를 바꾸는 동안조차도. 나는 그 이후로 강력한 주소 친화력이 Mac 주소의 목적이라는 것을 의심합니다. IP 주소는 라우팅 목적을 위해 정확하게 존재하지만, 지리적 위치의 정확성을 무너 뜨리기에 충분히 변하지 않을 수 있다고 언급하는 것은 공정하다고 생각합니다.

애플리케이션 계층에서 사용자 에이전트/브라우저의 협업 (예 : 일부 GEO 위치 헤더)이 장난스러운 사람들이 스푸핑 할 수 있다고해도 미래 일 가능성이 있다고 생각합니다.

호출 된 프로토콜이 있습니다 추천 whois 이를 통해 제공자는 IP 지리적 위치 정보를 게시하고 다른 사람들이 검색 할 수 있습니다.

예를 들어, 나의 현재 IP 2001 : 470 : B4EA : BABY : D57 : 15C8 : 97B : 60C9는 미국의 허리케인 전기에 속합니다. IPv4-IPV6 터널이 사용하는 실제 서버는 스위스에 있지만 오스트리아에 있습니다. 그는이 모든 것을 게시하므로 RWHOOS를 지원하는 도구에서 IP를 입력하면 이것, 당신은 당신이 보는 바닥 근처에 그와 somwhere의 연락처 데이터를 찾을 수 있습니다.

연락처 : 이름 : 개인 고객 - 허리케인 전기

연락처 : 거리 주소 : 개인 거주지

연락처 : 국가 코드 : at

내 위치입니다.

많은 공급 업체가이를 게시하지는 않으며 많은 지리적 위치 도구가 지원하지는 않지만 적어도 존재합니다.

대부분의 IP Geolocation 제공자 (IPv6을 지원하는 사람들 중 일부는 여전히 그렇지 않음)는이 IP를 스위스에, 일부는 미국에서도 스위스에 넣습니다.

지리적 위치가 나쁘다, mmkay? 인터넷은 위치에 비해, 나는 가지고 있습니다 절대 사소하지 않은 일에 사용되는 지리적 위치를 보았습니다. 즉, 내가 본 유일한 좋은 응용 프로그램 (언어 선택)은 사소한 것 (쉽게 드롭 다운 일 수 있음)이었습니다. 많은 사악한 응용 프로그램이 존재합니다 (이 비디오는 귀하의 국가에서 사용할 수 없으며 광고 및 추적을위한 물리적 위치를 목표로합니다) 우리는 기존에서 이와 같은 것을 낙담시킬 수는 없지만, 불법적이거나 적어도 사회적으로 용납 할 수 없게 만들어야합니다.

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