SkillAgentSearch skills...

Pingtunnel

Pingtunnel is a tool that send TCP/UDP traffic over ICMP

Install / Use

/learn @esrrhs/Pingtunnel

README

Pingtunnel

<img src="https://img.shields.io/github/license/esrrhs/pingtunnel"> <img src="https://img.shields.io/github/languages/top/esrrhs/pingtunnel"> Go Report Card <img src="https://img.shields.io/github/v/release/esrrhs/pingtunnel"> <img src="https://img.shields.io/github/downloads/esrrhs/pingtunnel/total"> <img src="https://img.shields.io/docker/pulls/esrrhs/pingtunnel"> <img src="https://img.shields.io/github/actions/workflow/status/esrrhs/pingtunnel/go.yml?branch=master">

Pingtunnel is a tool that send TCP/UDP traffic over ICMP.

Note: This tool is only to be used for study and research, do not use it for illegal purposes

image

Usage

Install server

  • First prepare a server with a public IP, such as EC2 on AWS, assuming the domain name or public IP is www.yourserver.com
  • Download the corresponding installation package from releases, such as pingtunnel_linux64.zip, then decompress and execute with root privileges
  • “-key” parameter is int type, only supports numbers between 0-2147483647
sudo wget (link of latest release)
sudo unzip pingtunnel_linux64.zip
sudo ./pingtunnel -type server
  • (Optional) Disable system default ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Install the client

  • Download the corresponding installation package from releases, such as pingtunnel_windows64.zip, and decompress it
  • Then run with administrator privileges. The commands corresponding to different forwarding functions are as follows.
  • If you see a log of ping pong, the connection is normal
  • “-key” parameter is int type, only supports numbers between 0-2147483647

Forward sock5

pingtunnel.exe -type client -l :4455 -s www.yourserver.com -sock5 1

Forward tcp

pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455 -tcp 1

Forward udp

pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455

Use Android Client

A dedicated Android client for pingtunnel is now available, developed by the community.

Big thanks to itismoej for developing this Android client!

Use Docker

It can also be started directly with docker, which is more convenient. Same parameters as above

  • server:
docker run --name pingtunnel-server -d --privileged --network host --restart=always esrrhs/pingtunnel ./pingtunnel -type server -key 123456
  • client:
docker run --name pingtunnel-client -d --restart=always -p 1080:1080 esrrhs/pingtunnel ./pingtunnel -type client -l :1080 -s www.yourserver.com -sock5 1 -key 123456

Thanks for free JetBrains Open Source license

<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/GoLand.png" height="200"/></a>

View on GitHub
GitHub Stars3.6k
CategoryDevelopment
Updated9h ago
Forks605

Languages

Go

Security Score

100/100

Audited on Mar 28, 2026

No findings