DCERPC: factor out proto_tree_add_dcerpc_drep()
[wireshark-wip.git] / help / faq.py
blobdc3b330b039b1fa270258a6c519db67f6de6b01b
1 #!/usr/bin/env python
3 # faq.py
5 # Routines to assemble a FAQ list for the Wireshark web site.
6 # Questions and answer content can be found below. Section and
7 # question numbers will be automatically generated.
9 # $Id$
11 # Wireshark - Network traffic analyzer
12 # By Gerald Combs <gerald@wireshark.org>
13 # Copyright 1998 Gerald Combs
15 # This program is free software; you can redistribute it and/or
16 # modify it under the terms of the GNU General Public License
17 # as published by the Free Software Foundation; either version 2
18 # of the License, or (at your option) any later version.
20 # This program is distributed in the hope that it will be useful,
21 # but WITHOUT ANY WARRANTY; without even the implied warranty of
22 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 # GNU General Public License for more details.
25 # You should have received a copy of the GNU General Public License
26 # along with this program; if not, write to the Free Software
27 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
29 import sys
30 import string
32 class faq_section:
33 def __init__(self, name, secnum):
34 self.name = name
35 self.secnum = secnum
36 self.qa = []
37 self.subsecs = []
39 def add_qa(self, question, answer, tag):
40 q_num = len(self.qa) + 1
41 q_id = "%s.%d" % (self.get_num_string(), q_num)
42 self.qa.append( (q_id, question, answer, tag) )
44 def get_all_qa(self):
45 return self.qa
47 def add_subsec(self, subsec):
48 self.subsecs.append(subsec)
50 def get_all_subsecs(self):
51 return self.subsecs
53 def get_num_string(self):
54 return "%d" % (self.secnum)
56 def get_name(self):
57 return self.name
59 def get_num_name(self):
60 return "%s. %s" % (self.get_num_string(), self.name)
62 def get_header_level(self):
63 return 3
65 def print_index(self):
66 print(("<a href=#sec%s><h%d>%s:</h%d></a>\n" % (self.get_num_string(), self.get_header_level(), self.get_num_name(), self.get_header_level())))
67 for qa in self.qa:
68 id = qa[0]
69 question = qa[1]
70 print('<p class="faq_q">')
71 print(('<a class="faq_qnum" href=#q%s>%s %s</a>\n' % (id, id, question)))
72 print('</p>')
73 for subsec in self.subsecs:
74 subsec.print_index()
76 def print_contents(self):
77 # Table header
78 print(("""
79 <a name="sec%s">
80 <h%d>%s</h%d>
81 </a>
82 """ % (self.get_num_string(), self.get_header_level(), self.get_num_name(), self.get_header_level())))
84 # Questions and Answers
85 for qa in self.qa:
86 id = qa[0]
87 question = qa[1]
88 answer = qa[2]
89 tag = qa[3]
91 print('<p class="faq_q">')
92 print(('<a class="faq_qnum" name=q%s>Q %s:</a>' % (id, id)))
93 if tag is not None:
94 print(('<a name=%s>' % tag))
95 print(('<span>%s</span>' % (question)))
96 if tag is not None:
97 print('</a>')
98 print('</p>')
100 print('<p class="faq_a">')
101 print('<span class="faq_anum">A:</span>\n')
102 print(answer)
103 print('</p>')
105 # Subsections
106 for subsec in self.subsecs:
107 subsec.print_contents()
109 # Table footer
110 print("")
112 class faq_subsection(faq_section):
113 def __init__(self, name, secnum, subsecnum):
114 self.name = name
115 self.secnum = secnum
116 self.subsecnum = subsecnum
117 self.qa = []
118 self.subsecs = []
120 def get_num_string(self):
121 return "%d.%d" % (self.secnum, self.subsecnum)
123 def get_header_level(self):
124 return 2
126 class faq_subsubsection(faq_section):
127 def __init__(self, name, secnum, subsecnum, subsubsecnum):
128 self.name = name
129 self.secnum = secnum
130 self.subsecnum = subsecnum
131 self.subsubsecnum = subsubsecnum
132 self.qa = []
133 self.subsecs = []
135 def get_num_string(self):
136 return "%d.%d.%d" % (self.secnum, self.subsecnum, self.subsubsecnum)
138 def get_header_level(self):
139 return 2
141 sec_num = 0
142 subsec_num = 0
143 subsubsec_num = 0
144 sections = []
145 current_section = None
146 parent_section = None
147 grandparent_section = None
148 current_question = None
149 current_tag = None
151 # Make a URL of itself
152 def selflink(text):
153 return "<a href=\"%s\">%s</a>" % (text, text)
155 # Add a section
156 def section(name):
157 global sec_num
158 global subsec_num
159 global subsubsec_num
160 global current_section
161 global grandparent_section
162 assert not current_question
163 sec_num = sec_num + 1
164 subsec_num = 0
165 subsubsec_num = 0
166 sec = faq_section(name, sec_num)
167 sections.append(sec)
168 current_section = sec
169 grandparent_section = sec
171 # Add a subsection
172 def subsection(name):
173 global subsec_num
174 global subsubsec_num
175 global current_section
176 global parent_section
177 global grandparent_section
178 assert not current_question
179 subsec_num = subsec_num + 1
180 subsubsec_num = 0
181 sec = faq_subsection(name, sec_num, subsec_num)
182 grandparent_section.add_subsec(sec)
183 current_section = sec
184 parent_section = sec
186 # Add a subsubsection
187 def subsubsection(name):
188 global subsubsec_num
189 global current_section
190 global parent_section
191 assert not current_question
192 subsubsec_num = subsubsec_num + 1
193 sec = faq_subsubsection(name, sec_num, subsec_num, subsubsec_num)
194 parent_section.add_subsec(sec)
195 current_section = sec
197 # Add a question
198 def question(text, tag=None):
199 global current_question
200 global current_tag
201 assert current_section
202 assert not current_question
203 assert not current_tag
204 current_question = text
205 current_tag = tag
207 # Add an answer
208 def answer(text):
209 global current_question
210 global current_tag
211 assert current_section
212 assert current_question
213 current_section.add_qa(current_question, text, current_tag)
214 current_question = None
215 current_tag = None
218 # Create the index
219 def create_index():
220 print("""
221 <a name="index">
222 <h1>Index</h1>
223 </a>
224 """)
225 for sec in sections:
226 sec.print_index()
228 print("""
229 """)
232 # Print result
233 def create_output(header='', footer=''):
235 print(header)
236 create_index()
238 for sec in sections:
239 sec.print_contents()
241 print(footer)
243 def main():
244 header = '''\
245 <?xml version="1.0" encoding="UTF-8"?>
246 <!DOCTYPE html
247 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
248 "DTD/xhtml1-strict.dtd">
249 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
250 <head>
251 <title>Wireshark FAQ</title>
252 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
253 </head>
254 <body>
256 footer = '''\
257 </body>
258 </html>
261 if len(sys.argv) > 1 and sys.argv[1] == '-b': # Only print the document body
262 header = ''
263 footer = ''
265 create_output(header, footer)
267 #################################################################
268 section("General Questions")
269 #################################################################
271 question("What is Wireshark?")
272 answer("""
273 Wireshark&#174; is a network protocol analyzer. It lets you capture and
274 interactively browse the traffic running on a computer network. It has
275 a rich and powerful feature set and is world's most popular tool of its
276 kind. It runs on most computing platforms including Windows, OS X,
277 Linux, and UNIX. Network professionals, security experts, developers,
278 and educators around the world use it regularly. It is freely available
279 as open source, and is released under the GNU General Public License
280 version 2.
282 <br />
284 It is developed and maintained by a global team of protocol experts, and
285 it is an example of a
286 <a href="http://en.wikipedia.org/wiki/Disruptive_technology">disruptive
287 technology</a>.
289 <br />
291 Wireshark used to be known as Ethereal&#174;. See the next question
292 for details about the name change. If you're still using Ethereal, it
293 is <a href="http://www.ethereal.com/appnotes/enpa-sa-00024.html">strongly
294 recommended that you upgrade to Wireshark</a>.
296 <br />
298 For more information, please see the
299 <a href="/about.html">About Wireshark</a>
300 page.
301 """)
304 question("What's up with the name change? Is Wireshark a fork?")
305 answer("""
306 In May of 2006, Gerald Combs (the original author of Ethereal)
307 went to work for CACE Technologies (best known for WinPcap).
308 Unfortunately, he had to leave the Ethereal trademarks behind.
310 <br />
312 This left the project in an awkward position. The only reasonable way
313 to ensure the continued success of the project was to change the name.
314 This is how Wireshark was born.
316 <br />
318 Wireshark is almost (but not quite) a fork. Normally a "fork" of an open source
319 project results in two names, web sites, development teams, support
320 infrastructures, etc. This is the case with Wireshark except for one notable
321 exception -- every member of the core development team is now working on
322 Wireshark. There has been no active development on Ethereal since the name
323 change. Several parts of the Ethereal web site (such as the mailing lists,
324 source code repository, and build farm) have gone offline.
326 <br />
328 More information on the name change can be found here:
330 <ul class="item_list">
332 <li><a href="http://www.prweb.com/releases/2006/6/prweb396098.htm">Original press release</a>
333 <li><a href="http://trends.newsforge.com/article.pl?sid=06/06/09/1349255&from=rss">NewsForge article</a>
334 <li>Many other articles in <a href="http://www.wireshark.org/bibliography.html">our bibliography</a>
335 </ul>
336 """)
339 question("Where can I get help?")
340 answer("""
341 Community support is available on the
342 <a href="http://ask.wireshark.org/">Q&amp;A site</a> and on the
343 wireshark-users mailing list. Subscription information and archives for
344 all of Wireshark's mailing lists can be found at %s. An IRC channel
345 dedicated to Wireshark can be found at %s.
347 <br />
349 Self-paced and instructor-led training is available at <a
350 href="http://www.wiresharktraining.com">Wireshark University</a>.
351 Wireshark University also offers certification via the Wireshark
352 Certified Network Analyst program.
354 """ % (selflink("https://www.wireshark.org/mailman/listinfo"),
355 selflink("irc://irc.freenode.net/wireshark")
359 question("What kind of shark is Wireshark?")
360 answer("""
361 <i>carcharodon photoshopia</i>.
362 """)
365 question("How is Wireshark pronounced, spelled and capitalized?")
366 answer("""
367 Wireshark is pronounced as the word <i>wire</i> followed immediately by
368 the word <i>shark</i>. Exact pronunciation and emphasis may vary
369 depending on your locale (e.g. Arkansas).
371 <br />
373 It's spelled with a capital <i>W</i>, followed by a lower-case
374 <i>ireshark</i>. It is not a CamelCase word, i.e., <i>WireShark</i>
375 is incorrect.
376 """)
379 question("How much does Wireshark cost?", "but_thats_not_all")
380 answer("""
381 Wireshark is "free software"; you can download it without paying any
382 license fee. The version of Wireshark you download isn't a "demo"
383 version, with limitations not present in a "full" version; it
384 <em>is</em> the full version.
386 <br />
388 The license under which Wireshark is issued is <a
389 href="http://www.gnu.org/licenses/gpl.html">the GNU General Public
390 License version 2</a>. See <a href="http://www.gnu.org/licenses/gpl-faq.html">the
391 GNU GPL FAQ</a> for some more information.
392 """)
394 question("But I just paid someone on eBay for a copy of Wireshark! Did I get ripped off?")
395 answer("""
396 That depends. Did they provide any sort of value-added product or service, such
397 as installation support, installation media, training, trace file analysis, or
398 funky-colored shark-themed socks? Probably not.
400 <br />
402 Wireshark is <a href="/download.html">available for anyone to download,
403 absolutely free, at any time</a>. Paying for a copy implies that you should
404 get something for your money.
405 """)
407 question("Can I use Wireshark commercially?")
408 answer("""
409 Yes, if, for example, you mean "I work for a commercial organization;
410 can I use Wireshark to capture and analyze network traffic in our
411 company's networks or in our customer's networks?"
413 <br />
415 If you mean "Can I use Wireshark as part of my commercial product?", see
416 <a href="#derived_work_gpl">the next entry in the FAQ</a>.
417 """)
420 question("Can I use Wireshark as part of my commercial product?",
421 "derived_work_gpl")
423 answer("""
424 As noted, Wireshark is licensed under <a
425 href="http://www.gnu.org/licenses/gpl.html">the GNU General Public
426 License</a>. The GPL imposes conditions on your use of GPL'ed code in
427 your own products; you cannot, for example, make a "derived work" from
428 Wireshark, by making modifications to it, and then sell the resulting
429 derived work and not allow recipients to give away the resulting work.
430 You must also make the changes you've made to the Wireshark source
431 available to all recipients of your modified version; those changes
432 must also be licensed under the terms of the GPL. See the <a
433 href="http://www.gnu.org/licenses/gpl-faq.html">GPL FAQ</a> for more
434 details; in particular, note the answer to <a
435 href="http://www.gnu.org/licenses/gpl-faq.html#GPLCommercially">the
436 question about modifying a GPLed program and selling it
437 commercially</a>, and <a
438 href="http://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL">the
439 question about linking GPLed code with other code to make a proprietary
440 program</a>.
442 <br />
444 You can combine a GPLed program such as Wireshark and a commercial
445 program as long as they communicate "at arm's length", as per <a
446 href="http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem">this
447 item in the GPL FAQ</a>.
449 <br />
451 We recommend keeping Wireshark and your product completely separate,
452 communicating over sockets or pipes. If you're loading any part of
453 Wireshark as a DLL, you're probably doing it wrong.
454 """)
456 question("What protocols are currently supported?")
457 answer("""
458 There are currently hundreds of supported
459 protocols and media. Details can be found in the
460 <a href="/docs/man-pages/wireshark.html">wireshark(1)</a> man page.
461 """)
464 question("Are there any plans to support {your favorite protocol}?")
465 answer("""
466 Support for particular protocols is added to Wireshark as a result of
467 people contributing that support; no formal plans for adding support for
468 particular protocols in particular future releases exist.
469 """)
472 question("""Can Wireshark read capture files from {your favorite network
473 analyzer}?""")
475 answer("""
476 Support for particular capture file formats is added to Wireshark as a result
477 of people contributing that support; no formal plans for adding support for
478 particular capture file formats in particular future releases exist.
480 <br />
482 If a network analyzer writes out files in a format already supported by
483 Wireshark (e.g., in libpcap format), Wireshark may already be able to read
484 them, unless the analyzer has added its own proprietary extensions to
485 that format.
487 <br />
489 If a network analyzer writes out files in its own format, or has added
490 proprietary extensions to another format, in order to make Wireshark read
491 captures from that network analyzer, we would either have to have a
492 specification for the file format, or the extensions, sufficient to give
493 us enough information to read the parts of the file relevant to
494 Wireshark, or would need at least one capture file in that format
495 <strong>AND</strong> a detailed textual analysis of the packets in that
496 capture file (showing packet time stamps, packet lengths, and the
497 top-level packet header) in order to reverse-engineer the file
498 format.
500 <br />
502 Note that there is no guarantee that we will be able to reverse-engineer
503 a capture file format.
504 """)
507 question("What devices can Wireshark use to capture packets?")
508 answer("""
509 Wireshark can read live data from Ethernet, Token-Ring, FDDI, serial (PPP
510 and SLIP) (if the OS on which it's running allows Wireshark to do so),
511 802.11 wireless LAN (if the OS on which it's running allows Wireshark to
512 do so), ATM connections (if the OS on which it's running allows Wireshark
513 to do so), and the "any" device supported on Linux by recent versions of
514 libpcap.
516 <br />
518 See <a href="http://wiki.wireshark.org/CaptureSetup/NetworkMedia">the list of
519 supported capture media on various OSes</a> for details (several items
520 in there say "Unknown", which doesn't mean "Wireshark can't capture on
521 them", it means "we don't know whether it can capture on them"; we
522 expect that it will be able to capture on many of them, but we haven't
523 tried it ourselves - if you try one of those types and it works, please
524 update the wiki page accordingly.
526 <br />
528 It can also read a variety of capture file formats, including:
530 <ul>
532 <li> AG Group/WildPackets EtherPeek/TokenPeek/AiroPeek/EtherHelp/Packet Grabber captures
533 <li> AIX's iptrace captures
534 <li> Accellent's 5Views LAN agent output
535 <li> Cinco Networks NetXRay captures
536 <li> Cisco Secure Intrusion Detection System IPLog output
537 <li> CoSine L2 debug output
538 <li> DBS Etherwatch VMS text output
539 <li> Endace Measurement Systems' ERF format captures
540 <li> EyeSDN USB S0 traces
541 <li> HP-UX nettl captures
542 <li> ISDN4BSD project i4btrace captures
543 <li> Linux Bluez Bluetooth stack hcidump -w traces
544 <li> Lucent/Ascend router debug output
545 <li> Microsoft Network Monitor captures
546 <li> Network Associates Windows-based Sniffer captures
547 <li> Network General/Network Associates DOS-based Sniffer (compressed or uncompressed) captures
548 <li> Network Instruments Observer version 9 captures
549 <li> Novell LANalyzer captures
550 <li> RADCOM's WAN/LAN analyzer captures
551 <li> Shomiti/Finisar Surveyor captures
552 <li> Toshiba's ISDN routers dump output
553 <li> VMS TCPIPtrace/TCPtrace/UCX$TRACE output
554 <li> Visual Networks' Visual UpTime traffic capture
555 <li> libpcap, tcpdump and various other tools using tcpdump's capture format
556 <li> snoop and atmsnoop output
558 </ul>
560 so that it can read traces from various network types, as captured by
561 other applications or equipment, even if it cannot itself capture on
562 those network types.
563 """)
565 question("""
566 Does Wireshark work on Windows Vista or Windows Server 2008?
567 """)
569 answer("""
570 Yes, but if you want to capture packets as a normal user, you must make sure
571 npf.sys is loaded. Wireshark's installer enables this by default. This is not a
572 concern if you run Wireshark as Administrator, but this is discouraged. See the
574 href="http://wiki.wireshark.org/CaptureSetup/CapturePrivileges#windows">CapturePrivileges</a>
575 page on the wiki for more details.
576 """)
578 #################################################################
579 section("Downloading Wireshark")
580 #################################################################
583 question("""Why do I get an error when I try to run the Win32 installer?""")
585 answer("""
586 The program you used to download it may have downloaded it incorrectly.
587 Web browsers and download accelerators sometimes may do this.
589 <br />
591 Try downloading it with, for example:
592 <ul>
593 <li>Wget, for which Windows binaries are available from <a
594 href="http://www.christopherlewis.com/WGet/WGetFiles.htm">Christopher Lewis</a>
596 <a href="http://www.jensroesner.de/wgetgui/">wGetGUI</a>, which offers a GUI
597 interface that uses wget;
599 <li>WS_FTP from <a href="http://www.ipswitch.com/">Ipswitch</a>,
601 <li>the <code>ftp</code> command that comes with Windows.
603 </ul>
605 If you use the <code>ftp</code> command, make sure you do the transfer in
606 binary mode rather than ASCII mode, by using the <code>binary</code> command
607 before transferring the file.
608 """)
612 #################################################################
613 section("Installing Wireshark")
614 #################################################################
617 question("""I installed the Wireshark RPM (or other package); why did
618 it install TShark but not Wireshark?""")
620 answer("""
621 Many distributions have separate Wireshark packages, one for non-GUI
622 components such as TShark, editcap, dumpcap, etc. and one for the GUI.
623 If this is the case on your system, there's probably a separate package
624 named <code>wireshark-gnome</code> or <code>wireshark-gtk+</code>. Find it and
625 install it.
626 """)
629 #################################################################
630 section("Building Wireshark")
631 #################################################################
634 question("""I have libpcap installed; why did the configure script not
635 find pcap.h or bpf.h?""")
637 answer("""
638 Are you sure pcap.h and bpf.h are installed? The official distribution
639 of libpcap only installs the libpcap.a library file when "make install"
640 is run. To install pcap.h and bpf.h, you must run "make install-incl".
641 If you're running Debian or Redhat, make sure you have the "libpcap-dev"
642 or "libpcap-devel" packages installed.
644 <br />
646 It's also possible that pcap.h and bpf.h have been installed in a strange
647 location. If this is the case, you may have to tweak aclocal.m4.
648 """)
651 question("""
652 Why do I get the error
654 <blockquote><samp>dftest_DEPENDENCIES was already defined in condition TRUE,
655 which implies condition HAVE_PLUGINS_TRUE</samp></blockquote>
657 when I try to build Wireshark from SVN or a SVN snapshot?
658 """)
660 answer("""
661 You probably have automake 1.5 installed on your machine (the command
662 <kbd>automake --version</kbd> will report the version of automake on
663 your machine). There is a bug in that version of automake that causes
664 this problem; upgrade to a later version of automake (1.6 or later).
665 """)
667 question("""
668 Why does the linker fail with a number of "Output line too long." messages
669 followed by linker errors when I try to build Wireshark?
670 """)
672 answer("""
673 The version of the <code>sed</code> command on your system is incapable of
674 handling very long lines. On Solaris, for example,
675 <code>/usr/bin/sed</code> has a line length limit too low to allow
676 <code>libtool</code> to work; <code>/usr/xpg4/bin/sed</code> can handle it, as
677 can GNU <code>sed</code> if you have it installed.
679 <br />
681 On Solaris, changing your command search path to search
682 <code>/usr/xpg4/bin</code> before <code>/usr/bin</code> should make the problem
683 go away; on any platform on which you have this problem, installing GNU
684 <code>sed</code> and changing your command path to search the directory in
685 which it is installed before searching the directory with the version of
686 <code>sed</code> that came with the OS should make the problem go away.
687 """)
689 question("""
690 When I try to build Wireshark on Solaris, why does the link fail
691 complaining that <code>plugin_list</code> is undefined?
692 """)
694 answer("""
695 This appears to be due to a problem with some versions of the GTK+ and
696 GLib packages from www.sunfreeware.org; un-install those packages, and
697 try getting the 1.2.10 versions from that site, or the versions from <a
698 href="http://www.thewrittenword.com">The Written Word</a>, or the
699 versions from Sun's GNOME distribution, or the versions from the
700 supplemental software CD that comes with the Solaris media kit, or build
701 them from source from <a href="http://www.gtk.org/">the GTK Web
702 site</a>. Then re-run the configuration script, and try rebuilding
703 Wireshark. (If you get the 1.2.10 versions from www.sunfreeware.org, and
704 the problem persists, un-install them and try installing one of the
705 other versions mentioned.)
706 """)
708 question("""
709 When I try to build Wireshark on Windows, why does the build fail because
710 of conflicts between <code>winsock.h</code> and <code>winsock2.h</code>?
711 """)
713 answer("""
714 As of Wireshark 0.9.5, you must install WinPcap 2.3 or later, and the
715 corresponding version of the developer's pack, in order to be able to
716 compile Wireshark; it will not compile with older versions of the
717 developer's pack. The symptoms of this failure are conflicts between
718 definitions in <code>winsock.h</code> and in <code>winsock2.h</code>; Wireshark
719 uses <code>winsock2.h</code>, but pre-2.3 versions of the WinPcap
720 developer's packet use <code>winsock.h</code>. (2.3 uses
721 <code>winsock2.h</code>, so if Wireshark were to use <code>winsock.h</code>, it
722 would not be able to build with current versions of the WinPcap
723 developer's pack.)
725 <br />
727 Note that the installed version of the developer's pack should be the
728 same version as the version of WinPcap you have installed.
729 """)
731 #################################################################
732 section("Starting Wireshark")
733 #################################################################
736 question("""Why does Wireshark crash with a Bus Error when I try to run
737 it on Solaris 8?""")
739 answer("""
740 Some versions of the GTK+ library from www.sunfreeware.org appear to be
741 buggy, causing Wireshark to drop core with a Bus Error. Un-install those
742 packages, and try getting the 1.2.10 version from that site, or the
743 version from <a href="http://www.thewrittenword.com">The Written
744 Word</a>, or the version from Sun's GNOME distribution, or the version
745 from the supplemental software CD that comes with the Solaris media kit,
746 or build it from source from <a href="http://www.gtk.org/">the GTK Web
747 site</a>. Update the GLib library to the 1.2.10 version, from the same
748 source, as well. (If you get the 1.2.10 versions from
749 www.sunfreeware.org, and the problem persists, un-install them and try
750 installing one of the other versions mentioned.)
752 <br />
754 Similar problems may exist with older versions of GTK+ for earlier
755 versions of Solaris.
756 """)
758 question("""When I try to run Wireshark, why does it complain about
759 <code>sprint_realloc_objid</code> being undefined?""")
761 answer("""
762 Wireshark can only be linked with version 4.2.2 or later of UCD SNMP.
763 Your version of Wireshark was dynamically linked with such a version of
764 UCD SNMP; however, you have an older version of UCD SNMP installed,
765 which means that when Wireshark is run, it tries to link to the older
766 version, and fails. You will have to replace that version of UCD SNMP
767 with version 4.2.2 or a later version.
768 """)
770 question("""
771 I've installed Wireshark from Fink on Mac OS X; why is it very slow to
772 start up?
773 """)
775 answer("""
776 When an application is installed on OS X, prior to 10.4, it is usually
777 "prebound" to speed up launching the application. (That's what the
778 "Optimizing" phase of installation is.)
780 <br />
782 Fink normally performs prebinding automatically when you install a
783 package. However, in some rare cases, for whatever reason the prebinding
784 caches get corrupt, and then not only does prebinding fail, but startup
785 actually becomes much slower, because the system tries in vain to
786 perform prebinding "on the fly" as you launch the application. This
787 fails, causing sometimes huge delays.
789 <br />
791 To fix the prebinding caches, run the command
793 <pre>
794 sudo /sw/var/lib/fink/prebound/update-package-prebinding.pl -f
795 </pre>
796 """)
798 #################################################################
799 section("Crashes and other fatal errors")
800 #################################################################
803 question("""
804 I have an XXX network card on my machine; if I try to capture on it, why
805 does my machine crash or reset itself?
806 """)
808 answer("""
809 This is almost certainly a problem with one or more of:
811 <ul>
812 <li>the operating system you're using;
813 <li>the device driver for the interface you're using;
814 <li>the libpcap/WinPcap library and, if this is Windows, the WinPcap
815 device driver;
816 </ul>
820 <ul>
821 <li>if you are using Windows, see <a
822 href="http://www.winpcap.org/contact.htm">the WinPcap support
823 page</a> - check the "Submitting bugs" section;
824 <li>if you are using some Linux distribution, some version of BSD, or
825 some other UNIX-flavored OS, you should report the problem to the
826 company or organization that produces the OS (in the case of a Linux
827 distribution, report the problem to whoever produces the distribution).
828 </ul>
829 """)
831 question("""
832 Why does my machine crash or reset itself when I select "Start" from the
833 "Capture" menu or select "Preferences" from the "Edit" menu?
834 """)
836 answer("""
837 Both of those operations cause Wireshark to try to build a list of the
838 interfaces that it can open; it does so by getting a list of interfaces
839 and trying to open them. There is probably an OS, driver, or, for
840 Windows, WinPcap bug that causes the system to crash when this happens;
841 see the previous question.
842 """)
844 #################################################################
845 section("Capturing packets")
846 #################################################################
849 question("""When I use Wireshark to capture packets, why do I see only
850 packets to and from my machine, or not see all the traffic I'm expecting
851 to see from or to the machine I'm trying to monitor?""", "promiscsniff")
853 answer("""
854 This might be because the interface on which you're capturing is plugged
855 into an Ethernet or Token Ring switch; on a switched network, unicast
856 traffic between two ports will not necessarily appear on other ports -
857 only broadcast and multicast traffic will be sent to all ports.
859 <br />
861 Note that even if your machine is plugged into a hub, the "hub" may be
862 a switched hub, in which case you're still on a switched network.
864 <br />
866 Note also that on the Linksys Web site, they say that their
867 auto-sensing hubs "broadcast the 10Mb packets to the port that operate
868 at 10Mb only and broadcast the 100Mb packets to the ports that operate
869 at 100Mb only", which would indicate that if you sniff on a 10Mb port,
870 you will not see traffic coming sent to a 100Mb port, and <i>vice
871 versa</i>. This problem has also been reported for Netgear dual-speed
872 hubs, and may exist for other "auto-sensing" or "dual-speed" hubs.
874 <br />
876 Some switches have the ability to replicate all traffic on all ports to
877 a single port so that you can plug your analyzer into that single port to
878 sniff all traffic. You would have to check the documentation for the
879 switch to see if this is possible and, if so, to see how to do this.
880 See <a href="http://wiki.wireshark.org/SwitchReference">the switch
881 reference page</a> on <a href="http://wiki.wireshark.org/">the Wireshark
882 Wiki</a> for information on some switches. (Note that it's a Wiki, so
883 you can update or fix that information, or add additional information on
884 those switches or information on new switches, yourself.)
886 <br />
888 Note also that many firewall/NAT boxes have a switch built into them;
889 this includes many of the "cable/DSL router" boxes. If you have a box
890 of that sort, that has a switch with some number of Ethernet ports into
891 which you plug machines on your network, and another Ethernet port used
892 to connect to a cable or DSL modem, you can, at least, sniff traffic
893 between the machines on your network and the Internet by plugging
894 the Ethernet port on the router going to the modem, the Ethernet port on
895 the modem, and the machine on which you're running Wireshark into a hub
896 (make sure it's not a switching hub, and that, if it's a dual-speed hub,
897 all three of those ports are running at the same speed.
899 <br />
901 If your machine is <em>not</em> plugged into a switched network or a
902 dual-speed hub, or it is plugged into a switched network but the port is
903 set up to have all traffic replicated to it, the problem might be that
904 the network interface on which you're capturing doesn't support
905 "promiscuous" mode, or because your OS can't put the interface into
906 promiscuous mode. Normally, network interfaces supply to the host only:
908 <ul>
909 <li>packets sent to one of that host's link-layer addresses;
910 <li>broadcast packets;
911 <li>multicast packets sent to a multicast address that the host has
912 configured the interface to accept.
913 </ul>
915 Most network interfaces can also be put in "promiscuous" mode, in which
916 they supply to the host all network packets they see. Wireshark will try
917 to put the interface on which it's capturing into promiscuous mode
918 unless the "Capture packets in promiscuous mode" option is turned off in
919 the "Capture Options" dialog box, and TShark will try to put the
920 interface on which it's capturing into promiscuous mode unless the
921 <code>-p</code> option was specified. However, some network interfaces
922 don't support promiscuous mode, and some OSes might not allow interfaces
923 to be put into promiscuous mode.
925 <br />
927 If the interface is not running in promiscuous mode, it won't see any
928 traffic that isn't intended to be seen by your machine. It
929 <strong>will</strong> see broadcast packets, and multicast packets sent
930 to a multicast MAC address the interface is set up to receive.
932 <br />
934 You should ask the vendor of your network interface whether it supports
935 promiscuous mode. If it does, you should ask whoever supplied the
936 driver for the interface (the vendor, or the supplier of the OS you're
937 running on your machine) whether it supports promiscuous mode with that
938 network interface.
940 <br />
942 In the case of token ring interfaces, the drivers for some of them, on
943 Windows, may require you to enable promiscuous mode in order to capture
944 in promiscuous mode. See <a
945 href="http://wiki.wireshark.org/CaptureSetup/TokenRing">the Wireshark
946 Wiki item on Token Ring capturing</a> for details.
948 <br />
950 In the case of wireless LAN interfaces, it appears that, when those
951 interfaces are promiscuously sniffing, they're running in a
952 significantly different mode from the mode that they run in when they're
953 just acting as network interfaces (to the extent that it would be a
954 significant effort for those drivers to support for promiscuously
955 sniffing <em>and</em> acting as regular network interfaces at the same
956 time), so it may be that Windows drivers for those interfaces don't
957 support promiscuous mode.
958 """)
960 question("""When I capture with Wireshark, why can't I see any TCP
961 packets other than packets to and from my machine, even though another
962 analyzer on the network sees those packets?""")
964 answer("""
965 You're probably not seeing <em>any</em> packets other than unicast
966 packets to or from your machine, and broadcast and multicast packets; a
967 switch will normally send to a port only unicast traffic sent to the MAC
968 address for the interface on that port, and broadcast and multicast
969 traffic - it won't send to that port unicast traffic sent to a MAC
970 address for some other interface - and a network interface not in
971 promiscuous mode will receive only unicast traffic sent to the MAC
972 address for that interface, broadcast traffic, and multicast traffic
973 sent to a multicast MAC address the interface is set up to receive.
975 <br />
977 TCP doesn't use broadcast or multicast, so you will only see your own
978 TCP traffic, but UDP services may use broadcast or multicast so you'll
979 see some UDP traffic - however, this is not a problem with TCP traffic,
980 it's a problem with unicast traffic, as you also won't see all UDP
981 traffic between other machines.
983 <br />
985 I.e., this is probably <a href="#promiscsniff">the same question
986 as this earlier one</a>; see the response to that question.
987 """)
989 question("""Why am I only seeing ARP packets when I try to capture
990 traffic?""")
992 answer("""
993 You're probably on a switched network, and running Wireshark on a machine
994 that's not sending traffic to the switch and not being sent any traffic
995 from other machines on the switch. ARP packets are often broadcast
996 packets, which are sent to all switch ports.
998 <br />
1000 I.e., this is probably <a href="#promiscsniff">the same question
1001 as this earlier one</a>; see the response to that question.
1002 """)
1004 question("""
1005 Why am I not seeing any traffic when I try to capture traffic?""")
1007 answer("""
1008 Is the machine running Wireshark sending out any traffic on the network
1009 interface on which you're capturing, or receiving any traffic on that
1010 network, or is there any broadcast traffic on the network or multicast
1011 traffic to a multicast group to which the machine running Wireshark
1012 belongs?
1014 <br />
1016 If not, this may just be a problem with promiscuous sniffing, either due
1017 to running on a switched network or a dual-speed hub, or due to problems
1018 with the interface not supporting promiscuous mode; see the response to
1019 <a href="#promiscsniff">this earlier question</a>.
1021 <br />
1023 Otherwise, on Windows, see the response to <a href="#capprobwin">this
1024 question</a> and, on a UNIX-flavored OS, see the response to <a
1025 href="#capprobunix">this question</a>.
1026 """)
1028 question("""
1029 Can Wireshark capture on (my T1/E1 line, SS7 links, etc.)?
1030 """)
1032 answer("""
1033 Wireshark can only capture on devices supported by libpcap/WinPcap. On
1034 most OSes, only devices that can act as network interfaces of the type
1035 that support IP are supported as capture devices for libpcap/WinPcap,
1036 although the device doesn't necessarily have to be running as an IP
1037 interface in order to support traffic capture.
1039 <br />
1041 On Linux and FreeBSD, libpcap 0.8 and later support the API for <a
1042 href="http://www.endace.com/products.htm">Endace Measurement Systems'
1043 DAG cards</a>, so that a system with one of those cards, and its driver
1044 and libraries, installed can capture traffic with those cards with
1045 libpcap-based applications. You would either have to have a version of
1046 Wireshark built with that version of libpcap, or a dynamically-linked
1047 version of Wireshark and a shared libpcap library with DAG support, in
1048 order to do so with Wireshark. You should ask Endace whether that could
1049 be used to capture traffic on, for example, your T1/E1 link.
1051 <br />
1053 See <a href="http://wiki.wireshark.org/CaptureSetup/SS7">the SS7 capture
1054 setup page</a> on <a href="http://wiki.wireshark.org/">the Wireshark
1055 Wiki</a> for current information on capturing SS7 traffic on TDM
1056 links.
1057 """)
1059 question("""How do I put an interface into promiscuous mode?""")
1061 answer("""
1062 By not disabling promiscuous mode when running Wireshark or TShark.
1064 <br />
1066 Note, however, that:
1067 <ul>
1068 <li>the form of promiscuous mode that libpcap (the library that
1069 programs such as tcpdump, Wireshark, etc. use to do packet capture)
1070 turns on will <strong>not</strong> necessarily be shown if you run
1071 <code>ifconfig</code> on the interface on a UNIX system;
1072 <li>some network interfaces might not support promiscuous mode, and some
1073 drivers might not allow promiscuous mode to be turned on - see <a
1074 href="#promiscsniff">this earlier question</a> for more information on
1075 that;
1076 <li>the fact that you're not seeing any traffic, or are only seeing
1077 broadcast traffic, or aren't seeing any non-broadcast traffic other than
1078 traffic to or from the machine running Wireshark, does not mean that
1079 promiscuous mode isn't on - see <a href="#promiscsniff">this earlier
1080 question</a> for more information on that.
1081 </ul>
1083 I.e., this is probably <a href="#promiscsniff">the same question
1084 as this earlier one</a>; see the response to that question.
1085 """)
1087 question("""
1088 I can set a display filter just fine; why don't capture filters work?
1089 """)
1091 answer("""
1092 Capture filters currently use a different syntax than display filters. Here's
1093 the corresponding section from the
1094 <a href="/docs/man-pages/wireshark.html">wireshark(1)</a>
1095 man page:
1097 <br />
1099 "Display filters in Wireshark are very powerful; more fields are filterable
1100 in Wireshark than in other protocol analyzers, and the syntax you can
1101 use to create your filters is richer. As Wireshark progresses, expect
1102 more and more protocol fields to be allowed in display filters.
1104 <br />
1106 Packet capturing is performed with the pcap library. The capture filter
1107 syntax follows the rules of the pcap library. This syntax is different
1108 from the display filter syntax."
1110 <br />
1112 The capture filter syntax used by libpcap can be found in the
1113 <a href="http://www.tcpdump.org/tcpdump_man.html">tcpdump(8)</a>
1114 man page.
1115 """)
1118 question("""I'm entering valid capture filters; why do I still get
1119 "parse error" errors?""")
1121 answer("""
1122 There is a bug in some versions of libpcap/WinPcap that cause it to
1123 report parse errors even for valid expressions if a previous filter
1124 expression was invalid and got a parse error.
1126 <br />
1128 Try exiting and restarting Wireshark; if you are using a version of
1129 libpcap/WinPcap with this bug, this will "erase" its memory of the
1130 previous parse error. If the capture filter that got the "parse error"
1131 now works, the earlier error with that filter was probably due to this
1132 bug.
1134 <br />
1136 The bug was fixed in libpcap 0.6; 0.4[.x] and 0.5[.x] versions of
1137 libpcap have this bug, but 0.6[.x] and later versions don't.
1139 <br />
1141 Versions of WinPcap prior to 2.3 are based on pre-0.6 versions of
1142 libpcap, and have this bug; WinPcap 2.3 is based on libpcap 0.6.2, and
1143 doesn't have this bug.
1145 <br />
1147 If you are running Wireshark on a UNIX-flavored platform, run "wireshark
1148 -v", or select "About Wireshark..." from the "Help" menu in Wireshark, to
1149 see what version of libpcap it's using. If it's not 0.6 or later, you
1150 will need either to upgrade your OS to get a later version of libpcap,
1151 or will need to build and install a later version of libpcap from <a
1152 href="http://www.tcpdump.org/">the tcpdump.org Web site</a> and then
1153 recompile Wireshark from source with that later version of libpcap.
1155 <br />
1157 If you are running Wireshark on Windows with a pre-2.3 version of
1158 WinPcap, you will need to un-install WinPcap and then download and
1159 install WinPcap 2.3.
1160 """)
1162 question("""
1163 How can I capture packets with CRC errors?
1164 """)
1166 answer("""
1167 Wireshark can capture only the packets that the packet capture library -
1168 libpcap on UNIX-flavored OSes, and the WinPcap port to Windows of libpcap
1169 on Windows - can capture, and libpcap/WinPcap can capture only the
1170 packets that the OS's raw packet capture mechanism (or the WinPcap
1171 driver, and the underlying OS networking code and network interface
1172 drivers, on Windows) will allow it to capture.
1174 <br />
1176 Unless the OS always supplies packets with errors such as invalid CRCs
1177 to the raw packet capture mechanism, or can be configured to do so,
1178 invalid CRCs to the raw packet capture mechanism, Wireshark - and other
1179 programs that capture raw packets, such as tcpdump - cannot capture
1180 those packets. You will have to determine whether your OS needs to be
1181 so configured and, if so, can be so configured, configure it if
1182 necessary and possible, and make whatever changes to libpcap and the
1183 packet capture program you're using are necessary, if any, to support
1184 capturing those packets.
1186 <br />
1188 Most OSes probably do <strong>not</strong> support capturing packets
1189 with invalid CRCs on Ethernet, and probably do not support it on most
1190 other link-layer types. Some drivers on some OSes do support it, such
1191 as some Ethernet drivers on FreeBSD; in those OSes, you might always get
1192 those packets, or you might only get them if you capture in promiscuous
1193 mode (you'd have to determine which is the case).
1195 <br />
1197 Note that libpcap does not currently supply to programs that use it an
1198 indication of whether the packet's CRC was invalid (because the drivers
1199 themselves do not supply that information to the raw packet capture
1200 mechanism); therefore, Wireshark will not indicate which packets had CRC
1201 errors unless the FCS was captured (see the next question) and you're
1202 using Wireshark 0.9.15 and later, in which case Wireshark will check the
1203 CRC and indicate whether it's correct or not.
1204 """)
1206 question("""
1207 How can I capture entire frames, including the FCS?
1208 """)
1210 answer("""
1211 Wireshark can only capture data that the packet capture library -
1212 libpcap on UNIX-flavored OSes, and the WinPcap port to Windows of
1213 libpcap on Windows - can capture, and libpcap/WinPcap can capture only
1214 the data that the OS's raw packet capture mechanism (or the WinPcap
1215 driver, and the underlying OS networking code and network interface
1216 drivers, on Windows) will allow it to capture.
1218 <br />
1220 For any particular link-layer network type, unless the OS supplies the
1221 FCS of a frame as part of the frame, or can be configured to do so,
1222 Wireshark - and other programs that capture raw packets, such as tcpdump
1223 - cannot capture the FCS of a frame. You will have to determine whether
1224 your OS needs to be so configured and, if so, can be so configured,
1225 configure it if necessary and possible, and make whatever changes to
1226 libpcap and the packet capture program you're using are necessary, if
1227 any, to support capturing the FCS of a frame.
1229 <br />
1231 Most OSes do <strong>not</strong> support capturing the FCS of a frame
1232 on Ethernet, and probably do not support it on most other link-layer
1233 types. Some drivres on some OSes do support it, such as some (all?)
1234 Ethernet drivers on NetBSD and possibly the driver for Apple's gigabit
1235 Ethernet interface in Mac OS X; in those OSes, you might always get the
1236 FCS, or you might only get the FCS if you capture in promiscuous mode
1237 (you'd have to determine which is the case).
1239 <br />
1241 Versions of Wireshark prior to 0.9.15 will not treat an Ethernet FCS in a
1242 captured packet as an FCS. 0.9.15 and later will attempt to determine
1243 whether there's an FCS at the end of the frame and, if it thinks there
1244 is, will display it as such, and will check whether it's the correct
1245 CRC-32 value or not.
1246 """)
1248 question("""
1249 I'm capturing packets on a machine on a VLAN; why don't the packets I'm
1250 capturing have VLAN tags?
1251 """)
1253 answer("""
1254 You might be capturing on what might be called a "VLAN interface" - the
1255 way a particular OS makes VLANs plug into the networking stack might,
1256 for example, be to have a network device object for the physical
1257 interface, which takes VLAN packets, strips off the VLAN header and
1258 constructs an Ethernet header, and passes that packet to an internal
1259 network device object for the VLAN, which then passes the packets onto
1260 various higher-level protocol implementations.
1262 <br />
1264 In order to see the raw Ethernet packets, rather than "de-VLANized"
1265 packets, you would have to capture not on the virtual interface for the
1266 VLAN, but on the interface corresponding to the physical network device,
1267 if possible. See <a
1268 href="http://wiki.wireshark.org/CaptureSetup/VLAN">the Wireshark Wiki
1269 item on VLAN capturing</a> for details.
1270 """)
1272 question("""
1273 Why does Wireshark hang after I stop a capture?
1274 """)
1276 answer("""
1277 The most likely reason for this is that Wireshark is trying to look up an
1278 IP address in the capture to convert it to a name (so that, for example,
1279 it can display the name in the source address or destination address
1280 columns), and that lookup process is taking a very long time.
1282 <br />
1284 Wireshark calls a routine in the OS of the machine on which it's running
1285 to convert of IP addresses to the corresponding names. That routine
1286 probably does one or more of:
1287 <ul><li>a search of a system file listing IP addresses and names;
1288 <li>a lookup using DNS;
1289 <li>on UNIX systems, a lookup using NIS;
1290 <li>on Windows systems, a NetBIOS-over-TCP query.
1291 </ul>
1293 If a DNS server that's used in an address lookup is not responding, the
1294 lookup will fail, but will only fail after a timeout while the system
1295 routine waits for a reply.
1297 <br />
1299 In addition, on Windows systems, if the DNS lookup of the address fails,
1300 either because the server isn't responding or because there are no
1301 records in the DNS that could be used to map the address to a name, a
1302 NetBIOS-over-TCP query will be made. That query involves sending a
1303 message to the NetBIOS-over-TCP name service on that machine, asking for
1304 the name and other information about the machine. If the machine isn't
1305 running software that responds to those queries - for example, many
1306 non-Windows machines wouldn't be running that software - the lookup will
1307 only fail after a timeout. Those timeouts can cause the lookup to take
1308 a long time.
1310 <br />
1312 If you disable network address-to-name translation - for example, by
1313 turning off the "Enable network name resolution" option in the "Capture
1314 Options" dialog box for starting a network capture - the lookups of the
1315 address won't be done, which may speed up the process of reading the
1316 capture file after the capture is stopped. You can make that setting
1317 the default by selecting "Preferences" from the "Edit" menu, turning off
1318 the "Enable network name resolution" option in the "Name resolution"
1319 options in the preferences disalog box, and using the "Save" button in
1320 that dialog box; note that this will save <em>all</em> your current
1321 preference settings.
1323 <br />
1325 If Wireshark hangs when reading a capture even with network name
1326 resolution turned off, there might, for example, be a bug in one of
1327 Wireshark's dissectors for a protocol causing it to loop infinitely. If
1328 you're not running the most recent release of Wireshark, you should first
1329 upgrade to that release, as, if there's a bug of that sort, it might've
1330 been fixed in a release after the one you're running. If the hang
1331 occurs in the most recent release of Wireshark, the bug should be
1332 reported to <a href="mailto:wireshark-dev@wireshark.org">the Wireshark
1333 developers' mailing list</a> at <code>wireshark-dev@wireshark.org</code>.
1335 <br />
1337 On UNIX-flavored OSes, please try to force Wireshark to dump core, by
1338 sending it a <code>SIGABRT</code> signal (usually signal 6) with the
1339 <code>kill</code> command, and then get a stack trace if you have a debugger
1340 installed. A stack trace can be obtained by using your debugger
1341 (<code>gdb</code> in this example), the Wireshark binary, and the resulting
1342 core file. Here's an example of how to use the gdb command
1343 <code>backtrace</code> to do so.
1345 <pre>
1346 $ gdb wireshark core
1347 (gdb) backtrace
1348 ..... prints the stack trace
1349 (gdb) quit
1351 </pre>
1353 The core dump file may be named "wireshark.core" rather than "core" on
1354 some platforms (e.g., BSD systems).
1356 <br />
1358 Also, if at all possible, please send a copy of the capture file that caused
1359 the problem. When capturing packets, Wireshark normally writes captured
1360 packets to a temporary file, which will probably be in <code>/tmp</code> or
1361 <code>/var/tmp</code> on UNIX-flavored OSes, <code>\\TEMP</code> on the main system disk
1362 (normally <code>\\Documents and Settings\\</code><var>your login name</var>
1363 <code>\\Local Settings\\Temp</code> on the main system disk on Windows
1364 Windows XP and Server 2003, and
1365 <code>\\Users\\<var>your login name</var>\\AppData\\Local\\Temp</code> on the main
1366 system disk on Windows Vista and later, so the capture file will probably be there. If you
1367 are capturing on a single interface, it will have a name of the form,
1368 <code>wireshark_&lt;fmt&gt_&lt;iface&gt;_YYYYmmddHHMMSS_XXXXXX</code>, where
1369 &lt;fmt&gt; is the capture file format (pcap or pcapng), and &lt;iface&gt; is
1370 the actual name of the interface you are capturing on; otherwise, if you are
1371 capturing on multiple interfaces, it will have a name of the form,
1372 <code>wireshark_&lt;N&gt;_interfaces_YYYYmmddHHMMSS_XXXXXX</code>, where &lt;N&gt;
1373 is the number of simultaneous interfaces you are capturing on. Please don't
1374 send a trace file greater than 1 MB when compressed; instead, make it available
1375 via FTP or HTTP, or say it's available but leave it up to a developer to ask
1376 for it. If the trace file contains sensitive information (e.g., passwords),
1377 then please do not send it.
1378 """)
1381 #################################################################
1382 section("Capturing packets on Windows")
1383 #################################################################
1385 question("""
1386 I'm running Wireshark on Windows; why does some network interface on my
1387 machine not show up in the list of interfaces in the "Interface:" field
1388 in the dialog box popped up by "Capture->Start", and/or why does
1389 Wireshark give me an error if I try to capture on that interface?
1390 """, "capprobwin")
1392 answer("""
1393 If you are running Wireshark on Windows XP,
1394 or Windows Server 2003, and this is the first time you have run a
1395 WinPcap-based program (such as Wireshark, or TShark, or WinDump, or
1396 Analyzer, or...) since the machine was rebooted, you need to run that
1397 program from an account with administrator privileges; once you have run
1398 such a program, you will not need administrator privileges to run any
1399 such programs until you reboot.
1401 <br />
1403 If you are running on Windows Windows XP or Windows Server
1404 2003 and have administrator privileges or a WinPcap-based program has
1405 been run with those privileges since the machine rebooted, this problem
1406 <em>might</em> clear up if you completely un-install WinPcap and then
1407 re-install it.
1409 <br />
1411 If that doesn't work, then note that Wireshark relies on the WinPcap
1412 library, on the WinPcap device driver, and on the facilities that come
1413 with the OS on which it's running in order to do captures.
1415 <br />
1417 Therefore, if the OS, the WinPcap library, or the WinPcap driver don't
1418 support capturing on a particular network interface device, Wireshark
1419 won't be able to capture on that device.
1421 <br >
1423 <li>WinPcap 2.3 has problems supporting PPP WAN interfaces on Windows NT
1424 4.0, Windows 2000, Windows XP, and Windows Server 2003, and, to avoid
1425 those problems, support for PPP WAN interfaces on those versions of
1426 Windows has been disabled in WinPcap 3.0. Regular dial-up lines, ISDN
1427 lines, ADSL connections using PPPoE or PPPoA, and various other lines
1428 such as T1/E1 lines are all PPP interfaces, so those interfaces might
1429 not show up on the list of interfaces in the "Capture Options"
1430 dialog on those OSes.
1432 <br />
1434 On Windows 2000, Windows XP, and Windows Server 2003, but
1435 <strong>not</strong> Windows NT 4.0 or Windows Vista Beta 1, you should
1436 be able to capture on the "GenericDialupAdapter" with WinPcap 3.1. (3.1
1437 beta releases called it the "NdisWanAdapter"; if you're using a 3.1 beta
1438 release, you should un-install it and install the final 3.1 release.)
1439 See <a href="http://wiki.wireshark.org/CaptureSetup/PPP">the Wireshark
1440 Wiki item on PPP capturing</a> for details.
1442 <br />
1444 <li>WinPcap prior to 3.0 does not support multiprocessor machines (note
1445 that machines with a single multi-threaded processor, such as Intel's
1446 new multi-threaded x86 processors, are multiprocessor machines as far as
1447 the OS and WinPcap are concerned), and recent 2.x versions of WinPcap
1448 refuse to operate if they detect that they're running on a
1449 multiprocessor machine, which means that they may not show any network
1450 interfaces. You will need to use WinPcap 3.0 to capture on a
1451 multiprocessor machine.
1453 </ol>
1455 <br />
1457 If an interface doesn't show up in the list of interfaces in the
1458 "Interface:" field, and you know the name of the interface, try entering
1459 that name in the "Interface:" field and capturing on that device.
1461 <br />
1463 If the attempt to capture on it succeeds, the interface is somehow not
1464 being reported by the mechanism Wireshark uses to get a list of
1465 interfaces. Try listing the interfaces with WinDump; see <a
1466 href="http://www.windump.org/">the WinDump Web site</a>
1467 for information on using WinDump.
1469 <br />
1471 You would run WinDump with the <code>-D</code> flag; if it lists the
1472 interface, please report this to <a
1473 href="mailto:wireshark-dev@wireshark.org">wireshark-dev@wireshark.org</a>
1474 giving full details of the problem, including
1476 <ul>
1477 <li>the operating system you're using, and the version of that operating
1478 system;
1479 <li>the type of network device you're using;
1480 <li>the output of WinDump.
1481 </ul>
1483 If WinDump does <em>not</em> list the interface,
1484 this is almost certainly a problem with one or more of:
1486 <ul>
1487 <li>the operating system you're using;
1488 <li>the device driver for the interface you're using;
1489 <li>the WinPcap library and/or the WinPcap device driver;
1490 </ul>
1492 so first check <a href="http://www.winpcap.org/misc/faq.htm">the
1493 WinPcap FAQ</a> or <a
1494 href="http://www.mirrors.wiretapped.net/security/packet-capture/winpcap/misc/faq.htm">
1495 the Wiretapped.net mirror of that FAQ</a>, to see if your problem is
1496 mentioned there. If not, then see <a
1497 href="http://www.winpcap.org/contact.htm">the WinPcap support page</a>
1498 - check the "Submitting bugs" section.
1500 <br />
1502 If you are having trouble capturing on a particular network interface,
1503 first try capturing on that device with WinDump; see <a
1504 href="http://www.windump.org/">the WinDump Web site</a>
1505 for information on using WinDump.
1507 <br />
1509 If you can capture on the interface with WinDump, send mail to <a
1510 href="mailto:wireshark-users@wireshark.org">wireshark-users@wireshark.org</a>
1511 giving full details of the problem, including
1513 <ul>
1514 <li>the operating system you're using, and the version of that operating
1515 system;
1516 <li>the type of network device you're using;
1517 <li>the error message you get from Wireshark.
1518 </ul>
1520 If you <em>cannot</em> capture on the interface with WinDump,
1521 this is almost certainly a problem with one or more of:
1523 <ul>
1524 <li>the operating system you're using;
1525 <li>the device driver for the interface you're using;
1526 <li>the WinPcap library and/or the WinPcap device driver;
1527 </ul>
1529 so first check <a href="http://www.winpcap.org/misc/faq.htm">the
1530 WinPcap FAQ</a> or <a
1531 href="http://www.mirrors.wiretapped.net/security/packet-capture/winpcap/misc/faq.htm">
1532 the Wiretapped.net mirror of that FAQ</a>, to see if your problem is
1533 mentioned there. If not, then see <a
1534 href="http://www.winpcap.org/contact.htm">the WinPcap support page</a>
1535 - check the "Submitting bugs" section.
1537 <br />
1539 You may also want to ask the <a
1540 href="mailto:wireshark-users@wireshark.org">wireshark-users@wireshark.org</a>
1541 and the <a
1542 href="mailto:winpcap-users@winpcap.org">winpcap-users@winpcap.org</a>
1543 mailing lists to see if anybody happens to know about the problem and
1544 know a workaround or fix for the problem. (Note that you will have to
1545 subscribe to that list in order to be allowed to mail to it; see <a
1546 href="http://www.winpcap.org/contact.htm">the WinPcap support
1547 page</a> for information on the mailing list.) In your mail,
1548 please give full details of the problem, as described above, and also
1549 indicate that the problem occurs with WinDump, not just with Wireshark.
1550 """)
1552 question("""
1553 I'm running Wireshark on Windows; why do no network interfaces show up in
1554 the list of interfaces in the "Interface:" field in the dialog box
1555 popped up by "Capture->Start"?
1556 """)
1558 answer("""
1559 This is really <a href="#capprobwin">the same question as a previous
1560 one</a>; see the response to that question.
1561 """)
1563 question("""
1564 I'm running Wireshark on Windows; why doesn't my serial port/ADSL
1565 modem/ISDN modem show up in the list of interfaces in the "Interface:"
1566 field in the dialog box popped up by "Capture->Start"?
1567 """)
1569 answer("""
1570 Internet access on those devices is often done with the Point-to-Point
1571 (PPP) protocol; WinPcap 2.3 has problems supporting PPP WAN interfaces
1572 on Windows NT 4.0, Windows 2000, Windows XP, and Windows Server 2003,
1573 and, to avoid those problems, support for PPP WAN interfaces on those
1574 versions of Windows has been disabled in WinPcap 3.0.
1576 <br />
1578 On Windows 2000, Windows XP, and Windows Server 2003, but
1579 <strong>not</strong> Windows NT 4.0 or Windows Vista Beta 1, you should
1580 be able to capture on the "GenericDialupAdapter" with WinPcap 3.1. (3.1
1581 beta releases called it the "NdisWanAdapter"; if you're using a 3.1 beta
1582 release, you should un-install it and install the final 3.1 release.)
1583 See <a href="http://wiki.wireshark.org/CaptureSetup/PPP">the Wireshark
1584 Wiki item on PPP capturing</a> for details.
1585 """)
1587 question("""
1588 I'm running Wireshark on Windows NT 4.0/Windows 2000/Windows XP/Windows
1589 Server 2003; my machine has a PPP (dial-up POTS, ISDN, etc.) interface,
1590 and it shows up in the "Interface" item in the "Capture Options" dialog
1591 box. Why can no packets be sent on or received from that network while
1592 I'm trying to capture traffic on that interface?""", "nt_ppp_sniff")
1594 answer("""
1595 Some versions of WinPcap have problems with PPP WAN interfaces on
1596 Windows NT 4.0, Windows 2000, Windows XP, and Windows Server 2003; one
1597 symptom that may be seen is that attempts to capture in promiscuous mode
1598 on the interface cause the interface to be incapable of sending or
1599 receiving packets. You can disable promiscuous mode using the
1600 <code>-p</code> command-line flag or the item in the "Capture Preferences"
1601 dialog box, but this may mean that outgoing packets, or incoming
1602 packets, won't be seen in the capture.
1604 <br />
1606 On Windows 2000, Windows XP, and Windows Server 2003, but
1607 <strong>not</strong> Windows NT 4.0 or Windows Vista Beta 1, you should
1608 be able to capture on the "GenericDialupAdapter" with WinPcap 3.1. (3.1
1609 beta releases called it the "NdisWanAdapter"; if you're using a 3.1 beta
1610 release, you should un-install it and install the final 3.1 release.)
1611 See <a href="http://wiki.wireshark.org/CaptureSetup/PPP">the Wireshark
1612 Wiki item on PPP capturing</a> for details.
1613 """)
1615 question("""
1616 I'm running Wireshark on Windows; why am I not seeing any traffic being
1617 sent by the machine running Wireshark?""")
1619 answer("""
1620 If you are running some form of VPN client software, it might be causing
1621 this problem; people have seen this problem when they have Check Point's
1622 VPN software installed on their machine. If that's the cause of the
1623 problem, you will have to remove the VPN software in order to have
1624 Wireshark (or any other application using WinPcap) see outgoing packets;
1625 unfortunately, neither we nor the WinPcap developers know any way to
1626 make WinPcap and the VPN software work well together.
1628 <br />
1630 Also, some drivers for Windows (especially some wireless network
1631 interface drivers) apparently do not, when running in promiscuous mode,
1632 arrange that outgoing packets are delivered to the software that
1633 requested that the interface run promiscuously; try turning promiscuous
1634 mode off.
1635 """)
1637 question("""
1638 When I capture on Windows in promiscuous mode, I can see packets other
1639 than those sent to or from my machine; however, those packets show up
1640 with a "Short Frame" indication, unlike packets to or from my machine.
1641 What should I do to arrange that I see those packets in their entirety?
1642 """)
1644 answer("""
1645 In at least some cases, this appears to be the result of PGPnet running
1646 on the network interface on which you're capturing; turn it off on that
1647 interface.
1648 """)
1650 question("""
1651 I'm trying to capture 802.11 traffic on Windows; why am I not seeing any
1652 packets?
1653 """, "win802_11promisc")
1655 answer("""
1656 At least some 802.11 card drivers on Windows appear not to see any
1657 packets if they're running in promiscuous mode. Try turning promiscuous
1658 mode off; you'll only be able to see packets sent by and received by
1659 your machine, not third-party traffic, and it'll look like Ethernet
1660 traffic and won't include any management or control frames, but that's a
1661 limitation of the card drivers.
1663 <br />
1665 See <a
1666 href="http://www.micro-logix.com/WinPcap/Supported.asp">MicroLogix's
1667 list of cards supported with WinPcap</a> for information on
1668 support of various adapters and drivers with WinPcap.
1669 """)
1671 question("""
1672 I'm trying to capture 802.11 traffic on Windows; why am I seeing packets
1673 received by the machine on which I'm capturing traffic, but not packets
1674 sent by that machine?
1675 """)
1677 answer("""
1678 This appears to be another problem with promiscuous mode; try turning it
1679 off.
1680 """)
1682 question("""
1683 I'm trying to capture Ethernet VLAN traffic on Windows, and I'm
1684 capturing on a "raw" Ethernet device rather than a "VLAN interface", so
1685 that I can see the VLAN headers; why am I seeing packets received by the
1686 machine on which I'm capturing traffic, but not packets sent by that
1687 machine?
1688 """)
1690 answer("""
1691 The way the Windows networking code works probably means that packets
1692 are sent on a "VLAN interface" rather than the "raw" device, so packets
1693 sent by the machine will only be seen when you capture on the "VLAN
1694 interface". If so, you will be unable to see outgoing packets when
1695 capturing on the "raw" device, so you are stuck with a choice between
1696 seeing VLAN headers and seeing outgoing packets.
1697 """)
1699 #################################################################
1700 section("Capturing packets on UN*Xes")
1701 #################################################################
1703 question("""
1704 I'm running Wireshark on a UNIX-flavored OS; why does some network
1705 interface on my machine not show up in the list of interfaces in the
1706 "Interface:" field in the dialog box popped up by "Capture->Start",
1707 and/or why does Wireshark give me an error if I try to capture on that
1708 interface? """, "capprobunix")
1710 answer("""
1711 You may need to run Wireshark from an account with sufficient privileges
1712 to capture packets, such as the super-user account, or may need to give
1713 your account sufficient privileges to capture packets. Only those
1714 interfaces that Wireshark can open for capturing show up in that list; if
1715 you don't have sufficient privileges to capture on any interfaces, no
1716 interfaces will show up in the list. See
1717 <a href="http://wiki.wireshark.org/CaptureSetup/CapturePrivileges">the
1718 Wireshark Wiki item on capture privileges</a> for details on how to give
1719 a particular account or account group capture privileges on platforms
1720 where that can be done.
1722 <br />
1724 If you are running Wireshark from an account with sufficient privileges,
1725 then note that Wireshark relies on the libpcap library, and on the
1726 facilities that come with the OS on which it's running in order to do
1727 captures. On some OSes, those facilities aren't present by default; see
1728 <a href="http://wiki.wireshark.org/CaptureSetup/CaptureSupport">the
1729 Wireshark Wiki item on adding capture support</a> for details.
1731 <br />
1733 And, even if you're running with an account that has sufficient
1734 privileges to capture, and capture support is present in your OS, if the
1735 OS or the libpcap library don't support capturing on a particular
1736 network interface device or particular types of devices, Wireshark won't
1737 be able to capture on that device.
1739 <br />
1741 On Solaris, note that libpcap 0.6.2 and earlier didn't support Token
1742 Ring interfaces; the current version, 0.7.2, does support Token Ring,
1743 and the current version of Wireshark works with libpcap 0.7.2 and later.
1745 <br />
1747 If an interface doesn't show up in the list of interfaces in the
1748 "Interface:" field, and you know the name of the interface, try entering
1749 that name in the "Interface:" field and capturing on that device.
1751 <br />
1753 If the attempt to capture on it succeeds, the interface is somehow not
1754 being reported by the mechanism Wireshark uses to get a list of
1755 interfaces; please report this to <a
1756 href="mailto:wireshark-dev@wireshark.org">wireshark-dev@wireshark.org</a>
1757 giving full details of the problem, including
1759 <ul>
1760 <li>the operating system you're using, and the version of that operating
1761 system (for Linux, give both the version number of the kernel and the
1762 name and version number of the distribution you're using);
1763 <li>the type of network device you're using.
1764 </ul>
1766 If you are having trouble capturing on a particular network interface,
1767 and you've made sure that (on platforms that require it) you've arranged
1768 that packet capture support is present, as per the above, first try
1769 capturing on that device with <code>tcpdump</code>.
1771 <br />
1773 If you can capture on the interface with <code>tcpdump</code>, send mail to
1775 href="mailto:wireshark-users@wireshark.org">wireshark-users@wireshark.org</a>
1776 giving full details of the problem, including
1778 <ul>
1779 <li>the operating system you're using, and the version of that operating
1780 system (for Linux, give both the version number of the kernel and the
1781 name and version number of the distribution you're using);
1782 <li>the type of network device you're using;
1783 <li>the error message you get from Wireshark.
1784 </ul>
1786 If you <em>cannot</em> capture on the interface with <code>tcpdump</code>,
1787 this is almost certainly a problem with one or more of:
1789 <ul>
1790 <li>the operating system you're using;
1791 <li>the device driver for the interface you're using;
1792 <li>the libpcap library;
1793 </ul>
1795 so you should report the problem to the company or organization that
1796 produces the OS (in the case of a Linux distribution, report the problem
1797 to whoever produces the distribution).
1799 <br />
1801 You may also want to ask the <a
1802 href="mailto:wireshark-users@wireshark.org">wireshark-users@wireshark.org</a>
1803 and the <a
1804 href="mailto:tcpdump-workers@lists.tcpdump.org">tcpdump-workers@lists.tcpdump.org</a>
1805 mailing lists to see if anybody happens to know about the problem and
1806 know a workaround or fix for the problem. In your mail, please give
1807 full details of the problem, as described above, and also indicate that
1808 the problem occurs with <code>tcpdump</code> not just with Wireshark.
1809 """)
1811 question("""
1812 I'm running Wireshark on a UNIX-flavored OS; why do no network interfaces
1813 show up in the list of interfaces in the "Interface:" field in the
1814 dialog box popped up by "Capture->Start"?
1815 """)
1817 answer("""
1818 This is really <a href="#capprobunix">the same question as the previous
1819 one</a>; see the response to that question.
1820 """)
1822 question("""I'm capturing packets on Linux; why do the time stamps have
1823 only 100ms resolution, rather than 1us resolution?""")
1825 answer("""
1826 Wireshark gets time stamps from libpcap/WinPcap, and
1827 libpcap/WinPcap get them from the OS kernel, so Wireshark - and any other
1828 program using libpcap, such as tcpdump - is at the mercy of the time
1829 stamping code in the OS for time stamps.
1831 <br />
1833 At least on x86-based machines, Linux can get high-resolution time
1834 stamps on newer processors with the Time Stamp Counter (TSC) register;
1835 for example, Intel x86 processors, starting with the Pentium Pro, and
1836 including all x86 processors since then, have had a TSC, and other
1837 vendors probably added the TSC at some point to their families of x86
1838 processors.
1840 The Linux kernel must be configured with the CONFIG_X86_TSC option
1841 enabled in order to use the TSC. Make sure this option is enabled in
1842 your kernel.
1844 <br />
1846 In addition, some Linux distributions may have bugs in their versions of
1847 the kernel that cause packets not to be given high-resolution time
1848 stamps even if the TSC is enabled. See, for example, bug 61111 for Red
1849 Hat Linux 7.2. If your distribution has a bug such as this, you may
1850 have to run a standard kernel from kernel.org in order to get
1851 high-resolution time stamps.
1852 """)
1854 #################################################################
1855 section("Capturing packets on wireless LANs")
1856 #################################################################
1859 question("""
1860 How can I capture raw 802.11 frames, including non-data (management,
1861 beacon) frames?
1862 """, "raw_80211_sniff")
1864 answer("""
1865 That depends on the operating system on which you're running, and on the
1866 802.11 interface on which you're capturing.
1868 <br />
1870 This would probably require that you capture in promiscuous mode or in
1871 the mode called "monitor mode" or "RFMON mode". On some platforms, or
1872 with some cards, this might require that you capture in monitor mode -
1873 promiscuous mode might not be sufficient. If you want to capture
1874 traffic on networks other than the one with which you're associated, you
1875 will have to capture in monitor mode.
1877 <br />
1879 Not all operating systems support capturing non-data packets and, even
1880 on operating systems that do support it, not all drivers, and thus not
1881 all interfaces, support it. Even on those that do, monitor mode might
1882 not be supported by the operating system or by the drivers for all
1883 interfaces.
1885 <br />
1887 <strong>NOTE:</strong> an interface running in monitor mode will, on
1888 most if not all platforms, not be able to act as a regular network
1889 interface; putting it into monitor mode will, in effect, take your
1890 machine off of whatever network it's on as long as the interface is in
1891 monitor mode, allowing it only to passively capture packets.
1893 <br />
1895 This means that you should disable name resolution when capturing in
1896 monitor mode; otherwise, when Wireshark (or TShark, or tcpdump) tries
1897 to display IP addresses as host names, it will probably block for a long
1898 time trying to resolve the name because it will not be able to
1899 communicate with any DNS or NIS servers.
1901 <br />
1903 See <a
1904 href="http://wiki.wireshark.org/CaptureSetup/WLAN">the Wireshark
1905 Wiki item on 802.11 capturing</a> for details.
1906 """)
1908 question("""
1909 How do I capture on an 802.11 device in monitor mode?""",
1910 "monitor")
1912 answer("""
1913 Whether you will be able to capture in monitor mode depends on the
1914 operating system, adapter, and driver you're using.
1915 See <a href="#raw_80211_sniff">the previous question</a> for information
1916 on monitor mode, including a link to the Wireshark Wiki page that gives
1917 details on 802.11 capturing.
1918 """)
1920 #################################################################
1921 section("Viewing traffic")
1922 #################################################################
1925 question("Why am I seeing lots of packets with incorrect TCP checksums?")
1927 answer("""
1928 If the packets that have incorrect TCP checksums are all being sent by
1929 the machine on which Wireshark is running, this is probably because the
1930 network interface on which you're capturing does TCP checksum
1931 offloading. That means that the TCP checksum is added to the packet by
1932 the network interface, not by the OS's TCP/IP stack; when capturing on
1933 an interface, packets being sent by the host on which you're capturing
1934 are directly handed to the capture interface by the OS, which means that
1935 they are handed to the capture interface without a TCP checksum being
1936 added to them.
1938 <br />
1940 The only way to prevent this from happening would be to disable TCP
1941 checksum offloading, but
1943 <ol>
1944 <li>that might not even be possible on some OSes;
1945 <li>that could reduce networking performance significantly.
1946 </ol>
1948 However, you can disable the check that Wireshark does of the TCP
1949 checksum, so that it won't report any packets as having TCP checksum
1950 errors, and so that it won't refuse to do TCP reassembly due to a packet
1951 having an incorrect TCP checksum. That can be set as an Wireshark
1952 preference by selecting "Preferences" from the "Edit" menu, opening up
1953 the "Protocols" list in the left-hand pane of the "Preferences" dialog
1954 box, selecting "TCP", from that list, turning off the "Check the
1955 validity of the TCP checksum when possible" option, clicking "Save" if
1956 you want to save that setting in your preference file, and clicking
1957 "OK".
1959 <br />
1961 It can also be set on the Wireshark or TShark command line with a
1962 <code>-o tcp.check_checksum:false</code> command-line flag, or manually set
1963 in your preferences file by adding a <code>tcp.check_checksum:false</code>
1964 line.
1965 """)
1967 question("""
1968 I've just installed Wireshark, and the traffic on my local LAN
1969 is boring. Where can I find more interesting captures?
1970 """)
1972 answer("""
1973 We have a collection of strange and exotic sample capture
1974 files at %s""" % (selflink("http://wiki.wireshark.org/SampleCaptures")))
1977 question("""
1978 Why doesn't Wireshark correctly identify RTP packets? It shows them
1979 only as UDP.""")
1981 answer("""
1982 Wireshark can identify a UDP datagram as containing a packet of a
1983 particular protocol running atop UDP only if
1985 <ol>
1986 <li> The protocol in question has a particular standard port
1987 number, and the UDP source or destination port number is that port
1989 <li> Packets of that protocol can be identified by looking for a
1990 "signature" of some type in the packet - i.e., some data
1991 that, if Wireshark finds it in some particular part of a
1992 packet, means that the packet is almost certainly a packet of
1993 that type.
1995 <li> Some <em>other</em> traffic earlier in the capture indicated that,
1996 for example, UDP traffic between two particular addresses and
1997 ports will be RTP traffic.
1998 </ol>
2000 RTP doesn't have a standard port number, so 1) doesn't work; it doesn't,
2001 as far as I know, have any "signature", so 2) doesn't work.
2003 <br />
2005 That leaves 3). If there's RTSP traffic that sets up an RTP session,
2006 then, at least in some cases, the RTSP dissector will set things up so
2007 that subsequent RTP traffic will be identified. Currently, that's the
2008 only place we do that; there may be other places.
2010 <br />
2012 However, there will always be places where Wireshark is simply
2013 <b>incapable</b> of deducing that a given UDP flow is RTP; a mechanism
2014 would be needed to allow the user to specify that a given conversation
2015 should be treated as RTP. As of Wireshark 0.8.16, such a mechanism
2016 exists; if you select a UDP or TCP packet, the right mouse button menu
2017 will have a "Decode As..." menu item, which will pop up a dialog box
2018 letting you specify that the source port, the destination port, or both
2019 the source and destination ports of the packet should be dissected as
2020 some particular protocol.
2021 """)
2023 question("""
2024 Why doesn't Wireshark show Yahoo Messenger packets in captures that
2025 contain Yahoo Messenger traffic?""")
2027 answer("""
2028 Wireshark only recognizes as Yahoo Messenger traffic packets to or from TCP
2029 port 3050 that begin with "YPNS", "YHOO", or "YMSG". TCP segments that
2030 start with the middle of a Yahoo Messenger packet that takes more than one
2031 TCP segment will not be recognized as Yahoo Messenger packets (even if the
2032 TCP segment also contains the beginning of another Yahoo Messenger
2033 packet).
2034 """)
2036 #################################################################
2037 section("Filtering traffic")
2038 #################################################################
2041 question("""I saved a filter and tried to use its name to filter the
2042 display; why do I get an "Unexpected end of filter string" error?""")
2044 answer("""
2045 You cannot use the name of a saved display filter as a filter. To
2046 filter the display, you can enter a display filter expression -
2047 <strong>not</strong> the name of a saved display filter - in the
2048 "Filter:" box at the bottom of the display, and type the <Enter> key or
2049 press the "Apply" button (that does not require you to have a saved
2050 filter), or, if you want to use a saved filter, you can press the
2051 "Filter:" button, select the filter in the dialog box that pops up, and
2052 press the "OK" button.""")
2054 question("""
2055 How can I search for, or filter, packets that have a particular string
2056 anywhere in them?
2057 """)
2059 answer("""
2060 If you want to do this when capturing, you can't. That's a feature that
2061 would be hard to implement in capture filters without changes to the
2062 capture filter code, which, on many platforms, is in the OS kernel and,
2063 on other platforms, is in the libpcap library.
2065 <br />
2067 After capture, you can search for text by selecting <i>Edit&#8594;Find
2068 Packet...</i> and making sure <i>String</i> is selected. Alternately, you can
2069 use the "contains" display filter operator or "matches" operator if it's
2070 supported on your system.
2071 """)
2073 question("""
2074 How do I filter a capture to see traffic for virus XXX?
2075 """)
2077 answer("""
2078 For some viruses/worms there might be a capture filter to recognize the
2079 virus traffic. Check the <a
2080 href="http://wiki.wireshark.org/CaptureFilters">CaptureFilters</a> page
2081 on the <a href="http://wiki.wireshark.org/">Wireshark Wiki</a> to see if
2082 anybody's added such a filter.
2084 <br />
2086 Note that Wireshark was not designed to be an intrusion detection system;
2087 you might be able to use it as an IDS, but in most cases software
2088 designed to be an IDS, such as <a href="http://www.snort.org/">Snort</a>
2089 or <a href="http://www.prelude-ids.org/">Prelude</a>, will probably work
2090 better.
2092 <br />
2094 The <a href="http://www.bleedingsnort.com/">Bleeding Edge of Snort</a>
2095 has a collection of signatures for Snort to detect various viruses,
2096 worms, and the like.
2097 """)
2099 #################################################################
2100 if __name__ == '__main__':
2101 sys.exit(main())
2102 #################################################################