xref: /freebsd/sbin/ipf/ipsend/ipresend.1 (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)

IPRESEND 1
NAME
ipresend - resend IP packets out to network
SYNOPSIS
ipresend [ -EHPRSTX ] [ -d <device> ] [ -g <gateway> ] [ -m <MTU> ] [ -r <filename> ]
DESCRIPTION

ipresend was designed to allow packets to be resent, once captured, back out onto the network for use in testing. ipresend supports a number of different file formats as input, including saved snoop/tcpdump binary data.

OPTIONS

-d \0<interface> Set the interface name to be the name supplied. This is useful with the -P, -S, -T and -E options, where it is not otherwise possible to associate a packet with an interface. Normal "text packets" can override this setting.

-g \0<gateway> Specify the hostname of the gateway through which to route packets. This is required whenever the destination host isn't directly attached to the same network as the host from which you're sending.

-m \0<MTU> Specify the MTU to be used when sending out packets. This option allows you to set a fake MTU, allowing the simulation of network interfaces with small MTU's without setting them so.

-r \0<filename> Specify the filename from which to take input. Default is stdin.

-E The input file is to be text output from etherfind. The text formats which are currently supported are those which result from the following etherfind option combinations:

 etherfind -n
 etherfind -n -t

-H The input file is to be hex digits, representing the binary makeup of the packet. No length correction is made, if an incorrect length is put in the IP header.

-P The input file specified by -i is a binary file produced using libpcap (i.e., tcpdump version 3). Packets are read from this file as being input (for rule purposes).

-R When sending packets out, send them out "raw" (the way they came in). The only real significance here is that it will expect the link layer (i.e. ethernet) headers to be prepended to the IP packet being output.

-S The input file is to be in "snoop" format (see RFC 1761). Packets are read from this file and used as input from any interface. This is perhaps the most useful input type, currently.

-T The input file is to be text output from tcpdump. The text formats which are currently supported are those which result from the following tcpdump option combinations:

 tcpdump -n
 tcpdump -nq
 tcpdump -nqt
 tcpdump -nqtt
 tcpdump -nqte

-X The input file is composed of text descriptions of IP packets.

SEE ALSO
snoop(1m), tcpdump(8), etherfind(8c), ipftest(1), ipresend(1), iptest(1), bpf(4), dlpi(7p)
DIAGNOSTICS

Needs to be run as root.

BUGS

Not all of the input formats are sufficiently capable of introducing a wide enough variety of packets for them to be all useful in testing. If you find any, please send email to me at darrenr@pobox.com