30/09/2018, 22:30
Ứng dụng Python trong Networking
Em mới học về Python và muốn tìm hiểu về ứng dụng của nó trong Networking. Nhưng khi tìm hiểu thì gặp một số vướng mắc. Cụ thể là:
- Xây dựng code Python thiết lập kết nối TCP port 23 đến một thiết bị router (dựng GNS3, kết nối router đến máy ảo Linux có python)
Code:
import getpass
import sys
import telnetlib
HOST = "192.168.0.1"
user = raw_input("Enter your remote account: ")
password = getpass.getpass()
tn = telnetlib.Telnet(HOST)
tn.read_until("login: ")
tn.write(user + "
")
if password:
tn.read_until("Password: ")
tn.write(password + "
")
tn.write("ls
")
tn.write("exit
")
print tn.read_all()
Nhưng khi đăng nhập "Enter your remote account: ", “Password” lại không hiện thị ra kết quả, mọi người xem giúp e có sai chỗ nào không?
2. Sau khi đã thiết lập kết nối Telnet đến router, xây dựng code python như thế nào để show running-config và lấy phản hồi thông tin config lưu vào một file nào đó
Em xin chân thành cảm ơn!
Bài liên quan
Up! Mọi người có ai giúp được em không ạ!
Cái này mình nghĩ bạn nên lên StackOverflow hỏi thì hơn, tại chắc ở forum mình ít người làm về lĩnh vực này lắm.
bạn có thể paste/chụp ảnh màn hình kết quả khi bạn gõ telnet đến 192.168.0.1 lên đây được không?
tn.read_until("Password: ")
bạn bỏ space ở trong ngoặc xem sao ->tn.read_until("Password:")
. Thường thì có dòng thiết bị nó là password ko viết hoa chữ P. Nên tốt nhất bạn phải show cái output khi trực tiếp telnet vào router để debug.1.Bạn chưa nói OS đang sử dụng là gì ? Mặc định Windows 7 nó ko install telnet.
2.Nếu có command telnet rồi thì chạy raw bằng cách telnet trực tiếp đến router. Đọc lại đoạn dưới, xem có phải dư ký tự space ko ?
3.Có thể dùng subprocess để gọi lên telnet thực thi câu lệnh. Google please.