We’re getting ready to release Wireshark 2.0, which includes a major user interface update. As a comparison, here’s a picture of Wireshark 1.12.8, which is the current stable release:
Here’s a picture of Wireshark 2.0.0rc2, which is the current development release:
See? Totally different.
Actually, quite a few things have changed. The user interface has been completely rewritten using a different interface library (Qt). It has been streamlined so that you can work faster and it should have a better look and feel on every platform. The screenshots above are similar because we’ve also tried to ensure that the new UI is familiar to current users. The features you’re used to are still there and in the same place (or at least nearby). They should work much more smoothly, however.
I can’t hope to cover all of the changes in Wireshark 2.0 in one blog post, but here are a few highlights:
Capture options. Capture options have been simplified and consolidated. In 1.12 they are spread out in many places across several windows. In 2.0 they are in two places: the Capture Options dialog (Capture→Options or the “gear” icon in the toolbar) and the Manage Interfaces dialog, which you can open by pressing “Manage Interfaces” in the Capture Options dialog.
Streamlined preferences. Preferences windows usually aren’t something to get excited about and this is no exception, but it’s important to note that in the process of removing clutter some preferences have been removed from the main window. They’re still available in the “Advanced” preference section which lists every available preference item.
Translations. Thanks to the hard work of many contributors the new interface supports multiple languages. You can now select between Chinese, English, French, German, Italian, Japanese, and Polish in the “Appearance” preferences section. Many more translations are underway. You can see the status the translation efforts and help out with the effort at https://www.transifex.com/wireshark/wireshark/.
Related packets. As you scroll through the packet list you might notice little symbols pop up along its left edge. For example, you might see left and right arrows for DNS requests and Replies, or a check mark to denote an ACKed TCP packet. These are related packets. This exposes some plumbing we’ve had in place for a long time, but it’s now shown in the main window instead of buried deep in the packet detail tree.
Intelligent scrollbar. As you scroll through the packet list you might notice that the scroll bar itself looks odd. It now features a map of nearby packets, similar to the “minimap” available in many modern text editors. The number of packets shown in the map is the same as the number of physical vertical pixels in your scrollbar. The more pixels you have, the more packets you can see. In other words, if you use Wireshark regularly you now have a legitimate business case for a retina display.
Statistics dialogs. The dialogs under the Statistics and Telephony menus have seen many improvements. The backend code has been consolidated so that most of Wireshark’s statistics now share common internal logic. This in turn let us create common UI code with many workflow improvements and a much more consistent interface.
I/O Graph dialog. You can now graph as many items as you like and save graphs as PDF, PNG, JPEG, and BMP. Graph settings stay with your profile so you can customize them for multiple environments.
Follow Stream dialog. You can now switch between streams and search for text.
General dialogs. Many dialogs now have context-aware hints. For example the I/O Graph and Follow Stream dialogs will tell you which packet corresponds to the graph or stream data under your cursor. Most of them will stay open after you close a capture file so that you can compare statistics or graphs between captures.
If you want to see a live demonstration of the new UI, Laura Chappell and I are presenting a webinar next week on the 12th at 10:00 AM PST. You can register at http://bit.ly/wireshark2.
The final 2.0.0 release should be available in a couple of weeks. I’m excited about the new UI and about the opportunities that it provides for new features and further improvements.
Comments 🔗
Comment by Guy Harris on 2015-11-06 17:35:38 +0000 🔗
And the OS X version no longer requires X11.
Comment by Albert on 2015-11-06 18:39:22 +0000 🔗
Noice
Comment by Noice on 2015-11-09 18:59:59 +0000 🔗
Noice, noice
Comment by Noice, noice on 2015-11-09 21:00:38 +0000 🔗
Noice, noice, noice
Comment by Noice, noice, noice on 2015-11-10 01:53:43 +0000 🔗
Noice, noice, noice, noice
Comment by Noice, Noice, Noice, Noice on 2015-11-10 02:19:59 +0000 🔗
Noice, Noice, Noice, Noice, Noice
Comment by David Steele on 2015-11-10 03:43:40 +0000 🔗
Love the concept of color coding the drag bar so you have a chance to see where things that interest you _may_ be hiding in the cap.
Comment by c.mckenzie on 2015-11-10 04:35:17 +0000 🔗
Hey Gerald! Good job. This article made it to reddit btw, https://www.reddit.com/r/sysadmin/comments/3s6fm7/let_me_tell_you_about_wireshark_20/ … hit me up on skype sometime.
Comment by Joseph on 2015-11-10 06:22:15 +0000 🔗
The OS X version has stopped requiring X11 since months ago
Comment by noiceee on 2015-11-10 09:59:09 +0000 🔗
noiceeenoiceeenoiceeenoiceee
noiceeenoiceeenoiceee
noiceee
Comment by James on 2015-11-11 14:38:16 +0000 🔗
Can’t see packet data when opening a single frame.
Comment by Hansang Bae on 2015-11-11 18:34:45 +0000 🔗
VERY NICE! Congrats Gerald.
Comment by Hansang Bae on 2015-11-11 18:35:03 +0000 🔗
VERY NICE! Congrats Gerald, and core developers!
Comment by RoestVrijStaal on 2015-11-21 02:46:02 +0000 🔗
I’m wondering: How much C++ code have you to rewrite to the Javascriptish QML to wrap the Wireshark logic around Qt?
Comment by Gerald Combs on 2015-11-21 11:35:26 +0000 🔗
@Roest The new UI is written using Qt’s C++ API and not QML. This let us more easily take advantage of much of the pre-existing code in the GTK+ UI. We might end up using QML in the future if we ever write an Android or IOS UI. As far as I know, no one is working on that however.
Comment by Noice on 2015-12-01 00:55:51 +0000 🔗
NOICE!