我们在上一章完成了用代码操作telnet,实现了远程控制,分析前面的代码会发现健壮性太低,需要进行优化,后续会通过开发一个交互式界面来完成人工介入操作网络的过程。本次实验目的:实现自动化创建环回口
首先更新拓扑,拉出新的路由器和一台交换机
import telnetlib
import time
def main():
Host="192.168.10.100"
username="yerik"
password="1111"
commends=['enable','2222','conft']#相关指令
tn= telnetlib.Telnet(Host,port=23,timeout=10)
tn.set_debuglevel(2)
#login input username
tn.read_until('Username:') # 期待回复
tn.write(username+'\n')
#input password
tn.read_until('Password:') # 期待回复
tn.write(password+'\n')
tn.read_until('R1>')
forcommend in commends:
tn.write("%s\n"% commend)
'''
tn.read_until('R1#')
tn.write('configure')
time.sleep(1)
tn.write('t')'''
tn.read_until('R1(config)#')
loopback= 'int lo'
ipaddr= ' 255.255.255.255'
exit= 'exit'
fori in range(1,5):
loopbackn=loopback+str(i)
time.sleep(1)
tn.write("%s\n"% loopbackn)
ipaddrn='ipadd '+str(i)+'.'+str(i)+'.'+str(i)+'.'+str(i)+ipaddr
time.sleep(1)
tn.write("%s\n"% ipaddrn)
time.sleep(1)
tn.write("%s\n"% exit)
tn.close()
if __name__=='__main__':
main()
发现已经创建成功了
由于此时还没有运行路由协议,请问有什么办法可以ping到这些环回口?使用ping中的严格源站路由技术,通过R2pingR1 在特权界面中,输入ping
ping
Protocol [ip]:
Target IP address: 2.2.2.2
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 192.168.10.102
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:Strict
Source route: 192.168.10.101
Loose, Strict, Record, Timestamp,Verbose[SV]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2,timeout is 2 seconds:
Packet sent with a source address of192.168.10.102
Packet has IP options: Total option bytes= 7, padded length=8
Strict source route: <*>
(192.168.10.101)
Reply to request 0 (20 ms). Received packet has options
Total option bytes= 8, padded length=8
Strict source route:
(192.168.10.101)
<*>
Endof list
Reply to request 1 (28 ms). Received packet has options
Total option bytes= 8, padded length=8
Strict source route:
(192.168.10.101)
<*>
Endof list
Reply to request 2 (24 ms). Received packet has options
Total option bytes= 8, padded length=8
Strict source route:
(192.168.10.101)
<*>
Endof list
Reply to request 3 (16 ms). Received packet has options
Total option bytes= 8, padded length=8
Strict source route:
(192.168.10.101)
<*>
End oflist
Reply to request 4 (28 ms). Received packet has options
Total option bytes= 8, padded length=8
Strict source route:
(192.168.10.101)
<*>
Endof list
Success rate is 100 percent (5/5),round-trip min/avg/max = 16/23/28 ms
现实可以ping通