Windows Cmd以及Python实现端口转发

    以前笔者写过一篇文章来梳理ssh端口转发-SSH端口转发的妙用 。

    今天笔者发现还两个方法来实现端口转发功能。

    实验环境:虚拟机ubuntu的网络为主机模式,即只能宿主机访问 。现在在宿主机上创建端口转发到虚拟机的22端口,可以实现宿主机局域网中,所有设备都能访问到只能宿主机访问的虚拟机上。这样可以简化远程运维,不用多次ssh。

1、Windows CMD端口转发,netsh工具的portproxy功能,使用参数v4tov4 (ipv4)

    下面的第一个命令是建立端口转发:netsh interface portproxy add v4tov4 listenaddress=localhost listenport=86 connectaddress=192.168.182.131 connectport=22

    第二个是查看本机添加的所有规则:netsh interface portproxy show all 

    第三个是删除指定规则:netsh interface portproxy delete v4tov4 listenaddress=localhost listenport=86

    第四再次查看规则已经删除:netsh interface portproxy show all

2、python socket模块实现端口转发

    代码参考github:rtcp/rtcp.py at master · knownsec/rtcp (github.com) 或者python-port-forward/port-forward.py at master · vinodpandey/python-port-forward (github.com) 。后者笔者觉得更加好,可以使用配置文件或者命令参数,还有错误日志error.log。 当然还有很多其他的功能代码可以实现,下面是使用第一个python笔者做的测试。第二个脚本较老,需要修改thread模块为_thread,同时将file修改为open。

你可能感兴趣的:(Windows Cmd以及Python实现端口转发)