Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Dùng Python sử dụng Restconf để lấy danh sách thông tin các cổng trên thiết bị Cisco CSR1000V

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dùng Python sử dụng Restconf để lấy danh sách thông tin các cổng trên thiết bị Cisco CSR1000V

    Sơ đồ mạng:




    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.
    • 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())
    Kết quả:



    Thank you.
    Nguồn : VNPRO
Working...
X