drsuapi_dissect_element_DsReplicaObjectIdentifier_dn parents append
[wireshark-sm.git] / doc / faq.adoc
blob9173e615ef3778f9ecb7e18e23262656d134ccd6
1 include::attributes.adoc[]
2 :stylesheet: ws.css
3 :linkcss:
4 :copycss: {css_dir}/{stylesheet}
5 :toc:
7 = Wireshark Frequently Asked Questions
9 == General Questions
11 === What is Wireshark?
13 Wireshark® is a network protocol analyzer. It lets you capture and
14 interactively browse the traffic running on a computer network. It has a
15 rich and powerful feature set and is world's most popular tool of its
16 kind. It runs on most computing platforms including Windows, macOS,
17 Linux, and UNIX. Network professionals, security experts, developers,
18 and educators around the world use it regularly. It is freely available
19 as open source, and is released under the GNU General Public License
20 version 2.
22 It is developed and maintained by a global team of protocol experts,
23 and it is an example of a
24 https://en.wikipedia.org/wiki/Disruptive_technology[disruptive
25 technology].
27 Wireshark used to be known as Ethereal®. See the next question for
28 details about the name change. If you're still using Ethereal, it is
29 strongly recommended that you upgrade to Wireshark as Ethereal is
30 unsupported and has known security vulnerabilities.
32 For more information, please see the
33 https://www.wireshark.org/about.html[About Wireshark] page.
35 [#wheretogethelp]
36 === Where can I get help?
38 Community support is available on the https://ask.wireshark.org/[Q&A site] and on the wireshark-users mailing list.
39 Subscription information and archives for all of Wireshark's mailing lists can be found at https://lists.wireshark.org/.
40 // An IRC channel dedicated to Wireshark can be found at
41 // irc://irc.freenode.net/wireshark[irc://irc.freenode.net/wireshark].
43 === What kind of shark is Wireshark?
45 _carcharodon photoshopia_.
47 === How is Wireshark pronounced, spelled and capitalized?
49 Wireshark is pronounced as the word _wire_ followed immediately by
50 the word _shark_. Exact pronunciation and emphasis may vary depending on
51 your locale (e.g. Arkansas).
53 It's spelled with a capital _W_, followed by a lower-case _ireshark_.
54 It is not a CamelCase word, i.e., _WireShark_ is incorrect.
56 === How much does Wireshark cost?
58 Wireshark is "free software"; you can download it without paying any
59 license fee. The version of Wireshark you download isn't a "demo"
60 version, with limitations not present in a "full" version; it _is_ the
61 full version.
63 The license under which Wireshark is issued is
64 https://www.gnu.org/licenses/gpl-2.0.html[the GNU General Public License
65 version 2]. See
66 https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html[the GNU GPL
67 FAQ] for some more information.
69 === But I just paid someone on eBay for a copy of Wireshark! Did I get ripped off?
71 That depends. Did they provide any sort of value-added product or
72 service, such as installation support, installation media, training,
73 trace file analysis, or funky-colored shark-themed socks? Probably not.
75 Wireshark is https://www.wireshark.org/download.html[available for
76 anyone to download, absolutely free, at any time]. Paying for a copy
77 implies that you should get something for your money.
79 === Can I use Wireshark commercially?
81 Yes, if, for example, you mean "I work for a commercial organization;
82 can I use Wireshark to capture and analyze network traffic in our
83 company's networks or in our customer's networks?"
85 If you mean "Can I use Wireshark as part of my commercial product?",
86 see link:#derived_work_gpl[the next entry in the FAQ].
88 === Can I use Wireshark as part of my commercial product?
90 As noted, Wireshark is licensed under
91 https://www.gnu.org/licenses/gpl-2.0.html[the GNU General Public
92 License, version 2]. The GPL imposes conditions on your use of GPL'ed
93 code in your own products; you cannot, for example, make a "derived
94 work" from Wireshark, by making modifications to it, and then sell the
95 resulting derived work and not allow recipients to give away the
96 resulting work. You must also make the changes you've made to the
97 Wireshark source available to all recipients of your modified version;
98 those changes must also be licensed under the terms of the GPL. See the
99 https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html[GPL FAQ] for
100 more details; in particular, note the answer to
101 https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLCommercially[the
102 question about modifying a GPLed program and selling it commercially],
104 https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#LinkingWithGPL[the
105 question about linking GPLed code with other code to make a proprietary
106 program].
108 You can combine a GPLed program such as Wireshark and a commercial
109 program as long as they communicate "at arm's length", as per
110 https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLInProprietarySystem[this
111 item in the GPL FAQ].
113 We recommend keeping Wireshark and your product completely separate,
114 communicating over sockets or pipes. If you're loading any part of
115 Wireshark as a DLL, you're probably doing it wrong.
117 === Can you help me fill out this compliance form so that I can use Wireshark?
119 // While we try to make sure that Wireshark is as easy as possible to obtain and use, please keep in mind that it’s developed by a team of volunteers and that filling out compliance forms is pretty far beyond the scope of what those volunteers do.
121 Please contact the https://wiresharkfoundation.org[Wireshark Foundation] and they will be able to help you for a nominal fee.
123 === Can you sign this legal agreement so that I can use Wireshark?
125 // As with the previous question, Wireshark is developed by a team of volunteers.
126 // Even if they were inclined to do so, they aren’t authorized to sign agreements on behalf of the project.
128 Please contact the https://wiresharkfoundation.org[Wireshark Foundation] and they will be able to help you for a somewhat less nominal fee.
130 === What protocols are currently supported?
132 There are currently hundreds of supported protocols and media.
133 Details can be found in the
134 https://www.wireshark.org/docs/man-pages/wireshark.html[wireshark(1)]
135 man page.
137 === Are there any plans to support {your favorite protocol}?
139 Support for particular protocols is added to Wireshark as a result of
140 people contributing that support; no formal plans for adding support for
141 particular protocols in particular future releases exist.
143 === Can Wireshark read capture files from {your favorite network analyzer}?
145 Support for particular capture file formats is added to Wireshark as
146 a result of people contributing that support; no formal plans for adding
147 support for particular capture file formats in particular future
148 releases exist.
150 If a network analyzer writes out files in a format already supported by
151 Wireshark (e.g., in libpcap format), Wireshark may already be able to
152 read them, unless the analyzer has added its own proprietary extensions
153 to that format.
155 If a network analyzer writes out files in its own format, or has added
156 proprietary extensions to another format, in order to make Wireshark
157 read captures from that network analyzer, we would either have to have a
158 specification for the file format, or the extensions, sufficient to give
159 us enough information to read the parts of the file relevant to
160 Wireshark, or would need at least one capture file in that format *AND*
161 a detailed textual analysis of the packets in that capture file (showing
162 packet time stamps, packet lengths, and the top-level packet header) in
163 order to reverse-engineer the file format.
165 Note that there is no guarantee that we will be able to
166 reverse-engineer a capture file format.
168 === What devices can Wireshark use to capture packets?
170 Wireshark can read live data from Ethernet, Token-Ring, FDDI, serial
171 (PPP and SLIP) (if the OS on which it's running allows Wireshark to do
172 so), 802.11 wireless LAN (if the OS on which it's running allows
173 Wireshark to do so), ATM connections (if the OS on which it's running
174 allows Wireshark to do so), and the "any" device supported on Linux by
175 recent versions of libpcap.
177 See {wireshark-wiki-url}CaptureSetup/NetworkMedia[the list of
178 supported capture media on various OSes] for details (several items in
179 there say "Unknown", which doesn't mean "Wireshark can't capture on
180 them", it means "we don't know whether it can capture on them"; we
181 expect that it will be able to capture on many of them, but we haven't
182 tried it ourselves - if you try one of those types and it works, please
183 update the wiki page accordingly.
185 It can also read a variety of capture file formats, including:
187 * pcap, used by libpcap, tcpdump and various other tools
188 * Oracle (previously Sun) snoop and atmsnoop captures
189 * Finisar (previously Shomiti) Surveyor captures
190 * Microsoft Network Monitor captures
191 * Novell LANalyzer captures
192 * AIX's iptrace captures
193 * Cinco Networks NetXRay captures
194 * NETSCOUT (previously Network Associates/Network General) Windows-based
195 Sniffer captures
196 * Network General/Network Associates DOS-based Sniffer captures
197 (compressed or uncompressed)
198 * LiveAction (previously WildPackets/Savvius) *Peek/EtherHelp/Packet Grabber
199 captures
200 * RADCOM's WAN/LAN analyzer captures
201 * Viavi (previously Network Instruments) Observer captures
202 * Lucent/Ascend router debug output
203 * Toshiba's ISDN routers dump output
204 * captures from HP-UX nettl
205 * the output from i4btrace from the ISDN4BSD project
206 * traces from the EyeSDN USB S0
207 * the IPLog format output from the Cisco Secure Intrusion Detection System
208 * pppd logs (pppdump format)
209 * the text output from VMS's TCPIPtrace/TCPtrace/UCX$TRACE utilities
210 * the text output from the DBS Etherwatch VMS utility
211 * Visual Networks' Visual UpTime traffic capture
212 * the output from CoSine L2 debug
213 * the output from InfoVista (formerly Accellent) 5Views LAN agents
214 * Endace Measurement Systems' ERF format captures
215 * Linux Bluez Bluetooth stack hcidump -w traces
216 * Catapult DCT2000 .out files
217 * Gammu generated text output from Nokia DCT3 phones in Netmonitor mode
218 * IBM Series (OS/400) Comm traces (ASCII & UNICODE)
219 * Juniper Netscreen snoop files
220 * Symbian OS btsnoop files
221 * TamoSoft CommView files
222 * Tektronix K12xx 32bit .rf5 format files
223 * Tektronix K12 text file format captures
224 * Apple PacketLogger files
225 * Files from Aethra Telecommunications' PC108 software for their test
226 instruments
227 * Citrix NetScaler Trace files
228 * Android Logcat binary and text format logs
229 * Colasoft Capsa and Packet Builder captures
230 * Micropross mplog files
231 * Unigraf DPA-400 DisplayPort AUX channel monitor traces
232 * 802.15.4 traces from Daintree's Sensor Network Analyzer
233 * MPEG-2 Transport Streams as defined in ISO/IEC 13818-1
234 * Log files from the _candump_ utility
235 * Logs from the BUSMASTER tool
236 * Ixia IxVeriWave raw captures
237 * Rabbit Labs CAM Inspector files
238 * systemd journal files
239 * 3GPP TS 32.423 trace files
241 so that it can read traces from various network types, as captured by
242 other applications or equipment, even if it cannot itself capture on
243 those network types.
245 === Does Wireshark work on older versions of Windows such as Windows 7?
247 Each major release branch of Wireshark supports the versions of Windows that are within their product lifecycle at the time of the “.0” release for that branch.
248 For example, Wireshark 3.2.0 was released in December 2019, shortly before Windows 7 reached the end of its extended support in January 2020. As a result, each of the Wireshark 3.2._x_ releases supports Windows 7, even after January 2020.
249 See the
250 link:{wireshark-users-guide-url}ChIntroPlatforms.html[Microsoft Windows section of the User’s Guide]
251 and the
252 link:{wireshark-wiki-url}Development/LifeCycle[End Of Life Planning section of the Release Life Cycle wiki page]
253 for more details.
255 Npcap might not work well on Windows 8 and earlier, so you might want to install WinPcap instead.
257 == Installing Wireshark
259 === I installed the Wireshark RPM (or other package); why did it install TShark but not Wireshark?
261 Many distributions have separate Wireshark packages, one for non-GUI
262 components such as TShark, editcap, dumpcap, etc. and one for the GUI.
263 If this is the case on your system, there's probably a separate package
264 named “wireshark-qt”. Find it and install it.
266 == Building Wireshark
268 === Why does building Wireshark fail due to missing headers (.h files)?
270 If this is happening on Linux, it's likely due to missing development library packages.
271 For example, Debian and Ubuntu ship the GLib library in the libglib2.0-0 package, but ship its header files and other development assets in the libglib2.0-dev package.
273 We maintain setup scripts (_*-setup.sh_) for many major distributions in the _tools_ directory of the Wireshark sources that can install the required development packages for you.
275 == Crashes and other fatal errors
277 === I have an _XXX_ network card on my machine; if I try to capture on it, why does my machine crash or reset itself?
279 This is almost certainly a problem with one or more of:
281 * the operating system you're using;
282 * the device driver for the interface you're using;
283 * the libpcap/Npcap library and, if this is Windows, the Npcap device
284 driver;
288 * if you are using Windows, see {npcap-main-url}[the Npcap support page] - check the "Patches, Bug Reports, Questions, Suggestions,
289 etc" section;
290 * if you are using some Linux distribution, some version of BSD, or some
291 other UNIX-flavored OS, you should report the problem to the company or
292 organization that produces the OS (in the case of a Linux distribution,
293 report the problem to whoever produces the distribution).
295 === Why does my machine crash or reset itself when I select "Start" from the "Capture" menu or select "Preferences" from the "Edit" menu?
297 Both of those operations cause Wireshark to try to build a list of
298 the interfaces that it can open; it does so by getting a list of
299 interfaces and trying to open them. There is probably an OS, driver, or,
300 for Windows, Npcap bug that causes the system to crash when this
301 happens; see the previous question.
303 == Capturing packets
305 [#promiscsniff]
306 === 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?
308 This might be because the interface on which you're capturing is
309 plugged into an Ethernet or Token Ring switch; on a switched network,
310 unicast traffic between two ports will not necessarily appear on other
311 ports - only broadcast and multicast traffic will be sent to all ports.
313 Note that even if your machine is plugged into a hub, the "hub" may be
314 a switched hub, in which case you're still on a switched network.
316 Note also that on the Linksys Web site, they say that their
317 auto-sensing hubs "broadcast the 10Mb packets to the port that operate
318 at 10Mb only and broadcast the 100Mb packets to the ports that operate
319 at 100Mb only", which would indicate that if you sniff on a 10Mb port,
320 you will not see traffic coming sent to a 100Mb port, and _vice versa_.
321 This problem has also been reported for Netgear dual-speed hubs, and may
322 exist for other "auto-sensing" or "dual-speed" hubs.
324 Some switches have the ability to replicate all traffic on all ports to
325 a single port so that you can plug your analyzer into that single port
326 to sniff all traffic. You would have to check the documentation for the
327 switch to see if this is possible and, if so, to see how to do this. See
328 {wireshark-wiki-url}SwitchReference[the switch reference page] on
329 {wireshark-wiki-url}[the Wireshark Wiki] for information on some
330 switches. (Note that it's a Wiki, so you can update or fix that
331 information, or add additional information on those switches or
332 information on new switches, yourself.)
334 Note also that many firewall/NAT boxes have a switch built into them;
335 this includes many of the "cable/DSL router" boxes. If you have a box of
336 that sort, that has a switch with some number of Ethernet ports into
337 which you plug machines on your network, and another Ethernet port used
338 to connect to a cable or DSL modem, you can, at least, sniff traffic
339 between the machines on your network and the Internet by plugging the
340 Ethernet port on the router going to the modem, the Ethernet port on the
341 modem, and the machine on which you're running Wireshark into a hub
342 (make sure it's not a switching hub, and that, if it's a dual-speed hub,
343 all three of those ports are running at the same speed.
345 If your machine is _not_ plugged into a switched network or a
346 dual-speed hub, or it is plugged into a switched network but the port is
347 set up to have all traffic replicated to it, the problem might be that
348 the network interface on which you're capturing doesn't support
349 "promiscuous" mode, or because your OS can't put the interface into
350 promiscuous mode. Normally, network interfaces supply to the host only:
352 * packets sent to one of that host's link-layer addresses;
353 * broadcast packets;
354 * multicast packets sent to a multicast address that the host has
355 configured the interface to accept.
357 Most network interfaces can also be put in "promiscuous" mode, in which
358 they supply to the host all network packets they see. Wireshark will try
359 to put the interface on which it's capturing into promiscuous mode
360 unless the "Capture packets in promiscuous mode" option is turned off in
361 the "Capture Options" dialog box, and TShark will try to put the
362 interface on which it's capturing into promiscuous mode unless the `-p`
363 option was specified. However, some network interfaces don't support
364 promiscuous mode, and some OSes might not allow interfaces to be put
365 into promiscuous mode.
367 If the interface is not running in promiscuous mode, it won't see any
368 traffic that isn't intended to be seen by your machine. It *will* see
369 broadcast packets, and multicast packets sent to a multicast MAC address
370 the interface is set up to receive.
372 You should ask the vendor of your network interface whether it supports
373 promiscuous mode. If it does, you should ask whoever supplied the driver
374 for the interface (the vendor, or the supplier of the OS you're running
375 on your machine) whether it supports promiscuous mode with that network
376 interface.
378 In the case of wireless LAN interfaces, it appears that, when those
379 interfaces are promiscuously sniffing, they're running in a
380 significantly different mode from the mode that they run in when they're
381 just acting as network interfaces (to the extent that it would be a
382 significant effort for those drivers to support for promiscuously
383 sniffing _and_ acting as regular network interfaces at the same time),
384 so it may be that Windows drivers for those interfaces don't support
385 promiscuous mode.
387 === 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?
389 You're probably not seeing _any_ packets other than unicast packets
390 to or from your machine, and broadcast and multicast packets; a switch
391 will normally send to a port only unicast traffic sent to the MAC
392 address for the interface on that port, and broadcast and multicast
393 traffic - it won't send to that port unicast traffic sent to a MAC
394 address for some other interface - and a network interface not in
395 promiscuous mode will receive only unicast traffic sent to the MAC
396 address for that interface, broadcast traffic, and multicast traffic
397 sent to a multicast MAC address the interface is set up to receive.
399 TCP doesn't use broadcast or multicast, so you will only see your own
400 TCP traffic, but UDP services may use broadcast or multicast so you'll
401 see some UDP traffic - however, this is not a problem with TCP traffic,
402 it's a problem with unicast traffic, as you also won't see all UDP
403 traffic between other machines.
405 I.e., this is probably link:#promiscsniff[the same question as this
406 earlier one]; see the response to that question.
408 === Why am I only seeing ARP packets when I try to capture traffic?
410 You're probably on a switched network, and running Wireshark on a
411 machine that's not sending traffic to the switch and not being sent any
412 traffic from other machines on the switch. ARP packets are often
413 broadcast packets, which are sent to all switch ports.
415 I.e., this is probably link:#promiscsniff[the same question as this
416 earlier one]; see the response to that question.
418 === Why am I not seeing any traffic when I try to capture traffic?
420 Is the machine running Wireshark sending out any traffic on the
421 network interface on which you're capturing, or receiving any traffic on
422 that network, or is there any broadcast traffic on the network or
423 multicast traffic to a multicast group to which the machine running
424 Wireshark belongs?
426 If not, this may just be a problem with promiscuous sniffing, either
427 due to running on a switched network or a dual-speed hub, or due to
428 problems with the interface not supporting promiscuous mode; see the
429 response to link:#promiscsniff[this earlier question].
431 Otherwise, on Windows, see the response to link:#capprobwin[this
432 question] and, on a UNIX-flavored OS, see the response to
433 link:#capprobunix[this question].
435 === How do I put an interface into promiscuous mode?
437 By not disabling promiscuous mode when running Wireshark or TShark.
439 Note, however, that:
441 * the form of promiscuous mode that libpcap (the library that programs
442 such as tcpdump, Wireshark, etc. use to do packet capture) turns on will
443 *not* necessarily be shown if you run `ifconfig` on the interface on a
444 UNIX system;
445 * some network interfaces might not support promiscuous mode, and some
446 drivers might not allow promiscuous mode to be turned on - see
447 link:#promiscsniff[this earlier question] for more information on that;
448 * the fact that you're not seeing any traffic, or are only seeing
449 broadcast traffic, or aren't seeing any non-broadcast traffic other than
450 traffic to or from the machine running Wireshark, does not mean that
451 promiscuous mode isn't on - see link:#promiscsniff[this earlier
452 question] for more information on that.
454 I.e., this is probably link:#promiscsniff[the same question as this
455 earlier one]; see the response to that question.
457 === I can set a display filter just fine; why don't capture filters work?
459 Capture filters currently use a different syntax than display
460 filters. Here's the corresponding section from the
461 https://www.wireshark.org/docs/man-pages/wireshark.html[wireshark(1)]
462 man page:
464 "Display filters in Wireshark are very powerful; more fields are
465 filterable in Wireshark than in other protocol analyzers, and the syntax
466 you can use to create your filters is richer. As Wireshark progresses,
467 expect more and more protocol fields to be allowed in display filters.
469 Packet capturing is performed with the pcap library. The capture filter
470 syntax follows the rules of the pcap library. This syntax is different
471 from the display filter syntax."
473 The capture filter syntax used by libpcap can be found in the
474 http://www.tcpdump.org/tcpdump_man.html[tcpdump(8)] man page.
476 === How can I capture packets with CRC errors?
478 Wireshark can capture only the packets that the packet capture
479 library - libpcap on UNIX-flavored OSes, and the Npcap port to Windows
480 of libpcap on Windows - can capture, and libpcap/Npcap can capture only
481 the packets that the OS's raw packet capture mechanism (or the Npcap
482 driver, and the underlying OS networking code and network interface
483 drivers, on Windows) will allow it to capture.
485 Unless the OS always supplies packets with errors such as invalid CRCs
486 to the raw packet capture mechanism, or can be configured to do so,
487 invalid CRCs to the raw packet capture mechanism, Wireshark - and other
488 programs that capture raw packets, such as tcpdump - cannot capture
489 those packets. You will have to determine whether your OS needs to be so
490 configured and, if so, can be so configured, configure it if necessary
491 and possible, and make whatever changes to libpcap and the packet
492 capture program you're using are necessary, if any, to support capturing
493 those packets.
495 Most OSes probably do *not* support capturing packets with invalid CRCs
496 on Ethernet, and probably do not support it on most other link-layer
497 types. Some drivers on some OSes do support it, such as some Ethernet
498 drivers on FreeBSD; in those OSes, you might always get those packets,
499 or you might only get them if you capture in promiscuous mode (you'd
500 have to determine which is the case).
502 Note that libpcap does not currently supply to programs that use it an
503 indication of whether the packet's CRC was invalid (because the drivers
504 themselves do not supply that information to the raw packet capture
505 mechanism); therefore, Wireshark will not indicate which packets had CRC
506 errors unless the FCS was captured (see the next question) and you're
507 using Wireshark 0.9.15 and later, in which case Wireshark will check the
508 CRC and indicate whether it's correct or not.
510 === How can I capture entire frames, including the FCS?
512 Wireshark can only capture data that the packet capture library -
513 libpcap on UNIX-flavored OSes, and the Npcap port to Windows of libpcap
514 on Windows - can capture, and libpcap/Npcap can capture only the data
515 that the OS's raw packet capture mechanism (or the Npcap driver, and the
516 underlying OS networking code and network interface drivers, on Windows)
517 will allow it to capture.
519 For any particular link-layer network type, unless the OS supplies the
520 FCS of a frame as part of the frame, or can be configured to do so,
521 Wireshark - and other programs that capture raw packets, such as tcpdump
522 - cannot capture the FCS of a frame. You will have to determine whether
523 your OS needs to be so configured and, if so, can be so configured,
524 configure it if necessary and possible, and make whatever changes to
525 libpcap and the packet capture program you're using are necessary, if
526 any, to support capturing the FCS of a frame.
528 Most OSes do *not* support capturing the FCS of a frame on Ethernet,
529 and probably do not support it on most other link-layer types. Some
530 drivers on some OSes do support it, such as some (all?) Ethernet drivers
531 on NetBSD and possibly the driver for Apple's gigabit Ethernet interface
532 in macOS; in those OSes, you might always get the FCS, or you might only
533 get the FCS if you capture in promiscuous mode (you'd have to determine
534 which is the case).
536 Versions of Wireshark prior to 0.9.15 will not treat an Ethernet FCS in
537 a captured packet as an FCS. 0.9.15 and later will attempt to determine
538 whether there's an FCS at the end of the frame and, if it thinks there
539 is, will display it as such, and will check whether it's the correct
540 CRC-32 value or not.
542 === I'm capturing packets on a machine on a VLAN; why don't the packets I'm capturing have VLAN tags?
544 You might be capturing on what might be called a "VLAN interface" -
545 the way a particular OS makes VLANs plug into the networking stack
546 might, for example, be to have a network device object for the physical
547 interface, which takes VLAN packets, strips off the VLAN header and
548 constructs an Ethernet header, and passes that packet to an internal
549 network device object for the VLAN, which then passes the packets onto
550 various higher-level protocol implementations.
552 In order to see the raw Ethernet packets, rather than "de-VLANized"
553 packets, you would have to capture not on the virtual interface for the
554 VLAN, but on the interface corresponding to the physical network device,
555 if possible. See {wireshark-wiki-url}CaptureSetup/VLAN[the
556 Wireshark Wiki item on VLAN capturing] for details.
558 === Why does Wireshark hang after I stop a capture?
560 The most likely reason for this is that Wireshark is trying to look
561 up an IP address in the capture to convert it to a name (so that, for
562 example, it can display the name in the source address or destination
563 address columns), and that lookup process is taking a very long time.
565 Wireshark calls a routine in the OS of the machine on which it's
566 running to convert of IP addresses to the corresponding names. That
567 routine probably does one or more of:
569 * a search of a system file listing IP addresses and names;
570 * a lookup using DNS;
571 * on UNIX systems, a lookup using NIS;
572 * on Windows systems, a NetBIOS-over-TCP query.
574 If a DNS server that's used in an address lookup is not responding, the
575 lookup will fail, but will only fail after a timeout while the system
576 routine waits for a reply.
578 In addition, on Windows systems, if the DNS lookup of the address
579 fails, either because the server isn't responding or because there are
580 no records in the DNS that could be used to map the address to a name, a
581 NetBIOS-over-TCP query will be made. That query involves sending a
582 message to the NetBIOS-over-TCP name service on that machine, asking for
583 the name and other information about the machine. If the machine isn't
584 running software that responds to those queries - for example, many
585 non-Windows machines wouldn't be running that software - the lookup will
586 only fail after a timeout. Those timeouts can cause the lookup to take a
587 long time.
589 If you disable network address-to-name translation - for example, by
590 turning off the "Enable network name resolution" option in the "Capture
591 Options" dialog box for starting a network capture - the lookups of the
592 address won't be done, which may speed up the process of reading the
593 capture file after the capture is stopped. You can make that setting the
594 default by selecting "Preferences" from the "Edit" menu, turning off the
595 "Enable network name resolution" option in the "Name resolution" options
596 in the preferences dialog box, and using the "Save" button in that
597 dialog box; note that this will save _all_ your current preference
598 settings.
600 If Wireshark hangs when reading a capture even with network name
601 resolution turned off, there might, for example, be a bug in one of
602 Wireshark's dissectors for a protocol causing it to loop infinitely. If
603 you're not running the most recent release of Wireshark, you should
604 first upgrade to that release, as, if there's a bug of that sort, it
605 might've been fixed in a release after the one you're running. If the
606 hang occurs in the most recent release of Wireshark, the bug should be
607 reported to mailto:wireshark-dev@wireshark.org[the Wireshark developers'
608 mailing list] at `wireshark-dev@wireshark.org`.
610 On UNIX-flavored OSes, please try to force Wireshark to dump core, by
611 sending it a `SIGABRT` signal (usually signal 6) with the `kill`
612 command, and then get a stack trace if you have a debugger installed. A
613 stack trace can be obtained by using your debugger (`gdb` in this
614 example), the Wireshark binary, and the resulting core file. Here's an
615 example of how to use the gdb command `backtrace` to do so.
617 ----
618 $ gdb wireshark core
619 (gdb) backtrace
620 ..... prints the stack trace
621 (gdb) quit
623 ----
625 The core dump file may be named "wireshark.core" rather than "core" on
626 some platforms (e.g., BSD systems).
628 Also, if at all possible, please send a copy of the capture file that
629 caused the problem. When capturing packets, Wireshark normally writes
630 captured packets to a temporary file, which will probably be in `/tmp`
631 or `/var/tmp` on UNIX-flavored OSes, `\TEMP` on the main system disk
632 (normally `\Documents and Settings\<your login name>\Local Settings\Temp` on the main system disk on Windows XP and
633 Server 2003, and `\Users\<your login name>\AppData\Local\Temp` on the main
634 system disk on Windows Vista and later, so the capture file will
635 probably be there. If you are capturing on a single interface, it will
636 have a name of the form,
637 `wireshark_<iface>_YYYYmmddHHMMSS_XXXXXX.<fmt>`, where <fmt> is the
638 capture file format (pcap or pcapng), and <iface> is the actual name of
639 the interface you are capturing on; otherwise, if you are capturing on
640 multiple interfaces, it will have a name of the form,
641 `wireshark_<N>_interfaces_YYYYmmddHHMMSS_XXXXXX.<fmt>`, where <N> is the
642 number of simultaneous interfaces you are capturing on. Please don't
643 send a trace file greater than 1 MB when compressed; instead, make it
644 available via FTP or HTTP, or say it's available but leave it up to a
645 developer to ask for it. If the trace file contains sensitive
646 information (e.g., passwords), then please do not send it.
648 == Capturing packets on Windows
650 [#capprobwin]
651 === 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?
653 Wireshark relies on the Npcap library, the Npcap device driver,
654 and the facilities that come with the OS on which it's running in
655 order to do captures.
657 Therefore, if the OS, the Npcap library, or the Npcap driver don't
658 support capturing on a particular network interface device, Wireshark
659 won't be able to capture on that device.
661 If an interface doesn't show up in the list of interfaces in the
662 "Interface:" field, and you know the name of the interface, try entering
663 that name in the "Interface:" field and capturing on that device.
665 If the attempt to capture on it succeeds, the interface is somehow not
666 being reported by the mechanism Wireshark uses to get a list of
667 interfaces. Try listing the interfaces with WinDump; see
668 https://www.winpcap.org/windump/[the WinDump Web site] for information on using
669 WinDump.
671 You would run WinDump with the `-D` flag; if it lists the interface,
672 please report this to
673 mailto:wireshark-dev@wireshark.org[wireshark-dev@wireshark.org] giving
674 full details of the problem, including
676 * the operating system you're using, and the version of that operating
677 system;
678 * the type of network device you're using;
679 * the output of WinDump.
681 If WinDump does _not_ list the interface, this is almost certainly a
682 problem with one or more of:
684 * the operating system you're using;
685 * the device driver for the interface you're using;
686 * the Npcap library and/or the Npcap device driver;
688 so first check {npcap-main-url}guide/npcap-users-guide.html[the Npcap User's Guide] to see if your problem is mentioned there.
689 If not, then see {npcap-main-url}[the main Npcap page] - check the "Patches, Bug Reports, Questions, Suggestions, etc" section.
691 If you are having trouble capturing on a particular network interface,
692 first try capturing on that device with WinDump; see
693 https://www.winpcap.org/windump/[the WinDump Web site] for information on using
694 WinDump.
696 If you can capture on the interface with WinDump, send mail to
697 mailto:wireshark-users@wireshark.org[wireshark-users@wireshark.org]
698 giving full details of the problem, including
700 * the operating system you're using, and the version of that operating
701 system;
702 * the type of network device you're using;
703 * the error message you get from Wireshark.
705 If you _cannot_ capture on the interface with WinDump, this is almost
706 certainly a problem with one or more of:
708 * the operating system you're using;
709 * the device driver for the interface you're using;
710 * the Npcap library and/or the Npcap device driver;
712 so first check {npcap-main-url}guide/npcap-users-guide.html[the Npcap User's Guide] to see if your problem is mentioned there.
713 If not, then see {npcap-main-url}[the main Npcap page] - check the "Patches, Bug Reports, Questions, Suggestions, etc" section.
715 You may also want to ask the
716 mailto:wireshark-users@wireshark.org[wireshark-users@wireshark.org] and
717 the mailto:dev@nmap.org[dev@nmap.org] mailing
718 lists to see if anybody happens to know about the problem and know a
719 workaround or fix for the problem. (Note that you will have to subscribe
720 to that list in order to be allowed to mail to it; see
721 {npcap-main-url}[the Npcap support page] for information on the
722 mailing list.) In your mail, please give full details of the problem, as
723 described above, and also indicate that the problem occurs with WinDump,
724 not just with Wireshark.
726 === 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"?
728 This is really link:#capprobwin[the same question as a previous one];
729 see the response to that question.
731 === I'm running Wireshark on Windows; why am I not seeing any traffic being sent by the machine running Wireshark?
733 If you are running some form of VPN client software, it might be
734 causing this problem; people have seen this problem when they have Check
735 Point's VPN software installed on their machine. If that's the cause of
736 the problem, you will have to remove the VPN software in order to have
737 Wireshark (or any other application using Npcap) see outgoing packets;
738 unfortunately, neither we nor the Npcap developers know any way to make
739 Npcap and the VPN software work well together.
741 Also, some drivers for Windows (especially some wireless network
742 interface drivers) apparently do not, when running in promiscuous mode,
743 arrange that outgoing packets are delivered to the software that
744 requested that the interface run promiscuously; try turning promiscuous
745 mode off.
747 === 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?
749 In at least some cases, this appears to be the result of PGPnet
750 running on the network interface on which you're capturing; turn it off
751 on that interface.
753 === I'm trying to capture 802.11 traffic on Windows; why am I not seeing any packets?
755 You should first ensure that Npcap was installed with {npcap-main-url}/guide/npcap-devguide.html#npcap-feature-dot11[raw 802.11 support] and that monitor mode is enabled.
757 At least some 802.11 card drivers on Windows appear not to see any
758 packets if they're running in promiscuous mode. Try turning promiscuous
759 mode off; you'll only be able to see packets sent by and received by
760 your machine, not third-party traffic, and it'll look like Ethernet
761 traffic and won't include any management or control frames, but that's a
762 limitation of the card drivers.
764 // XXX Is this still relevant?
765 // See the archived
766 // https://web.archive.org/web/20090226193157/http://www.micro-logix.com/winpcap/Supported.asp[MicroLogix's
767 // list of cards supported with WinPcap] for information on support of
768 // various adapters and drivers with WinPcap.
770 === 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?
772 This appears to be another problem with promiscuous mode; try turning
773 it off.
775 === 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?
777 The way the Windows networking code works probably means that packets
778 are sent on a "VLAN interface" rather than the "raw" device, so packets
779 sent by the machine will only be seen when you capture on the "VLAN
780 interface". If so, you will be unable to see outgoing packets when
781 capturing on the "raw" device, so you are stuck with a choice between
782 seeing VLAN headers and seeing outgoing packets.
784 == Capturing packets on UN*Xes
786 [#capprobunix]
787 === 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?
789 You may need to run Wireshark from an account with sufficient
790 privileges to capture packets, such as the super-user account, or may
791 need to give your account sufficient privileges to capture packets. Only
792 those interfaces that Wireshark can open for capturing show up in that
793 list; if you don't have sufficient privileges to capture on any
794 interfaces, no interfaces will show up in the list. See
795 {wireshark-wiki-url}CaptureSetup/CapturePrivileges[the Wireshark
796 Wiki item on capture privileges] for details on how to give a particular
797 account or account group capture privileges on platforms where that can
798 be done.
800 If you are running Wireshark from an account with sufficient
801 privileges, then note that Wireshark relies on the libpcap library, and
802 on the facilities that come with the OS on which it's running in order
803 to do captures. On some OSes, those facilities aren't present by
804 default; see {wireshark-wiki-url}CaptureSetup/CaptureSupport[the
805 Wireshark Wiki item on adding capture support] for details.
807 And, even if you're running with an account that has sufficient
808 privileges to capture, and capture support is present in your OS, if the
809 OS or the libpcap library don't support capturing on a particular
810 network interface device or particular types of devices, Wireshark won't
811 be able to capture on that device.
813 On Solaris, note that libpcap 0.6.2 and earlier didn't support Token
814 Ring interfaces; the current version, 0.7.2, does support Token Ring,
815 and the current version of Wireshark works with libpcap 0.7.2 and later.
817 If an interface doesn't show up in the list of interfaces in the
818 "Interface:" field, and you know the name of the interface, try entering
819 that name in the "Interface:" field and capturing on that device.
821 If the attempt to capture on it succeeds, the interface is somehow not
822 being reported by the mechanism Wireshark uses to get a list of
823 interfaces; please report this to
824 mailto:wireshark-dev@wireshark.org[wireshark-dev@wireshark.org] giving
825 full details of the problem, including
827 * the operating system you're using, and the version of that operating
828 system (for Linux, give both the version number of the kernel and the
829 name and version number of the distribution you're using);
830 * the type of network device you're using.
832 If you are having trouble capturing on a particular network interface,
833 and you've made sure that (on platforms that require it) you've arranged
834 that packet capture support is present, as per the above, first try
835 capturing on that device with `tcpdump`.
837 If you can capture on the interface with `tcpdump`, send mail to
838 mailto:wireshark-users@wireshark.org[wireshark-users@wireshark.org]
839 giving full details of the problem, including
841 * the operating system you're using, and the version of that operating
842 system (for Linux, give both the version number of the kernel and the
843 name and version number of the distribution you're using);
844 * the type of network device you're using;
845 * the error message you get from Wireshark.
847 If you _cannot_ capture on the interface with `tcpdump`, this is almost
848 certainly a problem with one or more of:
850 * the operating system you're using;
851 * the device driver for the interface you're using;
852 * the libpcap library;
854 so you should report the problem to the company or organization that
855 produces the OS (in the case of a Linux distribution, report the problem
856 to whoever produces the distribution).
858 You may also want to ask the
859 mailto:wireshark-users@wireshark.org[wireshark-users@wireshark.org] and
861 mailto:tcpdump-workers@lists.tcpdump.org[tcpdump-workers@lists.tcpdump.org]
862 mailing lists to see if anybody happens to know about the problem and
863 know a workaround or fix for the problem. In your mail, please give full
864 details of the problem, as described above, and also indicate that the
865 problem occurs with `tcpdump` not just with Wireshark.
867 === 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"?
869 This is really link:#capprobunix[the same question as the previous
870 one]; see the response to that question.
872 === I'm capturing packets on Linux; why do the time stamps have only 100ms resolution, rather than 1us resolution?
874 Wireshark gets time stamps from libpcap/Npcap, and libpcap/Npcap get
875 them from the OS kernel, so Wireshark - and any other program using
876 libpcap, such as tcpdump - is at the mercy of the time stamping code in
877 the OS for time stamps.
879 At least on x86-based machines, Linux can get high-resolution time
880 stamps on newer processors with the Time Stamp Counter (TSC) register;
881 for example, Intel x86 processors, starting with the Pentium Pro, and
882 including all x86 processors since then, have had a TSC, and other
883 vendors probably added the TSC at some point to their families of x86
884 processors. The Linux kernel must be configured with the CONFIG_X86_TSC
885 option enabled in order to use the TSC. Make sure this option is enabled
886 in your kernel.
888 In addition, some Linux distributions may have bugs in their versions
889 of the kernel that cause packets not to be given high-resolution time
890 stamps even if the TSC is enabled. See, for example, bug 61111 for Red
891 Hat Linux 7.2. If your distribution has a bug such as this, you may have
892 to run a standard kernel from kernel.org in order to get high-resolution
893 time stamps.
895 == Capturing packets on wireless LANs
897 === How can I capture raw 802.11 frames, including non-data (management, beacon) frames?
899 That depends on the operating system on which you're running, and on
900 the 802.11 interface on which you're capturing.
902 This would probably require that you capture in promiscuous mode or in
903 the mode called "monitor mode" or "RFMON mode". On some platforms, or
904 with some cards, this might require that you capture in monitor mode -
905 promiscuous mode might not be sufficient. If you want to capture traffic
906 on networks other than the one with which you're associated, you will
907 have to capture in monitor mode.
909 Not all operating systems support capturing non-data packets and, even
910 on operating systems that do support it, not all drivers, and thus not
911 all interfaces, support it. Even on those that do, monitor mode might
912 not be supported by the operating system or by the drivers for all
913 interfaces.
915 *NOTE:* an interface running in monitor mode will, on most if not all
916 platforms, not be able to act as a regular network interface; putting it
917 into monitor mode will, in effect, take your machine off of whatever
918 network it's on as long as the interface is in monitor mode, allowing it
919 only to passively capture packets.
921 This means that you should disable name resolution when capturing in
922 monitor mode; otherwise, when Wireshark (or TShark, or tcpdump) tries to
923 display IP addresses as host names, it will probably block for a long
924 time trying to resolve the name because it will not be able to
925 communicate with any DNS or NIS servers.
927 See {wireshark-wiki-url}CaptureSetup/WLAN[the Wireshark Wiki
928 item on 802.11 capturing] for details.
930 === How do I capture on an 802.11 device in monitor mode?
932 Whether you will be able to capture in monitor mode depends on the
933 operating system, adapter, and driver you're using. See
934 link:#raw_80211_sniff[the previous question] for information on monitor
935 mode, including a link to the Wireshark Wiki page that gives details on
936 802.11 capturing.
938 == Viewing traffic
940 === Why am I seeing lots of packets with incorrect TCP checksums?
942 If the packets that have incorrect TCP checksums are all being sent
943 by the machine on which Wireshark is running, this is probably because
944 the network interface on which you're capturing does TCP checksum
945 offloading. That means that the TCP checksum is added to the packet by
946 the network interface, not by the OS's TCP/IP stack; when capturing on
947 an interface, packets being sent by the host on which you're capturing
948 are directly handed to the capture interface by the OS, which means that
949 they are handed to the capture interface without a TCP checksum being
950 added to them.
952 The only way to prevent this from happening would be to disable TCP
953 checksum offloading, but
955 1.  that might not even be possible on some OSes;
956 2.  that could reduce networking performance significantly.
958 However, you can disable the check that Wireshark does of the TCP
959 checksum, so that it won't report any packets as having TCP checksum
960 errors, and so that it won't refuse to do TCP reassembly due to a packet
961 having an incorrect TCP checksum. That can be set as an Wireshark
962 preference by selecting "Preferences" from the "Edit" menu, opening up
963 the "Protocols" list in the left-hand pane of the "Preferences" dialog
964 box, selecting "TCP", from that list, turning off the "Check the
965 validity of the TCP checksum when possible" option, clicking "Save" if
966 you want to save that setting in your preference file, and clicking
967 "OK".
969 It can also be set on the Wireshark or TShark command line with a
970 `-o tcp.check_checksum:false` command-line flag, or manually set in your
971 preferences file by adding a `tcp.check_checksum:false` line.
973 === I've just installed Wireshark, and the traffic on my local LAN is boring. Where can I find more interesting captures?
975 We have a collection of strange and exotic sample capture files at
976 {wireshark-wiki-url}SampleCaptures[{wireshark-wiki-url}SampleCaptures]
978 === Why doesn't Wireshark correctly identify RTP packets? It shows them only as UDP.
980 Wireshark can identify a UDP datagram as containing a packet of a
981 particular protocol running atop UDP only if
983 1.  The protocol in question has a particular standard port number, and
984 the UDP source or destination port number is that port
985 2.  Packets of that protocol can be identified by looking for a
986 "signature" of some type in the packet - i.e., some data that, if
987 Wireshark finds it in some particular part of a packet, means that the
988 packet is almost certainly a packet of that type.
989 3.  Some _other_ traffic earlier in the capture indicated that, for
990 example, UDP traffic between two particular addresses and ports will be
991 RTP traffic.
993 RTP doesn't have a standard port number, so 1) doesn't work; it doesn't,
994 as far as I know, have any "signature", so 2) doesn't work.
996 That leaves 3). If there's RTSP traffic that sets up an RTP session,
997 then, at least in some cases, the RTSP dissector will set things up so
998 that subsequent RTP traffic will be identified. Currently, that's the
999 only place we do that; there may be other places.
1001 However, there will always be places where Wireshark is simply
1002 *incapable* of deducing that a given UDP flow is RTP; a mechanism would
1003 be needed to allow the user to specify that a given conversation should
1004 be treated as RTP. As of Wireshark 0.8.16, such a mechanism exists; if
1005 you select a UDP or TCP packet, the right mouse button menu will have a
1006 "Decode As..." menu item, which will pop up a dialog box letting you
1007 specify that the source port, the destination port, or both the source
1008 and destination ports of the packet should be dissected as some
1009 particular protocol.
1011 === Why doesn't Wireshark show Yahoo Messenger packets in captures that contain Yahoo Messenger traffic?
1013 Wireshark only recognizes as Yahoo Messenger traffic packets to or
1014 from TCP port 3050 that begin with "YPNS", "YHOO", or "YMSG". TCP
1015 segments that start with the middle of a Yahoo Messenger packet that
1016 takes more than one TCP segment will not be recognized as Yahoo
1017 Messenger packets (even if the TCP segment also contains the beginning
1018 of another Yahoo Messenger packet).
1020 == Filtering traffic
1022 === 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?
1024 You cannot use the name of a saved display filter as a filter. To
1025 filter the display, you can enter a display filter expression - *not*
1026 the name of a saved display filter - in the "Filter:" box at the bottom
1027 of the display, and type the <Enter> key or press the "Apply" button
1028 (that does not require you to have a saved filter), or, if you want to
1029 use a saved filter, you can press the "Filter:" button, select the
1030 filter in the dialog box that pops up, and press the "OK" button.
1032 === How can I search for, or filter, packets that have a particular string anywhere in them?
1034 If you want to do this when capturing, you can't. That's a feature
1035 that would be hard to implement in capture filters without changes to
1036 the capture filter code, which, on many platforms, is in the OS kernel
1037 and, on other platforms, is in the libpcap library.
1039 After capture, you can search for text by selecting _Edit→Find
1040 Packet..._ and making sure _String_ is selected. Alternately, you can
1041 use the "contains" display filter operator or "matches" operator if it's
1042 supported on your system.
1044 === How do I filter a capture to see traffic for virus XXX?
1046 For some viruses/worms there might be a capture filter to recognize
1047 the virus traffic. Check the
1048 {wireshark-wiki-url}CaptureFilters[CaptureFilters] page on the
1049 {wireshark-wiki-url}[Wireshark Wiki] to see if anybody's added
1050 such a filter.
1052 Note that Wireshark was not designed to be an intrusion detection
1053 system; you might be able to use it as an IDS, but in most cases
1054 software designed to be an IDS, such as https://www.snort.org/[Snort] or
1055 https://www.prelude-siem.org/[Prelude], will probably work better.
1057 == Questions Which Are Still Notable Even Though They Aren’t Asked Much Any More
1059 === What's up with the name change? Is Wireshark a fork?
1061 In May of 2006, Gerald Combs (the original author of Ethereal) went
1062 to work for CACE Technologies (best known for WinPcap). Unfortunately,
1063 he had to leave the Ethereal trademarks behind.
1065 This left the project in an awkward position. The only reasonable way
1066 to ensure the continued success of the project was to change the name.
1067 This is how Wireshark was born.
1069 Wireshark is almost (but not quite) a fork. Normally a "fork" of an
1070 open source project results in two names, web sites, development teams,
1071 support infrastructures, etc. This is the case with Wireshark except for
1072 one notable exception -- every member of the core development team is
1073 now working on Wireshark. There has been no active development on
1074 Ethereal since the name change. Several parts of the Ethereal web site`
1075 (such as the mailing lists, source code repository, and build farm) have
1076 gone offline.
1078 More information on the name change can be found here:
1080 * https://www.prweb.com/releases/2006/6/prweb396098.htm[Original press
1081 release]
1082 * https://www.linux.com/news/ethereal-changes-name-wireshark[NewsForge article]
1083 * Many other articles in https://www.wireshark.org/bibliography.html[our
1084 bibliography]