内网穿透代码
内网穿透是一种将内网服务映射到公网上的技术,使外部网络可以访问内网服务。以下是一个简单的内网穿透的示例代码:
import socket
def forward(local_port, remote_port):
# 创建一个TCP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 监听本地端口
sock.bind(('0.0.0.0', local_port))
sock.listen(1)
while True:
# 接受客户端连接
client_sock, client_addr = sock.accept()
print('Client connected from:', client_addr)
try:
# 连接到远程服务器
remote_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
remote_sock.connect(('remote_server_ip', remote_port))
# 数据转发
while True:
# 从客户端接收数据并发送到远程服务器
data = client_sock.recv(1024)
if not data:
break
remote_sock.sendall(data)
# 从远程服务器接收数据并发送到客户端
data = remote_sock.recv(1024)
if not data:
break
client_sock.sendall(data)
finally:
# 关闭连接
client_sock.close()
remote_sock.close()
# 使用示例:将本地的8080端口映射到远程服务器的80端口
forward(8080, 80)
这段代码通过创建一个TCP套接字,监听本地端口,并接受客户端连接。然后,它连接到远程服务器,并将客户端发送的数据转发到远程服务器,同时将远程服务器的响应转发回客户端。你可以根据自己的需求修改代码中的端口号和远程服务器的IP地址。同时,记得在远程服务器上开放相应的端口,以便能够接收到转发的数据
原文地址: https://www.cveoy.top/t/topic/hOSY 著作权归作者所有。请勿转载和采集!