• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.editorconfigH A D29-Dec-20211.8 KiB143106

5views.cH A D29-Dec-202115.4 KiB494314

5views.hH A D29-Dec-2021312 176

READMEH A D29-Dec-20217.3 KiB187150

README.airmagnetH A D29-Dec-20218.6 KiB296289

README.developerH A D29-Dec-20213.9 KiB9071

aethra.cH A D29-Dec-202111.2 KiB382223

aethra.hH A D29-Dec-2021316 186

ascend-int.hH A D29-Dec-20211.2 KiB5736

ascend_parser.lemonH A D29-Dec-202119.3 KiB511432

ascend_scanner.lH A D29-Dec-20219.3 KiB409264

ascendtext.cH A D29-Dec-202116.7 KiB486244

ascendtext.hH A D29-Dec-2021554 258

atm.cH A D29-Dec-20213.6 KiB13546

atm.hH A D29-Dec-2021574 279

ber.cH A D29-Dec-20214.4 KiB170100

ber.hH A D29-Dec-2021274 176

blf.cH A D29-Dec-202168.3 KiB1,8461,392

blf.hH A D29-Dec-202117 KiB504391

btsnoop.cH A D29-Dec-202115.4 KiB467306

btsnoop.hH A D29-Dec-2021331 176

busmaster.cH A D29-Dec-202114 KiB476351

busmaster.hH A D29-Dec-2021437 216

busmaster_parser.lemonH A D29-Dec-202110.9 KiB454368

busmaster_priv.hH A D29-Dec-20212.5 KiB137102

busmaster_scanner.lH A D29-Dec-20216.9 KiB199130

camins.cH A D29-Dec-202115.2 KiB502293

camins.hH A D29-Dec-2021484 226

candump.cH A D29-Dec-20217 KiB263178

candump.hH A D29-Dec-2021425 216

candump_parser.lemonH A D29-Dec-20217.5 KiB355288

candump_priv.hH A D29-Dec-20211.3 KiB7044

candump_scanner.lH A D29-Dec-20213.6 KiB13981

capsa.cH A D29-Dec-202114.2 KiB492263

capsa.hH A D29-Dec-2021342 197

catapult_dct2000.cH A D29-Dec-202157.8 KiB1,6921,058

catapult_dct2000.hH A D29-Dec-2021498 2410

commview.cH A D29-Dec-202145.5 KiB1,4021,011

commview.hH A D29-Dec-2021468 217

cosine.cH A D29-Dec-202117.5 KiB529284

cosine.hH A D29-Dec-2021451 227

csids.cH A D29-Dec-20217.1 KiB250149

csids.hH A D29-Dec-2021337 197

daintree-sna.cH A D29-Dec-20218.9 KiB295166

daintree-sna.hH A D29-Dec-2021425 207

dbs-etherwatch.cH A D29-Dec-202122.8 KiB671417

dbs-etherwatch.hH A D29-Dec-2021380 197

dct3trace.cH A D29-Dec-202112 KiB443291

dct3trace.hH A D29-Dec-2021357 187

dpa400.cH A D29-Dec-20216.6 KiB290191

dpa400.hH A D29-Dec-2021570 316

erf-common.hH A D29-Dec-20211 KiB427

erf.cH A D29-Dec-2021123.5 KiB3,6372,466

erf.hH A D29-Dec-20211.3 KiB5922

erf_record.hH A D29-Dec-202113.5 KiB369301

eri_enb_log.cH A D29-Dec-20214.4 KiB16998

eri_enb_log.hH A D29-Dec-2021352 175

eyesdn.cH A D29-Dec-202113.4 KiB517360

eyesdn.hH A D29-Dec-2021584 3218

file_access.cH A D29-Dec-202185.1 KiB2,9391,726

file_wrappers.cH A D29-Dec-202166 KiB2,2361,451

file_wrappers.hH A D29-Dec-20211.7 KiB4935

hcidump.cH A D29-Dec-20214.1 KiB16295

hcidump.hH A D29-Dec-2021329 197

i4b_trace.hH A D29-Dec-20212.3 KiB6743

i4btrace.cH A D29-Dec-20218.4 KiB338184

i4btrace.hH A D29-Dec-2021353 207

ipfix.cH A D29-Dec-202112.2 KiB366195

ipfix.hH A D29-Dec-2021339 197

iptrace.cH A D29-Dec-202127.7 KiB911503

