Sơ đồ mạng:
Các bước thực hiện:
Kết quả:
Thank you.
Các bước thực hiện:
Cài đặt thư viện:
- Mở cmd bằng tổ hợp phím Win+R: gõ cmd
- Gõ python –m pip intall requests - -user
Kiểm tra đi được internet: ping 8.8.8.8
Cấu hình router CSR1000V:
Code:
Router#configure terminal Router(config)#int g1 Router(config-if)#ip address [URL="http://192.168.1.1/?fbclid=IwAR16k7-LDmImsIMg3WS9ihfDFPomw98fL_6C4Oa954x5PmMkFyh5G0fg9j0"]192.168.1.1[/URL] [URL="http://255.255.255.0/?fbclid=IwAR3pGoMM5ekbDX87vzfGStU0HYu-vWunTkv2Kv05pop_s7ijjT4zHJJHfe4"]255.255.255.0[/URL] Router(config-if)#no shut Router(config-if)#exit Router(config)#username admin privilege 15 password 0 cisco123 Router(config)#ip http secure-server Router(config)#restconf
- Lưu ý: restconf chỉ hoạt động từ IOS XE version 16.3 trở lên
Viết chương trình:
- Import các thư viện và khai báo các thông tin cần để giao tiếp với thiết bị
Code:
import requests import sys requests.packages.urllib3.disable_warnings() HOST = '192.168.1.1' PORT = '443' USER = 'admin' PASS = 'cisco123'
- Viết hàm lấy thông tin các cổng:
Code:
def get_configured_interfaces(): url = "https://{h}:{p}/restconf/data/ietf-interfaces:interfaces".format(h=HOST, p=PORT) headers = { 'Content-Type': 'application/yang-data+json', 'Accept': 'application/yang-data+json' } response = requests.get(url, auth=(USER, PASS), headers=headers, verify=False) return response.text
+ Gán đường dẫn url.
+ Khai báo headers bao gồm Content-Type, Accept.
+ Khai báo biến response để gán kết quả trả về phương thức get của thư viện requests.
+ return response.text nghĩ là sau khi chạy xong hàm get_configured_interfaces() sẽ trả về response dạng text.
+ Khai báo headers bao gồm Content-Type, Accept.
+ Khai báo biến response để gán kết quả trả về phương thức get của thư viện requests.
+ return response.text nghĩ là sau khi chạy xong hàm get_configured_interfaces() sẽ trả về response dạng text.
- Viết hàm main để chạy hàm get_configured_interfaces() và in ra thông tin các cổng:
Code:
def main(): interfaces = get_configured_interfaces() print(interfaces) if __name__ == '__main__': sys.exit(main())
Thank you.
Nguồn : VNPRO