Index

  1. General Questions:

   1.1 What is Wireshark?

   1.2 What's up with the name change? Is Wireshark a fork?

   1.3 Where can I get help?

   1.4 What kind of shark is Wireshark?

   1.5 How is Wireshark pronounced, spelled and capitalized?

   1.6 How much does Wireshark cost?

   1.7 But I just paid someone on eBay for a copy of Wireshark! Did I
   get ripped off?

   1.8 Can I use Wireshark commercially?

   1.9 Can I use Wireshark as part of my commercial product?

   1.10 What protocols are currently supported?

   1.11 Are there any plans to support {your favorite protocol}?

   1.12 Can Wireshark read capture files from {your favorite network
   analyzer}?

   1.13 What devices can Wireshark use to capture packets?

   1.14 Does Wireshark work on Windows Vista or Windows Server 2008?

  2. Installing Wireshark:

   2.1 I installed the Wireshark RPM (or other package); why did it
   install TShark but not Wireshark?

  3. Building Wireshark:

   3.1 I have libpcap installed; why did the configure script not find
   pcap.h or bpf.h?

   3.2 Why do I get the error dftest_DEPENDENCIES was already defined in
   condition TRUE, which implies condition HAVE_PLUGINS_TRUE when I try
   to build Wireshark from SVN or a SVN snapshot?

   3.3 Why does the linker fail with a number of "Output line too long."
   messages followed by linker errors when I try to build Wireshark?

   3.4 When I try to build Wireshark on Solaris, why does the link fail
   complaining that plugin_list is undefined?

   3.5 When I try to build Wireshark on Windows, why does the build fail
   because of conflicts between winsock.h and winsock2.h?

  4. Starting Wireshark:

   4.1 Why does Wireshark crash with a Bus Error when I try to run it on
   Solaris 8?

   4.2 When I try to run Wireshark, why does it complain about
   sprint_realloc_objid being undefined?

   4.3 I've installed Wireshark from Fink on macOS; why is it very slow
   to start up?

  5. Crashes and other fatal errors:

   5.1 I have an XXX network card on my machine; if I try to capture on
   it, why does my machine crash or reset itself?

   5.2 Why does my machine crash or reset itself when I select "Start"
   from the "Capture" menu or select "Preferences" from the "Edit" menu?

  6. Capturing packets:

   6.1 When I use Wireshark to capture packets, why do I see only
   packets to and from my machine, or not see all the traffic I'm
   expecting to see from or to the machine I'm trying to monitor?

   6.2 When I capture with Wireshark, why can't I see any TCP packets
   other than packets to and from my machine, even though another
   analyzer on the network sees those packets?

   6.3 Why am I only seeing ARP packets when I try to capture traffic?

   6.4 Why am I not seeing any traffic when I try to capture traffic?

   6.5 Can Wireshark capture on (my T1/E1 line, SS7 links, etc.)?

   6.6 How do I put an interface into promiscuous mode?

   6.7 I can set a display filter just fine; why don't capture filters
   work?

   6.8 I'm entering valid capture filters; why do I still get "parse
   error" errors?

   6.9 How can I capture packets with CRC errors?

   6.10 How can I capture entire frames, including the FCS?

   6.11 I'm capturing packets on a machine on a VLAN; why don't the
   packets I'm capturing have VLAN tags?

   6.12 Why does Wireshark hang after I stop a capture?

  7. Capturing packets on Windows:

   7.1 I'm running Wireshark on Windows; why does some network interface
   on my machine not show up in the list of interfaces in the
   "Interface:" field in the dialog box popped up by "Capture->Start",
   and/or why does Wireshark give me an error if I try to capture on
   that interface?

   7.2 I'm running Wireshark on Windows; why do no network interfaces
   show up in the list of interfaces in the "Interface:" field in the
   dialog box popped up by "Capture->Start"?

   7.3 I'm running Wireshark on Windows; why doesn't my serial port/ADSL
   modem/ISDN modem show up in the list of interfaces in the
   "Interface:" field in the dialog box popped up by "Capture->Start"?

   7.4 I'm running Wireshark on Windows NT 4.0/Windows 2000/Windows
   XP/Windows Server 2003; my machine has a PPP (dial-up POTS, ISDN,
   etc.) interface, and it shows up in the "Interface" item in the
   "Capture Options" dialog box. Why can no packets be sent on or
   received from that network while I'm trying to capture traffic on
   that interface?

   7.5 I'm running Wireshark on Windows; why am I not seeing any traffic
   being sent by the machine running Wireshark?

   7.6 When I capture on Windows in promiscuous mode, I can see packets
   other than those sent to or from my machine; however, those packets
   show up with a "Short Frame" indication, unlike packets to or from my
   machine. What should I do to arrange that I see those packets in
   their entirety?

   7.7 I'm trying to capture 802.11 traffic on Windows; why am I not
   seeing any packets?

   7.8 I'm trying to capture 802.11 traffic on Windows; why am I seeing
   packets received by the machine on which I'm capturing traffic, but
   not packets sent by that machine?

   7.9 I'm trying to capture Ethernet VLAN traffic on Windows, and I'm
   capturing on a "raw" Ethernet device rather than a "VLAN interface",
   so that I can see the VLAN headers; why am I seeing packets received
   by the machine on which I'm capturing traffic, but not packets sent
   by that machine?

  8. Capturing packets on UN*Xes:

   8.1 I'm running Wireshark on a UNIX-flavored OS; why does some
   network interface on my machine not show up in the list of interfaces
   in the "Interface:" field in the dialog box popped up by
   "Capture->Start", and/or why does Wireshark give me an error if I try
   to capture on that interface?

   8.2 I'm running Wireshark on a UNIX-flavored OS; why do no network
   interfaces show up in the list of interfaces in the "Interface:"
   field in the dialog box popped up by "Capture->Start"?

   8.3 I'm capturing packets on Linux; why do the time stamps have only
   100ms resolution, rather than 1us resolution?

  9. Capturing packets on wireless LANs:

   9.1 How can I capture raw 802.11 frames, including non-data
   (management, beacon) frames?

   9.2 How do I capture on an 802.11 device in monitor mode?

  10. Viewing traffic:

   10.1 Why am I seeing lots of packets with incorrect TCP checksums?

   10.2 I've just installed Wireshark, and the traffic on my local LAN
   is boring. Where can I find more interesting captures?

   10.3 Why doesn't Wireshark correctly identify RTP packets? It shows
   them only as UDP.

   10.4 Why doesn't Wireshark show Yahoo Messenger packets in captures
   that contain Yahoo Messenger traffic?

  11. Filtering traffic:

   11.1 I saved a filter and tried to use its name to filter the
   display; why do I get an "Unexpected end of filter string" error?

   11.2 How can I search for, or filter, packets that have a particular
   string anywhere in them?

   11.3 How do I filter a capture to see traffic for virus XXX?

  1. General Questions

   Q 1.1: What is Wireshark?

   A: Wireshark® is a network protocol analyzer. It lets you capture and
   interactively browse the traffic running on a computer network. It
   has a rich and powerful feature set and is world's most popular tool
   of its kind. It runs on most computing platforms including Windows,
   macOS, Linux, and UNIX. Network professionals, security experts,
   developers, and educators around the world use it regularly. It is
   freely available as open source, and is released under the GNU
   General Public License version 2.
   It is developed and maintained by a global team of protocol experts,
   and it is an example of a disruptive technology[1].
   Wireshark used to be known as Ethereal®. See the next question for
   details about the name change. If you're still using Ethereal, it is
   strongly recommended that you upgrade to Wireshark as Ethereal is
   unsupported and has known security vulnerabilities.
   For more information, please see the About Wireshark[2] page.

   Q 1.2: What's up with the name change? Is Wireshark a fork?[3]

   A: In May of 2006, Gerald Combs (the original author of Ethereal)
   went to work for CACE Technologies (best known for WinPcap).
   Unfortunately, he had to leave the Ethereal trademarks behind.
   This left the project in an awkward position. The only reasonable way
   to ensure the continued success of the project was to change the
   name. This is how Wireshark was born.
   Wireshark is almost (but not quite) a fork. Normally a "fork" of an
   open source project results in two names, web sites, development
   teams, support infrastructures, etc. This is the case with Wireshark
   except for one notable exception -- every member of the core
   development team is now working on Wireshark. There has been no
   active development on Ethereal since the name change. Several parts
   of the Ethereal web site (such as the mailing lists, source code
   repository, and build farm) have gone offline.
   More information on the name change can be found here:

     • Original press release[4]
     • NewsForge article[5]
     • Many other articles in our bibliography[6]

   Q 1.3: Where can I get help?[7]

   A: Community support is available on the Q&A site[8] and on the
   wireshark-users mailing list. Subscription information and archives
   for all of Wireshark's mailing lists can be found at
   https://www.wireshark.org/mailman/listinfo[9]. An IRC channel
   dedicated to Wireshark can be found at
   irc://irc.freenode.net/wireshark[10].
   Self-paced and instructor-led training is available at Wireshark
   University[11]. Wireshark University also offers certification via
   the Wireshark Certified Network Analyst program.

   Q 1.4: What kind of shark is Wireshark?[12]

   A: carcharodon photoshopia.

   Q 1.5: How is Wireshark pronounced, spelled and capitalized?[13]

   A: Wireshark is pronounced as the word wire followed immediately by
   the word shark. Exact pronunciation and emphasis may vary depending
   on your locale (e.g. Arkansas).
   It's spelled with a capital W, followed by a lower-case ireshark. It
   is not a CamelCase word, i.e., WireShark is incorrect.

   Q 1.6: How much does Wireshark cost?[14]

   A: Wireshark is "free software"; you can download it without paying
   any license fee. The version of Wireshark you download isn't a "demo"
   version, with limitations not present in a "full" version; it is the
   full version.
   The license under which Wireshark is issued is the GNU General Public
   License version 2[15]. See the GNU GPL FAQ[16] for some more
   information.

   Q 1.7: But I just paid someone on eBay for a copy of Wireshark! Did I
   get ripped off?[17]

   A: That depends. Did they provide any sort of value-added product or
   service, such as installation support, installation media, training,
   trace file analysis, or funky-colored shark-themed socks? Probably
   not.
   Wireshark is available for anyone to download, absolutely free, at
   any time[18]. Paying for a copy implies that you should get something
   for your money.

   Q 1.8: Can I use Wireshark commercially?[19]

   A: Yes, if, for example, you mean "I work for a commercial
   organization; can I use Wireshark to capture and analyze network
   traffic in our company's networks or in our customer's networks?"
   If you mean "Can I use Wireshark as part of my commercial product?",
   see the next entry in the FAQ[20].

   Q 1.9: Can I use Wireshark as part of my commercial product?[21]

   A: As noted, Wireshark is licensed under the GNU General Public
   License, version 2[22]. The GPL imposes conditions on your use of
   GPL'ed code in your own products; you cannot, for example, make a
   "derived work" from Wireshark, by making modifications to it, and
   then sell the resulting derived work and not allow recipients to give
   away the resulting work. You must also make the changes you've made
   to the Wireshark source available to all recipients of your modified
   version; those changes must also be licensed under the terms of the
   GPL. See the GPL FAQ[23] for more details; in particular, note the
   answer to the question about modifying a GPLed program and selling it
   commercially[24], and the question about linking GPLed code with
   other code to make a proprietary program[25].
   You can combine a GPLed program such as Wireshark and a commercial
   program as long as they communicate "at arm's length", as per this
   item in the GPL FAQ[26].
   We recommend keeping Wireshark and your product completely separate,
   communicating over sockets or pipes. If you're loading any part of
   Wireshark as a DLL, you're probably doing it wrong.

   Q 1.10: What protocols are currently supported?[27]

   A: There are currently hundreds of supported protocols and media.
   Details can be found in the wireshark(1)[28] man page.

   Q 1.11: Are there any plans to support {your favorite protocol}?[29]

   A: Support for particular protocols is added to Wireshark as a result
   of people contributing that support; no formal plans for adding
   support for particular protocols in particular future releases exist.

   Q 1.12: Can Wireshark read capture files from {your favorite network
   analyzer}?[30]

   A: Support for particular capture file formats is added to Wireshark
   as a result of people contributing that support; no formal plans for
   adding support for particular capture file formats in particular
   future releases exist.
   If a network analyzer writes out files in a format already supported
   by Wireshark (e.g., in libpcap format), Wireshark may already be able
   to read them, unless the analyzer has added its own proprietary
   extensions to that format.
   If a network analyzer writes out files in its own format, or has
   added proprietary extensions to another format, in order to make
   Wireshark read captures from that network analyzer, we would either
   have to have a specification for the file format, or the extensions,
   sufficient to give us enough information to read the parts of the
   file relevant to Wireshark, or would need at least one capture file
   in that format AND a detailed textual analysis of the packets in that
   capture file (showing packet time stamps, packet lengths, and the
   top-level packet header) in order to reverse-engineer the file
   format.
   Note that there is no guarantee that we will be able to
   reverse-engineer a capture file format.

   Q 1.13: What devices can Wireshark use to capture packets?[31]

   A: Wireshark can read live data from Ethernet, Token-Ring, FDDI,
   serial (PPP and SLIP) (if the OS on which it's running allows
   Wireshark to do so), 802.11 wireless LAN (if the OS on which it's
   running allows Wireshark to do so), ATM connections (if the OS on
   which it's running allows Wireshark to do so), and the "any" device
   supported on Linux by recent versions of libpcap.
   See the list of supported capture media on various OSes[32] for
   details (several items in there say "Unknown", which doesn't mean
   "Wireshark can't capture on them", it means "we don't know whether it
   can capture on them"; we expect that it will be able to capture on
   many of them, but we haven't tried it ourselves - if you try one of
   those types and it works, please update the wiki page accordingly.
   It can also read a variety of capture file formats, including:

     • AG Group/WildPackets/Savvius
       EtherPeek/TokenPeek/AiroPeek/EtherHelp/Packet Grabber captures
     • AIX's iptrace captures
     • Accellent's 5Views LAN agent output
     • Cinco Networks NetXRay captures
     • Cisco Secure Intrusion Detection System IPLog output
     • CoSine L2 debug output
     • DBS Etherwatch VMS text output
     • Endace Measurement Systems' ERF format captures
     • EyeSDN USB S0 traces
     • HP-UX nettl captures
     • ISDN4BSD project i4btrace captures
     • Linux Bluez Bluetooth stack hcidump -w traces
     • Lucent/Ascend router debug output
     • Microsoft Network Monitor captures
     • Network Associates Windows-based Sniffer captures
     • Network General/Network Associates DOS-based Sniffer (compressed
       or uncompressed) captures
     • Network Instruments Observer version 9 captures
     • Novell LANalyzer captures
     • RADCOM's WAN/LAN analyzer captures
     • Shomiti/Finisar Surveyor captures
     • Toshiba's ISDN routers dump output
     • VMS TCPIPtrace/TCPtrace/UCX$TRACE output
     • Visual Networks' Visual UpTime traffic capture
     • libpcap, tcpdump and various other tools using tcpdump's capture
       format
     • snoop and atmsnoop output

   so that it can read traces from various network types, as captured by
   other applications or equipment, even if it cannot itself capture on
   those network types.

   Q 1.14: Does Wireshark work on Windows Vista or Windows Server
   2008?[33]

   A: Yes, but if you want to capture packets as a normal user, you must
   make sure npf.sys is loaded. Wireshark's installer enables this by
   default. This is not a concern if you run Wireshark as Administrator,
   but this is discouraged. See the CapturePrivileges[34] page on the
   wiki for more details.

  2. Installing Wireshark

   Q 2.1: I installed the Wireshark RPM (or other package); why did it
   install TShark but not Wireshark?[35]

   A: Many distributions have separate Wireshark packages, one for
   non-GUI components such as TShark, editcap, dumpcap, etc. and one for
   the GUI. If this is the case on your system, there's probably a
   separate package named wireshark-gnome or wireshark-gtk+. Find it and
   install it.

  3. Building Wireshark

   Q 3.1: I have libpcap installed; why did the configure script not
   find pcap.h or bpf.h?[36]

   A: Are you sure pcap.h and bpf.h are installed? The official
   distribution of libpcap only installs the libpcap.a library file when
   "make install" is run. To install pcap.h and bpf.h, you must run
   "make install-incl". If you're running Debian or Redhat, make sure
   you have the "libpcap-dev" or "libpcap-devel" packages installed.
   It's also possible that pcap.h and bpf.h have been installed in a
   strange location. If this is the case, you may have to tweak
   aclocal.m4.

   Q 3.2: Why do I get the error dftest_DEPENDENCIES was already defined
   in condition TRUE, which implies condition HAVE_PLUGINS_TRUE when I
   try to build Wireshark from SVN or a SVN snapshot?[37]

   A: You probably have automake 1.5 installed on your machine (the
   command automake --version will report the version of automake on
   your machine). There is a bug in that version of automake that causes
   this problem; upgrade to a later version of automake (1.6 or later).

   Q 3.3: Why does the linker fail with a number of "Output line too
   long." messages followed by linker errors when I try to build
   Wireshark?[38]

   A: The version of the sed command on your system is incapable of
   handling very long lines. On Solaris, for example, /usr/bin/sed has a
   line length limit too low to allow libtool to work; /usr/xpg4/bin/sed
   can handle it, as can GNU sed if you have it installed.
   On Solaris, changing your command search path to search /usr/xpg4/bin
   before /usr/bin should make the problem go away; on any platform on
   which you have this problem, installing GNU sed and changing your
   command path to search the directory in which it is installed before
   searching the directory with the version of sed that came with the OS
   should make the problem go away.

   Q 3.4: When I try to build Wireshark on Solaris, why does the link
   fail complaining that plugin_list is undefined?[39]

   A: This appears to be due to a problem with some versions of the GTK+
   and GLib packages from www.sunfreeware.org; un-install those
   packages, and try getting the 1.2.10 versions from that site, or the
   versions from The Written Word[40], or the versions from Sun's GNOME
   distribution, or the versions from the supplemental software CD that
   comes with the Solaris media kit, or build them from source from the
   GTK Web site[41]. Then re-run the configuration script, and try
   rebuilding Wireshark. (If you get the 1.2.10 versions from
   www.sunfreeware.org, and the problem persists, un-install them and
   try installing one of the other versions mentioned.)

   Q 3.5: When I try to build Wireshark on Windows, why does the build
   fail because of conflicts between winsock.h and winsock2.h?[42]

   A: As of Wireshark 0.9.5, you must install WinPcap 2.3 or later, and
   the corresponding version of the developer's pack, in order to be
   able to compile Wireshark; it will not compile with older versions of
   the developer's pack. The symptoms of this failure are conflicts
   between definitions in winsock.h and in winsock2.h; Wireshark uses
   winsock2.h, but pre-2.3 versions of the WinPcap developer's packet
   use winsock.h. (2.3 uses winsock2.h, so if Wireshark were to use
   winsock.h, it would not be able to build with current versions of the
   WinPcap developer's pack.)
   Note that the installed version of the developer's pack should be the
   same version as the version of WinPcap you have installed.

  4. Starting Wireshark

   Q 4.1: Why does Wireshark crash with a Bus Error when I try to run it
   on Solaris 8?[43]

   A: Some versions of the GTK+ library from www.sunfreeware.org appear
   to be buggy, causing Wireshark to drop core with a Bus Error.
   Un-install those packages, and try getting the 1.2.10 version from
   that site, or the version from The Written Word[44], or the version
   from Sun's GNOME distribution, or the version from the supplemental
   software CD that comes with the Solaris media kit, or build it from
   source from the GTK Web site[45]. Update the GLib library to the
   1.2.10 version, from the same source, as well. (If you get the 1.2.10
   versions from www.sunfreeware.org, and the problem persists,
   un-install them and try installing one of the other versions
   mentioned.)
   Similar problems may exist with older versions of GTK+ for earlier
   versions of Solaris.

   Q 4.2: When I try to run Wireshark, why does it complain about
   sprint_realloc_objid being undefined?[46]

   A: Wireshark can only be linked with version 4.2.2 or later of UCD
   SNMP. Your version of Wireshark was dynamically linked with such a
   version of UCD SNMP; however, you have an older version of UCD SNMP
   installed, which means that when Wireshark is run, it tries to link
   to the older version, and fails. You will have to replace that
   version of UCD SNMP with version 4.2.2 or a later version.

   Q 4.3: I've installed Wireshark from Fink on macOS; why is it very
   slow to start up?[47]

   A: When an application is installed on macOS, prior to 10.4, it is
   usually "prebound" to speed up launching the application. (That's
   what the "Optimizing" phase of installation is.)
   Fink normally performs prebinding automatically when you install a
   package. However, in some rare cases, for whatever reason the
   prebinding caches get corrupt, and then not only does prebinding
   fail, but startup actually becomes much slower, because the system
   tries in vain to perform prebinding "on the fly" as you launch the
   application. This fails, causing sometimes huge delays.
   To fix the prebinding caches, run the command


	sudo /sw/var/lib/fink/prebound/update-package-prebinding.pl -f


  5. Crashes and other fatal errors

   Q 5.1: I have an XXX network card on my machine; if I try to capture
   on it, why does my machine crash or reset itself?[48]

   A: This is almost certainly a problem with one or more of:

     • the operating system you're using;
     • the device driver for the interface you're using;
     • the libpcap/WinPcap library and, if this is Windows, the WinPcap
       device driver;

   so:

     • if you are using Windows, see the WinPcap support page[49] -
       check the "Submitting bugs" section;
     • if you are using some Linux distribution, some version of BSD, or
       some other UNIX-flavored OS, you should report the problem to the
       company or organization that produces the OS (in the case of a
       Linux distribution, report the problem to whoever produces the
       distribution).

   Q 5.2: Why does my machine crash or reset itself when I select
   "Start" from the "Capture" menu or select "Preferences" from the
   "Edit" menu?[50]

   A: Both of those operations cause Wireshark to try to build a list of
   the interfaces that it can open; it does so by getting a list of
   interfaces and trying to open them. There is probably an OS, driver,
   or, for Windows, WinPcap bug that causes the system to crash when
   this happens; see the previous question.

  6. Capturing packets

   Q 6.1: When I use Wireshark to capture packets, why do I see only
   packets to and from my machine, or not see all the traffic I'm
   expecting to see from or to the machine I'm trying to monitor?[51]

   A: This might be because the interface on which you're capturing is
   plugged into an Ethernet or Token Ring switch; on a switched network,
   unicast traffic between two ports will not necessarily appear on
   other ports - only broadcast and multicast traffic will be sent to
   all ports.
   Note that even if your machine is plugged into a hub, the "hub" may
   be a switched hub, in which case you're still on a switched network.
   Note also that on the Linksys Web site, they say that their
   auto-sensing hubs "broadcast the 10Mb packets to the port that
   operate at 10Mb only and broadcast the 100Mb packets to the ports
   that operate at 100Mb only", which would indicate that if you sniff
   on a 10Mb port, you will not see traffic coming sent to a 100Mb port,
   and vice versa. This problem has also been reported for Netgear
   dual-speed hubs, and may exist for other "auto-sensing" or
   "dual-speed" hubs.
   Some switches have the ability to replicate all traffic on all ports
   to a single port so that you can plug your analyzer into that single
   port to sniff all traffic. You would have to check the documentation
   for the switch to see if this is possible and, if so, to see how to
   do this. See the switch reference page[52] on the Wireshark Wiki[53]
   for information on some switches. (Note that it's a Wiki, so you can
   update or fix that information, or add additional information on
   those switches or information on new switches, yourself.)
   Note also that many firewall/NAT boxes have a switch built into them;
   this includes many of the "cable/DSL router" boxes. If you have a box
   of that sort, that has a switch with some number of Ethernet ports
   into which you plug machines on your network, and another Ethernet
   port used to connect to a cable or DSL modem, you can, at least,
   sniff traffic between the machines on your network and the Internet
   by plugging the Ethernet port on the router going to the modem, the
   Ethernet port on the modem, and the machine on which you're running
   Wireshark into a hub (make sure it's not a switching hub, and that,
   if it's a dual-speed hub, all three of those ports are running at the
   same speed.
   If your machine is not plugged into a switched network or a
   dual-speed hub, or it is plugged into a switched network but the port
   is set up to have all traffic replicated to it, the problem might be
   that the network interface on which you're capturing doesn't support
   "promiscuous" mode, or because your OS can't put the interface into
   promiscuous mode. Normally, network interfaces supply to the host
   only:

     • packets sent to one of that host's link-layer addresses;
     • broadcast packets;
     • multicast packets sent to a multicast address that the host has
       configured the interface to accept.

   Most network interfaces can also be put in "promiscuous" mode, in
   which they supply to the host all network packets they see. Wireshark
   will try to put the interface on which it's capturing into
   promiscuous mode unless the "Capture packets in promiscuous mode"
   option is turned off in the "Capture Options" dialog box, and TShark
   will try to put the interface on which it's capturing into
   promiscuous mode unless the -p option was specified. However, some
   network interfaces don't support promiscuous mode, and some OSes
   might not allow interfaces to be put into promiscuous mode.
   If the interface is not running in promiscuous mode, it won't see any
   traffic that isn't intended to be seen by your machine. It will see
   broadcast packets, and multicast packets sent to a multicast MAC
   address the interface is set up to receive.
   You should ask the vendor of your network interface whether it
   supports promiscuous mode. If it does, you should ask whoever
   supplied the driver for the interface (the vendor, or the supplier of
   the OS you're running on your machine) whether it supports
   promiscuous mode with that network interface.
   In the case of token ring interfaces, the drivers for some of them,
   on Windows, may require you to enable promiscuous mode in order to
   capture in promiscuous mode. See the Wireshark Wiki item on Token
   Ring capturing[54] for details.
   In the case of wireless LAN interfaces, it appears that, when those
   interfaces are promiscuously sniffing, they're running in a
   significantly different mode from the mode that they run in when
   they're just acting as network interfaces (to the extent that it
   would be a significant effort for those drivers to support for
   promiscuously sniffing and acting as regular network interfaces at
   the same time), so it may be that Windows drivers for those
   interfaces don't support promiscuous mode.

   Q 6.2: When I capture with Wireshark, why can't I see any TCP packets
   other than packets to and from my machine, even though another
   analyzer on the network sees those packets?[55]

   A: You're probably not seeing any packets other than unicast packets
   to or from your machine, and broadcast and multicast packets; a
   switch will normally send to a port only unicast traffic sent to the
   MAC address for the interface on that port, and broadcast and
   multicast traffic - it won't send to that port unicast traffic sent
   to a MAC address for some other interface - and a network interface
   not in promiscuous mode will receive only unicast traffic sent to the
   MAC address for that interface, broadcast traffic, and multicast
   traffic sent to a multicast MAC address the interface is set up to
   receive.
   TCP doesn't use broadcast or multicast, so you will only see your own
   TCP traffic, but UDP services may use broadcast or multicast so
   you'll see some UDP traffic - however, this is not a problem with TCP
   traffic, it's a problem with unicast traffic, as you also won't see
   all UDP traffic between other machines.
   I.e., this is probably the same question as this earlier one[56]; see
   the response to that question.

   Q 6.3: Why am I only seeing ARP packets when I try to capture
   traffic?[57]

   A: You're probably on a switched network, and running Wireshark on a
   machine that's not sending traffic to the switch and not being sent
   any traffic from other machines on the switch. ARP packets are often
   broadcast packets, which are sent to all switch ports.
   I.e., this is probably the same question as this earlier one[58]; see
   the response to that question.

   Q 6.4: Why am I not seeing any traffic when I try to capture
   traffic?[59]

   A: Is the machine running Wireshark sending out any traffic on the
   network interface on which you're capturing, or receiving any traffic
   on that network, or is there any broadcast traffic on the network or
   multicast traffic to a multicast group to which the machine running
   Wireshark belongs?
   If not, this may just be a problem with promiscuous sniffing, either
   due to running on a switched network or a dual-speed hub, or due to
   problems with the interface not supporting promiscuous mode; see the
   response to this earlier question[60].
   Otherwise, on Windows, see the response to this question[61] and, on
   a UNIX-flavored OS, see the response to this question[62].

   Q 6.5: Can Wireshark capture on (my T1/E1 line, SS7 links, etc.)?[63]

   A: Wireshark can only capture on devices supported by
   libpcap/WinPcap. On most OSes, only devices that can act as network
   interfaces of the type that support IP are supported as capture
   devices for libpcap/WinPcap, although the device doesn't necessarily
   have to be running as an IP interface in order to support traffic
   capture.
   On Linux and FreeBSD, libpcap 0.8 and later support the API for
   Endace Measurement Systems' DAG cards[64], so that a system with one
   of those cards, and its driver and libraries, installed can capture
   traffic with those cards with libpcap-based applications. You would
   either have to have a version of Wireshark built with that version of
   libpcap, or a dynamically-linked version of Wireshark and a shared
   libpcap library with DAG support, in order to do so with Wireshark.
   You should ask Endace whether that could be used to capture traffic
   on, for example, your T1/E1 link.
   See the SS7 capture setup page[65] on the Wireshark Wiki[66] for
   current information on capturing SS7 traffic on TDM links.

   Q 6.6: How do I put an interface into promiscuous mode?[67]

   A: By not disabling promiscuous mode when running Wireshark or
   TShark.
   Note, however, that:

     • the form of promiscuous mode that libpcap (the library that
       programs such as tcpdump, Wireshark, etc. use to do packet
       capture) turns on will not necessarily be shown if you run
       ifconfig on the interface on a UNIX system;
     • some network interfaces might not support promiscuous mode, and
       some drivers might not allow promiscuous mode to be turned on -
       see this earlier question[68] for more information on that;
     • the fact that you're not seeing any traffic, or are only seeing
       broadcast traffic, or aren't seeing any non-broadcast traffic
       other than traffic to or from the machine running Wireshark, does
       not mean that promiscuous mode isn't on - see this earlier
       question[69] for more information on that.

   I.e., this is probably the same question as this earlier one[70]; see
   the response to that question.

   Q 6.7: I can set a display filter just fine; why don't capture
   filters work?[71]

   A: Capture filters currently use a different syntax than display
   filters. Here's the corresponding section from the wireshark(1)[72]
   man page:
   "Display filters in Wireshark are very powerful; more fields are
   filterable in Wireshark than in other protocol analyzers, and the
   syntax you can use to create your filters is richer. As Wireshark
   progresses, expect more and more protocol fields to be allowed in
   display filters.
   Packet capturing is performed with the pcap library. The capture
   filter syntax follows the rules of the pcap library. This syntax is
   different from the display filter syntax."
   The capture filter syntax used by libpcap can be found in the
   tcpdump(8)[73] man page.

   Q 6.8: I'm entering valid capture filters; why do I still get "parse
   error" errors?[74]

   A: There is a bug in some versions of libpcap/WinPcap that cause it
   to report parse errors even for valid expressions if a previous
   filter expression was invalid and got a parse error.
   Try exiting and restarting Wireshark; if you are using a version of
   libpcap/WinPcap with this bug, this will "erase" its memory of the
   previous parse error. If the capture filter that got the "parse
   error" now works, the earlier error with that filter was probably due
   to this bug.
   The bug was fixed in libpcap 0.6; 0.4[.x] and 0.5[.x] versions of
   libpcap have this bug, but 0.6[.x] and later versions don't.
   Versions of WinPcap prior to 2.3 are based on pre-0.6 versions of
   libpcap, and have this bug; WinPcap 2.3 is based on libpcap 0.6.2,
   and doesn't have this bug.
   If you are running Wireshark on a UNIX-flavored platform, run
   "wireshark -v", or select "About Wireshark..." from the "Help" menu
   in Wireshark, to see what version of libpcap it's using. If it's not
   0.6 or later, you will need either to upgrade your OS to get a later
   version of libpcap, or will need to build and install a later version
   of libpcap from the tcpdump.org Web site[75] and then recompile
   Wireshark from source with that later version of libpcap.
   If you are running Wireshark on Windows with a pre-2.3 version of
   WinPcap, you will need to un-install WinPcap and then download and
   install WinPcap 2.3.

   Q 6.9: How can I capture packets with CRC errors?[76]

   A: Wireshark can capture only the packets that the packet capture
   library - libpcap on UNIX-flavored OSes, and the WinPcap port to
   Windows of libpcap on Windows - can capture, and libpcap/WinPcap can
   capture only the packets that the OS's raw packet capture mechanism
   (or the WinPcap driver, and the underlying OS networking code and
   network interface drivers, on Windows) will allow it to capture.
   Unless the OS always supplies packets with errors such as invalid
   CRCs to the raw packet capture mechanism, or can be configured to do
   so, invalid CRCs to the raw packet capture mechanism, Wireshark - and
   other programs that capture raw packets, such as tcpdump - cannot
   capture those packets. You will have to determine whether your OS
   needs to be so configured and, if so, can be so configured, configure
   it if necessary and possible, and make whatever changes to libpcap
   and the packet capture program you're using are necessary, if any, to
   support capturing those packets.
   Most OSes probably do not support capturing packets with invalid CRCs
   on Ethernet, and probably do not support it on most other link-layer
   types. Some drivers on some OSes do support it, such as some Ethernet
   drivers on FreeBSD; in those OSes, you might always get those
   packets, or you might only get them if you capture in promiscuous
   mode (you'd have to determine which is the case).
   Note that libpcap does not currently supply to programs that use it
   an indication of whether the packet's CRC was invalid (because the
   drivers themselves do not supply that information to the raw packet
   capture mechanism); therefore, Wireshark will not indicate which
   packets had CRC errors unless the FCS was captured (see the next
   question) and you're using Wireshark 0.9.15 and later, in which case
   Wireshark will check the CRC and indicate whether it's correct or
   not.

   Q 6.10: How can I capture entire frames, including the FCS?[77]

   A: Wireshark can only capture data that the packet capture library -
   libpcap on UNIX-flavored OSes, and the WinPcap port to Windows of
   libpcap on Windows - can capture, and libpcap/WinPcap can capture
   only the data that the OS's raw packet capture mechanism (or the
   WinPcap driver, and the underlying OS networking code and network
   interface drivers, on Windows) will allow it to capture.
   For any particular link-layer network type, unless the OS supplies
   the FCS of a frame as part of the frame, or can be configured to do
   so, Wireshark - and other programs that capture raw packets, such as
   tcpdump - cannot capture the FCS of a frame. You will have to
   determine whether your OS needs to be so configured and, if so, can
   be so configured, configure it if necessary and possible, and make
   whatever changes to libpcap and the packet capture program you're
   using are necessary, if any, to support capturing the FCS of a frame.
   Most OSes do not support capturing the FCS of a frame on Ethernet,
   and probably do not support it on most other link-layer types. Some
   drivres on some OSes do support it, such as some (all?) Ethernet
   drivers on NetBSD and possibly the driver for Apple's gigabit
   Ethernet interface in macOS; in those OSes, you might always get the
   FCS, or you might only get the FCS if you capture in promiscuous mode
   (you'd have to determine which is the case).
   Versions of Wireshark prior to 0.9.15 will not treat an Ethernet FCS
   in a captured packet as an FCS. 0.9.15 and later will attempt to
   determine whether there's an FCS at the end of the frame and, if it
   thinks there is, will display it as such, and will check whether it's
   the correct CRC-32 value or not.

   Q 6.11: I'm capturing packets on a machine on a VLAN; why don't the
   packets I'm capturing have VLAN tags?[78]

   A: You might be capturing on what might be called a "VLAN interface"
   - the way a particular OS makes VLANs plug into the networking stack
   might, for example, be to have a network device object for the
   physical interface, which takes VLAN packets, strips off the VLAN
   header and constructs an Ethernet header, and passes that packet to
   an internal network device object for the VLAN, which then passes the
   packets onto various higher-level protocol implementations.
   In order to see the raw Ethernet packets, rather than "de-VLANized"
   packets, you would have to capture not on the virtual interface for
   the VLAN, but on the interface corresponding to the physical network
   device, if possible. See the Wireshark Wiki item on VLAN
   capturing[79] for details.

   Q 6.12: Why does Wireshark hang after I stop a capture?[80]

   A: The most likely reason for this is that Wireshark is trying to
   look up an IP address in the capture to convert it to a name (so
   that, for example, it can display the name in the source address or
   destination address columns), and that lookup process is taking a
   very long time.
   Wireshark calls a routine in the OS of the machine on which it's
   running to convert of IP addresses to the corresponding names. That
   routine probably does one or more of:

     • a search of a system file listing IP addresses and names;
     • a lookup using DNS;
     • on UNIX systems, a lookup using NIS;
     • on Windows systems, a NetBIOS-over-TCP query.

   If a DNS server that's used in an address lookup is not responding,
   the lookup will fail, but will only fail after a timeout while the
   system routine waits for a reply.
   In addition, on Windows systems, if the DNS lookup of the address
   fails, either because the server isn't responding or because there
   are no records in the DNS that could be used to map the address to a
   name, a NetBIOS-over-TCP query will be made. That query involves
   sending a message to the NetBIOS-over-TCP name service on that
   machine, asking for the name and other information about the machine.
   If the machine isn't running software that responds to those queries
   - for example, many non-Windows machines wouldn't be running that
   software - the lookup will only fail after a timeout. Those timeouts
   can cause the lookup to take a long time.
   If you disable network address-to-name translation - for example, by
   turning off the "Enable network name resolution" option in the
   "Capture Options" dialog box for starting a network capture - the
   lookups of the address won't be done, which may speed up the process
   of reading the capture file after the capture is stopped. You can
   make that setting the default by selecting "Preferences" from the
   "Edit" menu, turning off the "Enable network name resolution" option
   in the "Name resolution" options in the preferences disalog box, and
   using the "Save" button in that dialog box; note that this will save
   all your current preference settings.
   If Wireshark hangs when reading a capture even with network name
   resolution turned off, there might, for example, be a bug in one of
   Wireshark's dissectors for a protocol causing it to loop infinitely.
   If you're not running the most recent release of Wireshark, you
   should first upgrade to that release, as, if there's a bug of that
   sort, it might've been fixed in a release after the one you're
   running. If the hang occurs in the most recent release of Wireshark,
   the bug should be reported to the Wireshark developers' mailing
   list[81] at wireshark-dev@wireshark.org.
   On UNIX-flavored OSes, please try to force Wireshark to dump core, by
   sending it a SIGABRT signal (usually signal 6) with the kill command,
   and then get a stack trace if you have a debugger installed. A stack
   trace can be obtained by using your debugger (gdb in this example),
   the Wireshark binary, and the resulting core file. Here's an example
   of how to use the gdb command backtrace to do so.


        $ gdb wireshark core
        (gdb) backtrace
        ..... prints the stack trace
        (gdb) quit
        $


   The core dump file may be named "wireshark.core" rather than "core"
   on some platforms (e.g., BSD systems).
   Also, if at all possible, please send a copy of the capture file that
   caused the problem. When capturing packets, Wireshark normally writes
   captured packets to a temporary file, which will probably be in /tmp
   or /var/tmp on UNIX-flavored OSes, \TEMP on the main system disk
   (normally \Documents and Settings\your login name \Local
   Settings\Temp on the main system disk on Windows Windows XP and
   Server 2003, and \Users\your login name\AppData\Local\Temp on the
   main system disk on Windows Vista and later, so the capture file will
   probably be there. If you are capturing on a single interface, it
   will have a name of the form,
   wireshark_<iface>_YYYYmmddHHMMSS_XXXXXX.<fmt>, where <fmt> is the
   capture file format (pcap or pcapng), and <iface> is the actual name
   of the interface you are capturing on; otherwise, if you are
   capturing on multiple interfaces, it will have a name of the form,
   wireshark_<N>_interfaces_YYYYmmddHHMMSS_XXXXXX.<fmt>, where <N> is
   the number of simultaneous interfaces you are capturing on. Please
   don't send a trace file greater than 1 MB when compressed; instead,
   make it available via FTP or HTTP, or say it's available but leave it
   up to a developer to ask for it. If the trace file contains sensitive
   information (e.g., passwords), then please do not send it.

  7. Capturing packets on Windows

   Q 7.1: I'm running Wireshark on Windows; why does some network
   interface on my machine not show up in the list of interfaces in the
   "Interface:" field in the dialog box popped up by "Capture->Start",
   and/or why does Wireshark give me an error if I try to capture on
   that interface?[82]

   A: If you are running Wireshark on Windows XP, or Windows Server
   2003, and this is the first time you have run a WinPcap-based program
   (such as Wireshark, or TShark, or WinDump, or Analyzer, or...) since
   the machine was rebooted, you need to run that program from an
   account with administrator privileges; once you have run such a
   program, you will not need administrator privileges to run any such
   programs until you reboot.
   If you are running on Windows Windows XP or Windows Server 2003 and
   have administrator privileges or a WinPcap-based program has been run
   with those privileges since the machine rebooted, this problem might
   clear up if you completely un-install WinPcap and then re-install it.
   If that doesn't work, then note that Wireshark relies on the WinPcap
   library, on the WinPcap device driver, and on the facilities that
   come with the OS on which it's running in order to do captures.
   Therefore, if the OS, the WinPcap library, or the WinPcap driver
   don't support capturing on a particular network interface device,
   Wireshark won't be able to capture on that device.
   WinPcap 2.3 has problems supporting PPP WAN interfaces on Windows NT
   4.0, Windows 2000, Windows XP, and Windows Server 2003, and, to avoid
   those problems, support for PPP WAN interfaces on those versions of
   Windows has been disabled in WinPcap 3.0. Regular dial-up lines, ISDN
   lines, ADSL connections using PPPoE or PPPoA, and various other lines
   such as T1/E1 lines are all PPP interfaces, so those interfaces might
   not show up on the list of interfaces in the "Capture Options" dialog
   on those OSes.
   On Windows 2000, Windows XP, and Windows Server 2003, but not Windows
   NT 4.0 or Windows Vista Beta 1, you should be able to capture on the
   "GenericDialupAdapter" with WinPcap 3.1. (3.1 beta releases called it
   the "NdisWanAdapter"; if you're using a 3.1 beta release, you should
   un-install it and install the final 3.1 release.) See the Wireshark
   Wiki item on PPP capturing[83] for details.
   WinPcap prior to 3.0 does not support multiprocessor machines (note
   that machines with a single multi-threaded processor, such as Intel's
   new multi-threaded x86 processors, are multiprocessor machines as far
   as the OS and WinPcap are concerned), and recent 2.x versions of
   WinPcap refuse to operate if they detect that they're running on a
   multiprocessor machine, which means that they may not show any
   network interfaces. You will need to use WinPcap 3.0 to capture on a
   multiprocessor machine.
   If an interface doesn't show up in the list of interfaces in the
   "Interface:" field, and you know the name of the interface, try
   entering that name in the "Interface:" field and capturing on that
   device.
   If the attempt to capture on it succeeds, the interface is somehow
   not being reported by the mechanism Wireshark uses to get a list of
   interfaces. Try listing the interfaces with WinDump; see the WinDump
   Web site[84] for information on using WinDump.
   You would run WinDump with the -D flag; if it lists the interface,
   please report this to wireshark-dev@wireshark.org[85] giving full
   details of the problem, including

     • the operating system you're using, and the version of that
       operating system;
     • the type of network device you're using;
     • the output of WinDump.

   If WinDump does not list the interface, this is almost certainly a
   problem with one or more of:

     • the operating system you're using;
     • the device driver for the interface you're using;
     • the WinPcap library and/or the WinPcap device driver;

   so first check the WinPcap FAQ[86] to see if your problem is
   mentioned there. If not, then see the WinPcap support page[87] -
   check the "Submitting bugs" section.
   If you are having trouble capturing on a particular network
   interface, first try capturing on that device with WinDump; see the
   WinDump Web site[88] for information on using WinDump.
   If you can capture on the interface with WinDump, send mail to
   wireshark-users@wireshark.org[89] giving full details of the problem,
   including

     • the operating system you're using, and the version of that
       operating system;
     • the type of network device you're using;
     • the error message you get from Wireshark.

   If you cannot capture on the interface with WinDump, this is almost
   certainly a problem with one or more of:

     • the operating system you're using;
     • the device driver for the interface you're using;
     • the WinPcap library and/or the WinPcap device driver;

   so first check the WinPcap FAQ[90] to see if your problem is
   mentioned there. If not, then see the WinPcap support page[91] -
   check the "Submitting bugs" section.
   You may also want to ask the wireshark-users@wireshark.org[92] and
   the winpcap-users@winpcap.org[93] mailing lists to see if anybody
   happens to know about the problem and know a workaround or fix for
   the problem. (Note that you will have to subscribe to that list in
   order to be allowed to mail to it; see the WinPcap support page[94]
   for information on the mailing list.) In your mail, please give full
   details of the problem, as described above, and also indicate that
   the problem occurs with WinDump, not just with Wireshark.

   Q 7.2: I'm running Wireshark on Windows; why do no network interfaces
   show up in the list of interfaces in the "Interface:" field in the
   dialog box popped up by "Capture->Start"?[95]

   A: This is really the same question as a previous one[96]; see the
   response to that question.

   Q 7.3: I'm running Wireshark on Windows; why doesn't my serial
   port/ADSL modem/ISDN modem show up in the list of interfaces in the
   "Interface:" field in the dialog box popped up by
   "Capture->Start"?[97]

   A: Internet access on those devices is often done with the
   Point-to-Point (PPP) protocol; WinPcap 2.3 has problems supporting
   PPP WAN interfaces on Windows NT 4.0, Windows 2000, Windows XP, and
   Windows Server 2003, and, to avoid those problems, support for PPP
   WAN interfaces on those versions of Windows has been disabled in
   WinPcap 3.0.
   On Windows 2000, Windows XP, and Windows Server 2003, but not Windows
   NT 4.0 or Windows Vista Beta 1, you should be able to capture on the
   "GenericDialupAdapter" with WinPcap 3.1. (3.1 beta releases called it
   the "NdisWanAdapter"; if you're using a 3.1 beta release, you should
   un-install it and install the final 3.1 release.) See the Wireshark
   Wiki item on PPP capturing[98] for details.

   Q 7.4: I'm running Wireshark on Windows NT 4.0/Windows 2000/Windows
   XP/Windows Server 2003; my machine has a PPP (dial-up POTS, ISDN,
   etc.) interface, and it shows up in the "Interface" item in the
   "Capture Options" dialog box. Why can no packets be sent on or
   received from that network while I'm trying to capture traffic on
   that interface?[99]

   A: Some versions of WinPcap have problems with PPP WAN interfaces on
   Windows NT 4.0, Windows 2000, Windows XP, and Windows Server 2003;
   one symptom that may be seen is that attempts to capture in
   promiscuous mode on the interface cause the interface to be incapable
   of sending or receiving packets. You can disable promiscuous mode
   using the -p command-line flag or the item in the "Capture
   Preferences" dialog box, but this may mean that outgoing packets, or
   incoming packets, won't be seen in the capture.
   On Windows 2000, Windows XP, and Windows Server 2003, but not Windows
   NT 4.0 or Windows Vista Beta 1, you should be able to capture on the
   "GenericDialupAdapter" with WinPcap 3.1. (3.1 beta releases called it
   the "NdisWanAdapter"; if you're using a 3.1 beta release, you should
   un-install it and install the final 3.1 release.) See the Wireshark
   Wiki item on PPP capturing[100] for details.

   Q 7.5: I'm running Wireshark on Windows; why am I not seeing any
   traffic being sent by the machine running Wireshark?[101]

   A: If you are running some form of VPN client software, it might be
   causing this problem; people have seen this problem when they have
   Check Point's VPN software installed on their machine. If that's the
   cause of the problem, you will have to remove the VPN software in
   order to have Wireshark (or any other application using WinPcap) see
   outgoing packets; unfortunately, neither we nor the WinPcap
   developers know any way to make WinPcap and the VPN software work
   well together.
   Also, some drivers for Windows (especially some wireless network
   interface drivers) apparently do not, when running in promiscuous
   mode, arrange that outgoing packets are delivered to the software
   that requested that the interface run promiscuously; try turning
   promiscuous mode off.

   Q 7.6: When I capture on Windows in promiscuous mode, I can see
   packets other than those sent to or from my machine; however, those
   packets show up with a "Short Frame" indication, unlike packets to or
   from my machine. What should I do to arrange that I see those packets
   in their entirety?[102]

   A: In at least some cases, this appears to be the result of PGPnet
   running on the network interface on which you're capturing; turn it
   off on that interface.

   Q 7.7: I'm trying to capture 802.11 traffic on Windows; why am I not
   seeing any packets?[103]

   A: At least some 802.11 card drivers on Windows appear not to see any
   packets if they're running in promiscuous mode. Try turning
   promiscuous mode off; you'll only be able to see packets sent by and
   received by your machine, not third-party traffic, and it'll look
   like Ethernet traffic and won't include any management or control
   frames, but that's a limitation of the card drivers.
   See the archived MicroLogix's list of cards supported with
   WinPcap[104] for information on support of various adapters and
   drivers with WinPcap.

   Q 7.8: I'm trying to capture 802.11 traffic on Windows; why am I
   seeing packets received by the machine on which I'm capturing
   traffic, but not packets sent by that machine?[105]

   A: This appears to be another problem with promiscuous mode; try
   turning it off.

   Q 7.9: I'm trying to capture Ethernet VLAN traffic on Windows, and
   I'm capturing on a "raw" Ethernet device rather than a "VLAN
   interface", so that I can see the VLAN headers; why am I seeing
   packets received by the machine on which I'm capturing traffic, but
   not packets sent by that machine?[106]

   A: The way the Windows networking code works probably means that
   packets are sent on a "VLAN interface" rather than the "raw" device,
   so packets sent by the machine will only be seen when you capture on
   the "VLAN interface". If so, you will be unable to see outgoing
   packets when capturing on the "raw" device, so you are stuck with a
   choice between seeing VLAN headers and seeing outgoing packets.

  8. Capturing packets on UN*Xes

   Q 8.1: I'm running Wireshark on a UNIX-flavored OS; why does some
   network interface on my machine not show up in the list of interfaces
   in the "Interface:" field in the dialog box popped up by
   "Capture->Start", and/or why does Wireshark give me an error if I try
   to capture on that interface?[107]

   A: You may need to run Wireshark from an account with sufficient
   privileges to capture packets, such as the super-user account, or may
   need to give your account sufficient privileges to capture packets.
   Only those interfaces that Wireshark can open for capturing show up
   in that list; if you don't have sufficient privileges to capture on
   any interfaces, no interfaces will show up in the list. See the
   Wireshark Wiki item on capture privileges[108] for details on how to
   give a particular account or account group capture privileges on
   platforms where that can be done.
   If you are running Wireshark from an account with sufficient
   privileges, then note that Wireshark relies on the libpcap library,
   and on the facilities that come with the OS on which it's running in
   order to do captures. On some OSes, those facilities aren't present
   by default; see the Wireshark Wiki item on adding capture
   support[109] for details.
   And, even if you're running with an account that has sufficient
   privileges to capture, and capture support is present in your OS, if
   the OS or the libpcap library don't support capturing on a particular
   network interface device or particular types of devices, Wireshark
   won't be able to capture on that device.
   On Solaris, note that libpcap 0.6.2 and earlier didn't support Token
   Ring interfaces; the current version, 0.7.2, does support Token Ring,
   and the current version of Wireshark works with libpcap 0.7.2 and
   later.
   If an interface doesn't show up in the list of interfaces in the
   "Interface:" field, and you know the name of the interface, try
   entering that name in the "Interface:" field and capturing on that
   device.
   If the attempt to capture on it succeeds, the interface is somehow
   not being reported by the mechanism Wireshark uses to get a list of
   interfaces; please report this to wireshark-dev@wireshark.org[110]
   giving full details of the problem, including

     • the operating system you're using, and the version of that
       operating system (for Linux, give both the version number of the
       kernel and the name and version number of the distribution you're
       using);
     • the type of network device you're using.

   If you are having trouble capturing on a particular network
   interface, and you've made sure that (on platforms that require it)
   you've arranged that packet capture support is present, as per the
   above, first try capturing on that device with tcpdump.
   If you can capture on the interface with tcpdump, send mail to
   wireshark-users@wireshark.org[111] giving full details of the
   problem, including

     • the operating system you're using, and the version of that
       operating system (for Linux, give both the version number of the
       kernel and the name and version number of the distribution you're
       using);
     • the type of network device you're using;
     • the error message you get from Wireshark.

   If you cannot capture on the interface with tcpdump, this is almost
   certainly a problem with one or more of:

     • the operating system you're using;
     • the device driver for the interface you're using;
     • the libpcap library;

   so you should report the problem to the company or organization that
   produces the OS (in the case of a Linux distribution, report the
   problem to whoever produces the distribution).
   You may also want to ask the wireshark-users@wireshark.org[112] and
   the tcpdump-workers@lists.tcpdump.org[113] mailing lists to see if
   anybody happens to know about the problem and know a workaround or
   fix for the problem. In your mail, please give full details of the
   problem, as described above, and also indicate that the problem
   occurs with tcpdump not just with Wireshark.

   Q 8.2: I'm running Wireshark on a UNIX-flavored OS; why do no network
   interfaces show up in the list of interfaces in the "Interface:"
   field in the dialog box popped up by "Capture->Start"?[114]

   A: This is really the same question as the previous one[115]; see the
   response to that question.

   Q 8.3: I'm capturing packets on Linux; why do the time stamps have
   only 100ms resolution, rather than 1us resolution?[116]

   A: Wireshark gets time stamps from libpcap/WinPcap, and
   libpcap/WinPcap get them from the OS kernel, so Wireshark - and any
   other program using libpcap, such as tcpdump - is at the mercy of the
   time stamping code in the OS for time stamps.
   At least on x86-based machines, Linux can get high-resolution time
   stamps on newer processors with the Time Stamp Counter (TSC)
   register; for example, Intel x86 processors, starting with the
   Pentium Pro, and including all x86 processors since then, have had a
   TSC, and other vendors probably added the TSC at some point to their
   families of x86 processors. The Linux kernel must be configured with
   the CONFIG_X86_TSC option enabled in order to use the TSC. Make sure
   this option is enabled in your kernel.
   In addition, some Linux distributions may have bugs in their versions
   of the kernel that cause packets not to be given high-resolution time
   stamps even if the TSC is enabled. See, for example, bug 61111 for
   Red Hat Linux 7.2. If your distribution has a bug such as this, you
   may have to run a standard kernel from kernel.org in order to get
   high-resolution time stamps.

  9. Capturing packets on wireless LANs

   Q 9.1: How can I capture raw 802.11 frames, including non-data
   (management, beacon) frames?[117]

   A: That depends on the operating system on which you're running, and
   on the 802.11 interface on which you're capturing.
   This would probably require that you capture in promiscuous mode or
   in the mode called "monitor mode" or "RFMON mode". On some platforms,
   or with some cards, this might require that you capture in monitor
   mode - promiscuous mode might not be sufficient. If you want to
   capture traffic on networks other than the one with which you're
   associated, you will have to capture in monitor mode.
   Not all operating systems support capturing non-data packets and,
   even on operating systems that do support it, not all drivers, and
   thus not all interfaces, support it. Even on those that do, monitor
   mode might not be supported by the operating system or by the drivers
   for all interfaces.
   NOTE: an interface running in monitor mode will, on most if not all
   platforms, not be able to act as a regular network interface; putting
   it into monitor mode will, in effect, take your machine off of
   whatever network it's on as long as the interface is in monitor mode,
   allowing it only to passively capture packets.
   This means that you should disable name resolution when capturing in
   monitor mode; otherwise, when Wireshark (or TShark, or tcpdump) tries
   to display IP addresses as host names, it will probably block for a
   long time trying to resolve the name because it will not be able to
   communicate with any DNS or NIS servers.
   See the Wireshark Wiki item on 802.11 capturing[118] for details.

   Q 9.2: How do I capture on an 802.11 device in monitor mode?[119]

   A: Whether you will be able to capture in monitor mode depends on the
   operating system, adapter, and driver you're using. See the previous
   question[120] for information on monitor mode, including a link to
   the Wireshark Wiki page that gives details on 802.11 capturing.

  10. Viewing traffic

   Q 10.1: Why am I seeing lots of packets with incorrect TCP
   checksums?[121]

   A: If the packets that have incorrect TCP checksums are all being
   sent by the machine on which Wireshark is running, this is probably
   because the network interface on which you're capturing does TCP
   checksum offloading. That means that the TCP checksum is added to the
   packet by the network interface, not by the OS's TCP/IP stack; when
   capturing on an interface, packets being sent by the host on which
   you're capturing are directly handed to the capture interface by the
   OS, which means that they are handed to the capture interface without
   a TCP checksum being added to them.
   The only way to prevent this from happening would be to disable TCP
   checksum offloading, but

    1. that might not even be possible on some OSes;
    2. that could reduce networking performance significantly.

   However, you can disable the check that Wireshark does of the TCP
   checksum, so that it won't report any packets as having TCP checksum
   errors, and so that it won't refuse to do TCP reassembly due to a
   packet having an incorrect TCP checksum. That can be set as an
   Wireshark preference by selecting "Preferences" from the "Edit" menu,
   opening up the "Protocols" list in the left-hand pane of the
   "Preferences" dialog box, selecting "TCP", from that list, turning
   off the "Check the validity of the TCP checksum when possible"
   option, clicking "Save" if you want to save that setting in your
   preference file, and clicking "OK".
   It can also be set on the Wireshark or TShark command line with a -o
   tcp.check_checksum:false command-line flag, or manually set in your
   preferences file by adding a tcp.check_checksum:false line.

   Q 10.2: I've just installed Wireshark, and the traffic on my local
   LAN is boring. Where can I find more interesting captures?[122]

   A: We have a collection of strange and exotic sample capture files at
   https://wiki.wireshark.org/SampleCaptures[123]

   Q 10.3: Why doesn't Wireshark correctly identify RTP packets? It
   shows them only as UDP.[124]

   A: Wireshark can identify a UDP datagram as containing a packet of a
   particular protocol running atop UDP only if

    1. The protocol in question has a particular standard port number,
       and the UDP source or destination port number is that port
    2. Packets of that protocol can be identified by looking for a
       "signature" of some type in the packet - i.e., some data that, if
       Wireshark finds it in some particular part of a packet, means
       that the packet is almost certainly a packet of that type.
    3. Some other traffic earlier in the capture indicated that, for
       example, UDP traffic between two particular addresses and ports
       will be RTP traffic.

   RTP doesn't have a standard port number, so 1) doesn't work; it
   doesn't, as far as I know, have any "signature", so 2) doesn't work.
   That leaves 3). If there's RTSP traffic that sets up an RTP session,
   then, at least in some cases, the RTSP dissector will set things up
   so that subsequent RTP traffic will be identified. Currently, that's
   the only place we do that; there may be other places.
   However, there will always be places where Wireshark is simply
   incapable of deducing that a given UDP flow is RTP; a mechanism would
   be needed to allow the user to specify that a given conversation
   should be treated as RTP. As of Wireshark 0.8.16, such a mechanism
   exists; if you select a UDP or TCP packet, the right mouse button
   menu will have a "Decode As..." menu item, which will pop up a dialog
   box letting you specify that the source port, the destination port,
   or both the source and destination ports of the packet should be
   dissected as some particular protocol.

   Q 10.4: Why doesn't Wireshark show Yahoo Messenger packets in
   captures that contain Yahoo Messenger traffic?[125]

   A: Wireshark only recognizes as Yahoo Messenger traffic packets to or
   from TCP port 3050 that begin with "YPNS", "YHOO", or "YMSG". TCP
   segments that start with the middle of a Yahoo Messenger packet that
   takes more than one TCP segment will not be recognized as Yahoo
   Messenger packets (even if the TCP segment also contains the
   beginning of another Yahoo Messenger packet).

  11. Filtering traffic

   Q 11.1: I saved a filter and tried to use its name to filter the
   display; why do I get an "Unexpected end of filter string"
   error?[126]

   A: You cannot use the name of a saved display filter as a filter. To
   filter the display, you can enter a display filter expression - not
   the name of a saved display filter - in the "Filter:" box at the
   bottom of the display, and type the <Enter> key or press the "Apply"
   button (that does not require you to have a saved filter), or, if you
   want to use a saved filter, you can press the "Filter:" button,
   select the filter in the dialog box that pops up, and press the "OK"
   button.

   Q 11.2: How can I search for, or filter, packets that have a
   particular string anywhere in them?[127]

   A: If you want to do this when capturing, you can't. That's a feature
   that would be hard to implement in capture filters without changes to
   the capture filter code, which, on many platforms, is in the OS
   kernel and, on other platforms, is in the libpcap library.
   After capture, you can search for text by selecting Edit→Find
   Packet... and making sure String is selected. Alternately, you can
   use the "contains" display filter operator or "matches" operator if
   it's supported on your system.

   Q 11.3: How do I filter a capture to see traffic for virus XXX?[128]

   A: For some viruses/worms there might be a capture filter to
   recognize the virus traffic. Check the CaptureFilters[129] page on
   the Wireshark Wiki[130] to see if anybody's added such a filter.
   Note that Wireshark was not designed to be an intrusion detection
   system; you might be able to use it as an IDS, but in most cases
   software designed to be an IDS, such as Snort[131] or Prelude[132],
   will probably work better.

 References

   1. https://en.wikipedia.org/wiki/Disruptive_technology
   2. https://www.wireshark.org/about.html
   3. https://www.wireshark.org/about.html
   4. http://www.prweb.com/releases/2006/6/prweb396098.htm
   5. http://archive09.linux.com/articles/54968
   6. https://www.wireshark.org/bibliography.html
   7. https://www.wireshark.org/bibliography.html
   8. https://ask.wireshark.org/
   9. https://www.wireshark.org/mailman/listinfo
  10. irc://irc.freenode.net/wireshark
  11. http://www.wiresharktraining.com
  12. http://www.wiresharktraining.com
  13. http://www.wiresharktraining.com
  14. http://www.wiresharktraining.com
  15. https://www.gnu.org/licenses/gpl-2.0.html
  16. https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html
  17. https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html
  18. https://www.wireshark.org/download.html
  19. https://www.wireshark.org/download.html
  20. https://www.wireshark.org/download.html
  21. https://www.wireshark.org/download.html
  22. https://www.gnu.org/licenses/gpl-2.0.html
  23. https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html
  24. https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLComm
  ercially
  25. https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#Linking
  WithGPL
  26. https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLInPr
  oprietarySystem
  27. https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLInPr
  oprietarySystem
  28. https://www.wireshark.org/docs/man-pages/wireshark.html
  29. https://www.wireshark.org/docs/man-pages/wireshark.html
  30. https://www.wireshark.org/docs/man-pages/wireshark.html
  31. https://www.wireshark.org/docs/man-pages/wireshark.html
  32. https://wiki.wireshark.org/CaptureSetup/NetworkMedia
  33. https://wiki.wireshark.org/CaptureSetup/NetworkMedia
  34. https://wiki.wireshark.org/CaptureSetup/CapturePrivileges#windows
  35. https://wiki.wireshark.org/CaptureSetup/CapturePrivileges#windows
  36. https://wiki.wireshark.org/CaptureSetup/CapturePrivileges#windows
  37. https://wiki.wireshark.org/CaptureSetup/CapturePrivileges#windows
  38. https://wiki.wireshark.org/CaptureSetup/CapturePrivileges#windows
  39. https://wiki.wireshark.org/CaptureSetup/CapturePrivileges#windows
  40. http://www.thewrittenword.com
  41. http://www.gtk.org/
  42. http://www.gtk.org/
  43. http://www.gtk.org/
  44. http://www.thewrittenword.com
  45. http://www.gtk.org/
  46. http://www.gtk.org/
  47. http://www.gtk.org/
  48. http://www.gtk.org/
  49. https://www.winpcap.org/contact.htm
  50. https://www.winpcap.org/contact.htm
  51. https://www.winpcap.org/contact.htm
  52. https://wiki.wireshark.org/SwitchReference
  53. https://wiki.wireshark.org/
  54. https://wiki.wireshark.org/CaptureSetup/TokenRing
  55. https://wiki.wireshark.org/CaptureSetup/TokenRing
  56. https://wiki.wireshark.org/CaptureSetup/TokenRing
  57. https://wiki.wireshark.org/CaptureSetup/TokenRing
  58. https://wiki.wireshark.org/CaptureSetup/TokenRing
  59. https://wiki.wireshark.org/CaptureSetup/TokenRing
  60. https://wiki.wireshark.org/CaptureSetup/TokenRing
  61. https://wiki.wireshark.org/CaptureSetup/TokenRing
  62. https://wiki.wireshark.org/CaptureSetup/TokenRing
  63. https://wiki.wireshark.org/CaptureSetup/TokenRing
  64. http://www.endace.com/products.htm
  65. https://wiki.wireshark.org/CaptureSetup/SS7
  66. https://wiki.wireshark.org/
  67. https://wiki.wireshark.org/
  68. https://wiki.wireshark.org/
  69. https://wiki.wireshark.org/
  70. https://wiki.wireshark.org/
  71. https://wiki.wireshark.org/
  72. https://www.wireshark.org/docs/man-pages/wireshark.html
  73. http://www.tcpdump.org/tcpdump_man.html
  74. http://www.tcpdump.org/tcpdump_man.html
  75. http://www.tcpdump.org/
  76. http://www.tcpdump.org/
  77. http://www.tcpdump.org/
  78. http://www.tcpdump.org/
  79. https://wiki.wireshark.org/CaptureSetup/VLAN
  80. https://wiki.wireshark.org/CaptureSetup/VLAN
  81. https://wiki.wireshark.org/CaptureSetup/VLAN
  82. https://wiki.wireshark.org/CaptureSetup/VLAN
  83. https://wiki.wireshark.org/CaptureSetup/PPP
  84. https://www.windump.org/
  85. https://www.windump.org/
  86. https://www.winpcap.org/misc/faq.htm
  87. https://www.winpcap.org/contact.htm
  88. https://www.windump.org/
  89. https://www.windump.org/
  90. https://www.winpcap.org/misc/faq.htm
  91. https://www.winpcap.org/contact.htm
  92. https://www.winpcap.org/contact.htm
  93. https://www.winpcap.org/contact.htm
  94. https://www.winpcap.org/contact.htm
  95. https://www.winpcap.org/contact.htm
  96. https://www.winpcap.org/contact.htm
  97. https://www.winpcap.org/contact.htm
  98. https://wiki.wireshark.org/CaptureSetup/PPP
  99. https://wiki.wireshark.org/CaptureSetup/PPP
  100. https://wiki.wireshark.org/CaptureSetup/PPP
  101. https://wiki.wireshark.org/CaptureSetup/PPP
  102. https://wiki.wireshark.org/CaptureSetup/PPP
  103. https://wiki.wireshark.org/CaptureSetup/PPP
  104. https://web.archive.org/web/20090226193157/http://www.micro-logix
  .com/winpcap/Supported.asp
  105. https://web.archive.org/web/20090226193157/http://www.micro-logix
  .com/winpcap/Supported.asp
  106. https://web.archive.org/web/20090226193157/http://www.micro-logix
  .com/winpcap/Supported.asp
  107. https://web.archive.org/web/20090226193157/http://www.micro-logix
  .com/winpcap/Supported.asp
  108. https://wiki.wireshark.org/CaptureSetup/CapturePrivileges
  109. https://wiki.wireshark.org/CaptureSetup/CaptureSupport
  110. https://wiki.wireshark.org/CaptureSetup/CaptureSupport
  111. https://wiki.wireshark.org/CaptureSetup/CaptureSupport
  112. https://wiki.wireshark.org/CaptureSetup/CaptureSupport
  113. https://wiki.wireshark.org/CaptureSetup/CaptureSupport
  114. https://wiki.wireshark.org/CaptureSetup/CaptureSupport
  115. https://wiki.wireshark.org/CaptureSetup/CaptureSupport
  116. https://wiki.wireshark.org/CaptureSetup/CaptureSupport
  117. https://wiki.wireshark.org/CaptureSetup/CaptureSupport
  118. https://wiki.wireshark.org/CaptureSetup/WLAN
  119. https://wiki.wireshark.org/CaptureSetup/WLAN
  120. https://wiki.wireshark.org/CaptureSetup/WLAN
  121. https://wiki.wireshark.org/CaptureSetup/WLAN
  122. https://wiki.wireshark.org/CaptureSetup/WLAN
  123. https://wiki.wireshark.org/SampleCaptures
  124. https://wiki.wireshark.org/SampleCaptures
  125. https://wiki.wireshark.org/SampleCaptures
  126. https://wiki.wireshark.org/SampleCaptures
  127. https://wiki.wireshark.org/SampleCaptures
  128. https://wiki.wireshark.org/SampleCaptures
  129. https://wiki.wireshark.org/CaptureFilters
  130. https://wiki.wireshark.org/
  131. https://www.snort.org/
  132. https://www.prelude-siem.org/