Nie raz już potrzebowałem szybko sprawdzić jak dany prefix jest widziany przez zagranicznych dostawców. Ale zawsze wiązało się to z wyszukaniem looking glass’a, wejściem na niego, wybraniem odpowiedniej opcji, wpisaniem prefixu itp. itd.. Jak się to robi odpowiednio często to ma się dość.

Na szczęście TINET umożliwia dostęp po telnecie do testowego route serwera, na którym można sprawdzić czy dany prefix znajduję się w tablicy routing’u, od kogo przyszedł, jakie ma community ustawione itp.

Ale telnetowanie się na rotue serwer i wpisywanie wszystkiego z palca też nie jest szczytem wygody. Dlatego napisałem sobie prosty skrypcik w pythonie, dzięki któremu w prosty i szybki sposób otrzymuje to co chciałem:

# ./chkprefix.py 83.142.40.0/21
show ip bgp 83.142.40.0/21
BGP routing table entry for 83.142.40.0/21, version 35467
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Flag: 0x820
  Not advertised to any peer
  3257 3356 39168, (aggregated by 39168 83.142.47.163)
    213.200.64.93 from 213.200.64.93 (213.200.87.12)
      Origin IGP, metric 15, localpref 100, valid, external, best
      Community: 3257:8091 3257:30042 3257:50001 3257:54900 3257:54901
route-server.as3257.net>

Sam skrypt wygląda tak:

#!/usr/bin/env python
import sys
import telnetlib

if len(sys.argv) == 2:
	tn = telnetlib.Telnet("route-server.tinet.net")
	tn.read_until('>')
	tn.write("show ip bgp " + sys.argv[1] +" \n")
	tn.write("exit\n")
	print tn.read_until('>')
	tn.close()
else:
	print "Nie podales prefixu w formacie xxx.xxx.xxx.xxx/xx"

Prosty i krótki, ale jak potrafi ułatwić życie.