Commit Graph

96 Commits

Author SHA1 Message Date
Hadriel Kaplan 041f844d72 Add command-line arg for input file format for tshark/wireshark
Now that we have the ability to choose input file format type
in the GUI, we might as well have it in the command-line too.
Plus it would help me in test-stuies if we had a commandline.
So I've added a '-X read_format:Foo' for this.  Using just
'-X read_format:', or with a bad name, will make it print out
the full list (in tshark); just like the '-F' does for output
file formats.

Note: I am *not* putting in code for Win32 GUI,
because I can't compile that and I wouldn't have even
done the GTK one if I could compile Qt originally. (I don't think we need
to add any more features to GTK or Win32, just Qt from now on,
right?)

Change-Id: I2fe6481d186f63bd2303b9e591edf397a2e14b64
Reviewed-on: https://code.wireshark.org/review/493
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-03-05 18:38:05 +00:00
Alexis La Goutte 296591399f Remove all $Id$ from top of file
(Using sed : sed -i '/^ \* \$Id\$/,+1 d')

Fix manually some typo (in export_object_dicom.c and crc16-plain.c)

Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8
Reviewed-on: https://code.wireshark.org/review/497
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-04 14:27:33 +00:00
Gerald Combs 79ef36a5f0 Fix some scan-build warnings.
Fix a modeline while we're at it.

Change-Id: Ief6d5edbe33456170059cfab4f436f0844de32a1
Reviewed-on: https://code.wireshark.org/review/440
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-03-01 19:15:38 +00:00
Michal Labedzki 579e7e19ce Wireshark: Add option to choose format type of capture file
The best heuristic can fail, so add possibility to manually choose
capture file format type, so not correctly recognize file format can be
loaded in Wireshark.

On the other side now it is possible to open capture file
as file format to be dissected.

Change-Id: I5a9f662b32ff7e042f753a92eaaa86c6e41f400a
Reviewed-on: https://code.wireshark.org/review/16
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
Tested-by: Evan Huus <eapache@gmail.com>
2014-02-25 17:43:13 +00:00
Alexis La Goutte 7447cd86e3 Menu cannot be reached using accelerators, for example <Alt-F> does not open File [Wireshark Qt].
Change-Id: I8a67d435510d5604bb501872f264cce4ba23595d
Partial-Bug: 9003
Reviewed-on: https://code.wireshark.org/review/237
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-02-17 21:45:18 +00:00
Alexis La Goutte 18d3a7010f Fix typo (only need one comma)
svn path=/trunk/; revision=54852
2014-01-20 07:53:00 +00:00
Alexis La Goutte 7cbbf32324 Don't create About window when Wireshark Qt start
svn path=/trunk/; revision=54662
2014-01-08 14:43:41 +00:00
Alexis La Goutte f5c6f39201 Add About window for Wireshark Qt
svn path=/trunk/; revision=54557
2014-01-02 17:04:10 +00:00
Martin Kaiser fba61a31be add ssl detection to proto_get_frame_protocols()
svn path=/trunk/; revision=54439
2013-12-24 13:44:00 +00:00
Irene Rüngeler 4729c083ac Add 'Filter Association' to context menu in packet list.
svn path=/trunk/; revision=54219
2013-12-18 13:49:10 +00:00
Jakub Zawadzki 4d92f6079b Remove not needed ';'
svn path=/trunk/; revision=54088
2013-12-14 11:12:20 +00:00
Irene Rüngeler 796bf409b0 Add dialogs and graphs to analyse SCTP behavior similar to the GTK version.
svn path=/trunk/; revision=54026
2013-12-13 07:25:30 +00:00
Gerald Combs 1c9b5dfad3 Add "Decode As" to the packet list and protocol tree context menus.
Automatically add a new item if "Decode As" is triggered from the
context menus.

svn path=/trunk/; revision=53915
2013-12-10 21:07:26 +00:00
Guy Harris e2735b15e0 No libpcap, no capturing, no capture interfaces. Ifdef the entire
capture interfaces dialog code, *and* the code that calls it, under
HAVE_LIBPCAP.

Still more stuff to remove from the no-pcap UI, such as the Capture
menu, the capture filter in the main window, and the list of interfaces
in the main window.

svn path=/trunk/; revision=53582
2013-11-25 21:50:58 +00:00
Alexis La Goutte 43b1f47695 From Thomas ERSFELD (GSoC13) : Add Capture interface dialog window
* Reuse sparkline from welcome
* Split settings in tab (!= GTK)
* No all feature work (Work In Progress...)
* ...

