unregistered-asn.py 955 B

1234567891011121314151617181920212223242526
  1. #!/usr/bin/env python3
  2. from registry import AutNum, Inetnum, Route
  3. from utils import read_json
  4. d = read_json("/srv/http/dn42/tower-bird.json")
  5. autnum = AutNum("/home/zorun/net.dn42.registry")
  6. inetnum = Inetnum("/home/zorun/net.dn42.registry")
  7. route = Route("/home/zorun/net.dn42.registry")
  8. unregistered_asn = set()
  9. for prefix, data in d.items():
  10. if data["origin_as"] == "?":
  11. continue
  12. asn = "AS" + str(data["origin_as"])
  13. if not asn in autnum.data:
  14. unregistered_asn.add(data["origin_as"])
  15. for asn in sorted(unregistered_asn):
  16. print("***********")
  17. print("* AS{} *".format(asn))
  18. print("***********\n")
  19. for prefix in sorted((pref for pref in d if d[pref]["origin_as"] == asn)):
  20. inum = inetnum.data[prefix]["netname"][0] if prefix in inetnum.data else ""
  21. rout = route.data[prefix]["descr"][0] if prefix in route.data else ""
  22. print("{} | {} | {}".format(prefix, inum, rout))
  23. print("\n")