From Dirk via bug #5771: Add heuristic dissector for images and HTTP
[obnox/wireshark/wip.git] / README.bsd
1 $Id$
2
3 Installing Wireshark on FreeBSD/OpenBSD/NetBSD/DragonFly BSD
4 ========================================================================
5
6      1. Extra packages required
7      2. Compiling Wireshark 
8      3. Berkeley Packet Filter (BPF) requirement
9      4. Running Wireshark as a non-root user
10
11
12 1. Extra packages required
13 ---------------------------
14 Wireshark requires a number of additional programs to function.
15 Install the latest versions of the following programs before compiling:
16
17     atk
18     cairo
19     expat
20     gettext
21     glib2
22     glitz
23     gtk2 / gtk+2
24     jpeg
25     pango
26     pkgconfig
27     png
28     tiff
29
30 The easiest way to install these is by using your operating system's
31 ports or packages system.
32
33
34 2. Compiling Wireshark
35 -----------------------
36 To compile Wireshark with the default options, run configure, make and
37 make install (you may have to run "autogen.sh" first): 
38      ./configure
39      make
40      make install
41
42 The configure and make steps can be run as a non-root user and you can
43 run Wireshark from the compilation directory itself.  You must run make
44 install as root in order to copy the program to the proper directories.
45
46
47 3. Berkeley Packet Filter (BPF) requirement
48 --------------------------------------------
49 In order to capture packets (with Wireshark/TShark, tcpdump, or any
50 other packet capture program) on a BSD system, your kernel must have the
51 Berkeley Packet Filter mechanism enabled.  The default kernel
52 configurations in recent versions of BSD systems have this enabled
53 already.  To verify the bpf device is present, look in the /dev
54 directory:
55
56     ls -l /dev/bpf*
57
58 You should see one or more bpf devices listed similar to this:
59
60     crw-------  1 root  wheel    0,  90 Aug 10 21:05 /dev/bpf0
61     crw-------  1 root  wheel    0,  91 Aug 10 21:05 /dev/bpf1
62
63 Packet-capturing programs will pick the first bpf device that's not in
64 use.  Recent versions of most BSDs will create bpf devices as needed, so
65 you don't have to configure the number of devices that will be
66 available.
67
68 4. Running wireshark as a non-root user
69 -------------------------------------------
70 Since the bpf devices are read-only by the owner (root), you normally
71 have to run packet capturing programs such as Wireshark as root.  It is
72 safer to run programs as a non-root user if possible.  To run Wireshark
73 as a non-root user, you must change the permissions on the bpf device(s).
74 If you are the only user that needs to use Wireshark, the easiest way
75 is to change the owner of each bpf device to your username.  You can also
76 add the read/write ability to the group (typically wheel) and add users
77 that need to use Wireshark to the wheel group.  Check your operating
78 system's documentation on how to make permanent these changes as they
79 are often reset upon reboot; if /dev is implemented with devfs, it might
80 be possible to configure devfs to create all bpf devices owned by a
81 particular user and/or group and with particular permissions.  In
82 FreeBSD 6.0 and later this can be done by creating an /etc/devfs.rules
83 file with content such as
84
85         [localrules=10]
86         add path 'bpf*' {mode and permissons}
87
88 where "mode and permissions" can include clauses such as
89
90         mode {octal permissions}
91
92 to set the permissions on the device (e.g., "mode 0660" to set the
93 permissions to rw-rw-r--),
94
95         user {user}
96
97 to set the user who owns the device, or
98
99         group {group}
100
101 to set the group that owns the device and adding a line such as
102
103         devfs_system_ruleset=localrules
104
105 to /etc/rc.conf.  For example, an /etc/devfs.rules file with
106
107         [localrules=10]
108         add path 'bpf*' mode 0660 group wheel
109
110 will grant read and write permissions on all BPF devices to all users in
111 the "wheel" group.