import getpass
import sys
import telnetlib
import re
import smtplib
print "Pasul 1"
HOST = "route-views.routeviews.org"
user = "rviews"
password = ""
tn = telnetlib.Telnet(HOST)
tn.read_until("login: ", 5)
tn.write(user + "\r\n")
tn.read_until("Password: ", 5)
tn.write(password + "\r\n")
print tn.read_until(">", 10)
tn.write("show ip route 192.0.2.1"+"\r\n")
y = tn.read_until("free", 10)
print y
tn.write("exit"+ "\r\n")
tn.close()
print "Pasul 2"
for x in range(1,99999):
m = re.search(' Known via "bgp xxxxx"', y)
if m:
print (m.group(0))
break
else:
print False
break
x hat eine Zahl zwischen 1 und 99999 sein, wenn ich schreibe ‚bekannt über‚BGP 6447‘‘ wird es finden und drucken, aber wenn ich schreibe ‚bekannt über‚BGP xxxxx‘‘, es false zurück . Jeder weiß warum?Wie suche ich in einer Telnet-Session-Ausgabe mit einem String, wobei x eine Zahl zwischen 1 und 99999 ist?
Der Ausgang ist dies:
Route-Ansichten>
show ip route 192.0.2.1
Routing-Eintrag für 192.0.2.1/32
über "BGP-6447" bekannt, Entfernung 20, metric 0
Tag 19214, Typ externer
Letzte Aktualisierung von 208.74.64.40 4w0d vor
Routing Descriptor Blocks:
208.74.64.40, von 208.74.64.40, 4w0d vor
Routenmetrik 0, Verkehrsaktienanzahl 1
AS Hops 1
Routen Tag 19214
MPLS-Label:
kein
Route-Ansichten>
Vielen Dank! –
Verstanden, vielen Dank. –