文章目录Pingtunnel用 ICMP 协议转发 TCP/UDP 流量Pingtunnel用 ICMP 协议转发 TCP/UDP 流量Pingtunnel 是一个通过 ICMP 协议传输 TCP/UDP 流量的开源工具在 GitHub 上获得了 3,686 个 Star。ICMP 协议通常用于网络诊断比如 ping 命令。Pingtunnel 利用这个协议的特点将其他类型的网络流量封装在 ICMP 数据包中进行传输。由于 ICMP 流量在很多网络环境中不会被限制这个工具在特定场景下有实际用途。Pingtunnel 支持三种转发模式SOCKS5 代理转发、TCP 端口转发和 UDP 端口转发。工具使用 Go 语言开发支持 Linux、Windows、macOS 等多个平台。安装部署服务端需要一台有公网 IP 的服务器比如 AWS 的 EC2 实例。从 releases 页面下载对应系统的版本解压后以 root 权限运行sudo./pingtunnel-typeserver可以选择禁用系统默认的 ping 功能echo1/proc/sys/net/ipv4/icmp_echo_ignore_all客户端下载对应版本后以管理员权限运行。转发 SOCKS5 代理pingtunnel.exe-typeclient-l:4455-swww.yourserver.com-sock51转发 TCP 端口pingtunnel.exe-typeclient-l:4455-swww.yourserver.com-twww.yourserver.com:4455-tcp1转发 UDP 端口pingtunnel.exe-typeclient-l:4455-swww.yourserver.com-twww.yourserver.com:4455看到 ping/pong 日志就说明连接正常。-key参数用于加密通信只支持 0 到 2147483647 之间的整数。Docker 支持Pingtunnel 提供了 Docker 镜像部署更方便。服务端和客户端都支持 Docker 方式运行。服务端dockerrun--namepingtunnel-server-d--privileged--networkhost--restartalways esrrhs/pingtunnel ./pingtunnel-typeserver-key123456客户端dockerrun--namepingtunnel-client-d--restartalways-p1080:1080 esrrhs/pingtunnel ./pingtunnel-typeclient-l:1080-swww.yourserver.com-sock51-key123456Android 客户端社区开发者为 Pingtunnel 开发了 Android 客户端方便在手机上使用。客户端项目由社区维护提供了移动端的使用体验。这个工具的原理是利用 ICMP 协议通常不会被防火墙严格限制的特点把需要转发的流量包装在 ICMP 包里进行传输。在网络环境受限的情况下这种方案可以提供一种可行的通信路径。协议通常不会被防火墙严格限制的特点把需要转发的流量包装在 ICMP 包里进行传输。在网络环境受限的情况下这种方案可以提供一种可行的通信路径。
Pingtunnel:用 ICMP 协议转发 TCPUDP 流量
文章目录Pingtunnel用 ICMP 协议转发 TCP/UDP 流量Pingtunnel用 ICMP 协议转发 TCP/UDP 流量Pingtunnel 是一个通过 ICMP 协议传输 TCP/UDP 流量的开源工具在 GitHub 上获得了 3,686 个 Star。ICMP 协议通常用于网络诊断比如 ping 命令。Pingtunnel 利用这个协议的特点将其他类型的网络流量封装在 ICMP 数据包中进行传输。由于 ICMP 流量在很多网络环境中不会被限制这个工具在特定场景下有实际用途。Pingtunnel 支持三种转发模式SOCKS5 代理转发、TCP 端口转发和 UDP 端口转发。工具使用 Go 语言开发支持 Linux、Windows、macOS 等多个平台。安装部署服务端需要一台有公网 IP 的服务器比如 AWS 的 EC2 实例。从 releases 页面下载对应系统的版本解压后以 root 权限运行sudo./pingtunnel-typeserver可以选择禁用系统默认的 ping 功能echo1/proc/sys/net/ipv4/icmp_echo_ignore_all客户端下载对应版本后以管理员权限运行。转发 SOCKS5 代理pingtunnel.exe-typeclient-l:4455-swww.yourserver.com-sock51转发 TCP 端口pingtunnel.exe-typeclient-l:4455-swww.yourserver.com-twww.yourserver.com:4455-tcp1转发 UDP 端口pingtunnel.exe-typeclient-l:4455-swww.yourserver.com-twww.yourserver.com:4455看到 ping/pong 日志就说明连接正常。-key参数用于加密通信只支持 0 到 2147483647 之间的整数。Docker 支持Pingtunnel 提供了 Docker 镜像部署更方便。服务端和客户端都支持 Docker 方式运行。服务端dockerrun--namepingtunnel-server-d--privileged--networkhost--restartalways esrrhs/pingtunnel ./pingtunnel-typeserver-key123456客户端dockerrun--namepingtunnel-client-d--restartalways-p1080:1080 esrrhs/pingtunnel ./pingtunnel-typeclient-l:1080-swww.yourserver.com-sock51-key123456Android 客户端社区开发者为 Pingtunnel 开发了 Android 客户端方便在手机上使用。客户端项目由社区维护提供了移动端的使用体验。这个工具的原理是利用 ICMP 协议通常不会被防火墙严格限制的特点把需要转发的流量包装在 ICMP 包里进行传输。在网络环境受限的情况下这种方案可以提供一种可行的通信路径。协议通常不会被防火墙严格限制的特点把需要转发的流量包装在 ICMP 包里进行传输。在网络环境受限的情况下这种方案可以提供一种可行的通信路径。