请选择 进入手机版 | 继续访问电脑版

81路工程师大巴 - 81Lu.Net

 找回密码
 立即注册
搜索
查看: 41|回复: 1
收起左侧

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

[复制链接]
发表于 2017-11-5 02:48 | 显示全部楼层 |阅读模式

来不及解释了,快上车,享受更多福利,轻轻松松做大牛!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本文实例讲述了python实现超简单端口转发的方法。分享给大家供大家参考。具体如下:
代码非常简单,实现了简单的端口数据转发功能,用于真实环境还需要再修改一下。
  1. #tcp server
  2. import socket
  3. host = '127.0.0.1'          #Local Server IP
  4. host2 = '127.0.0.1'   #Real Server IP
  5. port = 6001 #Local Server Port
  6. port2 = 7001 #Real Server Port
  7. def ProcData(data):
  8.      return data
  9.      #add more code....
  10. print "Map Server start from " + host + ":" + str(port) +" to " + host2 + ":" + str(port2) +"\r\n"
  11. server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  12. server.bind(('127.0.0.1',port))
  13. print "127.0.0.1 Server start at "+ str(port) +"\r\n"
  14. client = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
  15. client.connect((host2,port2))
  16. print host +" Client connect to " + host2 + ":"+str(port2)+"\n"
  17. server.listen(5)
  18. ss, addr = server.accept()
  19. print 'got connected from',addr
  20. while 1:
  21.      msg = ss.recv(20480)
  22.      print "Get:"+repr(msg)+"\r\n"
  23.      client.send(msg)
  24.      #print "Client send data %s to "%repr(msg)
  25.      buf=client.recv(20480)
  26.      #print "Client recv data %s from "%repr(buf)
  27.      ss.send(buf)
  28.      print "Send:"+repr(buf)+"\r\n"
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请及时给回复的帖子【加分】

当帖子分数用完后,则主题自动结贴,楼主可以返回50%的帖子分数。如果选择【无满意答案结贴】,则结帖后不返分!

添加对方为好友并关注TA,或许会有意想不到的收获!

 楼主| 发表于 2017-11-5 04:36 | 显示全部楼层
  1. #tcp server
  2. import socket
  3. host = '127.0.0.1'          #Local Server IP
  4. host2 = '127.0.0.1'   #Real Server IP
  5. port = 80 #Local Server Port
  6. port2 = 81 #Real Server Port
  7. def ProcData(data):
  8.      return data
  9.      #add more code....
  10. print( "Map Server start from " + host + ":" + str(port) +" to " + host2 + ":" + str(port2) +"\r\n" )
  11. server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  12. server.bind(('127.0.0.1',port))
  13. print( "127.0.0.1 Server start at "+ str(port) +"\r\n" )
  14. client = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
  15. client.connect((host2,port2))
  16. print( host +" Client connect to " + host2 + ":"+str(port2)+"\n" )
  17. server.listen(5)
  18. ss, addr = server.accept()
  19. print( 'got connected from',addr )
  20. while 1:
  21.      msg = ss.recv(20480)
  22.      print( "Get:"+repr(msg)+"\r\n" )
  23.      client.send(msg)
  24.      print( "Client send data %s to \r\n"%repr(msg) )
  25.      buf=client.recv(20480)
  26.      print( "Client recv data %s from \r\n"%repr(buf) )
  27.      ss.send(buf)
  28.      print( "Send:"+repr(buf)+"\r\n" )
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请及时给回复的帖子【加分】

当帖子分数用完后,则主题自动结贴,楼主可以返回50%的帖子分数。如果选择【无满意答案结贴】,则结帖后不返分!

添加对方为好友并关注TA,或许会有意想不到的收获!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|81路工程师大巴 - 81Lu.Net ( 豫ICP备15009715号 )

GMT+8, 2017-11-21 15:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表