Commit Graph

484 Commits

Author SHA1 Message Date
Guy Harris 9745ed6988 From Markus Steinmann: support for writing LANalyzer files.
svn path=/trunk/; revision=5771
2002-06-27 22:46:48 +00:00
Guy Harris 73ef5a2753 WinPcap 2.3's <pcap.h> includes <packet32.h>, and WinPcap 2.3's
<packet32.h> includes <winsock2.h>; we include that rather than
<winsock.h>, to avoid errors due to conflicting declarations in
<winsock.h> and <winsock2.h>.

svn path=/trunk/; revision=5742
2002-06-23 10:32:36 +00:00
Guy Harris 5e42823dc0 Move the entries to map between platform-dependent libpcap link-layer
types and Wiretap encapsulations after the entries to map between
platform-independent libpcap link-layer types and those Wiretap
encapsulations, so that, when writing a libpcap-format file, we choose
the platform-independent link-layer types.

svn path=/trunk/; revision=5668
2002-06-13 11:03:23 +00:00
Guy Harris 63ae5638e1 Add /I$(PCAP_DIR)/include to the list of directories in which to look
for header files, so that we find "pcap.h".

svn path=/trunk/; revision=5667
2002-06-13 10:39:29 +00:00
Guy Harris 5c93900204 Export the new wtap_process_pcap_packet routine.
svn path=/trunk/; revision=5662
2002-06-13 06:50:41 +00:00
Gilbert Ramirez 87e011637c Add #define HAVE_PCAP_H 1 to config.h.win32.
In libpcap.c, move wtap_pcap_encap_to_wtap_encap before libpcap_open
so that if HAVE_PCAP_H is not true, the file will still compile.

svn path=/trunk/; revision=5660
2002-06-10 15:45:30 +00:00
Guy Harris c2b438ddfa Add a Wiretap routine to process packets captured via libpcap, possibly
extracting a pseudo-header, for the use of SunATM captures.

Add support for SunATM capture.

svn path=/trunk/; revision=5652
2002-06-07 21:11:24 +00:00
Guy Harris 1b72ef68e6 Add a new error for attempts to open a pipe or FIFO for random access.
Have "wtap_open_offline()", if asked to open a FIFO, return that error
if it was asked to open the file for random access.

svn path=/trunk/; revision=5643
2002-06-07 07:47:58 +00:00
Guy Harris 2aad75bb82 Graeme Hewson noted that zlib has a bug wherein "gzseek()" doesn't set
the internal z_err value for the stream if an "fseek()" call it makes
fails, so that if "gzerror()" is subsequently called, it returns Z_OK
rather than an error.

To work around this, we pass "file_seek()" an "int *err", and have the
with-zlib version of "file_seek()" check, if "gzseek()" fails, whether
the return value of "file_error()" is 0 and, if so, have it return
"errno" instead.

svn path=/trunk/; revision=5642
2002-06-07 07:27:35 +00:00
Guy Harris 199aaacbb7 BSD/OS Frame Relay packets just begin with the Frame Relay header, so
they are, in fact, WTAP_ENCAP_FRELAY.  Support 11 as WTAP_ENCAP_FRELAY
if DLT_FR is defined and is equal to 11, and support 107 as
WTAP_ENCAP_FRELAY unconditionally.

Get rid of a comment indicating that 105 isn't used - it's been
supported as DLT_IEEE802_11 for a while.

svn path=/trunk/; revision=5640
2002-06-07 04:48:36 +00:00
Guy Harris 7acc6a8e1a Use "phtons()", not "htons()", just as we use "pntohs()" rather than
"ntohs()".

svn path=/trunk/; revision=5636
2002-06-06 18:58:12 +00:00
Guy Harris bb778e86a7 Support the Solaris+SunATM libpcap capture file type (not yet checked
into libpcap or tcpdump, but the LINKTYPE_ number is reserved for that
purpose).

svn path=/trunk/; revision=5633
2002-06-06 09:18:28 +00:00
Guy Harris 290fc65130 The "sequential_close" routine for a capture file type, if it has one,
is always called before the "close" routine is called, so the "close"
routine doesn't need to free anything that's freed by the
"sequential_close" routine.

