概述
最近在学习python黑帽编程,这篇文章的代码主要来自于这本书。至于为什么要自己写一个python代理,因为在渗透其它电脑时,其它电脑并不一定有burp之类的代理程序,这时候就需要自己写一个了。但对于我这种菜鸡来说熟悉python网络编程才是最大的作用。
proxy的实现原理如图
代码实现
import sys
import socket
import threading
def request_handler(buffer):
return buffer
def response_handler(buffer):
return buffer
def receive_from(connection):
buffer = ""
connection.settimeout(2)
try:
while True:
data = connection.recv(4096).decode('utf-8')
if not data:
break
buffer += data
except:
pass
return buffer
def server_loop(local_host,local_port,remote_host,remote_port,receive_first):
#作为服务器监听并接受remote_client连接,这里一般是监听本地客户端
#监听本地端口,接受远程客户端的连接
server = soc