Disable capture tests and unit tests until possible issues corrected.
[obnox/wireshark/wip.git] / FAQ
1
2    The Wireshark FAQ
3
4    Note: This is just an ASCII snapshot of the faq and may not be up to
5          date. Please go to http://www.wireshark.org/faq.html for the up
6          to date version. The version of this snapshot can be found at
7          the end of this document.
8
9    INDEX
10
11
12 1. General Questions:
13
14    1.1 What is Wireshark?
15
16    1.2 What's up with the name change? Is Wireshark a fork?
17
18    1.3 Where can I get help?
19
20    1.4 What kind of shark is Wireshark?
21
22    1.5 How is Wireshark pronounced, spelled and capitalized?
23
24    1.6 How much does Wireshark cost?
25
26    1.7 Can I use Wireshark commercially?
27
28    1.8 Can I use Wireshark as part of my commercial product?
29
30    1.9 What protocols are currently supported?
31
32    1.10 Are there any plans to support {your favorite protocol}?
33
34    1.11 Can Wireshark read capture files from {your favorite network
35    analyzer}?
36
37    1.12 What devices can Wireshark use to capture packets?
38
39    1.13 Does Wireshark work on Windows Me?
40
41    1.14 Does Wireshark work on Windows XP?
42
43 2. Downloading Wireshark:
44
45    2.1 Why do I get an error when I try to run the Win32 installer?
46
47 3. Installing Wireshark:
48
49    3.1 I installed the Wireshark RPM (or other package); why did it
50    install TShark but not Wireshark?
51
52 4. Building Wireshark:
53
54    4.1 I have libpcap installed; why did the configure script not find
55    pcap.h or bpf.h?
56
57    4.2 Why do I get the error
58
59      dftest_DEPENDENCIES was already defined in condition TRUE, which
60      implies condition HAVE_PLUGINS_TRUE
61
62    when I try to build Wireshark from SVN or a SVN snapshot?
63
64    4.3 Why does the linker fail with a number of "Output line too long."
65    messages followed by linker errors when I try to buil Wireshark?
66
67    4.4 When I try to build Wireshark on Solaris, why does the link fail
68    complaining that plugin_list is undefined?
69
70    4.5 When I try to build Wireshark on Windows, why does the build fail
71    because of conflicts between winsock.h and winsock2.h?
72
73 5. Starting Wireshark:
74
75    5.1 Why does Wireshark crash with a Bus Error when I try to run it on
76    Solaris 8?
77
78    5.2 When I run Wireshark on Windows NT, why does it die with a Dr.
79    Watson error, reporting an "Integer division by zero" exception, when I
80    start it?
81
82    5.3 When I try to run Wireshark, why does it complain about
83    sprint_realloc_objid being undefined?
84
85    5.4 When I try to run Wireshark on Windows, why does it fail to run
86    with a complaint that it can't find packet.dll?
87
88    5.5 I've installed Wireshark from Fink on Mac OS X; why is it very slow
89    to start up?
90
91 6. Crashes and other fatal errors:
92
93    6.1 I have an XXX network card on my machine; if I try to capture on
94    it, why does my machine crash or reset itself?
95
96    6.2 Why does my machine crash or reset itself when I select "Start"
97    from the "Capture" menu or select "Preferences" from the "Edit" menu?
98
99 7. Capturing packets:
100
101    7.1 When I use Wireshark to capture packets, why do I see only packets
102    to and from my machine, or not see all the traffic I'm expecting to see
103    from or to the machine I'm trying to monitor?
104
105    7.2 When I capture with Wireshark, why can't I see any TCP packets
106    other than packets to and from my machine, even though another analyzer
107    on the network sees those packets?
108
109    7.3 Why am I only seeing ARP packets when I try to capture traffic?
110
111    7.4 Why am I not seeing any traffic when I try to capture traffic?
112
113    7.5 Can Wireshark capture on (my T1/E1 line, SS7 links, etc.)?
114
115    7.6 How do I put an interface into promiscuous mode?
116
117    7.7 I can set a display filter just fine; why don't capture filters
118    work?
119
120    7.8 I'm entering valid capture filters; why do I still get "parse
121    error" errors?
122
123    7.9 How can I capture packets with CRC errors?
124
125    7.10 How can I capture entire frames, including the FCS?
126
127    7.11 I'm capturing packets on a machine on a VLAN; why don't the
128    packets I'm capturing have VLAN tags?
129
130    7.12 Why does Wireshark hang after I stop a capture?
131
132 8. Capturing packets on Windows:
133
134    8.1 I'm running Wireshark on Windows; why does some network interface
135    on my machine not show up in the list of interfaces in the "Interface:"
136    field in the dialog box popped up by "Capture->Start", and/or why does
137    Wireshark give me an error if I try to capture on that interface?
138
139    8.2 I'm running Wireshark on Windows; why do no network interfaces show
140    up in the list of interfaces in the "Interface:" field in the dialog
141    box popped up by "Capture->Start"?
142
143    8.3 I'm running Wireshark on Windows; why doesn't my serial port/ADSL
144    modem/ISDN modem show up in the list of interfaces in the "Interface:"
145    field in the dialog box popped up by "Capture->Start"?
146
147    8.4 I'm running Wireshark on Windows NT 4.0/Windows 2000/Windows
148    XP/Windows Server 2003; my machine has a PPP (dial-up POTS, ISDN, etc.)
149    interface, and it shows up in the "Interface" item in the "Capture
150    Options" dialog box. Why can no packets be sent on or received from
151    that network while I'm trying to capture traffic on that interface?
152
153    8.5 I'm running Wireshark on Windows 95/98/Me, on a machine with more
154    than one network adapter of the same type; why does Wireshark show all
155    of those adapters with the same name, not letting me use any of those
156    adapters other than the first one?
157
158    8.6 I'm running Wireshark on Windows; why am I not seeing any traffic
159    being sent by the machine running Wireshark?
160
161    8.7 When I capture on Windows in promiscuous mode, I can see packets
162    other than those sent to or from my machine; however, those packets
163    show up with a "Short Frame" indication, unlike packets to or from my
164    machine. What should I do to arrange that I see those packets in their
165    entirety?
166
167    8.8 I'm capturing packets on {Windows 95, Windows 98, Windows Me}; why
168    are the time stamps on packets wrong?
169
170    8.9 I'm trying to capture 802.11 traffic on Windows; why am I not
171    seeing any packets?
172
173    8.10 I'm trying to capture 802.11 traffic on Windows; why am I seeing
174    packets received by the machine on which I'm capturing traffic, but not
175    packets sent by that machine?
176
177    8.11 I'm trying to capture Ethernet VLAN traffic on Windows, and I'm
178    capturing on a "raw" Ethernet device rather than a "VLAN interface", so
179    that I can see the VLAN headers; why am I seeing packets received by
180    the machine on which I'm capturing traffic, but not packets sent by
181    that machine?
182
183 9. Capturing packets on UN*Xes:
184
185    9.1 I'm running Wireshark on a UNIX-flavored OS; why does some network
186    interface on my machine not show up in the list of interfaces in the
187    "Interface:" field in the dialog box popped up by "Capture->Start",
188    and/or why does Wireshark give me an error if I try to capture on that
189    interface?
190
191    9.2 I'm running Wireshark on a UNIX-flavored OS; why do no network
192    interfaces show up in the list of interfaces in the "Interface:" field
193    in the dialog box popped up by "Capture->Start"?
194
195    9.3 I'm capturing packets on Linux; why do the time stamps have only
196    100ms resolution, rather than 1us resolution?
197
198 10. Capturing packets on wireless LANs:
199
200    10.1 How can I capture raw 802.11 frames, including non-data
201    (management, beacon) frames?
202
203    10.2 How do I capture on an 802.11 device in monitor mode?
204
205 11. Viewing traffic:
206
207    11.1 Why am I seeing lots of packets with incorrect TCP checksums?
208
209    11.2 I've just installed Wireshark, and the traffic on my local LAN is
210    boring. Where can I find more interesting captures?
211
212    11.3 Why doesn't Wireshark correctly identify RTP packets? It shows
213    them only as UDP.
214
215    11.4 Why doesn't Wireshark show Yahoo Messenger packets in captures
216    that contain Yahoo Messenger traffic?
217
218 12. Filtering traffic:
219
220    12.1 I saved a filter and tried to use its name to filter the display;
221    why do I get an "Unexpected end of filter string" error?
222
223    12.2 How can I search for, or filter, packets that have a particular
224    string anywhere in them?
225
226    12.3 How do I filter a capture to see traffic for virus XXX?
227
228 1. General Questions
229
230    Q 1.1: What is Wireshark?
231
232    A: Wireshark is the world's most popular network protocol analyzer. It
233    has a rich and powerful feature set and runs on most computing
234    platforms including Windows, OS X, and Linux. Network professionals,
235    security experts, developers, and educators around the world use it
236    regularly. It is freely available as open source, and is released under
237    the GNU General Public License.
238
239    It is developed and maintained by a global team of protocol experts,
240    and it is an example of a disruptive technology. Wireshark used to be
241    known as Ethereal®. See the next question for details about the name
242    change. If you're still using Ethereal, it is strongly recommended that
243    you upgrade to Wireshark.
244
245    For more information, please see the About Wireshark page.
246
247    Q 1.2: What's up with the name change? Is Wireshark a fork?
248
249    A: In May of 2006, Gerald Combs (the original author of Ethereal®) went
250    to work for CACE Technologies (best known for WinPcap). Unfortunately,
251    he had to leave the Ethereal® trademarks behind.
252
253    This left the project in an awkward position. The only reasonable way
254    to ensure the continued success of the project was to change the name.
255    This is how Wireshark was born.
256
257    Wireshark is almost (but not quite) a fork. Normally a "fork" of an
258    open source project results in two names, web sites, development teams,
259    support infrastructures, etc. This is the case with Wireshark except
260    for one notable exception -- every member of the core development team
261    is now working on Wireshark. As far as anyone knows, there has been no
262    active development on Ethereal since the name change. Several parts of
263    the Ethereal web site (such as the mailing lists, source code
264    repository, and build farm) have gone offline.
265
266    More information on the name change can be found here:
267      *
268      *
269
270    Q 1.3: Where can I get help?
271
272    A: Community support is available on the wireshark-users mailing list.
273    Subscription information and archives for all of Wireshark's mailing
274    lists can be found at http://www.wireshark.org/mailman/listinfo. An IRC
275    channel dedicated to Wireshark can be found at
276    irc://irc.freenode.net/wireshark.
277
278    Self-paced and instructor-led training is available at Wireshark
279    University. A certification program will be announced in Q2 2007.
280
281    Commercial support and development services are available from CACE
282    Technologies.
283
284    Q 1.4: What kind of shark is Wireshark?
285
286    A: carcharodon photoshopia.
287
288    Q 1.5: How is Wireshark pronounced, spelled and capitalized?
289
290    A: Wireshark is pronounced as the word wire followed immediately by the
291    word shark. Exact pronunciation and emphasis may vary depending on your
292    locale (e.g. Arkansas).
293
294    It's spelled with a capital W, followed by a lower-case ireshark. It is
295    not a CamelCase word, i.e., WireShark is incorrect.
296
297    Q 1.6: How much does Wireshark cost?
298
299    A: Wireshark is "free software"; you can download it without paying any
300    license fee. The version of Wireshark you download isn't a "demo"
301    version, with limitations not present in a "full" version; it is the
302    full version.
303
304    The license under which Wireshark is issued is the GNU General Public
305    License. See the GNU GPL FAQ for some more information.
306
307    Q 1.7: Can I use Wireshark commercially?
308
309    A: Yes, if, for example, you mean "I work for a commercial
310    organization; can I use Wireshark to capture and analyze network
311    traffic in our company's networks or in our customer's networks?"
312
313    If you mean "Can I use Wireshark as part of my commercial product?",
314    see the next entry in the FAQ.
315
316    Q 1.8: Can I use Wireshark as part of my commercial product?
317
318    A: As noted, Wireshark is licensed under the GNU General Public
319    License. The GPL imposes conditions on your use of GPL'ed code in your
320    own products; you cannot, for example, make a "derived work" from
321    Wireshark, by making modifications to it, and then sell the resulting
322    derived work and not allow recipients to give away the resulting work.
323    You must also make the changes you've made to the Wireshark source
324    available to all recipients of your modified version; those changes
325    must also be licensed under the terms of the GPL. See the GPL FAQ for
326    more details; in particular, note the answer to the question about
327    modifying a GPLed program and selling it commercially, and the question
328    about linking GPLed code with other code to make a proprietary program.
329
330    You can combine a GPLed program such as Wireshark and a commercial
331    program as long as they communicate "at arm's length", as per this item
332    in the GPL FAQ.
333
334    Q 1.9: What protocols are currently supported?
335
336    A: There are currently hundreds of supported protocols and media.
337    Details can be found in the wireshark(1) man page.
338
339    Q 1.10: Are there any plans to support {your favorite protocol}?
340
341    A: Support for particular protocols is added to Wireshark as a result
342    of people contributing that support; no formal plans for adding support
343    for particular protocols in particular future releases exist.
344
345    Q 1.11: Can Wireshark read capture files from {your favorite network
346    analyzer}?
347
348    A: Support for particular protocols is added to Wireshark as a result
349    of people contributing that support; no formal plans for adding support
350    for particular protocols in particular future releases exist.
351
352    If a network analyzer writes out files in a format already supported by
353    Wireshark (e.g., in libpcap format), Wireshark may already be able to
354    read them, unless the analyzer has added its own proprietary extensions
355    to that format.
356
357    If a network analyzer writes out files in its own format, or has added
358    proprietary extensions to another format, in order to make Wireshark
359    read captures from that network analyzer, we would either have to have
360    a specification for the file format, or the extensions, sufficient to
361    give us enough information to read the parts of the file relevant to
362    Wireshark, or would need at least one capture file in that format AND a
363    detailed textual analysis of the packets in that capture file (showing
364    packet time stamps, packet lengths, and the top-level packet header) in
365    order to reverse-engineer the file format.
366
367    Note that there is no guarantee that we will be able to
368    reverse-engineer a capture file format.
369
370    Q 1.12: What devices can Wireshark use to capture packets?
371
372    A: Wireshark can read live data from Ethernet, Token-Ring, FDDI, serial
373    (PPP and SLIP) (if the OS on which it's running allows Wireshark to do
374    so), 802.11 wireless LAN (if the OS on which it's running allows
375    Wireshark to do so), ATM connections (if the OS on which it's running
376    allows Wireshark to do so), and the "any" device supported on Linux by
377    recent versions of libpcap.
378
379    It can also read a variety of capture file formats, including:
380      * AG Group/WildPackets EtherPeek/TokenPeek/AiroPeek/EtherHelp/Packet
381        Grabber captures
382      * AIX's iptrace captures
383      * Accellent's 5Views LAN agent output
384      * Cinco Networks NetXRay captures
385      * Cisco Secure Intrusion Detection System IPLog output
386      * CoSine L2 debug output
387      * DBS Etherwatch VMS text output
388      * Endace Measurement Systems' ERF format captures
389      * EyeSDN USB S0 traces
390      * HP-UX nettl captures
391      * ISDN4BSD project i4btrace captures
392      * Linux Bluez Bluetooth stack hcidump -w traces
393      * Lucent/Ascend router debug output
394      * Microsoft Network Monitor captures
395      * Network Associates Windows-based Sniffer captures
396      * Network General/Network Associates DOS-based Sniffer (compressed or
397        uncompressed) captures
398      * Network Instruments Observer version 9 captures
399      * Novell LANalyzer captures
400      * RADCOM's WAN/LAN analyzer captures
401      * Shomiti/Finisar Surveyor captures
402      * Toshiba's ISDN routers dump output
403      * VMS TCPIPtrace/TCPtrace/UCX$TRACE output
404      * Visual Networks' Visual UpTime traffic capture
405      * libpcap, tcpdump and various other tools using tcpdump's capture
406        format
407      * snoop and atmsnoop output
408
409    so that it can read traces from various network types, as captured by
410    other applications or equipment, even if it cannot itself capture on
411    those network types.
412
413    Q 1.13: Does Wireshark work on Windows Me?
414
415    A: Yes, but if you want to capture packets, you will need to install
416    the latest version of WinPcap, as 2.02 and earlier versions of WinPcap
417    didn't support Windows Me. You should also install the latest version
418    of Wireshark as well.
419
420    Q 1.14: Does Wireshark work on Windows XP?
421
422    A: Yes, but if you want to capture packets, you will need to install
423    the latest version of WinPcap, as 2.2 and earlier versions of WinPcap
424    didn't support Windows XP.
425
426 2. Downloading Wireshark
427
428    Q 2.1: Why do I get an error when I try to run the Win32 installer?
429
430    A: The program you used to download it may have downloaded it
431    incorrectly. Web browsers sometimes may do this.
432
433    Try downloading it with, for example:
434      * Wget, for which Windows binaries are available on the SunSITE FTP
435        server at sunsite.tk or Heiko Herold's windows wget spot - wGetGUI
436        offers a GUI interface that uses wget;
437      * WS_FTP from Ipswitch,
438      * the ftp command that comes with Windows.
439
440    If you use the ftp command, make sure you do the transfer in binary
441    mode rather than ASCII mode, by using the binary command before
442    transferring the file.
443
444 3. Installing Wireshark
445
446    Q 3.1: I installed the Wireshark RPM (or other package); why did it
447    install TShark but not Wireshark?
448
449    A: Many distributions have separate Wireshark packages, one for non-GUI
450    components such as TShark, editcap, dumpcap, etc. and one for the GUI.
451    If this is the case on your system, there's probably a separate package
452    named wireshark-gnome or wireshark-gtk+. Find it and install it.
453
454 4. Building Wireshark
455
456    Q 4.1: I have libpcap installed; why did the configure script not find
457    pcap.h or bpf.h?
458
459    A: Are you sure pcap.h and bpf.h are installed? The official
460    distribution of libpcap only installs the libpcap.a library file when
461    "make install" is run. To install pcap.h and bpf.h, you must run "make
462    install-incl". If you're running Debian or Redhat, make sure you have
463    the "libpcap-dev" or "libpcap-devel" packages installed.
464
465    It's also possible that pcap.h and bpf.h have been installed in a
466    strange location. If this is the case, you may have to tweak
467    aclocal.m4.
468
469    Q 4.2: Why do I get the error
470
471      dftest_DEPENDENCIES was already defined in condition TRUE, which
472      implies condition HAVE_PLUGINS_TRUE
473
474    when I try to build Wireshark from SVN or a SVN snapshot?
475
476    A: You probably have automake 1.5 installed on your machine (the
477    command automake --version will report the version of automake on your
478    machine). There is a bug in that version of automake that causes this
479    problem; upgrade to a later version of automake (1.6 or later).
480
481    Q 4.3: Why does the linker fail with a number of "Output line too
482    long." messages followed by linker errors when I try to buil Wireshark?
483
484    A: The version of the sed command on your system is incapable of
485    handling very long lines. On Solaris, for example, /usr/bin/sed has a
486    line length limit too low to allow libtool to work; /usr/xpg4/bin/sed
487    can handle it, as can GNU sed if you have it installed.
488
489    On Solaris, changing your command search path to search /usr/xpg4/bin
490    before /usr/bin should make the problem go away; on any platform on
491    which you have this problem, installing GNU sed and changing your
492    command path to search the directory in which it is installed before
493    searching the directory with the version of sed that came with the OS
494    should make the problem go away.
495
496    Q 4.4: When I try to build Wireshark on Solaris, why does the link fail
497    complaining that plugin_list is undefined?
498
499    A: This appears to be due to a problem with some versions of the GTK+
500    and GLib packages from www.sunfreeware.org; un-install those packages,
501    and try getting the 1.2.10 versions from that site, or the versions
502    from The Written Word, or the versions from Sun's GNOME distribution,
503    or the versions from the supplemental software CD that comes with the
504    Solaris media kit, or build them from source from the GTK Web site.
505    Then re-run the configuration script, and try rebuilding Wireshark. (If
506    you get the 1.2.10 versions from www.sunfreeware.org, and the problem
507    persists, un-install them and try installing one of the other versions
508    mentioned.)
509
510    Q 4.5: When I try to build Wireshark on Windows, why does the build
511    fail because of conflicts between winsock.h and winsock2.h?
512
513    A: As of Wireshark 0.9.5, you must install WinPcap 2.3 or later, and
514    the corresponding version of the developer's pack, in order to be able
515    to compile Wireshark; it will not compile with older versions of the
516    developer's pack. The symptoms of this failure are conflicts between
517    definitions in winsock.h and in winsock2.h; Wireshark uses winsock2.h,
518    but pre-2.3 versions of the WinPcap developer's packet use winsock.h.
519    (2.3 uses winsock2.h, so if Wireshark were to use winsock.h, it would
520    not be able to build with current versions of the WinPcap developer's
521    pack.)
522
523    Note that the installed version of the developer's pack should be the
524    same version as the version of WinPcap you have installed.
525
526 5. Starting Wireshark
527
528    Q 5.1: Why does Wireshark crash with a Bus Error when I try to run it
529    on Solaris 8?
530
531    A: Some versions of the GTK+ library from www.sunfreeware.org appear to
532    be buggy, causing Wireshark to drop core with a Bus Error. Un-install
533    those packages, and try getting the 1.2.10 version from that site, or
534    the version from The Written Word, or the version from Sun's GNOME
535    distribution, or the version from the supplemental software CD that
536    comes with the Solaris media kit, or build it from source from the GTK
537    Web site. Update the GLib library to the 1.2.10 version, from the same
538    source, as well. (If you get the 1.2.10 versions from
539    www.sunfreeware.org, and the problem persists, un-install them and try
540    installing one of the other versions mentioned.)
541
542    Similar problems may exist with older versions of GTK+ for earlier
543    versions of Solaris.
544
545    Q 5.2: When I run Wireshark on Windows NT, why does it die with a Dr.
546    Watson error, reporting an "Integer division by zero" exception, when I
547    start it?
548
549    A: In at least some case, this appears to be due to using the default
550    VGA driver; if that's not the correct driver for your video card, try
551    running the correct driver for your video card.
552
553    Q 5.3: When I try to run Wireshark, why does it complain about
554    sprint_realloc_objid being undefined?
555
556    A: Wireshark can only be linked with version 4.2.2 or later of UCD
557    SNMP. Your version of Wireshark was dynamically linked with such a
558    version of UCD SNMP; however, you have an older version of UCD SNMP
559    installed, which means that when Wireshark is run, it tries to link to
560    the older version, and fails. You will have to replace that version of
561    UCD SNMP with version 4.2.2 or a later version.
562
563    Q 5.4: When I try to run Wireshark on Windows, why does it fail to run
564    with a complaint that it can't find packet.dll?
565
566    A: In older versions of Wireshark, there were two binary distributions
567    available for Windows, one that supported capturing packets, and one
568    that didn't. The version that supported capturing packets required that
569    you install the WinPcap driver; if you didn't install it, it would fail
570    to run because it couldn't find packet.dll.
571
572    The current version of Wireshark has only one binary distribution for
573    Windows; that version will check whether WinPcap is installed and, if
574    it's not, will disable support for packet capture.
575
576    The WinPcap driver and libraries can be downloaded from the WinPcap Web
577    site or the Wiretapped.net mirror of the WinPcap site.
578
579    Q 5.5: I've installed Wireshark from Fink on Mac OS X; why is it very
580    slow to start up?
581
582    A: When an application is installed on OS X, prior to 10.4, it is
583    usually "prebound" to speed up launching the application. (That's what
584    the "Optimizing" phase of installation is.) Fink normally performs
585    prebinding automatically when you install a package. However, in some
586    rare cases, for whatever reason the prebinding caches get corrupt, and
587    then not only does prebinding fail, but startup actually becomes much
588    slower, because the system tries in vain to perform prebinding "on the
589    fly" as you launch the application. This fails, causing sometimes huge
590    delays. To fix the prebinding caches, run the command
591         sudo /sw/var/lib/fink/prebound/update-package-prebinding.pl -f
592
593 6. Crashes and other fatal errors
594
595    Q 6.1: I have an XXX network card on my machine; if I try to capture on
596    it, why does my machine crash or reset itself?
597
598    A: This is almost certainly a problem with one or more of:
599      * the operating system you're using;
600      * the device driver for the interface you're using;
601      * the libpcap/WinPcap library and, if this is Windows, the WinPcap
602        device driver;
603
604    so:
605      * if you are using Windows, see the WinPcap support page - check the
606        "Submitting bugs" section;
607      * if you are using some Linux distribution, some version of BSD, or
608        some other UNIX-flavored OS, you should report the problem to the
609        company or organization that produces the OS (in the case of a
610        Linux distribution, report the problem to whoever produces the
611        distribution).
612
613    Q 6.2: Why does my machine crash or reset itself when I select "Start"
614    from the "Capture" menu or select "Preferences" from the "Edit" menu?
615
616    A: Both of those operations cause Wireshark to try to build a list of
617    the interfaces that it can open; it does so by getting a list of
618    interfaces and trying to open them. There is probably an OS, driver,
619    or, for Windows, WinPcap bug that causes the system to crash when this
620    happens; see the previous question.
621
622 7. Capturing packets
623
624    Q 7.1: When I use Wireshark to capture packets, why do I see only
625    packets to and from my machine, or not see all the traffic I'm
626    expecting to see from or to the machine I'm trying to monitor?
627
628    A: This might be because the interface on which you're capturing is
629    plugged into an Ethernet or Token Ring switch; on a switched network,
630    unicast traffic between two ports will not necessarily appear on other
631    ports - only broadcast and multicast traffic will be sent to all ports.
632
633    Note that even if your machine is plugged into a hub, the "hub" may be
634    a switched hub, in which case you're still on a switched network.
635
636    Note also that on the Linksys Web site, they say that their
637    auto-sensing hubs "broadcast the 10Mb packets to the port that operate
638    at 10Mb only and broadcast the 100Mb packets to the ports that operate
639    at 100Mb only", which would indicate that if you sniff on a 10Mb port,
640    you will not see traffic coming sent to a 100Mb port, and vice versa.
641    This problem has also been reported for Netgear dual-speed hubs, and
642    may exist for other "auto-sensing" or "dual-speed" hubs.
643
644    Some switches have the ability to replicate all traffic on all ports to
645    a single port so that you can plug your analyzer into that single port
646    to sniff all traffic. You would have to check the documentation for the
647    switch to see if this is possible and, if so, to see how to do this.
648    See the switch reference page on the Wireshark Wiki for information on
649    some switches. (Note that it's a Wiki, so you can update or fix that
650    information, or add additional information on those switches or
651    information on new switches, yourself.)
652
653    Note also that many firewall/NAT boxes have a switch built into them;
654    this includes many of the "cable/DSL router" boxes. If you have a box
655    of that sort, that has a switch with some number of Ethernet ports into
656    which you plug machines on your network, and another Ethernet port used
657    to connect to a cable or DSL modem, you can, at least, sniff traffic
658    between the machines on your network and the Internet by plugging the
659    Ethernet port on the router going to the modem, the Ethernet port on
660    the modem, and the machine on which you're running Wireshark into a hub
661    (make sure it's not a switching hub, and that, if it's a dual-speed
662    hub, all three of those ports are running at the same speed.
663
664    If your machine is not plugged into a switched network or a dual-speed
665    hub, or it is plugged into a switched network but the port is set up to
666    have all traffic replicated to it, the problem might be that the
667    network interface on which you're capturing doesn't support
668    "promiscuous" mode, or because your OS can't put the interface into
669    promiscuous mode. Normally, network interfaces supply to the host only:
670      * packets sent to one of that host's link-layer addresses;
671      * broadcast packets;
672      * multicast packets sent to a multicast address that the host has
673        configured the interface to accept.
674
675    Most network interfaces can also be put in "promiscuous" mode, in which
676    they supply to the host all network packets they see. Wireshark will
677    try to put the interface on which it's capturing into promiscuous mode
678    unless the "Capture packets in promiscuous mode" option is turned off
679    in the "Capture Options" dialog box, and TShark will try to put the
680    interface on which it's capturing into promiscuous mode unless the -p
681    option was specified. However, some network interfaces don't support
682    promiscuous mode, and some OSes might not allow interfaces to be put
683    into promiscuous mode.
684
685    If the interface is not running in promiscuous mode, it won't see any
686    traffic that isn't intended to be seen by your machine. It will see
687    broadcast packets, and multicast packets sent to a multicast MAC
688    address the interface is set up to receive.
689
690    You should ask the vendor of your network interface whether it supports
691    promiscuous mode. If it does, you should ask whoever supplied the
692    driver for the interface (the vendor, or the supplier of the OS you're
693    running on your machine) whether it supports promiscuous mode with that
694    network interface.
695
696    In the case of token ring interfaces, the drivers for some of them, on
697    Windows, may require you to enable promiscuous mode in order to capture
698    in promiscuous mode. See the Wireshark Wiki item on Token Ring
699    capturing for details.
700
701    In the case of wireless LAN interfaces, it appears that, when those
702    interfaces are promiscuously sniffing, they're running in a
703    significantly different mode from the mode that they run in when
704    they're just acting as network interfaces (to the extent that it would
705    be a significant effor for those drivers to support for promiscuously
706    sniffing and acting as regular network interfaces at the same time), so
707    it may be that Windows drivers for those interfaces don't support
708    promiscuous mode.
709
710    Q 7.2: When I capture with Wireshark, why can't I see any TCP packets
711    other than packets to and from my machine, even though another analyzer
712    on the network sees those packets?
713
714    A: You're probably not seeing any packets other than unicast packets to
715    or from your machine, and broadcast and multicast packets; a switch
716    will normally send to a port only unicast traffic sent to the MAC
717    address for the interface on that port, and broadcast and multicast
718    traffic - it won't send to that port unicast traffic sent to a MAC
719    address for some other interface - and a network interface not in
720    promiscuous mode will receive only unicast traffic sent to the MAC
721    address for that interface, broadcast traffic, and multicast traffic
722    sent to a multicast MAC address the interface is set up to receive.
723
724    TCP doesn't use broadcast or multicast, so you will only see your own
725    TCP traffic, but UDP services may use broadcast or multicast so you'll
726    see some UDP traffic - however, this is not a problem with TCP traffic,
727    it's a problem with unicast traffic, as you also won't see all UDP
728    traffic between other machines.
729
730    I.e., this is probably the same question as this earlier one; see the
731    response to that question.
732
733    Q 7.3: Why am I only seeing ARP packets when I try to capture traffic?
734
735    A: You're probably on a switched network, and running Wireshark on a
736    machine that's not sending traffic to the switch and not being sent any
737    traffic from other machines on the switch. ARP packets are often
738    broadcast packets, which are sent to all switch ports.
739
740    I.e., this is probably the same question as this earlier one; see the
741    response to that question.
742
743    Q 7.4: Why am I not seeing any traffic when I try to capture traffic?
744
745    A: Is the machine running Wireshark sending out any traffic on the
746    network interface on which you're capturing, or receiving any traffic
747    on that network, or is there any broadcast traffic on the network or
748    multicast traffic to a multicast group to which the machine running
749    Wireshark belongs?
750
751    If not, this may just be a problem with promiscuous sniffing, either
752    due to running on a switched network or a dual-speed hub, or due to
753    problems with the interface not supporting promiscuous mode; see the
754    response to this earlier question.
755
756    Otherwise, on Windows, see the response to this question and, on a
757    UNIX-flavored OS, see the response to this question.
758
759    Q 7.5: Can Wireshark capture on (my T1/E1 line, SS7 links, etc.)?
760
761    A: Wireshark can only capture on devices supported by libpcap/WinPcap.
762    On most OSes, only devices that can act as network interfaces of the
763    type that support IP are supported as capture devices for
764    libpcap/WinPcap, although the device doesn't necessarily have to be
765    running as an IP interface in order to support traffic capture.
766
767    On Linux and FreeBSD, libpcap 0.8 and later support the API for Endace
768    Measurement Systems' DAG cards, so that a system with one of those
769    cards, and its driver and libraries, installed can capture traffic with
770    those cards with libpcap-based applications. You would either have to
771    have a version of Wireshark built with that version of libpcap, or a
772    dynamically-linked version of Wireshark and a shared libpcap library
773    with DAG support, in order to do so with Wireshark. You should ask
774    Endace whether that could be used to capture traffic on, for example,
775    your T1/E1 link. See the SS7 capture setup page on the Wireshark Wiki
776    for current information on capturing SS7 traffic on TDM links.
777
778    Q 7.6: How do I put an interface into promiscuous mode?
779
780    A: By not disabling promiscuous mode when running Wireshark or TShark.
781
782    Note, however, that:
783      * the form of promiscuous mode that libpcap (the library that
784        programs such as tcpdump, Wireshark, etc. use to do packet capture)
785        turns on will not necessarily be shown if you run ifconfig on the
786        interface on a UNIX system;
787      * some network interfaces might not support promiscuous mode, and
788        some drivers might not allow promiscuous mode to be turned on - see
789        this earlier question for more information on that;
790      * the fact that you're not seeing any traffic, or are only seeing
791        broadcast traffic, or aren't seeing any non-broadcast traffic other
792        than traffic to or from the machine running Wireshark, does not
793        mean that promiscuous mode isn't on - see this earlier question for
794        more information on that.
795
796    I.e., this is probably the same question as this earlier one; see the
797    response to that question.
798
799    Q 7.7: I can set a display filter just fine; why don't capture filters
800    work?
801
802    A: Capture filters currently use a different syntax than display
803    filters. Here's the corresponding section from the wireshark(1) man
804    page:
805
806    "Display filters in Wireshark are very powerful; more fields are
807    filterable in Wireshark than in other protocol analyzers, and the
808    syntax you can use to create your filters is richer. As Wireshark
809    progresses, expect more and more protocol fields to be allowed in
810    display filters.
811
812    Packet capturing is performed with the pcap library. The capture filter
813    syntax follows the rules of the pcap library. This syntax is different
814    from the display filter syntax."
815
816    The capture filter syntax used by libpcap can be found in the
817    tcpdump(8) man page.
818
819    Q 7.8: I'm entering valid capture filters; why do I still get "parse
820    error" errors?
821
822    A: There is a bug in some versions of libpcap/WinPcap that cause it to
823    report parse errors even for valid expressions if a previous filter
824    expression was invalid and got a parse error.
825
826    Try exiting and restarting Wireshark; if you are using a version of
827    libpcap/WinPcap with this bug, this will "erase" its memory of the
828    previous parse error. If the capture filter that got the "parse error"
829    now works, the earlier error with that filter was probably due to this
830    bug.
831
832    The bug was fixed in libpcap 0.6; 0.4[.x] and 0.5[.x] versions of
833    libpcap have this bug, but 0.6[.x] and later versions don't.
834
835    Versions of WinPcap prior to 2.3 are based on pre-0.6 versions of
836    libpcap, and have this bug; WinPcap 2.3 is based on libpcap 0.6.2, and
837    doesn't have this bug.
838
839    If you are running Wireshark on a UNIX-flavored platform, run
840    "wireshark -v", or select "About Wireshark..." from the "Help" menu in
841    Wireshark, to see what version of libpcap it's using. If it's not 0.6
842    or later, you will need either to upgrade your OS to get a later
843    version of libpcap, or will need to build and install a later version
844    of libpcap from the tcpdump.org Web site and then recompile Wireshark
845    from source with that later version of libpcap.
846
847    If you are running Wireshark on Windows with a pre-2.3 version of
848    WinPcap, you will need to un-install WinPcap and then download and
849    install WinPcap 2.3.
850
851    Q 7.9: How can I capture packets with CRC errors?
852
853    A: Wireshark can capture only the packets that the packet capture
854    library - libpcap on UNIX-flavored OSes, and the WinPcap port to
855    Windows of libpcap on Windows - can capture, and libpcap/WinPcap can
856    capture only the packets that the OS's raw packet capture mechanism (or
857    the WinPcap driver, and the underlying OS networking code and network
858    interface drivers, on Windows) will allow it to capture.
859
860    Unless the OS always supplies packets with errors such as invalid CRCs
861    to the raw packet capture mechanism, or can be configured to do so,
862    invalid CRCs to the raw packet capture mechanism, Wireshark - and other
863    programs that capture raw packets, such as tcpdump - cannot capture
864    those packets. You will have to determine whether your OS needs to be
865    so configured and, if so, can be so configured, configure it if
866    necessary and possible, and make whatever changes to libpcap and the
867    packet capture program you're using are necessary, if any, to support
868    capturing those packets.
869
870    Most OSes probably do not support capturing packets with invalid CRCs
871    on Ethernet, and probably do not support it on most other link-layer
872    types. Some drivers on some OSes do support it, such as some Ethernet
873    drivers on FreeBSD; in those OSes, you might always get those packets,
874    or you might only get them if you capture in promiscuous mode (you'd
875    have to determine which is the case).
876
877    Note that libpcap does not currently supply to programs that use it an
878    indication of whether the packet's CRC was invalid (because the drivers
879    themselves do not supply that information to the raw packet capture
880    mechanism); therefore, Wireshark will not indicate which packets had
881    CRC errors unless the FCS was captured (see the next question) and
882    you're using Wireshark 0.9.15 and later, in which case Wireshark will
883    check the CRC and indicate whether it's correct or not.
884
885    Q 7.10: How can I capture entire frames, including the FCS?
886
887    A: Wireshark can only capture data that the packet capture library -
888    libpcap on UNIX-flavored OSes, and the WinPcap port to Windows of
889    libpcap on Windows - can capture, and libpcap/WinPcap can capture only
890    the data that the OS's raw packet capture mechanism (or the WinPcap
891    driver, and the underlying OS networking code and network interface
892    drivers, on Windows) will allow it to capture.
893
894    For any particular link-layer network type, unless the OS supplies the
895    FCS of a frame as part of the frame, or can be configured to do so,
896    Wireshark - and other programs that capture raw packets, such as
897    tcpdump - cannot capture the FCS of a frame. You will have to determine
898    whether your OS needs to be so configured and, if so, can be so
899    configured, configure it if necessary and possible, and make whatever
900    changes to libpcap and the packet capture program you're using are
901    necessary, if any, to support capturing the FCS of a frame.
902
903    Most OSes do not support capturing the FCS of a frame on Ethernet, and
904    probably do not support it on most other link-layer types. Some drivres
905    on some OSes do support it, such as some (all?) Ethernet drivers on
906    NetBSD and possibly the driver for Apple's gigabit Ethernet interface
907    in Mac OS X; in those OSes, you might always get the FCS, or you might
908    only get the FCS if you capture in promiscuous mode (you'd have to
909    determine which is the case).
910
911    Versions of Wireshark prior to 0.9.15 will not treat an Ethernet FCS in
912    a captured packet as an FCS. 0.9.15 and later will attempt to determine
913    whether there's an FCS at the end of the frame and, if it thinks there
914    is, will display it as such, and will check whether it's the correct
915    CRC-32 value or not.
916
917    Q 7.11: I'm capturing packets on a machine on a VLAN; why don't the
918    packets I'm capturing have VLAN tags?
919
920    A: You might be capturing on what might be called a "VLAN interface" -
921    the way a particular OS makes VLANs plug into the networking stack
922    might, for example, be to have a network device object for the physical
923    interface, which takes VLAN packets, strips off the VLAN header and
924    constructs an Ethernet header, and passes that packet to an internal
925    network device object for the VLAN, which then passes the packets onto
926    various higher-level protocol implementations.
927
928    In order to see the raw Ethernet packets, rather than "de-VLANized"
929    packets, you would have to capture not on the virtual interface for the
930    VLAN, but on the interface corresponding to the physical network
931    device, if possible. See the Wireshark Wiki item on VLAN capturing for
932    details.
933
934    Q 7.12: Why does Wireshark hang after I stop a capture?
935
936    A: The most likely reason for this is that Wireshark is trying to look
937    up an IP address in the capture to convert it to a name (so that, for
938    example, it can display the name in the source address or destination
939    address columns), and that lookup process is taking a very long time.
940
941    Wireshark calls a routine in the OS of the machine on which it's
942    running to convert of IP addresses to the corresponding names. That
943    routine probably does one or more of:
944      * a search of a system file listing IP addresses and names;
945      * a lookup using DNS;
946      * on UNIX systems, a lookup using NIS;
947      * on Windows systems, a NetBIOS-over-TCP query.
948
949    If a DNS server that's used in an address lookup is not responding, the
950    lookup will fail, but will only fail after a timeout while the system
951    routine waits for a reply.
952
953    In addition, on Windows systems, if the DNS lookup of the address
954    fails, either because the server isn't responding or because there are
955    no records in the DNS that could be used to map the address to a name,
956    a NetBIOS-over-TCP query will be made. That query involves sending a
957    message to the NetBIOS-over-TCP name service on that machine, asking
958    for the name and other information about the machine. If the machine
959    isn't running software that responds to those queries - for example,
960    many non-Windows machines wouldn't be running that software - the
961    lookup will only fail after a timeout. Those timeouts can cause the
962    lookup to take a long time.
963
964    If you disable network address-to-name translation - for example, by
965    turning off the "Enable network name resolution" option in the "Capture
966    Options" dialog box for starting a network capture - the lookups of the
967    address won't be done, which may speed up the process of reading the
968    capture file after the capture is stopped. You can make that setting
969    the default by selecting "Preferences" from the "Edit" menu, turning
970    off the "Enable network name resolution" option in the "Name
971    resolution" options in the preferences disalog box, and using the
972    "Save" button in that dialog box; note that this will save all your
973    current preference settings.
974
975    If Wireshark hangs when reading a capture even with network name
976    resolution turned off, there might, for example, be a bug in one of
977    Wireshark's dissectors for a protocol causing it to loop infinitely. If
978    you're not running the most recent release of Wireshark, you should
979    first upgrade to that release, as, if there's a bug of that sort, it
980    might've been fixed in a release after the one you're running. If the
981    hang occurs in the most recent release of Wireshark, the bug should be
982    reported to the Wireshark developers' mailing list at
983    wireshark-dev@wireshark.org.
984
985    On UNIX-flavored OSes, please try to force Wireshark to dump core, by
986    sending it a SIGABRT signal (usually signal 6) with the kill command,
987    and then get a stack trace if you have a debugger installed. A stack
988    trace can be obtained by using your debugger (gdb in this example), the
989    Wireshark binary, and the resulting core file. Here's an example of how
990    to use the gdb command backtrace to do so.
991         $ gdb wireshark core
992         (gdb) backtrace
993         ..... prints the stack trace
994         (gdb) quit
995         $
996
997    The core dump file may be named "wireshark.core" rather than "core" on
998    some platforms (e.g., BSD systems).
999
1000    Also, if at all possible, please send a copy of the capture file that
1001    caused the problem; when capturing packets, Wireshark normally writes
1002    captured packets to a temporary file, which will probably be in /tmp or
1003    /var/tmp on UNIX-flavored OSes, \TEMP on the main system disk (normally
1004    C:) on Windows 9x/Me/NT 4.0, and \Documents and Settings\your login
1005    name\Local Settings\Temp on the main system disk on Windows
1006    2000/Windows XP/Windows Server 2003, so the capture file will probably
1007    be there. It will have a name beginning with ether, with some mixture
1008    of letters and numbers after that. Please don't send a trace file
1009    greater than 1 MB when compressed; instead, make it available via FTP
1010    or HTTP, or say it's available but leave it up to a developer to ask
1011    for it. If the trace file contains sensitive information (e.g.,
1012    passwords), then please do not send it.
1013
1014 8. Capturing packets on Windows
1015
1016    Q 8.1: I'm running Wireshark on Windows; why does some network
1017    interface on my machine not show up in the list of interfaces in the
1018    "Interface:" field in the dialog box popped up by "Capture->Start",
1019    and/or why does Wireshark give me an error if I try to capture on that
1020    interface?
1021
1022    A: If you are running Wireshark on Windows NT 4.0, Windows 2000,
1023    Windows XP, or Windows Server 2003, and this is the first time you have
1024    run a WinPcap-based program (such as Wireshark, or TShark, or WinDump,
1025    or Analyzer, or...) since the machine was rebooted, you need to run
1026    that program from an account with administrator privileges; once you
1027    have run such a program, you will not need administrator privileges to
1028    run any such programs until you reboot.
1029
1030    If you are running on Windows 95/98/Me, or if you are running on
1031    Windows NT 4.0/Windows 2000/Windows XP/Windows Server 2003 and have
1032    administrator privileges or a WinPcap-based program has been run with
1033    those privileges since the machine rebooted, this problem might clear
1034    up if you completely un-install WinPcap and then re-install it.
1035
1036    If that doesn't work, then note that Wireshark relies on the WinPcap
1037    library, on the WinPcap device driver, and on the facilities that come
1038    with the OS on which it's running in order to do captures.
1039
1040    Therefore, if the OS, the WinPcap library, or the WinPcap driver don't
1041    support capturing on a particular network interface device, Wireshark
1042    won't be able to capture on that device.
1043
1044    Note that:
1045     1. 2.02 and earlier versions of the WinPcap driver and library that
1046        Wireshark uses for packet capture didn't support Token Ring
1047        interfaces; versions 2.1 and later support Token Ring, and the
1048        current version of Wireshark works with (and, in fact, requires)
1049        WinPcap 2.1 or later.
1050        If you are having problems capturing on Token Ring interfaces, and
1051        you have WinPcap 2.02 or an earlier version of WinPcap installed,
1052        you should uninstall WinPcap, download and install the current
1053        version of WinPcap, and then install the latest version of
1054        Wireshark.
1055     2. On Windows 95, 98, or Me, sometimes more than one interface will be
1056        given the same name; if that is the case, you will only be able to
1057        capture on one of those interfaces - it's not clear to which one
1058        the name, when used in a WinPcap-based application, will refer. For
1059        example, if you have a PPP serial interface and a VPN interface,
1060        they might show up with the same name, for example "ppp-mac", and
1061        if you try to capture on "ppp-mac", it might not capture on the
1062        interface you're currently using. In that case, you might, for
1063        example, have to remove the VPN interface from the system in order
1064        to capture on the PPP serial interface.
1065     3. WinPcap 2.3 has problems supporting PPP WAN interfaces on Windows
1066        NT 4.0, Windows 2000, Windows XP, and Windows Server 2003, and, to
1067        avoid those problems, support for PPP WAN interfaces on those
1068        versions of Windows has been disabled in WinPcap 3.0. Regular
1069        dial-up lines, ISDN lines, ADSL connections using PPPoE or PPPoA,
1070        and various other lines such as T1/E1 lines are all PPP interfaces,
1071        so those interfaces might not show up on the list of interfaces in
1072        the "Capture Options" dialog on those OSes.
1073        On Windows 2000, Windows XP, and Windows Server 2003, but not
1074        Windows NT 4.0 or Windows Vista Beta 1, you should be able to
1075        capture on the "GenericDialupAdapter" with WinPcap 3.1. (3.1 beta
1076        releases called it the "NdisWanAdapter"; if you're using a 3.1 beta
1077        release, you should un-install it and install the final 3.1
1078        release.) See the Wireshark Wiki item on PPP capturing for details.
1079     4. WinPcap prior to 3.0 does not support multiprocessor machines (note
1080        that machines with a single multi-threaded processor, such as
1081        Intel's new multi-threaded x86 processors, are multiprocessor
1082        machines as far as the OS and WinPcap are concerned), and recent
1083        2.x versions of WinPcap refuse to operate if they detect that
1084        they're running on a multiprocessor machine, which means that they
1085        may not show any network interfaces. You will need to use WinPcap
1086        3.0 to capture on a multiprocessor machine.
1087
1088    If an interface doesn't show up in the list of interfaces in the
1089    "Interface:" field, and you know the name of the interface, try
1090    entering that name in the "Interface:" field and capturing on that
1091    device.
1092
1093    If the attempt to capture on it succeeds, the interface is somehow not
1094    being reported by the mechanism Wireshark uses to get a list of
1095    interfaces. Try listing the interfaces with WinDump; see the WinDump
1096    Web site for information on using WinDump.
1097
1098    You would run WinDump with the -D flag; if it lists the interface,
1099    please report this to wireshark-dev@wireshark.org giving full details
1100    of the problem, including
1101      * the operating system you're using, and the version of that
1102        operating system;
1103      * the type of network device you're using;
1104      * the output of WinDump.
1105
1106    If WinDump does not list the interface, this is almost certainly a
1107    problem with one or more of:
1108      * the operating system you're using;
1109      * the device driver for the interface you're using;
1110      * the WinPcap library and/or the WinPcap device driver;
1111
1112    so first check the WinPcap FAQ or the Wiretapped.net mirror of that
1113    FAQ, to see if your problem is mentioned there. If not, then see the
1114    WinPcap support page - check the "Submitting bugs" section.
1115
1116    If you are having trouble capturing on a particular network interface,
1117    first try capturing on that device with WinDump; see the WinDump Web
1118    site for information on using WinDump.
1119
1120    If you can capture on the interface with WinDump, send mail to
1121    wireshark-users@wireshark.org giving full details of the problem,
1122    including
1123      * the operating system you're using, and the version of that
1124        operating system;
1125      * the type of network device you're using;
1126      * the error message you get from Wireshark.
1127
1128    If you cannot capture on the interface with WinDump, this is almost
1129    certainly a problem with one or more of:
1130      * the operating system you're using;
1131      * the device driver for the interface you're using;
1132      * the WinPcap library and/or the WinPcap device driver;
1133
1134    so first check the WinPcap FAQ or the Wiretapped.net mirror of that
1135    FAQ, to see if your problem is mentioned there. If not, then see the
1136    WinPcap support page - check the "Submitting bugs" section.
1137
1138    You may also want to ask the wireshark-users@wireshark.org and the
1139    winpcap-users@winpcap.org mailing lists to see if anybody happens to
1140    know about the problem and know a workaround or fix for the problem.
1141    (Note that you will have to subscribe to that list in order to be
1142    allowed to mail to it; see the WinPcap support page for information on
1143    the mailing list.) In your mail, please give full details of the
1144    problem, as described above, and also indicate that the problem occurs
1145    with WinDump, not just with Wireshark.
1146
1147    Q 8.2: I'm running Wireshark on Windows; why do no network interfaces
1148    show up in the list of interfaces in the "Interface:" field in the
1149    dialog box popped up by "Capture->Start"?
1150
1151    A: This is really the same question as the previous one; see the
1152    response to that question.
1153
1154    Q 8.3: I'm running Wireshark on Windows; why doesn't my serial
1155    port/ADSL modem/ISDN modem show up in the list of interfaces in the
1156    "Interface:" field in the dialog box popped up by "Capture->Start"?
1157
1158    A: Internet access on those devices is often done with the
1159    Point-to-Point (PPP) protocol; WinPcap 2.3 has problems supporting PPP
1160    WAN interfaces on Windows NT 4.0, Windows 2000, Windows XP, and Windows
1161    Server 2003, and, to avoid those problems, support for PPP WAN
1162    interfaces on those versions of Windows has been disabled in WinPcap
1163    3.0.
1164
1165    On Windows 2000, Windows XP, and Windows Server 2003, but not Windows
1166    NT 4.0 or Windows Vista Beta 1, you should be able to capture on the
1167    "GenericDialupAdapter" with WinPcap 3.1. (3.1 beta releases called it
1168    the "NdisWanAdapter"; if you're using a 3.1 beta release, you should
1169    un-install it and install the final 3.1 release.) See the Wireshark
1170    Wiki item on PPP capturing for details.
1171
1172    Q 8.4: I'm running Wireshark on Windows NT 4.0/Windows 2000/Windows
1173    XP/Windows Server 2003; my machine has a PPP (dial-up POTS, ISDN, etc.)
1174    interface, and it shows up in the "Interface" item in the "Capture
1175    Options" dialog box. Why can no packets be sent on or received from
1176    that network while I'm trying to capture traffic on that interface?
1177
1178    A: Some versions of WinPcap have problems with PPP WAN interfaces on
1179    Windows NT 4.0, Windows 2000, Windows XP, and Windows Server 2003; one
1180    symptom that may be seen is that attempts to capture in promiscuous
1181    mode on the interface cause the interface to be incapable of sending or
1182    receiving packets. You can disable promiscuous mode using the -p
1183    command-line flag or the item in the "Capture Preferences" dialog box,
1184    but this may mean that outgoing packets, or incoming packets, won't be
1185    seen in the capture.
1186
1187    On Windows 2000, Windows XP, and Windows Server 2003, but not Windows
1188    NT 4.0 or Windows Vista Beta 1, you should be able to capture on the
1189    "GenericDialupAdapter" with WinPcap 3.1. (3.1 beta releases called it
1190    the "NdisWanAdapter"; if you're using a 3.1 beta release, you should
1191    un-install it and install the final 3.1 release.) See the Wireshark
1192    Wiki item on PPP capturing for details.
1193
1194    Q 8.5: I'm running Wireshark on Windows 95/98/Me, on a machine with
1195    more than one network adapter of the same type; why does Wireshark show
1196    all of those adapters with the same name, not letting me use any of
1197    those adapters other than the first one?
1198
1199    A: Unfortunately, Windows 95/98/Me gives the same name to multiple
1200    instances of the type of same network adapter. Therefore, WinPcap
1201    cannot distinguish between them, so a WinPcap-based application can
1202    capture only on the first such interface; Wireshark is a
1203    libpcap/WinPcap-based application.
1204
1205    Q 8.6: I'm running Wireshark on Windows; why am I not seeing any
1206    traffic being sent by the machine running Wireshark?
1207
1208    A: If you are running some form of VPN client software, it might be
1209    causing this problem; people have seen this problem when they have
1210    Check Point's VPN software installed on their machine. If that's the
1211    cause of the problem, you will have to remove the VPN software in order
1212    to have Wireshark (or any other application using WinPcap) see outgoing
1213    packets; unfortunately, neither we nor the WinPcap developers know any
1214    way to make WinPcap and the VPN software work well together.
1215
1216    Also, some drivers for Windows (especially some wireless network
1217    interface drivers) apparently do not, when running in promiscuous mode,
1218    arrange that outgoing packets are delivered to the software that
1219    requested that the interface run promiscuously; try turning promiscuous
1220    mode off.
1221
1222    Q 8.7: When I capture on Windows in promiscuous mode, I can see packets
1223    other than those sent to or from my machine; however, those packets
1224    show up with a "Short Frame" indication, unlike packets to or from my
1225    machine. What should I do to arrange that I see those packets in their
1226    entirety?
1227
1228    A: In at least some cases, this appears to be the result of PGPnet
1229    running on the network interface on which you're capturing; turn it off
1230    on that interface.
1231
1232    Q 8.8: I'm capturing packets on {Windows 95, Windows 98, Windows Me};
1233    why are the time stamps on packets wrong?
1234
1235    A: This is due to a bug in WinPcap. The bug should be fixed in WinPcap
1236    3.0 and later releases.
1237
1238    Q 8.9: I'm trying to capture 802.11 traffic on Windows; why am I not
1239    seeing any packets?
1240
1241    A: At least some 802.11 card drivers on Windows appear not to see any
1242    packets if they're running in promiscuous mode. Try turning promiscuous
1243    mode off; you'll only be able to see packets sent by and received by
1244    your machine, not third-party traffic, and it'll look like Ethernet
1245    traffic and won't include any management or control frames, but that's
1246    a limitation of the card drivers.
1247
1248    See MicroLogix's list of cards supported with WinPcap for information
1249    on support of various adapters and drivers with WinPcap.
1250
1251    Q 8.10: I'm trying to capture 802.11 traffic on Windows; why am I
1252    seeing packets received by the machine on which I'm capturing traffic,
1253    but not packets sent by that machine?
1254
1255    A: This appears to be another problem with promiscuous mode; try
1256    turning it off.
1257
1258    Q 8.11: I'm trying to capture Ethernet VLAN traffic on Windows, and I'm
1259    capturing on a "raw" Ethernet device rather than a "VLAN interface", so
1260    that I can see the VLAN headers; why am I seeing packets received by
1261    the machine on which I'm capturing traffic, but not packets sent by
1262    that machine?
1263
1264    A: The way the Windows networking code works probably means that
1265    packets are sent on a "VLAN interface" rather than the "raw" device, so
1266    packets sent by the machine will only be seen when you capture on the
1267    "VLAN interface". If so, you will be unable to see outgoing packets
1268    when capturing on the "raw" device, so you are stuck with a choice
1269    between seeing VLAN headers and seeing outgoing packets.
1270
1271 9. Capturing packets on UN*Xes
1272
1273    Q 9.1: I'm running Wireshark on a UNIX-flavored OS; why does some
1274    network interface on my machine not show up in the list of interfaces
1275    in the "Interface:" field in the dialog box popped up by
1276    "Capture->Start", and/or why does Wireshark give me an error if I try
1277    to capture on that interface?
1278
1279    A: You may need to run Wireshark from an account with sufficient
1280    privileges to capture packets, such as the super-user account, or may
1281    need to give your account sufficient privileges to capture packets.
1282    Only those interfaces that Wireshark can open for capturing show up in
1283    that list; if you don't have sufficient privileges to capture on any
1284    interfaces, no interfaces will show up in the list. See the Wireshark
1285    Wiki item on capture privileges for details on how to give a particular
1286    account or account group capture privileges on platforms where that can
1287    be done.
1288
1289    If you are running Wireshark from an account with sufficient
1290    privileges, then note that Wireshark relies on the libpcap library, and
1291    on the facilities that come with the OS on which it's running in order
1292    to do captures. On some OSes, those facilities aren't present by
1293    default; see the Wireshark Wiki item on adding capture support for
1294    details.
1295
1296    And, even if you're running with an account that has sufficient
1297    privileges to capture, and capture support is present in your OS, if
1298    the OS or the libpcap library don't support capturing on a particular
1299    network interface device or particular types of devices, Wireshark
1300    won't be able to capture on that device.
1301
1302    On Solaris, note that libpcap 0.6.2 and earlier didn't support Token
1303    Ring interfaces; the current version, 0.7.2, does support Token Ring,
1304    and the current version of Wireshark works with libcap 0.7.2 and later.
1305
1306    If an interface doesn't show up in the list of interfaces in the
1307    "Interface:" field, and you know the name of the interface, try
1308    entering that name in the "Interface:" field and capturing on that
1309    device.
1310
1311    If the attempt to capture on it succeeds, the interface is somehow not
1312    being reported by the mechanism Wireshark uses to get a list of
1313    interfaces; please report this to wireshark-dev@wireshark.org giving
1314    full details of the problem, including
1315      * the operating system you're using, and the version of that
1316        operating system (for Linux, give both the version number of the
1317        kernel and the name and version number of the distribution you're
1318        using);
1319      * the type of network device you're using.
1320
1321    If you are having trouble capturing on a particular network interface,
1322    and you've made sure that (on platforms that require it) you've
1323    arranged that packet capture support is present, as per the above,
1324    first try capturing on that device with tcpdump.
1325
1326    If you can capture on the interface with tcpdump, send mail to
1327    wireshark-users@wireshark.org giving full details of the problem,
1328    including
1329      * the operating system you're using, and the version of that
1330        operating system (for Linux, give both the version number of the
1331        kernel and the name and version number of the distribution you're
1332        using);
1333      * the type of network device you're using;
1334      * the error message you get from Wireshark.
1335
1336    If you cannot capture on the interface with tcpdump, this is almost
1337    certainly a problem with one or more of:
1338      * the operating system you're using;
1339      * the device driver for the interface you're using;
1340      * the libpcap library;
1341
1342    so you should report the problem to the company or organization that
1343    produces the OS (in the case of a Linux distribution, report the
1344    problem to whoever produces the distribution).
1345
1346    You may also want to ask the wireshark-users@wireshark.org and the
1347    tcpdump-workers@tcpdump.org mailing lists to see if anybody happens to
1348    know about the problem and know a workaround or fix for the problem. In
1349    your mail, please give full details of the problem, as described above,
1350    and also indicate that the problem occurs with tcpdump not just with
1351    Wireshark.
1352
1353    Q 9.2: I'm running Wireshark on a UNIX-flavored OS; why do no network
1354    interfaces show up in the list of interfaces in the "Interface:" field
1355    in the dialog box popped up by "Capture->Start"?
1356
1357    A: This is really the same question as the previous one; see the
1358    response to that question.
1359
1360    Q 9.3: I'm capturing packets on Linux; why do the time stamps have only
1361    100ms resolution, rather than 1us resolution?
1362
1363    A: Wireshark gets time stamps from libpcap/WinPcap, and libpcap/WinPcap
1364    get them from the OS kernel, so Wireshark - and any other program using
1365    libpcap, such as tcpdump - is at the mercy of the time stamping code in
1366    the OS for time stamps.
1367
1368    At least on x86-based machines, Linux can get high-resolution time
1369    stamps on newer processors with the Time Stamp Counter (TSC) register;
1370    for example, Intel x86 processors, starting with the Pentium Pro, and
1371    including all x86 processors since then, have had a TSC, and other
1372    vendors probably added the TSC at some point to their families of x86
1373    processors.
1374
1375    The Linux kernel must be configured with the CONFIG_X86_TSC option
1376    enabled in order to use the TSC. Make sure this option is enabled in
1377    your kernel.
1378
1379    In addition, some Linux distributions may have bugs in their versions
1380    of the kernel that cause packets not to be given high-resolution time
1381    stamps even if the TSC is enabled. See, for example, bug 61111 for Red
1382    Hat Linux 7.2. If your distribution has a bug such as this, you may
1383    have to run a standard kernel from kernel.org in order to get
1384    high-resolution time stamps.
1385
1386 10. Capturing packets on wireless LANs
1387
1388    Q 10.1: How can I capture raw 802.11 frames, including non-data
1389    (management, beacon) frames?
1390
1391    A: That depends on the operating system on which you're running, and on
1392    the 802.11 interface on which you're capturing.
1393
1394    This would probably require that you capture in promiscuous mode or in
1395    the mode called "monitor mode" or "RFMON mode". On some platforms, or
1396    with some cards, this might require that you capture in monitor mode -
1397    promiscuous mode might not be sufficient. If you want to capture
1398    traffic on networks other than the one with which you're associated,
1399    you will have to capture in monitor mode.
1400
1401    Not all operating systems support capturing non-data packets and, even
1402    on operating systems that do support it, not all drivers, and thus not
1403    all interfaces, support it. Even on those that do, monitor mode might
1404    not be supported by the operating system or by the drivers for all
1405    interfaces.
1406
1407    NOTE: an interface running in monitor mode will, on most if not all
1408    platforms, not be able to act as a regular network interface; putting
1409    it into monitor mode will, in effect, take your machine off of whatever
1410    network it's on as long as the interface is in monitor mode, allowing
1411    it only to passively capture packets.
1412
1413    This means that you should disable name resolution when capturing in
1414    monitor mode; otherwise, when Wireshark (or TShark, or tcpdump) tries
1415    to display IP addresses as host names, it will probably block for a
1416    long time trying to resolve the name because it will not be able to
1417    communicate with any DNS or NIS servers.
1418
1419    See the Wireshark Wiki item on 802.11 capturing for details.
1420
1421    Q 10.2: How do I capture on an 802.11 device in monitor mode?
1422
1423    A: Whether you will be able to capture in monitor mode depends on the
1424    operating system, adapter, and driver you're using. See the previous
1425    question for information on monitor mode, including a link to the
1426    Wireshark Wiki page that gives details on 802.11 capturing.
1427
1428 11. Viewing traffic
1429
1430    Q 11.1: Why am I seeing lots of packets with incorrect TCP checksums?
1431
1432    A: If the packets that have incorrect TCP checksums are all being sent
1433    by the machine on which Wireshark is running, this is probably because
1434    the network interface on which you're capturing does TCP checksum
1435    offloading. That means that the TCP checksum is added to the packet by
1436    the network interface, not by the OS's TCP/IP stack; when capturing on
1437    an interface, packets being sent by the host on which you're capturing
1438    are directly handed to the capture interface by the OS, which means
1439    that they are handed to the capture interface without a TCP checksum
1440    being added to them.
1441
1442    The only way to prevent this from happening would be to disable TCP
1443    checksum offloading, but
1444     1. that might not even be possible on some OSes;
1445     2. that could reduce networking performance significantly.
1446
1447    However, you can disable the check that Wireshark does of the TCP
1448    checksum, so that it won't report any packets as having TCP checksum
1449    errors, and so that it won't refuse to do TCP reassembly due to a
1450    packet having an incorrect TCP checksum. That can be set as an
1451    Wireshark preference by selecting "Preferences" from the "Edit" menu,
1452    opening up the "Protocols" list in the left-hand pane of the
1453    "Preferences" dialog box, selecting "TCP", from that list, turning off
1454    the "Check the validity of the TCP checksum when possible" option,
1455    clicking "Save" if you want to save that setting in your preference
1456    file, and clicking "OK".
1457
1458    It can also be set on the Wireshark or TShark command line with a -o
1459    tcp.check_checksum:false command-line flag, or manually set in your
1460    preferences file by adding a tcp.check_checksum:false line.
1461
1462    Q 11.2: I've just installed Wireshark, and the traffic on my local LAN
1463    is boring. Where can I find more interesting captures?
1464
1465    A: We have a collection of strange and exotic sample capture files at
1466    http://wiki.wireshark.org/SampleCaptures
1467
1468    Q 11.3: Why doesn't Wireshark correctly identify RTP packets? It shows
1469    them only as UDP.
1470
1471    A: Wireshark can identify a UDP datagram as containing a packet of a
1472    particular protocol running atop UDP only if
1473     1. The protocol in question has a particular standard port number, and
1474        the UDP source or destination port number is that port
1475     2. Packets of that protocol can be identified by looking for a
1476        "signature" of some type in the packet - i.e., some data that, if
1477        Wireshark finds it in some particular part of a packet, means that
1478        the packet is almost certainly a packet of that type.
1479     3. Some other traffic earlier in the capture indicated that, for
1480        example, UDP traffic between two particular addresses and ports
1481        will be RTP traffic.
1482
1483    RTP doesn't have a standard port number, so 1) doesn't work; it
1484    doesn't, as far as I know, have any "signature", so 2) doesn't work.
1485
1486    That leaves 3). If there's RTSP traffic that sets up an RTP session,
1487    then, at least in some cases, the RTSP dissector will set things up so
1488    that subsequent RTP traffic will be identified. Currently, that's the
1489    only place we do that; there may be other places.
1490
1491    However, there will always be places where Wireshark is simply
1492    incapable of deducing that a given UDP flow is RTP; a mechanism would
1493    be needed to allow the user to specify that a given conversation should
1494    be treated as RTP. As of Wireshark 0.8.16, such a mechanism exists; if
1495    you select a UDP or TCP packet, the right mouse button menu will have a
1496    "Decode As..." menu item, which will pop up a dialog box letting you
1497    specify that the source port, the destination port, or both the source
1498    and destination ports of the packet should be dissected as some
1499    particular protocol.
1500
1501    Q 11.4: Why doesn't Wireshark show Yahoo Messenger packets in captures
1502    that contain Yahoo Messenger traffic?
1503
1504    A: Wireshark only recognizes as Yahoo Messenger traffic packets to or
1505    from TCP port 3050 that begin with "YPNS", "YHOO", or "YMSG". TCP
1506    segments that start with the middle of a Yahoo Messenger packet that
1507    takes more than one TCP segment will not be recognized as Yahoo
1508    Messenger packets (even if the TCP segment also contains the beginning
1509    of another Yahoo Messenger packet).
1510
1511 12. Filtering traffic
1512
1513    Q 12.1: I saved a filter and tried to use its name to filter the
1514    display; why do I get an "Unexpected end of filter string" error?
1515
1516    A: You cannot use the name of a saved display filter as a filter. To
1517    filter the display, you can enter a display filter expression - not the
1518    name of a saved display filter - in the "Filter:" box at the bottom of
1519    the display, and type the key or press the "Apply" button (that does
1520    not require you to have a saved filter), or, if you want to use a saved
1521    filter, you can press the "Filter:" button, select the filter in the
1522    dialog box that pops up, and press the "OK" button.
1523
1524    Q 12.2: How can I search for, or filter, packets that have a particular
1525    string anywhere in them?
1526
1527    A: If you want to do this when capturing, you can't. That's a feature
1528    that would be hard to implement in capture filters without changes to
1529    the capture filter code, which, on many platforms, is in the OS kernel
1530    and, on other platforms, is in the libpcap library.
1531
1532    In releases prior to 0.9.14, you also can't search for, or filter,
1533    packets containing a particular string even after you've captured them.
1534
1535    In 0.9.14, you can search for, but not filter, packets that have a
1536    particular string; this has been added to the "Find Frame" dialog
1537    ("Find Frame" under the "Edit" menu, or control-F).
1538
1539    In 0.9.15 and later, you can search for those packets using either the
1540    mechanism introduced in 0.9.14 or using the new "contains" operator in
1541    filter expressions, which lets you search the entire packet or text
1542    string or byte string fields in the packet; the "contains" operator can
1543    also be used in expressions used to filter the display.
1544
1545    Q 12.3: How do I filter a capture to see traffic for virus XXX?
1546
1547    A: For some viruses/worms there might be a capture filter to recognize
1548    the virus traffic. Check the CaptureFilters page on the Wireshark Wiki
1549    to see if anybody's added such a filter.
1550
1551    Note that Wireshark was not designed to be an intrusion detection
1552    system; you might be able to use it as an IDS, but in most cases
1553    software designed to be an IDS, such as Snort or Prelude, will probably
1554    work better.
1555
1556    The Bleeding Edge of Snort has a collection of signatures for Snort to
1557    detect various viruses, worms, and the like.