我想知道什么IP范围属于AS714。
我如何获得此信息?
我知道如何反向操作,这对于Whois很容易。但是另一种方法似乎并不那么容易。
我想知道什么IP范围属于AS714。
我如何获得此信息?
我知道如何反向操作,这对于Whois很容易。但是另一种方法似乎并不那么容易。
Answers:
在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
好的,我只是找到了一种简单的方法。您只需将http://bgp.he.net/[ASXXX]#_prefixes放在浏览器中,其中[ASXXX]是某个AS,并是一个类似http://bgp.he.net/AS714#_prefixes的数字。
对于发现此问题的其他人-我真的很喜欢Ben Dowling的答案。但是根据:
http://www.radb.net/support/query2.php
有一种不同的方法也可以产生非常不同的结果!我正在测试Facebook的IP,该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,则会显示“未找到记录”。恕我直言,它似乎不够准确。
whois -h whois.radb.net -- '!6as32934'
地址中间用换行符“剪断”
echo '!6as32934'|nc whois.radb.net 43
我发现您无法真正自动执行对bgp.he.net的查询,我一直收到403个响应,然后当我伪造用户代理时,它试图验证我确实是一个真正的浏览器。我使用bgp.he.net进行的所有操作都失败了(甚至联系该网站)。
DID对我有用的是,如Ben Dowling在另一个答案中所说的那样查询http://ipinfo.io。
我做了一个python脚本来获取每个ASN的每个IP块。我在csv文件中列出了每个AS编号。这里是:
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一起使用。只是要有礼貌,不要对服务器进行过大的查询。