ptunnel: send/receive TCP traffic via ICMP reliably

Yes, it can be useful sometimes. For example, you have access to Wi-Fi network but you’re not allowed to access Internet via TCP/UDP as these protocols are blocked. At the same time ICMP is opened and you can ping everything alive in Internet. So, to check your email just have ptunnel installed and work around the restrictions set by the Wi-Fi network sysadmin easily.

Ptunnel is an application that allows you to reliably tunnel TCP connections to a remote host using ICMP echo request and reply packets, commonly known as ping requests and replies. It is not a feature-rich tool by any means, but it does what it advertises. So here is what it can do:

  • Tunnel TCP using ICMP echo request and reply packets
  • Connections are reliable (lost packets are resent as necessary)
  • Handles multiple connections
  • Acceptable bandwidth (150 kb/s downstream and about 50 kb/s upstream are the currently measured maximas for one tunnel)
  • Authentication, to prevent just anyone from using your proxy

1. Install ptunnel in Ubuntu or Debian
apt-get install ptunnel

2. Start ptunnel proxy:

ptunnel -p proxy_address -lp listen_port -da destination_address -dp dest_port [-c network_device] [-v verbosity] [-u] [-x password] [-f file]

The following example assumes that ptunnel is run as root, both on the proxy and client. To tunnel ssh connections from the client machine via a proxy running on proxy.pingtunnel.com to the computer login.domain.com, the following command line would be used:

ptunnel -p proxy.pingtunnel.com -lp 8000 -da login.domain.com -dp 22

An ssh connection to login.domain.com can now be established as follows:

ssh -p 8000 localhost

P.S. A brief manual on how to use ptunnel can be got here.
P.P.S. If you are sysadmin and have to forbid Internet access to some user in LAN, don’t forget to block ICMP! :)

 
 
» You might also be interested in the following articles:
Network Traffic Generator: hping
Ping range of IP addresses in parallel with fping
Dump ipcad output into sqlite3
Interview with lead developer of XFCE
Make squid to mark cache hits and misses (rpm package for Fedora 5)



» Want to stay up to date? Subscribe to our E-MAIL or RSS feed!

2 Responses to “ptunnel: send/receive TCP traffic via ICMP reliably”


  1. 1 Bob

    This site is really superb!!! Thank you for you work! Good Luck

  2. 2 Spider

    Nice site its very interesting site! your site is fantastic.t

Leave a Reply




Friendly Sites:Who is behind Linux Screw?
Aspiring Sysadmin | GeekyBits³ | Bash Cures Cancer | TOTMS
Linux Operating System | Small Linux Deployments | My SysAd Blog
The Danesh Project | ZEPY | Linux config Wiki | Planet Sysadmin
The Sys Admin | {buhay sysad} | a non-geek's linux notes
Linux HOWTOs, Tutorials & Projects with Adam Palmer | LinuxAlt.Com
My name is Artem Nosulchik (artiomix AT gmail DOT com) and I'm Linux/Unix, Cisco systems engineer. The main idea of Linux Screw is to share relevant knowledge, skills and observations over The Web. Here you can find a lot of information related to different Linux distributions, FreeBSD, IOS as well as a other Open Source around staff. Read more ››