Commit Graph

139 Commits

Author SHA1 Message Date
Guy Harris 4aac1e2c0b Pull capture_loop.c into dumpcap.c, as dumpcap is the only program that
does capturing any more.  (We will be inserting a call to give up
privileges after the pcap_open_live(), which should fix 2273; we're
currently only giving up privileges on platforms with libcap.)

svn path=/trunk/; revision=24345
2008-02-16 02:39:58 +00:00
Guy Harris 4e115214d9 rawshark doesn't appear to need pcapio.c, either.
svn path=/trunk/; revision=24343
2008-02-16 02:20:56 +00:00
Guy Harris 7abdb2560e Remove from rawshark_SOURCES some files that rawshark doesn't appear to
need.

svn path=/trunk/; revision=24342
2008-02-16 02:19:31 +00:00
Gerald Combs 98bacb3556 Add rawshark, a utility that, when given raw pcap-formatted packets and
a list of fields, prints the field values found in each packet.

Packet data can be specified as a libpcap DLT, e.g. "EN10MB" or an upper-layer protocol, e.g. "http".

svn path=/trunk/; revision=24339
2008-02-15 23:20:32 +00:00
Sake Blok c8276a5c91 From Balint Reczey (bug 2233):
The attached patch makes the Statistics -> RTP -> Show All Streams feature of
wireshark accessible via tshark.

I found it helpful in dealing with tons of RTP captures.


svn path=/trunk/; revision=24252
2008-02-03 10:31:55 +00:00
Gerald Combs 58914b5248 If libcap is present, have dumpcap use it to drop privileges while
retaining CAP_NET_ADMIN and CAP_NET_RAW.  Update some Makefile
dependencies for dumpcap.

svn path=/trunk/; revision=23511
2007-11-20 16:53:01 +00:00
Stephen Fisher 8f9655314a Move sync_pipe_write.c to WIRESHARK_COMMON_SRC since it is now also needed
by tshark as well as Wireshark to fix compilation on Unix platforms.
This is due to the introduction of capture_sync.c (which calls
sync_pipe_errmsg_to_parent) to tshark_SOURCES in SVN revision 22969.


svn path=/trunk/; revision=22981
2007-09-26 03:31:41 +00:00
Ulf Lamping 3fd5cf55b0 remove trailing backslash
svn path=/trunk/; revision=22973
2007-09-25 22:38:39 +00:00
Ulf Lamping 879d656537 as "advertised" some days ago:
rewrite the tshark capture code almost completely, to use dumpcap instead of it's own pcap functionality.

