aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorAshok Narayanan <ashokn@cisco.com>2001-05-16 21:32:05 +0000
committerAshok Narayanan <ashokn@cisco.com>2001-05-16 21:32:05 +0000
commit2914e811771b2895273313eaf087bd9048403f9d (patch)
treea2974ba39320800cf18e2a199f413bbb58a040e1 /doc
parent5aafaef6c25f18c8a10322e6a7ece7162b62d448 (diff)
Added 'text2pcap', a utility to convert text hexdumps into pcap
files. See text2pcap.1 (built from doc/text2pcap.pod) for details. Changed 'tethereal -x' output to match hex dump format of text2pcap, Ethereal and others. svn path=/trunk/; revision=3421
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am8
-rw-r--r--doc/text2pcap.pod141
2 files changed, 148 insertions, 1 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 7d184702d4..1adc2a04c0 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,7 +1,7 @@
# Makefile.am
# Automake file for Ethereal documentation
#
-# $Id: Makefile.am,v 1.9 2001/03/06 18:38:47 gram Exp $
+# $Id: Makefile.am,v 1.10 2001/05/16 21:32:05 ashokn Exp $
#
# Ethereal - Network traffic analyzer
# By Gerald Combs <gerald@zing.org>
@@ -48,3 +48,9 @@ tethereal.pod: tethereal.pod.template ../tethereal
--center="The Ethereal Network Analyzer" \
--release=$(VERSION) \
> ../editcap.1
+
+../text2pcap.1: text2pcap.pod ../config.h
+ pod2man $(srcdir)/text2pcap.pod \
+ --center="The Ethereal Network Analyzer" \
+ --release=$(VERSION) \
+ > ../text2pcap.1
diff --git a/doc/text2pcap.pod b/doc/text2pcap.pod
new file mode 100644
index 0000000000..42c88658a3
--- /dev/null
+++ b/doc/text2pcap.pod
@@ -0,0 +1,141 @@
+
+=head1 NAME
+
+Text2pcap - Generate a capture file from an ASCII hexdump of packets
+
+=head1 SYNOPSYS
+
+B<text2pcap>
+S<[ B<-d> ]>
+S<[ B<-q> ]>
+S<[ B<-o> hex|oct ]>
+S<[ B<-l> typenum ]>
+S<[ B<-e> l3pid ]>
+S<[ B<-i> proto]>
+S<[ B<-u> srcport destport]>
+I<infile>
+I<outfile>
+
+=head1 DESCRIPTION
+
+B<Text2pcap> is a program that reads in an ASCII hex dump and writes
+the data described into a B<libpcap>-style capture file. B<text2pcap>
+can read hexdumps with multiple packets in them, and build a capture
+file of multiple packets. B<text2pcap> is also capable of generating
+dummy Ethernet, IP and UDP headers, in order to build fully
+processable packet dumps from hexdumps of application-level data
+only.
+
+B<Text2pcap> understands a hexdump of the form generated by I<od -t
+x1>. In other words, each byte is individually displayed and
+surrounded with a space. Each line begins with an offset describing
+the position in the file. The offset is a hex number (can also be
+octal - see B<-o>), of more than two hex digits. Here is a sample dump
+that B<text2pcap> can recognize:
+
+ 000000 00 e0 1e a7 05 6f 00 10 ........
+ 000008 5a a0 b9 12 08 00 46 00 ........
+ 000010 03 68 00 00 00 00 0a 2e ........
+ 000018 ee 33 0f 19 08 7f 0f 19 ........
+ 000020 03 80 94 04 00 00 10 01 ........
+ 000028 16 a2 0a 00 03 50 00 0c ........
+ 000030 01 01 0f 19 03 80 11 01 ........
+
+There is no limit on the width or number of bytes per line. Also the
+text dump at the end of the line is ignored. Bytes/hex numbers can be
+uppercase or lowercase. Any text before the offset is ignored,
+including email forwarding characters '>'. Any lines of text between
+the bytestring lines is ignored. The offsets are used to track the
+bytes, so offsets must be correct. Any line which has only bytes
+without a leading offset is ignored. An offset is recognized as being
+a hex number longer than two characters. Any text after the bytes is
+ignored (e.g. the character dump). Any hex numbers in this text are
+also ignored. An offset of zero is indicative of starting a new
+packet, so a single text file with a series of hexdumps can be
+converted into a packet capture with multiple packets. Multiple
+packets are read in with timestamps differing by one second each. In
+general, short of these restrictions, B<text2pcap> is pretty liberal
+about reading in hexdumps and has been tested with a variety of
+mangled outputs (including being forwarded through email multiple
+times, with limited line wrap etc.)
+
+There are a couple of other special features to note. Any line where
+the first non-whitespace character is '#' will be ignored as a
+comment. Any line beginning with #TEXT2PCAP is a directive and options
+can be inserted after this command to be processed by
+B<text2pcap>. Currently there are no directives implemented; in the
+future, these may be used to give more fine grained control on the
+dump and the way it should be processed e.g. timestamps, encapsulation
+type etc.
+
+B<Text2pcap> also allows the user to read in dumps of
+application-level data, by inserting dummy L2, L3 and L4 headers
+before each packet. The user can elect to insert Ethernet headers,
+Ethernet and IP, or Ethernet, IP and UDP headers before each
+packet. This allows Ethereal or any other full-packet decoder to
+handle these dumps.
+
+=head1 OPTIONS
+
+=over 4
+
+=item -d
+
+Displays debugging information during the process. Can be used
+multiple times to generate more debugging information.
+
+=item -q
+
+Be completely quiet during the process.
+
+=item -o hex|oct
+
+Specify the radix for the offsets (hex or octal). Defaults to
+hex. This corresponds to the C<-A> option for I<od>.
+
+=item -l
+
+Specify the link-layer type of this packet. Default is Ethernet
+(1). See I<net/bpf.h> for the complete list of possible
+encapsulations. Note that this option should be used if your dump is a
+complete hex dump of an encapsulated packet and you wish to specify
+the exact type of encapsulation. Example: I<-l 7> for ARCNet packets.
+
+=item -e l3pid
+
+Include a dummy Ethernet header before each packet. Specify the L3PID
+for the Ethernet header in hex. Use this option if your dump is an IP
+packet with IP header and payload, but no Layer 2
+encapsulation. Example: I<-e 0x806> to specify an ARP packet.
+
+=item -i proto
+
+Include dummy IP headers before each packet. Specify the IP protocol
+for the packet in decimal. Use this option if your dump is the payload
+of an IP packet (i.e. has complete L4 information) but does not have
+an IP header. Note that this automatically includes an appropriate
+Ethernet header as well. Example: I<-i 46> to specify an RSVP packet
+(IP protocol 46).
+
+=item -u srcport destport
+
+Include dummy UDP headers before each packet. Specify the source and
+destination UDP ports for the packet in decimal. Use this option if
+your dump is the UDP payload of a packet but does not include any UDP,
+IP or Ethernet headers. Note that this automatically includes
+appropriate Ethernet and IP headers with each packet. Example: I<-u
+1000 69> to make the packets look like TFTP/UDP packets.
+
+
+=head1 SEE ALSO
+
+L<tcpdump(8)>, L<pcap(3)>, L<ethereal(1)>, L<editcap(1)>
+
+=head1 NOTES
+
+B<Text2pcap> is part of the B<Ethereal> distribution. The latest version
+of B<Ethereal> can be found at B<http://www.ethereal.com>.
+
+=head1 AUTHORS
+
+ Ashok Narayanan <ashokn@cisco.com>