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的几种标准输出重定向方式
一. 背景 在Python中,文件对象sys.stdin.sys.stdout和sys.stderr分别对应解释器的标准输入.标准输出和标准出错流.在程序启动时,这些对象的初值由sys.__stdin__.sys.__stdout__和sys.__stderr__保存,以便用于收尾(finalization)时恢复标准流对象. Windows系统中IDLE(Python GUI)由pythonw.exe,该GUI没有控制台.因此,IDLE将标准输出句柄替换为特殊的PseudoOutputFile
-
Python实现TCP/IP协议下的端口转发及重定向示例
首先,我们用webpy写一个简单的网站,监听8080端口,返回"Hello, EverET.org"的页面. 然后我们使用我们的forwarding.py,在80端口和8080端口中间建立两条通信管道用于双向通信. 此时,我们通过80端口访问我们的服务器. 浏览器得到: 然后,我们在forwarding.py的输出结果中可以看到浏览器和webpy之间的通信内容. 代码: #!/usr/bin/env python import sys, socket, time, threading
-
python套接字流重定向实例汇总
将套接字流重定向到标准输入或输出流 #!/usr/bin/env python3 """ 测试socket-stream 重定向模式 """ import sys,os,time from multiprocessing import Process from socket import * def initListenerSocket(port=50008,host=''): """ 初始化在服务器模式下调用者用于
-
Python实现网络端口转发和重定向的方法
本文实例讲述了Python实现网络端口转发和重定向的方法.分享给大家供大家参考,具体如下: [任务] 需要将某个网络端口转发到另一个主机(forwarding),但可能会是不同的端口(redirecting). [解决方案] 两个使用threading和socket模块的类就能完成我们需要的端口转发和重定向. #encoding=utf8 #author: walker摘自<Python Cookbook(2rd)> #date: 2015-06-11 #function: 网络端口的转发和重
-
Python的Asyncore异步Socket模块及实现端口转发的例子
Asyncore模块提供了以异步的方式写入套接字服务客户端和服务器的基础结构. 只有两种方式使一个程序在单处理器上实现"同时做不止一件事".多线程编程是最简单和最流行的方式,但是有另一种很不一样的技术,可以使得我们保持多线程的几乎所有优势,却不用真正使用多线程. 如果你的程序主要是受I/O限制的,这是唯一可行的方式.如果你的程序是受处理器限制的,则先发制人的调度线程可能是你真正需要的.但是,很少网络服务器是受处理器限制的. 如果您的操作系统支持在其I / O库的 select() 系统
-
python实现socket端口重定向示例
可以很轻松的在端口12345开启共享,效果如下: 要实现我想要的功能,只需要将端口重定向就行了,代码如下: 复制代码 代码如下: #! /usr/bin/python''' File : redirect.py Author : Mike''' import socket,osbufLen = 4*1024 sock1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock1.bind(('192.1
-
python实现端口转发器的方法
本文实例讲述了python实现端口转发器的方法.分享给大家供大家参考.具体如下: 下面的python代码实现端口转发器,支持udp端口转发 由于工作需要用到一个端口转发器,并且要求支持TCP和UDP协议.在网上找了蛮久,但没有中意的.于是就自己写了一个.这个转发器是基于python cookbook的一个示例改写的,原先的这个示例只支持TCP协议,我这里增加了UDP协议的支持,程序写的不怎么好,不过它确实能用! portmap.py代码如下: 复制代码 代码如下: #-* -coding: UT
-
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
-
python中超简单的字符分割算法记录(车牌识别、仪表识别等)
背景 在诸如车牌识别,数字仪表识别等问题中,最关键的就是将单个的字符分割开来再分别进行识别,如下图.最近刚好用到,就自己写了一个简单地算法进行字符分割,来记录一下. 图像预处理 彩图二值化以减小参数量,再进行腐蚀膨胀去除噪点. image = cv2.imread('F://demo.jpg', 0) # 读取为灰度图 _, image = cv2.threshold(image, 50, 255, cv2.THRESH_BINARY) # 二值化 kernel1 = cv2.getStruct
-
kNN算法python实现和简单数字识别的方法
本文实例讲述了kNN算法python实现和简单数字识别的方法.分享给大家供大家参考.具体如下: kNN算法算法优缺点: 优点:精度高.对异常值不敏感.无输入数据假定 缺点:时间复杂度和空间复杂度都很高 适用数据范围:数值型和标称型 算法的思路: KNN算法(全称K最近邻算法),算法的思想很简单,简单的说就是物以类聚,也就是说我们从一堆已知的训练集中找出k个与目标最靠近的,然后看他们中最多的分类是哪个,就以这个为依据分类. 函数解析: 库函数: tile() 如tile(A,n)就是将A重复n次
-
超简单的qps统计方法(推荐)
统计最近N秒内的QPS值(包括每秒select,insert等值) mysql> select variable_name,sum(per_sec) as qps from (select straight_join lower(gs0.variable_name) as variable_name, (gs1.variable_value - gs0.variable_value)/5 as per_sec from ( select variable_name ,variabl
-
python通过邮件服务器端口发送邮件的方法
本文实例讲述了python通过邮件服务器端口发送邮件的方法.分享给大家供大家参考.具体实现方法如下: fromAddress = 'sender@example.com' toAddress = 'me@my.domain' msg = "Subject: Hello\n\nThis is the body of the message." import smtplib server = smtplib.SMTP("localhost", 25) server.se
-
python基于socket进行端口转发实现后门隐藏的示例
思想: 用户正常浏览器访问请求通过8080端口,请求若为http请求,则正常转发到80端口保证网站正常运行.否则转发到8888端口执行系统命令. 8888端口监听代码: #!/usr/bin/env python from socket import * import os HOST='127.0.0.1' PORT=8888 BUFSIZE=1024 ADDR=(HOST,PORT) tcpSerSock = socket(AF_INET,SOCK_STREAM) tcpSerSock.set
-
Python根据服务获取端口号的方法
根据服务获取端口号 首先需要下载一个psutil库 然后根据服务名找到PID 找到PID之后,通过pid获取端口号 # -*- encoding=utf8 -*- import psutil import re## 标题 import os def processinfo(x): '''根据服务名找到PID''' procs = list(psutil.process_iter()) # 获取所有服务列表 print(procs) for r in procs: aa = str(r) f =
-
python实现一个简单的ping工具方法
继上一篇计算checksum校验和,本章通过socket套接字,struct字节打包成二进制,select返回套接字的文件描述符的结合,实现一个简单的ping工具. #!/usr/bin/python3.6.4 #!coding:utf-8 __author__ = 'Rosefinch' __date__ = '2018/5/31 22:27' import time import struct import socket import select import sys def chesks
-
jQuery超简单遮罩层实现方法示例
本文实例讲述了jQuery超简单遮罩层实现方法.分享给大家供大家参考,具体如下: 在开发中,为了避免二次提交,遮罩层的运用越来越普遍 看了很多代码,下面跟大家分享一下我认为最简单的遮罩层实现方式: 1.样式如下设置: CSS代码: <style type="text/css"> .mask { position: absolute; top: 0px; filter: alpha(opacity=60); background-color: #777; z-index: 1
-
Java中防止数据重复提交超简单的6种方法
目录 前言 模拟用户场景 前端拦截 后端拦截 1.基础版--HashMap 2.优化版--固定大小的数组 3.扩展版--双重检测锁(DCL) 4.完善版--LRUMap 5.最终版--封装 扩展知识--LRUMap 实现原理分析 总结 前言 有位朋友,某天突然问东哥:在 Java 中,防止重复提交最简单的方案是什么? 这句话中包含了两个关键信息,第一:防止重复提交:第二:最简单. 于是东哥问他,是单机环境还是分布式环境? 得到的反馈是单机环境,那就简单了,于是东哥就开始装*了. 话不多说,我们先
随机推荐
- 深入剖析JSP和Servlet对中文的处理
- DB2个人版(Linux)安装
- js的touch事件的实际引用
- 用WebClient.UploadData方法上载文件数据的方法
- 一个Asp.Net的显示分页方法 附加实体转换和存储过程 带源码下载
- javascript中IE浏览器不支持NEW DATE()带参数的解决方法
- Android 实现夜间模式的快速简单方法实例详解
- 网页源代码保护(禁止右键、复制、另存为、查看源文件)
- JQuery小知识
- jquery衣服颜色选取插件效果代码分享
- IE:巧用预订实现网页自动下载
- Python中用PIL库批量给图片加上序号的教程
- 浅谈java中类名.class, class.forName(), getClass()的区别
- Java语言中&&与& ||与|的区别是什么
- 掌握Cisco IOS测试命令的多种用法
- php检测网页是否被百度收录的函数代码
- 二层交换机,三层交换机,四层交换机的区别
- python 日期操作类代码
- SQLServer2008存储过程实现数据插入与更新
- linux中各种锁机制的使用与区别详解