svn path=/trunk/; revision=5619
2002-06-04 21:56:45 +00:00
Guy Harris 15a5bdca30 The frame table isn't needed once we've made a sequential pass through
the packets, as the offsets of the frames have been saved by our caller
(because they need them to pass to the random-read routine); add a
sequential_close routine for Netmon files and free up the frame table in
that routine.

svn path=/trunk/; revision=5618
2002-06-04 21:55:38 +00:00
Guy Harris 7d72c3c429 Check for EtherPeek files before checking for pppdump files; the
EtherPeek heuristic is a bit stronger, and there's at least one
EtherPeek capture that gets misidentified as a pppdump capture if you
check for pppdump captures first.

svn path=/trunk/; revision=5585
2002-05-29 02:19:49 +00:00
Guy Harris 2e936ea423 Fail somewhat more gracefully when confronted with a bad file.
svn path=/trunk/; revision=5584
2002-05-29 02:11:57 +00:00
Guy Harris 586e97727f Add support for old NetXRay format.
svn path=/trunk/; revision=5576
2002-05-28 02:39:15 +00:00
Guy Harris 31fe776a02 Get rid of an unused variable.
svn path=/trunk/; revision=5571
2002-05-26 21:32:39 +00:00
Guy Harris 85c7401856 Set the LANE subtype in the "seek and read" routine.
svn path=/trunk/; revision=5529
2002-05-23 08:17:31 +00:00
Guy Harris 93be885871 The old URL for the LANalyzer file format is no longer valid; replace it
with one that's currently valid.

svn path=/trunk/; revision=5527
2002-05-23 06:34:10 +00:00
Guy Harris 7da9451781 Capture file formats that can be written need a "short name" to let you
specify them on the command line of Tethereal/editcap/etc. (and to keep
those programs from dropping core when enumerating the names); now that
we can write Windows Sniffer 2.00x-format files, give them a short name.

svn path=/trunk/; revision=5524
2002-05-22 22:57:54 +00:00
Ronnie Sahlberg d1fa53c605 Updated NS_LS_DRIVER to work with both pre-HPUX11 and HPUX11.
Added support for NS_LS_TCP, NS_LS_UDP, NS_LS_LOOPBACK, NS_LS_ICMP and
unnamed subsystem 0xb9 (which contains ethernet headers in my captures frames).
However, NS_LS_ICMP will not be dissected since we dont have a
RAW_ICMP wiretap encapsulation type.
Updated decoding of usec timestamp for HPUX11 since HPUX11 has 0.1us
resolution for the scalar in this field.

YMMV but all these ones works for me from nettl traces from HPUX11.

svn path=/trunk/; revision=5523
2002-05-22 10:53:17 +00:00
Ronnie Sahlberg bd351e3709 Added support for HPUX11 NETTL captures for the NS_LS_DRIVER type.
It works for such captures containing 100baseT captures. It may explode on
other link types.

svn path=/trunk/; revision=5496
2002-05-17 09:53:20 +00:00
Gilbert Ramirez 41cc7f0707 Merge the work in Novell_NCP_branch into the mainline code.
A little work still needs to be done on the new NCP dissector -- make
some of the COL_INFO texts more useful, handle a Unicode issue, and
modify some of the cases that use "request conditions".
But the NCP dissector as it stands is very usable now.

Note: I didn't merge in the PROTO_LENGTH_UNTIL_END macro... I wanted
to think about the various possible macros and review an email conversation
I had with Guy on the subject.

svn path=/trunk/; revision=5432
2002-05-09 23:50:34 +00:00
Guy Harris 4f82062233 From Joerg Mayer:
autoconf 2.53 creates directories named autom4te.cache
        Add them to .cvsignore

svn path=/trunk/; revision=5419
2002-05-08 22:24:03 +00:00
Guy Harris d471f94388 Traffic with a traffic type of 0x06 is Signalling AAL traffic, including
non-Q.2931 SSCOP traffic; change comments to reflect that.

svn path=/trunk/; revision=5411
2002-05-07 06:25:30 +00:00
Guy Harris 82f364ab1a Fix capture-file-specific "close output" routines to check whether the
"err" argument is null and return an error code through that argument
only if it isn't, to match what "wtap_dump_close()", which calls those
routines, does.

