Send UDP network messages on the command line with the free Swiss File Knife for Windows, Mac OS X and Linux.

sfk udpsend host[:| ]port [options] [data] [data2] [...]

send an UDP message and optionally receive replies.
maximum message size is 2000 bytes. your network may
limit this further, e.g. to 1500 or 1000 bytes.

   -listen        wait for a single reply, and dump it.
   -listen=n      wait for so many replies and dump them.
   -listenall     receive endless.
   -replyport=n   specify replyport for listening.
   -timeout=n     wait up to n msec for replies.
   -wide, -lean   etc. change hex dump output format.
                  for details, type "sfk hexdump"
   -flat          print messages as plain text.
   -showip        show target ip in [sent ...] info.
   -broad         send broadcast. this option is normally
                  used with address

input data format:
   0x123456       a hex string which is converted to binary
   foo            any other plain text is sent as is, but
                  zero termination is NOT done automatically.

   all given data fragments are joined into one large block.
   how long the block can be is system dependent, but it must
   always stay below 2000 bytes.

multicast send
   if a multicast group address is given, like
      sfk udpsend 5000 testtext
   then udpsend tries to send a multicast message.
   this may or may not work depending on the OS, network
   interface, router and firewall settings, user rights and
   other programs running in parallel.

chaining support
   small chain input data can be sent.
   to send continuous text over 1k do not use udpsend
   but tonetlog. type "sfk netlog" for more.

   sfk udp   like udpsend, but does not use chain input.
   sfk cudp  call udp quickly without any output,
             same as sfk udp -quiet.

return code
   0   ok
   >0  send failed, or no -listen reply

web reference

   sfk udpsend localhost 5000 hello 0x00
      send "hello" followed by a zero byte to localhost
      on port 5000

   sfk udpsend -listen -replyport 5010 test
      send "test" to localhost on port 5000
      and then receive a single reply on port 5010.

   sfk echo foo +udpsend localhost:5000
      sends "foo" with (CR)LF to localhost port 5000.

   sfk echo foo +xed "/[eol]//" +udpsend localhost:5000
      the same but strips (CR)LF line ending.
      use "sfk udpdump 5000 -text" to receive.