2012-10-28 4 views
8

주어진 IP 주소를 해당 ASN 번호에 매핑하는 쉬운 방법이 있습니까? 예를 들면 다음과 같습니다 ASN 번호에 대한IP 대 ASN 매핑 알고리즘

$ ping www.switch.ch 
PING aslan.switch.ch (130.59.108.36) 56(84) bytes of data. 

후이즈 조회 :

핑 (ping)는 IP 주소 알아내는

$ whois -h whois.cymru.com -v 130.59.108.36 
Warning: RIPE flags used with a traditional server. 
AS  | IP    | BGP Prefix   | CC | Registry | Allocated | AS Name 
559  | 130.59.108.36 | 130.59.0.0/16  | CH | ripencc | 1993-09-22 | SWITCH SWITCH, Swiss Education and Research Network 

그래서이 경우 매핑이 130.59.108.36 (IP) 것을 ->559 (ASN). 쉬운. 하지만 지역 인터넷 레지스트리의 공개 정보를 사용하여 자체 매핑 서비스를 만들고 싶다면 어떻게해야합니까? 위의 예에서이 목록이됩니다.

ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest 

와 일치하는 entrie을 찾을 수는 문제가되지 않습니다 :

ripencc|CH|ipv4|130.59.0.0|65536|19930922|assigned 

하지만 어떻게 내가 위의 줄에서 ASN 번호를받을 수 있나요? 이 두 정보는 어떻게 서로 연결되어 있습니까?

ripencc|EU|asn|559|1|19930901|allocated 

미리 답변 해 주셔서 감사합니다.

답변

2

실제 BGP 스피커에서 수집 한 MRT 덤프를 기반으로이를 제안합니다.

이 파이썬 라이브러리 f.e가 있습니다. 그 쉽게 MRT 덤프를 분석하는 데 사용할 수 있습니다 http://code.google.com/p/pyasn/

당신이 당신의 자신의 BGP 스피커를 실행할 수없는 경우, 당신은 당신이 너무 자신의 다른 물건을 체크 아웃하십시오 http://archive.routeviews.org/

에서 덤프를 다운로드 할 수 있습니다. http://archive.routeviews.org/dnszones/

내가 그건 당신이 시작 할텐데 ...

8

내가 여기이 작업을 수행하는 방법에 대해 설명합니다 그들은 또한 바인딩 또는 NSD 같은 표준 DNS 서버를 사용하여 같은 조회를 할 수 있도록 할 zonefiles DNS를 제공합니다 : https://www.quaxio.com/bgp/ (이전 https://alokmenghrajani.github.io/bgp/)

기본적으로 라우터에서 덤프를 다운로드 한 다음 효율적인 데이터 표현을 사용하여 IP 주소를 넷 마스크에 매핑합니다.

+0

안녕하세요. Maxmind가 제공 한 것과 동일한 정보를 얻을 수있는 대안을 제공합니다 (위의 대답 참조). 또는 그것은 질적으로 다른 무엇입니까? 감사합니다 – sandyp

+0

근본적으로, 아마 동일합니다. 덜 매혹적입니다. 원시 데이터를 얻는 방법을 설명합니다. 나는 그것을 처리하는 방법을 설명한다. – Alok

0

HTTP 로그 라인에 ASN을 추가하는 도구를 만들었습니다. RIPE 원시 데이터에서 데이터베이스를 빌드하고 이진 검색과 함께 사용하는 방법을 설명합니다. 또한 C 코드를 사용할 준비가되었습니다. 일반 가상 인스턴스 몇 초 1.6M 룩 - 업 :

https://github.com/psvz/tirexASN