Skip to content

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

License

Notifications You must be signed in to change notification settings

esrrhs/pingtunnel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Aug 14, 2024
0142aa4 · Aug 14, 2024
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023
Aug 14, 2024
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023
Apr 19, 2024
Apr 19, 2024
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023
Nov 29, 2023

Repository files navigation

Pingtunnel

Go Report Card

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 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