python 写一个端口转发从而实现局域网内没有外网的电脑可以远程连接代码
时间: 2024-02-03 08:04:41 浏览: 173
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
以下是一个简单的 Python 端口转发脚本,可以实现局域网内没有外网的电脑可以远程连接:
```python
import socket
def port_forward(local_port, remote_host, remote_port):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as local_sock:
local_sock.bind(('0.0.0.0', local_port))
local_sock.listen(1)
print(f'Listening on port {local_port}...')
while True:
conn, addr = local_sock.accept()
print(f'Accepted connection from {addr[0]}:{addr[1]}')
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as remote_sock:
remote_sock.connect((remote_host, remote_port))
print(f'Connected to {remote_host}:{remote_port}')
while True:
data = conn.recv(1024)
if not data:
break
remote_sock.sendall(data)
print(f'Sent {len(data)} bytes to {remote_host}:{remote_port}')
conn.close()
print(f'Connection closed by {addr[0]}:{addr[1]}')
if __name__ == '__main__':
port_forward(8080, 'example.com', 80)
```
在这个例子中,我们将本地端口 `8080` 转发到远程服务器 `example.com:80` 上。当有连接到本地 `8080` 端口的请求时,脚本会将请求转发到远程服务器上,并将响应返回给本地客户端。你可以根据需要修改本地和远程端口。
阅读全文