mirror of
https://github.com/C24Be/AS_Network_List.git
synced 2026-01-25 23:35:41 +03:00
Add the AS Networks List Script
This commit is contained in:
32
as_network_list.py
Executable file
32
as_network_list.py
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import requests
|
||||
import argparse
|
||||
|
||||
def get_as_prefixes(asn):
|
||||
url = f"https://stat.ripe.net/data/announced-prefixes/data.json?resource={asn}"
|
||||
response = requests.get(url)
|
||||
if response.status_code == 200:
|
||||
data = response.json()
|
||||
prefixes = data['data']['prefixes']
|
||||
return [prefix['prefix'] for prefix in prefixes]
|
||||
else:
|
||||
return []
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Get prefixes announced by an AS.')
|
||||
parser.add_argument('asn', help='The AS number to get prefixes for.')
|
||||
parser.add_argument('-q', '--quiet', action='store_true', help='Disable all output except prefixes.')
|
||||
args = parser.parse_args()
|
||||
|
||||
asn = args.asn
|
||||
prefixes = get_as_prefixes(asn)
|
||||
|
||||
if not args.quiet:
|
||||
print(f"Prefixes announced by {asn}:")
|
||||
|
||||
for prefix in prefixes:
|
||||
print(prefix)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user