iptrace.hH A D29-Dec-2021319 196

iseries.cH A D29-Dec-202137.9 KiB1,110639

iseries.hH A D29-Dec-2021322 186

json.cH A D29-Dec-20212.7 KiB10957

json.hH A D29-Dec-2021538 326

k12.cH A D29-Dec-202149.8 KiB1,437866

k12.hH A D29-Dec-2021379 207

k12text.lH A D29-Dec-202115.9 KiB604393

lanalyzer.cH A D29-Dec-202136.8 KiB1,004617

lanalyzer.hH A D29-Dec-2021324 186

libpcap.cH A D29-Dec-202143.5 KiB1,457754

libpcap.hH A D29-Dec-20213.6 KiB10250

log3gpp.cH A D29-Dec-202130.5 KiB944566

log3gpp.hH A D29-Dec-2021322 175

logcat.cH A D29-Dec-202111.9 KiB405256

logcat.hH A D29-Dec-20211.8 KiB6528

logcat_text.cH A D29-Dec-202127.3 KiB765586

logcat_text.hH A D29-Dec-20211.1 KiB4114

merge.cH A D29-Dec-202142.4 KiB1,185744

merge.hH A D29-Dec-20218.6 KiB21183

mime_file.cH A D29-Dec-20216.9 KiB227126

mime_file.hH A D29-Dec-2021317 186

mp2t.cH A D29-Dec-202112.3 KiB436261

mp2t.hH A D29-Dec-2021414 206

mp4.cH A D29-Dec-20212.1 KiB9446

mp4.hH A D29-Dec-2021293 175

mpeg.cH A D29-Dec-20217.1 KiB308220

mpeg.hH A D29-Dec-2021378 206

mplog.cH A D29-Dec-20218.8 KiB295152

mplog.hH A D29-Dec-2021466 226

netmon.cH A D29-Dec-202159.9 KiB2,0211,200

netmon.hH A D29-Dec-2021312 186

netscaler.cH A D29-Dec-202196.4 KiB2,5111,875

netscaler.hH A D29-Dec-20215.1 KiB11378

netscreen.cH A D29-Dec-202114.5 KiB491278

netscreen.hH A D29-Dec-20211 KiB4017

nettl.cH A D29-Dec-202129.6 KiB838545

nettl.hH A D29-Dec-20213.7 KiB12292

nettrace_3gpp_32_423.cH A D29-Dec-202127.4 KiB864632

nettrace_3gpp_32_423.hH A D29-Dec-2021358 186

netxray.cH A D29-Dec-202171.3 KiB2,2021,071

netxray.hH A D29-Dec-2021316 186

ngsniffer.cH A D29-Dec-202188.3 KiB2,9371,661

ngsniffer.hH A D29-Dec-2021324 186

observer.cH A D29-Dec-202135.3 KiB966610

observer.hH A D29-Dec-202110.7 KiB256139

packetlogger.cH A D29-Dec-202110.9 KiB418238

packetlogger.hH A D29-Dec-2021396 206

pcap-common.cH A D29-Dec-202174.8 KiB2,5611,431

pcap-common.hH A D29-Dec-20211 KiB3616

pcap-encap.hH A D29-Dec-2021708 3214

pcapng.cH A D29-Dec-2021224.2 KiB6,3034,124

pcapng.hH A D29-Dec-20212.2 KiB7841

pcapng_module.hH A D29-Dec-20218.4 KiB189105

peekclassic.cH A D29-Dec-202123.3 KiB748430

peekclassic.hH A D29-Dec-2021369 207

peektagged.cH A D29-Dec-202133.6 KiB970614

peektagged.hH A D29-Dec-2021343 176

pppdump.cH A D29-Dec-202121.2 KiB839432

pppdump.hH A D29-Dec-2021330 197

radcom.cH A D29-Dec-202111.2 KiB413267

radcom.hH A D29-Dec-2021345 207

required_file_handlers.hH A D29-Dec-2021843 3414

rfc7468.cH A D29-Dec-20213.6 KiB14171

rfc7468.hH A D29-Dec-2021471 286

ruby_marshal.cH A D29-Dec-20213 KiB12476

ruby_marshal.hH A D29-Dec-2021669 368

secrets-types.hH A D29-Dec-2021689 237

snoop.cH A D29-Dec-202132.2 KiB1,015578

