linux 如何从asn获取所有的ip范围?

5anewei6  于 2023-01-04  发布在  Linux
关注(0)|答案(3)|浏览(216)

我想得到所有的IP地址范围/块从作为数字。我可以搜索扔谷歌,但需要写他们手动。我想得到他们一次?这是可能的,只有从网站的IP地址范围一次?

wwodge7n

wwodge7n1#

您可以使用whois服务器代替bgp.he.net或任何其他类似的网站。
第一个月
只需在Linux机器上运行此命令。

vwoqyblh

vwoqyblh2#

如果您没有安装whois,您可以使用直接TCP连接到WHOIS服务器来实现类似的功能。
对于IPv4:

echo '-i origin AS15169' | nc whois.radb.net 43  | grep '^route:'

对于IPv6:

echo '-i origin AS15169' | nc whois.radb.net 43  | grep '^route6:'

Python使用socket库(在标准库中)也可以实现类似的功能:

import socket

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect(('whois.radb.net', 43))
    s.sendall(b"-i origin AS15169\n")
    result = ''
    while True:
        data = s.recv(16).decode('utf8')
        if not data:
            break
        result += data

result = [i for i in result.split('\n') if i.startswith('route')]
print (result)
toe95027

toe950273#

sh ip bgp regex _<number>$

这显示了本地机器(在cisco,quagga或FRR路由器上)从AS知道的通告netbocks。有些looking glass会让你做这个搜索(有些不会)。

相关问题