This works on Win32 and should work on unix/linux (but I'm not sure here). Some stuff needs to be cleaned up, some more may need to be rewritten to specifically work with unix/win32. Futher work needs to be done at:

1. read filters (simply document current behaviour?)
2. event loop polling
3. privileges
4. code cleanup (e.g. in capture_loop.c)

Be prepared that tshark might not work as before / expected at least in the next days!

svn path=/trunk/; revision=22969
2007-09-25 21:55:06 +00:00
Gerald Combs 9aa17b271b Put airpcap.h back in the distribution.
svn path=/trunk/; revision=22215
2007-06-27 23:42:06 +00:00
Luis Ontanon 162382dcb1 Have editcap and capinfos compile --without-plugins
Should go in 0.99.6


svn path=/trunk/; revision=22116
2007-06-17 04:58:16 +00:00
Gerald Combs f60e81aaac Fix compilation under VS6 (hopefully without breaking compilation
anywhere else).  Instead of using getaddrinfo() and getnameinfo(),
promote inet_pton.c and inet_ntop.c to the top level and use those
routines instead.

(It's 2007, for crying out loud.  Why is this even an issue?)

svn path=/trunk/; revision=22075
2007-06-11 18:26:09 +00:00
Luis Ontanon 11f06217ce Have editcap and capinfos loading the wiretap plugins.
epan/filesystem.c
   have get_plugin_dir() calling init_plugin_dir() if necessary

epan/epan.c and epan/report_err.c
   move the report_failure family into the new report_err.c file, have epan_init() calling the initializer

epan/plugins.h and epan/proto.c
   do not have init_plugins() calling the proto_reg functions instead do it in init_proto()

gtk/main.c and tshark.c
   init_plugin_dir() has become suprefluous

capinfos.c and editcap.c
   load the wiretap plugins

Makefiles
   do what's needed to build withe the above changes.




svn path=/trunk/; revision=21935
2007-05-25 17:22:32 +00:00
Gerald Combs 55d2b928c2 From Dustin Johnson:
- Update the wireless/AirPcap GUI code to support 802.11n as well as
    some related upcoming code changes.
  - Remove airpcap.h from the repository, since it exists in the AirPcap
    devpack (and will be superseded Real Soon Now).
  - Show the individual channel flag bits in radiotap.
  
Fix the 802.11n MCS set display.

This is a partial checkin, so hopefully nothing is broken.

svn path=/trunk/; revision=21831
2007-05-18 21:06:20 +00:00
Gerald Combs 53689800e6 Move epan/crypt-md5.[ch] to epan/crypt. Remove
epan/crypt/airpdcap_md5.[ch].  Fix up whitespace.

svn path=/trunk/; revision=20277
2007-01-02 22:49:57 +00:00
Anders Broman c881dacb48 From Alejandro Vaquero:
For the Radius dissector to add statistics 
 in the "Service Response Time" menu and the tshark stats.

svn path=/trunk/; revision=19668
2006-10-24 05:21:00 +00:00
Gerald Combs 4a031132d3 Add airpcap.h to the distribution.
svn path=/trunk/; revision=19442
2006-10-06 17:39:39 +00:00
Anders Broman 12819c3b19 Finally got it to complie.
svn path=/trunk/; revision=19427
2006-10-04 16:02:59 +00:00
Gerald Combs 9e23f31e5f Add support for reading from stdin under Windows. Based on a patch sent
in last year by Gianluca Varenni.

Add partial support for reading from named pipes (currently disabled).

Move utf_8to16() and utf_16to8() to a separate module (unicode-utils.[ch])
so that we don't have to cut and paste code in dumpcap.c.

Fix up whitespace.

svn path=/trunk/; revision=19291
2006-09-22 21:14:54 +00:00
Gerald Combs f9661850d1 Add support for AirPcap, an upcoming wireless product from CACE. Support
is disabled by default, and can be enabled by setting AIRPCAP_CONFIG
in config.nmake.  The code is currently limited to Windows, but should
be adaptable to other platforms.

The official announcement won't come until next week, so you'll have to
read the source for details.  :)

svn path=/trunk/; revision=18928
2006-08-16 18:01:25 +00:00
Gerald Combs 9045703e2c Add duplicate frame detection (and removal) to editcap. (Some switches
generate duplicate packets when a mirror/SPAN port is misconfigured).

svn path=/trunk/; revision=18800
2006-07-27 17:53:29 +00:00
Ronnie Sahlberg 950bd73948 we dont need our own snprintf any more since we always use g_snprintf() instead.
svn path=/trunk/; revision=18771
2006-07-20 10:19:47 +00:00
Gerald Combs 8d6c73e567 More ethereal -> wireshark.
svn path=/trunk/; revision=18292
2006-05-31 22:34:21 +00:00
Gerald Combs eb71f7fb96 Rename the main executable to "wireshark", along with more conversions:
ethereal.com -> wireshark.org
  mailing lists and addresses
  ETHEREAL -> WIRESHARK
  Man pages
  Automake/Autoconf names


svn path=/trunk/; revision=18271
2006-05-31 19:12:15 +00:00
Gerald Combs 8958bab6de Tethereal/tethereal -> TShark/tshark.
svn path=/trunk/; revision=18268
2006-05-31 17:38:42 +00:00
Ronnie Sahlberg 89f022b12b name change
svn path=/trunk/; revision=18197
2006-05-21 05:12:17 +00:00
Guy Harris d260003026 Put the low-level sync routines into a common file so they can be shared
by dumpcap and Ethereal (so that, on UN*X, the child process can report
a detailed "can't exec dumpcap" error).

Rename most of the "sync_pipe_XXX_to_parent()" routines, as they're also
in Tethereal, which doesn't have a sync pipe.

svn path=/trunk/; revision=17789
2006-04-03 01:56:53 +00:00
Guy Harris e6886d90ce When capturing, we only support writing to libpcap files. Given that,
bypass Wiretap; that means we don't have to run the packet through
wtap_process_pcap_packet() and then undo that conversion in Wiretap if
we're just going to write it out, shortening the code path.

svn path=/trunk/; revision=17461
2006-03-04 22:33:04 +00:00
Luis Ontanon 7e0c9f759a Add the (still unfinished) tethereal side of the funnel.
svn path=/trunk/; revision=17396
2006-02-24 01:41:59 +00:00
Guy Harris 3442ed9e32 Check for getopt in the configure script, as we do for other routines
not available on all platforms.  Include getopt.c in
EXTRA_ethereal_SOURCES and include getopt.h in EXTRA_ethereal_INCLUDES,
as we do with the other files that supply routines not available on all
platforms, rather than always including them in the source for dumpcap.

svn path=/trunk/; revision=17311
2006-02-15 19:20:36 +00:00
Guy Harris c32311dcd5 Add tempfile.h to the list of headeer files. That was the problem, not
the pathname in the #include.

svn path=/trunk/; revision=17280
2006-02-13 01:30:03 +00:00
Guy Harris 4d8d477018 Move create_tempfile() to tempfile.c out of util.c. This means dumpcap
no longer needs util.c, so it no longer includes routines that use
host_ip_af(), so it no longer needs to define its own host_ip_af().

That also means dumpcap.c no longer needs to include <sys/socket.h>.

svn path=/trunk/; revision=17278
2006-02-12 21:52:18 +00:00
Ulf Lamping cf94760fa4 the point of no return ...
using dumpcap as the capture child for Ethereal.

dumpcap is a plain console application now, even for Win32 (so no WinMain, create_console and special piping stuff reguired). The undocumented command line option -Z will switch dumpcap into "child mode", using binary instead of plain text output messages to communicate with a parent Ethereal.

Ethereal's main.c no longer needs to distinguish between child mode or not, so some simplifying here.

capture_sync.c has to call dumpcap in a "hidden window" mode using CreateProcess instead of spawnvp, otherwise an uggly console window would appear. The handles created by _pipe doesn't seem to be inheritable for this function, using CreatePipe instead.

The file capture_loop.c is only needed by dumpcap, removed from Ethereal link objects.

Some debugging aid added and other minor cleanup done.

svn path=/trunk/; revision=17256
2006-02-11 23:25:11 +00:00
Ulf Lamping 79217bab2e HUGE STEP (hopefully toward the right direction):
remove a lot of redundant code from tethereal and use (move) stuff from capture_loop.c instead.

concentrate common capture related code in capture_opts.c, e.g. trying to find the right interface to capture from (command line option, preference, first usable) instead of duplicating this code over several files.

remove redundant code from dumpcap.c

this also implements command line option -D (and indexed interfaces at -i) for Ethereal and Dumpcap (as we have it in Tethereal already for a while)

svn path=/trunk/; revision=16787
2005-12-13 22:48:58 +00:00
Ulf Lamping 7e3a24418c rename pcap-....c/.h files to capture-pcap-....c/.h
this way, the capture prefix will "logically" group the files together and file browsers will also group them

we may want to move the files into a subdir capture later

svn path=/trunk/; revision=16691
2005-12-06 00:07:13 +00:00
Ulf Lamping 792584c211 no more usage of Ethereal.lib in dumpcap any longer :-)
use capture_opts_trim()
output of command line usage and version "enhanced"

