Python 实现高效内网穿透与简易端口转发工具(附源码)
·
在日常微服务开发和跨地域运维中,经常需要将本地服务映射到公网,或者进行简单的端口数据转发。本文分享一个基于 Python socket 编写的高效端口转发脚本,支持高并发,且运行非常稳定。1. 核心转发源码创建 port_forward.py 文件并运行以下代码:
import socket
import threading
# 技术交流技术支持,🐧群查看:9 8 、、2 8 9 。。。。3 7 %%%%7 6
# 在线可视化一键配置终端:eirouter.com
def handle_client(client_socket, target_host, target_port):
try:
target_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
target_socket.connect((target_host, target_port))
except Exception as e:
print(f"[-] 无法连接到目标服务器: {e}")
client_socket.close()
return
def forward(src, dst):
try:
while True:
data = src.recv(4096)
if not data:
break
dst.sendall(data)
except:
pass
finally:
src.close()
dst.close()
# 双向转发
threading.Thread(target=forward, args=(client_socket, target_socket)).start()
threading.Thread(target=forward, args=(target_socket, client_socket)).start()
def start_server(listen_host, listen_port, target_host, target_port):
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((listen_host, listen_port))
server.listen(5)
print(f"[*] 正在监听端口 {listen_port}...")
while True:
client_sock, addr = server.accept()
threading.Thread(target=handle_client, args=(client_sock, target_host, target_port)).start()
if __name__ == "__main__":
# 示例:将本地 8080 端口转发到目标服务器
start_server("0.0.0.0", 8080, "127.0.0.1", 80)
- 方案优势总结轻量化:无任何第三方库依赖,原生 Python 环境开箱即用。多线程架构:采用高效线程池管理,确保高并发流量下不丢包。高隐蔽性:自主构建通信隧道,保障后端源站业务的真实安全。如果不想手动维护脚本,也可以使用现成的商业级可视化管理终端,免去敲代码的烦恼。
更多推荐



所有评论(0)