aboutsummaryrefslogtreecommitdiffstats
path: root/doc/randpkt.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/randpkt.adoc')
-rw-r--r--doc/randpkt.adoc107
1 files changed, 107 insertions, 0 deletions
diff --git a/doc/randpkt.adoc b/doc/randpkt.adoc
new file mode 100644
index 0000000000..7e65ba2445
--- /dev/null
+++ b/doc/randpkt.adoc
@@ -0,0 +1,107 @@
+=begin man
+
+=encoding utf8
+
+=end man
+
+=head1 NAME
+
+randpkt - Random packet generator
+
+=head1 SYNOPSIS
+
+B<randpkt>
+S<[ B<-b> E<lt>maxbytesE<gt> ]>
+S<[ B<-c> E<lt>countE<gt> ]>
+S<[ B<-t> E<lt>typeE<gt> ]>
+E<lt>filenameE<gt>
+
+=head1 DESCRIPTION
+
+B<randpkt> is a small utility that creates a B<pcap> trace file
+full of random packets.
+
+By creating many randomized packets of a certain type, you can
+test packet sniffers to see how well they handle malformed packets.
+The sniffer can never trust the data that it sees in the packet because
+you can always sniff a very bad packet that conforms to no standard.
+B<randpkt> produces I<very bad> packets.
+
+When creating packets of a certain type, B<randpkt> uses a sample
+packet that is stored internally to B<randpkt>. It uses this as the
+starting point for your random packets, and then adds extra random
+bytes to the end of this sample packet.
+
+For example, if you choose to create random ARP packets, B<randpkt>
+will create a packet which contains a predetermined Ethernet II header,
+with the Type field set to ARP. After the Ethernet II header, it will
+put a random number of bytes with random values.
+
+=head1 OPTIONS
+
+=over 4
+
+=item -b E<lt>maxbytesE<gt>
+
+Default 5000.
+
+Defines the maximum number of bytes added to the sample packet.
+If you choose a B<maxbytes> value that is less than the size of the
+sample packet, then your packets would contain only the sample
+packet... not much variance there! B<randpkt> exits on that condition.
+
+=item -c E<lt>countE<gt>
+
+Default 1000.
+
+Defines the number of packets to generate.
+
+=item -t E<lt>typeE<gt>
+
+Default Ethernet II frame.
+
+Defines the type of packet to generate:
+
+ arp Address Resolution Protocol
+ bgp Border Gateway Protocol
+ bvlc BACnet Virtual Link Control
+ dns Domain Name Service
+ eth Ethernet
+ fddi Fiber Distributed Data Interface
+ giop General Inter-ORB Protocol
+ icmp Internet Control Message Protocol
+ ip Internet Protocol
+ ipv6 Internet Protocol Version 6
+ llc Logical Link Control
+ m2m WiMAX M2M Encapsulation Protocol
+ megaco MEGACO
+ nbns NetBIOS-over-TCP Name Service
+ ncp2222 NetWare Core Protocol
+ sctp Stream Control Transmission Protocol
+ syslog Syslog message
+ tds TDS NetLib
+ tcp Transmission Control Protocol
+ tr Token-Ring
+ udp User Datagram Protocol
+ usb Universal Serial Bus
+ usb-linux Universal Serial Bus with Linux specific header
+
+=back
+
+=head1 EXAMPLES
+
+To see a description of the randpkt options use:
+
+ randpkt
+
+To generate a capture file with 1000 DNS packets use:
+
+ randpkt -b 500 -t dns rand_dns.pcap
+
+To generate a small capture file with just a single LLC frame use:
+
+ randpkt -b 100 -c 1 -t llc single_llc.pcap
+
+=head1 SEE ALSO
+
+pcap(3), editcap(1)