Put the NetXRay dump routines in order by version number.

svn path=/trunk/; revision=5385
2002-05-04 10:00:18 +00:00
Guy Harris 105efda404 Move the code to guess the traffic type based on the packet contents
into Wiretap, so that if you read a frame from Wiretap you have what
traffic type information could be gleaned from the information in the
capture file, and can write the frame out to a capture file where the
file contains some or all of that information without having to
determine it outside of Wiretap.

svn path=/trunk/; revision=5314
2002-04-30 18:58:16 +00:00
Guy Harris b0f59c0ce7 Support writing Sun atmsnoop files.
Map MARS to TRAF_UNKNOWN, not TRAF_ILMI.

Don't support writing WTAP_ENCAP_NULL files.

svn path=/trunk/; revision=5304
2002-04-30 09:23:29 +00:00
Guy Harris 329b59c858 Uniformly use "sizeof (struct netmon_atm_hdr)" for the size of Network
Monitor's ATM pseudo-header.

Fix a message.

svn path=/trunk/; revision=5303
2002-04-30 09:21:41 +00:00
Guy Harris ecb2a3939e Replace the "ngsniffer_atm" with an "atm" pseudo-header, which isn't
just an image of the ATM Sniffer data.  This means that Ethereal doesn't
have to know any ATM Sniffer-specific details (that's all hidden in
Wiretap), and allows us to add to that pseudo-header fields, traffic
types, etc. unknown to ATM Sniffers.

Have Wiretap map VPI 0/VCI 5 to the signalling AAL - for some capture
files, this might not be necessary, as they may mark all signalling
traffic as such, but, on other platforms, we don't know the AAL, so we
assume AAL5 except for 0/5 traffic.  Doing it in Wiretap lets us hide
those details from Ethereal (and lets Ethereal interpret 0/5 traffic as
non-signalling traffic, in case that happens to be what it is).

We may know that traffic is LANE, but not whether it's LE Control or
emulated 802.3/802.5; handle that case.

svn path=/trunk/; revision=5302
2002-04-30 08:48:27 +00:00
Guy Harris d415468153 The first byte of the frame header in atmsnoop does, in fact, contain an
indication of the type of traffic; use it.

svn path=/trunk/; revision=5301
2002-04-30 06:04:33 +00:00
Guy Harris 81567fd039 Cast the sum of "ngsniffer->rand.nextout" and "delta" to "size_t" before
comparing with the "size_t" value "ngsniffer->rand.nbytes", rather than
just casting "ngsniffer->rand.nextout" to "unsigned" - if "unsigned" is
shorter than "long", the latter doesn't do what you want.

svn path=/trunk/; revision=5252
2002-04-25 22:05:39 +00:00
Guy Harris 5fbabf3844 Add "stamp-h1", for automake 1.6.1, as per Joerg Mayer's suggestion.
svn path=/trunk/; revision=5236
2002-04-24 07:40:37 +00:00
Guy Harris ea17f40455 Initial support for writing NetXRay 2.x (Windows Sniffer) format
captures, from Olivier Abad.

svn path=/trunk/; revision=5202
2002-04-18 21:35:57 +00:00
Guy Harris bf7e4ce909 Move the definition of the FROM_DCE bit in the "flags" field of a
"struct x25_phdr" to "wiretap/wtap.h".

Have two X.25 dissectors, one of which assumes that there's a "struct
x25_phdr" pseudo-header and one of which doesn't; the former uses the
information in that pseudo-header to determine whether the packet is
DTE->DCE or DCE->DTE, and the latter assumes it has no clue whether the
packet is DTE->DCE or DCE->TDE.  Use the former one in the LAPB
dissector, and the latter one in the XOT dissector and in the LLC
dissector table.

In the X.25-over-TCP dissector, handle multiple X.25 packets per TCP
segment, and handle X.25 packets split across TCP segments.

