forked from wireshark/wireshark
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFAQ
1465 lines (1141 loc) · 72.5 KB
/
FAQ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
The Wireshark FAQ
Note: This is just an ASCII snapshot of the faq and may not be up to
date. Please go to http://www.wireshark.org/faq.html for the up
to date version. The version of this snapshot can be found at
the end of this document.
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 How much does Wireshark cost?
1.5 Can I use Wireshark commercially?
1.6 Can I use Wireshark as part of my commercial product?
1.7 What protocols are currently supported?
1.8 Are there any plans to support {your favorite protocol}?
1.9 Can Wireshark read capture files from {your favorite network analyzer}?
1.10 What devices can Wireshark use to capture packets?
1.11 Does Wireshark work on Windows Me?
1.12 Does Wireshark work on Windows XP?
2. Downloading Wireshark:
2.1 Why do I get an error when I try to run the Win32 installer?
3. Installing Wireshark:
3.1 I installed the Wireshark RPM (or other package); why did it install
TShark but not Wireshark?
4. Building Wireshark:
4.1 I have libpcap installed; why did the configure script not find pcap.h
or bpf.h?
4.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?
4.3 Why does the linker fail with a number of "Output line too long."
messages followed by linker errors when I try to buil Wireshark?
4.4 When I try to build Wireshark on Solaris, why does the link fail
complaining that plugin_list is undefined?
4.5 When I try to build Wireshark on Windows, why does the build fail
because of conflicts between winsock.h and winsock2.h?
5. Starting Wireshark:
5.1 Why does Wireshark crash with a Bus Error when I try to run it on
Solaris 8?
5.2 When I run Wireshark on Windows NT, why does it die with a Dr. Watson
error, reporting an "Integer division by zero" exception, when I start it?
5.3 When I try to run Wireshark, why does it complain about
sprint_realloc_objid being undefined?
5.4 When I try to run Wireshark on Windows, why does it fail to run with a
complaint that it can't find packet.dll?
5.5 I've installed Wireshark from Fink on Mac OS X; why is it very slow to
start up?
6. Crashes and other fatal errors:
6.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?
6.2 Why does my machine crash or reset itself when I select "Start" from the
"Capture" menu or select "Preferences" from the "Edit" menu?
7. Capturing packets:
7.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?
7.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?
7.3 Why am I only seeing ARP packets when I try to capture traffic?
7.4 Why am I not seeing any traffic when I try to capture traffic?
7.5 Can Wireshark capture on (my T1/E1 line, SS7 links, etc.)?
7.6 How do I put an interface into promiscuous mode?
7.7 I can set a display filter just fine; why don't capture filters work?
7.8 I'm entering valid capture filters; why do I still get "parse error"
errors?
7.9 How can I capture packets with CRC errors?
7.10 How can I capture entire frames, including the FCS?
7.11 I'm capturing packets on a machine on a VLAN; why don't the packets I'm
capturing have VLAN tags?
7.12 Why does Wireshark hang after I stop a capture?
8. Capturing packets on Windows:
8.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?
8.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"?
8.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"?
8.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?
8.5 I'm running Wireshark on Windows 95/98/Me, on a machine with more than
one network adapter of the same type; why does Wireshark show all of those
adapters with the same name, not letting me use any of those adapters other
than the first one?
8.6 I'm running Wireshark on Windows; why am I not seeing any traffic being
sent by the machine running Wireshark?
8.7 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?
8.8 I'm capturing packets on {Windows 95, Windows 98, Windows Me}; why are
the time stamps on packets wrong?
8.9 I'm trying to capture 802.11 traffic on Windows; why am I not seeing any
packets?
8.10 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?
8.11 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?
9. Capturing packets on UN*Xes:
9.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?
9.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"?
9.3 I'm capturing packets on Linux; why do the time stamps have only 100ms
resolution, rather than 1us resolution?
10. Capturing packets on wireless LANs:
10.1 How can I capture raw 802.11 frames, including non-data (management,
beacon) frames?
10.2 How do I capture on an 802.11 device in monitor mode?
11. Viewing traffic:
11.1 Why am I seeing lots of packets with incorrect TCP checksums?
11.2 I've just installed Wireshark, and the traffic on my local LAN is
boring. Where can I find more interesting captures?
11.3 Why doesn't Wireshark correctly identify RTP packets? It shows them
only as UDP.
11.4 Why doesn't Wireshark show Yahoo Messenger packets in captures that
contain Yahoo Messenger traffic?
12. Filtering traffic:
12.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?
12.2 How can I search for, or filter, packets that have a particular string
anywhere in them?
12.3 How do I filter a capture to see traffic for virus XXX?
1. General Questions
Q 1.1: What is Wireshark?
A: Gerald Combs, the creator of Ethereal®, has initiated the Wireshark
network protocol analyzer project, a successor to Ethereal®. The Ethereal®
core developer team has moved with Gerald to the Wireshark project. It is
the world's most popular network protocol analyzer. It has a rich and
powerful feature set, and runs on most computing platforms including
Windows, OS X, and Linux. It is freely available as open source, and is
released under the GNU General Public License.
For more information, please see the About Wireshark page.
Q 1.2: What's up with the name change? Is Wireshark a fork?
A: In May of 2006, 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. More information on the name change can be found here:
*
*
Q 1.3: Where can I get help?
A: Community support is available on the wireshark-users mailing list.
Subscription information and archives for all of Wireshark's mailing lists
can be found at http://www.wireshark.org/mailman/listinfo. An IRC channel
dedicated to Wireshark can be found at irc://irc.freenode.net/wireshark.
Commercial support, training, and development services are available from
CACE Technologies.
Q 1.4: How much does Wireshark cost?
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. See the GNU GPL FAQ for some more information.
Q 1.5: Can I use Wireshark commercially?
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.
Q 1.6: Can I use Wireshark as part of my commercial product?
A: As noted, Wireshark is licensed under the GNU General Public License. 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 for more details; in particular, note the answer to the
question about modifying a GPLed program and selling it commercially, and
the question about linking GPLed code with other code to make a proprietary
program.
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.
Q 1.7: What protocols are currently supported?
A: There are currently hundreds of supported protocols and media. Details
can be found in the wireshark(1) man page.
Q 1.8: Are there any plans to support {your favorite protocol}?
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.9: Can Wireshark read capture files from {your favorite network
analyzer}?
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.
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.10: What devices can Wireshark use to capture packets?
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.
It can also read a variety of capture file formats, including:
* AG Group/WildPackets 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.11: Does Wireshark work on Windows Me?
A: Yes, but if you want to capture packets, you will need to install the
latest version of WinPcap, as 2.02 and earlier versions of WinPcap didn't
support Windows Me. You should also install the latest version of Wireshark
as well.
Q 1.12: Does Wireshark work on Windows XP?
A: Yes, but if you want to capture packets, you will need to install the
latest version of WinPcap, as 2.2 and earlier versions of WinPcap didn't
support Windows XP.
2. Downloading Wireshark
Q 2.1: Why do I get an error when I try to run the Win32 installer?
A: The program you used to download it may have downloaded it incorrectly.
Web browsers sometimes may do this.
Try downloading it with, for example:
* Wget, for which Windows binaries are available on the SunSITE FTP server
at sunsite.tk or Heiko Herold's windows wget spot - wGetGUI offers a GUI
interface that uses wget;
* WS_FTP from Ipswitch,
* the ftp command that comes with Windows.
If you use the ftp command, make sure you do the transfer in binary mode
rather than ASCII mode, by using the binary command before transferring the
file.
3. Installing Wireshark
Q 3.1: I installed the Wireshark RPM (or other package); why did it install
TShark but not Wireshark?
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.
4. Building Wireshark
Q 4.1: I have libpcap installed; why did the configure script not find
pcap.h or bpf.h?
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 4.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?
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 4.3: Why does the linker fail with a number of "Output line too long."
messages followed by linker errors when I try to buil Wireshark?
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 4.4: When I try to build Wireshark on Solaris, why does the link fail
complaining that plugin_list is undefined?
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, 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. 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 4.5: When I try to build Wireshark on Windows, why does the build fail
because of conflicts between winsock.h and winsock2.h?
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.
5. Starting Wireshark
Q 5.1: Why does Wireshark crash with a Bus Error when I try to run it on
Solaris 8?
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, 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. 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 5.2: When I run Wireshark on Windows NT, why does it die with a Dr. Watson
error, reporting an "Integer division by zero" exception, when I start it?
A: In at least some case, this appears to be due to using the default VGA
driver; if that's not the correct driver for your video card, try running
the correct driver for your video card.
Q 5.3: When I try to run Wireshark, why does it complain about
sprint_realloc_objid being undefined?
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 5.4: When I try to run Wireshark on Windows, why does it fail to run with
a complaint that it can't find packet.dll?
A: In older versions of Wireshark, there were two binary distributions
available for Windows, one that supported capturing packets, and one that
didn't. The version that supported capturing packets required that you
install the WinPcap driver; if you didn't install it, it would fail to run
because it couldn't find packet.dll.
The current version of Wireshark has only one binary distribution for
Windows; that version will check whether WinPcap is installed and, if it's
not, will disable support for packet capture.
The WinPcap driver and libraries can be downloaded from the WinPcap Web site
or the Wiretapped.net mirror of the WinPcap site.
Q 5.5: I've installed Wireshark from Fink on Mac OS X; why is it very slow
to start up?
A: When an application is installed on OS X, 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
6. Crashes and other fatal errors
Q 6.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?
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 - 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 6.2: Why does my machine crash or reset itself when I select "Start" from
the "Capture" menu or select "Preferences" from the "Edit" menu?
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.
7. Capturing packets
Q 7.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?
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 on the Wireshark Wiki 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 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 effor 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 7.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?
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; see the
response to that question.
Q 7.3: Why am I only seeing ARP packets when I try to capture traffic?
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; see the
response to that question.
Q 7.4: Why am I not seeing any traffic when I try to capture traffic?
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.
Otherwise, on Windows, see the response to this question and, on a
UNIX-flavored OS, see the response to this question.
Q 7.5: Can Wireshark capture on (my T1/E1 line, SS7 links, etc.)?
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, 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 on the Wireshark Wiki for current information on capturing SS7 traffic
on TDM links.
Q 7.6: How do I put an interface into promiscuous mode?
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 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 for more
information on that.
I.e., this is probably the same question as this earlier one; see the
response to that question.
Q 7.7: I can set a display filter just fine; why don't capture filters work?
A: Capture filters currently use a different syntax than display filters.
Here's the corresponding section from the wireshark(1) 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) man
page.
Q 7.8: I'm entering valid capture filters; why do I still get "parse error"
errors?
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 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 7.9: How can I capture packets with CRC errors?
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 7.10: How can I capture entire frames, including the FCS?
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 Mac OS X; 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 7.11: I'm capturing packets on a machine on a VLAN; why don't the packets
I'm capturing have VLAN tags?
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 for details.
Q 7.12: Why does Wireshark hang after I stop a capture?
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 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 C:) on Windows
9x/Me/NT 4.0, and \Documents and Settings\your login name\Local
Settings\Temp on the main system disk on Windows 2000/Windows XP/Windows
Server 2003, so the capture file will probably be there. It will have a name
beginning with ether, with some mixture of letters and numbers after that.
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.
8. Capturing packets on Windows
Q 8.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?
A: If you are running Wireshark on Windows NT 4.0, Windows 2000, 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 95/98/Me, or if you are running on Windows NT
4.0/Windows 2000/Windows XP/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.
Note that:
1. 2.02 and earlier versions of the WinPcap driver and library that
Wireshark uses for packet capture didn't support Token Ring interfaces;
versions 2.1 and later support Token Ring, and the current version of
Wireshark works with (and, in fact, requires) WinPcap 2.1 or later.
If you are having problems capturing on Token Ring interfaces, and you
have WinPcap 2.02 or an earlier version of WinPcap installed, you should
uninstall WinPcap, download and install the current version of WinPcap,
and then install the latest version of Wireshark.
2. On Windows 95, 98, or Me, sometimes more than one interface will be
given the same name; if that is the case, you will only be able to
capture on one of those interfaces - it's not clear to which one the
name, when used in a WinPcap-based application, will refer. For example,
if you have a PPP serial interface and a VPN interface, they might show
up with the same name, for example "ppp-mac", and if you try to capture
on "ppp-mac", it might not capture on the interface you're currently
using. In that case, you might, for example, have to remove the VPN
interface from the system in order to capture on the PPP serial
interface.
3. WinPcap 2.3 has problems supporting PPP WAN interfaces on Windows NT