python实现超简单端口转发的方法

yipeiwu_com6年前Python基础

本文实例讲述了python实现超简单端口转发的方法。分享给大家供大家参考。具体如下:

代码非常简单,实现了简单的端口数据转发功能,用于真实环境还需要再修改一下。

复制代码 代码如下:
#tcp server
import socket
host = '127.0.0.1'          #Local Server IP
host2 = '127.0.0.1'   #Real Server IP
port = 6001 #Local Server Port
port2 = 7001 #Real Server Port
def ProcData(data):
    return data
    #add more code....
print "Map Server start from " + host + ":" + str(port) +" to " + host2 + ":" + str(port2) +"\r\n"
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind(('127.0.0.1',port))
print "127.0.0.1 Server start at "+ str(port) +"\r\n"
client = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
client.connect((host2,port2))
print host +" Client connect to " + host2 + ":"+str(port2)+"\n"
server.listen(5)
ss, addr = server.accept()
print 'got connected from',addr
while 1:
    msg = ss.recv(20480)
    print "Get:"+repr(msg)+"\r\n"
    client.send(msg)
    #print "Client send data %s to "%repr(msg)
    buf=client.recv(20480)
    #print "Client recv data %s from "%repr(buf)
    ss.send(buf)
    print "Send:"+repr(buf)+"\r\n"

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python开发的HTTP库requests详解

Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装,从而使得Pythoner进行网...

python 默认参数相关知识详解

最常见的一种形式是的是为一个或者多个参数指定默认值,这会创建一个可以使用比定义时允许的参数更少的参数调用的函数, def ask_ok(prompt, retries=4, remi...

Python简单计算给定某一年的某一天是星期几示例

Python简单计算给定某一年的某一天是星期几示例

本文实例讲述了Python简单计算给定某一年的某一天是星期几。分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #计算某特定天使星期几 #蔡勒公式:w=...

Python 进程之间共享数据(全局变量)的方法

进程之间共享数据(数值型): import multiprocessing def func(num): num.value=10.78 #子进程改变数值的值,主进程跟着改变...

Python运行报错UnicodeDecodeError的解决方法

Python2.7在Windows上有一个bug,运行报错: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in...