snoop.hH A D29-Dec-2021342 197

socketcan.hH A D29-Dec-20211.3 KiB3922

stanag4607.cH A D29-Dec-20217.2 KiB249153

stanag4607.hH A D29-Dec-2021316 197

systemd_journal.cH A D29-Dec-20219.3 KiB277173

systemd_journal.hH A D29-Dec-2021406 207

tnef.cH A D29-Dec-20212.1 KiB8639

tnef.hH A D29-Dec-2021359 218

toshiba.cH A D29-Dec-202114 KiB470255

toshiba.hH A D29-Dec-2021350 197

visual.cH A D29-Dec-202131 KiB902546

visual.hH A D29-Dec-2021514 247

vms.cH A D29-Dec-202118.5 KiB569310

vms.hH A D29-Dec-2021346 207

vwr.cH A D29-Dec-2021141.7 KiB3,4452,089

vwr.hH A D29-Dec-2021302 185

wtap-int.hH A D29-Dec-202113.8 KiB420230

wtap.cH A D29-Dec-202145.6 KiB1,8831,022

wtap.hH A D29-Dec-202185.7 KiB2,3611,239

wtap_modules.hH A D29-Dec-2021967 5016

wtap_opttypes.cH A D29-Dec-202161.2 KiB1,9671,548

wtap_opttypes.hH A D29-Dec-202143.3 KiB1,102412

README

