2012-10-28 35 views
8

Không có cách nào dễ dàng để ánh xạ địa chỉ IP đã cho với số ASN tương ứng? Ví dụ:Thuật toán lập bản đồ IP tới ASN

ping để tìm ra địa chỉ IP:

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

tra cứu whois cho số ASN:

$ 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 

Vì vậy, các bản đồ trong trường hợp này sẽ là 130.59.108.36 (IP) ->559 (ASN). Dễ dàng. Nhưng nếu tôi muốn tạo dịch vụ lập bản đồ địa phương của riêng tôi với thông tin công khai có sẵn từ các Đăng ký Internet khu vực? Vì vậy, đối với ví dụ trên, nó sẽ là danh sách này, phải không?

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

Và để tìm ra entrie phù hợp cũng không phải là một vấn đề:

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

Nhưng làm thế nào để tôi có được số ASN từ dòng trên ?? Hai thông tin đó được liên kết với nhau như thế nào?

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

Cảm ơn bạn đã trả lời!

Trả lời

2

Tôi muốn đề xuất thực hiện việc này dựa trên các bãi chứa MRT được thu thập từ loa BGP thực tế.

Có thư viện python này là f.e. có thể được sử dụng để dễ dàng phân tích MRT bãi: http://code.google.com/p/pyasn/

Nếu bạn không thể chạy loa BGP của riêng bạn, bạn có thể tải về bãi tại http://archive.routeviews.org/

Hãy chắc chắn rằng bạn kiểm công cụ khác của họ quá. Họ cung cấp cũng DNS zonefiles mà sẽ cho phép bạn làm như vậy tra cứu sử dụng một máy chủ DNS chuẩn như Bind hoặc NSD: http://archive.routeviews.org/dnszones/

Tôi hy vọng rằng giúp bạn bắt đầu ...

8

Tôi giải thích làm thế nào để làm điều này ở đây: https://www.quaxio.com/bgp/ (trước đây là https://alokmenghrajani.github.io/bgp/)

Về cơ bản, nó liên quan đến việc tải xuống bãi chứa từ bộ định tuyến và sau đó sử dụng đại diện dữ liệu hiệu quả để ánh xạ địa chỉ IP lên mặt nạ mạng.

+0

Xin chào. Vì vậy, chỉ để có được nguyên tắc cơ bản của tôi, phương pháp của bạn cung cấp một thay thế để có được cùng một thông tin, như được cung cấp bởi Maxmind (xem câu trả lời ở trên)? Hay nó có chất lượng khác nhau? Cảm ơn – sandyp

+0

Về cơ bản, nó có thể giống nhau. Nó ít ma thuật hơn. Tôi giải thích cách lấy dữ liệu thô. Tôi giải thích cách xử lý nó. – Alok

0

Tôi đã tạo một công cụ gắn thêm ASN vào các dòng nhật ký HTTP. Tôi giải thích làm thế nào để xây dựng cơ sở dữ liệu ra khỏi dữ liệu thô RIPE và sử dụng nó với tìm kiếm nhị phân. Ngoài ra, mã C đã sẵn sàng để sử dụng. 1.6 triệu lượt xem trong vài giây trên một phiên bản ảo thông thường:

https://github.com/psvz/tirexASN

Các vấn đề liên quan