Pexpect
Ein Modul zum interagieren mit Programmen und reagieren auf Ausgabemuster.
$ pip install pexpect
Mit run
kann man ein Programm ausführen, ein Ersatz für os.system()
.
child = pexpect.run('ls -al')
print(child)
Mit spawn
ist eine Interaktion mit dem Programm möglich.
child = pexpect.spawn('ssh -l pi 192.168.1.131', encoding='utf-8')
child.expect('password:')
child.sendline('raspberry')
Mit der Methode interact
bekommt der User die Kontrolle.
child.interact()
Die pxssh
Klasse erweitert pexpect.spawn
.
from pexpect import pxssh
def connect(host, user, password):
try:
s = pxssh.pxssh()
s.login(host, user, password)
return s
except:
print('[-] Error Connecting')
exit(0)
def send_command(s, cmd):
s.sendline(cmd)
s.prompt()
print(s.before)
s = connect('192.168.0.8', 'pi', 'raspberry')
send_command(s, 'ls -l')