svn path=/trunk/; revision=16684
2005-12-05 21:28:34 +00:00
Ulf Lamping e829856c0c move the complete functionality of the capture info dialog from capture_loop.c to capture_info.c and call it from capture.c (instead of capture_loop.c).
This way, the capture child don't need to now any of the packet_counter things (no epan/packet.h and all alike).

Currently the capture_info code will always open another wiretap file instance to build it's own counter values. This isn't optimized for now (next step: use data from cf_continue_tail() somehow).

svn path=/trunk/; revision=16669
2005-12-04 02:04:18 +00:00
Ulf Lamping f856dbafa8 split some parts of the packet counting functions into their own files capture_info(.c/.h),
so we can use it from the main program

svn path=/trunk/; revision=16668
2005-12-03 22:38:50 +00:00
Ulf Lamping cbf34eb9bd forgot to checkin that file ... so buildbot became unhappy!
svn path=/trunk/; revision=16666
2005-12-03 21:09:56 +00:00
Ulf Lamping 303321cc07 seems like autogen doesn't like empty lines in the makefile
svn path=/trunk/; revision=16621
2005-11-28 21:12:50 +00:00
Ulf Lamping 61dc6ad226 dumpcap.c doesn't need to link with file.c!
this fortunately removes *a lot* of dependencies and make the resulting binary a lot smaller (and hopefully faster to load :-)

