Projects/icmptransd

Summary

UDP via ICMP transport daemon

Contents

Synopsis

icmptransd [-f] [-v] [-b bindport] [-c connectport] [-i icmpid] [-p pidfile]
    [-r remoteaddr] [-s setuid] [-t icmptype] [-u udpaddr]
  • -f .. foreground
  • -v .. verbose
  • -b .. UDP port to bind to
  • -c .. UDP port to connect to
  • -i .. ICMP id
  • -p .. PID file
  • -r .. remote IP address for ICMP packets
  • -s .. set UID
  • -t .. ICMP type
  • -u .. remote IP address for UDP packets

ICMP Payload

Bits 0-15 ICMP Type | ICMP Code (= 7)
Bits 16-31 Checksum
Bits 32-47 ICMP id
Bits 48-63 Sequence Nr

Usage Example

Suppose your server has IP address 10.0.0.1 and you have a daemon listening on UDP port 22222 running on that machine.

  • Run icmptransd on the server machine:
icmptransd -p /var/run/icmptransd.pid -s nobody -c 22222 -u 10.0.0.1 -i 33333
  • Run icmptransd on the client machine:
icmptransd -p /var/run/icmptransd.pid -s nobody -b 11111 -r 10.0.0.1 -i 33333

Finally, configure your UDP client to connect to 127.0.0.1, port 11111 (instead of 10.0.0.1, port 22222).