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