Comments (and review) are welcome !

svn path=/trunk/; revision=53563
2013-11-25 14:15:49 +00:00
Gerald Combs b3a24c5cc4 Replace similar code with a common routine.
svn path=/trunk/; revision=53519
2013-11-23 01:06:30 +00:00
Gerald Combs 779f95ab61 Make the "decode as" dialog modal (for now, at least).
svn path=/trunk/; revision=53515
2013-11-22 17:53:25 +00:00
Gerald Combs 78266fe17e Add an initial "Decode As" dialog. Currently read-only.
Fixup some of the Statistics menu items.

svn path=/trunk/; revision=53499
2013-11-22 01:07:36 +00:00
Guy Harris a1f2a76427 #if 0 out some currently-unused variables and the code that sets them,
to squelch compiler warnings.

svn path=/trunk/; revision=53485
2013-11-21 18:48:36 +00:00
Michael Mann 64c687346b Remove packet_info->ipproto and packet_info->ethertype uses in the GUI. Convert to walking packet protocol list looking for desired protocols.
I may eventually switch this to use proto_* values instead of strings, but just the addition of the loop is more jarring as compared to the simple comparing of ip or ethernet values.  But it should lead to a smaller (less protocol specific) packet_info structure.

svn path=/trunk/; revision=53476
2013-11-21 16:42:10 +00:00
Michael Mann 2e983ba89f Revert what I thought was a simple "compile" change for r53473, but causes Wireshark to crash at startup.
svn path=/trunk/; revision=53474
2013-11-21 12:46:31 +00:00
Michael Mann ad1d471b1b Walk list of protocol strings to determine which protocols are present in a packet rather than rely on protocol specific items in packet_info in an effort to (eventually) reduce packet_info members.
svn path=/trunk/; revision=53473
2013-11-21 12:16:49 +00:00
Gerald Combs ea28298e96 Add a statistics tree dialog.
Add menu items for each corresponding item in gtk/main_menubar.c that
calls gtk_stats_tree_cb(). Hopefully that's everything. Note that we use
quite a bit less code than the GTK+ flavor and why we might not want to
do that. Change a few things in ui/qt/CMakeLists.txt to more closely
match the GTK+ version. Add plumbing for tap registrations in
CMakeLists.txt and Makefile.am. Add the ability to copy text as CSV or
YAML.

svn path=/trunk/; revision=53464
2013-11-21 01:28:17 +00:00
Guy Harris db25270df8 Move the epan/filesystem.c routines to wsutil; they're not specific to
packet dissection, they're specific to the entire Wireshark suite of
programs.

svn path=/trunk/; revision=53377
2013-11-17 02:55:14 +00:00
Gerald Combs 190bdc32de Add packet information and selection to the Follow Stream dialog.
Collect packet numbers when following streams so that we can correlate
text positions with packets. Add a FollowStreamText class so that we can
track mouse events. Add a hint label that shows the packet under the
cursor along with packet counts and the number of "turns".

Add the packet number to the C array dump. Note that dumping to YAML
might be useful for Scapy users.

svn path=/trunk/; revision=53314
2013-11-14 17:37:40 +00:00
Gerald Combs b0063a025b Highlight selected sequence diagram items.
Create a new dialog each time the user follows a stream. A lot of the
follow code seems to assume one and only one dialog so there are likely
outstanding bugs.

Don't use the global cfile (should we deprecate its usage?). We want to
move closer to multiple documents, not further away.

Clean up after ourselves. Free our payload list and unlink our temp
file. Make a bunch of gchar*s QStrings. Make sure our destructor gets
called and use it.

Make member variable and method names more consistent.

svn path=/trunk/; revision=53306
2013-11-13 22:18:01 +00:00
Gerald Combs 60d6458150 Move the geometry shenanigans a bit further ahead in the startup
sequence. Fix some prefs logic.

svn path=/trunk/; revision=52991
2013-10-30 23:54:46 +00:00
Gerald Combs 9075922f42 Add initial support for geometry settings in the main window.
In the current Qt startup sequence the main window + splash screen is
displayed before the main preferences are loaded which means we can't
immediately apply the correct geometry. For now, use an animation to
morph from the default to the saved geometry after the prefs are loaded.

Get rid of main_do_quit() (Qt) and main_window_exit() (Qt+GTK). It looks
like they were unused.

