[Page 1]
thebends.org/~allen/utunnel

1. Description

   utunnel allows you to tunnel ip traffic (tcp, icmp, etc) over udp.
   utunnel is written and c using libpcap and libnet.  utunnel is very
   much unfinished.

2. Requirements

   utunnel has been tested on mac os x and freebsd.  Please let me know
   if you are successful in getting this to run on your os and what
   changes were necessary. utunnel was developed using the following
   libraries:

   (1) libnet 1.1.2.1
   (2) libpcap 0.8.3

   In order to create raw packets and sniff, you usually must have root
   privileges on your machine.

3. Obtaining

   (1) download utunnel 0.4 source code
   (2) browse source at googlecode.

4. Usage

   Invoke uclient or userver with no arguments for a quick and
   dirty usage explanatioin.

5. TODO

   I had planned these additions to utunnel, but don't have any intentions
   to work on them anytime soon:

   (1) usage documentation
   (2) re-implement support for mac spoofing
   (3) mtu sized packets are not handled properly
   (4) experiment with tunneling over other protocols such as gre
   (5) add support for linux loopback oddities
   (6) test with various NATs
   (7) write custom session handlers for all supported protocols

6. Acknowledgement

   Extremely helpful implementation advice provided by:

   [1] h1kari
   [2] Dan Kaminsky