Wireshark

Wireshark

Wireshark GUI
Developer(s) The Wireshark team
Stable release 1.12.4[1] / 4 March 2015
Preview release 1.99.3[2] / 5 March 2015
Written in C (and C++ in the development version)
Operating system Cross-platform
Type Packet analyzer
License GNU GPL[3]
Website www.wireshark.org

Wireshark is a free and open-source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development, and education. Originally named Ethereal, the project was renamed Wireshark in May 2006 due to trademark issues.[4]

Wireshark is cross-platform, using the GTK+ widget toolkit in current releases, and Qt in the development version, to implement its user interface, and using pcap to capture packets; it runs on Linux, OS X, BSD, Solaris, some other Unix-like operating systems, and Microsoft Windows. There is also a terminal-based (non-GUI) version called TShark. Wireshark, and the other programs distributed with it such as TShark, are free software, released under the terms of the GNU General Public License.

Functionality

Wireshark is very similar to tcpdump, but has a graphical front-end, plus some integrated sorting and filtering options.

Wireshark allows the user to put network interface controllers that support promiscuous mode into that mode, in order to see all traffic visible on that interface, not just traffic addressed to one of the interface's configured addresses and broadcast/multicast traffic. However, when capturing with a packet analyzer in promiscuous mode on a port on a network switch, not all of the traffic travelling through the switch will necessarily be sent to the port on which the capture is being done, so capturing in promiscuous mode will not necessarily be sufficient to see all traffic on the network. Port mirroring or various network taps extend capture to any point on the network. Simple passive taps are extremely resistant to tampering.

On Linux, BSD, and OS X, with libpcap 1.0.0 or later, Wireshark 1.4 and later can also put wireless network interface controllers into monitor mode.

If a remote machine captures packets and sends the captured packets to a machine running Wireshark using the TZSP protocol or the protocol used by OmniPeek, Wireshark will dissect those packets, thus allowing it to analyze packets captured on a remote machine at the time that they're captured.

History

In the late 1990s, Gerald Combs, a computer science graduate of the University of Missouri–Kansas City, was working for a small Internet service provider. The commercial protocol analysis products at the time were priced around $1500[5] and did not run on the company's primary platforms (Solaris and Linux), so Gerald began writing Ethereal and released the first version around 1998.[6] The Ethereal trademark is owned by Network Integration Services.

In May 2006, Combs accepted a job with CACE Technologies. Combs still held copyright on most of Ethereal's source code (and the rest was re-distributable under the GNU GPL), so he used the contents of the Ethereal Subversion repository as the basis for the Wireshark repository. However, he did not own the Ethereal trademark, so he changed the name to Wireshark.[7] In 2010 Riverbed Technology purchased CACE[8] and took over as the primary sponsor of Wireshark. Ethereal development has ceased, and an Ethereal security advisory recommended switching to Wireshark.[9]

Wireshark has won several industry awards over the years,[10] including eWeek,[11] InfoWorld,[12][13][14][15][16] and PC Magazine.[17] It is also the top-rated packet sniffer in the Insecure.Org network security tools survey[18] and was the SourceForge Project of the Month in August 2010.[19]

Combs continues to maintain the overall code of Wireshark and issue releases of new versions of the software. The product website lists over 600 additional contributing authors.

Features

Wireshark is software that "understands" the structure (encapsulation) of different networking protocols. It can parse and display the fields, along with their meanings as specified by different networking protocols. Wireshark uses pcap to capture packets, so it can only capture packets on the types of networks that pcap supports.

Wireshark's native network trace file format is the libpcap format supported by libpcap and WinPcap, so it can exchange captured network traces with other applications that use the same format, including tcpdump and CA NetMaster. It can also read captures from other network analyzers, such as snoop, Network General's Sniffer, and Microsoft Network Monitor.

Security

