proxy server
This commit is contained in:
parent
5df44c91d9
commit
dd425f3572
|
@ -1,59 +1,55 @@
|
|||
import socket
|
||||
|
||||
HOST = ""
|
||||
PORT = 8888
|
||||
BUFF = 1024
|
||||
|
||||
class Forward():
|
||||
def __init__(self):
|
||||
self.forward = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
self.forward.bind(('', 9999))
|
||||
self.forward.listen(5)
|
||||
self.clientsock, self.clientaddr = self.forward.accept()
|
||||
|
||||
def forwarding(self):
|
||||
stuff = self.recv(handle_client)
|
||||
self.clientsock.send(self.stuff)
|
||||
|
||||
class Server():
|
||||
#opening sockets
|
||||
class Server_client():
|
||||
def __init__(self, HOST, PORT):
|
||||
self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
self.s.bind((HOST, PORT))
|
||||
print "Serving HTTP on port %s ..." % PORT
|
||||
self.s.listen(5)
|
||||
self.s_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
self.s_client.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
self.s_client.bind((HOST, PORT))
|
||||
print "Serving client HTTP on port %s ..." % PORT
|
||||
self.s_client.listen(5)
|
||||
print "Wainting for connection... listening on port", PORT
|
||||
self.c, self.addr = self.s.accept()
|
||||
self.c_client, self.addr_client = self.s_client.accept()
|
||||
|
||||
|
||||
#handling client
|
||||
def handle_client(self):
|
||||
buffer = ""
|
||||
self.c_client.send("Type something and press enter \n")
|
||||
self.data = self.c_client.recv(1024)
|
||||
buffer += self.data
|
||||
print(buffer)
|
||||
self.c_client.close()
|
||||
return buffer
|
||||
|
||||
|
||||
|
||||
self.c.send("Please enter your name and press enter: \n")
|
||||
name = self.c.recv(BUFF)
|
||||
print "Client name is : ", name
|
||||
print repr(name) + "recieved :" + repr(name)
|
||||
while True:
|
||||
self.c.send("\nNow each word you typed will be echo back to you.\n")
|
||||
data = self.c.recv(BUFF)
|
||||
print "received data:", data
|
||||
self.c.send("You typed %s \n" % data)
|
||||
|
||||
self.c.close()
|
||||
print self.addr, "- closed connection"
|
||||
class Proxy():
|
||||
def __init__(self, remote_host, remote_port):
|
||||
self.remote_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
self.remote_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
self.remote_socket.bind((remote_host, remote_port))
|
||||
print "Serving remote server on port %s... " % remote_port
|
||||
self.remote_socket.listen(5)
|
||||
print "Listening the remote server"
|
||||
self.remote_client, self.remote_addr = self.remote_socket.accept()
|
||||
|
||||
|
||||
|
||||
def handle_proxy(self, buffer):
|
||||
print "Inside handle proxy"
|
||||
print(buffer)
|
||||
self.remote_client.send(buffer)
|
||||
self.remote_client.close()
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
s = Server("", 8888)
|
||||
p = Forward("", 9999)
|
||||
|
||||
s.handle_client()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
while True:
|
||||
client = Server_client("", 8888)
|
||||
buffer = client.handle_client()
|
||||
a = Proxy("", 9999)
|
||||
a.handle_proxy(buffer)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue