home *** CD-ROM | disk | FTP | other *** search
/ Hackers Magazine 57 / CdHackersMagazineNr57.iso / Software / Hacking / wireshark-win32-1.2.4.exe / help / faq.txt < prev    next >
Encoding:
Text File  |  2009-11-16  |  69.6 KB  |  1,583 lines

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