Capturing raw network traffic from an interface requires elevated privileges on some platforms. For this reason, older versions of Ethereal/Wireshark and tethereal/TShark often ran with superuser privileges. Taking into account the huge number of protocol dissectors that are called when traffic is captured, this can pose a serious security risk given the possibility of a bug in a dissector. Due to the rather large number of vulnerabilities in the past (of which many have allowed remote code execution) and developers' doubts for better future development, OpenBSD removed Ethereal from its ports tree prior to OpenBSD 3.6.[22]

Elevated privileges are not needed for all operations. For example, an alternative is to run tcpdump or the dumpcap utility that comes with Wireshark with superuser privileges to capture packets into a file, and later analyze the packets by running Wireshark with restricted privileges. To emulate near realtime analysis, each captured file may be merged by mergecap into growing file processed by Wireshark. On wireless networks, it is possible to use the Aircrack wireless security tools to capture IEEE 802.11 frames and read the resulting dump files with Wireshark.

As of Wireshark 0.99.7, Wireshark and TShark run dumpcap to perform traffic capture. On platforms where special privileges are needed to capture traffic, only dumpcap needs to be run with those special privileges: neither Wireshark nor TShark need to or should be run with special privileges.

Color coding

The user typically sees packets highlighted in green, blue, and black. Wireshark uses colors to help the user identify the types of traffic at a glance. By default, green is TCP traffic, dark blue is DNS traffic, light blue is UDP traffic, and black identifies TCP packets with problems — for example, they could have been delivered out-of-order. Users can change existing rules for coloring packets, add new rules, or remove rules.

See also

Notes

  1. "Wireshark 1.12.4 and 1.10.13 Released".
  2. "Wireshark 1.99.3 Development Release".
  3. "Wireshark FAQ License".
  4. "Wireshark FAQ". Retrieved 31 December 2011.
  5. InfoWorld Nov 17, 1997
  6. "Q&A with the founder of Wireshark and Ethereal". Interview with Gerald Combs. protocolTesting.com. Retrieved 2010-07-24.
  7. "What's up with the name change? Is Wireshark a fork?". Wireshark: Frequently Asked Questions. Retrieved 2007-11-09.
  8. "Riverbed Expands Further Into The Application-Aware Network Performance Management Market with the Acquisition of CACE Technologies". Riverbed Technology. 2010-10-21. Retrieved 2010-10-21.
  9. "enpa-sa-00024". Ethereal. 2006-11-10. Retrieved 2010-06-08.
  10. "Awards and Accolades". Wireshark: About. Retrieved 2010-09-20.
  11. eWEEK Labs (2012-05-28). "Wireshark". The Most Important Open-Source Apps of All Time. eWEEK. Retrieved 2012-08-12.
  12. Yager, Tom (2007-09-10). "Best of open source in networking". InfoWorld. Retrieved 2014-12-01.
  13. "Wireshark". VoIP monitoring. InfoWorld. Retrieved 2015-04-28.
  14. Mobley, High (2012-09-18). "Bossie Awards 2012: The best open source networking and security software". InfoWorld. Retrieved 2015-04-28.
  15. Ferrill, Paul (2013-09-17). "Bossie Awards 2013: The best open source networking and security software". InfoWorld. Retrieved 2015-04-28.
  16. Garza, Victor R. (2014-09-29). "Bossie Awards 2014: The best open source networking and security software". InfoWorld. Retrieved 2015-04-28.
  17. Lynn, Samara. "Wireshark 1.2.6". Wireshark 1.2.6 Review & Rating (PC Magazine). Retrieved 2010-09-20.
  18. "Wireshark is No. 1 of Top 14 Packet Sniffers". Insecure.Org. Retrieved 2012-08-12.
  19. "Wireshark, SourceForge Project of the Month, August 2010". SourceForge. Retrieved 2012-08-12.
  20. "Dissector compilation example". OmniIDL. Retrieved 18 April 2013.
  21. "USB capture setup". Wireshark Wiki. Retrieved 31 December 2011.
  22. "CVS log for ports/net/ethereal/Attic/Makefile". Openbsd.org. Retrieved 2010-06-08.

References

External links

Wikimedia Commons has media related to Wireshark.