Add wsApp->isInitialized() and use it to see if we should exit() when
the main window is closed. Otherwise we won't shut the application down
and clean up properly.

svn path=/trunk/; revision=52988
2013-10-30 22:39:52 +00:00
Gerald Combs 1a4033b63b Initial and woefully incomplete flow graph support.
Copy common code from ui/gtk/flow_graph.c and ui/gtk/graph_analysis.[ch]
to ui/tap-sequence-analysis.[ch]. Start using the name "sequence" in
places.

svn path=/trunk/; revision=52824
2013-10-24 22:52:30 +00:00
Gerald Combs 0efe942aab Let Qt lay out and size elements in FollowStreamDialog. Make it
resizable. Get rid of the group box -- the OS X and Windows HIGs
discourage its use and I'm not sure if it fits the GNOME HIG in this
case either. Make the stream contents monospace. Set the cursor to the
beginning of the text when we follow a stream.

Continue the War On Unnecessary Dialogs. Move "Find"ing from a pop-up
window to the main Follow dialog. Wrap back to the beginning as needed.

Add a "Cancel" button. Make sure it and the escape key work as expected.

svn path=/trunk/; revision=52607
2013-10-14 21:17:38 +00:00
Gerald Combs 564ca2d5e9 Try to fix Qt compilation when libpcap is disabled.
svn path=/trunk/; revision=52552
2013-10-11 21:26:26 +00:00
Michael Mann 9ccefb0ecd Prefix all "Wireshark application specific" display filters with a "_ws." to distinguish them from dissector filters.
This was committed now to get it into the 1.11 release so users can start getting used to the changed filter names.

svn path=/trunk/; revision=52462
2013-10-09 12:56:19 +00:00
Evan Huus 0faf9a0840 Rewrite the layout case statement as two separate ones, grouping and using
fallthrough to reduce the amount of duplication.

svn path=/trunk/; revision=52398
2013-10-06 13:22:12 +00:00
Gerald Combs c37cd6b66f Fix the white-rectangle-at-startup artifact with the help of GammaRay[1].
Make extra_split_ a member variable again. Make it and master_split_
full-on values. Set various parent/child relationships at startup
so that each widget is associated with a layout (which appears to be
the actual fix).

Make the throttled startup delay huge so that it's easier to browse
using GammaRay.

[1] https://github.com/KDAB/GammaRay

svn path=/trunk/; revision=52386
2013-10-05 22:39:49 +00:00
Gerald Combs 80d1fde12a Delete extra_split if we're not using it. This keeps its handle from
showing up in the main window. Make it local to layoutPanes().

svn path=/trunk/; revision=52211
2013-09-25 00:26:36 +00:00
Gerald Combs 7f92257af8 More TCP stream graph updates.
Scan our segment list (and the capture file) once per stream. Switch the
stream selection control to a QSpinBox. Add graph type selection
actions. The context menu + shortcuts should now be complete. Add the
intitial tcptrace graph. Only ACKs and RWINs so far. A bunch of other
updates and fixes.

svn path=/trunk/; revision=52027
2013-09-13 22:29:05 +00:00
Alexis La Goutte 80f9326b2f From Thomas ERSFELD (GSoC13)
Add TCP/UDP/SSL Follow feature to QtShark

Known issue :
* Duplicate code with GTK (function need follow_info_t struct but in GTK there is some GWidget variable in struct)
* Sometimes TCP Follow fail...

svn path=/trunk/; revision=51883
2013-09-09 19:30:30 +00:00
Alexis La Goutte 41174fa490 if display_filter is NULL, qtshark crash...
svn path=/trunk/; revision=51882
2013-09-09 19:30:19 +00:00
Gerald Combs 829c1ed25e Add the TCP window scaling graph. Add zoom selections.
Rename some methods. Add the ability to toggle time and sequence number
origins. Add more keyboard shortcuts. Comment out abs_secs abs_usecs in
the segment struct since it looks like we aren't using them. Make sure
we stay in the same TCP stream.

svn path=/trunk/; revision=51856
2013-09-09 01:40:06 +00:00
Gerald Combs abdac5bfac Add the TCP RTT graph.
Show the time values in ms instead of s. Add a button and keyboard
shortcut to switch the connection direction. Move more code to
tap-tcp-stream.c. Update our axis labels.

