0bff6a5af8
It contains many fixes, including bounds checking, buffer overflows (in SLIP and bittok2str_internal), buffer over-reads, and infinite loops. One other notable change: Do not use getprotobynumber() for protocol name resolution. Do not do any protocol name resolution if -n is specified. Submitted by: gordon Reviewed by: delphij, emaste, glebius MFC after: 1 week Relnotes: Yes Security: CVE-2017-11108, CVE-2017-11541, CVE-2017-11542 Security: CVE-2017-11543, CVE-2017-12893, CVE-2017-12894 Security: CVE-2017-12895, CVE-2017-12896, CVE-2017-12897 Security: CVE-2017-12898, CVE-2017-12899, CVE-2017-12900 Security: CVE-2017-12901, CVE-2017-12902, CVE-2017-12985 Security: CVE-2017-12986, CVE-2017-12987, CVE-2017-12988 Security: CVE-2017-12989, CVE-2017-12990, CVE-2017-12991 Security: CVE-2017-12992, CVE-2017-12993, CVE-2017-12994 Security: CVE-2017-12995, CVE-2017-12996, CVE-2017-12997 Security: CVE-2017-12998, CVE-2017-12999, CVE-2017-13000 Security: CVE-2017-13001, CVE-2017-13002, CVE-2017-13003 Security: CVE-2017-13004, CVE-2017-13005, CVE-2017-13006 Security: CVE-2017-13007, CVE-2017-13008, CVE-2017-13009 Security: CVE-2017-13010, CVE-2017-13011, CVE-2017-13012 Security: CVE-2017-13013, CVE-2017-13014, CVE-2017-13015 Security: CVE-2017-13016, CVE-2017-13017, CVE-2017-13018 Security: CVE-2017-13019, CVE-2017-13020, CVE-2017-13021 Security: CVE-2017-13022, CVE-2017-13023, CVE-2017-13024 Security: CVE-2017-13025, CVE-2017-13026, CVE-2017-13027 Security: CVE-2017-13028, CVE-2017-13029, CVE-2017-13030 Security: CVE-2017-13031, CVE-2017-13032, CVE-2017-13033 Security: CVE-2017-13034, CVE-2017-13035, CVE-2017-13036 Security: CVE-2017-13037, CVE-2017-13038, CVE-2017-13039 Security: CVE-2017-13040, CVE-2017-13041, CVE-2017-13042 Security: CVE-2017-13043, CVE-2017-13044, CVE-2017-13045 Security: CVE-2017-13046, CVE-2017-13047, CVE-2017-13048 Security: CVE-2017-13049, CVE-2017-13050, CVE-2017-13051 Security: CVE-2017-13052, CVE-2017-13053, CVE-2017-13054 Security: CVE-2017-13055, CVE-2017-13687, CVE-2017-13688 Security: CVE-2017-13689, CVE-2017-13690, CVE-2017-13725 Differential Revision: https://reviews.freebsd.org/D12404
124 lines
5.2 KiB
Plaintext
124 lines
5.2 KiB
Plaintext
If you have not built libpcap, and your system does not have libpcap
|
|
installed, install libpcap first. Your system might provide a version
|
|
of libpcap that can be installed; if so, to compile tcpdump you might
|
|
need to install a "developer" version of libpcap as well as the
|
|
"run-time" version. You can also install tcpdump.org's version of
|
|
libpcap; see the README file in this directory for the ftp location.
|
|
|
|
You will need an ANSI C compiler to build tcpdump. The configure script
|
|
will abort if your compiler is not ANSI compliant. If this happens, use
|
|
the generally available GNU C compiler (GCC).
|
|
|
|
After libpcap has been built (either install it with "make install" or
|
|
make sure both the libpcap and tcpdump source trees are in the same
|
|
directory), run ./configure (a shell script). "configure" will
|
|
determine your system attributes and generate an appropriate Makefile
|
|
from Makefile.in. Now build tcpdump by running "make".
|
|
|
|
If everything builds ok, su and type "make install". This will install
|
|
tcpdump and the manual entry. Any user will be able to use tcpdump to
|
|
read saved captures. Whether a user will be able to capture traffic
|
|
depends on the OS and the configuration of the system; see the tcpdump
|
|
man page for details. DO NOT give untrusted users the ability to
|
|
capture traffic. If a user can capture traffic, he or she could use
|
|
utilities such as tcpdump to capture any traffic on your net, including
|
|
passwords.
|
|
|
|
Note that most systems ship tcpdump, but usually an older version.
|
|
Remember to remove or rename the installed binary when upgrading.
|
|
|
|
If your system is not one which we have tested tcpdump on, you may have
|
|
to modify the configure script and Makefile.in. Please send us patches
|
|
for any modifications you need to make.
|
|
|
|
Please see "PLATFORMS" for notes about tested platforms.
|
|
|
|
|
|
FILES
|
|
-----
|
|
CHANGES - description of differences between releases
|
|
CONTRIBUTING - guidelines for contributing
|
|
CREDITS - people that have helped tcpdump along
|
|
INSTALL.txt - this file
|
|
LICENSE - the license under which tcpdump is distributed
|
|
Makefile.in - compilation rules (input to the configure script)
|
|
README - description of distribution
|
|
Readme.Win32 - notes on building tcpdump on Win32 systems (with WinPcap)
|
|
VERSION - version of this release
|
|
aclocal.m4 - autoconf macros
|
|
addrtoname.c - address to hostname routines
|
|
addrtoname.h - address to hostname definitions
|
|
ah.h - IPSEC Authentication Header definitions
|
|
appletalk.h - AppleTalk definitions
|
|
ascii_strcasecmp.c - locale-independent case-independent string comparison
|
|
routines
|
|
atime.awk - TCP ack awk script
|
|
atm.h - ATM traffic type definitions
|
|
bpf_dump.c - BPF program printing routines, in case libpcap doesn't
|
|
have them
|
|
chdlc.h - Cisco HDLC definitions
|
|
cpack.c - functions to extract packed data
|
|
cpack.h - declarations of functions to extract packed data
|
|
config.guess - autoconf support
|
|
config.h.in - autoconf input
|
|
config.sub - autoconf support
|
|
configure - configure script (run this first)
|
|
configure.in - configure script source
|
|
ether.h - Ethernet definitions
|
|
ethertype.h - Ethernet type value definitions
|
|
extract.h - alignment definitions
|
|
gmpls.c - GMPLS definitions
|
|
gmpls.h - GMPLS declarations
|
|
gmt2local.c - time conversion routines
|
|
gmt2local.h - time conversion prototypes
|
|
install-sh - BSD style install script
|
|
interface.h - globals, prototypes and definitions
|
|
ip.h - IP definitions
|
|
ip6.h - IPv6 definitions
|
|
ipproto.c - IP protocol type value-to-name table
|
|
ipproto.h - IP protocol type value definitions
|
|
l2vpn.c - L2VPN encapsulation value-to-name table
|
|
l2vpn.h - L2VPN encapsulation definitions
|
|
lbl/os-*.h - OS-dependent defines and prototypes
|
|
llc.h - LLC definitions
|
|
machdep.c - machine dependent routines
|
|
machdep.h - machine dependent definitions
|
|
makemib - mib to header script
|
|
mib.h - mib definitions
|
|
missing/* - replacements for missing library functions
|
|
mkdep - construct Makefile dependency list
|
|
mpls.h - MPLS definitions
|
|
nameser.h - DNS definitions
|
|
netdissect.h - definitions and declarations for tcpdump-as-library
|
|
(under development)
|
|
nfs.h - Network File System V2 definitions
|
|
nfsfh.h - Network File System file handle definitions
|
|
nlpid.c - OSI NLPID value-to-name table
|
|
nlpid.h - OSI NLPID definitions
|
|
ospf.h - Open Shortest Path First definitions
|
|
packetdat.awk - TCP chunk summary awk script
|
|
parsenfsfh.c - Network File System file parser routines
|
|
pcap_dump_ftell.c - pcap_dump_ftell() implementation, in case libpcap
|
|
doesn't have it
|
|
pcap-missing.h - declarations of functions possibly missing from libpcap
|
|
ppp.h - Point to Point Protocol definitions
|
|
print.c - Top-level routines for protocol printing
|
|
print-*.c - The netdissect printers
|
|
rpc_auth.h - definitions for ONC RPC authentication
|
|
rpc_msg.h - definitions for ONC RPC messages
|
|
send-ack.awk - unidirectional tcp send/ack awk script
|
|
setsignal.c - OS-independent signal routines
|
|
setsignal.h - OS-independent signal prototypes
|
|
slcompress.h - SLIP/PPP Van Jacobson compression (RFC1144) definitions
|
|
smb.h - SMB/CIFS definitions
|
|
smbutil.c - SMB/CIFS utility routines
|
|
stime.awk - TCP send awk script
|
|
tcp.h - TCP definitions
|
|
tcpdump.1 - manual entry
|
|
tcpdump.c - main program
|
|
timeval-operations.h - timeval operations macros
|
|
udp.h - UDP definitions
|
|
util-print.c - utility routines for protocol printers
|
|
vfprintf.c - emulation routine
|
|
win32 - headers and routines for building on Win32 systems
|