Python - Telnet

Telnet, bir bilgisayardaki bir kullanıcının aynı ağa ait olan başka bir bilgisayarda oturum açmasına izin veren bir ağ protokolü türüdür. Telnet komutu, ana bilgisayar adıyla birlikte kullanılır ve ardından kullanıcı kimlik bilgileri girilir. Başarılı bir şekilde oturum açtıktan sonra, uzak kullanıcı uygulamalara ve verilere sistemin normal kullanıcısına benzer bir şekilde erişebilir. Elbette bazı ayrıcalıklar, sistemi kuran ve bakımını yapan sistem yöneticisi tarafından kontrol edilebilir.

Python'da telnet, bağlantıyı kurmak için gerekli yöntemlere sahip Telnet sınıfına sahip telnetlib modülü tarafından gerçekleştirilir. Aşağıdaki örnekte, oturum açma işleminin bir parçası olarak parola istemini işlemek için getpass modülünü de kullanıyoruz. Ayrıca bağlantının bir unix ana bilgisayarına yapıldığını varsayıyoruz. Programda kullanılan telnetlib.Telnet sınıfından çeşitli yöntemler aşağıda açıklanmıştır.

  • Telnet.read_until - Beklenen belirli bir dizeyle karşılaşılıncaya veya zaman aşımı saniyeleri geçene kadar okuyun.

  • Telnet.write - Herhangi bir IAC karakterini ikiye katlayarak sokete bir dize yazın. Bağlantı engellenmişse bu engelleyebilir. Bağlantı kapalıysa soket hatası olabilir.

  • Telnet.read_all () - EOF'ye kadar tüm verileri oku; bağlantı kapanana kadar engelleyin.

Misal

import getpass
import telnetlib
HOST = "http://localhost:8000/"
user = raw_input("Enter your remote account: ")
password = getpass.getpass()
tn = telnetlib.Telnet(HOST)
tn.read_until("login: ")
tn.write(user + "\n")
if password:
    tn.read_until("Password: ")
    tn.write(password + "\n")
tn.write("ls\n")
tn.write("exit\n")
print tn.read_all()

Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alıyoruz -

- lrwxrwxrwx    1 0        0               1 Nov 13  2012 ftp -> .
- lrwxrwxrwx    1 0        0               3 Nov 13  2012 mirror -> pub
- drwxr-xr-x   23 0        0            4096 Nov 27  2017 pub
- drwxr-sr-x   88 0        450          4096 May 04 19:30 site
- drwxr-xr-x    9 0        0            4096 Jan 23  2014 vol

Lütfen bu çıktının, program çalıştırıldığında ayrıntıları gönderilen uzak bilgisayara özgü olduğunu unutmayın.