Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / ipfilter / ipsend / iptest.1
1 .TH IPTEST 1
2 .SH NAME
3 iptest \- automatically generate a packets to test IP functionality
4 .SH SYNOPSIS
5 .B iptest
6 [
7 .B \-1234567
8 ] [
9 .B \-d
10 <device>
11 ] [
12 .B \-g
13 <gateway>
14 ] [
15 .B \-m
16 <\fIMTU\fP>
17 ] [
18 .B \-p
19 <\fIpointtest\fP>
20 ] [
21 .B \-s
22 <\fIsource\fP>
23 ] <destination>
24 .SH DESCRIPTION
25 .PP
26 \fBiptest\fP ...
27 .SH OPTIONS
28 .TP
29 .B \-1
30 Run IP test group #1.  This group of tests generates packets with the IP
31 header fields set to invalid values given other packet characteristics.
32 The point tests are: 1 (ip_hl < ip_len), 2 (ip_hl > ip_len),
33 3 (ip_v < 4), 4 (ip_v > 4), 5 (ip_len < packetsize, long packets),
34 6 (ip_len > packet size, short packets), 7 (Zero length fragments),
35 8 (packet > 64k after reassembly), 9 (IP offset with MSB set), 10 (ttl
36 variations).
37 .TP
38 .B \-2
39 Run IP test group #2.  This group of tests generates packets with the IP
40 options constructed with invalid values given other packet characteristics.
41 The point tests are: 1 (option length > packet length), 2 (option length = 0).
42 .TP
43 .B \-3
44 Run IP test group #3.  This group of tests generates packets with the ICMP
45 header fields set to non-standard values.  The point tests are: 1 (ICMP types
46 0-31 & 255), 2 (type 3 & code 0 - 31), 3 (type 4 & code 0, 127, 128, 255),
47 4 (type 5 & code 0, 127, 128, 255), 5 (types 8-10,13-18 with codes 0, 127,
48 128 and 255), 6 (type 12 & code 0, 127, 128, 129, 255) and 7 (type 3 & codes
49 9-10, 13-14 and 17-18 - shortened packets).
50 .TP
51 .B \-4
52 Run IP test group #4.  This group of tests generates packets with the UDP
53 header fields set to non-standard values.  The point tests are: 1 (UDP length
54 > packet size), 2 (UDP length < packetsize), 3 (sport = 0, 1, 32767, 32768,
55 65535), 4 (dport = 0, 1, 32767, 32768, 65535) and 5 (sizeof(struct ip) <= MTU
56 <= sizeof(struct udphdr) + sizeof(struct ip)).
57 .TP
58 .B \-5
59 Run IP test group #5.  This group of tests generates packets with the TCP
60 header fields set to non-standard values.  The point tests are: 1 (TCP flags
61 variations, all combinations), 2 (seq = 0, 0x7fffffff, 0x8000000, 0xa0000000,
62 0xffffffff),  3 (ack = 0, 0x7fffffff, 0x8000000, 0xa0000000, 0xffffffff),
63 4 (SYN packet with window of 0, 32768, 65535), 5 (set urgent pointer to 1,
64 0x7fff, 0x8000, 0xffff), 6 (data offset), 7 (sport = 0, 1, 32767, 32768,
65 65535) and 8 (dport = 0, 1, 32767, 32768, 65535).
66 .TP
67 .B \-6
68 Run IP test group #6.  This test generates a large number of fragments in
69 an attempt to exhaust the network buffers used for holding packets for later
70 reassembly.  WARNING: this may crash or cause serious performance degradation
71 to the target host.
72 .TP
73 .B \-7
74 Run IP test group #7.  This test generates 1024 random IP packets with only
75 the IP version, checksum, length and IP offset field correct.
76 .TP
77 .BR \-d \0<interface>
78 Set the interface name to be the name supplied.
79 .TP
80 .BR \-g \0<gateway>
81 Specify the hostname of the gateway through which to route packets.  This
82 is required whenever the destination host isn't directly attached to the
83 same network as the host from which you're sending.
84 .TP
85 .BR \-m \0<MTU>
86 Specify the MTU to be used when sending out packets.  This option allows you
87 to set a fake MTU, allowing the simulation of network interfaces with small
88 MTU's without setting them so.
89 .TP
90 .B \-p <test>
91 Run a...
92 .DT
93 .SH SEE ALSO
94 ipsend(1), ipresend(1), bpf(4), ipsend(5), dlpi(7p)
95 .SH DIAGNOSTICS
96 Only one of the numeric test options may be given when \fIiptest\fP is run.
97 .PP
98 Needs to be run as root.
99 .SH BUGS
100 .PP
101 If you find any, please send email to me at darrenr@pobox.com