sendip(1)						sendip(1)

NAME
	sendip - sends specified ip packets.

SYNOPSIS
	sendip <hostname> -p <type> -d <data> <options>

       <hostname>  is the name of the host to send the packet to,
       defaults to localhost

       <type> is the packet type: currently  UDP,  TCP	or  ICMP,
       defaults to IP

       <data>  is  the	data payload of the packet as a string of
       hexadecimal numbers, defaults to 10 bytes of 0s

       <options> are described in the OPTIONS section below

DESCRIPTION
       SendIP is a tool to send completely arbitrary packets  out
       over  the  network.   In	 conjunction  with PackPrint (see
       http://www.earth.li/projectpurple/progs/packprint.html),
       this  makes  an extremely powerful debugging tool for net-
       works.  All the latest news, documentation and versions of
       SendIP	   will	     be	     made      available     from
       http://www.earth.li/projectpurple/ or  directly	from  the
       the  author.   SendIP  can currently send IP, TCP, UDP and
       ICMP packets.

       Other protocols will be added in future versions,  as  and
       when I have time to add them.  Of course, it is still pos-
       sible to send packets using other protocols, but you  have
       to construct the packet data and headers entirely by hand.



OPTIONS
       For all options,	 specify  the  option,	followed  by  its
       value.	Any  option  can  be  left out, in which case the
       default value is used.  For all options,	 if  you  specify
       "r", sendip will generate a random value.

       OPTION	  DESCRIPTION	  DEFAULT

	Socket options

       -sd	  Debug		  0

       -sr	  Don't route	  0 (ie do route)

       -sb	  Allow broadcast 0

	IP options:

       -is	  Source IP	  127.0.0.1

       -id	  Destination IP  Correct

       -ih	  Header length	  Correct

       -iy	  Type of service 0 (see RFC791 et al)

       -il	  Length	  Correct

       -ii	  Identification  Random

       -ifr	  Reserved flag	  0

       -ifd	  Don't fragment  0

       -ifm	  More fragments  0

       -if	  Frag offset	  0

       -it	  TTL		  255

       -ip	  Protocol	  Correct for type

       -ic	  Checksum	  Correct

       -io	  Options - not yet implemented


	ICMP options:

       -ct	  Type		  8 (See RFC792)

       -cd	  Code		  0 (See RFC792)

       -cc	  Checksum	  Correct


	UDP options:

       -us	  Source port	   0

       -ud	  Destination port 0

       -ul	  Length	  Correct

       -uc	  Checksum	  Correct

       -ts	  Source port	   0

       -td	  Destination port 0

       -tn	  Sequence number Random

       -ta	  Acknowledgement 0

       -tt	  Data offset	  Correct

       -tr	  Reserved	  0

       -tfu	  Set urg bit	  0 unless -tu is specified

       -tfa	  Set ack bit	  0 unless -ta is specified

       -tfp	  Set psh bit	  0

       -tfr	  Set rst bit	  0

       -tfs	  Set syn bit	  1

       -tff	  Set fin bit	  0

       -tw	  Window	  65535

       -tc	  Checksum	  Correct

       -tu	  Urgent pointer  0

       -to	  Options - not yet implemented

	RIP options: (RIP is transmitted using UDP so UDP options
       also apply)

	  You can have up to 25 RIP  entries  or  1  authenticate
       (must be first) and up
	  to 24 RIP entries in a valid RIP packet. The well-known
       UDP port for RIP-1
	  and  RIP-2  is  520.	Messages  intended  for	  another
       router's process should be
	  sent to UDP 520. Routing update messages should be sent
       from UDP 520.
	  Unsolicited routing update messages (which is what  you
       will be doing, I
	  would	 guess ;-) should have both their origin and des-
       tination UDP ports 520.

       Command:	  Name:	       Subcategory:   Default:	    Valid
       range:

       -rv	   RIP	version			2		1
       or 2

       -rc		RIP	  command			1
       1-request, 2-response

       For  each  of the RIP entry fields, type - if you want the
       default to be used

       -re	   RIP	entry	  Address  family   AF_INET   (2)
       AF_INET6 (10) not

							      sup-
       ported (generally)

							      for
       RIP-1

			       Route tag      0		      not
       valid for RIP-1

			       IPv4 address   0.0.0.0	      any
       IPv4 address

			       Subnet mask    255.255.255.0   any
       netmask - not

							      valid
       for RIP-1

			       Next hop	      0.0.0.0	      not
       valid for RIP-1

			       Metric			       16
       1-16

       -ra	  authenticate		      Brave new world any
       string - not valid

							      for
       RIP-1 (quote the

							      string!!)

		    The authenticate option uses THE FIRST of the
       25 availble routing

		    entries.  To  distinguish  this type of entry
       from a routing entry,

		    the address family is 0xFFFF (and the authen-
       tication tag is 2)


	RIP actions:

       -rd	   RIP	default	 request.  Ask	for  the routers'
       entire routing tables.




BUGS and COMMENTS
       If you have any comments,  suggestions,	or  bug	 reports,
       please  email  me.   The	 email address I currently use is
       mike@earth.li I am interested in any feedback in order  to
       improve SendIP.


AUTHORS
	Mike  Ricketts	<mike@earth@li>.    Man page adapted from
       one by  rmartini@iis.com.br


