1 # tcpdump installation notes
2 If you have not built libpcap, and your system does not have libpcap
3 installed, install libpcap first. Your system might provide a version
4 of libpcap that can be installed; if so, to compile tcpdump you might
5 need to install a "developer" version of libpcap as well as the
6 "run-time" version. You can also install The Tcpdump Group version of
7 libpcap; see [this file](README.md) for the location.
9 You will need a C99 compiler to build tcpdump. The build system
10 will abort if your compiler is not C99 compliant. If this happens, use
11 the generally available GNU C compiler (GCC) or Clang.
13 After libpcap has been built (either install it with `make install` or
14 make sure both the libpcap and tcpdump source trees are in the same
15 directory), do the following steps:
17 * If you build from a git clone rather than from a release archive,
18 run `./autogen.sh` (a shell script). The autogen.sh script will
19 build the `configure` and `config.h.in` files.
21 On some system, you may need to set the `AUTORECONF` variable, like:
22 `AUTORECONF=autoreconf-2.69 ./autogen.sh`
23 to select the `autoreconf` version you want to use.
25 * Run `./configure` (a shell script). The configure script will
26 determine your system attributes and generate an appropriate `Makefile`
27 from `Makefile.in`. The configure script has a number of options to
28 control the configuration of tcpdump; `./configure --help` will show
31 * Next, build tcpdump by running `make`.
33 On OpenBSD, you may need to set, before the `make`, the `AUTOCONF_VERSION`
35 `AUTOCONF_VERSION=2.69 make`
37 If everything builds fine, `su` and type `make install`. This will install
38 tcpdump and the manual entry. Any user will be able to use tcpdump to
39 read saved captures. Whether a user will be able to capture traffic
40 depends on the OS and the configuration of the system; see the
41 [tcpdump man page](https://www.tcpdump.org/manpages/tcpdump.1.html)
42 for details. Do **NOT** give untrusted users the ability to
43 capture traffic. If a user can capture traffic, he or she could use
44 utilities such as tcpdump to capture any traffic on your net, including
47 Note that most systems ship tcpdump, but usually an older version.
48 Building tcpdump from source as explained above will usually install the
49 binary as `/usr/local/bin/tcpdump`. If your system has other tcpdump
50 binaries, you might need to deinstall these or to set the `PATH` environment
51 variable if you need the `tcpdump` command to run the new binary
52 (`tcpdump --version` can be used to tell different versions apart).
54 If your system is not one that we have tested tcpdump on, you may have
55 to modify the `configure` script and `Makefile.in`. Please
56 [send us patches](https://www.tcpdump.org/index.html#patches)
57 for any modifications you need to make.
59 Please see [this file](README.md) for notes about tested platforms.
62 ## Description of files
64 CHANGES - description of differences between releases
65 CONTRIBUTING.md - guidelines for contributing
66 CREDITS - people that have helped tcpdump along
67 INSTALL.md - this file
68 LICENSE - the license under which tcpdump is distributed
69 Makefile.in - compilation rules (input to the configure script)
70 README.md - description of distribution
71 VERSION - version of this release
72 aclocal.m4 - autoconf macros
73 addrtoname.c - address to hostname routines
74 addrtoname.h - address to hostname definitions
75 addrtostr.c - address to printable string routines
76 addrtostr.h - address to printable string definitions
77 ah.h - IPSEC Authentication Header definitions
78 appletalk.h - AppleTalk definitions
79 ascii_strcasecmp.c - locale-independent case-independent string comparison
81 atime.awk - TCP ack awk script
82 atm.h - ATM traffic type definitions
83 autogen.sh - build configure and config.h.in (run this first)
84 bpf_dump.c - BPF program printing routines, in case libpcap doesn't
86 chdlc.h - Cisco HDLC definitions
87 cpack.c - functions to extract packed data
88 cpack.h - declarations of functions to extract packed data
89 config.guess - autoconf support
90 config.sub - autoconf support
91 configure.ac - configure script source
92 doc/README.* - some building documentation
93 ethertype.h - Ethernet type value definitions
94 extract.h - alignment definitions
95 gmpls.c - GMPLS definitions
96 gmpls.h - GMPLS declarations
97 install-sh - BSD style install script
98 interface.h - globals, prototypes and definitions
100 ip6.h - IPv6 definitions
101 ipproto.c - IP protocol type value-to-name table
102 ipproto.h - IP protocol type value definitions
103 l2vpn.c - L2VPN encapsulation value-to-name table
104 l2vpn.h - L2VPN encapsulation definitions
105 lbl/os-*.h - OS-dependent defines and prototypes
106 llc.h - LLC definitions
107 machdep.c - machine dependent routines
108 machdep.h - machine dependent definitions
109 makemib - mib to header script
110 mib.h - mib definitions
111 missing/* - replacements for missing library functions
112 ntp.c - functions to handle ntp structs
113 ntp.h - declarations of functions to handle ntp structs
114 mkdep - construct Makefile dependency list
115 mpls.h - MPLS definitions
116 nameser.h - DNS definitions
117 netdissect.h - definitions and declarations for tcpdump-as-library
119 nfs.h - Network File System V2 definitions
120 nfsfh.h - Network File System file handle definitions
121 nlpid.c - OSI NLPID value-to-name table
122 nlpid.h - OSI NLPID definitions
123 ospf.h - Open Shortest Path First definitions
124 packetdat.awk - TCP chunk summary awk script
125 parsenfsfh.c - Network File System file parser routines
126 pcap-missing.h - declarations of functions possibly missing from libpcap
127 ppp.h - Point to Point Protocol definitions
128 print.c - Top-level routines for protocol printing
129 print-*.c - The netdissect printers
130 rpc_auth.h - definitions for ONC RPC authentication
131 rpc_msg.h - definitions for ONC RPC messages
132 send-ack.awk - unidirectional tcp send/ack awk script
133 slcompress.h - SLIP/PPP Van Jacobson compression (RFC1144) definitions
134 smb.h - SMB/CIFS definitions
135 smbutil.c - SMB/CIFS utility routines
136 stime.awk - TCP send awk script
137 tcp.h - TCP definitions
138 tcpdump.1 - manual entry
139 tcpdump.c - main program
140 timeval-operations.h - timeval operations macros
141 udp.h - UDP definitions
142 util-print.c - utility routines for protocol printers