svn path=/trunk/; revision=51832
2013-09-08 01:25:27 +00:00
Gerald Combs 6003d3b2f6 Throughput graph usability updates.
Make the stream graph dialog modeless and let the user open multiple
instances. The dangling dialog behaves similar to the GTK+ version. Add
a setDissectedCaptureFile signal to MainWindow (currently unused).
Properly transform yAxis2 and simplify resetAxes while we're at it.
Other bug fixes.

svn path=/trunk/; revision=51795
2013-09-06 00:41:07 +00:00
Gerald Combs 03fd39d7f0 Throughput graph updates.
GTK+: Fix what appears to be an off-by-one error in the MA period (21
segments instead of 20). Throw away our initial segment length instead
of subtracting it from the moving sum, which skews the sum.

Qt: Add the througput graph. Use bits/s for the throughput y axis. Let
the user switch between graph types. The dialog hangs when doing this. I
haven't been able to track down the cause. Remove some unused code.

Both: Tell the user that we're using a 20 segment moving average. Move
more routines to tap-tcp-stream.[ch].

svn path=/trunk/; revision=51759
2013-09-04 23:15:59 +00:00
Evan Huus 259ebc5269 Respect the other layout preference in qtshark: which pane goes in which spot.
svn path=/trunk/; revision=51723
2013-09-03 16:06:20 +00:00
Evan Huus a795048300 Correctly update the pane layout whenever the preferences are changed, you no
longer need to restart for that to take effect. Hopefully I got all the slot
ordering right.

svn path=/trunk/; revision=51720
2013-09-03 13:29:09 +00:00
Evan Huus 785c1a5310 Respect the layout preference (just the horizontal/vertical splitting of the
panes, not yet which data goes in which pane).

You currently have to restart for the change to take effect. I also had to move
the preferences-reading (and thus the epan_init) call to before the main window
instantiation so that the preference was actually available for use. This means
that the progress-bar doesn't show up for very long any more, since most of the
work is already done by the time it appears.

I'm sure there is a way to delay just the layout setup until later, but I kept
getting slot errors I couldn't figure out...

svn path=/trunk/; revision=51647
2013-09-02 16:03:13 +00:00
Gerald Combs 1d27c70838 Add an item tracer to the TCP stream graph. Enable packet selection.
QCustomPlot data sets are made up of keys (x axis by default) and values
(y axis). It looks like we can have multiple values for a given key
(i.e. we can show multiple sequence numbers for a given timestamp) but
QCPItemTracers can only be positioned by a key and not a key+value pair.
This makes our graph selection behavior a bit different compared to the
GTK+ version. We can only select one segment for a give timestamp but
our selection targets are much larger (the height of the graph).

Add a map for segment data so we don't have to iterate to find them. Use
UTF8_RIGHTWARDS_ARROW where appropriate. Set a window title. Tell the
user what will happen if he or she clicks. Disable graph selection.

svn path=/trunk/; revision=51604
2013-08-30 21:15:24 +00:00
Gerald Combs 6d731a3e79 Add TCP sequence number (Stevens-style) graphs.
Add the QCustomPlot widget. Thanks to Emanuel Eichhammer for granting a
license change. Move some common code from ui/gtk/tcp_graph.c to
ui/tap-tcp-stream.[ch]. Get rid of tcp_graph_selected_packet_enabled().
It was only used in the menu code and didn't match what we were doing
elsewhere.

Still quite a bit of work to do but it's a promising start.

svn path=/trunk/; revision=51538
2013-08-27 18:13:20 +00:00
Gerald Combs 79454ef9fa Add initial capture filter support.
Add CaptureFilterCombo and CaptureFilterEdit classes, similar to their
display filter counterparts. Add a CaptureFilterSyntaxWorker class which
runs a syntax check in a background thread similar to the threaded code
in capture_dlg.c. Add a bunch of related signal and slot plumbing. Other
minor fixups.

svn path=/trunk/; revision=51200
2013-08-08 00:26:57 +00:00
Alexis La Goutte c68f439baa From Thomas ERSFELD (GSoC13) Apply changes of revision 50107 to qtshark man pages sorted and added capinfos & reordercap
svn path=/trunk/; revision=50826
2013-07-23 10:32:02 +00:00
Alexis La Goutte 6cff72548d From Thomas ERSFELD (GSoC13) Qtshark : Columns in the packet list table are not updated when you add one on preference menu
svn path=/trunk/; revision=50818
2013-07-23 08:56:20 +00:00