From bbace1d4c8912a4a02cc0322e2cbed1901c62d96 Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Tue, 6 Nov 2012 16:27:42 -0800 Subject: [PATCH] Imported Upstream version 4.3.0 --- CHANGES | 1012 +++ CREDITS | 206 + INSTALL.txt | 255 + LICENSE | 19 + Makefile-devel-adds | 22 + Makefile.in | 451 + README | 233 + Readme.Win32 | 24 + VERSION | 1 + acconfig.h | 75 + aclocal.m4 | 1216 +++ addrtoname.c | 1211 +++ addrtoname.h | 56 + af.c | 63 + af.h | 57 + ah.h | 57 + aodv.h | 190 + appletalk.h | 168 + arcnet.h | 101 + atime.awk | 18 + atm.h | 33 + atmuni31.h | 87 + bgp.h | 17 + bootp.h | 231 + bpf_dump.c | 66 + chdlc.h | 27 + checksum.c | 196 + config.guess | 1502 ++++ config.h.in | 320 + config.sub | 1708 ++++ configure | 13165 ++++++++++++++++++++++++++++ configure.in | 1111 +++ cpack.c | 144 + cpack.h | 54 + dccp.h | 139 + decnet.h | 461 + decode_prefix.h | 41 + enc.h | 47 + esp.h | 68 + ether.h | 59 + ethertype.h | 184 + extract.h | 130 + fddi.h | 76 + forces.h | 679 ++ gmpls.c | 197 + gmpls.h | 34 + gmt2local.c | 71 + gmt2local.h | 27 + icmp6.h | 464 + ieee802_11.h | 347 + ieee802_11_radio.h | 291 + igrp.h | 33 + in_cksum.c | 200 + install-sh | 250 + interface.h | 392 + ip.h | 164 + ip6.h | 192 + ipfc.h | 29 + ipnet.h | 13 + ipproto.c | 61 + ipproto.h | 147 + ipsec_doi.h | 151 + ipx.h | 31 + isakmp.h | 501 ++ l2tp.h | 62 + l2vpn.c | 58 + l2vpn.h | 17 + lane.h | 41 + lbl/os-osf4.h | 26 + lbl/os-solaris2.h | 30 + lbl/os-sunos4.h | 215 + lbl/os-ultrix4.h | 39 + llc.h | 123 + machdep.c | 67 + machdep.h | 27 + makemib | 249 + mib.h | 1460 +++ missing/addrinfo.h | 119 + missing/datalinks.c | 67 + missing/dlnames.c | 175 + missing/getnameinfo.c | 281 + missing/inet_aton.c | 60 + missing/inet_ntop.c | 219 + missing/inet_pton.c | 58 + missing/snprintf.c | 632 ++ missing/sockstorage.h | 38 + missing/strdup.c | 57 + missing/strlcat.c | 76 + missing/strlcpy.c | 73 + missing/strsep.c | 83 + mkdep | 109 + mpls.h | 41 + nameser.h | 315 + netbios.h | 16 + netdissect.h | 508 ++ nfs.h | 439 + nfsfh.h | 68 + nlpid.c | 45 + nlpid.h | 32 + ntp.h | 127 + oakley.h | 126 + ospf.h | 328 + ospf6.h | 265 + oui.c | 99 + oui.h | 82 + packetdat.awk | 61 + parsenfsfh.c | 484 + pcap-missing.h | 60 + pcap_dump_ftell.c | 36 + pmap_prot.h | 89 + ppi.h | 9 + ppp.h | 71 + print-802_11.c | 2358 +++++ print-802_15_4.c | 183 + print-ah.c | 71 + print-aodv.c | 455 + print-ap1394.c | 119 + print-arcnet.c | 298 + print-arp.c | 417 + print-ascii.c | 183 + print-atalk.c | 623 ++ print-atm.c | 451 + print-babel.c | 414 + print-beep.c | 71 + print-bfd.c | 283 + print-bgp.c | 2757 ++++++ print-bootp.c | 825 ++ print-bt.c | 79 + print-carp.c | 88 + print-cdp.c | 379 + print-cfm.c | 645 ++ print-chdlc.c | 215 + print-cip.c | 116 + print-cnfp.c | 190 + print-dccp.c | 464 + print-decnet.c | 895 ++ print-dhcp6.c | 840 ++ print-domain.c | 751 ++ print-dtp.c | 123 + print-dvmrp.c | 369 + print-eap.c | 307 + print-egp.c | 362 + print-eigrp.c | 480 + print-enc.c | 98 + print-esp.c | 694 ++ print-ether.c | 432 + print-fddi.c | 309 + print-forces.c | 1055 +++ print-fr.c | 883 ++ print-frag6.c | 82 + print-gre.c | 403 + print-hsrp.c | 140 + print-icmp.c | 695 ++ print-icmp6.c | 1372 +++ print-igmp.c | 344 + print-igrp.c | 130 + print-ip.c | 705 ++ print-ip6.c | 271 + print-ip6opts.c | 332 + print-ipcomp.c | 91 + print-ipfc.c | 135 + print-ipnet.c | 109 + print-ipx.c | 221 + print-isakmp.c | 2570 ++++++ print-isoclns.c | 2763 ++++++ print-juniper.c | 1456 +++ print-krb.c | 261 + print-l2tp.c | 719 ++ print-lane.c | 118 + print-ldp.c | 676 ++ print-llc.c | 545 ++ print-lldp.c | 1421 +++ print-lmp.c | 883 ++ print-lspping.c | 896 ++ print-lwapp.c | 359 + print-lwres.c | 601 ++ print-mobile.c | 112 + print-mobility.c | 312 + print-mpcp.c | 274 + print-mpls.c | 227 + print-msdp.c | 108 + print-netbios.c | 91 + print-nfs.c | 1851 ++++ print-ntp.c | 308 + print-null.c | 160 + print-olsr.c | 626 ++ print-ospf.c | 1157 +++ print-ospf6.c | 644 ++ print-pflog.c | 188 + print-pgm.c | 847 ++ print-pim.c | 1093 +++ print-ppi.c | 104 + print-ppp.c | 1757 ++++ print-pppoe.c | 211 + print-pptp.c | 1060 +++ print-radius.c | 937 ++ print-raw.c | 53 + print-rip.c | 257 + print-ripng.c | 128 + print-rpki-rtr.c | 368 + print-rrcp.c | 143 + print-rsvp.c | 1944 ++++ print-rt6.c | 105 + print-rx.c | 2798 ++++++ print-sctp.c | 407 + print-sflow.c | 934 ++ print-sip.c | 64 + print-sl.c | 239 + print-sll.c | 231 + print-slow.c | 661 ++ print-smb.c | 1510 ++++ print-snmp.c | 1904 ++++ print-stp.c | 365 + print-sunatm.c | 117 + print-sunrpc.c | 172 + print-symantec.c | 120 + print-syslog.c | 163 + print-tcp.c | 816 ++ print-telnet.c | 267 + print-tftp.c | 153 + print-timed.c | 111 + print-tipc.c | 392 + print-token.c | 203 + print-udld.c | 173 + print-udp.c | 676 ++ print-usb.c | 174 + print-vjc.c | 119 + print-vqp.c | 209 + print-vrrp.c | 147 + print-vtp.c | 378 + print-wb.c | 444 + print-zephyr.c | 322 + route6d.h | 77 + rpc_auth.h | 79 + rpc_msg.h | 128 + rx.h | 113 + sctpConstants.h | 571 ++ sctpHeader.h | 323 + send-ack.awk | 68 + setsignal.c | 93 + setsignal.h | 27 + signature.c | 159 + signature.h | 26 + slcompress.h | 87 + slip.h | 34 + sll.h | 127 + smb.h | 122 + smbutil.c | 1889 ++++ stime.awk | 19 + strcasecmp.c | 93 + tcp.h | 112 + tcpdump-stdinc.h | 226 + tcpdump.1.in | 1789 ++++ tcpdump.c | 1965 +++++ telnet.h | 348 + tests/02-sunrise-sunset-esp.pcap | Bin 0 -> 1352 bytes tests/08-sunrise-sunset-aes.pcap | Bin 0 -> 1480 bytes tests/08-sunrise-sunset-esp2.pcap | Bin 0 -> 1800 bytes tests/QinQpacket.out | 249 + tests/QinQpacket.pcap | Bin 0 -> 78264 bytes tests/QinQpacketv.out | 1977 +++++ tests/TESTLIST | 68 + tests/TESTonce | 39 + tests/TESTrun.sh | 63 + tests/babel.pcap | Bin 0 -> 3320 bytes tests/babel1.out | 25 + tests/babel1v.out | 51 + tests/bgp-infinite-loop.pcap | Bin 0 -> 554 bytes tests/bgp_vpn_attrset.out | 19 + tests/bgp_vpn_attrset.pcap | Bin 0 -> 217 bytes tests/chdlc-slarp-short.pcap | Bin 0 -> 58 bytes tests/chdlc-slarp.pcap | Bin 0 -> 62 bytes tests/dio.out | 1 + tests/dio.pcap | Bin 0 -> 120 bytes tests/e1000g.out | 20 + tests/e1000g.pcap | Bin 0 -> 2504 bytes tests/eapon1.gdbinit | 1 + tests/eapon1.out | 114 + tests/eapon1.pcap | Bin 0 -> 16412 bytes tests/empty.uu | 3 + tests/esp-secrets.txt | 5 + tests/esp0.out | 8 + tests/esp1.gdbinit | 1 + tests/esp1.out | 8 + tests/esp2.gdbinit | 1 + tests/esp2.out | 8 + tests/esp3.gdbinit | 1 + tests/esp4.gdbinit | 2 + tests/esp5.gdbinit | 3 + tests/esp5.out | 8 + tests/espudp1.out | 8 + tests/espudp1.pcap | Bin 0 -> 1416 bytes tests/forces1.out | 40 + tests/forces1.pcap | Bin 0 -> 2488 bytes tests/forces1vvv.out | 227 + tests/forces1vvvv.out | 306 + tests/forces2v.out | 0 tests/forces2vv.out | 378 + tests/forces3vvv.out | 602 ++ tests/icmpv6.out | 13 + tests/icmpv6.pcap | Bin 0 -> 774 bytes tests/ikev2four.out | 107 + tests/ikev2four.pcap | Bin 0 -> 5856 bytes tests/ikev2fourv.out | 107 + tests/ikev2fourv4.out | 107 + tests/ikev2pI2-secrets.txt | 2 + tests/ikev2pI2.out | 41 + tests/ikev2pI2.pcap | Bin 0 -> 912 bytes tests/isakmp-delete-segfault.pcap | Bin 0 -> 721 bytes tests/isakmp-identification-segfault.pcap | Bin 0 -> 356 bytes tests/isakmp-pointer-loop.pcap | Bin 0 -> 112 bytes tests/isakmp1.out | 1 + tests/isakmp2.out | 1 + tests/isakmp3.out | 3 + tests/isakmp4.out | 35 + tests/isakmp4500.pcap | Bin 0 -> 6830 bytes tests/isis-infinite-loop.pcap | Bin 0 -> 454 bytes tests/ldp-infinite-loop.pcap | Bin 0 -> 414 bytes tests/lmp.new | 36 + tests/lmp.out | 36 + tests/lmp.pcap | Bin 0 -> 1732 bytes tests/lmp.sh | 12 + tests/lspping-fec-ldp.pcap | Bin 0 -> 1190 bytes tests/lspping-fec-rsvp.pcap | Bin 0 -> 984 bytes tests/mpls-ldp-hello.out | 10 + tests/mpls-ldp-hello.pcap | Bin 0 -> 114 bytes tests/mpls-traceroute.pcap | Bin 0 -> 1956 bytes tests/ospf-gmpls.out | 86 + tests/ospf-gmpls.pcap | Bin 0 -> 640 bytes tests/pppoe.out | 1 + tests/pppoe.pcap | Bin 0 -> 78 bytes tests/print-A.out | 193 + tests/print-AA.out | 193 + tests/print-capX.out | 409 + tests/print-capXX.out | 419 + tests/print-flags.pcap | Bin 0 -> 6621 bytes tests/print-flags.sh | 29 + tests/print-x.out | 409 + tests/print-xx.out | 419 + tests/rsvp-infinite-loop.pcap | Bin 0 -> 384 bytes tests/sflow_multiple_counter_30_pdus.out | 1828 ++++ tests/sflow_multiple_counter_30_pdus.pcap | Bin 0 -> 29308 bytes tftp.h | 82 + timed.h | 97 + token.h | 52 + udp.h | 95 + util.c | 608 ++ vfprintf.c | 59 + win32/Include/errno.h | 132 + win32/Include/getopt.h | 138 + win32/Include/w32_fzs.h | 48 + win32/Src/getopt.c | 117 + win32/prj/GNUmakefile | 175 + win32/prj/WinDump.dsp | 639 ++ win32/prj/WinDump.dsw | 29 + 355 files changed, 123730 insertions(+) create mode 100644 CHANGES create mode 100644 CREDITS create mode 100644 INSTALL.txt create mode 100644 LICENSE create mode 100644 Makefile-devel-adds create mode 100644 Makefile.in create mode 100644 README create mode 100644 Readme.Win32 create mode 100644 VERSION create mode 100644 acconfig.h create mode 100644 aclocal.m4 create mode 100644 addrtoname.c create mode 100644 addrtoname.h create mode 100644 af.c create mode 100644 af.h create mode 100644 ah.h create mode 100644 aodv.h create mode 100644 appletalk.h create mode 100644 arcnet.h create mode 100644 atime.awk create mode 100644 atm.h create mode 100644 atmuni31.h create mode 100755 bgp.h create mode 100644 bootp.h create mode 100644 bpf_dump.c create mode 100644 chdlc.h create mode 100644 checksum.c create mode 100755 config.guess create mode 100644 config.h.in create mode 100755 config.sub create mode 100755 configure create mode 100644 configure.in create mode 100644 cpack.c create mode 100644 cpack.h create mode 100644 dccp.h create mode 100644 decnet.h create mode 100644 decode_prefix.h create mode 100644 enc.h create mode 100644 esp.h create mode 100644 ether.h create mode 100644 ethertype.h create mode 100644 extract.h create mode 100644 fddi.h create mode 100644 forces.h create mode 100644 gmpls.c create mode 100644 gmpls.h create mode 100644 gmt2local.c create mode 100644 gmt2local.h create mode 100644 icmp6.h create mode 100644 ieee802_11.h create mode 100644 ieee802_11_radio.h create mode 100644 igrp.h create mode 100644 in_cksum.c create mode 100755 install-sh create mode 100644 interface.h create mode 100644 ip.h create mode 100644 ip6.h create mode 100644 ipfc.h create mode 100644 ipnet.h create mode 100755 ipproto.c create mode 100644 ipproto.h create mode 100644 ipsec_doi.h create mode 100644 ipx.h create mode 100644 isakmp.h create mode 100644 l2tp.h create mode 100755 l2vpn.c create mode 100755 l2vpn.h create mode 100644 lane.h create mode 100644 lbl/os-osf4.h create mode 100644 lbl/os-solaris2.h create mode 100644 lbl/os-sunos4.h create mode 100644 lbl/os-ultrix4.h create mode 100644 llc.h create mode 100644 machdep.c create mode 100644 machdep.h create mode 100755 makemib create mode 100644 mib.h create mode 100644 missing/addrinfo.h create mode 100644 missing/datalinks.c create mode 100644 missing/dlnames.c create mode 100644 missing/getnameinfo.c create mode 100644 missing/inet_aton.c create mode 100644 missing/inet_ntop.c create mode 100644 missing/inet_pton.c create mode 100644 missing/snprintf.c create mode 100644 missing/sockstorage.h create mode 100644 missing/strdup.c create mode 100644 missing/strlcat.c create mode 100644 missing/strlcpy.c create mode 100644 missing/strsep.c create mode 100755 mkdep create mode 100644 mpls.h create mode 100644 nameser.h create mode 100644 netbios.h create mode 100644 netdissect.h create mode 100644 nfs.h create mode 100644 nfsfh.h create mode 100755 nlpid.c create mode 100644 nlpid.h create mode 100644 ntp.h create mode 100644 oakley.h create mode 100644 ospf.h create mode 100644 ospf6.h create mode 100644 oui.c create mode 100644 oui.h create mode 100644 packetdat.awk create mode 100644 parsenfsfh.c create mode 100644 pcap-missing.h create mode 100644 pcap_dump_ftell.c create mode 100644 pmap_prot.h create mode 100644 ppi.h create mode 100644 ppp.h create mode 100644 print-802_11.c create mode 100644 print-802_15_4.c create mode 100644 print-ah.c create mode 100644 print-aodv.c create mode 100644 print-ap1394.c create mode 100644 print-arcnet.c create mode 100644 print-arp.c create mode 100644 print-ascii.c create mode 100644 print-atalk.c create mode 100644 print-atm.c create mode 100644 print-babel.c create mode 100644 print-beep.c create mode 100644 print-bfd.c create mode 100644 print-bgp.c create mode 100644 print-bootp.c create mode 100644 print-bt.c create mode 100644 print-carp.c create mode 100644 print-cdp.c create mode 100644 print-cfm.c create mode 100644 print-chdlc.c create mode 100644 print-cip.c create mode 100644 print-cnfp.c create mode 100644 print-dccp.c create mode 100644 print-decnet.c create mode 100644 print-dhcp6.c create mode 100644 print-domain.c create mode 100644 print-dtp.c create mode 100644 print-dvmrp.c create mode 100644 print-eap.c create mode 100644 print-egp.c create mode 100644 print-eigrp.c create mode 100644 print-enc.c create mode 100644 print-esp.c create mode 100644 print-ether.c create mode 100644 print-fddi.c create mode 100644 print-forces.c create mode 100644 print-fr.c create mode 100644 print-frag6.c create mode 100644 print-gre.c create mode 100644 print-hsrp.c create mode 100644 print-icmp.c create mode 100644 print-icmp6.c create mode 100644 print-igmp.c create mode 100644 print-igrp.c create mode 100644 print-ip.c create mode 100644 print-ip6.c create mode 100644 print-ip6opts.c create mode 100644 print-ipcomp.c create mode 100644 print-ipfc.c create mode 100644 print-ipnet.c create mode 100644 print-ipx.c create mode 100644 print-isakmp.c create mode 100644 print-isoclns.c create mode 100644 print-juniper.c create mode 100644 print-krb.c create mode 100644 print-l2tp.c create mode 100644 print-lane.c create mode 100644 print-ldp.c create mode 100644 print-llc.c create mode 100644 print-lldp.c create mode 100644 print-lmp.c create mode 100644 print-lspping.c create mode 100644 print-lwapp.c create mode 100644 print-lwres.c create mode 100644 print-mobile.c create mode 100644 print-mobility.c create mode 100644 print-mpcp.c create mode 100644 print-mpls.c create mode 100644 print-msdp.c create mode 100644 print-netbios.c create mode 100644 print-nfs.c create mode 100644 print-ntp.c create mode 100644 print-null.c create mode 100644 print-olsr.c create mode 100644 print-ospf.c create mode 100644 print-ospf6.c create mode 100644 print-pflog.c create mode 100644 print-pgm.c create mode 100644 print-pim.c create mode 100644 print-ppi.c create mode 100644 print-ppp.c create mode 100644 print-pppoe.c create mode 100644 print-pptp.c create mode 100644 print-radius.c create mode 100644 print-raw.c create mode 100644 print-rip.c create mode 100644 print-ripng.c create mode 100644 print-rpki-rtr.c create mode 100644 print-rrcp.c create mode 100644 print-rsvp.c create mode 100644 print-rt6.c create mode 100644 print-rx.c create mode 100644 print-sctp.c create mode 100644 print-sflow.c create mode 100644 print-sip.c create mode 100644 print-sl.c create mode 100644 print-sll.c create mode 100644 print-slow.c create mode 100644 print-smb.c create mode 100644 print-snmp.c create mode 100644 print-stp.c create mode 100644 print-sunatm.c create mode 100644 print-sunrpc.c create mode 100644 print-symantec.c create mode 100755 print-syslog.c create mode 100644 print-tcp.c create mode 100644 print-telnet.c create mode 100644 print-tftp.c create mode 100644 print-timed.c create mode 100644 print-tipc.c create mode 100644 print-token.c create mode 100644 print-udld.c create mode 100644 print-udp.c create mode 100644 print-usb.c create mode 100644 print-vjc.c create mode 100644 print-vqp.c create mode 100644 print-vrrp.c create mode 100644 print-vtp.c create mode 100644 print-wb.c create mode 100644 print-zephyr.c create mode 100644 route6d.h create mode 100644 rpc_auth.h create mode 100644 rpc_msg.h create mode 100644 rx.h create mode 100644 sctpConstants.h create mode 100644 sctpHeader.h create mode 100644 send-ack.awk create mode 100644 setsignal.c create mode 100644 setsignal.h create mode 100644 signature.c create mode 100644 signature.h create mode 100644 slcompress.h create mode 100644 slip.h create mode 100644 sll.h create mode 100644 smb.h create mode 100644 smbutil.c create mode 100644 stime.awk create mode 100644 strcasecmp.c create mode 100644 tcp.h create mode 100644 tcpdump-stdinc.h create mode 100644 tcpdump.1.in create mode 100644 tcpdump.c create mode 100644 telnet.h create mode 100644 tests/02-sunrise-sunset-esp.pcap create mode 100644 tests/08-sunrise-sunset-aes.pcap create mode 100644 tests/08-sunrise-sunset-esp2.pcap create mode 100644 tests/QinQpacket.out create mode 100644 tests/QinQpacket.pcap create mode 100644 tests/QinQpacketv.out create mode 100644 tests/TESTLIST create mode 100755 tests/TESTonce create mode 100755 tests/TESTrun.sh create mode 100644 tests/babel.pcap create mode 100644 tests/babel1.out create mode 100644 tests/babel1v.out create mode 100644 tests/bgp-infinite-loop.pcap create mode 100644 tests/bgp_vpn_attrset.out create mode 100644 tests/bgp_vpn_attrset.pcap create mode 100644 tests/chdlc-slarp-short.pcap create mode 100644 tests/chdlc-slarp.pcap create mode 100644 tests/dio.out create mode 100644 tests/dio.pcap create mode 100644 tests/e1000g.out create mode 100644 tests/e1000g.pcap create mode 100644 tests/eapon1.gdbinit create mode 100644 tests/eapon1.out create mode 100644 tests/eapon1.pcap create mode 100644 tests/empty.uu create mode 100644 tests/esp-secrets.txt create mode 100644 tests/esp0.out create mode 100644 tests/esp1.gdbinit create mode 100644 tests/esp1.out create mode 100644 tests/esp2.gdbinit create mode 100644 tests/esp2.out create mode 100644 tests/esp3.gdbinit create mode 100644 tests/esp4.gdbinit create mode 100644 tests/esp5.gdbinit create mode 100644 tests/esp5.out create mode 100644 tests/espudp1.out create mode 100644 tests/espudp1.pcap create mode 100644 tests/forces1.out create mode 100644 tests/forces1.pcap create mode 100644 tests/forces1vvv.out create mode 100644 tests/forces1vvvv.out create mode 100644 tests/forces2v.out create mode 100644 tests/forces2vv.out create mode 100644 tests/forces3vvv.out create mode 100644 tests/icmpv6.out create mode 100644 tests/icmpv6.pcap create mode 100644 tests/ikev2four.out create mode 100644 tests/ikev2four.pcap create mode 100644 tests/ikev2fourv.out create mode 100644 tests/ikev2fourv4.out create mode 100644 tests/ikev2pI2-secrets.txt create mode 100644 tests/ikev2pI2.out create mode 100644 tests/ikev2pI2.pcap create mode 100644 tests/isakmp-delete-segfault.pcap create mode 100644 tests/isakmp-identification-segfault.pcap create mode 100644 tests/isakmp-pointer-loop.pcap create mode 100644 tests/isakmp1.out create mode 100644 tests/isakmp2.out create mode 100644 tests/isakmp3.out create mode 100644 tests/isakmp4.out create mode 100644 tests/isakmp4500.pcap create mode 100644 tests/isis-infinite-loop.pcap create mode 100644 tests/ldp-infinite-loop.pcap create mode 100644 tests/lmp.new create mode 100644 tests/lmp.out create mode 100644 tests/lmp.pcap create mode 100755 tests/lmp.sh create mode 100644 tests/lspping-fec-ldp.pcap create mode 100644 tests/lspping-fec-rsvp.pcap create mode 100644 tests/mpls-ldp-hello.out create mode 100644 tests/mpls-ldp-hello.pcap create mode 100644 tests/mpls-traceroute.pcap create mode 100644 tests/ospf-gmpls.out create mode 100644 tests/ospf-gmpls.pcap create mode 100644 tests/pppoe.out create mode 100644 tests/pppoe.pcap create mode 100644 tests/print-A.out create mode 100644 tests/print-AA.out create mode 100644 tests/print-capX.out create mode 100644 tests/print-capXX.out create mode 100644 tests/print-flags.pcap create mode 100755 tests/print-flags.sh create mode 100644 tests/print-x.out create mode 100644 tests/print-xx.out create mode 100644 tests/rsvp-infinite-loop.pcap create mode 100644 tests/sflow_multiple_counter_30_pdus.out create mode 100644 tests/sflow_multiple_counter_30_pdus.pcap create mode 100644 tftp.h create mode 100644 timed.h create mode 100644 token.h create mode 100644 udp.h create mode 100644 util.c create mode 100644 vfprintf.c create mode 100644 win32/Include/errno.h create mode 100644 win32/Include/getopt.h create mode 100644 win32/Include/w32_fzs.h create mode 100644 win32/Src/getopt.c create mode 100644 win32/prj/GNUmakefile create mode 100644 win32/prj/WinDump.dsp create mode 100644 win32/prj/WinDump.dsw diff --git a/CHANGES b/CHANGES new file mode 100644 index 0000000..0031431 --- /dev/null +++ b/CHANGES @@ -0,0 +1,1012 @@ +Friday April 3, 2011. mcr@sandelman.ca. + Summary for 4.3.0 tcpdump release + fixes for forces: SPARSE data (per RFC 5810) + some more test cases added + updates to documentation on -l, -U and -w flags. + Fix printing of BGP optional headers. + Tried to include DLT_PFSYNC support, failed due to headers required. + added TIPC support. + Fix LLDP Network Policy bit definitions. + fixes for IGMPv3's Max Response Time: it is in units of 0.1 second. + SIGUSR1 can be used rather than SIGINFO for stats + permit -n flag to affect print-ip for protocol numbers + ND_OPT_ADVINTERVAL is in milliseconds, not seconds + Teach PPPoE parser about RFC 4638 + + +Friday December 9, 2011. guy@alum.mit.edu. + Summary for 4.2.1 tcpdump release + Only build the Babel printer if IPv6 is enabled. + Support Babel on port 6696 as well as 6697. + Include ppi.h in release tarball. + Include all the test files in the release tarball, and don't + "include" test files that no longer exist. + Don't assume we have - check for it. + Support "-T carp" as a way of dissecting IP protocol 112 as CARP + rather than VRRP. + Support Hilscher NetAnalyzer link-layer header format. + Constify some pointers and fix compiler warnings. + Get rid of never-true test. + Fix an unintended fall-through in a case statement in the ARP + printer. + Fix several cases where sizeof(sizeof(XXX)) was used when just + sizeof(XXX) was intended. + Make stricter sanity checks in the ES-IS printer. + Get rid of some GCCisms that caused builds to fai with compilers + that don't support them. + Fix typo in man page. + Added length checks to Babel printer. + +Sunday July 24, 2011. mcr@sandelman.ca. + Summary for 4.2.+ + merged 802.15.4 decoder from Dmitry Eremin-Solenikov + updates to forces for new port numbers + Use "-H", not "-h", for the 802.11s option. (-h always help) + Better ICMPv6 checksum handling. + add support for the RPKI/Router Protocol, per -ietf-sidr-rpki-rtr-12 + get rid of uuencoded pcap test files, git can do binary. + sFlow changes for 64-bit counters. + fixes for PPI packet header handling and printing. + Add DCB Exchange protocol (DCBX) version 1.01. + Babel dissector, from Juliusz Chroboczek and Grégoire Henry. + improvements to radiotap for rate values > 127. + Many improvements to ForCES decode, including fix SCTP TML port + updated RPL type code to RPL-17 draft + Improve printout of DHCPv6 options. + added support and test case for QinQ (802.1q VLAN) packets + Handle DLT_IEEE802_15_4_NOFCS like DLT_IEEE802_15_4. + Build fixes for Sparc and other machines with alignment restrictions. + Merged changes from Debian package. + PGM: Add ACK decoding and add PGMCC DATA and FEEDBACK options. + Build fixes for OSX (Snow Leopard and others) + Add support for IEEE 802.15.4 packets + +Tue. July 20, 2010. guy@alum.mit.edu. + Summary for 4.1.2 tcpdump release + If -U is specified, flush the file after creating it, so it's + not zero-length + Fix TCP flags output description, and some typoes, in the man + page + Add a -h flag, and only attempt to recognize 802.11s mesh + headers if it's set + When printing the link-layer type list, send *all* output to + stderr + Include the CFLAGS setting when configure was run in the + compiler flags + +Thu. April 1, 2010. guy@alum.mit.edu. + Summary for 4.1.1 tcpdump release + Fix build on systems with PF, such as FreeBSD and OpenBSD. + Don't blow up if a zero-length link-layer address is passed to + linkaddr_string(). + +Thu. March 11, 2010. ken@netfunctional.ca/guy@alum.mit.edu. + Summary for 4.1.0 tcpdump release + Fix printing of MAC addresses for VLAN frames with a length + field + Add some additional bounds checks and use the EXTRACT_ macros + more + Add a -b flag to print the AS number in BGP packets in ASDOT + notation rather than ASPLAIN notation + Add ICMPv6 RFC 5006 support + Decode the access flags in NFS access requests + Handle the new DLT_ for memory-mapped USB captures on Linux + Make the default snapshot (-s) the maximum + Print name of device (when -L is used) + Support for OpenSolaris (and SXCE build 125 and later) + Print new TCP flags + Add support for RPL DIO + Add support for TCP User Timeout (UTO) + Add support for non-standard Ethertypes used by 3com PPPoE gear + Add support for 802.11n and 802.11s + Add support for Transparent Ethernet Bridge ethertype in GRE + Add 4 byte AS support for BGP printer + Add support for the MDT SAFI 66 BG printer + Add basic IPv6 support to print-olsr + Add USB printer + Add printer for ForCES + Handle frames with an FCS + Handle 802.11n Control Wrapper, Block Acq Req and Block Ack frames + Fix TCP sequence number printing + Report 802.2 packets as 802.2 instead of 802.3 + Don't include -L/usr/lib in LDFLAGS + On x86_64 Linux, look in lib64 directory too + Lots of code clean ups + Autoconf clean ups + Update testcases to make output changes + Fix compiling with/out smi (--with{,out}-smi) + Fix compiling without IPv6 support (--disable-ipv6) + +Mon. October 27, 2008. ken@netfunctional.ca. Summary for 4.0.0 tcpdump release + Add support for Bluetooth Sniffing + Add support for Realtek Remote Control Protocol (openrrcp.org.ru) + Add support for 802.11 AVS + Add support for SMB over TCP + Add support for 4 byte BGP AS printing + Add support for compiling on case-insensitive file systems + Add support for ikev2 printing + Update support for decoding AFS + Update DHCPv6 printer + Use newer libpcap API's (allows -B option on all platforms) + Add -I to turn on monitor mode + Bugfixes in lldp, lspping, dccp, ESP, NFS printers + Cleanup unused files and various cruft + +Mon. September 10, 2007. ken@xelerance.com. Summary for 3.9.8 tcpdump release + Rework ARP printer + Rework OSPFv3 printer + Add support for Frame-Relay ARP + Decode DHCP Option 121 (RFC 3442 Classless Static Route) + Decode DHCP Option 249 (MS Classless Static Route) the same as Option 121 + TLV: Add support for Juniper .pcap extensions + Print EGP header in new-world-order style + Converted print-isakmp.c to NETDISSECT + Moved AF specific stuff into af.h + Test subsystem now table driven, and saves outputs and diffs to one place + Require for pf definitions - allows reading of pflog formatted + libpcap files on an OS other than where the file was generated + + +Wed. July 23, 2007. mcr@xelerance.com. Summary for 3.9.7 libpcap release + + NFS: Print unsigned values as such. + RX: parse safely. + BGP: fixes for IPv6-less builds. + 801.1ag: use standard codepoint. + use /dev/bpf on systems with such a device. + 802.11: print QoS data, avoid dissect of no-data frame, ignore padding. + smb: make sure that we haven't gone past the end of the captured data. + smb: squelch an uninitialized complaint from coverity. + NFS: from NetBSD; don't interpret the reply as a possible NFS reply + if it got MSG_DENIED. + BGP: don't print TLV values that didn't fit, from www.digit-labs.org. + revised INSTALL.txt about libpcap dependancy. + +Wed. April 25, 2007. ken@xelerance.com. Summary for 3.9.6 tcpdump release + Update man page to reflect changes to libpcap + Changes to both TCP and IP Printer Output + Fix a potential buffer overflow in the 802.11 printer + Print basic info about a few more Cisco LAN protocols. + mDNS cleanup + ICMP MPLS rework of the extension code + bugfix: use the correct codepoint for the OSPF simple text auth token + entry, and use safeputs to print the password. + Add support in pflog for additional values + Add support for OIF RSVP Extensions UNI 1.0 Rev. 2 and additional RSVP objects + Add support for the Message-id NACK c-type. + Add support for 802.3ah loopback ctrl msg + Add support for Multiple-STP as per 802.1s + Add support for rapid-SPT as per 802.1w + Add support for CFM Link-trace msg, Link-trace-Reply msg, + Sender-ID tlv, private tlv, port, interface status + Add support for unidirectional link detection as per + http://www.ietf.org/internet-drafts/draft-foschiano-udld-02.txt + Add support for the olsr protocol as per RFC 3626 plus the LQ + extensions from olsr.org + Add support for variable-length checksum in DCCP, as per section 9 of + RFC 4340. + Add support for per-VLAN spanning tree and per-VLAN rapid spanning tree + Add support for Multiple-STP as per 802.1s + Add support for the cisco propriatry 'dynamic trunking protocol' + Add support for the cisco proprietary VTP protocol + Update dhcp6 options table as per IETF standardization activities + + +Tue. September 19, 2006. ken@xelerance.com. Summary for 3.9.5 tcpdump release + + Fix compiling on AIX (, at end of ENUM) + Updated list of DNS RR typecodes + Use local Ethernet defs on WIN32 + Add support for Frame-Relay ARP + Fixes for compiling under MSVC++ + Add support for parsing Juniper .pcap files + Add support for FRF.16 Multilink Frame-Relay (DLT_MFR) + Rework the OSPFv3 printer + Fix printing for 4.4BSD/NetBSD NFS Filehandles + Add support for Cisco style NLPID encapsulation + Add cisco prop. eigrp related, extended communities + Add support for BGP signaled VPLS + Cleanup the bootp printer + Add support for PPP over Frame-Relay + Add some bounds checking to the IP options code, and clean up + the options output a bit. + Add additional modp groups to ISAKMP printer + Add support for Address-Withdraw and Label-Withdraw Msgs + Add support for the BFD Discriminator TLV + Fixes for 64bit compiling + Add support for PIMv2 checksum verification + Add support for further dissection of the IPCP Compression Option + Add support for Cisco's proposed VQP protocol + Add basic support for keyed authentication TCP option + Lots of minor cosmetic changes to output printers + + +Mon. September 19, 2005. ken@xelerance.com. Summary for 3.9.4 tcpdump release + Decoder support for more Juniper link-layer types + Fix a potential buffer overflow (although it can't occur in + practice). + Fix the handling of unknown management frame types in the 802.11 + printer. + Add FRF.16 support, fix various Frame Relay bugs. + Add support for RSVP integrity objects, update fast-reroute + object printer to latest spec. + Clean up documentation of vlan filter expression, document mpls + filter expression. + Document new pppoed and pppoes filter expressions. + Update diffserver-TE codepoints as per RFC 4124. + Spelling fixes in ICMPv6. + Don't require any fields other than flags to be present in IS-IS + restart signaling TLVs, and only print the system ID in + those TLVs as system IDs, not as node IDs. + Support for DCCP. + +Tue. July 5, 2005. ken@xelerance.com. Summary for 3.9.3 tcpdump release + + Option to chroot() when dropping privs + Fixes for compiling on nearly every platform, + including improved 64bit support + Many new testcases + Support for sending packets + Many compliation fixes on most platforms + Fixes for recent version of GCC to eliminate warnings + Improved Unicode support + + Decoders & DLT Changes, Updates and New: + AES ESP support + Juniper ATM, FRF.15, FRF.16, PPPoE, + ML-FR, ML-PIC, ML-PPP, PL-PPP, LS-PIC + GGSN,ES,MONITOR,SERVICES + L2VPN + Axent Raptor/Symantec Firewall + TCP-MD5 (RFC 2385) + ESP-in-UDP (RFC 3948) + ATM OAM + LMP, LMP Service Discovery + IP over FC + IP over IEEE 1394 + BACnet MS/TP + SS7 + LDP over TCP + LACP, MARKER as per 802.3ad + PGM (RFC 3208) + LSP-PING + G.7041/Y.1303 Generic Framing Procedure + EIGRP-IP, EIGRP-IPX + ICMP6 + Radio - via radiotap + DHCPv6 + HDLC over PPP + +Tue. March 30, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.3 release + + No changes from 3.8.2. Version bumped only to maintain consistency + with libpcap 0.8.3. + +Mon. March 29, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.2 release + + Fixes for print-isakmp.c CVE: CAN-2004-0183, CAN-2004-0184 + http://www.rapid7.com/advisories/R7-0017.html + IP-over-IEEE1394 printing. + some MINGW32 changes. + updates for autoconf 2.5 + fixes for print-aodv.c - check for too short packets + formatting changes to print-ascii for hex output. + check for too short packets: print-bgp.c, print-bootp.c, print-cdp.c, + print-chdlc.c, print-domain.c, print-icmp.c, print-icmp6.c, + print-ip.c, print-lwres.c, print-ospf.c, print-pim.c, + print-ppp.c,print-pppoe.c, print-rsvp.c, print-wb.c + print-ether.c - better handling of unknown types. + print-isoclns.c - additional decoding of types. + print-llc.c - strings for LLC names added. + print-pfloc.c - various enhancements + print-radius.c - better decoding to strings. + +Wed. November 12, 2003. mcr@sandelman.ottawa.on.ca. Summary for 3.8 release + + changed syntax of -E argument so that multiple SAs can be decrypted + fixes for Digital Unix headers and Documentation + __attribute__ fixes + CDP changes from Terry Kennedy . + IPv6 mobility updates from Kazushi Sugyo + Fixes for ASN.1 decoder for 2.100.3 forms. + Added a count of packets received and processed to clarify numbers. + Incorporated WinDUMP patches for Win32 builds. + PPPoE payload length headers. + Fixes for HP C compiler builds. + Use new pcap_breakloop() and pcap_findalldevs() if we can. + BGP output split into multiple lines. + Fixes to 802.11 decoding. + Fixes to PIM decoder. + SuperH is a CPU that can't handle unaligned access. Many fixes for + unaligned access work. + Fixes to Frame-Relay decoder for Q.933/922 frames. + Clarified when Solaris can do captures as non-root. + Added tests/ subdir for examples/regression tests. + New -U flag. -flush stdout after every packet + New -A flag -print ascii only + support for decoding IS-IS inside Cisco HDLC Frames + more verbosity for tftp decoder + mDNS decoder + new BFD decoder + cross compilation patches + RFC 3561 AODV support. + UDP/TCP pseudo-checksum properly for source-route options. + sanitized all files to modified BSD license + Add support for RFC 2625 IP-over-Fibre Channel. + fixes for DECnet support. + Support RFC 2684 bridging of Ethernet, 802.5 Token Ring, and FDDI. + RFC 2684 encapsulation of BPDUs. + +Tuesday, February 25, 2003. fenner@research.att.com. 3.7.2 release + + Fixed infinite loop when parsing malformed isakmp packets. + (reported by iDefense; already fixed in CVS) + Fixed infinite loop when parsing malformed BGP packets. + Fixed buffer overflow with certain malformed NFS packets. + Pretty-print unprintable network names in 802.11 printer. + Handle truncated nbp (appletalk) packets. + Updated DHCPv6 printer to match draft-ietf-dhc-dhcpv6-22.txt + Print IP protocol name even if we don't have a printer for it. + Print IP protocol name or number for fragments. + Print the whole MPLS label stack, not just the top label. + Print request header and file handle for NFS v3 FSINFO and PATHCONF + requests. + Fix NFS packet truncation checks. + Handle "old" DR-Priority and Bidir-Capable PIM HELLO options. + Handle unknown RADIUS attributes properly. + Fix an ASN.1 parsing error that would cause e.g. the OID + 2.100.3 to be misrepresented as 4.20.3 . + +Monday, January 21, 2002. mcr@sandelman.ottawa.on.ca. Summary for 3.7 release +see http://www.tcpdump.org/cvs-log/2002-01-21.10:16:48.html for commit log. + keyword "ipx" added. + Better OSI/802.2 support on Linux. + IEEE 802.11 support, from clenahan@fortresstech.com, achirica@ttd.net. + LLC SAP support for FDDI/token ring/RFC-1483 style ATM + BXXP protocol was replaced by the BEEP protocol; + improvements to SNAP demux. + Changes to "any" interface documentation. + Documentation on pcap_stats() counters. + Fix a memory leak found by Miklos Szeredi - pcap_ether_aton(). + Added MPLS encapsulation decoding per RFC3032. + DNS dissector handles TKEY, TSIG and IXFR. + adaptive SLIP interface patch from Igor Khristophorov + SMB printing has much improved bounds checks + OUI 0x0000f8 decoded as encapsulated ethernet for Cisco-custom bridging + Zephyr support, from Nickolai Zeldovich . + Solaris - devices with digits in them. Stefan Hudson + IPX socket 0x85be is for Cisco EIGRP over IPX. + Improvements to fragmented ESP handling. + SCTP support from Armando L. Caro Jr. + Linux ARPHDR_ATM support fixed. + Added a "netbeui" keyword, which selects NetBEUI packets. + IPv6 ND improvements, MobileIP dissector, 2292bis-02 for RA option. + Handle ARPHDR_HDLC from Marcus Felipe Pereira . + Handle IPX socket 0x553 -> NetBIOS-over-IPX socket, "nwlink-dgm" + Better Linux libc5 compat. + BIND9 lwres dissector added. + MIPS and SPARC get strict alignment macros (affects print-bgp.c) + Apple LocalTalk LINKTYPE_ reserved. + New time stamp formats documented. + DHCP6 updated to draft-22.txt spec. + ICMP types/codes now accept symbolic names. + Add SIGINFO handler from LBL + encrypted CIPE tunnels in IRIX, from Franz Schaefer . + now we are -Wstrict-prototype clean. + NetBSD DLT_PPP_ETHER; adapted from Martin Husemann . + PPPoE dissector cleaned up. + Support for LocalTalk hardware, from Uns Lider . + In dissector, now the caller prints the IP addresses rather than proto. + cjclark@alum.mit.edu: print the IP proto for non-initial fragments. + LLC frames with a DSAP and LSAP of 0xe0 are IPX frames. + Linux cooked frames with a type value of LINUX_SLL_P_802_3 are IPX. + captures on the "any" device won't be done in promiscuous mode + Token Ring support on DLPI - Onno van der Linden + ARCNet support, from NetBSD. + HSRP dissector, from Julian Cowley . + Handle (GRE-encapsulated) PPTP + added -C option to rotate save file every optarg * 1,000,000 bytes. + support for "vrrp" name - NetBSD, by Klaus Klein . + PPTP support, from Motonori Shindo . + IS-IS over PPP support, from Hannes Gredler . + CNFP support for IPv6,format. Harry Raaymakers . + ESP printing updated to RFC2406. + HP-UX can now handle large number of PPAs. + MSDP printer added. + L2TP dissector improvements from Motonori Shindo. + +Tuesday January 9, 2001. mcr@sandelman.ottawa.on.ca. Summary for 3.6 release + Cleaned up documentation. + Promisc mode fixes for Linux + IPsec changes/cleanups. + Alignment fixes for picky architectures + + Removed dependency on native headers for packet dissectors. + Removed Linux specific headers that were shipped + + libpcap changes provide for exchanging capture files between + systems. Save files now have well known PACKET_ values instead of + depending upon system dependant mappings of DLT_* types. + + Support for computing/checking IP and UDP/TCP checksums. + + Updated autoconf stock files. + + IPv6 improvements: dhcp (draft-15), mobile-ip6, ppp, ospf6, + + Added dissector support for: ISOCLNS, Token Ring, IGMPv3, bxxp, + timed, vrrp, radius, chdlc, cnfp, cdp, IEEE802.1d, raw-AppleTalk + + Added filtering support for: VLANs, ESIS, ISIS + + Improvements to: print-telnet, IPTalk, bootp/dhcp, ECN, PPP, + L2TP, PPPoE + + HP-UX 11.0 -- find the right dlpi device. + Solaris 8 - IPv6 works + Linux - Added support for an "any" device to capture on all interfaces + + Security fixes: buffer overrun audit done. Strcpy replaced with + strlcpy, sprintf replaced with snprintf. + Look for lex problems, and warn about them. + + +v3.5 Fri Jan 28 18:00:00 PST 2000 + +Bill Fenner +- switch to config.h for autoconf +- unify RCSID strings +- Updated PIMv1, PIMv2, DVMRP, IGMP parsers, add Cisco Auto-RP parser +- Really fix the RIP printer +- Fix MAC address -> name translation. +- some -Wall -Wformat fixes +- update makemib to parse much of SMIv2 +- Print TCP sequence # with -vv even if you normally wouldn't +- Print as much of IP/TCP/UDP headers as possible even if truncated. + +itojun@iijlab.net +- -X will make a ascii dump. from netbsd. +- telnet command sequence decoder (ff xx xx). from netbsd. +- print-bgp.c: improve options printing. ugly code exists for + unaligned option parsing (need some fix). +- const poisoning in SMB decoder. +- -Wall -Werror clean checks. +- bring in KAME IPv6/IPsec decoding code. + +Assar Westerlund +- SNMPv2 and SNMPv3 printer +- If compiled with libsmi, tcpdump can load MIBs on the fly to decode + SNMP packets. +- Incorporate NFS parsing code from NetBSD. Adds support for nfsv3. +- portability fixes +- permit building in different directories. + +Ken Hornstein +- bring in code at + /afs/transarc.com/public/afs-contrib/tools/tcpdump for parsing + AFS3 packets + +Andrew Tridgell +- SMB printing code + +Love +- print-rx.c: add code for printing MakeDir and StoreStatus. Also + change date format to the right one. + +Michael C. Richardson +- Created tcpdump.org repository + +v3.4 Sat Jul 25 12:40:55 PDT 1998 + +- Hardwire Linux slip support since it's too hard to detect. + +- Redo configuration of "network" libraries (-lsocket and -lnsl) to + deal with IRIX. Thanks to John Hawkinson (jhawk@mit.edu) + +- Added -a which tries to translate network and broadcast addresses to + names. Suggested by Rob van Nieuwkerk (robn@verdi.et.tudelft.nl) + +- Added a configure option to disable gcc. + +- Added a "raw" packet printer. + +- Not having an interface address is no longer fatal. Requested by John + Hawkinson. + +- Rework signal setup to accommodate Linux. + +- OSPF truncation check fix. Also display the type of OSPF packets + using MD5 authentication. Thanks to Brian Wellington + (bwelling@tis.com) + +- Fix truncation check bugs in the Kerberos printer. Reported by Ezra + Peisach (epeisach@mit.edu) + +- Don't catch SIGHUP when invoked with nohup(1). Thanks to Dave Plonka + (plonka@mfa.com) + +- Specify full install target as a way of detecting if install + directory does not exist. Thanks to Dave Plonka. + +- Bit-swap FDDI addresses for BSD/OS too. Thanks to Paul Vixie + (paul@vix.com) + +- Fix off-by-one bug when testing size of ethernet packets. Thanks to + Marty Leisner (leisner@sdsp.mc.xerox.com) + +- Add a local autoconf macro to check for routines in libraries; the + autoconf version is broken (it only puts the library name in the + cache variable name). Thanks to John Hawkinson. + +- Add a local autoconf macro to check for types; the autoconf version + is broken (it uses grep instead of actually compiling a code fragment). + +- Modified to support the new BSD/OS 2.1 PPP and SLIP link layer header + formats. + +- Extend OSF ip header workaround to versions 1 and 2. + +- Fix some signed problems in the nfs printer. As reported by David + Sacerdote (davids@silence.secnet.com) + +- Detect group wheel and use it as the default since BSD/OS' install + can't hack numeric groups. Reported by David Sacerdote. + +- AIX needs special loader options. Thanks to Jonathan I. Kamens + (jik@cam.ov.com) + +- Fixed the nfs printer to print port numbers in decimal. Thanks to + Kent Vander Velden (graphix@iastate.edu) + +- Find installed libpcap in /usr/local/lib when not using gcc. + +- Disallow network masks with non-network bits set. + +- Attempt to detect "egcs" versions of gcc. + +- Add missing closing double quotes when displaying bootp strings. + Reported by Viet-Trung Luu (vluu@picard.math.uwaterloo.ca) + +v3.3 Sat Nov 30 20:56:27 PST 1996 + +- Added Linux support. + +- GRE encapsulated packet printer thanks to John Hawkinson + (jhawk@mit.edu) + +- Rewrite gmt2local() to avoid problematic os dependencies. + +- Suppress nfs truncation message on errors. + +- Add missing m4 quoting in AC_LBL_UNALIGNED_ACCESS autoconf macro. + Reported by Joachim Ott (ott@ardala.han.de) + +- Enable "ip_hl vs. ip_vhl" workaround for OSF4 too. + +- Print arp hardware type in host order. Thanks to Onno van der Linden + (onno@simplex.nl) + +- Avoid solaris compiler warnings. Thanks to Bruce Barnett + (barnett@grymoire.crd.ge.com) + +- Fix rip printer to not print one more route than is actually in the + packet. Thanks to Jean-Luc Richier (Jean-Luc.Richier@imag.fr) and + Bill Fenner (fenner@parc.xerox.com) + +- Use autoconf endian detection since BYTE_ORDER isn't defined on all systems. + +- Fix dvmrp printer truncation checks and add a dvmrp probe printer. + Thanks to Danny J. Mitzel (mitzel@ipsilon.com) + +- Rewrite ospf printer to improve truncation checks. + +- Don't parse tcp options past the EOL. As noted by David Sacerdote + (davids@secnet.com). Also, check tcp options to make sure they ar + actually in the tcp header (in addition to the normal truncation + checks). Fix the SACK code to print the N blocks (instead of the + first block N times). + +- Don't say really small UDP packets are truncated just because they + aren't big enough to be a RPC. As noted by David Sacerdote. + +v3.2.1 Sun Jul 14 03:02:26 PDT 1996 + +- Added rfc1716 icmp codes as suggested by Martin Fredriksson + (martin@msp.se) + +- Print mtu for icmp unreach need frag packets. Thanks to John + Hawkinson (jhawk@mit.edu) + +- Decode icmp router discovery messages. Thanks to Jeffrey Honig + (jch@bsdi.com) + +- Added a printer entry for DLT_IEEE802 as suggested by Tak Kushida + (kushida@trl.ibm.co.jp) + +- Check igmp checksum if possible. Thanks to John Hawkinson. + +- Made changes for SINIX. Thanks to Andrej Borsenkow + (borsenkow.msk@sni.de) + +- Use autoconf's idea of the top level directory in install targets. + Thanks to John Hawkinson. + +- Avoid infinite loop in tcp options printing code. Thanks to Jeffrey + Mogul (mogul@pa.dec.com) + +- Avoid using -lsocket in IRIX 5.2 and earlier since it breaks snoop. + Thanks to John Hawkinson. + +- Added some more packet truncation checks. + +- On systems that have it, use sigset() instead of signal() since + signal() has different semantics on these systems. + +- Fixed some more alignment problems on the alpha. + +- Add code to massage unprintable characters in the domain and ipx + printers. Thanks to John Hawkinson. + +- Added explicit netmask support. Thanks to Steve Nuchia + (steve@research.oknet.com) + +- Add "sca" keyword (for DEC cluster services) as suggested by Terry + Kennedy (terry@spcvxa.spc.edu) + +- Add "atalk" keyword as suggested by John Hawkinson. + +- Added an igrp printer. Thanks to Francis Dupont + (francis.dupont@inria.fr) + +- Print IPX net numbers in hex a la Novell Netware. Thanks to Terry + Kennedy (terry@spcvxa.spc.edu) + +- Fixed snmp extended tag field parsing bug. Thanks to Pascal Hennequin + (pascal.hennequin@hugo.int-evry.fr) + +- Added some ETHERTYPEs missing on some systems. + +- Added truncated packet macros and various checks. + +- Fixed endian problems with the DECnet printer. + +- Use $CC when checking gcc version. Thanks to Carl Lindberg + (carl_lindberg@blacksmith.com) + +- Fixes for AIX (although this system is not yet supported). Thanks to + John Hawkinson. + +- Fix bugs in the autoconf misaligned accesses code fragment. + +- Include sys/param.h to get BYTE_ORDER in a few places. Thanks to + Pavlin Ivanov Radoslavov (pavlin@cs.titech.ac.jp) + +v3.2 Sun Jun 23 02:28:10 PDT 1996 + +- Print new icmp unreachable codes as suggested by Martin Fredriksson + (martin@msp.se). Also print code value when unknown for icmp redirect + and time exceeded. + +- Fix an alignment endian bug in getname(). Thanks to John Hawkinson. + +- Define "new" domain record types if not found in arpa/nameserv.h. + Resulted from a suggestion from John Hawkinson (jhawk@mit.edu). Also + fixed an endian bug when printing mx record and added some new record + types. + +- Added RIP V2 support. Thanks to Jeffrey Honig (jch@bsdi.com) + +- Added T/TCP options printing. As suggested by Richard Stevens + (rstevens@noao.edu) + +- Use autoconf to detect architectures that can't handle misaligned + accesses. + +v3.1 Thu Jun 13 20:59:32 PDT 1996 + +- Changed u_int32/int32 to u_int32_t/int32_t to be consistent with bsd + and bind (as suggested by Charles Hannum). + +- Port to GNU autoconf. + +- Add support for printing DVMRP and PIM traffic thanks to + Havard Eidnes (Havard.Eidnes@runit.sintef.no). + +- Fix AppleTalk, IPX and DECnet byte order problems due to wrong endian + define being referenced. Reported by Terry Kennedy. + +- Minor fixes to the man page thanks to Mark Andrews. + +- Endian fixes to RTP and vat packet dumpers, thanks to Bruce Mah + (bmah@cs.berkeley.edu). + +- Added support for new dns types, thanks to Rainer Orth. + +- Fixed tftp_print() to print the block number for ACKs. + +- Document -dd and -ddd. Resulted from a bug report from Charlie Slater + (cslater@imatek.com). + +- Check return status from malloc/calloc/etc. + +- Check return status from pcap_loop() so we can print an error and + exit with a bad status if there were problems. + +- Bail if ip option length is <= 0. Resulted from a bug report from + Darren Reed (darrenr@vitruvius.arbld.unimelb.edu.au). + +- Print out a little more information for sun rpc packets. + +- Add suport for Kerberos 4 thanks to John Hawkinson (jhawk@mit.edu). + +- Fixed the Fix EXTRACT_SHORT() and EXTRACT_LONG() macros (which were + wrong on little endian machines). + +- Fixed alignment bug in ipx_decode(). Thanks to Matt Crawford + (crawdad@fnal.gov). + +- Fix ntp_print() to not print garbage when the stratum is + "unspecified." Thanks to Deus Ex Machina (root@belle.bork.com). + +- Rewrote tcp options printer code to check for truncation. Added + selective acknowledgment case. + +- Fixed an endian bug in the ospf printer. Thanks to Jeffrey C Honig + (jch@bsdi.com) + +- Fix rip printer to handle 4.4 BSD sockaddr struct which only uses one + octet for the sa_family member. Thanks to Yoshitaka Tokugawa + (toku@dit.co.jp) + +- Don't checksum ip header if we don't have all of it. Thanks to John + Hawkinson (jhawk@mit.edu). + +- Print out hostnames if possible in egp printer. Thanks to Jeffrey + Honig (jhc@bsdi.com) + + +v3.1a1 Wed May 3 19:21:11 PDT 1995 + +- Include time.h when SVR4 is defined to avoid problems under Solaris + 2.3. + +- Fix etheraddr_string() in the ETHER_SERVICE to return the saved + strings, not the local buffer. Thanks to Stefan Petri + (petri@ibr.cs.tu-bs.de). + +- Detect when pcap raises the snaplen (e.g. with snit). Print a warning + that the selected value was not used. Thanks to Pascal Hennequin + (Pascal.Hennequin@hugo.int-evry.fr). + +- Add a truncated packet test to print-nfs.c. Thanks to Pascal Hennequin. + +- BYTEORDER -> BYTE_ORDER Thanks to Terry Kennedy (terry@spcvxa.spc.edu). + +v3.0.3 Sun Oct 1 18:35:00 GMT 1995 + +- Although there never was a 3.0.3 release, the linux boys cleverly + "released" one in late 1995. + +v3.0.2 Thu Apr 20 21:28:16 PDT 1995 + +- Change configuration to not use gcc v2 flags with gcc v1. + +- Redo gmt2local() so that it works under BSDI (which seems to return + an empty timezone struct from gettimeofday()). Based on report from + Terry Kennedy (terry@spcvxa.spc.edu). + +- Change configure to recognize IP[0-9]* as "mips" SGI hardware. Based + on report from Mark Andrews (mandrews@alias.com). + +- Don't pass cc flags to gcc. Resulted from a bug report from Rainer + Orth (ro@techfak.uni-bielefeld.de). + +- Fixed printout of connection id for uncompressed tcp slip packets. + Resulted from a bug report from Richard Stevens (rstevens@noao.edu). + +- Hack around deficiency in Ultrix's make. + +- Add ETHERTYPE_TRAIL define which is missing from irix5. + +v3.0.1 Wed Aug 31 22:42:26 PDT 1994 + +- Fix problems with gcc2 vs. malloc() and read() prototypes under SunOS 4. + +v3.0 Mon Jun 20 19:23:27 PDT 1994 + +- Added support for printing tcp option timestamps thanks to + Mark Andrews (mandrews@alias.com). + +- Reorganize protocol dumpers to take const pointers to packets so they + never change the contents (i.e., they used to do endian conversions + in place). Previously, whenever more than one pass was taken over + the packet, the packet contents would be dumped incorrectly (i.e., + the output form -x would be wrong on little endian machines because + the protocol dumpers would modify the data). Thanks to Charles Hannum + (mycroft@gnu.ai.mit.edu) for reporting this problem. + +- Added support for decnet protocol dumping thanks to Jeff Mogul + (mogul@pa.dec.com). + +- Fix bug that caused length of packet to be incorrectly printed + (off by ether header size) for unknown ethernet types thanks + to Greg Miller (gmiller@kayak.mitre.org). + +- Added support for IPX protocol dumping thanks to Brad Parker + (brad@fcr.com). + +- Added check to verify IP header checksum under -v thanks to + Brad Parker (brad@fcr.com). + +- Move packet capture code to new libpcap library (which is + packaged separately). + +- Prototype everything and assume an ansi compiler. + +- print-arp.c: Print hardware ethernet addresses if they're not + what we expect. + +- print-bootp.c: Decode the cmu vendor field. Add RFC1497 tags. + Many helpful suggestions from Gordon Ross (gwr@jericho.mc.com). + +- print-fddi.c: Improvements. Thanks to Jeffrey Mogul + (mogul@pa.dec.com). + +- print-icmp.c: Byte swap netmask before printing. Thanks to + Richard Stevens (rstevens@noao.edu). Print icmp type when unknown. + +- print-ip.c: Print the inner ip datagram of ip-in-ip encapsulated packets. + By default, only the inner packet is dumped, appended with the token + "(encap)". Under -v, both the inner and output packets are dumped + (on the same line). Note that the filter applies to the original packet, + not the encapsulated packet. So if you run tcpdump on a net with an + IP Multicast tunnel, you cannot filter out the datagrams using the + conventional syntax. (You can filter away all the ip-in-ip traffic + with "not ip proto 4".) + +- print-nfs.c: Keep pending rpc's in circular table. Add generic + nfs header and remove os dependences. Thanks to Jeffrey Mogul. + +- print-ospf.c: Improvements. Thanks to Jeffrey Mogul. + +- tcpdump.c: Add -T flag allows interpretation of "vat", "wb", "rpc" + (sunrpc) and rtp packets. Added "inbound" and "outbound" keywords + Add && and || operators + +v2.2.1 Tue Jun 6 17:57:22 PDT 1992 + +- Fix bug with -c flag. + +v2.2 Fri May 22 17:19:41 PDT 1992 + +- savefile.c: Remove hack that shouldn't have been exported. Add + truncate checks. + +- Added the 'icmp' keyword. For example, 'icmp[0] != 8 and icmp[0] != 0' + matches non-echo/reply ICMP packets. + +- Many improvements to filter code optimizer. + +- Added 'multicast' keyword and extended the 'broadcast' keyword can now be + so that protocol qualifications are allowed. For example, "ip broadcast" + and "ether multicast" are valid filters. + +- Added support for monitoring the loopback interface (i.e. 'tcpdump -i lo'). + Jeffrey Honig (jch@MITCHELL.CIT.CORNELL.EDU) contributed the kernel + patches to netinet/if_loop.c. + +- Added support for the Ungermann-Bass Ethernet on IBM/PC-RTs running AOS. + Contact Jeffrey Honig (jch@MITCHELL.CIT.CORNELL.EDU) for the diffs. + +- Added EGP and OSPF printers, thanks to Jeffrey Honig. + +v2.1 Tue Jan 28 11:00:14 PST 1992 + +- Internal release (never publically exported). + +v2.0.1 Sun Jan 26 21:10:10 PDT + +- Various byte ordering fixes. + +- Add truncation checks. + +- inet.c: Support BSD style SIOCGIFCONF. + +- nametoaddr.c: Handle multi addresses for single host. + +- optimize.c: Rewritten. + +- pcap-bpf.c: don't choke when we get ptraced. only set promiscuous + for broadcast nets. + +- print-atal.c: Fix an alignment bug (thanks to + stanonik@nprdc.navy.mil) Add missing printf() argument. + +- print-bootp.c: First attempt at decoding the vendor buffer. + +- print-domain.c: Fix truncation checks. + +- print-icmp.c: Calculate length of packets from the ip header. + +- print-ip.c: Print frag id in decimal (so it's easier to match up + with non-frags). Add support for ospf, egp and igmp. + +- print-nfs.c: Lots of changes. + +- print-ntp.c: Make some verbose output depend on -v. + +- print-snmp.c: New version from John LoVerso. + +- print-tcp.c: Print rfc1072 tcp options. + +- tcpdump.c: Print "0x" prefix for %x formats. Always print 6 digits + (microseconds) worth of precision. Fix uid bugs. + +- A packet dumper has been added (thanks to Jeff Mogul of DECWRL). + With this option, you can create an architecture independent binary + trace file in real time, without the overhead of the packet printer. + At a later time, the packets can be filtered (again) and printed. + +- BSD is supported. You must have BPF in your kernel. + Since the filtering is now done in the kernel, fewer packets are + dropped. In fact, with BPF and the packet dumper option, a measly + Sun 3/50 can keep up with a busy network. + +- Compressed SLIP packets can now be dumped, provided you use our + SLIP software and BPF. These packets are dumped as any other IP + packet; the compressed headers are dumped with the '-e' option. + +- Machines with little-endian byte ordering are supported (thanks to + Jeff Mogul). + +- Ultrix 4.0 is supported (also thanks to Jeff Mogul). + +- IBM RT and Stanford Enetfilter support has been added by + Rayan Zachariassen . Tcpdump has been tested under + both the vanilla Enetfilter interface, and the extended interface + (#ifdef'd by IBMRTPC) present in the MERIT version of the Enetfilter. + +- TFTP packets are now printed (requests only). + +- BOOTP packets are now printed. + +- SNMP packets are now printed. (thanks to John LoVerso of Xylogics). + +- Sparc architectures, including the Sparcstation-1, are now + supported thanks to Steve McCanne and Craig Leres. + +- SunOS 4 is now supported thanks to Micky Liu of Columbia + University (micky@cunixc.cc.columbia.edu). + +- IP options are now printed. + +- RIP packets are now printed. + +- There's a -v flag that prints out more information than the + default (e.g., it will enable printing of IP ttl, tos and id) + and -q flag that prints out less (e.g., it will disable + interpretation of AppleTalk-in-UDP). + +- The grammar has undergone substantial changes (if you have an + earlier version of tcpdump, you should re-read the manual + entry). + + The most useful change is the addition of an expression + syntax that lets you filter on arbitrary fields or values in the + packet. E.g., "ip[0] > 0x45" would print only packets with IP + options, "tcp[13] & 3 != 0" would print only TCP SYN and FIN + packets. + + The most painful change is that concatenation no longer means + "and" -- e.g., you have to say "host foo and port bar" instead + of "host foo port bar". The up side to this down is that + repeated qualifiers can be omitted, making most filter + expressions shorter. E.g., you can now say "ip host foo and + (bar or baz)" to look at ip traffic between hosts foo and bar or + between hosts foo and baz. [The old way of saying this was "ip + host foo and (ip host bar or ip host baz)".] + +v2.0 Sun Jan 13 12:20:40 PST 1991 + +- Initial public release. diff --git a/CREDITS b/CREDITS new file mode 100644 index 0000000..3a0fba8 --- /dev/null +++ b/CREDITS @@ -0,0 +1,206 @@ +This file lists people who have contributed to tcpdump: + +The current maintainers: + Bill Fenner + David Young + Fulvio Risso + Guy Harris + Hannes Gredler + Michael Richardson + +Additional people who have contributed patches: + + A Costa + Aaron Campbell + Alfredo Andres + Albert Chin + Ananth Suryanarayana + Andrea Bittau + Andrew Brown + Andrew Church + Andrew Hintz + Andrew Nording + Andrew Tridgell + Andy Heffernan + Anton Bernal + Arkadiusz Miskiewicz + Armando L. Caro Jr. + Arnaldo Carvalho de Melo + Ben Byer + Atsushi Onoe + Ben Smithurst + Bert Vermeulen + Bjoern A. Zeeb + Brent L. Bates + Brian Ginsbach + Bruce M. Simpson + Carles Kishimoto Bisbe + Charlie Lenahan + Charles M. Hannum + Chris Cogdon + Chris G. Demetriou + Chris Jepeway + Chris Larson + Christian Sievers + Christophe Rhodes + Cliff Frey + Craig Rodrigues + Crist J. Clark + Daniel Hagerty + Darren Reed + David Binderman + David Horn + David Smith + David Young + Dmitry Eremin-Solenikov + Don Ebright + Eddie Kohler + Elmar Kirchner + Fang Wang + Florent Drouin + Florian Forster + Francis Dupont + Francisco Matias Cuenca-Acuna + Francois-Xavier Le Bail + Frank Volf + Fulvio Risso + George Bakos + Gerald Combs + Gerrit Renker + Gert Doering + Greg Minshall + Greg Stark + Grégoire Henry + Gilbert Ramirez Jr. + Gisle Vanem + Hannes Viertel + Hank Leininger + Harry Raaymakers + Heinz-Ado Arnolds + Hendrik Scholz + Ian McDonald + Ilpo Järvinen + Jacek Tobiasz + Jakob Schlyter + Jamal Hadi Salim + Jan Oravec + Jason R. Thorpe + Jefferson Ogata + Jeffrey Hutzelman + Jesper Peterson + Jim Hutchins + Jonathan Heusser + Tatuya Jinmei + João Medeiros + Joerg Mayer + Jørgen Thomsen + Julian Cowley + Juliusz Chroboczek + Kaarthik Sivakumar + Kaladhar Musunuru + Karl Norby + Kazushi Sugyo + Kelly Carmichael + Ken Hornstein + Kevin Steves + Kenichi Maehashi + Klaus Klein + Kris Kennaway + Krzysztof Halasa + Larry Lile + Lennert Buytenhek + Loris Degioanni + Love Hörnquist-Åstrand + Lucas C. Villa Real + Luis MartinGarcia + Maciej W. Rozycki + Manu Pathak + Marc Binderberger + Marc A. Lehmann + Mark Ellzey Thomas + Marko Kiiskila + Markus Schöpflin + Marshall Rose + Martin Husemann + Max Laier + Michael A. Meffie III + Michael Madore + Michael Riepe + Michael Shalayeff + Michael Shields + Michael T. Stolarchuk + Michal Sekletar + Michele "mydecay" Marchetto + Mike Frysinger + Minto Jeyananth + Monroe Williams + Motonori Shindo + Nathan J. Williams + Nathaniel Couper-Noles + Neil T. Spring + Niels Provos + Nickolai Zeldovich + Nicolas Ferrero + Noritoshi Demizu + Olaf Kirch + Onno van der Linden + Paolo Abeni + Pascal Hennequin + Pasvorn Boonmark + Paul Ferrell + Paul Mundt + Paul S. Traina + Pavlin Radoslavov + Pawel Worach + Pekka Savola + Peter Fales + Peter Jeremy + + Peter Volkov + Phil Wood + Rafal Maszkowski + Randy Sofia + Raphael Raimbault + Rick Cheng + Rick Jones + Rick Watson + Rob Braun + Robert Edmonds + Roderick Schertler + Romain Francoise + Sagun Shakya + Sami Farin + Scott Mcmillan + Scott Rose + Sebastian Krahmer + Sebastien Raveau + Sebastien Vincent + Sepherosa Ziehau + Seth Webster + Shinsuke Suzuki + Simon Ruderich + Steinar Haug + Swaminathan Chandrasekaran + Takashi Yamamoto + Terry Kennedy + Timo Koskiahde + Tony Li + Toshihiro Kanda + Uns Lider + Victor Oppleman + Weesan Lee + Wesley Griffin + Wesley Shields + Wilbert de Graaf + Will Drewry + William J. Hulley + Yen Yen Lim + Yoshifumi Nishida + +The original LBL crew: + Steve McCanne + Craig Leres + Van Jacobson + +Past maintainers: + Jun-ichiro itojun Hagino diff --git a/INSTALL.txt b/INSTALL.txt new file mode 100644 index 0000000..a03e2c0 --- /dev/null +++ b/INSTALL.txt @@ -0,0 +1,255 @@ +@(#) $Header: /tcpdump/master/tcpdump/INSTALL.txt,v 1.2 2008-02-06 10:47:53 guy Exp $ (LBL) + +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 GNU C compiler, available via anonymous ftp: + + ftp://ftp.gnu.org/pub/gnu/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 +CREDITS - people that have helped tcpdump along +FILES - list of files exported as part of the distribution +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 +acconfig.h - autoconf input +aclocal.m4 - autoconf macros +addrtoname.c - address to hostname routines +addrtoname.h - address to hostname definitions +ah.h - IPSEC Authentication Header definitions +aodv.h - AODV definitions +appletalk.h - AppleTalk definitions +arcnet.h - ARCNET definitions +atime.awk - TCP ack awk script +atm.h - ATM traffic type definitions +atmuni31.h - ATM Q.2931 definitions +bgp.h - BGP declarations +bootp.h - BOOTP 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 +dccp.h - DCCP definitions +decnet.h - DECnet definitions +decode_prefix.h - Declarations of "decode_prefix{4,6}()" +enc.h - OpenBSD IPsec encapsulation BPF layer definitions +esp.h - IPSEC Encapsulating Security Payload definitions +ether.h - Ethernet definitions +ethertype.h - Ethernet type value definitions +extract.h - alignment definitions +fddi.h - Fiber Distributed Data Interface definitions +gmpls.c - GMPLS definitions +gmpls.h - GMPLS declarations +gmt2local.c - time conversion routines +gmt2local.h - time conversion prototypes +icmp6.h - ICMPv6 definitiions +ieee802_11.h - IEEE 802.11 definitions +ieee802_11_radio.h - radiotap header definitions +igrp.h - Interior Gateway Routing Protocol definitions +install-sh - BSD style install script +interface.h - globals, prototypes and definitions +ip.h - IP definitions +ip6.h - IPv6 definitions +ipfc.h - IP-over-Fibre Channel definitions +ipproto.c - IP protocol type value-to-name table +ipproto.h - IP protocol type value definitions +ipsec_doi.h - ISAKMP packet definitions - RFC2407 +ipx.h - IPX definitions +isakmp.h - ISAKMP packet definitions - RFC2408 +l2vpn.c - L2VPN encapsulation value-to-name table +l2vpn.h - L2VPN encapsulation definitions +l2tp.h - Layer Two Tunneling Protocol definitions +lane.h - ATM LANE 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 +netbios.h - NETBIOS 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 +ntp.h - Network Time Protocol definitions +oakley.h - ISAKMP packet definitions - RFC2409 +ospf.h - Open Shortest Path First definitions +ospf6.h - IPv6 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 +pmap_prot.h - definitions for ONC RPC portmapper protocol +ppp.h - Point to Point Protocol definitions +print-802_11.c - IEEE 802.11 printer routines +print-ap1394.c - Apple IP-over-IEEE 1394 printer routines +print-ah.c - IPSEC Authentication Header printer routines +print-aodv.c - AODV printer routines +print-arcnet.c - ARCNET printer routines +print-arp.c - Address Resolution Protocol printer routines +print-ascii.c - ASCII packet dump routines +print-atalk.c - AppleTalk printer routines +print-atm.c - ATM printer routines +print-beep.c - BEEP printer routines +print-bgp.c - Border Gateway Protocol printer routines +print-bootp.c - BOOTP and IPv4 DHCP printer routines +print-bt.c - Bluetooth printer routines +print-cdp.c - Cisco Discovery Protocol printer routines +print-chdlc.c - Cisco HDLC printer routines +print-cip.c - Classical-IP over ATM routines +print-cnfp.c - Cisco NetFlow printer routines +print-dccp.c - DCCP printer routines +print-decnet.c - DECnet printer routines +print-dhcp6.c - IPv6 DHCP printer routines +print-domain.c - Domain Name System printer routines +print-dvmrp.c - Distance Vector Multicast Routing Protocol printer routines +print-eap.c - EAP printer routines +print-enc.c - OpenBSD IPsec encapsulation BPF layer printer routines +print-egp.c - External Gateway Protocol printer routines +print-esp.c - IPSEC Encapsulating Security Payload printer routines +print-ether.c - Ethernet printer routines +print-fddi.c - Fiber Distributed Data Interface printer routines +print-fr.c - Frame Relay printer routines +print-frag6.c - IPv6 fragmentation header printer routines +print-gre.c - Generic Routing Encapsulation printer routines +print-hsrp.c - Cisco Hot Standby Router Protocol printer routines +print-icmp.c - Internet Control Message Protocol printer routines +print-icmp6.c - IPv6 Internet Control Message Protocol printer routines +print-igmp.c - Internet Group Management Protocol printer routines +print-igrp.c - Interior Gateway Routing Protocol printer routines +print-ip.c - IP printer routines +print-ip6.c - IPv6 printer routines +print-ip6opts.c - IPv6 header option printer routines +print-ipcomp.c - IP Payload Compression Protocol printer routines +print-ipx.c - IPX printer routines +print-isakmp.c - Internet Security Association and Key Management Protocol +print-isoclns.c - ISO CLNS, ESIS, and ISIS printer routines +print-krb.c - Kerberos printer routines +print-l2tp.c - Layer Two Tunneling Protocol printer routines +print-lane.c - ATM LANE printer routines +print-llc.c - IEEE 802.2 LLC printer routines +print-lspping.c - LSPPING printer routines +print-lwres.c - Lightweight Resolver protocol printer routines +print-mobile.c - IPv4 mobility printer routines +print-mobility.c - IPv6 mobility printer routines +print-mpls.c - Multi-Protocol Label Switching printer routines +print-msdp.c - Multicast Source Discovery Protocol printer routines +print-netbios.c - NetBIOS frame protocol printer routines +print-nfs.c - Network File System printer routines +print-ntp.c - Network Time Protocol printer routines +print-null.c - BSD loopback device printer routines +print-ospf.c - Open Shortest Path First printer routines +print-ospf6.c - IPv6 Open Shortest Path First printer routines +print-pflog.c - OpenBSD packet filter log file printer routines +print-pgm.c - Pragmatic General Multicast printer routines +print-pim.c - Protocol Independent Multicast printer routines +print-ppp.c - Point to Point Protocol printer routines +print-pppoe.c - PPP-over-Ethernet printer routines +print-pptp.c - Point-to-Point Tunnelling Protocol printer routines +print-radius.c - Radius protocol printer routines +print-raw.c - Raw IP printer routines +print-rip.c - Routing Information Protocol printer routines +print-ripng.c - IPv6 Routing Information Protocol printer routines +print-rrcp.c - Realtek Remote Control Protocol routines +print-rsvp.c - Resource reSerVation Protocol (RSVP) printer routines +print-rt6.c - IPv6 routing header printer routines +print-rx.c - AFS RX printer routines +print-sctp.c - Stream Control Transmission Protocol printer routines +print-sip.c - SIP printer routines +print-sl.c - Compressed Serial Line Internet Protocol printer routines +print-sll.c - Linux "cooked" capture printer routines +print-slow.c - IEEE "slow protocol" (802.3ad) printer routines +print-smb.c - SMB/CIFS printer routines +print-snmp.c - Simple Network Management Protocol printer routines +print-stp.c - IEEE 802.1d spanning tree protocol printer routines +print-sunatm.c - SunATM DLPI capture printer routines +print-sunrpc.c - Sun Remote Procedure Call printer routines +print-symantec.c - Symantec Enterprise Firewall printer routines +print-tcp.c - TCP printer routines +print-telnet.c - Telnet option printer routines +print-tftp.c - Trivial File Transfer Protocol printer routines +print-timed.c - BSD time daemon protocol printer routines +print-token.c - Token Ring printer routines +print-udp.c - UDP printer routines +print-usb.c - USB printer routines +print-vjc.c - PPP Van Jacobson compression (RFC1144) printer routines +print-vrrp.c - Virtual Router Redundancy Protocol +print-wb.c - White Board printer routines +print-zephyr.c - Zephyr printer routines +route6d.h - packet definition for IPv6 Routing Information Protocol +rpc_auth.h - definitions for ONC RPC authentication +rpc_msg.h - definitions for ONC RPC messages +rx.h - AFS RX definitions +sctpConstants.h - Stream Control Transmission Protocol constant definitions +sctpHeader.h - Stream Control Transmission Protocol packet definitions +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 +slip.h - SLIP definitions +sll.h - Linux "cooked" capture definitions +smb.h - SMB/CIFS definitions +smbutil.c - SMB/CIFS utility routines +stime.awk - TCP send awk script +strcasecmp.c - missing routine +tcp.h - TCP definitions +tcpdump.1 - manual entry +tcpdump.c - main program +telnet.h - Telnet definitions +tftp.h - TFTP definitions +timed.h - BSD time daemon protocol definitions +token.h - Token Ring definitions +udp.h - UDP definitions +util.c - utility routines +vfprintf.c - emulation routine +win32 - headers and routines for building on Win32 systems diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..dea5f7d --- /dev/null +++ b/LICENSE @@ -0,0 +1,19 @@ +License: BSD + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + 3. The names of the authors may not be used to endorse or promote + products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. diff --git a/Makefile-devel-adds b/Makefile-devel-adds new file mode 100644 index 0000000..512a119 --- /dev/null +++ b/Makefile-devel-adds @@ -0,0 +1,22 @@ +# +# Auto-regenerate configure script or Makefile when things change. +# From autoconf.info . Works best with GNU Make. +# +${srcdir}/configure: configure.in + cd ${srcdir} && autoconf + +# autoheader might not change config.h.in, so touch a stamp file. +${srcdir}/config.h.in: ${srcdir}/stamp-h.in +${srcdir}/stamp-h.in: configure.in acconfig.h + cd ${srcdir} && autoheader + echo timestamp > ${srcdir}/stamp-h.in + +config.h: stamp-h +stamp-h: ${srcdir}/config.h.in config.status + ./config.status + +Makefile: Makefile.in config.status + ./config.status + +config.status: ${srcdir}/configure + ./config.status --recheck diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..3b589dc --- /dev/null +++ b/Makefile.in @@ -0,0 +1,451 @@ +# Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 +# The Regents of the University of California. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that: (1) source code distributions +# retain the above copyright notice and this paragraph in its entirety, (2) +# distributions including binary code include the above copyright notice and +# this paragraph in its entirety in the documentation or other materials +# provided with the distribution, and (3) all advertising materials mentioning +# features or use of this software display the following acknowledgement: +# ``This product includes software developed by the University of California, +# Lawrence Berkeley Laboratory and its contributors.'' Neither the name of +# the University nor the names of its contributors may be used to endorse +# or promote products derived from this software without specific prior +# written permission. +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +# +# @(#) $Header: /tcpdump/master/tcpdump/Makefile.in,v 1.325 2008-11-21 23:17:26 guy Exp $ (LBL) + +# +# Various configurable paths (remember to edit Makefile.in, not Makefile) +# + +# Top level hierarchy +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +# Pathname of directory to install the binary +sbindir = @sbindir@ +# Pathname of directory to install the man page +mandir = @mandir@ + +# VPATH +srcdir = @srcdir@ +VPATH = @srcdir@ + +# +# You shouldn't need to edit anything below here. +# + +CC = @CC@ +PROG = tcpdump +CCOPT = @V_CCOPT@ +INCLS = -I. @V_INCLS@ +DEFS = @DEFS@ @CPPFLAGS@ @V_DEFS@ + +# Standard CFLAGS +CFLAGS = @CFLAGS@ +FULL_CFLAGS = $(CCOPT) $(DEFS) $(INCLS) $(CFLAGS) + +# Standard LDFLAGS +LDFLAGS = @LDFLAGS@ + +# Standard LIBS +LIBS = @LIBS@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ +RANLIB = @RANLIB@ + +# Explicitly define compilation rule since SunOS 4's make doesn't like gcc. +# Also, gcc does not remove the .o before forking 'as', which can be a +# problem if you don't own the file but can write to the directory. +.c.o: + @rm -f $@ + $(CC) $(FULL_CFLAGS) -c $(srcdir)/$*.c + +CSRC = addrtoname.c af.c checksum.c cpack.c gmpls.c oui.c gmt2local.c ipproto.c \ + nlpid.c l2vpn.c machdep.c parsenfsfh.c in_cksum.c \ + print-802_11.c print-802_15_4.c print-ap1394.c print-ah.c \ + print-arcnet.c print-aodv.c print-arp.c print-ascii.c print-atalk.c \ + print-atm.c print-beep.c print-bfd.c print-bgp.c \ + print-bootp.c print-bt.c print-carp.c print-cdp.c print-cfm.c \ + print-chdlc.c print-cip.c print-cnfp.c print-dccp.c print-decnet.c \ + print-domain.c print-dtp.c print-dvmrp.c print-enc.c print-egp.c \ + print-eap.c print-eigrp.c\ + print-esp.c print-ether.c print-fddi.c print-forces.c print-fr.c \ + print-gre.c print-hsrp.c print-icmp.c print-igmp.c \ + print-igrp.c print-ip.c print-ipcomp.c print-ipfc.c print-ipnet.c \ + print-ipx.c print-isoclns.c print-juniper.c print-krb.c \ + print-l2tp.c print-lane.c print-ldp.c print-lldp.c print-llc.c \ + print-lmp.c print-lspping.c print-lwapp.c \ + print-lwres.c print-mobile.c print-mpcp.c print-mpls.c print-msdp.c \ + print-nfs.c print-ntp.c print-null.c print-olsr.c print-ospf.c \ + print-pgm.c print-pim.c \ + print-ppi.c print-ppp.c print-pppoe.c print-pptp.c \ + print-radius.c print-raw.c print-rip.c print-rpki-rtr.c print-rrcp.c print-rsvp.c \ + print-rx.c print-sctp.c print-sflow.c print-sip.c print-sl.c print-sll.c \ + print-slow.c print-snmp.c print-stp.c print-sunatm.c print-sunrpc.c \ + print-symantec.c print-syslog.c print-tcp.c print-telnet.c print-tftp.c \ + print-timed.c print-tipc.c print-token.c print-udld.c print-udp.c \ + print-usb.c print-vjc.c print-vqp.c print-vrrp.c print-vtp.c \ + print-wb.c print-zephyr.c signature.c setsignal.c tcpdump.c util.c + +LIBNETDISSECT_SRC=print-isakmp.c +LIBNETDISSECT_OBJ=$(LIBNETDISSECT_SRC:.c=.o) +LIBNETDISSECT=libnetdissect.a + +LOCALSRC = @LOCALSRC@ +GENSRC = version.c +LIBOBJS = @LIBOBJS@ + +SRC = $(CSRC) $(GENSRC) $(LOCALSRC) $(LIBNETDISSECT_SRC) + +# We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot +# hack the extra indirection +OBJ = $(CSRC:.c=.o) $(GENSRC:.c=.o) $(LOCALSRC:.c=.o) $(LIBOBJS) $(LIBNETDISSECT_OBJ) +HDR = \ + acconfig.h \ + addrtoname.h \ + af.h \ + ah.h \ + aodv.h \ + appletalk.h \ + arcnet.h \ + atm.h \ + atmuni31.h \ + bootp.h \ + bgp.h \ + chdlc.h \ + cpack.h \ + dccp.h \ + decnet.h \ + decode_prefix.h \ + enc.h \ + esp.h \ + ether.h \ + ethertype.h \ + extract.h \ + fddi.h \ + forces.h \ + gmpls.h \ + gmt2local.h \ + icmp6.h \ + ieee802_11.h \ + ieee802_11_radio.h \ + igrp.h \ + interface.h \ + interface.h \ + ip.h \ + ip6.h \ + ipfc.h \ + ipnet.h \ + ipproto.h \ + ipsec_doi.h \ + ipx.h \ + isakmp.h \ + l2tp.h \ + l2vpn.h \ + lane.h \ + llc.h \ + machdep.h \ + mib.h \ + mpls.h \ + nameser.h \ + netbios.h \ + netdissect.h \ + nfs.h \ + nfsfh.h \ + nlpid.h \ + ntp.h \ + oakley.h \ + ospf.h \ + ospf6.h \ + oui.h \ + pcap-missing.h \ + pmap_prot.h \ + ppi.h \ + ppp.h \ + route6d.h \ + rpc_auth.h \ + rpc_msg.h \ + rx.h \ + sctpConstants.h \ + sctpHeader.h \ + setsignal.h \ + signature.h \ + slcompress.h \ + slip.h \ + sll.h \ + smb.h \ + tcp.h \ + tcpdump-stdinc.h \ + telnet.h \ + tftp.h \ + timed.h \ + token.h \ + udp.h + +TAGHDR = \ + /usr/include/arpa/tftp.h \ + /usr/include/net/if_arp.h \ + /usr/include/net/slip.h \ + /usr/include/netinet/if_ether.h \ + /usr/include/netinet/in.h \ + /usr/include/netinet/ip_icmp.h \ + /usr/include/netinet/tcp.h \ + /usr/include/netinet/udp.h \ + /usr/include/protocols/routed.h + +TAGFILES = $(SRC) $(HDR) $(TAGHDR) + +CLEANFILES = $(PROG) $(OBJ) $(GENSRC) + +EXTRA_DIST = \ + CHANGES \ + CREDITS \ + INSTALL.txt \ + LICENSE \ + Makefile.in \ + Makefile-devel-adds \ + README \ + Readme.Win32 \ + VERSION \ + aclocal.m4 \ + atime.awk \ + bpf_dump.c \ + config.guess \ + config.h.in \ + config.sub \ + configure \ + configure.in \ + install-sh \ + lbl/os-osf4.h \ + lbl/os-solaris2.h \ + lbl/os-sunos4.h \ + lbl/os-ultrix4.h \ + makemib \ + missing/addrinfo.h \ + missing/dlnames.c \ + missing/datalinks.c \ + missing/getnameinfo.c \ + missing/inet_aton.c \ + missing/inet_ntop.c \ + missing/inet_pton.c \ + missing/snprintf.c \ + missing/sockstorage.h \ + missing/strdup.c \ + missing/strlcat.c \ + missing/strlcpy.c \ + missing/strsep.c \ + mkdep \ + packetdat.awk \ + pcap_dump_ftell.c \ + print-babel.c \ + print-dhcp6.c \ + print-frag6.c \ + print-icmp6.c \ + print-ip6.c \ + print-ip6opts.c \ + print-mobility.c \ + print-netbios.c \ + print-ospf6.c \ + print-pflog.c \ + print-ripng.c \ + print-rt6.c \ + print-smb.c \ + send-ack.awk \ + smbutil.c \ + stime.awk \ + strcasecmp.c \ + tcpdump.1.in \ + tests/02-sunrise-sunset-esp.pcap \ + tests/08-sunrise-sunset-aes.pcap \ + tests/08-sunrise-sunset-esp2.pcap \ + tests/QinQpacket.out \ + tests/QinQpacket.pcap \ + tests/QinQpacketv.out \ + tests/TESTLIST \ + tests/TESTonce \ + tests/TESTrun.sh \ + tests/babel.pcap \ + tests/babel1.out \ + tests/babel1v.out \ + tests/bgp-infinite-loop.pcap \ + tests/bgp_vpn_attrset.out \ + tests/bgp_vpn_attrset.pcap \ + tests/chdlc-slarp-short.pcap \ + tests/chdlc-slarp.pcap \ + tests/dio.out \ + tests/dio.pcap \ + tests/e1000g.out \ + tests/e1000g.pcap \ + tests/eapon1.gdbinit \ + tests/eapon1.out \ + tests/eapon1.pcap \ + tests/empty.uu \ + tests/esp-secrets.txt \ + tests/esp0.out \ + tests/esp1.gdbinit \ + tests/esp1.out \ + tests/esp2.gdbinit \ + tests/esp2.out \ + tests/esp3.gdbinit \ + tests/esp4.gdbinit \ + tests/esp5.gdbinit \ + tests/esp5.out \ + tests/espudp1.out \ + tests/espudp1.pcap \ + tests/forces1.out \ + tests/forces1.pcap \ + tests/forces1vvv.out \ + tests/forces1vvvv.out \ + tests/forces2v.out \ + tests/forces2vv.out \ + tests/forces3vvv.out \ + tests/icmpv6.out \ + tests/icmpv6.pcap \ + tests/ikev2four.out \ + tests/ikev2four.pcap \ + tests/ikev2fourv.out \ + tests/ikev2fourv4.out \ + tests/ikev2pI2-secrets.txt \ + tests/ikev2pI2.out \ + tests/ikev2pI2.pcap \ + tests/isakmp-delete-segfault.pcap \ + tests/isakmp-identification-segfault.pcap \ + tests/isakmp-pointer-loop.pcap \ + tests/isakmp1.out \ + tests/isakmp2.out \ + tests/isakmp3.out \ + tests/isakmp4.out \ + tests/isakmp4500.pcap \ + tests/isis-infinite-loop.pcap \ + tests/ldp-infinite-loop.pcap \ + tests/lmp.out \ + tests/lmp.pcap \ + tests/lmp.sh \ + tests/lspping-fec-ldp.pcap \ + tests/lspping-fec-rsvp.pcap \ + tests/mpls-ldp-hello.out \ + tests/mpls-ldp-hello.pcap \ + tests/mpls-traceroute.pcap \ + tests/ospf-gmpls.out \ + tests/ospf-gmpls.pcap \ + tests/pppoe.out \ + tests/pppoe.pcap \ + tests/print-A.out \ + tests/print-AA.out \ + tests/print-capX.out \ + tests/print-capXX.out \ + tests/print-flags.pcap \ + tests/print-flags.sh \ + tests/print-x.out \ + tests/print-xx.out \ + tests/rsvp-infinite-loop.pcap \ + tests/sflow_multiple_counter_30_pdus.out \ + tests/sflow_multiple_counter_30_pdus.pcap \ + vfprintf.c \ + win32/Include/errno.h \ + win32/Include/getopt.h \ + win32/Include/w32_fzs.h \ + win32/Src/getopt.c \ + win32/prj/GNUmakefile \ + win32/prj/WinDump.dsp \ + win32/prj/WinDump.dsw + +all: $(PROG) + +$(PROG): $(OBJ) @V_PCAPDEP@ + @rm -f $@ + $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) + +$(LIBNETDISSECT): $(LIBNETDISSECT_OBJ) + @rm -f $@ + $(AR) cr $@ $(LIBNETDISSECT_OBJ) + $(RANLIB) $@ + +datalinks.o: $(srcdir)/missing/datalinks.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/datalinks.c +dlnames.o: $(srcdir)/missing/dlnames.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/dlnames.c +getnameinfo.o: $(srcdir)/missing/getnameinfo.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getnameinfo.c +getaddrinfo.o: $(srcdir)/missing/getaddrinfo.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getaddrinfo.c +inet_pton.o: $(srcdir)/missing/inet_pton.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_pton.c +inet_ntop.o: $(srcdir)/missing/inet_ntop.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_ntop.c +inet_aton.o: $(srcdir)/missing/inet_aton.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_aton.c +snprintf.o: $(srcdir)/missing/snprintf.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c +strlcat.o: $(srcdir)/missing/strlcat.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcat.c +strlcpy.o: $(srcdir)/missing/strlcpy.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcpy.c +strsep.o: $(srcdir)/missing/strsep.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strsep.c + +version.o: version.c + $(CC) $(FULL_CFLAGS) -c version.c + +version.c: $(srcdir)/VERSION + @rm -f $@ + if grep GIT ${srcdir}/VERSION >/dev/null; then \ + read ver <${srcdir}/VERSION; \ + echo $$ver | tr -d '\012'; \ + date +_%Y_%m_%d; \ + else \ + cat ${srcdir}/VERSION; \ + fi | sed -e 's/.*/const char version[] = "&";/' > $@ + +install: all + [ -d $(DESTDIR)$(sbindir) ] || \ + (mkdir -p $(DESTDIR)$(sbindir); chmod 755 $(DESTDIR)$(sbindir)) + $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG) + $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG).`cat ${srcdir}/VERSION` + [ -d $(DESTDIR)$(mandir)/man1 ] || \ + (mkdir -p $(DESTDIR)$(mandir)/man1; chmod 755 $(DESTDIR)$(mandir)/man1) + $(INSTALL_DATA) $(PROG).1 $(DESTDIR)$(mandir)/man1/$(PROG).1 + +uninstall: + rm -f $(DESTDIR)$(sbindir)/$(PROG) + rm -f $(DESTDIR)$(mandir)/man1/$(PROG).1 + +lint: $(GENSRC) + lint -hbxn $(SRC) | \ + grep -v 'struct/union .* never defined' | \ + grep -v 'possible pointer alignment problem' + +clean: + rm -f $(CLEANFILES) $(PROG)-`cat VERSION`.tar.gz + +distclean: + rm -f $(CLEANFILES) Makefile config.cache config.log config.status \ + config.h gnuc.h os-proto.h stamp-h stamp-h.in $(PROG).1 + rm -rf autom4te.cache + +check: tcpdump + (cd tests && ./TESTrun.sh) + +tags: $(TAGFILES) + ctags -wtd $(TAGFILES) + +TAGS: $(TAGFILES) + etags $(TAGFILES) + +releasetar: + @cwd=`pwd` ; dir=`basename $$cwd` ; name=$(PROG)-`cat VERSION` ; \ + mkdir $$name; \ + tar cf - $(CSRC) $(HDR) $(LIBNETDISSECT_SRC) $(EXTRA_DIST) | (cd $$name; tar xf -); \ + tar -c -z -f $$name.tar.gz $$name; \ + rm -rf $$name + +depend: $(GENSRC) + ${srcdir}/mkdep -c $(CC) $(DEFS) $(INCLS) $(SRC) diff --git a/README b/README new file mode 100644 index 0000000..ed657c1 --- /dev/null +++ b/README @@ -0,0 +1,233 @@ +@(#) $Header: /tcpdump/master/tcpdump/README,v 1.68 2008-12-15 00:05:27 guy Exp $ (LBL) + +TCPDUMP 4.x.y +Now maintained by "The Tcpdump Group" +See www.tcpdump.org + +Please send inquiries/comments/reports to: + tcpdump-workers@lists.tcpdump.org + +Anonymous Git is available via: + git clone git://bpf.tcpdump.org/tcpdump + +Version 4.x.y of TCPDUMP can be retrieved with the CVS tag "tcpdump_4_xrely": + cvs -d :pserver:cvs.tcpdump.org:/tcpdump/master checkout -r tcpdump_4_xrely tcpdump + +Please submit patches against the master copy to the tcpdump project on +sourceforge.net. + +formerly from Lawrence Berkeley National Laboratory + Network Research Group + ftp://ftp.ee.lbl.gov/tcpdump.tar.Z (3.4) + +This directory contains source code for tcpdump, a tool for network +monitoring and data acquisition. This software was originally +developed by the Network Research Group at the Lawrence Berkeley +National Laboratory. The original distribution is available via +anonymous ftp to ftp.ee.lbl.gov, in tcpdump.tar.Z. More recent +development is performed at tcpdump.org, http://www.tcpdump.org/ + +Tcpdump uses libpcap, a system-independent interface for user-level +packet capture. Before building tcpdump, you must first retrieve and +build libpcap, also originally from LBL and now being maintained by +tcpdump.org; see http://www.tcpdump.org/ . + +Once libpcap is built (either install it or make sure it's in +../libpcap), you can build tcpdump using the procedure in the INSTALL +file. + +The program is loosely based on SMI's "etherfind" although none of the +etherfind code remains. It was originally written by Van Jacobson as +part of an ongoing research project to investigate and improve tcp and +internet gateway performance. The parts of the program originally +taken from Sun's etherfind were later re-written by Steven McCanne of +LBL. To insure that there would be no vestige of proprietary code in +tcpdump, Steve wrote these pieces from the specification given by the +manual entry, with no access to the source of tcpdump or etherfind. + +Over the past few years, tcpdump has been steadily improved by the +excellent contributions from the Internet community (just browse +through the CHANGES file). We are grateful for all the input. + +Richard Stevens gives an excellent treatment of the Internet protocols +in his book ``TCP/IP Illustrated, Volume 1''. If you want to learn more +about tcpdump and how to interpret its output, pick up this book. + +Some tools for viewing and analyzing tcpdump trace files are available +from the Internet Traffic Archive: + + http://www.acm.org/sigcomm/ITA/ + +Another tool that tcpdump users might find useful is tcpslice: + + ftp://ftp.ee.lbl.gov/tcpslice.tar.Z + +It is a program that can be used to extract portions of tcpdump binary +trace files. See the above distribution for further details and +documentation. + +Problems, bugs, questions, desirable enhancements, etc. should be sent +to the address "tcpdump-workers@lists.tcpdump.org". Bugs, support +requests, and feature requests may also be submitted on the SourceForge +site for tcpdump at + + http://sourceforge.net/projects/tcpdump/ + +Source code contributions, etc. should be sent to the email address +submitted as patches on the SourceForge site for tcpdump. + +Current versions can be found at www.tcpdump.org, or the SourceForge +site for tcpdump. + + - The TCPdump team + +original text by: Steve McCanne, Craig Leres, Van Jacobson + +------------------------------------- +This directory also contains some short awk programs intended as +examples of ways to reduce tcpdump data when you're tracking +particular network problems: + +send-ack.awk + Simplifies the tcpdump trace for an ftp (or other unidirectional + tcp transfer). Since we assume that one host only sends and + the other only acks, all address information is left off and + we just note if the packet is a "send" or an "ack". + + There is one output line per line of the original trace. + Field 1 is the packet time in decimal seconds, relative + to the start of the conversation. Field 2 is delta-time + from last packet. Field 3 is packet type/direction. + "Send" means data going from sender to receiver, "ack" + means an ack going from the receiver to the sender. A + preceding "*" indicates that the data is a retransmission. + A preceding "-" indicates a hole in the sequence space + (i.e., missing packet(s)), a "#" means an odd-size (not max + seg size) packet. Field 4 has the packet flags + (same format as raw trace). Field 5 is the sequence + number (start seq. num for sender, next expected seq number + for acks). The number in parens following an ack is + the delta-time from the first send of the packet to the + ack. A number in parens following a send is the + delta-time from the first send of the packet to the + current send (on duplicate packets only). Duplicate + sends or acks have a number in square brackets showing + the number of duplicates so far. + + Here is a short sample from near the start of an ftp: + 3.00 0.20 send . 512 + 3.20 0.20 ack . 1024 (0.20) + 3.20 0.00 send P 1024 + 3.40 0.20 ack . 1536 (0.20) + 3.80 0.40 * send . 0 (3.80) [2] + 3.82 0.02 * ack . 1536 (0.62) [2] + Three seconds into the conversation, bytes 512 through 1023 + were sent. 200ms later they were acked. Shortly thereafter + bytes 1024-1535 were sent and again acked after 200ms. + Then, for no apparent reason, 0-511 is retransmitted, 3.8 + seconds after its initial send (the round trip time for this + ftp was 1sec, +-500ms). Since the receiver is expecting + 1536, 1536 is re-acked when 0 arrives. + +packetdat.awk + Computes chunk summary data for an ftp (or similar + unidirectional tcp transfer). [A "chunk" refers to + a chunk of the sequence space -- essentially the packet + sequence number divided by the max segment size.] + + A summary line is printed showing the number of chunks, + the number of packets it took to send that many chunks + (if there are no lost or duplicated packets, the number + of packets should equal the number of chunks) and the + number of acks. + + Following the summary line is one line of information + per chunk. The line contains eight fields: + 1 - the chunk number + 2 - the start sequence number for this chunk + 3 - time of first send + 4 - time of last send + 5 - time of first ack + 6 - time of last ack + 7 - number of times chunk was sent + 8 - number of times chunk was acked + (all times are in decimal seconds, relative to the start + of the conversation.) + + As an example, here is the first part of the output for + an ftp trace: + + # 134 chunks. 536 packets sent. 508 acks. + 1 1 0.00 5.80 0.20 0.20 4 1 + 2 513 0.28 6.20 0.40 0.40 4 1 + 3 1025 1.16 6.32 1.20 1.20 4 1 + 4 1561 1.86 15.00 2.00 2.00 6 1 + 5 2049 2.16 15.44 2.20 2.20 5 1 + 6 2585 2.64 16.44 2.80 2.80 5 1 + 7 3073 3.00 16.66 3.20 3.20 4 1 + 8 3609 3.20 17.24 3.40 5.82 4 11 + 9 4097 6.02 6.58 6.20 6.80 2 5 + + This says that 134 chunks were transferred (about 70K + since the average packet size was 512 bytes). It took + 536 packets to transfer the data (i.e., on the average + each chunk was transmitted four times). Looking at, + say, chunk 4, we see it represents the 512 bytes of + sequence space from 1561 to 2048. It was first sent + 1.86 seconds into the conversation. It was last + sent 15 seconds into the conversation and was sent + a total of 6 times (i.e., it was retransmitted every + 2 seconds on the average). It was acked once, 140ms + after it first arrived. + +stime.awk +atime.awk + Output one line per send or ack, respectively, in the form +

See the Network Abuse +Clearinghouse for how to do this.