# coding=gb2312

import sys
import time
import socket
import thread
import subprocess ################################ interfaceName = "本地连接"
portStart = 10000
portNumber = 500 ################################ def getNextIp(ip):
t = [int(x) for x in ip.split(".")]
assert len(t) == 4
t[3] += 1
for i in range(3, -1, -1):
if t[i] > 255:
assert i > 0
t[i] = 1
t[i - 1] += 1
else:
break
return ".".join([str(x) for x in t]) def print_with_lock(msg):
lock.acquire()
print msg
lock.release() def server(listen_host, listen_port, target_host, target_port):
print_with_lock("server started, %s, %s, %s, %s" % (listen_host, listen_port, target_host, target_port))
try:
dock_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
dock_socket.bind((listen_host, listen_port))
dock_socket.listen(5)
while True:
client_socket, client_address = dock_socket.accept()
print_with_lock("connection accepted, %s, %s, %s, %s" % (listen_host, listen_port, target_host, target_port))
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.connect((target_host, target_port))
thread.start_new_thread(forward, (client_socket, server_socket, "client -> server" ))
thread.start_new_thread(forward, (server_socket, client_socket, "server -> client" ))
finally:
thread.start_new_thread(server, (listen_host, listen_port, target_host, target_port)) def forward(source, destination, description):
data = 'dummy'
while data:
data = source.recv(1024)
if data:
destination.sendall(data)
else:
source.shutdown(socket.SHUT_RD)
destination.shutdown(socket.SHUT_WR) lock = thread.allocate_lock() # 启动代理线程
port = portStart
ipin = "127.0.0.2"
for i in range(0, portNumber):
thread.start_new_thread(server, ("0.0.0.0", port, ipin, 23))
ipin = getNextIp(ipin)
port += 1 while True:
time.sleep(1.0)

端口映射(socket应用)的更多相关文章

  1. tcp/udp/socket 端口映射,转发小工具

    1) 利用 Python 的 Socket 端口转发,用于远程维护 https://github.com/knownsec/rtcp 2) 反向端口转发工具 Reverse TCP Port to U ...

  2. SSH 端口映射(一)

    转载:http://blog.csdn.net/a351945755/article/details/21785647,http://blog.csdn.net/gaoming655/article/ ...

  3. 端口映射工具 redir/socat/xinetd - 运维技术 - 开源中国社区

    端口映射工具 redir/socat/xinetd - 运维技术 - 开源中国社区 端口映射工具 redir/socat/xinetd    10人收藏此文章, 我要收藏 发表于3天前(2013-08 ...

  4. Derek解读Bytom源码-P2P网络 upnp端口映射

    作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom ...

  5. 端口复用技术简单了解;重用端口;socket复用端口

    端口复用相关点 多个应用复用端口,只有最后一个绑定的socket可以接受数据,所有socket都可以发送数据 使用端口复用技术时,所有的socket都开启端口复用,才可以实现端口复用 黑客技术,使用标 ...

  6. 170621 - Android ADB forward端口映射和reverse反向代理 使用笔记

    个人理解 forward:端口映射 将本地PC指定Port端口,映射到设备手机指定Port端口上.以便解决 PC -> Phone 的访问问题PC 作为Client客户端 可以任意访问 Phon ...

  7. 【转载】用Python实现端口映射功能(A/B/C内外网)

    转载地址 :http://hutaow.com/blog/2014/09/08/write-tcp-mapping-program-with-python/ 有A,B,C三台计算机,A,B互通,B,C ...

  8. 传输层 lcx实现本地端口映射&&内网代理

    如果目标服务器由于防火墙的限制,部分端口(例如3389)的数据无法通过防火墙,可以将目标服务器相应端口的数据透传到防火墙允许的端口(例如53),在目标主机上执行如下命令,就可以直接从远程桌面连接目标主 ...

  9. Windows10环境配置nat123端口映射访问mysql

    背景:因工作需要,在宽带路由器内部设置一个台式机(可上网),配置成数据库服务器.分散各处的多台外网机可以通过jdbc连接该数据库服务器进行开发.要进行端口映射. 环境: 宽带通 Windows10企业 ...

  10. Tp-link TL-WR841N无线路由器端口映射到外网如何设置

    针对TP-LINK的无线路由器进行演示如何设置端口映射和访问控制,演示使用的具体型号是TP-LINK TL-WR841N 3G无线路由器如何设置端口映射. 什么是端口映射? 端口映射又称端口转发,有的 ...

随机推荐

  1. Java(195-214)【final、权限、内部类】

    1.final关键字的概念与四种方法 今天是基础学习的最后一天!~ 2.final关键字用来修饰一个类 3.final关键字来修饰成员方法 4.final用于修饰局部变量 package cn.itc ...

  2. 【笔记】《Redis设计与实现》chapter2 简单动态字符串

    ------------恢复内容开始------------ 2.1 SDS的定义 struct sdshdr{ // 记录buf数组中已使用字节的数量 // 等于SDS所保存字符串的长度(不含'\0 ...

  3. CentOS8搭建FTP服务器

    2021.2.20 更新 1 概述 文章核心: CentOS8使用vsftpd搭建FTP服务器 安装以及测试的详细过程 2 安装 2.1 安装vsftpd+ftp sudo yum install - ...

  4. OkHttp:NoClassDefFoundError

    1 问题描述 使用OkHttp时报错: Caused by: java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics at okh ...

  5. docker 容器重启策略

    查看docker 容器重启策略 docker inspect 容器ID docker run -d --restart=always bba-208 docker run -d --restart=o ...

  6. 【译】android的审计和hacking工具

    原文:Best Android Tools For Security Audit and Hacking android系统占移动市场份额的80%且有恶意软件,这是一个问题.Hacker会对手机恶意操 ...

  7. MySQL三种报错注入方式下的insert,update,delete命令注入示例

    select 查询数据(大部分) 在网站应用中进行数据显示查询操作 insert 插入数据 在网站应用中进行用户注册添加等操作 delete 删除数据 后台管理里面删除文章删除用户等操作 update ...

  8. 如何解决异步接口请求快慢不均导致的数据错误问题? - DevUI

    DevUI 是一款面向企业中后台产品的开源前端解决方案,它倡导沉浸.灵活.至简的设计价值观,提倡设计者为真实的需求服务,为多数人的设计,拒绝哗众取宠.取悦眼球的设计.如果你正在开发 ToB 的工具类产 ...

  9. Day003 数据类型拓展

    数据类型拓展 整数拓展 进制 ​ 通常我们使用的都是10进制的整数,java中可以表示不同进制的整数 进制 表示方法 二进制 0b 八进制 0 十进制 默认 十六进制 0x 看看下面这个例子吧 int ...

  10. mysql搭建多主一从源复制环境

    问题描述:搭建过一主多从的环境,由于数据库数据一致性要求高,有些情景会搭建一主多从的架构,搭建多主一从的模式,相对来说适合数据整合,将多个业务的库整合到一起,方便做查询,也可以当做一个监控其他主库数据 ...