1NOTE: this documents the original intent behind libwiretap.  Currently,
2it is being developed solely as a library for reading capture files,
3rather than packet capture.  The list of file formats is also
4out-of-date.
5
6Wiretap is a library that is being developed as a future replacement for
7libpcap, the current standard Unix library for packet capturing. Libpcap
8is great in that it is very platform independent and has a wonderful
9BPF optimizing engine. But it has some shortcomings as well. These
10shortcomings came to a head during the development of Wireshark
11(https://www.wireshark.org/), a packet analyzer. As such, I began developing
12wiretap so that:
13
141. The library can easily be amended with new packet filtering objects.
15Libpcap is very TCP/IP-oriented. I want to filter on IPX objects, SNA objects,
16etc. I also want any decent programmer to be able to add new filters to the
17library.
18
192. The library can read file formats from many packet-capturing utilities.
20Libpcap only reads Libpcap files.
21
223. The library can capture on more than one network interface at a time, and
23save this trace in one file.
24
254. Network names can be resolved immediately after a trace and saved in the
26trace file. That way, I can ship a trace of my firewall-protected network to a
27colleague, and he'll see the proper hostnames for the IP addresses in the
28packet capture, even though he doesn't have access to the DNS server behind my
29LAN's firewall.
30
315. I want to look into the possibility of compressing packet data when saved
32to a file, like Sniffer.
33
346. The packet-filter can be optimized for the host OS. Not all OSes have BPF;
35SunOS has NIT and Solaris has DLPI, which both use the CMU/Stanford
36packet-filter pseudomachine. RMON has another type of packet-filter syntax
37which we could support.
38
39Wiretap is very good at reading many file formats, as per #2
40above. Wiretap has no filter capability at present; it currently doesn't
41support packet capture, so it wouldn't be useful there, and filtering
42when reading a capture file is done by Wireshark, using a more powerful
43filtering mechanism than that provided by BPF.
44
45
46File Formats
47============
48
49Libpcap
50-------
51The "libpcap" file format was determined by reading the "libpcap" code;
52wiretap reads the "libpcap" file format with its own code, rather than
53using the "libpcap" library's code to read it.
54
55Sniffer (compressed and uncompressed)
56-------
57The uncompressed Sniffer format is documented in the Sniffer manual.
58Unfortunately, Sniffer manuals tend to document only the format for
59the Sniffer model they document. Token-Ring and ethernet seems to work
60well, though.  If you have an ATM Sniffer file, both Guy and Gilbert
61would be *very* interested in receiving a sample. (see 'AUTHORS' file
62for our e-mail addresses).
63
64LANalyzer
65---------
66The LANalyzer format is available from http://www.novell.com. Search
67their knowledge base for "Trace File Format".
68
69Network Monitor
70---------------
71Microsoft's Network Monitor file format is supported, at least under
72Ethernet and token-ring. If you have capture files of other datalink
73types, please send them to Guy.
74
75"snoop"
76-------
77The Solaris 2.x "snoop" program's format is documented in RFC 1761.
78
79"iptrace"
80---------
81This is the capture program that comes with AIX 3.x and 4.x.  AIX 3 uses
82the iptrace 1.0 file format, while AIX4 uses iptrace 2.0.  iptrace has
83an undocumented, yet very simple, file format.  The interesting thing
84about iptrace is that it will record packets coming in from all network
85interfaces; a single iptrace file can contain multiple datalink types.
86
87Sniffer Basic (NetXRay)/Windows Sniffer Pro
88-------------------------------------------
89Network Associates' Sniffer Basic (formerly NetXRay from Cinco Networks)
90file format is now supported, at least for Ethernet and token-ring.
91Network Associates' Windows Sniffer Pro appears to use a variant of that
92format; it's supported to the same extent.
93
94RADCOM WAN/LAN Analyzers
95------------------------
96Olivier Abad has added code to read Ethernet and LAPB captures from
97RADCOM WAN/LAN Analyzers (see https://web.archive.org/web/20031231213434/http://www.radcom-inc.com/).
98
99Lucent/Ascend access products
100-----------------------------
101Gerald
102
103HP-UX nettl
104-----------
105nettl is used on HP-UX to trace various streams based subsystems.  Wiretap
106can read nettl files containing IP frames (NS_LS_IP subsystem) and LAPB
107frames (SX25L2 subsystem). It has been tested with files generated on
108HP-UX 9.04 and 10.20.
109Use the following commands to generate a trace :
110# IP capture. 0x30000000 means PDU in and PDU out :
111nettl -tn 0x30000000 -e NS_LS_IP -f tracefile
112# X25 capture. You must specify an interface :
113nettl -tn 0x30000000 -e SX25l2 -d /dev/x25_0 -f tracefile
114# stop capture. subsystem is NS_LS_IP or SX25L2 :
115nettl -tf -e subsystem
116
117One may be able to specify "-tn pduin pduout" rather than
118"-tn 0x30000000"; the nettl man page for HP-UX 10.30 implies that it
119should work.
120
121There is also basic support for nettl files containing NS_LS_DRIVER,
122NS_LS_TCP, NS_LS_UDP, NS_LS_LOOPBACK, unknown type 0xb9, and NS_LS_ICMP.
123However, NS_LS_ICMP will not be decoded since WTAP lacks a raw ICMP
124encapsulation type.
125
126
127Toshiba ISDN Router
128-------------------
129An under-documented command that the router supports in a telnet session
130is "snoop" (not related to the Solaris "snoop" command). If you give
131it the "dump" option (either by letting "snoop" query you for its next
132argument, or typing "snoop dump" on the command line), you'll get a hex
133dump of all packets across the router (except of your own telnet session
134-- good thinking Toshiba!). You can select a certain channel to sniff
135(LAN, B1, B2, D), but the default is all channels.  You save this hex
136dump to disk with 'script' or by 'telnet | tee'. Wiretap will read the
137ASCII hex dump and convert it to binary data.
138
139ISDN4BSD "i4btrace" utility
140---------------------------
141Bert Driehuis
142
143Cisco Secure Intrusion Detection System iplogging facility
144-----------------------------------------------------------
145Mike Hall
146
147pppd logs (pppdump-format files)
148--------------------------------
149Gilbert
150
151VMS TCPTRACE
152------------
153Compaq VMS's TCPIPTRACE format is supported.  This is the capture program
154that comes with TCP/IP or UCX as supplied by Compaq or Digital Equipment
155Corporation.
156
157Under UCX 4.x, it is invoked as TCPIPTRACE.  Under TCPIP 5.x, it is invoked
158as TCPTRACE.
159
160TCPTRACE produces an ascii text based format, that has changed slightly over
161time.
162
163DBS Etherwatch (text format)
164----------------------------
165Text output from DBS Etherwatch is supported.  DBS Etherwatch is available
166from: https://web.archive.org/web/20070612033348/http://www.users.bigpond.com/dbsneddon/software.htm.
167
168Catapult DCT2000 (.out files)
169-----------------------------
170DCT2000 test systems produce ascii text-based .out files for ports
171that have logging enabled. When being read, the data part of the message is
172prefixed with a short header that provides some context (context+port,
173direction, original timestamp, etc).
174
175You can choose to suppress the reading of non-standard protocols
176(i.e. messages between layers rather than the well-known link-level protocols
177usually found on board ports).
178
179
180Gilbert Ramirez <gram@alumni.rice.edu>
181Guy Harris <guy@alum.mit.edu>
182
183STANAG 4607
184-----------
185Initial support for the STANAG 4607 protocol.  Documentation at:
186https://web.archive.org/web/20130223054955/http://www.nato.int/structur/AC/224/standard/4607/4607.htm
187

README.airmagnet

1AMC: Wireless Analyzer Captured Data (AirMagnet)
2------------------------------------------------
3This is just a braindump from looking at some Airmagnet capture files,
4in one case having a look at a decoded display in Airmagnet itself.
5Lots of things are still unknown.
6This is NOT the intention to write a file importer in the foreseeable
7future.
8
9Exact timestamp decoding still unknown:
10From a different decoded example file:
1106 51 49 1b     Timestamp  (105990427)  =  03:30:27.497544
1206 51 4a cd     Timestamp  (105990861)  =  03:30:27.497978  (+434)
1306 51 4b ce     Timestamp  (105991118)  =  03:30:27.498235  (+257)
14
15Timestamps this file:
16Frame1: 15a5 2fb4	363147188	-
17Frame2: 15a5 3a8e	363149966	+ 1778
18Frame3: 15a5 3c50	363150416	+  550
19Frame4: 15a5 487d	363153533
20Frame5: 15a5 49d9	363153881
21Frame6: 15a5 4bcf	363154383
22Frame7: 15a5 53da	363156442
23Frame8: 15a5 59e4	363157988
24Frame9: 15cc 9da8	365731240
25FrameA: 15db dd60	366730592
26FrameB: 15dc 04f6	366740726
27FrameC: 15df 5d29	366959913
28
29Unknown stuff:
30Header: 0000 0000 0002 | 3b93 d886
31Frame1: da9d | 0000 0000 0002
32Frame2: bf9c | 0000 0000 0002
33Frame3: d59c | 0000 0000 0002
34Frame4: c09c | 0000 0000 0002
35Frame5: c09c | 0000 0000 0002
36Frame6: d69c | 0000 0000 0002
37Frame7: d79c | 0000 0000 0002
38Frame8: c09c | 0000 0000 0002
39Frame9: d79c | 0000 0000 0002
40FrameA: d89c | 0000 0000 0002
41FrameB: d69d | 0000 0000 0002
42FrameC: d79c | 0000 0000 0002
43
44Headerstructure:
45 6 Bytes: 'N2GINC'
4644 Bytes: unknown (0x0)
47 6 Bytes: 'N2GINC'
48 2 Bytes: unknown (0x0)
49 2 Bytes: #Frames (BE)
50 2 Bytes: unknown (0x0)
51 2 Bytes: unknown (0x0002)
52 4 Bytes: Timestamp
53 4 Bytes: unknown (Timestamp date part ?)
5428 Bytes: unknown (0x0)
55==================
56Total: 100 Bytes
57
58Recordstructure:
59 2 Bytes: unknown
60 2 Bytes: Bytes "on wire" (BE)
61 2 Bytes: LL Bytes in capturefile (BE)
62 4 Bytes: unknown (0x0) (02 00 00 00 = Frame displayed in RED)
63 2 Bytes: unknown (0x0002)
64 4 Bytes: Timestamp
65 1 Byte:  DataRate ((AND 7f) / 2 in Mbit/s)
66 1 Byte:  Channel (1-13: Chan 1-13, 15: Chan 36, 16: Chan 40, ..., 19: Chan 52, ...)
67 1 Byte:  SignalStrength (%)
68 1 Byte:  NoiseLevel (%)
69LL Bytes: Capturedata
70 6 Bytes: unknown
71 4 Bytes: 0x33333333
72(1 Byte:  0x33) in case LL is an odd number
73
74Filelength: 0x57e Bytes
7512 Frames
76============== Header ===================
770000000: 4e32 4749 4e43 0000 0000 0000 0000 0000
780000010: 0000 0000 0000 0000 0000 0000 0000 0000
790000020: 0000 0000 0000 0000 0000 0000 0000 0000
800000030: 0000 4e32 4749 4e43 0000 000c 0000 0002
810000040: 1545 5198 3b93 d886 0000 0000 0000 0000
820000050: 0000 0000 0000 0000 0000 0000 0000 0000
830000060: 0000 0000
84============== Frame 1 ==================
85Length: 0x36
86-------- ???
870000064: da9d
880000066: 0026 0026
89000006a: 0000 0000 0002
900000070: 15a5 2fb4		Timestamp
910000074: 02			DataRate
920000075: 06			Channel
930000076: 64			SignalStrength (%)
940000077: 01			NoiseLevel (%)
95-------- ieee 802.11
960000078: b000			Type/Subtype/Frame Control
97000007a: 3a01			Duration
98000007c: 0040 9647 71a3		Destaddr
990000082: 0040 9631 d395		Sourceaddr
1000000088: 0040 9647 71a3		BSS Id
101000008e: b000			Fragment nr/Seq nr
102-------- ???
1030000090: 0000 0100 0000 3333 3333
104============== Frame 2===================
105Length: 0x36
106-------- ???
107000009a: bf9c 0026 0026
10800000a0: 0000 0000 0002 15a5 3a8e 1606 3c00
109-------- ieee 802.11
11000000ae: b000			Type/Subtype/Frame Control
11100000b0: 7500
11200000b2: 0040 9631 d395
11300000b8: 0040 9647 71a3
11400000be: 0040 9647 71a3
11500000c4: 806d
116-------- ???
11700000c6: 0000 0200 0000 3333 3333
118============== Frame 3 ==================
119Length: 0x62
120-------- ???
12100000d0: d59c 0051 0051
12200000d6: 0000 0000 0002 15a5 3c50 0206 6400
123-------- ieee 802.11
12400000e4: 0000
12500000e6: 3a01
12600000e8: 0040 9647 71a3
12700000ee: 0040 9631 d395
12800000f4: 0040 9647 71a3
12900000fa: c000
130-------- ???
13100000fc: 2100 c800
1320000100: 0005 616c 616d 6f01 0402 040b 1685 1e00
1330000110: 016d 0d1f 00ff 0318 0049 6e73 7472 7563
1340000120: 746f 7200 0000 00
135-------- ???
1360000127: 00 0000 0000 2133 3333 3333
137================= Frame 4 ===============
138Length: 0x68
139-------- ???
1400000132: c09c 0058 0058
1410000138: 0000 0000 0002 15a5 487d 1606 3e00
142-------- ieee 802.11
143000014a: 1000
144000014c: 7500
145000014e: 0040 9631 d395
1460000154: 0040 9647 71a3
147000015a: 0040 9647 71a3
148000015c: 906d
149-------- ???
150000015e: 2100
1510000160: 0000 1d00 0104 8284 8b96 851c 0000 4c0d
1520000170: 0000 0000 0100 416c 616d 6f20 436c 6173
1530000180: 7372 6f6f 6d20 0002 880c 80f3 0300 8137
154-------- ???
1550000190: 0300 0000 0000 3333 3333
156=================== Frame 5 =============
157-------- ???
158000019a: c09c 005a 005a
15900001a0: 0000 0000 0002 15a5 49d9 1606 3e00
160-------- ieee 802.11
16100001ae: 0802
16200001b0: 7500 0040 9631 d395 0040 9647 71a3 0040
16300001c0: 9647 71a3 a06d aaaa 0300 4096 0000 0032
16400001d0: 4001 0040 9631 d395 0040 9647 71a3 0100
16500001e0: 0000 0000 0000 0000 0000 0000 0000 0000
16600001f0: 0000 0000 0000 0000 0000
167-------- ???
16800001fa: 0000 0000 0000 3333 3333
169=================== Frame 6 =============
170-------- ???
1710000204: d69c 0072 0072
172000020a: 0000 0000 0002 15a5 4bcf 0206 6400
173-------- ieee 802.11
1740000218: 0801 3a01 0040 9647
1750000220: 71a3 0040 9631 d395 0040 9647 71a3 d000
1760000230: aaaa 0300 4096 0000 004a 4081 0040 9647
1770000240: 71a3 0040 9631 d395 016d 0004 1900 0040
1780000250: 9647 71a3 0000 0000 0000 0000 0000 0000
1790000260: 0000 001e 496e 7374 7275 6374 6f72 0000
1800000270: 0000 0000 0000 0000 0000 0000
181-------- ???
182000027c: 0000 0000 0000 3333 3333
183=================== Frame 7 =============
184-------- ???
1850000286: d79c 0039 0039
186000028c: 0000 0000 0002 15a5 53da 0206 6400
187-------- ieee 802.11
188000029a: 0801 3a01 0040
18900002a0: 9647 71a3 0040 9631 d395 0040 9647 71a3
19000002b0: e000 aaaa 0300 4096 0000 0011 4001 0040
19100002c0: 9647 71a3 00
19200002c5: 40 9631 d395 0133 3333 3333
193====================== Frame 8 ==========
194-------- ???
19500002d0: c09c 0072 0072
19600002d6: 0000 0000 0002 15a5 59e4 1606 3e00
197-------- ieee 802.11
19800002e4: 0802 7500 0040 9631 d395 0040
19900002f0: 9647 71a3 0040 9647 71a3 b06d aaaa 0300
2000000300: 4096 0000 004a 4081 0040 9631 d395 0040
2010000310: 9647 71a3 014c 030b 1500 0000 0000 0000
2020000320: 0000 0000 0000 0002 0000 0a00 0001 0000
2030000330: 416c 616d 6f20 436c 6173 7372 6f6f 6d00
2040000340: 0000 0000 0000 0000
2050000348: 0000 0000 2200 3333 3333
206=================== Frame 9 =============
207-------- ???
2080000352: d79c 0170 00a0
2090000358: 0020 0000 0002 15cc 9da8 1606 6400
210-------- ieee 802.11
2110000366: 0801 7500 0040 9647 71a3
2120000370: 0040 9631 d395 ffff ffff ffff f000 aaaa
2130000380: 0300 0000 0800 4500 0148 42a1 0000 8011
2140000390: f704 0000 0000 ffff ffff 0044 0043 0134
21500003a0: d991 0101 0600 7728 b62a 0000 0000 0000
21600003b0: 0000 0000 0000 0000 0000 0000 0000 0040
21700003c0: 9631 d395 0000 0000 0000 0000 0000 0000
21800003d0: 0000 0000 0000 0000 0000 0000 0000 0000
21900003e0: 0000 0000 0000 0000 0000 0000 0000 0000
22000003f0: 0000 0000 0000 0000
221-------- ???
22200003f8: 0000 0000 0000 3333 3333
223=================== Frame A =============
224-------- ???
2250000402: d89c 0182 00a0
2260000408: 0020 0000 0002 15db dd60 1606 6400
227-------- ieee 802.11
2280000416: 0801 7500
229000041a: 0040 9647 71a3
2300000420: 0040 9631 d395
2310000426: ffff ffff ffff
232000042c: 0001
233-------- LLC
234000042e: aaaa 0300 0000 0800
235-------- IP
2360000436: 4500 015a 42a3 0000 8011 f6f0 0000 0000 ffff ffff
237-------- UDP
238000044a: 0044 0043 0146 57bc
239-------- DHCP
2400000452: 0101 0600 7728 b62a 0000 0000 0000
2410000460: 0000 0000 0000 0000 0000 0000 0000 0040
2420000470: 9631 d395 0000 0000 0000 0000 0000 0000
2430000480: 0000 0000 0000 0000 0000 0000 0000 0000
2440000490: 0000 0000 0000 0000 0000 0000 0000 0000
24500004a0: 0000 0000 0000 0000
246-------- ???
24700004a8: 0000 0000 0000 3333 3333
248=================== Frame B =============
249-------- ???
25000004b2: d69d 0056 0056
25100004b8: 0000 0000 0002 15dc 04f6 1606 6401
252-------- ieee 802.11
25300004c6: 0801
25400004c8: 7500
25500004ca: 0040 9647 71a3
25600004d0: 0040 9631 d395
25700004d6: ffff ffff ffff
2580000edc: 1001
259-------- LLC
26000004de: aaaa 0300 0000 0806
261-------- ARP
26200004e6: 0001 0800 0604 0001
26300004ee: 0040 9631 d395 0a00 0065
26400004f8: 0000 0000 0000 0a00 0065
265-------- ???
2660000502: 7b00 e097 7b00 e097 7b00 e097
267000050e: 7b00 e097 7b00 3333 3333
268=================== Frame C =============
269-------- ???
2700000518: d79c 0056 0056
271000051e: 0000 0000 0002 15df 5d29 1606 6400
272-------- ieee 802.11
273000052c: 0801
274000052e: 7500
2750000530: 0040 9647 71a3
2760000536: 0040 9631 d395
277000053a: ffff ffff ffff
2780000540: 2001
279-------- LLC
2800000542: aaaa 0300 0000 0806
281-------- ARP
282000054a: 0001			Hw
283000054c: 0800			Protocol
2840000550: 06			Hw-Size
2850000551: 04			Protocolsize
2860000552: 0001			Opcode
2870000554: 0040 9631 d395		Sender MAC
288000055a: 0a00 0065		Sender IP
289000055e: 0000 0000 0000		Destination MAC
2900000564: 0a00 0065		Destination IP
291-------- ???
2920000568: 0000 8602 0000 ffff ffff 0cc3
2930000574: 4b82 58a1 1d82 3333 3333
294=========================================
295000057e: EOF
296

README.developer

1This is a very quick and very dirty guide to adding support for new
2capture file formats.  If you see any errors or have any improvements,
3submit patches - free software is a community effort....
4
5To add the ability to read a new capture file format, you have to:
6
7	add a new WTAP_FILE_ value for the file type to
8	"wiretap/wtap.h";
9
10	write an "open" routine that can read the beginning of the
11	capture file and figure out if it's in that format or not,
12	either by looking at a magic number at the beginning or by using
13	some form of heuristic to determine if it's a file of that type
14	(if the file format has a magic number, that's what should be
15	used);
16
17	write a "read" routine that can read a packet from the file and
18	supply the packet length, captured data length, time stamp, and
19	packet pseudo-header (if any) and data, and have the "open"
20	routine set the "subtype_read" member of the "wtap" structure
21	supplied to it to point to that routine;
22
23	write a "seek and read" routine that can seek to a specified
24	location in the file for a packet and supply the packet
25	pseudo-header (if any) and data, and have the "open" routine set
26	the "subtype_seek_read" member of the "wtap" structure to point
27	to that routine;
28
29	write a "close" routine, if necessary (if, for example, the
30	"open" routine allocates any memory), and set the
31	"subtype_close" member of the "wtap" structure to point to it,
32	otherwise leave it set to NULL;
33
34	add a pointer to the "open" routine to the "open_routines_base[]"
35	table in "wiretap/file_access.c" - if it uses a magic number, put
36	it in the first section of that list, and, if it uses a heuristic,
37	put it in the second section, preferably putting the heuristic
38	routines for binary files before the heuristic routines for text
39	files;
40
41	add an entry for that file type in the "dump_open_table_base[]" in
42	"wiretap/file_access.c", giving a descriptive name, a short name
43	that's convenient to type on a command line (no blanks or capital
44	letters, please), common file extensions to open and save, a flag
45	if it can be compressed with gzip (currently unused) and pointers
46	to the "can_write_encap" and "dump_open" routines if writing that
47	file is supported (see below), otherwise just null pointers.
48
49Wiretap applications typically first perform sequential reads through
50the capture file and may later do "seek and read" for individual frames.
51The "read" routine should set the variable data_offset to the byte
52offset within the capture file from which the "seek and read" routine
53will read.  If the capture records consist of:
54
55	capture record header
56	pseudo-header (e.g., for ATM)
57	frame data
58
59then data_offset should point to the pseudo-header.  The first
60sequential read pass will process and store the capture record header
61data, but it will not store the pseudo-header.  Note that the
62seek_and_read routine should work with the "random_fh" file handle
63of the passed in wtap struct, instead of the "fh" file handle used
64in the normal read routine.
65
66To add the ability to write a new capture file format, you have to:
67
68	add a "can_write_encap" routine that returns an indication of
69	whether a given packet encapsulation format is supported by the
70	new capture file format;
71
72	add a "dump_open" routine that starts writing a file (writing
73	headers, allocating data structures, etc.);
74
75	add a "dump" routine to write a packet to a file, and have the
76	"dump_open" routine set the "subtype_write" member of the
77	"wtap_dumper" structure passed to it to point to it;
78
79	add a "dump_close" routine, if necessary (if, for example, the
80	"dump_open" routine allocates any memory, or if some of the file
81	header can be written only after all the packets have been
82	written), and have the "dump_open" routine set the
83	"subtype_close" member of the "wtap_dumper" structure to point
84	to it;
85
86	put pointers to the "can_write_encap" and "dump_open" routines
87	in the "dump_open_table_base[]" entry for that file type.
88
89In the wiretap directory, add your source file to CMakelists.txt.
90