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根据欧拉角求旋转矩阵的实例

利用numpy和scipy,我们可以很容易根据欧拉角求出旋转矩阵,这里的旋转轴我们你理解成四元数里面的旋转轴 import numpy as np import scipy....

深入浅析Python中list的复制及深拷贝与浅拷贝

深入浅析Python中list的复制及深拷贝与浅拷贝

在Python中,经常要对一个list进行复制。对于复制,自然的就有深拷贝与浅拷贝问题。深拷贝与浅拷贝的区别在于,当从原本的list复制出新的list之后,修改其中的任意一个是否会对另一...

python利用dlib获取人脸的68个landmark

(1) 单人脸情况 import cv2 import dlib path = "1.jpg" img = cv2.imread(path) gray = cv2.cvtColo...

Window 64位下python3.6.2环境搭建图文教程

Window 64位下python3.6.2环境搭建图文教程

python3.6.2环境安装配置图文教程,具体如下 一、需要下载的软件 》python3.6.2.exe (也可以选择更新的版本) ---- -网址 》Anaconda3-4.4.0...

基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)

1、CSV (1)写csv文件 import csv def writecsv(path,data): with open(path, "w") as f: wri...