svn path=/trunk/; revision=5134
2002-04-09 08:15:04 +00:00
Guy Harris 1f4dcf8319 Note the AiroPeek support in the message for the file type.
svn path=/trunk/; revision=5126
2002-04-08 17:42:40 +00:00
Guy Harris 8b9f8e4f3b The length passed into "seek_read" routines is the length supplied by
the "read" routine, which means it's already had any end-of-frame
padding/FCS removed; we don't need to remove it in the "seek_read"
routine.

svn path=/trunk/; revision=5124
2002-04-08 10:01:26 +00:00
Guy Harris b2c46086c3 Use WTAP_ENCAP_IEEE_802_11_WITH_RADIO for AiroPeek files, rather than
having a special encapsulation type for AiroPeek files.

svn path=/trunk/; revision=5123
2002-04-08 09:44:42 +00:00
Guy Harris 939b3c8e0a Add an encapsulation type for "802.11 with radio information"; that type
returns radio information such as signal strength, channel, and data
rate in a pseudo-header.  Add that pseudo-header.

Use the "802.11 with radio information" encapsulation type for Wireless
Sniffer files; extract the radio information from where it appears to be
in the header.

Add dissector code for that encapsulation type.

Fix an error in the code to put radio information into the AiroPeek
tree.

Make the "wrapped" flag for NetXRay/Windows Sniffer captures a
"gboolean".

svn path=/trunk/; revision=5122
2002-04-08 09:09:49 +00:00
Guy Harris 34ab745db0 Yes, that stuff really *does* appear to be just padding. Go figure.
svn path=/trunk/; revision=5119
2002-04-08 02:11:24 +00:00
Guy Harris 06adbfc556 Replace "--enable-zlib" with "--with-zlib", and have it take an optional
"=DIR" argument to specify the directory in subdirectories of which
zlib's headers and libraries can be found.

svn path=/trunk/; revision=5115
2002-04-08 01:34:39 +00:00
Guy Harris 5bb4bf06a9 Gerald says the padding has values that don't look like FCSes; note that
in the comment.

svn path=/trunk/; revision=5108
2002-04-07 21:44:55 +00:00
Guy Harris ae54ef681c Make the end-of-packet padding a per-capture-file property.
Read in the entire packet, including the padding, and just tell our
caller about the non-padding part; that avoids doing a "file_seek()"
("fseek()"s are inefficient on some platforms, as they flush the
standard I/O buffers and do an "lseek()"), and would also let us supply
the padding to the caller if it turns out it's an FCS rather than
padding.

svn path=/trunk/; revision=5107
2002-04-07 21:29:01 +00:00
Gerald Combs f0e2b1a83c Add support for Sniffer 4.6 wireless captures.
svn path=/trunk/; revision=5106
2002-04-07 19:10:10 +00:00
Guy Harris 952a4960f1 From Marc Milgram: properly handle fragmented packets.
svn path=/trunk/; revision=5018
2002-03-25 21:15:54 +00:00
Guy Harris 7d77975a14 Sigh. Tcpdump cannot handle capture files with a snapshot length of 0,
as BPF filters return either 0 if they fail or the snapshot length if
they succeed, and a snapshot length of 0 means success is
indistinguishable from failure and the filter expression would reject
all packets.

Now that a snapshot length of 0, inside Ethereal, means "snapshot length
unknown", we have to, when opening a libpcap file for output, make the
snapshot length some non-zero value.  We make it WTAP_MAX_PACKET_SIZE,
in case some program uses the snapshot length as a buffer size.  (That
doesn't help if there are packets with more than 65535 bytes of data; if
there are, we'd need to raise WTAP_MAX_PACKET_SIZE just to make those
files readable in Ethereal in any case.)

svn path=/trunk/; revision=4905
2002-03-09 23:07:26 +00:00
Guy Harris 828df9d18f Fix a comment.
svn path=/trunk/; revision=4899
2002-03-07 21:46:06 +00:00
Guy Harris ab0302ea1b Fix a typo - IFT_ISO88025 is 9, not 8.
svn path=/trunk/; revision=4898
2002-03-07 21:31:12 +00:00
Guy Harris 0070f850df Bug fix from Marc Milgram: occasionally the VMS parser would read off
the end of string, and find some old data that looked useful, but was
bogus for the frame.

svn path=/trunk/; revision=4897
2002-03-07 21:08:33 +00:00