จะหาช่วง IP ทั้งหมดที่เป็นของ AS ได้อย่างไร


13

ฉันต้องการทราบว่าช่วง IP ใดบ้างที่เป็นของ AS714

ฉันจะรับข้อมูลนี้ได้อย่างไร

ฉันรู้วิธีการย้อนกลับซึ่งเป็นเรื่องง่ายกับ whois แต่วิธีอื่นดูเหมือนจะไม่ง่ายขนาดนั้น


คุณต้องการช่วงที่อยู่ IP ที่มาจาก AS นี้หรือไม่? (ลูกค้าโดยตรงที่ไม่มี AS) แล้วช่วงที่อยู่ IP สามารถเข้าถึงได้ผ่าน AS นี้เท่านั้น (ลูกค้าที่มี AS ของตนเอง) แล้วช่วงที่อยู่ IP สามารถเข้าถึงได้ผ่าน AS นี้ แต่ยังรวมถึง ASes ของผู้ให้บริการรายอื่นด้วย (ลูกค้า Multihomed)
David Schwartz

1
จุดประสงค์คือเพื่อหาช่วง IP ทั้งหมดที่ผู้ให้บริการของฉันเป็นเจ้าของ ฉันได้รับข้อมูลนี้โดยไปที่bgp.potaroo.net/as1221/asnames.txtเพื่อหาหมายเลข AS และripe.net/data-tools/stats/ris/routing-information-serviceเพื่อรับ IP ทั้งหมด ช่วงผ่านแท็บคำนำหน้า คุณรู้ความเป็นไปได้อื่น ๆ หรือไม่?
JohnnyFromBF

คำตอบ:


17

พวกเขากำลังแสดงรายการออนไลน์พร้อมรายละเอียดที่เกี่ยวข้องที่http://ipinfo.io/AS714 (แทนที่ ASN เพื่อรับรายละเอียดที่เทียบเท่ากับ ASN อื่น ๆ )

ถ้าแทนที่จะเรียกดูพวกเขาคุณควรจะจับพวกเขาโดยทางโปรแกรมคุณสามารถใช้เซิร์ฟเวอร์ RADb whois:

$ whois -h whois.radb.net -- '-i origin AS714' | grep -Eo "([0-9.]+){4}/[0-9]+" | head
17.108.0.0/16
17.106.0.0/15
17.102.0.0/16
17.207.0.0/16
17.216.0.0/16
17.250.48.0/24
17.252.65.0/24
192.35.50.0/24
17.148.0.0/14
17.86.0.0/17

1
ขอบคุณสำหรับคำตอบนี้ ตอนนี้ฉันสามารถสร้างรายการบล็อก SMTP สำหรับผู้ให้บริการโฮสต์ที่ไม่เหมาะสมได้อย่างง่ายดาย
Jari Turkia

สำหรับการอ้างอิงการลงทะเบียนการกำหนดเส้นทางอื่น ๆ เหล่านี้ควรใช้ได้เช่นกัน
JakeGould

14

ตกลงฉันพบวิธีง่าย ๆ เพียงวิธีเดียว คุณเพียงแค่ใส่นี้http://bgp.he.net/[ASXXX]#_prefixesในเบราว์เซอร์ที่ [ASXXX] เป็นบางอย่างและจำนวนเช่นนี้http://bgp.he.net/AS714#_prefixes


3

สำหรับคนอื่นที่พบนี้ - ผมชอบคำตอบของเบนดาวลิ่ง อย่างไรก็ตามตาม:

http://www.radb.net/support/query2.php

มีวิธีที่แตกต่างกันซึ่งให้ผลลัพธ์ที่แตกต่างกันมาก ! ฉันกำลังทดสอบ Facebook IP ซึ่งไม่ได้มาใน Bens '| หัวผลลัพธ์ ตามลิงค์ด้านบนวิธีที่ถูกต้องในการสอบถามที่อยู่ IP4 จะเป็น:

whois -h whois.radb.net '!gas714'

ความจริงก็คือคุณสามารถค้นหาที่อยู่ IP6 ทั้งหมดด้วย:

whois -h whois.radb.net '!6as714'

อย่างที่ฉันพูด - เมื่อฉันใช้งาน Facebook ASN ฉันพบที่อยู่ IP ของฉันหายไป

ปรับปรุงภายหลัง

น่าเสียดายที่ Radb.net ไม่ได้ให้ข้อมูลที่ถูกต้อง !! ลองASN 19281ตัวอย่างและคุณจะเห็นผลลัพธ์ที่ได้รับ แต่ถ้าคุณเพียงแค่ whois radb.net ที่ไม่มีพารามิเตอร์มันจะพูดว่า "ไม่พบบันทึก" ดูเหมือนว่าจะไม่ถูกต้องพอ IMHO


วิธีนี้มีปัญหาบางอย่างกับรายการยาว ๆ เช่น Facebook whois -h whois.radb.net -- '!6as32934'ที่ได้รับ "ตัด" กับบรรทัดใหม่ในช่วงกลางของที่อยู่
Hvisage

ซึ่งหมายความว่าคุณควรใช้ NC เช่นใน:echo '!6as32934'|nc whois.radb.net 43
Hvisage

1

ฉันพบว่าคุณไม่สามารถสืบค้น bgp.he.net ได้โดยอัตโนมัติฉันได้รับการตอบกลับ 403 ครั้งและเมื่อฉันแกล้งทำตัวแทนผู้ใช้มันพยายามยืนยันว่าฉันเป็นเบราว์เซอร์จริง ๆ ฉันล้มเหลวในทุกสิ่งด้วย bgp.he.net (แม้แต่ติดต่อเว็บไซต์)

สิ่งที่ DID ใช้งานได้สำหรับฉันคือการค้นหาhttp://ipinfo.ioตามที่ Ben Dowling พูดในคำตอบอื่น

ฉันทำสคริปต์หลามเพื่อรับ IP block ทุกอันต่อ ASN ฉันมีรายการหมายเลข AS ทุกอันในไฟล์ csv นี่มันคือ:

import requests
from bs4 import BeautifulSoup
import re


url_base = 'http://ipinfo.io/'
as_base = 'AS'

output = open('ip_per_asn.csv', 'w')
with open('chilean_asn.csv') as f:
    lines = f.read().splitlines()
    for asn in lines:
        ASN = as_base + asn
        page = requests.get(url_base+ASN)
        html_doc = page.content
        soup = BeautifulSoup(html_doc, 'html.parser')
        for link in soup.find_all('a'):
            if asn in link.get('href'):
                auxstring = '/'+as_base+asn+'/'
                line = re.sub(auxstring, '', link.get('href'))
                printstring = asn+','+line+'\n'
                if 'AS' not in printstring:
                    output.write(printstring)
        print asn+'\n'

print 'script finished'

ที่กล่าวว่าคุณยังสามารถใช้ curl กับ ipinfo.io ลองทำตัวสุภาพและอย่าทำเคียวรีขนาดใหญ่กับเซิร์ฟเวอร์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.