some more cleanup (like replacing // by /**/)

svn path=/trunk/; revision=16620
2005-11-28 20:51:27 +00:00
Ulf Lamping fc61a1de25 first steps towards a separated capture tool, working title "dumpcap"
personal backup only, not meant for public testing!

I've copied main.c into dumpcap.c and carved out all things not needed

currently won't work as a command line tool, capture_loop.c wants an input pipe
console output is also very ugly and the whole code needs a lot of further cleanup

shouldn't break the unix build as I've only changed the nmake files so far, but who knows ...

svn path=/trunk/; revision=16615
2005-11-28 08:54:52 +00:00
Guy Harris 2f7fd680e2 Handle "-G" only in Tethereal - it doesn't work in Ethereal, and isn't
necessary there.

Add a "cmdarg_err()" routine to report command-line option errors; it
creates a console if necessary, and prints the command name and the
trailing newline.  Also add "cmdarg_err_cont()", which also creates a
console if necessary, and prints a trailing newline but no command name;
it's used to continue the message.  Use those, rather than
"g_warning()", for errors.

That means that we no longer need to pass the command name to various
command-line argument parsing routines.

svn path=/trunk/; revision=16526
2005-11-17 05:59:21 +00:00
Guy Harris bfcbcfb4ea Add a "capture_errs.c" routine to cough up error messages for capture
problems, and use the first routine in it in multiple places.

Get rid of DISSECTOR_SUPPORT_INCLUDES - just add its contents to
ETHEREAL_COMMON_INCLUDES.

svn path=/trunk/; revision=16109
2005-10-04 06:25:01 +00:00
Guy Harris b7b80d94be Move a pile of protocol-related headers from the top-level source
directory to the epan directory.  Some of them should perhaps ultimately
be moved to epan/dissectors, if they pertain only to stuff exported by a
particular dissector.

Fix Gerald's e-mail address in files we're moving.

svn path=/trunk/; revision=15844
2005-09-17 00:02:31 +00:00
Guy Harris a0e68da918 Add a "register_dfilter_stat()", to register stats that take a display
filter as an argument on the command line and have a dialog box to enter
the display filter through the GUI.  Use it for all stats using
"gtk_tap_dfilter_dlg_cb()".

Add a top-level "stat_menu.h" file to declare "REGISTER_STAT_GROUP_E"
for the benefit of the declaration of "register_dfilter_stat()" in the
top-level "tap_dfilter_dlg.h".  Rename the "stat_menu.h" in the gtk
directory to "gtk_stat_menu.h", so as not to have two headers with the
same name.

Get rid of headers not declaring any functions not being used in the
module.

svn path=/trunk/; revision=15493
2005-08-21 09:48:27 +00:00
Guy Harris 2028488827 For AFP requests, add in the frame with the (last part of the) reply, if
possible, and, for AFP replies, add in the frame with the request and
the time between those two frames.

Have AFP per-request-type RTT statistics, similar to SMB's statistics.

svn path=/trunk/; revision=15456
2005-08-20 02:19:37 +00:00
Guy Harris 4ddd504bb4 Move the stats.[ch] stuff into epan, so plugins can use it.
svn path=/trunk/; revision=15429
2005-08-19 10:00:14 +00:00
Guy Harris b2807e2ab6 Move the APIs for registering and processing "-z" command-line arguments
and "Statistics" menu items into "stat.h" and "stat.c", to separate them
from the core tapping APIs.  A tap could conceivably not register as a
"-z" command-line argument or "Statistics" menu item, and a stat could
conceivably not be implemented as a tap, and dissectors that implement
tapping points don't need the UI-related stuff from "stat.h", they just
want the tap-related stuff in <epan/tap.h>.

svn path=/trunk/; revision=15427
2005-08-19 09:29:41 +00:00
Ulf Lamping 2b35007cbd fix a typo
svn path=/trunk/; revision=15394
2005-08-17 22:08:06 +00:00