From 498672d44881880f8839eb7839500652b77e08b9 Mon Sep 17 00:00:00 2001 From: sam Date: Mon, 4 Sep 2006 20:04:42 +0000 Subject: Import of tcpdump v3.9.4 --- contrib/tcpdump/CHANGES | 66 ++- contrib/tcpdump/CREDITS | 5 + contrib/tcpdump/FILES | 3 + contrib/tcpdump/INSTALL | 5 +- contrib/tcpdump/Makefile.in | 8 +- contrib/tcpdump/VERSION | 2 +- contrib/tcpdump/addrtoname.c | 90 +--- contrib/tcpdump/configure | 12 +- contrib/tcpdump/configure.in | 14 +- contrib/tcpdump/dccp.h | 137 ++++++ contrib/tcpdump/ethertype.h | 5 +- contrib/tcpdump/icmp6.h | 6 +- contrib/tcpdump/interface.h | 20 +- contrib/tcpdump/ipproto.c | 3 +- contrib/tcpdump/ipproto.h | 5 +- contrib/tcpdump/llc.h | 6 +- contrib/tcpdump/netdissect.h | 19 +- contrib/tcpdump/ospf.h | 4 +- contrib/tcpdump/print-802_11.c | 71 +-- contrib/tcpdump/print-ap1394.c | 4 +- contrib/tcpdump/print-ascii.c | 94 ++-- contrib/tcpdump/print-atm.c | 4 +- contrib/tcpdump/print-chdlc.c | 11 +- contrib/tcpdump/print-cip.c | 4 +- contrib/tcpdump/print-dccp.c | 526 +++++++++++++++++++++ contrib/tcpdump/print-ether.c | 15 +- contrib/tcpdump/print-fddi.c | 6 +- contrib/tcpdump/print-fr.c | 276 +++++++++-- contrib/tcpdump/print-icmp6.c | 26 +- contrib/tcpdump/print-ip.c | 8 +- contrib/tcpdump/print-ip6.c | 7 +- contrib/tcpdump/print-ipfc.c | 4 +- contrib/tcpdump/print-isoclns.c | 139 +++--- contrib/tcpdump/print-juniper.c | 201 +++++++- contrib/tcpdump/print-lane.c | 6 +- contrib/tcpdump/print-ldp.c | 6 +- contrib/tcpdump/print-llc.c | 109 ++--- contrib/tcpdump/print-null.c | 4 +- contrib/tcpdump/print-ospf.c | 24 +- contrib/tcpdump/print-pflog.c | 4 +- contrib/tcpdump/print-pim.c | 20 +- contrib/tcpdump/print-radius.c | 161 ++++--- contrib/tcpdump/print-rsvp.c | 178 +++++-- contrib/tcpdump/print-sctp.c | 4 +- contrib/tcpdump/print-sll.c | 6 +- contrib/tcpdump/print-slow.c | 264 +++++++++++ contrib/tcpdump/print-symantec.c | 6 +- contrib/tcpdump/print-tcp.c | 2 +- contrib/tcpdump/print-token.c | 6 +- contrib/tcpdump/tcpdump-stdinc.h | 4 +- contrib/tcpdump/tcpdump.1 | 70 ++- contrib/tcpdump/tcpdump.c | 57 ++- contrib/tcpdump/tests/.cvsignore | 11 + contrib/tcpdump/tests/02-sunrise-sunset-esp.puu | 34 ++ contrib/tcpdump/tests/08-sunrise-sunset-aes.puu | 36 ++ contrib/tcpdump/tests/08-sunrise-sunset-esp2.puu | 43 ++ contrib/tcpdump/tests/alltests.sh | 12 + contrib/tcpdump/tests/bgp_vpn_attrset.out | 18 + contrib/tcpdump/tests/bgp_vpn_attrset.sh | 11 + contrib/tcpdump/tests/eapon1.gdbinit | 1 + contrib/tcpdump/tests/eapon1.out | 114 +++++ contrib/tcpdump/tests/eapon1.puu | 368 ++++++++++++++ contrib/tcpdump/tests/eapon1.sh | 13 + contrib/tcpdump/tests/eapon2.puu | 66 +++ contrib/tcpdump/tests/esp-secrets.txt | 5 + contrib/tcpdump/tests/esp0.out | 8 + contrib/tcpdump/tests/esp0.sh | 12 + contrib/tcpdump/tests/esp1.gdbinit | 1 + contrib/tcpdump/tests/esp1.out | 8 + contrib/tcpdump/tests/esp1.sh | 13 + contrib/tcpdump/tests/esp2.gdbinit | 1 + contrib/tcpdump/tests/esp2.out | 8 + contrib/tcpdump/tests/esp2.sh | 13 + contrib/tcpdump/tests/esp3.gdbinit | 1 + contrib/tcpdump/tests/esp3.sh | 12 + contrib/tcpdump/tests/esp4.gdbinit | 2 + contrib/tcpdump/tests/esp4.sh | 13 + contrib/tcpdump/tests/esp5.gdbinit | 3 + contrib/tcpdump/tests/esp5.out | 8 + contrib/tcpdump/tests/esp5.sh | 13 + contrib/tcpdump/tests/espudp1.out | 8 + contrib/tcpdump/tests/espudp1.puu | 35 ++ contrib/tcpdump/tests/espudp1.sh | 13 + contrib/tcpdump/tests/isakmp-delete-segfault.puu | 20 + .../tests/isakmp-identification-segfault.puu | 11 + contrib/tcpdump/tests/isakmp-pointer-loop.puu | 6 + contrib/tcpdump/tests/isakmp1.out | 1 + contrib/tcpdump/tests/isakmp1.sh | 12 + contrib/tcpdump/tests/isakmp2.out | 1 + contrib/tcpdump/tests/isakmp2.sh | 12 + contrib/tcpdump/tests/isakmp3.out | 2 + contrib/tcpdump/tests/isakmp3.sh | 13 + contrib/tcpdump/tests/isakmp4.out | 35 ++ contrib/tcpdump/tests/isakmp4.sh | 13 + contrib/tcpdump/tests/isakmp4500.puu | 155 ++++++ contrib/tcpdump/tests/lmp.out | 191 ++++++++ contrib/tcpdump/tests/lmp.puu | 42 ++ contrib/tcpdump/tests/lmp.sh | 14 + contrib/tcpdump/tests/mpls-ldp-hello.out | 9 + contrib/tcpdump/tests/mpls-ldp-hello.puu | 6 + contrib/tcpdump/tests/mpls-ldp-hello.sh | 14 + contrib/tcpdump/tests/ospf-gmpls.out | 83 ++++ contrib/tcpdump/tests/ospf-gmpls.puu | 18 + contrib/tcpdump/tests/ospf-gmpls.sh | 14 + contrib/tcpdump/tests/print-A.out | 193 ++++++++ contrib/tcpdump/tests/print-AA.out | 193 ++++++++ contrib/tcpdump/tests/print-X.out | 409 ++++++++++++++++ contrib/tcpdump/tests/print-XX.out | 419 ++++++++++++++++ contrib/tcpdump/tests/print-capX.out | 409 ++++++++++++++++ contrib/tcpdump/tests/print-capXX.out | 419 ++++++++++++++++ contrib/tcpdump/tests/print-flags.puu | 151 ++++++ contrib/tcpdump/tests/print-flags.sh | 12 + contrib/tcpdump/tests/print-x.out | 409 ++++++++++++++++ contrib/tcpdump/tests/print-xx.out | 419 ++++++++++++++++ 114 files changed, 6747 insertions(+), 599 deletions(-) create mode 100644 contrib/tcpdump/dccp.h create mode 100644 contrib/tcpdump/print-dccp.c create mode 100644 contrib/tcpdump/print-slow.c create mode 100644 contrib/tcpdump/tests/.cvsignore create mode 100644 contrib/tcpdump/tests/02-sunrise-sunset-esp.puu create mode 100644 contrib/tcpdump/tests/08-sunrise-sunset-aes.puu create mode 100644 contrib/tcpdump/tests/08-sunrise-sunset-esp2.puu create mode 100644 contrib/tcpdump/tests/alltests.sh create mode 100644 contrib/tcpdump/tests/bgp_vpn_attrset.out create mode 100755 contrib/tcpdump/tests/bgp_vpn_attrset.sh create mode 100644 contrib/tcpdump/tests/eapon1.gdbinit create mode 100644 contrib/tcpdump/tests/eapon1.out create mode 100644 contrib/tcpdump/tests/eapon1.puu create mode 100755 contrib/tcpdump/tests/eapon1.sh create mode 100644 contrib/tcpdump/tests/eapon2.puu create mode 100644 contrib/tcpdump/tests/esp-secrets.txt create mode 100644 contrib/tcpdump/tests/esp0.out create mode 100644 contrib/tcpdump/tests/esp0.sh create mode 100644 contrib/tcpdump/tests/esp1.gdbinit create mode 100644 contrib/tcpdump/tests/esp1.out create mode 100644 contrib/tcpdump/tests/esp1.sh create mode 100644 contrib/tcpdump/tests/esp2.gdbinit create mode 100644 contrib/tcpdump/tests/esp2.out create mode 100644 contrib/tcpdump/tests/esp2.sh create mode 100644 contrib/tcpdump/tests/esp3.gdbinit create mode 100644 contrib/tcpdump/tests/esp3.sh create mode 100644 contrib/tcpdump/tests/esp4.gdbinit create mode 100644 contrib/tcpdump/tests/esp4.sh create mode 100644 contrib/tcpdump/tests/esp5.gdbinit create mode 100644 contrib/tcpdump/tests/esp5.out create mode 100644 contrib/tcpdump/tests/esp5.sh create mode 100644 contrib/tcpdump/tests/espudp1.out create mode 100644 contrib/tcpdump/tests/espudp1.puu create mode 100644 contrib/tcpdump/tests/espudp1.sh create mode 100644 contrib/tcpdump/tests/isakmp-delete-segfault.puu create mode 100644 contrib/tcpdump/tests/isakmp-identification-segfault.puu create mode 100644 contrib/tcpdump/tests/isakmp-pointer-loop.puu create mode 100644 contrib/tcpdump/tests/isakmp1.out create mode 100644 contrib/tcpdump/tests/isakmp1.sh create mode 100644 contrib/tcpdump/tests/isakmp2.out create mode 100644 contrib/tcpdump/tests/isakmp2.sh create mode 100644 contrib/tcpdump/tests/isakmp3.out create mode 100644 contrib/tcpdump/tests/isakmp3.sh create mode 100644 contrib/tcpdump/tests/isakmp4.out create mode 100644 contrib/tcpdump/tests/isakmp4.sh create mode 100644 contrib/tcpdump/tests/isakmp4500.puu create mode 100644 contrib/tcpdump/tests/lmp.out create mode 100644 contrib/tcpdump/tests/lmp.puu create mode 100755 contrib/tcpdump/tests/lmp.sh create mode 100644 contrib/tcpdump/tests/mpls-ldp-hello.out create mode 100644 contrib/tcpdump/tests/mpls-ldp-hello.puu create mode 100755 contrib/tcpdump/tests/mpls-ldp-hello.sh create mode 100644 contrib/tcpdump/tests/ospf-gmpls.out create mode 100644 contrib/tcpdump/tests/ospf-gmpls.puu create mode 100755 contrib/tcpdump/tests/ospf-gmpls.sh create mode 100644 contrib/tcpdump/tests/print-A.out create mode 100644 contrib/tcpdump/tests/print-AA.out create mode 100644 contrib/tcpdump/tests/print-X.out create mode 100644 contrib/tcpdump/tests/print-XX.out create mode 100644 contrib/tcpdump/tests/print-capX.out create mode 100644 contrib/tcpdump/tests/print-capXX.out create mode 100644 contrib/tcpdump/tests/print-flags.puu create mode 100755 contrib/tcpdump/tests/print-flags.sh create mode 100644 contrib/tcpdump/tests/print-x.out create mode 100644 contrib/tcpdump/tests/print-xx.out diff --git a/contrib/tcpdump/CHANGES b/contrib/tcpdump/CHANGES index 23e07ef..c236338 100644 --- a/contrib/tcpdump/CHANGES +++ b/contrib/tcpdump/CHANGES @@ -1,8 +1,27 @@ -$Header: /tcpdump/master/tcpdump/CHANGES,v 1.87.2.1 2005/07/05 21:08:01 mcr Exp $ - -Tue. July 5, 2005. ken@xelerance.com. Summary for 3.9.x tcpdump - - Option to chroot() when dropping privs +$Header: /tcpdump/master/tcpdump/CHANGES,v 1.87.2.11 2005/09/20 06:05:34 guy Exp $ + +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 @@ -13,8 +32,8 @@ Tue. July 5, 2005. ken@xelerance.com. Summary for 3.9.x tcpdump 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 + 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 @@ -27,6 +46,7 @@ Tue. July 5, 2005. ken@xelerance.com. Summary for 3.9.x tcpdump 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 @@ -65,25 +85,25 @@ 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 + 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. + 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. + 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 + support for decoding IS-IS inside Cisco HDLC Frames more verbosity for tftp decoder mDNS decoder new BFD decoder @@ -91,7 +111,7 @@ Wed. November 12, 2003. mcr@sandelman.ottawa.on.ca. Summary for 3.8 release 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. + 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. @@ -122,18 +142,18 @@ see http://www.tcpdump.org/cvs-log/2002-01-21.10:16:48.html for commit log. 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; + 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 + 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 + 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. @@ -141,7 +161,7 @@ see http://www.tcpdump.org/cvs-log/2002-01-21.10:16:48.html for commit log. 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" + 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) @@ -159,8 +179,8 @@ see http://www.tcpdump.org/cvs-log/2002-01-21.10:16:48.html for commit log. 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 + 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 @@ -191,7 +211,7 @@ Tuesday January 9, 2001. mcr@sandelman.ottawa.on.ca. Summary for 3.6 release Updated autoconf stock files. - IPv6 improvements: dhcp (draft-15), mobile-ip6, ppp, ospf6, + 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 @@ -204,7 +224,7 @@ Tuesday January 9, 2001. mcr@sandelman.ottawa.on.ca. Summary for 3.6 release 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. @@ -519,7 +539,7 @@ v3.1 Thu Jun 13 20:59:32 PDT 1996 - 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) diff --git a/contrib/tcpdump/CREDITS b/contrib/tcpdump/CREDITS index 9332def..4923d49 100644 --- a/contrib/tcpdump/CREDITS +++ b/contrib/tcpdump/CREDITS @@ -20,6 +20,7 @@ Additional people who have contributed patches: Andy Heffernan Arkadiusz Miskiewicz Armando L. Caro Jr. + Arnaldo Carvalho de Melo Atsushi Onoe Ben Smithurst Brent L. Bates @@ -36,6 +37,7 @@ Additional people who have contributed patches: Daniel Hagerty Darren Reed David Binderman + David Smith David Young Eddie Kohler Francis Dupont @@ -53,6 +55,7 @@ Additional people who have contributed patches: Harry Raaymakers Heinz-Ado Arnolds Hendrik Scholz + Ian McDonald Jakob Schlyter Jan Oravec Jason R. Thorpe @@ -85,6 +88,7 @@ Additional people who have contributed patches: Martin Husemann Michael Madore Michael Shalayeff + Michael Shields Michael T. Stolarchuk Michele "mydecay" Marchetto Monroe Williams @@ -127,6 +131,7 @@ Additional people who have contributed patches: Uns Lider Wilbert de Graaf Yen Yen Lim + Yoshifumi Nishida The original LBL crew: Steve McCanne diff --git a/contrib/tcpdump/FILES b/contrib/tcpdump/FILES index ebd02cb..d6c110b 100644 --- a/contrib/tcpdump/FILES +++ b/contrib/tcpdump/FILES @@ -29,6 +29,7 @@ configure configure.in cpack.c cpack.h +dccp.h decnet.h decode_prefix.h enc.h @@ -125,6 +126,7 @@ print-cdp.c print-chdlc.c print-cip.c print-cnfp.c +print-dccp.c print-decnet.c print-dhcp6.c print-domain.c @@ -188,6 +190,7 @@ print-sctp.c print-sip.c print-sl.c print-sll.c +print-slow.c print-smb.c print-snmp.c print-stp.c diff --git a/contrib/tcpdump/INSTALL b/contrib/tcpdump/INSTALL index 2aaa18e..c55f2d0 100644 --- a/contrib/tcpdump/INSTALL +++ b/contrib/tcpdump/INSTALL @@ -1,4 +1,4 @@ -@(#) $Header: /tcpdump/master/tcpdump/INSTALL,v 1.63.2.2 2005/06/03 22:10:15 guy Exp $ (LBL) +@(#) $Header: /tcpdump/master/tcpdump/INSTALL,v 1.63.2.4 2005/09/20 06:05:35 guy Exp $ (LBL) If you have not built libpcap, do so first. See the README file in this directory for the ftp location. @@ -71,6 +71,7 @@ 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 @@ -146,6 +147,7 @@ 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 @@ -204,6 +206,7 @@ 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 diff --git a/contrib/tcpdump/Makefile.in b/contrib/tcpdump/Makefile.in index 1778f85..c96d877 100644 --- a/contrib/tcpdump/Makefile.in +++ b/contrib/tcpdump/Makefile.in @@ -17,7 +17,7 @@ # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#) $Header: /tcpdump/master/tcpdump/Makefile.in,v 1.293.2.1 2005/05/20 21:15:45 hannes Exp $ (LBL) +# @(#) $Header: /tcpdump/master/tcpdump/Makefile.in,v 1.293.2.3 2005/09/20 06:05:36 guy Exp $ (LBL) # # Various configurable paths (remember to edit Makefile.in, not Makefile) @@ -70,7 +70,7 @@ CSRC = addrtoname.c cpack.c gmpls.c oui.c gmt2local.c ipproto.c \ print-802_11.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-cdp.c \ - print-chdlc.c print-cip.c print-cnfp.c print-decnet.c \ + print-chdlc.c print-cip.c print-cnfp.c print-dccp.c print-decnet.c \ print-domain.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-fr.c \ @@ -84,7 +84,7 @@ CSRC = addrtoname.c cpack.c gmpls.c oui.c gmt2local.c ipproto.c \ print-pflog.c print-pgm.c print-pim.c print-ppp.c print-pppoe.c \ print-pptp.c print-radius.c print-raw.c print-rip.c \ print-rsvp.c print-rx.c print-sctp.c print-sip.c print-sl.c print-sll.c \ - print-snmp.c print-stp.c print-sunatm.c print-sunrpc.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-token.c print-udp.c print-vjc.c print-vrrp.c \ print-wb.c print-zephyr.c setsignal.c tcpdump.c util.c @@ -98,7 +98,7 @@ SRC = $(CSRC) $(GENSRC) $(LOCALSRC) # 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) -HDR = addrtoname.h appletalk.h bootp.h cpack.h decnet.h \ +HDR = addrtoname.h appletalk.h bootp.h cpack.h dccp.h decnet.h \ ethertype.h extract.h fddi.h gmt2local.h igrp.h interface.h \ ipx.h llc.h machdep.h mib.h nfsfh.h nfsv2.h ntp.h ospf.h \ setsignal.h \ diff --git a/contrib/tcpdump/VERSION b/contrib/tcpdump/VERSION index 6bd1074..e0d61b5 100644 --- a/contrib/tcpdump/VERSION +++ b/contrib/tcpdump/VERSION @@ -1 +1 @@ -3.9.1 +3.9.4 diff --git a/contrib/tcpdump/addrtoname.c b/contrib/tcpdump/addrtoname.c index 648a823..ba4963b 100644 --- a/contrib/tcpdump/addrtoname.c +++ b/contrib/tcpdump/addrtoname.c @@ -23,7 +23,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/addrtoname.c,v 1.108.2.5 2005/04/25 08:43:05 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/addrtoname.c,v 1.108.2.7 2005/09/29 07:46:45 hannes Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -88,7 +88,6 @@ struct hnamemem tporttable[HASHNAMESIZE]; struct hnamemem uporttable[HASHNAMESIZE]; struct hnamemem eprototable[HASHNAMESIZE]; struct hnamemem dnaddrtable[HASHNAMESIZE]; -struct hnamemem llcsaptable[HASHNAMESIZE]; struct hnamemem ipxsaptable[HASHNAMESIZE]; #if defined(INET6) && defined(WIN32) @@ -461,9 +460,10 @@ lookup_protoid(const u_char *pi) const char * etheraddr_string(register const u_char *ep) { - register u_int i, oui; + register int i; register char *cp; register struct enamemem *tp; + int oui; char buf[BUFSIZE]; tp = lookup_emem(ep); @@ -475,9 +475,9 @@ etheraddr_string(register const u_char *ep) /* * We don't cast it to "const struct ether_addr *" - * because some systems don't modify the Ethernet - * address but fail to declare the second argument - * as a "const" pointer. + * because some systems fail to declare the second + * argument as a "const" pointer, even though they + * don't modify what it points to. */ if (ether_ntohost(buf2, (struct ether_addr *)ep) == 0) { tp->e_name = strdup(buf2); @@ -486,20 +486,20 @@ etheraddr_string(register const u_char *ep) } #endif cp = buf; - oui=EXTRACT_24BITS(ep); + oui = EXTRACT_24BITS(ep); *cp++ = hex[*ep >> 4 ]; *cp++ = hex[*ep++ & 0xf]; - for (i = 5; (int)--i >= 0;) { - *cp++ = ':'; - *cp++ = hex[*ep >> 4 ]; - *cp++ = hex[*ep++ & 0xf]; - } - - if (!nflag) { - snprintf(cp,BUFSIZE," (oui %s)", - tok2str(oui_values,"Unknown",oui)); - } else - *cp = '\0'; + for (i = 5; --i >= 0;) { + *cp++ = ':'; + *cp++ = hex[*ep >> 4 ]; + *cp++ = hex[*ep++ & 0xf]; + } + + if (!nflag) { + snprintf(cp, BUFSIZE - (2 + 5*3), " (oui %s)", + tok2str(oui_values, "Unknown", oui)); + } else + *cp = '\0'; tp->e_name = strdup(buf); return (tp->e_name); } @@ -585,25 +585,6 @@ protoid_string(register const u_char *pi) return (tp->p_name); } -const char * -llcsap_string(u_char sap) -{ - register struct hnamemem *tp; - register u_int32_t i = sap; - char buf[sizeof("sap 00")]; - - for (tp = &llcsaptable[i & (HASHNAMESIZE-1)]; tp->nxt; tp = tp->nxt) - if (tp->addr == i) - return (tp->name); - - tp->addr = i; - tp->nxt = newhnamemem(); - - snprintf(buf, sizeof(buf), "sap %02x", sap & 0xff); - tp->name = strdup(buf); - return (tp->name); -} - #define ISONSAP_MAX_LENGTH 20 const char * isonsap_string(const u_char *nsap, register u_int nsap_length) @@ -872,40 +853,6 @@ init_etherarray(void) } } -static struct tok llcsap_db[] = { - { LLCSAP_NULL, "null" }, - { LLCSAP_8021B_I, "802.1b-gsap" }, - { LLCSAP_8021B_G, "802.1b-isap" }, - { LLCSAP_IP, "ip-sap" }, - { LLCSAP_PROWAYNM, "proway-nm" }, - { LLCSAP_8021D, "802.1d" }, - { LLCSAP_RS511, "eia-rs511" }, - { LLCSAP_ISO8208, "x.25/llc2" }, - { LLCSAP_PROWAY, "proway" }, - { LLCSAP_SNAP, "snap" }, - { LLCSAP_IPX, "IPX" }, - { LLCSAP_NETBEUI, "netbeui" }, - { LLCSAP_ISONS, "iso-clns" }, - { LLCSAP_GLOBAL, "global" }, - { 0, NULL } -}; - -static void -init_llcsaparray(void) -{ - register int i; - register struct hnamemem *table; - - for (i = 0; llcsap_db[i].s != NULL; i++) { - table = &llcsaptable[llcsap_db[i].v]; - while (table->name) - table = table->nxt; - table->name = llcsap_db[i].s; - table->addr = llcsap_db[i].v; - table->nxt = newhnamemem(); - } -} - static struct tok ipxsap_db[] = { { 0x0000, "Unknown" }, { 0x0001, "User" }, @@ -1162,7 +1109,6 @@ init_addrtoname(u_int32_t localnet, u_int32_t mask) init_etherarray(); init_servarray(); init_eprotoarray(); - init_llcsaparray(); init_protoidarray(); init_ipxsaparray(); } diff --git a/contrib/tcpdump/configure b/contrib/tcpdump/configure index 60efb94..4998c6b 100755 --- a/contrib/tcpdump/configure +++ b/contrib/tcpdump/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 1.188.2.6 . +# From configure.in Revision: 1.188.2.7 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.57. # @@ -11494,7 +11494,15 @@ echo $ECHO_N "checking for SSLeay... $ECHO_C" >&6 ac_cv_ssleay_path=no incdir=no -Xprefix=`eval echo $prefix` +# +# If Xprefix is set in the environment, use that value. +# XXX - this should arguably be done by having --with-crypto take an +# optional argument, and have that argument be used to set Xprefix +# if present. +# +if test -z "$Xprefix"; then + Xprefix=`eval echo $prefix` +fi for dir in $Xprefix /usr/${host_alias} /usr /usr/local /usr/local/ssl /usr/pkg; do # diff --git a/contrib/tcpdump/configure.in b/contrib/tcpdump/configure.in index 220289a..7a331c5 100755 --- a/contrib/tcpdump/configure.in +++ b/contrib/tcpdump/configure.in @@ -1,4 +1,4 @@ -dnl @(#) $Header: /tcpdump/master/tcpdump/configure.in,v 1.188.2.6 2005/04/24 01:36:19 guy Exp $ (LBL) +dnl @(#) $Header: /tcpdump/master/tcpdump/configure.in,v 1.188.2.7 2005/09/21 16:50:01 guy Exp $ (LBL) dnl dnl Copyright (c) 1994, 1995, 1996, 1997 dnl The Regents of the University of California. All rights reserved. @@ -6,7 +6,7 @@ dnl dnl Process this file with autoconf to produce a configure script. dnl -AC_REVISION($Revision: 1.188.2.6 $) +AC_REVISION($Revision: 1.188.2.7 $) AC_PREREQ(2.50) AC_INIT(tcpdump.c) @@ -908,7 +908,15 @@ AC_MSG_CHECKING(for SSLeay) ac_cv_ssleay_path=no incdir=no -Xprefix=`eval echo $prefix` +# +# If Xprefix is set in the environment, use that value. +# XXX - this should arguably be done by having --with-crypto take an +# optional argument, and have that argument be used to set Xprefix +# if present. +# +if test -z "$Xprefix"; then + Xprefix=`eval echo $prefix` +fi for dir in $Xprefix /usr/${host_alias} /usr /usr/local /usr/local/ssl /usr/pkg; do # diff --git a/contrib/tcpdump/dccp.h b/contrib/tcpdump/dccp.h new file mode 100644 index 0000000..8e987e4 --- /dev/null +++ b/contrib/tcpdump/dccp.h @@ -0,0 +1,137 @@ +/* @(#) $Header: /tcpdump/master/tcpdump/dccp.h,v 1.1.2.2 2005/09/20 06:25:45 guy Exp $ (LBL) */ +/* + * Copyright (C) Arnaldo Carvalho de Melo 2004 + * Copyright (C) Ian McDonald 2005 + * Copyright (C) Yoshifumi Nishida 2005 + * + * This software may be distributed either under the terms of the + * BSD-style license that accompanies tcpdump or the GNU GPL version 2 + */ + +#ifndef __DCCP_HDR__ +#define __DCCP_HDR__ + +/** + * struct dccp_hdr - generic part of DCCP packet header + * + * @dccph_sport - Relevant port on the endpoint that sent this packet + * @dccph_dport - Relevant port on the other endpoint + * @dccph_doff - Data Offset from the start of the DCCP header, in 32-bit words + * @dccph_ccval - Used by the HC-Sender CCID + * @dccph_cscov - Parts of the packet that are covered by the Checksum field + * @dccph_checksum - Internet checksum, depends on dccph_cscov + * @dccph_x - 0 = 24 bit sequence number, 1 = 48 + * @dccph_type - packet type, see DCCP_PKT_ prefixed macros + * @dccph_seq - sequence number high or low order 24 bits, depends on dccph_x + */ +struct dccp_hdr { + u_int16_t dccph_sport, + dccph_dport; + u_int8_t dccph_doff; + u_int8_t dccph_ccval_cscov; + u_int16_t dccph_checksum; + union { + u_int8_t dccph_xtr; + u_int32_t dccph_seq; + } dccph_xtrs; +}; + +#define DCCPH_CCVAL(dh) (((dh)->dccph_ccval_cscov) & 0x0F) +#define DCCPH_CSCOV(dh) (((dh)->dccph_ccval_cscov >> 4) & 0x0F) + +#define DCCPH_X(dh) ((dh)->dccph_xtrs.dccph_xtr & 1) +#define DCCPH_TYPE(dh) (((dh)->dccph_xtrs.dccph_xtr >> 1) & 0xF) +#define DCCPH_SEQ(dh) (((dh)->dccph_xtrs.dccph_seq) >> 8) + +/** + * struct dccp_hdr_ext - the low bits of a 48 bit seq packet + * + * @dccph_seq_low - low 24 bits of a 48 bit seq packet + */ +struct dccp_hdr_ext { + u_int32_t dccph_seq_low; +}; + +/** + * struct dccp_hdr_request - Conection initiation request header + * + * @dccph_req_service - Service to which the client app wants to connect + */ +struct dccp_hdr_request { + u_int32_t dccph_req_service; +}; + +/** + * struct dccp_hdr_ack_bits - acknowledgment bits common to most packets + * + * @dccph_resp_ack_nr_high - 48 bit ack number high order bits, contains GSR + * @dccph_resp_ack_nr_low - 48 bit ack number low order bits, contains GSR + */ +struct dccp_hdr_ack_bits { + u_int32_t dccph_ra; + u_int32_t dccph_ack_nr_low; +}; + +#define DCCPH_ACK(dh_ack) ((dh_ack)->dccph_ra >> 8) + +/** + * struct dccp_hdr_response - Conection initiation response header + * + * @dccph_resp_ack_nr_high - 48 bit ack number high order bits, contains GSR + * @dccph_resp_ack_nr_low - 48 bit ack number low order bits, contains GSR + * @dccph_resp_service - Echoes the Service Code on a received DCCP-Request + */ +struct dccp_hdr_response { + struct dccp_hdr_ack_bits dccph_resp_ack; + u_int32_t dccph_resp_service; +}; + +static inline struct dccp_hdr_data *dccp_hdr_data(struct dccp_hdr *hdrg) +{ + const int ext = DCCPH_X(hdrg) ? sizeof(struct dccp_hdr_ext) : 0; + + return (struct dccp_hdr_data *)(((u_char *)hdrg) + sizeof(hdrg) + ext); +} + +/** + * struct dccp_hdr_reset - Unconditionally shut down a connection + * + * @dccph_reset_service - Echoes the Service Code on a received DCCP-Request + */ +struct dccp_hdr_reset { + struct dccp_hdr_ack_bits dccph_reset_ack; + u_int8_t dccph_reset_code, + dccph_reset_data[3]; +}; + +enum dccp_pkt_type { + DCCP_PKT_REQUEST = 0, + DCCP_PKT_RESPONSE, + DCCP_PKT_DATA, + DCCP_PKT_ACK, + DCCP_PKT_DATAACK, + DCCP_PKT_CLOSEREQ, + DCCP_PKT_CLOSE, + DCCP_PKT_RESET, + DCCP_PKT_SYNC, + DCCP_PKT_SYNCACK, + DCCP_PKT_INVALID, +}; + +enum dccp_reset_codes { + DCCP_RESET_CODE_UNSPECIFIED = 0, + DCCP_RESET_CODE_CLOSED, + DCCP_RESET_CODE_ABORTED, + DCCP_RESET_CODE_NO_CONNECTION, + DCCP_RESET_CODE_PACKET_ERROR, + DCCP_RESET_CODE_OPTION_ERROR, + DCCP_RESET_CODE_MANDATORY_ERROR, + DCCP_RESET_CODE_CONNECTION_REFUSED, + DCCP_RESET_CODE_BAD_SERVICE_CODE, + DCCP_RESET_CODE_TOO_BUSY, + DCCP_RESET_CODE_BAD_INIT_COOKIE, + DCCP_RESET_CODE_AGGRESSION_PENALTY, + __DCCP_RESET_CODE_LAST, +}; + +#endif /* __DCCP_HDR__ */ diff --git a/contrib/tcpdump/ethertype.h b/contrib/tcpdump/ethertype.h index 2513fbd..36dc8e2 100644 --- a/contrib/tcpdump/ethertype.h +++ b/contrib/tcpdump/ethertype.h @@ -18,7 +18,7 @@ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#) $Header: /tcpdump/master/tcpdump/ethertype.h,v 1.24 2004/10/07 16:04:07 hannes Exp $ (LBL) + * @(#) $Header: /tcpdump/master/tcpdump/ethertype.h,v 1.24.2.1 2005/07/10 14:51:10 hannes Exp $ (LBL) */ /* @@ -109,6 +109,9 @@ #ifndef ETHERTYPE_PPP #define ETHERTYPE_PPP 0x880b #endif +#ifndef ETHERTYPE_SLOW +#define ETHERTYPE_SLOW 0x8809 +#endif #ifndef ETHERTYPE_MPLS #define ETHERTYPE_MPLS 0x8847 #endif diff --git a/contrib/tcpdump/icmp6.h b/contrib/tcpdump/icmp6.h index c000855..20a51e3 100644 --- a/contrib/tcpdump/icmp6.h +++ b/contrib/tcpdump/icmp6.h @@ -1,4 +1,4 @@ -/* @(#) $Header: /tcpdump/master/tcpdump/icmp6.h,v 1.16 2005/01/14 10:41:50 hannes Exp $ (LBL) */ +/* @(#) $Header: /tcpdump/master/tcpdump/icmp6.h,v 1.16.2.1 2005/09/05 09:29:28 guy Exp $ (LBL) */ /* $NetBSD: icmp6.h,v 1.13 2000/08/03 16:30:37 itojun Exp $ */ /* $KAME: icmp6.h,v 1.22 2000/08/03 15:25:16 jinmei Exp $ */ @@ -104,9 +104,9 @@ struct icmp6_hdr { #define MLD6_LISTENER_DONE 132 /* multicast listener done */ #define ND_ROUTER_SOLICIT 133 /* router solicitation */ -#define ND_ROUTER_ADVERT 134 /* router advertisment */ +#define ND_ROUTER_ADVERT 134 /* router advertisement */ #define ND_NEIGHBOR_SOLICIT 135 /* neighbor solicitation */ -#define ND_NEIGHBOR_ADVERT 136 /* neighbor advertisment */ +#define ND_NEIGHBOR_ADVERT 136 /* neighbor advertisement */ #define ND_REDIRECT 137 /* redirect */ #define ICMP6_ROUTER_RENUMBERING 138 /* router renumbering */ diff --git a/contrib/tcpdump/interface.h b/contrib/tcpdump/interface.h index 9b9be23..dcbd9b2 100644 --- a/contrib/tcpdump/interface.h +++ b/contrib/tcpdump/interface.h @@ -18,7 +18,7 @@ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.244.2.11 2005/06/20 07:45:04 hannes Exp $ (LBL) + * @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.244.2.18 2005/09/29 07:46:45 hannes Exp $ (LBL) */ #ifndef tcpdump_interface_h @@ -155,7 +155,6 @@ extern void safeputchar(int); extern void safeputs(const char *); extern const char *isonsap_string(const u_char *, register u_int); -extern const char *llcsap_string(u_char); extern const char *protoid_string(const u_char *); extern const char *ipxsap_string(u_short); extern const char *dnname_string(u_short); @@ -166,11 +165,13 @@ extern const char *dnnum_string(u_short); #include extern int print_unknown_data(const u_char *, const char *,int); -extern void ascii_print_with_offset(const char *, const u_char *, u_int, u_int); -extern void ascii_print(const char *, const u_char *, u_int); +extern void ascii_print(const u_char *, u_int); +extern void hex_and_ascii_print_with_offset(const char *, const u_char *, + u_int, u_int); +extern void hex_and_ascii_print(const char *, const u_char *, u_int); extern void hex_print_with_offset(const char *, const u_char *, u_int, u_int); -extern void telnet_print(const u_char *, u_int); extern void hex_print(const char *, const u_char *, u_int); +extern void telnet_print(const u_char *, u_int); extern int ether_encap_print(u_short, const u_char *, u_int, u_int, u_short *); extern int llc_print(const u_char *, u_int, u_int, const u_char *, const u_char *, u_short *); @@ -202,6 +203,7 @@ extern void fddi_print(const u_char *, u_int, u_int); extern u_int fddi_if_print(const struct pcap_pkthdr *, const u_char *); extern u_int fr_if_print(const struct pcap_pkthdr *, const u_char *); extern u_int fr_print(register const u_char *, u_int); +extern u_int mfr_print(register const u_char *, u_int); extern u_int ieee802_11_if_print(const struct pcap_pkthdr *, const u_char *); extern u_int ieee802_11_radio_if_print(const struct pcap_pkthdr *, const u_char *); @@ -250,6 +252,7 @@ extern u_int lane_if_print(const struct pcap_pkthdr *, const u_char *); extern u_int cip_if_print(const struct pcap_pkthdr *, const u_char *); extern u_int sl_bsdos_if_print(const struct pcap_pkthdr *, const u_char *); extern u_int chdlc_if_print(const struct pcap_pkthdr *, const u_char *); +extern u_int chdlc_print(register const u_char *, u_int); extern u_int juniper_atm1_print(const struct pcap_pkthdr *, const u_char *); extern u_int juniper_atm2_print(const struct pcap_pkthdr *, const u_char *); extern u_int juniper_mfr_print(const struct pcap_pkthdr *, register const u_char *); @@ -261,6 +264,10 @@ extern u_int juniper_ggsn_print(const struct pcap_pkthdr *, const u_char *); extern u_int juniper_es_print(const struct pcap_pkthdr *, const u_char *); extern u_int juniper_monitor_print(const struct pcap_pkthdr *, const u_char *); extern u_int juniper_services_print(const struct pcap_pkthdr *, const u_char *); +extern u_int juniper_ether_print(const struct pcap_pkthdr *, const u_char *); +extern u_int juniper_ppp_print(const struct pcap_pkthdr *, const u_char *); +extern u_int juniper_frelay_print(const struct pcap_pkthdr *, const u_char *); +extern u_int juniper_chdlc_print(const struct pcap_pkthdr *, const u_char *); extern u_int sll_if_print(const struct pcap_pkthdr *, const u_char *); extern void snmp_print(const u_char *, u_int); extern void sunrpcrequest_print(const u_char *, u_int, const u_char *); @@ -283,12 +290,14 @@ extern const char *nt_errstr(u_int32_t); extern void print_data(const unsigned char *, int); extern void l2tp_print(const u_char *, u_int); extern void vrrp_print(const u_char *, u_int, int); +extern void slow_print(const u_char *, u_int); extern void pgm_print(const u_char *, u_int, const u_char *); extern void cdp_print(const u_char *, u_int, u_int); extern void stp_print(const u_char *, u_int); extern void radius_print(const u_char *, u_int); extern void lwres_print(const u_char *, u_int); extern void pptp_print(const u_char *); +extern void dccp_print(const u_char *, const u_char *, u_int); extern void sctp_print(const u_char *, const u_char *, u_int); extern void mpls_print(const u_char *, u_int); extern void mpls_lsp_ping_print(const u_char *, u_int); @@ -345,6 +354,7 @@ extern netdissect_options *gndo; #define Xflag gndo->ndo_Xflag #define Cflag gndo->ndo_Cflag #define Aflag gndo->ndo_Aflag +#define suppress_default_print gndo->ndo_suppress_default_print #define packettype gndo->ndo_packettype #define tcpmd5secret gndo->ndo_tcpmd5secret #define Wflag gndo->ndo_Wflag diff --git a/contrib/tcpdump/ipproto.c b/contrib/tcpdump/ipproto.c index f057acf..66ea356 100755 --- a/contrib/tcpdump/ipproto.c +++ b/contrib/tcpdump/ipproto.c @@ -15,7 +15,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/ipproto.c,v 1.3.2.2 2005/05/20 21:15:45 hannes Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/ipproto.c,v 1.3.2.3 2005/09/20 06:05:37 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -36,6 +36,7 @@ struct tok ipproto_values[] = { { IPPROTO_EGP, "EGP" }, { IPPROTO_PIGP, "IGRP" }, { IPPROTO_UDP, "UDP" }, + { IPPROTO_DCCP, "DCCP" }, { IPPROTO_IPV6, "IPv6" }, { IPPROTO_ROUTING, "Routing" }, { IPPROTO_FRAGMENT, "Fragment" }, diff --git a/contrib/tcpdump/ipproto.h b/contrib/tcpdump/ipproto.h index aa37ef8..1800db4 100644 --- a/contrib/tcpdump/ipproto.h +++ b/contrib/tcpdump/ipproto.h @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#) $Header: /tcpdump/master/tcpdump/ipproto.h,v 1.4.2.1 2005/05/20 21:15:46 hannes Exp $ (LBL) + * @(#) $Header: /tcpdump/master/tcpdump/ipproto.h,v 1.4.2.2 2005/09/20 06:05:37 guy Exp $ (LBL) * * From: * @(#)in.h 8.3 (Berkeley) 1/3/94 @@ -66,6 +66,9 @@ extern struct tok ipproto_values[]; #ifndef IPPROTO_UDP #define IPPROTO_UDP 17 /* user datagram protocol */ #endif +#ifndef IPPROTO_DCCP +#define IPPROTO_DCCP 33 /* datagram congestion control protocol */ +#endif #ifndef IPPROTO_IPV6 #define IPPROTO_IPV6 41 #endif diff --git a/contrib/tcpdump/llc.h b/contrib/tcpdump/llc.h index 112ecbd..f8c4e7d 100644 --- a/contrib/tcpdump/llc.h +++ b/contrib/tcpdump/llc.h @@ -18,7 +18,7 @@ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#) $Header: /tcpdump/master/tcpdump/llc.h,v 1.17.2.1 2005/04/26 07:27:16 guy Exp $ (LBL) + * @(#) $Header: /tcpdump/master/tcpdump/llc.h,v 1.17.2.2 2005/09/29 07:40:12 hannes Exp $ (LBL) */ /* @@ -27,6 +27,7 @@ #define LLC_U_FMT 3 #define LLC_GSAP 1 +#define LLC_IG 1 /* Individual / Group */ #define LLC_S_FMT 1 #define LLC_U_POLL 0x10 @@ -63,6 +64,9 @@ #ifndef LLCSAP_8021B_G #define LLCSAP_8021B_G 0x03 #endif +#ifndef LLCSAP_SNA +#define LLCSAP_SNA 0x04 +#endif #ifndef LLCSAP_IP #define LLCSAP_IP 0x06 #endif diff --git a/contrib/tcpdump/netdissect.h b/contrib/tcpdump/netdissect.h index 83114b2..8a83cf1 100644 --- a/contrib/tcpdump/netdissect.h +++ b/contrib/tcpdump/netdissect.h @@ -21,7 +21,7 @@ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#) $Header: /tcpdump/master/tcpdump/netdissect.h,v 1.16 2005/04/07 00:28:17 mcr Exp $ (LBL) + * @(#) $Header: /tcpdump/master/tcpdump/netdissect.h,v 1.16.2.3 2005/09/29 07:46:46 hannes Exp $ (LBL) */ #ifndef netdissect_h @@ -107,7 +107,8 @@ struct netdissect_options { int ndo_Cflag; /* rotate dump files after this many bytes */ int ndo_Cflag_count; /* Keep track of which file number we're writing */ int ndo_Wflag; /* recycle output files after this number of files */ - int ndo_WflagChars; + int ndo_WflagChars; + int ndo_suppress_default_print; /* don't use default_print() for unknown packet types */ const char *ndo_dltname; char *ndo_espsecret; @@ -234,7 +235,6 @@ extern void safeputs(const char *); #if 0 extern const char *isonsap_string(netdissect_options *, const u_char *); -extern const char *llcsap_string(netdissect_options *, u_char); extern const char *protoid_string(netdissect_options *, const u_char *); extern const char *dnname_string(netdissect_options *, u_short); extern const char *dnnum_string(netdissect_options *, u_short); @@ -261,13 +261,14 @@ extern void ip_print_inner(netdissect_options *ndo, /* stuff that has not yet been rototiled */ #if 0 -extern void ascii_print_with_offset(netdissect_options *, const char *, - u_int, u_int); -extern void ascii_print(netdissect_options *,const char *, u_int); +extern void ascii_print(netdissect_options *,u_int); +extern void hex_and_ascii_print_with_offset(netdissect_options *,const char *, + u_int, u_int); +extern void hex_and_ascii_print(netdissect_options *,const char *, u_int); extern void hex_print_with_offset(netdissect_options *,const char *, - u_int, u_int); -extern void telnet_print(netdissect_options *,const u_char *, u_int); -extern void hex_print(netdissect_options *,const char *, u_int); + u_int, u_int); +extern void hex_print(netdissect_options *,const char *, u_int); +extern void telnet_print(netdissect_options *,const u_char *, u_int); extern int ether_encap_print(netdissect_options *,u_short, const u_char *, u_int, u_int, u_short *); extern int llc_print(netdissect_options *, diff --git a/contrib/tcpdump/ospf.h b/contrib/tcpdump/ospf.h index 5fa008c..27a45a5 100644 --- a/contrib/tcpdump/ospf.h +++ b/contrib/tcpdump/ospf.h @@ -1,4 +1,4 @@ -/* @(#) $Header: /tcpdump/master/tcpdump/ospf.h,v 1.16 2004/09/20 14:56:34 hannes Exp $ (LBL) */ +/* @(#) $Header: /tcpdump/master/tcpdump/ospf.h,v 1.16.2.1 2005/08/23 11:16:30 hannes Exp $ (LBL) */ /* * Copyright (c) 1991, 1993, 1994, 1995, 1996, 1997 * The Regents of the University of California. All rights reserved. @@ -89,7 +89,7 @@ #define LS_OPAQUE_TE_LINK_SUBTLV_LINK_PROTECTION_TYPE 14 /* draft-ietf-ccamp-ospf-gmpls-extensions */ #define LS_OPAQUE_TE_LINK_SUBTLV_INTF_SW_CAP_DESCR 15 /* draft-ietf-ccamp-ospf-gmpls-extensions */ #define LS_OPAQUE_TE_LINK_SUBTLV_SHARED_RISK_GROUP 16 /* draft-ietf-ccamp-ospf-gmpls-extensions */ -#define LS_OPAQUE_TE_LINK_SUBTLV_DIFFSERV_TE 17 /* draft-ietf-tewg-diff-te-proto-06 */ +#define LS_OPAQUE_TE_LINK_SUBTLV_BW_CONSTRAINTS 17 /* rfc4124 */ #define LS_OPAQUE_TE_LINK_SUBTLV_LINK_TYPE_PTP 1 /* rfc3630 */ #define LS_OPAQUE_TE_LINK_SUBTLV_LINK_TYPE_MA 2 /* rfc3630 */ diff --git a/contrib/tcpdump/print-802_11.c b/contrib/tcpdump/print-802_11.c index 32f85ce..c4ec7ee 100644 --- a/contrib/tcpdump/print-802_11.c +++ b/contrib/tcpdump/print-802_11.c @@ -22,7 +22,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-802_11.c,v 1.31.2.1 2005/04/20 19:32:41 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-802_11.c,v 1.31.2.5 2005/07/30 21:37:50 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -62,23 +62,7 @@ do { \ } while (0) static const char *auth_alg_text[]={"Open System","Shared Key","EAP"}; -static const char *subtype_text[]={ - "Assoc Request", - "Assoc Response", - "ReAssoc Request", - "ReAssoc Response", - "Probe Request", - "Probe Response", - "", - "", - "Beacon", - "ATIM", - "Disassociation", - "Authentication", - "DeAuthentication", - "", - "" -}; +#define NUM_AUTH_ALGS (sizeof auth_alg_text / sizeof auth_alg_text[0]) static const char *status_text[] = { "Succesful", /* 0 */ @@ -102,8 +86,8 @@ static const char *status_text[] = { "Association denied because AP is unable to handle additional associated stations", /* 17 */ "Association denied due to requesting station not supporting all of the " \ "data rates in BSSBasicRateSet parameter", /* 18 */ - NULL }; +#define NUM_STATUSES (sizeof status_text / sizeof status_text[0]) static const char *reason_text[] = { "Reserved", /* 0 */ @@ -112,12 +96,12 @@ static const char *reason_text[] = { "Deauthenticated because sending station is leaving (or has left) IBSS or ESS", /* 3 */ "Disassociated due to inactivity", /* 4 */ "Disassociated because AP is unable to handle all currently associated stations", /* 5 */ - "Class 2 frame receivedfrom nonauthenticated station", /* 6 */ + "Class 2 frame received from nonauthenticated station", /* 6 */ "Class 3 frame received from nonassociated station", /* 7 */ "Disassociated because sending station is leaving (or has left) BSS", /* 8 */ "Station requesting (re)association is not authenticated with responding station", /* 9 */ - NULL }; +#define NUM_REASONS (sizeof reason_text / sizeof reason_text[0]) static int wep_print(const u_char *p) @@ -309,7 +293,9 @@ handle_assoc_response(const u_char *p) printf(" AID(%x) :%s: %s", ((u_int16_t)(pbody.aid << 2 )) >> 2 , CAPABILITY_PRIVACY(pbody.capability_info) ? " PRIVACY " : "", - (pbody.status_code < 19 ? status_text[pbody.status_code] : "n/a")); + (pbody.status_code < NUM_STATUSES + ? status_text[pbody.status_code] + : "n/a")); return 1; } @@ -419,8 +405,9 @@ handle_disassoc(const u_char *p) pbody.reason_code = EXTRACT_LE_16BITS(p); printf(": %s", - (pbody.reason_code < 10) ? reason_text[pbody.reason_code] - : "Reserved" ); + (pbody.reason_code < NUM_REASONS) + ? reason_text[pbody.reason_code] + : "Reserved" ); return 1; } @@ -449,21 +436,25 @@ handle_auth(const u_char *p) ((pbody.auth_trans_seq_num == 2) || (pbody.auth_trans_seq_num == 3))) { printf(" (%s)-%x [Challenge Text] %s", - (pbody.auth_alg < 4) ? auth_alg_text[pbody.auth_alg] - : "Reserved", + (pbody.auth_alg < NUM_AUTH_ALGS) + ? auth_alg_text[pbody.auth_alg] + : "Reserved", pbody.auth_trans_seq_num, ((pbody.auth_trans_seq_num % 2) - ? ((pbody.status_code < 19) + ? ((pbody.status_code < NUM_STATUSES) ? status_text[pbody.status_code] : "n/a") : "")); return 1; } printf(" (%s)-%x: %s", - (pbody.auth_alg < 4) ? auth_alg_text[pbody.auth_alg] : "Reserved", + (pbody.auth_alg < NUM_AUTH_ALGS) + ? auth_alg_text[pbody.auth_alg] + : "Reserved", pbody.auth_trans_seq_num, (pbody.auth_trans_seq_num % 2) - ? ((pbody.status_code < 19) ? status_text[pbody.status_code] - : "n/a") + ? ((pbody.status_code < NUM_STATUSES) + ? status_text[pbody.status_code] + : "n/a") : ""); return 1; @@ -483,8 +474,9 @@ handle_deauth(const struct mgmt_header_t *pmh, const u_char *p) pbody.reason_code = EXTRACT_LE_16BITS(p); offset += IEEE802_11_REASON_LEN; - reason = (pbody.reason_code < 10) ? reason_text[pbody.reason_code] - : "Reserved"; + reason = (pbody.reason_code < NUM_REASONS) + ? reason_text[pbody.reason_code] + : "Reserved"; if (eflag) { printf(": %s", reason); @@ -504,28 +496,36 @@ static int mgmt_body_print(u_int16_t fc, const struct mgmt_header_t *pmh, const u_char *p) { - printf("%s", subtype_text[FC_SUBTYPE(fc)]); - switch (FC_SUBTYPE(fc)) { case ST_ASSOC_REQUEST: + printf("Assoc Request"); return handle_assoc_request(p); case ST_ASSOC_RESPONSE: + printf("Assoc Response"); return handle_assoc_response(p); case ST_REASSOC_REQUEST: + printf("ReAssoc Request"); return handle_reassoc_request(p); case ST_REASSOC_RESPONSE: + printf("ReAssoc Response"); return handle_reassoc_response(p); case ST_PROBE_REQUEST: + printf("Probe Request"); return handle_probe_request(p); case ST_PROBE_RESPONSE: + printf("Probe Response"); return handle_probe_response(p); case ST_BEACON: + printf("Beacon"); return handle_beacon(p); case ST_ATIM: + printf("ATIM"); return handle_atim(); case ST_DISASSOC: + printf("Disassociation"); return handle_disassoc(p); case ST_AUTH: + printf("Authentication"); if (!TTEST2(*p, 3)) return 0; if ((p[0] == 0 ) && (p[1] == 0) && (p[2] == 0)) { @@ -534,6 +534,7 @@ mgmt_body_print(u_int16_t fc, const struct mgmt_header_t *pmh, } return handle_auth(p); case ST_DEAUTH: + printf("DeAuthentication"); return handle_deauth(pmh, p); break; default: @@ -900,7 +901,7 @@ ieee802_11_print(const u_char *p, u_int length, u_int caplen) printf("(LLC %s) ", etherproto_string( htons(extracted_ethertype))); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } break; diff --git a/contrib/tcpdump/print-ap1394.c b/contrib/tcpdump/print-ap1394.c index 8cfbba6..a01ce34 100644 --- a/contrib/tcpdump/print-ap1394.c +++ b/contrib/tcpdump/print-ap1394.c @@ -20,7 +20,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-ap1394.c,v 1.3 2004/03/17 23:24:35 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ap1394.c,v 1.3.2.1 2005/07/07 01:24:33 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -111,7 +111,7 @@ ap1394_if_print(const struct pcap_pkthdr *h, const u_char *p) if (!eflag) ap1394_hdr_print((u_char *)fp, length + FIREWIRE_HDRLEN); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } diff --git a/contrib/tcpdump/print-ascii.c b/contrib/tcpdump/print-ascii.c index 02be8e0..cd48edd 100644 --- a/contrib/tcpdump/print-ascii.c +++ b/contrib/tcpdump/print-ascii.c @@ -42,7 +42,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-ascii.c,v 1.16 2004/07/21 22:00:10 guy Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ascii.c,v 1.16.2.1 2005/07/06 20:54:49 guy Exp $"; #endif #include #include @@ -57,78 +57,74 @@ static const char rcsid[] _U_ = (HEXDUMP_HEXSTUFF_PER_SHORT * HEXDUMP_SHORTS_PER_LINE) void -ascii_print_with_offset(register const char *ident, register const u_char *cp, register u_int length, - register u_int oset) +ascii_print(register const u_char *cp, register u_int length) +{ + register int s; + + putchar('\n'); + while (length > 0) { + s = *cp++; + length--; + if (!isgraph(s) && + (s != '\t' && s != ' ' && s != '\n' && s != '\r')) + putchar('.'); + else + putchar(s); + } +} + +void +hex_and_ascii_print_with_offset(register const char *ident, + register const u_char *cp, register u_int length, register u_int oset) { register u_int i; register int s1, s2; register int nshorts; char hexstuff[HEXDUMP_SHORTS_PER_LINE*HEXDUMP_HEXSTUFF_PER_SHORT+1], *hsp; char asciistuff[ASCII_LINELENGTH+1], *asp; - u_int maxlength = (Aflag ? ASCII_LINELENGTH : HEXDUMP_SHORTS_PER_LINE); nshorts = length / sizeof(u_short); i = 0; hsp = hexstuff; asp = asciistuff; - if (Aflag) *(asp++) = '\n'; while (--nshorts >= 0) { s1 = *cp++; s2 = *cp++; - if (Aflag) { - i += 2; - *(asp++) = (isgraph(s1) ? s1 : (s1 != '\t' && s1 != ' ' && s1 != '\n' && s1 != '\r' ? '.' : s1) ); - *(asp++) = (isgraph(s2) ? s2 : (s2 != '\t' && s2 != ' ' && s2 != '\n' && s2 != '\r' ? '.' : s2) ); - if (s1 == '\n' || s2 == '\n') i = maxlength; - - } else { - (void)snprintf(hsp, sizeof(hexstuff) - (hsp - hexstuff), - " %02x%02x", s1, s2); - hsp += HEXDUMP_HEXSTUFF_PER_SHORT; - *(asp++) = (isgraph(s1) ? s1 : '.'); - *(asp++) = (isgraph(s2) ? s2 : '.'); - i++; - } - if (i >= maxlength) { + (void)snprintf(hsp, sizeof(hexstuff) - (hsp - hexstuff), + " %02x%02x", s1, s2); + hsp += HEXDUMP_HEXSTUFF_PER_SHORT; + *(asp++) = (isgraph(s1) ? s1 : '.'); + *(asp++) = (isgraph(s2) ? s2 : '.'); + i++; + if (i >= HEXDUMP_SHORTS_PER_LINE) { *hsp = *asp = '\0'; - if (Aflag) { - (void)printf("%s", asciistuff); - } else { - (void)printf("%s0x%04x: %-*s %s", - ident, oset, HEXDUMP_HEXSTUFF_PER_LINE, - hexstuff, asciistuff); - } + (void)printf("%s0x%04x: %-*s %s", + ident, oset, HEXDUMP_HEXSTUFF_PER_LINE, + hexstuff, asciistuff); i = 0; hsp = hexstuff; asp = asciistuff; oset += HEXDUMP_BYTES_PER_LINE; } } if (length & 1) { s1 = *cp++; - if (Aflag) { - *(asp++) = (isgraph(s1) ? s1 : (s1 != '\t' && s1 != ' ' && s1 != '\n' && s1 != '\r' ? '.' : s1) ); - } else { - (void)snprintf(hsp, sizeof(hexstuff) - (hsp - hexstuff), - " %02x", s1); - hsp += 3; - *(asp++) = (isgraph(s1) ? s1 : '.'); - } + (void)snprintf(hsp, sizeof(hexstuff) - (hsp - hexstuff), + " %02x", s1); + hsp += 3; + *(asp++) = (isgraph(s1) ? s1 : '.'); ++i; } if (i > 0) { *hsp = *asp = '\0'; - if (Aflag) { - (void)printf("%s%s", ident, asciistuff); - } else { - (void)printf("%s0x%04x: %-*s %s", - ident, oset, HEXDUMP_HEXSTUFF_PER_LINE, - hexstuff, asciistuff); - } + (void)printf("%s0x%04x: %-*s %s", + ident, oset, HEXDUMP_HEXSTUFF_PER_LINE, + hexstuff, asciistuff); } } void -ascii_print(register const char *ident, register const u_char *cp, register u_int length) +hex_and_ascii_print(register const char *ident, register const u_char *cp, + register u_int length) { - ascii_print_with_offset(ident, cp, length, 0); + hex_and_ascii_print_with_offset(ident, cp, length, 0); } /* @@ -171,15 +167,17 @@ hex_print(register const char *ident, register const u_char *cp, register u_int int main(int argc, char *argv[]) { - hex_print("Hello, World!\n", 14); + hex_print("\n\t", "Hello, World!\n", 14); + printf("\n"); + hex_and_ascii_print("\n\t", "Hello, World!\n", 14); printf("\n"); ascii_print("Hello, World!\n", 14); printf("\n"); #define TMSG "Now is the winter of our discontent...\n" - ascii_print_with_offset(TMSG, sizeof(TMSG) - 1, 0x100); + hex_print_with_offset("\n\t", TMSG, sizeof(TMSG) - 1, 0x100); + printf("\n"); + hex_and_ascii_print_with_offset("\n\t", TMSG, sizeof(TMSG) - 1, 0x100); printf("\n"); exit(0); } #endif /* MAIN */ - - diff --git a/contrib/tcpdump/print-atm.c b/contrib/tcpdump/print-atm.c index 6726818..b14a580 100644 --- a/contrib/tcpdump/print-atm.c +++ b/contrib/tcpdump/print-atm.c @@ -20,7 +20,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-atm.c,v 1.38.2.2 2005/06/20 07:45:06 hannes Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-atm.c,v 1.38.2.3 2005/07/07 01:24:34 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -106,7 +106,7 @@ atm_llc_print(const u_char *p, int length, int caplen) printf("(LLC %s) ", etherproto_string(htons(extracted_ethertype))); } - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } diff --git a/contrib/tcpdump/print-chdlc.c b/contrib/tcpdump/print-chdlc.c index d2b5611..244119f 100644 --- a/contrib/tcpdump/print-chdlc.c +++ b/contrib/tcpdump/print-chdlc.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-chdlc.c,v 1.32.2.7 2005/04/27 14:35:56 hannes Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-chdlc.c,v 1.32.2.8 2005/08/23 10:29:42 hannes Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -48,13 +48,18 @@ chdlc_if_print(const struct pcap_pkthdr *h, register const u_char *p) { register u_int length = h->len; register u_int caplen = h->caplen; - const struct ip *ip; - u_int proto; if (caplen < CHDLC_HDRLEN) { printf("[|chdlc]"); return (caplen); } + return (chdlc_print(p,length)); +} + +u_int +chdlc_print(register const u_char *p, u_int length) { + u_int proto; + const struct ip *ip; proto = EXTRACT_16BITS(&p[2]); if (eflag) { diff --git a/contrib/tcpdump/print-cip.c b/contrib/tcpdump/print-cip.c index b877788..774b700 100644 --- a/contrib/tcpdump/print-cip.c +++ b/contrib/tcpdump/print-cip.c @@ -22,7 +22,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-cip.c,v 1.25 2005/04/06 21:32:39 mcr Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-cip.c,v 1.25.2.1 2005/07/07 01:24:34 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -94,7 +94,7 @@ cip_if_print(const struct pcap_pkthdr *h, const u_char *p) printf("(LLC %s) ", etherproto_string(htons(extracted_ethertype))); } - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } else { diff --git a/contrib/tcpdump/print-dccp.c b/contrib/tcpdump/print-dccp.c new file mode 100644 index 0000000..c0a5ea3 --- /dev/null +++ b/contrib/tcpdump/print-dccp.c @@ -0,0 +1,526 @@ +/* + * Copyright (C) Arnaldo Carvalho de Melo 2004 + * Copyright (C) Ian McDonald 2005 + * Copyright (C) Yoshifumi Nishida 2005 + * + * This software may be distributed either under the terms of the + * BSD-style license that accompanies tcpdump or the GNU GPL version 2 + */ + +#ifndef lint +static const char rcsid[] _U_ = + "@(#) $Header: /tcpdump/master/tcpdump/print-dccp.c,v 1.1.2.2 2005/09/20 06:25:45 guy Exp $ (LBL)"; +#endif + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include "dccp.h" + +#include +#include + +#include "interface.h" +#include "addrtoname.h" +#include "extract.h" /* must come after interface.h */ +#include "ip.h" +#ifdef INET6 +#include "ip6.h" +#endif +#include "ipproto.h" + +static const char *dccp_reset_codes[] = { + "unspecified", + "closed", + "aborted", + "no_connection", + "packet_error", + "option_error", + "mandatory_error", + "connection_refused", + "bad_service_code", + "too_busy", + "bad_init_cookie", + "aggression_penalty", +}; + +static const char *dccp_feature_nums[] = { + "reserved", + "ccid", + "allow_short_seqno", + "sequence_window", + "ecn_incapable", + "ack_ratio", + "send_ack_vector", + "send_ndp_count", + "minimum checksum coverage", + "check data checksum", +}; + +static int dccp_cksum(const struct ip *ip, + const struct dccp_hdr *dh, u_int len) +{ + union phu { + struct phdr { + u_int32_t src; + u_int32_t dst; + u_char mbz; + u_char proto; + u_int16_t len; + } ph; + u_int16_t pa[6]; + } phu; + const u_int16_t *sp; + + /* pseudo-header.. */ + phu.ph.mbz = 0; + phu.ph.len = htons(len); + phu.ph.proto = IPPROTO_DCCP; + memcpy(&phu.ph.src, &ip->ip_src.s_addr, sizeof(u_int32_t)); + if (IP_HL(ip) == 5) + memcpy(&phu.ph.dst, &ip->ip_dst.s_addr, sizeof(u_int32_t)); + else + phu.ph.dst = ip_finddst(ip); + + sp = &phu.pa[0]; + return in_cksum((u_short *)dh, len, sp[0]+sp[1]+sp[2]+sp[3]+sp[4]+sp[5]); +} + +#ifdef INET6 +static int dccp6_cksum(const struct ip6_hdr *ip6, const struct dccp_hdr *dh, u_int len) +{ + size_t i; + const u_int16_t *sp; + u_int32_t sum; + union { + struct { + struct in6_addr ph_src; + struct in6_addr ph_dst; + u_int32_t ph_len; + u_int8_t ph_zero[3]; + u_int8_t ph_nxt; + } ph; + u_int16_t pa[20]; + } phu; + + /* pseudo-header */ + memset(&phu, 0, sizeof(phu)); + phu.ph.ph_src = ip6->ip6_src; + phu.ph.ph_dst = ip6->ip6_dst; + phu.ph.ph_len = htonl(len); + phu.ph.ph_nxt = IPPROTO_DCCP; + + sum = 0; + for (i = 0; i < sizeof(phu.pa) / sizeof(phu.pa[0]); i++) + sum += phu.pa[i]; + + sp = (const u_int16_t *)dh; + + for (i = 0; i < (len & ~1); i += 2) + sum += *sp++; + + if (len & 1) + sum += htons((*(const u_int8_t *)sp) << 8); + + while (sum > 0xffff) + sum = (sum & 0xffff) + (sum >> 16); + sum = ~sum & 0xffff; + + return (sum); +} +#endif + +static const char *dccp_reset_code(u_int8_t code) +{ + if (code >= __DCCP_RESET_CODE_LAST) + return "invalid"; + return dccp_reset_codes[code]; +} + +static u_int64_t dccp_seqno(const struct dccp_hdr *dh) +{ + u_int32_t seq_high = DCCPH_SEQ(dh); + u_int64_t seqno = EXTRACT_24BITS(&seq_high) & 0xFFFFFF; + + if (DCCPH_X(dh) != 0) { + const struct dccp_hdr_ext *dhx = (void *)dh + sizeof(*dh); + u_int32_t seq_low = dhx->dccph_seq_low; + seqno &= 0x00FFFF; /* clear reserved field */ + seqno = (seqno << 32) + EXTRACT_32BITS(&seq_low); + } + + return seqno; +} + +static u_int64_t dccp_ack_no(const struct dccp_hdr *dh, + const struct dccp_hdr_ack_bits *dh_ack) +{ + u_int32_t ack_high = DCCPH_ACK(dh_ack); + u_int64_t ackno = EXTRACT_24BITS(&ack_high) & 0xFFFFFF; + + if (DCCPH_X(dh) != 0) { + u_int32_t ack_low = dh_ack->dccph_ack_nr_low; + + ackno &= 0x00FFFF; /* clear reserved field */ + ackno = (ackno << 32) + EXTRACT_32BITS(&ack_low); + } + + return ackno; +} + +static inline unsigned int dccp_basic_hdr_len(const struct dccp_hdr *dh) +{ + return sizeof(*dh) + (DCCPH_X(dh) ? sizeof(struct dccp_hdr_ext) : 0); +} + +static inline unsigned int dccp_packet_hdr_len(const u_int8_t type) +{ + if (type == DCCP_PKT_DATA) + return 0; + if (type == DCCP_PKT_DATAACK || + type == DCCP_PKT_ACK || + type == DCCP_PKT_SYNC || + type == DCCP_PKT_SYNCACK || + type == DCCP_PKT_CLOSE || + type == DCCP_PKT_CLOSEREQ) + return sizeof(struct dccp_hdr_ack_bits); + if (type == DCCP_PKT_REQUEST) + return sizeof(struct dccp_hdr_request); + if (type == DCCP_PKT_RESPONSE) + return sizeof(struct dccp_hdr_response); + return sizeof(struct dccp_hdr_reset); +} + +static int dccp_print_option(const u_char *option); + +/** + * dccp_print - show dccp packet + * @bp - beginning of dccp packet + * @data2 - beginning of enclosing + * @len - lenght of ip packet + */ +void dccp_print(const u_char *bp, const u_char *data2, u_int len) +{ + const struct dccp_hdr *dh; + const struct ip *ip; +#ifdef INET6 + const struct ip6_hdr *ip6; +#endif + const u_char *cp; + u_short sport, dport; + u_int hlen; + u_int extlen = 0; + + dh = (const struct dccp_hdr *)bp; + + ip = (struct ip *)data2; +#ifdef INET6 + if (IP_V(ip) == 6) + ip6 = (const struct ip6_hdr *)data2; + else + ip6 = NULL; +#endif /*INET6*/ + cp = (const u_char *)(dh + 1); + if (cp > snapend) { + printf("[Invalid packet|dccp]"); + return; + } + + if (len < sizeof(struct dccp_hdr)) { + printf("truncated-dccp - %ld bytes missing!", + (long)len - sizeof(struct dccp_hdr)); + return; + } + + sport = EXTRACT_16BITS(&dh->dccph_sport); + dport = EXTRACT_16BITS(&dh->dccph_dport); + hlen = dh->dccph_doff * 4; + +#ifdef INET6 + if (ip6) { + (void)printf("%s.%d > %s.%d: ", + ip6addr_string(&ip6->ip6_src), sport, + ip6addr_string(&ip6->ip6_dst), dport); + } else +#endif /*INET6*/ + { + (void)printf("%s.%d > %s.%d: ", + ipaddr_string(&ip->ip_src), sport, + ipaddr_string(&ip->ip_dst), dport); + } + fflush(stdout); + + if (qflag) { + (void)printf(" %d", len - hlen); + if (hlen > len) { + (void)printf("dccp [bad hdr length %u - too long, > %u]", + hlen, len); + } + return; + } + + /* other variables in generic header */ + if (vflag) { + (void)printf("CCVal %d, CsCov %d, ", DCCPH_CCVAL(dh), DCCPH_CSCOV(dh)); + } + + /* checksum calculation */ +#ifdef INET6 + if (ip6) { + if (ip6->ip6_plen && vflag) { + u_int16_t sum, dccp_sum; + + sum = dccp6_cksum(ip6, dh, len); + dccp_sum = EXTRACT_16BITS(&dh->dccph_checksum); + printf("cksum 0x%04x", dccp_sum); + if (sum != 0) { + (void)printf(" (incorrect (-> 0x%04x), ",in_cksum_shouldbe(dccp_sum, sum)); + } else + (void)printf(" (correct), "); + } + } else +#endif /* INET6 */ + if (vflag) + { + u_int16_t sum, dccp_sum; + + sum = dccp_cksum(ip, dh, len); + dccp_sum = EXTRACT_16BITS(&dh->dccph_checksum); + printf("cksum 0x%04x", dccp_sum); + if (sum != 0) { + (void)printf(" (incorrect (-> 0x%04x), ",in_cksum_shouldbe(dccp_sum, sum)); + } else + (void)printf(" (correct), "); + } + + switch (DCCPH_TYPE(dh)) { + case DCCP_PKT_REQUEST: { + struct dccp_hdr_request *dhr = + (struct dccp_hdr_request *)(bp + dccp_basic_hdr_len(dh)); + TCHECK(*dhr); + (void)printf("request (service=%d) ", dhr->dccph_req_service); + extlen += 4; + break; + } + case DCCP_PKT_RESPONSE: { + struct dccp_hdr_response *dhr = + (struct dccp_hdr_response *)(bp + dccp_basic_hdr_len(dh)); + TCHECK(*dhr); + (void)printf("response (service=%d, ack=%" PRIu64 ") ", + dhr->dccph_resp_service, + dccp_ack_no(dh,&(dhr->dccph_resp_ack))); + extlen += 12; + break; + } + case DCCP_PKT_DATA: + (void)printf("data "); + break; + case DCCP_PKT_ACK: { + struct dccp_hdr_ack_bits *dha = + (struct dccp_hdr_ack_bits *)(bp + dccp_basic_hdr_len(dh)); + TCHECK(*dha); + (void)printf("ack (ack=%" PRIu64 ") ", + dccp_ack_no(dh,dha)); + extlen += 8; + break; + } + case DCCP_PKT_DATAACK: { + struct dccp_hdr_ack_bits *dha = + (struct dccp_hdr_ack_bits *)(bp + dccp_basic_hdr_len(dh)); + TCHECK(*dha); + (void)printf("dataack (ack=%" PRIu64 ") ", + dccp_ack_no(dh,dha)); + extlen += 8; + break; + } + case DCCP_PKT_CLOSEREQ: + (void)printf("closereq "); + extlen += 8; + break; + case DCCP_PKT_CLOSE: + (void)printf("close "); + extlen += 8; + break; + case DCCP_PKT_RESET: { + struct dccp_hdr_reset *dhr = + (struct dccp_hdr_reset *)(bp + dccp_basic_hdr_len(dh)); + TCHECK(*dhr); + (void)printf("reset (code=%s) ", + dccp_reset_code(dhr->dccph_reset_code)); + extlen += 12; + break; + } + case DCCP_PKT_SYNC: + (void)printf("sync "); + extlen += 8; + break; + case DCCP_PKT_SYNCACK: + (void)printf("syncack "); + extlen += 8; + break; + default: + (void)printf("invalid "); + break; + } + + if (vflag < 2) + return; + + (void)printf("seq %" PRIu64, dccp_seqno(dh)); + + /* process options */ + if (hlen > dccp_basic_hdr_len(dh) + extlen){ + const u_char *cp; + u_int optlen; + cp = bp + dccp_basic_hdr_len(dh) + extlen; + printf(" <"); + + hlen -= dccp_basic_hdr_len(dh) + extlen; + while(1){ + TCHECK(*cp); + optlen = dccp_print_option(cp); + if (!optlen) goto trunc2; + if (hlen <= optlen) break; + hlen -= optlen; + cp += optlen; + printf(", "); + } + printf(">"); + } + return; +trunc: + printf("[|dccp]"); +trunc2: + return; +} + +static int dccp_print_option(const u_char *option) +{ + u_int8_t optlen, i; + u_int32_t *ts; + u_int16_t *var16; + u_int32_t *var32; + + TCHECK(*option); + + if (*option >= 32) { + TCHECK(*(option+1)); + optlen = *(option +1); + if (optlen < 2) { + printf("Option %d optlen too short",*option); + return 1; + } + } else optlen = 1; + + TCHECK2(*option,optlen); + + switch (*option){ + case 0: + printf("nop"); + break; + case 1: + printf("mandatory"); + break; + case 2: + printf("slowreceiver"); + break; + case 32: + printf("change_l"); + if (*(option +2) < 10){ + printf(" %s", dccp_feature_nums[*(option +2)]); + for (i = 0; i < optlen -3; i ++) printf(" %d", *(option +3 + i)); + } + break; + case 33: + printf("confirm_l"); + if (*(option +2) < 10){ + printf(" %s", dccp_feature_nums[*(option +2)]); + for (i = 0; i < optlen -3; i ++) printf(" %d", *(option +3 + i)); + } + break; + case 34: + printf("change_r"); + if (*(option +2) < 10){ + printf(" %s", dccp_feature_nums[*(option +2)]); + for (i = 0; i < optlen -3; i ++) printf(" %d", *(option +3 + i)); + } + break; + case 35: + printf("confirm_r"); + if (*(option +2) < 10){ + printf(" %s", dccp_feature_nums[*(option +2)]); + for (i = 0; i < optlen -3; i ++) printf(" %d", *(option +3 + i)); + } + break; + case 36: + printf("initcookie 0x"); + for (i = 0; i < optlen -2; i ++) printf("%02x", *(option +2 + i)); + break; + case 37: + printf("ndp_count"); + for (i = 0; i < optlen -2; i ++) printf(" %d", *(option +2 + i)); + break; + case 38: + printf("ack_vector0 0x"); + for (i = 0; i < optlen -2; i ++) printf("%02x", *(option +2 + i)); + break; + case 39: + printf("ack_vector1 0x"); + for (i = 0; i < optlen -2; i ++) printf("%02x", *(option +2 + i)); + break; + case 40: + printf("data_dropped 0x"); + for (i = 0; i < optlen -2; i ++) printf("%02x", *(option +2 + i)); + break; + case 41: + ts = (u_int32_t *)(option + 2); + printf("timestamp %u", (u_int32_t)ntohl(*ts)); + break; + case 42: + ts = (u_int32_t *)(option + 2); + printf("timestamp_echo %u", (u_int32_t)ntohl(*ts)); + break; + case 43: + printf("elapsed_time "); + if (optlen == 6){ + ts = (u_int32_t *)(option + 2); + printf("%u", (u_int32_t)ntohl(*ts)); + } else { + var16 = (u_int16_t *)(option + 2); + printf("%u", ntohs(*var16)); + } + break; + case 44: + printf("data_checksum "); + for (i = 0; i < optlen -2; i ++) printf("%02x", *(option +2 + i)); + break; + default : + if (*option >= 128) { + printf("CCID option %d",*option); + switch (optlen) { + case 4: + var16 = (u_int16_t *)(option + 2); + printf(" %u",ntohs(*var16)); + break; + case 6: + var32 = (u_int32_t *)(option + 2); + printf(" %u",(u_int32_t)ntohl(*var32)); + break; + default: + break; + } + break; + } + + printf("unknown_opt %d", *option); + break; + } + + return optlen; +trunc: + printf("[|dccp]"); + return 0; +} diff --git a/contrib/tcpdump/print-ether.c b/contrib/tcpdump/print-ether.c index e445017..8d87830 100644 --- a/contrib/tcpdump/print-ether.c +++ b/contrib/tcpdump/print-ether.c @@ -20,7 +20,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-ether.c,v 1.95.2.2 2005/07/01 16:16:30 hannes Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ether.c,v 1.95.2.4 2005/07/10 14:47:57 hannes Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -65,6 +65,7 @@ const struct tok ethertype_values[] = { { ETHERTYPE_AARP, "Appletalk ARP" }, { ETHERTYPE_IPX, "IPX" }, { ETHERTYPE_PPP, "PPP" }, + { ETHERTYPE_SLOW, "Slow Protocols" }, { ETHERTYPE_PPPOED, "PPPoE D" }, { ETHERTYPE_PPPOES, "PPPoE S" }, { ETHERTYPE_EAPOL, "EAPOL" }, @@ -136,7 +137,7 @@ ether_print(const u_char *p, u_int length, u_int caplen) if (!eflag) ether_hdr_print((u_char *)ep, length + ETHER_HDRLEN); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } else if (ether_encap_print(ether_type, p, length, caplen, @@ -145,7 +146,7 @@ ether_print(const u_char *p, u_int length, u_int caplen) if (!eflag) ether_hdr_print((u_char *)ep, length + ETHER_HDRLEN); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } @@ -245,7 +246,7 @@ ether_encap_print(u_short ether_type, const u_char *p, ether_hdr_print(p - 18, length + 4); } - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p - 18, caplen + 4); return (1); @@ -270,7 +271,7 @@ ether_encap_print(u_short ether_type, const u_char *p, ether_hdr_print(p - 16, length + 2); } - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p - 16, caplen + 2); return (1); @@ -295,6 +296,10 @@ ether_encap_print(u_short ether_type, const u_char *p, } return (1); + case ETHERTYPE_SLOW: + slow_print(p, length); + return (1); + case ETHERTYPE_LOOPBACK: return (1); diff --git a/contrib/tcpdump/print-fddi.c b/contrib/tcpdump/print-fddi.c index d4112e1..7d12a30 100644 --- a/contrib/tcpdump/print-fddi.c +++ b/contrib/tcpdump/print-fddi.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-fddi.c,v 1.64 2004/03/17 23:24:37 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-fddi.c,v 1.64.2.1 2005/07/07 01:24:35 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -280,7 +280,7 @@ fddi_print(const u_char *p, u_int length, u_int caplen) printf("(LLC %s) ", etherproto_string(htons(extracted_ethertype))); } - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } else if ((fddip->fddi_fc & FDDIFC_CLFF) == FDDIFC_SMT) @@ -290,7 +290,7 @@ fddi_print(const u_char *p, u_int length, u_int caplen) if (!eflag) fddi_hdr_print(fddip, length + FDDI_HDRLEN, ESRC(&ehdr), EDST(&ehdr)); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } diff --git a/contrib/tcpdump/print-fr.c b/contrib/tcpdump/print-fr.c index fd04dce..189612d 100644 --- a/contrib/tcpdump/print-fr.c +++ b/contrib/tcpdump/print-fr.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#)$Header: /tcpdump/master/tcpdump/print-fr.c,v 1.32.2.4 2005/05/27 14:56:52 hannes Exp $ (LBL)"; + "@(#)$Header: /tcpdump/master/tcpdump/print-fr.c,v 1.32.2.12 2005/08/23 03:15:51 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -82,6 +82,20 @@ struct tok fr_header_flag_values[] = { { 0, NULL } }; +/* FRF.15 / FRF.16 */ +#define MFR_B_BIT 0x80 +#define MFR_E_BIT 0x40 +#define MFR_C_BIT 0x20 +#define MFR_BEC_MASK (MFR_B_BIT | MFR_E_BIT | MFR_C_BIT) +#define MFR_CTRL_FRAME (MFR_B_BIT | MFR_E_BIT | MFR_C_BIT) +#define MFR_FRAG_FRAME (MFR_B_BIT | MFR_E_BIT ) + +struct tok frf_flag_values[] = { + { MFR_B_BIT, "Begin" }, + { MFR_E_BIT, "End" }, + { MFR_C_BIT, "Control" }, + { 0, NULL } +}; /* Finds out Q.922 address length, DLCI and flags. Returns 0 on success * save the flags dep. on address length @@ -250,7 +264,6 @@ fr_print(register const u_char *p, u_int length) if (eflag) fr_hdr_print(length, addr_len, dlci, flags, nlpid); - p += hdr_len; length -= hdr_len; @@ -276,7 +289,7 @@ fr_print(register const u_char *p, u_int length) if (!eflag) fr_hdr_print(length + hdr_len, hdr_len, dlci, flags, nlpid); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p - hdr_len, length + hdr_len); } break; @@ -305,6 +318,191 @@ fr_print(register const u_char *p, u_int length) } +#define MFR_CTRL_MSG_ADD_LINK 1 +#define MFR_CTRL_MSG_ADD_LINK_ACK 2 +#define MFR_CTRL_MSG_ADD_LINK_REJ 3 +#define MFR_CTRL_MSG_HELLO 4 +#define MFR_CTRL_MSG_HELLO_ACK 5 +#define MFR_CTRL_MSG_REMOVE_LINK 6 +#define MFR_CTRL_MSG_REMOVE_LINK_ACK 7 + +struct tok mfr_ctrl_msg_values[] = { + { MFR_CTRL_MSG_ADD_LINK, "Add Link" }, + { MFR_CTRL_MSG_ADD_LINK_ACK, "Add Link ACK" }, + { MFR_CTRL_MSG_ADD_LINK_REJ, "Add Link Reject" }, + { MFR_CTRL_MSG_HELLO, "Hello" }, + { MFR_CTRL_MSG_HELLO_ACK, "Hello ACK" }, + { MFR_CTRL_MSG_REMOVE_LINK, "Remove Link" }, + { MFR_CTRL_MSG_REMOVE_LINK_ACK, "Remove Link ACK" }, + { 0, NULL } +}; + +#define MFR_CTRL_IE_BUNDLE_ID 1 +#define MFR_CTRL_IE_LINK_ID 2 +#define MFR_CTRL_IE_MAGIC_NUM 3 +#define MFR_CTRL_IE_TIMESTAMP 5 +#define MFR_CTRL_IE_VENDOR_EXT 6 +#define MFR_CTRL_IE_CAUSE 7 + +struct tok mfr_ctrl_ie_values[] = { + { MFR_CTRL_IE_BUNDLE_ID, "Bundle ID"}, + { MFR_CTRL_IE_LINK_ID, "Link ID"}, + { MFR_CTRL_IE_MAGIC_NUM, "Magic Number"}, + { MFR_CTRL_IE_TIMESTAMP, "Timestamp"}, + { MFR_CTRL_IE_VENDOR_EXT, "Vendor Extension"}, + { MFR_CTRL_IE_CAUSE, "Cause"}, + { 0, NULL } +}; + +#define MFR_ID_STRING_MAXLEN 50 + +struct ie_tlv_header_t { + u_int8_t ie_type; + u_int8_t ie_len; +}; + +u_int +mfr_print(register const u_char *p, u_int length) +{ + u_int tlen,idx,hdr_len = 0; + u_int16_t sequence_num; + u_int8_t ie_type,ie_len; + const u_int8_t *tptr; + + +/* + * FRF.16 Link Integrity Control Frame + * + * 7 6 5 4 3 2 1 0 + * +----+----+----+----+----+----+----+----+ + * | B | E | C=1| 0 0 0 0 | EA | + * +----+----+----+----+----+----+----+----+ + * | 0 0 0 0 0 0 0 0 | + * +----+----+----+----+----+----+----+----+ + * | message type | + * +----+----+----+----+----+----+----+----+ + */ + + TCHECK2(*p, 4); /* minimum frame header length */ + + if ((p[0] & MFR_BEC_MASK) == MFR_CTRL_FRAME && p[1] == 0) { + printf("FRF.16 Control, Flags [%s], %s, length %u", + bittok2str(frf_flag_values,"none",(p[0] & MFR_BEC_MASK)), + tok2str(mfr_ctrl_msg_values,"Unknown Message (0x%02x)",p[2]), + length); + tptr = p + 3; + tlen = length -3; + hdr_len = 3; + + if (!vflag) + return hdr_len; + + while (tlen>sizeof(struct ie_tlv_header_t)) { + TCHECK2(*tptr, sizeof(struct ie_tlv_header_t)); + ie_type=tptr[0]; + ie_len=tptr[1]; + + printf("\n\tIE %s (%u), length %u: ", + tok2str(mfr_ctrl_ie_values,"Unknown",ie_type), + ie_type, + ie_len); + + /* infinite loop check */ + if (ie_type == 0 || ie_len <= sizeof(struct ie_tlv_header_t)) + return hdr_len; + + TCHECK2(*tptr,ie_len); + tptr+=sizeof(struct ie_tlv_header_t); + /* tlv len includes header */ + ie_len-=sizeof(struct ie_tlv_header_t); + tlen-=sizeof(struct ie_tlv_header_t); + + switch (ie_type) { + + case MFR_CTRL_IE_MAGIC_NUM: + printf("0x%08x",EXTRACT_32BITS(tptr)); + break; + + case MFR_CTRL_IE_BUNDLE_ID: /* same message format */ + case MFR_CTRL_IE_LINK_ID: + for (idx = 0; idx < ie_len && idx < MFR_ID_STRING_MAXLEN; idx++) { + if (*(tptr+idx) != 0) /* don't print null termination */ + safeputchar(*(tptr+idx)); + else + break; + } + break; + + case MFR_CTRL_IE_TIMESTAMP: + if (ie_len == sizeof(struct timeval)) { + ts_print((const struct timeval *)tptr); + break; + } + /* fall through and hexdump if no unix timestamp */ + + /* + * FIXME those are the defined IEs that lack a decoder + * you are welcome to contribute code ;-) + */ + + case MFR_CTRL_IE_VENDOR_EXT: + case MFR_CTRL_IE_CAUSE: + + default: + if (vflag <= 1) + print_unknown_data(tptr,"\n\t ",ie_len); + break; + } + + /* do we want to see a hexdump of the IE ? */ + if (vflag > 1 ) + print_unknown_data(tptr,"\n\t ",ie_len); + + tlen-=ie_len; + tptr+=ie_len; + } + return hdr_len; + } +/* + * FRF.16 Fragmentation Frame + * + * 7 6 5 4 3 2 1 0 + * +----+----+----+----+----+----+----+----+ + * | B | E | C=0|seq. (high 4 bits) | EA | + * +----+----+----+----+----+----+----+----+ + * | sequence (low 8 bits) | + * +----+----+----+----+----+----+----+----+ + * | DLCI (6 bits) | CR | EA | + * +----+----+----+----+----+----+----+----+ + * | DLCI (4 bits) |FECN|BECN| DE | EA | + * +----+----+----+----+----+----+----+----+ + */ + + sequence_num = (p[0]&0x1e)<<7 | p[1]; + /* whole packet or first fragment ? */ + if ((p[0] & MFR_BEC_MASK) == MFR_FRAG_FRAME || + (p[0] & MFR_BEC_MASK) == MFR_B_BIT) { + printf("FRF.16 Frag, seq %u, Flags [%s], ", + sequence_num, + bittok2str(frf_flag_values,"none",(p[0] & MFR_BEC_MASK))); + hdr_len = 2; + fr_print(p+hdr_len,length-hdr_len); + return hdr_len; + } + + /* must be a middle or the last fragment */ + printf("FRF.16 Frag, seq %u, Flags [%s]", + sequence_num, + bittok2str(frf_flag_values,"none",(p[0] & MFR_BEC_MASK))); + print_unknown_data(p,"\n\t",length); + + return hdr_len; + + trunc: + printf("[|mfr]"); + return length; +} + /* an NLPID of 0xb1 indicates a 2-byte * FRF.15 header * @@ -320,13 +518,6 @@ fr_print(register const u_char *p, u_int length) * +----+----+----+----+----+----+----+----+ */ -struct tok frf15_flag_values[] = { - { 0x80, "Begin" }, - { 0x40, "End" }, - { 0x20, "Control" }, - { 0, NULL } -}; - #define FR_FRF15_FRAGTYPE 0x01 static void @@ -334,13 +525,13 @@ frf15_print (const u_char *p, u_int length) { u_int16_t sequence_num, flags; - flags = p[0]&0xe0; + flags = p[0]&MFR_BEC_MASK; sequence_num = (p[0]&0x1e)<<7 | p[1]; printf("FRF.15, seq 0x%03x, Flags [%s],%s Fragmentation, length %u", sequence_num, - bittok2str(frf15_flag_values,"none",flags), - flags&FR_FRF15_FRAGTYPE ? "Interface" : "End-to-End", + bittok2str(frf_flag_values,"none",flags), + p[0]&FR_FRF15_FRAGTYPE ? "Interface" : "End-to-End", length); /* TODO: @@ -452,10 +643,10 @@ struct tok fr_lmi_report_type_ie_values[] = { { 0, NULL } }; -/* array of 16 codepages - currently we only support codepage 5 */ +/* array of 16 codepages - currently we only support codepage 1,5 */ static struct tok *fr_q933_ie_codesets[] = { NULL, - NULL, + fr_q933_ie_values_codeset5, NULL, NULL, NULL, @@ -472,22 +663,16 @@ static struct tok *fr_q933_ie_codesets[] = { NULL }; - -struct common_ie_header { - u_int8_t ie_id; - u_int8_t ie_len; -}; - -static int fr_q933_print_ie_codeset5(const struct common_ie_header *ie_p, +static int fr_q933_print_ie_codeset5(const struct ie_tlv_header_t *ie_p, const u_char *p); -typedef int (*codeset_pr_func_t)(const struct common_ie_header *ie_p, +typedef int (*codeset_pr_func_t)(const struct ie_tlv_header_t *ie_p, const u_char *p); -/* array of 16 codepages - currently we only support codepage 5 */ +/* array of 16 codepages - currently we only support codepage 1,5 */ static codeset_pr_func_t fr_q933_print_ie_codeset[] = { NULL, - NULL, + fr_q933_print_ie_codeset5, NULL, NULL, NULL, @@ -508,10 +693,11 @@ void q933_print(const u_char *p, u_int length) { const u_char *ptemp = p; - struct common_ie_header *ie_p; + struct ie_tlv_header_t *ie_p; int olen; int is_ansi = 0; u_int codeset; + u_int ie_is_known = 0; if (length < 9) { /* shortest: Q.933a LINK VERIFY */ printf("[|q.933]"); @@ -526,7 +712,7 @@ q933_print(const u_char *p, u_int length) printf("%s", eflag ? "" : "Q.933, "); /* printing out header part */ - printf(is_ansi ? "ANSI" : "CCITT"); + printf("%s, codeset %u", is_ansi ? "ANSI" : "CCITT", codeset); if (p[0]) printf(", Call Ref: 0x%02x", p[0]); @@ -550,10 +736,10 @@ q933_print(const u_char *p, u_int length) ptemp += 2 + is_ansi; /* Loop through the rest of IE */ - while (length > sizeof(struct common_ie_header)) { - ie_p = (struct common_ie_header *)ptemp; - if (length < sizeof(struct common_ie_header) || - length < sizeof(struct common_ie_header) + ie_p->ie_len) { + while (length > sizeof(struct ie_tlv_header_t )) { + ie_p = (struct ie_tlv_header_t *)ptemp; + if (length < sizeof(struct ie_tlv_header_t ) || + length < sizeof(struct ie_tlv_header_t ) + ie_p->ie_len) { if (vflag) /* not bark if there is just a trailer */ printf("\n[|q.933]"); else @@ -565,19 +751,23 @@ q933_print(const u_char *p, u_int length) * however some IEs (DLCI Status, Link Verify) * are also intereststing in non-verbose mode */ if (vflag) - printf("\n\t%s IE (%u), length %u: ", - tok2str(fr_q933_ie_codesets[codeset],"unknown",ie_p->ie_id), - ie_p->ie_id, + printf("\n\t%s IE (0x%02x), length %u: ", + tok2str(fr_q933_ie_codesets[codeset],"unknown",ie_p->ie_type), + ie_p->ie_type, ie_p->ie_len); - - if (!fr_q933_print_ie_codeset[codeset] || - (*fr_q933_print_ie_codeset[codeset])(ie_p, ptemp)) { - if (vflag <= 1) - print_unknown_data(ptemp+2,"\n\t",ie_p->ie_len); - } + + /* sanity check */ + if (ie_p->ie_type == 0 || ie_p->ie_len == 0) + return; + + if (fr_q933_print_ie_codeset[codeset] != NULL) + ie_is_known = fr_q933_print_ie_codeset[codeset](ie_p, ptemp); + + if (vflag >= 1 && !ie_is_known) + print_unknown_data(ptemp+2,"\n\t",ie_p->ie_len); /* do we want to see a hexdump of the IE ? */ - if (vflag> 1) + if (vflag> 1 && ie_is_known) print_unknown_data(ptemp+2,"\n\t ",ie_p->ie_len); length = length - ie_p->ie_len - 2; @@ -588,11 +778,11 @@ q933_print(const u_char *p, u_int length) } static int -fr_q933_print_ie_codeset5(const struct common_ie_header *ie_p, const u_char *p) +fr_q933_print_ie_codeset5(const struct ie_tlv_header_t *ie_p, const u_char *p) { u_int dlci; - switch (ie_p->ie_id) { + switch (ie_p->ie_type) { case FR_LMI_ANSI_REPORT_TYPE_IE: /* fall through */ case FR_LMI_CCITT_REPORT_TYPE_IE: diff --git a/contrib/tcpdump/print-icmp6.c b/contrib/tcpdump/print-icmp6.c index 2d47ea6..c503924 100644 --- a/contrib/tcpdump/print-icmp6.c +++ b/contrib/tcpdump/print-icmp6.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-icmp6.c,v 1.79.2.4 2005/05/14 00:42:54 guy Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/print-icmp6.c,v 1.79.2.6 2005/09/05 09:29:28 guy Exp $"; #endif #ifdef HAVE_CONFIG_H @@ -75,7 +75,7 @@ static struct tok icmp6_type_values[] = { { ND_ROUTER_SOLICIT, "router solicitation"}, { ND_ROUTER_ADVERT, "router advertisement"}, { ND_NEIGHBOR_SOLICIT, "neighbor solicitation"}, - { ND_NEIGHBOR_ADVERT, "neighbor advertisment"}, + { ND_NEIGHBOR_ADVERT, "neighbor advertisement"}, { ND_REDIRECT, "redirect"}, { ICMP6_ROUTER_RENUMBERING, "router renumbering"}, { IND_SOLICIT, "inverse neighbor solicitation"}, @@ -131,7 +131,7 @@ static struct tok icmp6_opt_values[] = { { ND_OPT_PREFIX_INFORMATION, "prefix info"}, { ND_OPT_REDIRECTED_HEADER, "redirected header"}, { ND_OPT_MTU, "mtu"}, - { ND_OPT_ADVINTERVAL, "advertisment interval"}, + { ND_OPT_ADVINTERVAL, "advertisement interval"}, { ND_OPT_HOMEAGENT_INFO, "homeagent information"}, { ND_OPT_ROUTE_INFO, "route info"}, { 0, NULL } @@ -764,13 +764,13 @@ mldv2_report_print(const u_char *bp, u_int len) printf(" [invalid number of groups]"); return; } - TCHECK2(bp[group + 4], 16); + TCHECK2(bp[group + 4], sizeof(struct in6_addr)); printf(" [gaddr %s", ip6addr_string(&bp[group + 4])); printf(" %s", tok2str(mldv2report2str, " [v2-report-#%d]", bp[group])); nsrcs = (bp[group + 2] << 8) + bp[group + 3]; /* Check the number of sources and print them */ - if (len < group + 20 + (nsrcs * 16)) { + if (len < group + 20 + (nsrcs * sizeof(struct in6_addr))) { printf(" [invalid number of sources %d]", nsrcs); return; } @@ -780,13 +780,14 @@ mldv2_report_print(const u_char *bp, u_int len) /* Print the sources */ (void)printf(" {"); for (j = 0; j < nsrcs; j++) { - TCHECK2(bp[group + 20 + j * 16], 16); - printf(" %s", ip6addr_string(&bp[group + 20 + j * 16])); + TCHECK2(bp[group + 20 + j * sizeof(struct in6_addr)], + sizeof(struct in6_addr)); + printf(" %s", ip6addr_string(&bp[group + 20 + j * sizeof(struct in6_addr)])); } (void)printf(" }"); } /* Next group record */ - group += 20 + nsrcs * 16; + group += 20 + nsrcs * sizeof(struct in6_addr); printf("]"); } } @@ -820,7 +821,7 @@ mldv2_query_print(const u_char *bp, u_int len) if (vflag) { (void)printf(" [max resp delay=%d]", mrt); } - TCHECK2(bp[8], 16); + TCHECK2(bp[8], sizeof(struct in6_addr)); printf(" [gaddr %s", ip6addr_string(&bp[8])); if (vflag) { @@ -842,13 +843,14 @@ mldv2_query_print(const u_char *bp, u_int len) TCHECK2(bp[26], 2); nsrcs = ntohs(*(u_short *)&bp[26]); if (nsrcs > 0) { - if (len < 28 + nsrcs * 16) + if (len < 28 + nsrcs * sizeof(struct in6_addr)) printf(" [invalid number of sources]"); else if (vflag > 1) { printf(" {"); for (i = 0; i < nsrcs; i++) { - TCHECK2(bp[28 + i * 16], 16); - printf(" %s", ip6addr_string(&bp[28 + i * 16])); + TCHECK2(bp[28 + i * sizeof(struct in6_addr)], + sizeof(struct in6_addr)); + printf(" %s", ip6addr_string(&bp[28 + i * sizeof(struct in6_addr)])); } printf(" }"); } else diff --git a/contrib/tcpdump/print-ip.c b/contrib/tcpdump/print-ip.c index ed81c5b..c5bac0b 100644 --- a/contrib/tcpdump/print-ip.c +++ b/contrib/tcpdump/print-ip.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.149.2.1 2005/05/20 21:15:46 hannes Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.149.2.2 2005/09/20 06:05:38 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -411,6 +411,10 @@ again: case IPPROTO_SCTP: sctp_print(ipds->cp, (const u_char *)ipds->ip, ipds->len); break; + + case IPPROTO_DCCP: + dccp_print(ipds->cp, (const u_char *)ipds->ip, ipds->len); + break; case IPPROTO_TCP: tcp_print(ipds->cp, ipds->len, (const u_char *)ipds->ip, @@ -665,7 +669,7 @@ ip_print(netdissect_options *ndo, ipds->nh = ipds->ip->ip_p; if (ipds->nh != IPPROTO_TCP && ipds->nh != IPPROTO_UDP && - ipds->nh != IPPROTO_SCTP) { + ipds->nh != IPPROTO_SCTP && ipds->nh != IPPROTO_DCCP) { (void)printf("%s > %s: ", ipaddr_string(&ipds->ip->ip_src), ipaddr_string(&ipds->ip->ip_dst)); diff --git a/contrib/tcpdump/print-ip6.c b/contrib/tcpdump/print-ip6.c index cb9f803..9361f8f 100644 --- a/contrib/tcpdump/print-ip6.c +++ b/contrib/tcpdump/print-ip6.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-ip6.c,v 1.47.2.2 2005/07/03 20:36:33 hannes Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ip6.c,v 1.47.2.3 2005/09/20 06:05:38 guy Exp $"; #endif #ifdef HAVE_CONFIG_H @@ -116,7 +116,7 @@ ip6_print(register const u_char *bp, register u_int length) if (cp == (const u_char *)(ip6 + 1) && nh != IPPROTO_TCP && nh != IPPROTO_UDP && - nh != IPPROTO_SCTP) { + nh != IPPROTO_DCCP && nh != IPPROTO_SCTP) { (void)printf("%s > %s: ", ip6addr_string(&ip6->ip6_src), ip6addr_string(&ip6->ip6_dst)); } @@ -160,6 +160,9 @@ ip6_print(register const u_char *bp, register u_int length) case IPPROTO_SCTP: sctp_print(cp, (const u_char *)ip6, len); return; + case IPPROTO_DCCP: + dccp_print(cp, (const u_char *)ip6, len); + return; case IPPROTO_TCP: tcp_print(cp, len, (const u_char *)ip6, fragmented); return; diff --git a/contrib/tcpdump/print-ipfc.c b/contrib/tcpdump/print-ipfc.c index 6fa4fe1..d316992 100644 --- a/contrib/tcpdump/print-ipfc.c +++ b/contrib/tcpdump/print-ipfc.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-ipfc.c,v 1.7 2004/03/17 23:24:37 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ipfc.c,v 1.7.2.1 2005/07/07 01:24:36 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -117,7 +117,7 @@ ipfc_print(const u_char *p, u_int length, u_int caplen) printf("(LLC %s) ", etherproto_string(htons(extracted_ethertype))); } - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } diff --git a/contrib/tcpdump/print-isoclns.c b/contrib/tcpdump/print-isoclns.c index 77c03ed..ca2481f 100644 --- a/contrib/tcpdump/print-isoclns.c +++ b/contrib/tcpdump/print-isoclns.c @@ -26,7 +26,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-isoclns.c,v 1.133.2.12 2005/06/16 01:14:52 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-isoclns.c,v 1.133.2.19 2005/09/20 10:15:22 hannes Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -110,7 +110,9 @@ static struct tok isis_pdu_values[] = { #define ISIS_TLV_LSP 9 /* iso10589 */ #define ISIS_TLV_AUTH 10 /* iso10589, rfc3567 */ #define ISIS_TLV_CHECKSUM 12 /* rfc3358 */ +#define ISIS_TLV_CHECKSUM_MINLEN 2 #define ISIS_TLV_LSP_BUFFERSIZE 14 /* iso10589 rev2 */ +#define ISIS_TLV_LSP_BUFFERSIZE_MINLEN 2 #define ISIS_TLV_EXT_IS_REACH 22 /* draft-ietf-isis-traffic-05 */ #define ISIS_TLV_IS_ALIAS_ID 24 /* draft-ietf-isis-ext-lsp-frags-02 */ #define ISIS_TLV_DECNET_PHASE4 42 @@ -119,6 +121,7 @@ static struct tok isis_pdu_values[] = { #define ISIS_TLV_PROTOCOLS 129 /* rfc1195 */ #define ISIS_TLV_EXT_IP_REACH 130 /* rfc1195, rfc2966 */ #define ISIS_TLV_IDRP_INFO 131 /* rfc1195 */ +#define ISIS_TLV_IDRP_INFO_MINLEN 1 #define ISIS_TLV_IPADDR 132 /* rfc1195 */ #define ISIS_TLV_IPAUTH 133 /* rfc1195 */ #define ISIS_TLV_TE_ROUTER_ID 134 /* draft-ietf-isis-traffic-05 */ @@ -128,15 +131,20 @@ static struct tok isis_pdu_values[] = { #define ISIS_TLV_NORTEL_PRIVATE1 176 #define ISIS_TLV_NORTEL_PRIVATE2 177 #define ISIS_TLV_RESTART_SIGNALING 211 /* rfc3847 */ +#define ISIS_TLV_RESTART_SIGNALING_FLAGLEN 1 +#define ISIS_TLV_RESTART_SIGNALING_HOLDTIMELEN 2 #define ISIS_TLV_MT_IS_REACH 222 /* draft-ietf-isis-wg-multi-topology-05 */ #define ISIS_TLV_MT_SUPPORTED 229 /* draft-ietf-isis-wg-multi-topology-05 */ +#define ISIS_TLV_MT_SUPPORTED_MINLEN 2 #define ISIS_TLV_IP6ADDR 232 /* draft-ietf-isis-ipv6-02 */ #define ISIS_TLV_MT_IP_REACH 235 /* draft-ietf-isis-wg-multi-topology-05 */ #define ISIS_TLV_IP6_REACH 236 /* draft-ietf-isis-ipv6-02 */ #define ISIS_TLV_MT_IP6_REACH 237 /* draft-ietf-isis-wg-multi-topology-05 */ #define ISIS_TLV_PTP_ADJ 240 /* rfc3373 */ #define ISIS_TLV_IIH_SEQNR 241 /* draft-shen-isis-iih-sequence-00 */ +#define ISIS_TLV_IIH_SEQNR_MINLEN 4 #define ISIS_TLV_VENDOR_PRIVATE 250 /* draft-ietf-isis-experimental-tlv-01 */ +#define ISIS_TLV_VENDOR_PRIVATE_MINLEN 3 static struct tok isis_tlv_values[] = { { ISIS_TLV_AREA_ADDR, "Area address(es)"}, @@ -336,11 +344,12 @@ static struct tok clnp_option_qos_global_values[] = { #define ISIS_SUBTLV_EXT_IS_REACH_IPV4_NEIGHBOR_ADDR 8 /* draft-ietf-isis-traffic-05 */ #define ISIS_SUBTLV_EXT_IS_REACH_MAX_LINK_BW 9 /* draft-ietf-isis-traffic-05 */ #define ISIS_SUBTLV_EXT_IS_REACH_RESERVABLE_BW 10 /* draft-ietf-isis-traffic-05 */ -#define ISIS_SUBTLV_EXT_IS_REACH_UNRESERVED_BW 11 /* draft-ietf-isis-traffic-05 */ -#define ISIS_SUBTLV_EXT_IS_REACH_DIFFSERV_TE 12 /* draft-ietf-tewg-diff-te-proto-06 */ +#define ISIS_SUBTLV_EXT_IS_REACH_UNRESERVED_BW 11 /* rfc4124 */ +#define ISIS_SUBTLV_EXT_IS_REACH_BW_CONSTRAINTS_OLD 12 /* draft-ietf-tewg-diff-te-proto-06 */ #define ISIS_SUBTLV_EXT_IS_REACH_TE_METRIC 18 /* draft-ietf-isis-traffic-05 */ #define ISIS_SUBTLV_EXT_IS_REACH_LINK_PROTECTION_TYPE 20 /* draft-ietf-isis-gmpls-extensions */ #define ISIS_SUBTLV_EXT_IS_REACH_INTF_SW_CAP_DESCR 21 /* draft-ietf-isis-gmpls-extensions */ +#define ISIS_SUBTLV_EXT_IS_REACH_BW_CONSTRAINTS 22 /* rfc4124 */ static struct tok isis_ext_is_reach_subtlv_values[] = { { ISIS_SUBTLV_EXT_IS_REACH_ADMIN_GROUP, "Administrative groups" }, @@ -351,10 +360,11 @@ static struct tok isis_ext_is_reach_subtlv_values[] = { { ISIS_SUBTLV_EXT_IS_REACH_MAX_LINK_BW, "Maximum link bandwidth" }, { ISIS_SUBTLV_EXT_IS_REACH_RESERVABLE_BW, "Reservable link bandwidth" }, { ISIS_SUBTLV_EXT_IS_REACH_UNRESERVED_BW, "Unreserved bandwidth" }, - { ISIS_SUBTLV_EXT_IS_REACH_DIFFSERV_TE, "Diffserv TE" }, { ISIS_SUBTLV_EXT_IS_REACH_TE_METRIC, "Traffic Engineering Metric" }, { ISIS_SUBTLV_EXT_IS_REACH_LINK_PROTECTION_TYPE, "Link Protection Type" }, { ISIS_SUBTLV_EXT_IS_REACH_INTF_SW_CAP_DESCR, "Interface Switching Capability" }, + { ISIS_SUBTLV_EXT_IS_REACH_BW_CONSTRAINTS_OLD, "Bandwidth Constraints (old)" }, + { ISIS_SUBTLV_EXT_IS_REACH_BW_CONSTRAINTS, "Bandwidth Constraints" }, { 250, "Reserved for cisco specific extensions" }, { 251, "Reserved for cisco specific extensions" }, { 252, "Reserved for cisco specific extensions" }, @@ -780,6 +790,7 @@ static int clnp_print (const u_int8_t *pptr, u_int length) if (clnp_flags & CLNP_SEGMENT_PART) { clnp_segment_header = (const struct clnp_segment_header_t *) pptr; + TCHECK(*clnp_segment_header); printf("\n\tData Unit ID: 0x%04x, Segment Offset: %u, Total PDU Length: %u", EXTRACT_16BITS(clnp_segment_header->data_unit_id), EXTRACT_16BITS(clnp_segment_header->segment_offset), @@ -840,7 +851,7 @@ static int clnp_print (const u_int8_t *pptr, u_int length) if (tlen < source_address_length+1) { printf("\n\t NSAP address goes past end of option"); break; - } + } if (source_address_length > 0) { source_address=(tptr+1); TCHECK2(*source_address, source_address_length); @@ -1398,9 +1409,9 @@ trunctlv: */ static int -isis_print_is_reach_subtlv (const u_int8_t *tptr,int subt,int subl,const char *ident) { +isis_print_is_reach_subtlv (const u_int8_t *tptr,u_int subt,u_int subl,const char *ident) { - int priority_level,bandwidth_constraint; + u_int te_class,priority_level; union { /* int to float conversion buffer for several subTLVs */ float f; u_int32_t i; @@ -1430,7 +1441,7 @@ isis_print_is_reach_subtlv (const u_int8_t *tptr,int subt,int subl,const char *i break; case ISIS_SUBTLV_EXT_IS_REACH_IPV4_INTF_ADDR: case ISIS_SUBTLV_EXT_IS_REACH_IPV4_NEIGHBOR_ADDR: - if (subl >= 4) + if (subl >= sizeof(struct in_addr)) printf(", %s", ipaddr_string(tptr)); break; case ISIS_SUBTLV_EXT_IS_REACH_MAX_LINK_BW : @@ -1442,28 +1453,29 @@ isis_print_is_reach_subtlv (const u_int8_t *tptr,int subt,int subl,const char *i break; case ISIS_SUBTLV_EXT_IS_REACH_UNRESERVED_BW : if (subl >= 32) { - for (priority_level = 0; priority_level < 8; priority_level++) { + for (te_class = 0; te_class < 8; te_class++) { bw.i = EXTRACT_32BITS(tptr); - printf("%s priority level %d: %.3f Mbps", + printf("%s TE-Class %u: %.3f Mbps", ident, - priority_level, + te_class, bw.f*8/1000000 ); tptr+=4; } } break; - case ISIS_SUBTLV_EXT_IS_REACH_DIFFSERV_TE: + case ISIS_SUBTLV_EXT_IS_REACH_BW_CONSTRAINTS: /* fall through */ + case ISIS_SUBTLV_EXT_IS_REACH_BW_CONSTRAINTS_OLD: printf("%sBandwidth Constraints Model ID: %s (%u)", ident, tok2str(diffserv_te_bc_values, "unknown", *tptr), *tptr); tptr++; /* decode BCs until the subTLV ends */ - for (bandwidth_constraint = 0; bandwidth_constraint < (subl-1)/4; bandwidth_constraint++) { + for (te_class = 0; te_class < (subl-1)/4; te_class++) { bw.i = EXTRACT_32BITS(tptr); - printf("%s Bandwidth constraint %d: %.3f Mbps", + printf("%s Bandwidth constraint CT%u: %.3f Mbps", ident, - bandwidth_constraint, + te_class, bw.f*8/1000000 ); tptr+=4; } @@ -1604,7 +1616,7 @@ static int isis_print_extd_ip_reach (const u_int8_t *tptr, const char *ident, u_int16_t afi) { char ident_buffer[20]; - u_int8_t prefix[16]; /* shared copy buffer for IPv4 and IPv6 prefixes */ + u_int8_t prefix[sizeof(struct in6_addr)]; /* shared copy buffer for IPv4 and IPv6 prefixes */ u_int metric, status_byte, bit_length, byte_length, sublen, processed, subtlvtype, subtlvlen; if (!TTEST2(*tptr, 4)) @@ -1634,7 +1646,7 @@ isis_print_extd_ip_reach (const u_int8_t *tptr, const char *ident, u_int16_t afi if (!TTEST2(*tptr, byte_length)) return (0); - memset(prefix, 0, 16); /* clear the copy buffer */ + memset(prefix, 0, sizeof(struct in6_addr)); /* clear the copy buffer */ memcpy(prefix,tptr,byte_length); /* copy as much as is stored in the TLV */ tptr+=byte_length; processed+=byte_length; @@ -2262,15 +2274,15 @@ static int isis_print (const u_int8_t *p, u_int length) break; case ISIS_TLV_IP6ADDR: - while (tmp>=16) { - if (!TTEST2(*tptr, 16)) + while (tmp>=sizeof(struct in6_addr)) { + if (!TTEST2(*tptr, sizeof(struct in6_addr))) goto trunctlv; printf("\n\t IPv6 interface address: %s", ip6addr_string(tptr)); - tptr += 16; - tmp -= 16; + tptr += sizeof(struct in6_addr); + tmp -= sizeof(struct in6_addr); } break; #endif @@ -2360,18 +2372,18 @@ static int isis_print (const u_int8_t *p, u_int length) break; case ISIS_TLV_TE_ROUTER_ID: - if (!TTEST2(*pptr, 4)) + if (!TTEST2(*pptr, sizeof(struct in_addr))) goto trunctlv; printf("\n\t Traffic Engineering Router ID: %s", ipaddr_string(pptr)); break; case ISIS_TLV_IPADDR: - while (tmp>=4) { - if (!TTEST2(*tptr, 4)) + while (tmp>=sizeof(struct in_addr)) { + if (!TTEST2(*tptr, sizeof(struct in_addr))) goto trunctlv; printf("\n\t IPv4 interface address: %s", ipaddr_string(tptr)); - tptr += 4; - tmp -= 4; + tptr += sizeof(struct in_addr); + tmp -= sizeof(struct in_addr); } break; @@ -2401,21 +2413,21 @@ static int isis_print (const u_int8_t *p, u_int length) printf(", Flags: [%s]", ISIS_MASK_TLV_SHARED_RISK_GROUP(*tptr++) ? "numbered" : "unnumbered"); tmp--; - if (tmp < 4) + if (tmp < sizeof(struct in_addr)) break; - if (!TTEST2(*tptr,4)) + if (!TTEST2(*tptr,sizeof(struct in_addr))) goto trunctlv; printf("\n\t IPv4 interface address: %s", ipaddr_string(tptr)); - tptr+=4; - tmp-=4; + tptr+=sizeof(struct in_addr); + tmp-=sizeof(struct in_addr); - if (tmp < 4) + if (tmp < sizeof(struct in_addr)) break; - if (!TTEST2(*tptr,4)) + if (!TTEST2(*tptr,sizeof(struct in_addr))) goto trunctlv; printf("\n\t IPv4 neighbor address: %s", ipaddr_string(tptr)); - tptr+=4; - tmp-=4; + tptr+=sizeof(struct in_addr); + tmp-=sizeof(struct in_addr); while (tmp>=4) { if (!TTEST2(*tptr, 4)) @@ -2448,9 +2460,9 @@ static int isis_print (const u_int8_t *p, u_int length) break; case ISIS_TLV_CHECKSUM: - if (tmp < 2) + if (tmp < ISIS_TLV_CHECKSUM_MINLEN) break; - if (!TTEST2(*tptr, 2)) + if (!TTEST2(*tptr, ISIS_TLV_CHECKSUM_MINLEN)) goto trunctlv; printf("\n\t checksum: 0x%04x ", EXTRACT_16BITS(tptr)); /* do not attempt to verify the checksum if it is zero @@ -2464,6 +2476,8 @@ static int isis_print (const u_int8_t *p, u_int length) break; case ISIS_TLV_MT_SUPPORTED: + if (tmp < ISIS_TLV_MT_SUPPORTED_MINLEN) + break; while (tmp>1) { /* length can only be a multiple of 2, otherwise there is something broken -> so decode down until length is 1 */ @@ -2481,30 +2495,41 @@ static int isis_print (const u_int8_t *p, u_int length) break; case ISIS_TLV_RESTART_SIGNALING: - if (tmp < 3) - break; - if (!TTEST2(*tptr, 3)) + /* first attempt to decode the flags */ + if (tmp < ISIS_TLV_RESTART_SIGNALING_FLAGLEN) + break; + if (!TTEST2(*tptr, ISIS_TLV_RESTART_SIGNALING_FLAGLEN)) goto trunctlv; - printf("\n\t Flags [%s], Remaining holding time %us", - bittok2str(isis_restart_flag_values, "none", *tptr), - EXTRACT_16BITS(tptr+1)); - tptr+=3; - tmp-=3; + printf("\n\t Flags [%s]", + bittok2str(isis_restart_flag_values, "none", *tptr)); + tptr+=ISIS_TLV_RESTART_SIGNALING_FLAGLEN; + tmp-=ISIS_TLV_RESTART_SIGNALING_FLAGLEN; + + /* is there anything other than the flags field? */ + if (tmp == 0) + break; + + if (tmp < ISIS_TLV_RESTART_SIGNALING_HOLDTIMELEN) + break; + if (!TTEST2(*tptr, ISIS_TLV_RESTART_SIGNALING_HOLDTIMELEN)) + goto trunctlv; + + printf(", Remaining holding time %us", EXTRACT_16BITS(tptr+1)); + tptr+=ISIS_TLV_RESTART_SIGNALING_HOLDTIMELEN; + tmp-=ISIS_TLV_RESTART_SIGNALING_HOLDTIMELEN; + + /* is there an additional sysid field present ?*/ if (tmp == SYSTEM_ID_LEN) { if (!TTEST2(*tptr, SYSTEM_ID_LEN)) goto trunctlv; printf(", for %s",isis_print_id(tptr,SYSTEM_ID_LEN)); - } else if (tmp == NODE_ID_LEN) { - if (!TTEST2(*tptr, NODE_ID_LEN)) - goto trunctlv; - printf(", for %s",isis_print_id(tptr,NODE_ID_LEN)); - } + } break; case ISIS_TLV_IDRP_INFO: - if (tmp < 1) + if (tmp < ISIS_TLV_IDRP_INFO_MINLEN) break; - if (!TTEST2(*tptr, 1)) + if (!TTEST2(*tptr, ISIS_TLV_IDRP_INFO_MINLEN)) goto trunctlv; printf("\n\t Inter-Domain Information Type: %s", tok2str(isis_subtlv_idrp_values, @@ -2526,9 +2551,9 @@ static int isis_print (const u_int8_t *p, u_int length) break; case ISIS_TLV_LSP_BUFFERSIZE: - if (tmp < 2) + if (tmp < ISIS_TLV_LSP_BUFFERSIZE_MINLEN) break; - if (!TTEST2(*tptr, 2)) + if (!TTEST2(*tptr, ISIS_TLV_LSP_BUFFERSIZE_MINLEN)) goto trunctlv; printf("\n\t LSP Buffersize: %u",EXTRACT_16BITS(tptr)); break; @@ -2575,17 +2600,17 @@ static int isis_print (const u_int8_t *p, u_int length) break; case ISIS_TLV_IIH_SEQNR: - if (tmp < 4) + if (tmp < ISIS_TLV_IIH_SEQNR_MINLEN) break; - if (!TTEST2(*tptr, 4)) /* check if four bytes are on the wire */ + if (!TTEST2(*tptr, ISIS_TLV_IIH_SEQNR_MINLEN)) /* check if four bytes are on the wire */ goto trunctlv; printf("\n\t Sequence number: %u", EXTRACT_32BITS(tptr) ); break; case ISIS_TLV_VENDOR_PRIVATE: - if (tmp < 3) + if (tmp < ISIS_TLV_VENDOR_PRIVATE_MINLEN) break; - if (!TTEST2(*tptr, 3)) /* check if enough byte for a full oui */ + if (!TTEST2(*tptr, ISIS_TLV_VENDOR_PRIVATE_MINLEN)) /* check if enough byte for a full oui */ goto trunctlv; vendor_id = EXTRACT_24BITS(tptr); printf("\n\t Vendor: %s (%u)", diff --git a/contrib/tcpdump/print-juniper.c b/contrib/tcpdump/print-juniper.c index 098f017..57de6d9 100644 --- a/contrib/tcpdump/print-juniper.c +++ b/contrib/tcpdump/print-juniper.c @@ -15,7 +15,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-juniper.c,v 1.8.2.13 2005/06/20 07:45:05 hannes Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-juniper.c,v 1.8.2.19 2005/08/23 10:29:42 hannes Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -40,14 +40,18 @@ static const char rcsid[] _U_ = #define JUNIPER_BPF_IN 1 /* Incoming packet */ #define JUNIPER_BPF_PKT_IN 0x1 /* Incoming packet */ #define JUNIPER_BPF_NO_L2 0x2 /* L2 header stripped */ +#define JUNIPER_BPF_EXT 0x80 /* extensions present */ #define JUNIPER_MGC_NUMBER 0x4d4743 /* = "MGC" */ +#define JUNIPER_LSQ_COOKIE_RE (1 << 3) +#define JUNIPER_LSQ_COOKIE_DIR (1 << 2) #define JUNIPER_LSQ_L3_PROTO_SHIFT 4 #define JUNIPER_LSQ_L3_PROTO_MASK (0x17 << JUNIPER_LSQ_L3_PROTO_SHIFT) #define JUNIPER_LSQ_L3_PROTO_IPV4 (0 << JUNIPER_LSQ_L3_PROTO_SHIFT) #define JUNIPER_LSQ_L3_PROTO_IPV6 (1 << JUNIPER_LSQ_L3_PROTO_SHIFT) #define JUNIPER_LSQ_L3_PROTO_MPLS (2 << JUNIPER_LSQ_L3_PROTO_SHIFT) #define JUNIPER_LSQ_L3_PROTO_ISO (3 << JUNIPER_LSQ_L3_PROTO_SHIFT) +#define AS_PIC_COOKIE_LEN 8 #define JUNIPER_IPSEC_O_ESP_ENCRYPT_ESP_AUTHEN_TYPE 1 #define JUNIPER_IPSEC_O_ESP_ENCRYPT_AH_AUTHEN_TYPE 2 @@ -141,6 +145,8 @@ struct juniper_l2info_t { #define JUNIPER_PROTO_IPV4 2 #define JUNIPER_PROTO_IPV6 6 +#define MFR_BE_MASK 0xc0 + static struct tok juniper_protocol_values[] = { { JUNIPER_PROTO_NULL, "Null" }, { JUNIPER_PROTO_IPV4, "IPv4" }, @@ -352,6 +358,74 @@ juniper_pppoe_print(const struct pcap_pkthdr *h, register const u_char *p) } #endif +#ifdef DLT_JUNIPER_ETHER +u_int +juniper_ether_print(const struct pcap_pkthdr *h, register const u_char *p) +{ + struct juniper_l2info_t l2info; + + l2info.pictype = DLT_JUNIPER_ETHER; + if(juniper_parse_header(p, h, &l2info) == 0) + return l2info.header_len; + + p+=l2info.header_len; + /* this DLT contains nothing but raw Ethernet frames */ + ether_print(p, l2info.length, l2info.caplen); + return l2info.header_len; +} +#endif + +#ifdef DLT_JUNIPER_PPP +u_int +juniper_ppp_print(const struct pcap_pkthdr *h, register const u_char *p) +{ + struct juniper_l2info_t l2info; + + l2info.pictype = DLT_JUNIPER_PPP; + if(juniper_parse_header(p, h, &l2info) == 0) + return l2info.header_len; + + p+=l2info.header_len; + /* this DLT contains nothing but raw ppp frames */ + ppp_print(p, l2info.length); + return l2info.header_len; +} +#endif + +#ifdef DLT_JUNIPER_FRELAY +u_int +juniper_frelay_print(const struct pcap_pkthdr *h, register const u_char *p) +{ + struct juniper_l2info_t l2info; + + l2info.pictype = DLT_JUNIPER_FRELAY; + if(juniper_parse_header(p, h, &l2info) == 0) + return l2info.header_len; + + p+=l2info.header_len; + /* this DLT contains nothing but raw frame-relay frames */ + fr_print(p, l2info.length); + return l2info.header_len; +} +#endif + +#ifdef DLT_JUNIPER_CHDLC +u_int +juniper_chdlc_print(const struct pcap_pkthdr *h, register const u_char *p) +{ + struct juniper_l2info_t l2info; + + l2info.pictype = DLT_JUNIPER_CHDLC; + if(juniper_parse_header(p, h, &l2info) == 0) + return l2info.header_len; + + p+=l2info.header_len; + /* this DLT contains nothing but raw c-hdlc frames */ + chdlc_print(p, l2info.length); + return l2info.header_len; +} +#endif + #ifdef DLT_JUNIPER_PPPOE_ATM u_int juniper_pppoe_atm_print(const struct pcap_pkthdr *h, register const u_char *p) @@ -402,7 +476,13 @@ juniper_mlppp_print(const struct pcap_pkthdr *h, register const u_char *p) /* first try the LSQ protos */ switch(l2info.proto) { case JUNIPER_LSQ_L3_PROTO_IPV4: - ip_print(gndo, p, l2info.length); + /* IP traffic going to the RE would not have a cookie + * -> this must be incoming IS-IS over PPP + */ + if (l2info.cookie[4] == (JUNIPER_LSQ_COOKIE_RE|JUNIPER_LSQ_COOKIE_DIR)) + ppp_print(p, l2info.length); + else + ip_print(gndo, p, l2info.length); return l2info.header_len; #ifdef INET6 case JUNIPER_LSQ_L3_PROTO_IPV6: @@ -446,6 +526,36 @@ juniper_mfr_print(const struct pcap_pkthdr *h, register const u_char *p) return l2info.header_len; p+=l2info.header_len; + + /* child-link ? */ + if (l2info.cookie_len == 0) { + mfr_print(p,l2info.length); + return l2info.header_len; + } + + /* first try the LSQ protos */ + if (l2info.cookie_len == AS_PIC_COOKIE_LEN) { + switch(l2info.proto) { + case JUNIPER_LSQ_L3_PROTO_IPV4: + ip_print(gndo, p, l2info.length); + return l2info.header_len; +#ifdef INET6 + case JUNIPER_LSQ_L3_PROTO_IPV6: + ip6_print(p,l2info.length); + return l2info.header_len; +#endif + case JUNIPER_LSQ_L3_PROTO_MPLS: + mpls_print(p,l2info.length); + return l2info.header_len; + case JUNIPER_LSQ_L3_PROTO_ISO: + isoclns_print(p,l2info.length,l2info.caplen); + return l2info.header_len; + default: + break; + } + return l2info.header_len; + } + /* suppress Bundle-ID if frame was captured on a child-link */ if (eflag && EXTRACT_32BITS(l2info.cookie) != 1) printf("Bundle-ID %u, ",l2info.bundle); switch (l2info.proto) { @@ -691,7 +801,7 @@ static int juniper_parse_header (const u_char *p, const struct pcap_pkthdr *h, struct juniper_l2info_t *l2info) { struct juniper_cookie_table_t *lp = juniper_cookie_table; - u_int idx; + u_int idx, offset; l2info->header_len = 0; l2info->cookie_len = 0; @@ -703,14 +813,22 @@ juniper_parse_header (const u_char *p, const struct pcap_pkthdr *h, struct junip l2info->direction = p[3]&JUNIPER_BPF_PKT_IN; TCHECK2(p[0],4); - if (EXTRACT_24BITS(p) != JUNIPER_MGC_NUMBER) /* magic number found ? */ + if (EXTRACT_24BITS(p) != JUNIPER_MGC_NUMBER) { /* magic number found ? */ + printf("no magic-number found!"); return 0; - else - l2info->header_len = 4; + } if (eflag) /* print direction */ printf("%3s ",tok2str(juniper_direction_values,"---",l2info->direction)); + /* extensions present ? - calculate how much bytes to skip */ + if ((p[3] & JUNIPER_BPF_EXT ) == JUNIPER_BPF_EXT ) { + offset = 6 + EXTRACT_16BITS(p+4); + if (eflag>1) + printf("ext-len %u, ",EXTRACT_16BITS(p+4)); + } else + offset = 4; + if ((p[3] & JUNIPER_BPF_NO_L2 ) == JUNIPER_BPF_NO_L2 ) { if (eflag) printf("no-L2-hdr, "); @@ -719,15 +837,15 @@ juniper_parse_header (const u_char *p, const struct pcap_pkthdr *h, struct junip * perform the v4/v6 heuristics * to figure out what it is */ - TCHECK2(p[8],1); - if(ip_heuristic_guess(p+8,l2info->length-8) == 0) + TCHECK2(p[offset+4],1); + if(ip_heuristic_guess(p+offset+4,l2info->length-(offset+4)) == 0) printf("no IP-hdr found!"); - l2info->header_len+=4; + l2info->header_len=offset+4; return 0; /* stop parsing the output further */ } - + l2info->header_len = offset; p+=l2info->header_len; l2info->length -= l2info->header_len; l2info->caplen -= l2info->header_len; @@ -736,19 +854,16 @@ juniper_parse_header (const u_char *p, const struct pcap_pkthdr *h, struct junip while (lp->s != NULL) { if (lp->pictype == l2info->pictype) { - l2info->cookie_len = lp->cookie_len; - l2info->header_len += lp->cookie_len; + l2info->cookie_len += lp->cookie_len; switch (p[0]) { case LS_COOKIE_ID: l2info->cookie_type = LS_COOKIE_ID; l2info->cookie_len += 2; - l2info->header_len += 2; break; case AS_COOKIE_ID: l2info->cookie_type = AS_COOKIE_ID; - l2info->cookie_len += 6; - l2info->header_len += 6; + l2info->cookie_len = 8; break; default: @@ -756,6 +871,19 @@ juniper_parse_header (const u_char *p, const struct pcap_pkthdr *h, struct junip break; } + +#ifdef DLT_JUNIPER_MFR + /* MFR child links don't carry cookies */ + if (l2info->pictype == DLT_JUNIPER_MFR && + (p[0] & MFR_BE_MASK) == MFR_BE_MASK) { + l2info->cookie_len = 0; + } +#endif + + l2info->header_len += l2info->cookie_len; + l2info->length -= l2info->cookie_len; + l2info->caplen -= l2info->cookie_len; + if (eflag) printf("%s-PIC, cookie-len %u", lp->s, @@ -783,6 +911,7 @@ juniper_parse_header (const u_char *p, const struct pcap_pkthdr *h, struct junip /* DLT_ specific parsing */ switch(l2info->pictype) { +#ifdef DLT_JUNIPER_MLPPP case DLT_JUNIPER_MLPPP: switch (l2info->cookie_type) { case LS_COOKIE_ID: @@ -797,24 +926,51 @@ juniper_parse_header (const u_char *p, const struct pcap_pkthdr *h, struct junip break; } break; - case DLT_JUNIPER_MLFR: /* fall through */ +#endif +#ifdef DLT_JUNIPER_MLFR + case DLT_JUNIPER_MLFR: + switch (l2info->cookie_type) { + case LS_COOKIE_ID: + l2info->bundle = l2info->cookie[1]; + l2info->proto = EXTRACT_16BITS(p); + l2info->header_len += 2; + l2info->length -= 2; + l2info->caplen -= 2; + break; + case AS_COOKIE_ID: + l2info->bundle = (EXTRACT_16BITS(&l2info->cookie[6])>>3)&0xfff; + l2info->proto = (l2info->cookie[5])&JUNIPER_LSQ_L3_PROTO_MASK; + break; + default: + l2info->bundle = l2info->cookie[0]; + l2info->header_len += 2; + l2info->length -= 2; + l2info->caplen -= 2; + break; + } + break; +#endif +#ifdef DLT_JUNIPER_MFR case DLT_JUNIPER_MFR: switch (l2info->cookie_type) { case LS_COOKIE_ID: l2info->bundle = l2info->cookie[1]; + l2info->proto = EXTRACT_16BITS(p); + l2info->header_len += 2; + l2info->length -= 2; + l2info->caplen -= 2; break; case AS_COOKIE_ID: l2info->bundle = (EXTRACT_16BITS(&l2info->cookie[6])>>3)&0xfff; + l2info->proto = (l2info->cookie[5])&JUNIPER_LSQ_L3_PROTO_MASK; break; default: l2info->bundle = l2info->cookie[0]; break; } - l2info->proto = EXTRACT_16BITS(p); - l2info->header_len += 2; - l2info->length -= 2; - l2info->caplen -= 2; break; +#endif +#ifdef DLT_JUNIPER_ATM2 case DLT_JUNIPER_ATM2: TCHECK2(p[0],4); /* ATM cell relay control word present ? */ @@ -824,8 +980,13 @@ juniper_parse_header (const u_char *p, const struct pcap_pkthdr *h, struct junip printf("control-word 0x%08x ",EXTRACT_32BITS(p)); } break; +#endif +#ifdef DLT_JUNIPER_ATM1 case DLT_JUNIPER_ATM1: + break; +#endif default: + printf("Unknown Juniper DLT_ type %u: ", l2info->pictype); break; } diff --git a/contrib/tcpdump/print-lane.c b/contrib/tcpdump/print-lane.c index 93ef256..25b291d 100644 --- a/contrib/tcpdump/print-lane.c +++ b/contrib/tcpdump/print-lane.c @@ -22,7 +22,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-lane.c,v 1.23 2004/03/17 23:24:37 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-lane.c,v 1.23.2.1 2005/07/07 01:24:37 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -146,7 +146,7 @@ lane_print(const u_char *p, u_int length, u_int caplen) printf("(LLC %s) ", etherproto_string(htons(extracted_ethertype))); } - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } else if (ether_encap_print(ether_type, p, length, caplen, @@ -154,7 +154,7 @@ lane_print(const u_char *p, u_int length, u_int caplen) /* ether_type not known, print raw packet */ if (!eflag) lane_hdr_print((u_char *)ep, length + sizeof(*ep)); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } diff --git a/contrib/tcpdump/print-ldp.c b/contrib/tcpdump/print-ldp.c index e296508..fb44923 100644 --- a/contrib/tcpdump/print-ldp.c +++ b/contrib/tcpdump/print-ldp.c @@ -16,7 +16,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-ldp.c,v 1.8.2.5 2005/06/16 01:10:35 guy Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ldp.c,v 1.8.2.6 2005/07/11 20:24:34 hannes Exp $"; #endif #ifdef HAVE_CONFIG_H @@ -302,7 +302,7 @@ ldp_tlv_print(register const u_char *tptr) { printf("IPv4, addresses:"); for (i=0; i<(tlv_tlen-2)/4; i++) { printf(" %s",ipaddr_string(tptr)); - tptr+=4; + tptr+=sizeof(struct in_addr); } } #ifdef INET6 @@ -310,7 +310,7 @@ ldp_tlv_print(register const u_char *tptr) { printf("IPv6, addresses:"); for (i=0; i<(tlv_tlen-2)/16; i++) { printf(" %s",ip6addr_string(tptr)); - tptr+=16; + tptr+=sizeof(struct in6_addr); } } #endif diff --git a/contrib/tcpdump/print-llc.c b/contrib/tcpdump/print-llc.c index cbf16ce..dcb740b 100644 --- a/contrib/tcpdump/print-llc.c +++ b/contrib/tcpdump/print-llc.c @@ -24,7 +24,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-llc.c,v 1.61.2.4 2005/04/26 07:27:16 guy Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/print-llc.c,v 1.61.2.5 2005/09/29 07:40:13 hannes Exp $"; #endif #ifdef HAVE_CONFIG_H @@ -50,6 +50,7 @@ static struct tok llc_values[] = { { LLCSAP_8021B_I, "802.1B I" }, { LLCSAP_8021B_G, "802.1B G" }, { LLCSAP_IP, "IP" }, + { LLCSAP_SNA, "SNA" }, { LLCSAP_PROWAYNM, "ProWay NM" }, { LLCSAP_8021D, "STP" }, { LLCSAP_RS511, "RS511" }, @@ -62,7 +63,7 @@ static struct tok llc_values[] = { { 0, NULL }, }; -static struct tok cmd2str[] = { +static struct tok llc_cmd_values[] = { { LLC_UI, "ui" }, { LLC_TEST, "test" }, { LLC_XID, "xid" }, @@ -74,6 +75,23 @@ static struct tok cmd2str[] = { { 0, NULL } }; +static const struct tok llc_flag_values[] = { + { 0, "Command" }, + { LLC_GSAP, "Response" }, + { LLC_U_POLL, "Poll" }, + { LLC_GSAP|LLC_U_POLL, "Final" }, + { LLC_GSAP|LLC_IS_POLL, "Final" }, + { 0, NULL } +}; + +static const struct tok llc_supervisory_values[] = { + { 0, "Receiver Ready" }, + { 1, "Reject" }, + { 2, "Receiver not Ready" }, + { 0, NULL } +}; + + static const struct tok cisco_values[] = { { PID_CISCO_CDP, "CDP" }, { 0, NULL } @@ -115,7 +133,7 @@ int llc_print(const u_char *p, u_int length, u_int caplen, const u_char *esrc, const u_char *edst, u_short *extracted_ethertype) { - u_int8_t dsap, ssap; + u_int8_t dsap_field, dsap, ssap_field, ssap; u_int16_t control; int is_u; register int ret; @@ -126,8 +144,10 @@ llc_print(const u_char *p, u_int length, u_int caplen, return(0); } - dsap = *p; - ssap = *(p + 1); + dsap_field = *p; + dsap = dsap_field & ~LLC_IG; + ssap_field = *(p + 1); + ssap = ssap_field & ~LLC_GSAP; /* * OK, what type of LLC frame is this? The length @@ -176,27 +196,23 @@ llc_print(const u_char *p, u_int length, u_int caplen, */ if (eflag) - printf("IPX-802.3: "); + printf("IPX 802.3: "); ipx_print(p, length); return (1); } if (eflag) { + printf("LLC, dsap %s (0x%02x), ssap %s (0x%02x)", + tok2str(llc_values, "Unknown", dsap), + dsap, + tok2str(llc_values, "Unknown", ssap), + ssap); + if (is_u) { - printf("LLC, dsap %s (0x%02x), ssap %s (0x%02x), cmd 0x%02x: ", - tok2str(llc_values, "Unknown", dsap), - dsap, - tok2str(llc_values, "Unknown", ssap), - ssap, - control); + printf(", cmd 0x%02x: ", control); } else { - printf("LLC, dsap %s (0x%02x), ssap %s (0x%02x), cmd 0x%04x: ", - tok2str(llc_values, "Unknown", dsap), - dsap, - tok2str(llc_values, "Unknown", ssap), - ssap, - control); + printf(", cmd 0x%04x: ", control); } } @@ -221,7 +237,9 @@ llc_print(const u_char *p, u_int length, u_int caplen, * * Skip DSAP, LSAP, and control field. */ - printf("(NOV-802.2) "); + if (eflag) + printf("IPX 802.2: "); + ipx_print(p+3, length-3); return (1); } @@ -276,42 +294,33 @@ llc_print(const u_char *p, u_int length, u_int caplen, } if (!eflag) { - if ((ssap & ~LLC_GSAP) == dsap) { + if (ssap == dsap) { if (esrc == NULL || edst == NULL) - (void)printf("%s ", llcsap_string(dsap)); + (void)printf("%s ", tok2str(llc_values, "Unknown DSAP 0x%02x", dsap)); else (void)printf("%s > %s %s ", etheraddr_string(esrc), etheraddr_string(edst), - llcsap_string(dsap)); + tok2str(llc_values, "Unknown DSAP 0x%02x", dsap)); } else { if (esrc == NULL || edst == NULL) (void)printf("%s > %s ", - llcsap_string(ssap & ~LLC_GSAP), - llcsap_string(dsap)); + tok2str(llc_values, "Unknown SSAP 0x%02x", ssap), + tok2str(llc_values, "Unknown DSAP 0x%02x", dsap)); else (void)printf("%s %s > %s %s ", etheraddr_string(esrc), - llcsap_string(ssap & ~LLC_GSAP), + tok2str(llc_values, "Unknown SSAP 0x%02x", ssap), etheraddr_string(edst), - llcsap_string(dsap)); + tok2str(llc_values, "Unknown DSAP 0x%02x", dsap)); } } if (is_u) { - const char *m; - char f; - - m = tok2str(cmd2str, "%02x", LLC_U_CMD(control)); - switch ((ssap & LLC_GSAP) | (control & LLC_U_POLL)) { - case 0: f = 'C'; break; - case LLC_GSAP: f = 'R'; break; - case LLC_U_POLL: f = 'P'; break; - case LLC_GSAP|LLC_U_POLL: f = 'F'; break; - default: f = '?'; break; - } - - printf("%s/%c", m, f); + printf("Unnumbered, %s, Flags [%s], length %u", + tok2str(llc_cmd_values, "%02x", LLC_U_CMD(control)), + bittok2str(llc_flag_values,"?",(ssap) | (control & LLC_U_POLL)), + length); p += 3; length -= 3; @@ -326,27 +335,19 @@ llc_print(const u_char *p, u_int length, u_int caplen, } } } else { - char f; - - switch ((ssap & LLC_GSAP) | (control & LLC_IS_POLL)) { - case 0: f = 'C'; break; - case LLC_GSAP: f = 'R'; break; - case LLC_IS_POLL: f = 'P'; break; - case LLC_GSAP|LLC_IS_POLL: f = 'F'; break; - default: f = '?'; break; - } if ((control & LLC_S_FMT) == LLC_S_FMT) { - static const char *llc_s[] = { "rr", "rej", "rnr", "03" }; - (void)printf("%s (r=%d,%c)", - llc_s[LLC_S_CMD(control)], + (void)printf("Supervisory, %s, rcv seq %u, Flags [%s], length %u", + tok2str(llc_supervisory_values,"?",LLC_S_CMD(control)), LLC_IS_NR(control), - f); + bittok2str(llc_flag_values,"?",(ssap) | (control & LLC_IS_POLL)), + length); } else { - (void)printf("I (s=%d,r=%d,%c)", + (void)printf("Information, send seq %u, rcv seq %u, Flags [%s], length %u", LLC_I_NS(control), LLC_IS_NR(control), - f); + bittok2str(llc_flag_values,"?",(ssap) | (control & LLC_IS_POLL)), + length); } p += 4; length -= 4; diff --git a/contrib/tcpdump/print-null.c b/contrib/tcpdump/print-null.c index 3a45f6a..7fd4541 100644 --- a/contrib/tcpdump/print-null.c +++ b/contrib/tcpdump/print-null.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-null.c,v 1.53.2.2 2005/05/19 07:26:18 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-null.c,v 1.53.2.3 2005/07/07 01:24:38 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -173,7 +173,7 @@ null_if_print(const struct pcap_pkthdr *h, const u_char *p) /* unknown AF_ value */ if (!eflag) null_hdr_print(family, length + NULL_HDRLEN); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } diff --git a/contrib/tcpdump/print-ospf.c b/contrib/tcpdump/print-ospf.c index 9ac6c61..634849b 100644 --- a/contrib/tcpdump/print-ospf.c +++ b/contrib/tcpdump/print-ospf.c @@ -23,7 +23,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-ospf.c,v 1.56.2.2 2005/05/06 07:57:19 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ospf.c,v 1.56.2.3 2005/08/23 11:16:29 hannes Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -128,7 +128,7 @@ static struct tok lsa_opaque_te_link_tlv_subtlv_values[] = { { LS_OPAQUE_TE_LINK_SUBTLV_LINK_PROTECTION_TYPE, "Link Protection Type" }, { LS_OPAQUE_TE_LINK_SUBTLV_INTF_SW_CAP_DESCR, "Interface Switching Capability" }, { LS_OPAQUE_TE_LINK_SUBTLV_SHARED_RISK_GROUP, "Shared Risk Link Group" }, - { LS_OPAQUE_TE_LINK_SUBTLV_DIFFSERV_TE, "Diffserv TE" }, + { LS_OPAQUE_TE_LINK_SUBTLV_BW_CONSTRAINTS, "Bandwidth Constraints" }, { 0, NULL } }; @@ -253,7 +253,7 @@ ospf_print_lsa(register const struct lsa *lsap) register const struct aslametric *almp; register const struct mcla *mcp; register const u_int32_t *lp; - register int j, k, tlv_type, tlv_length, subtlv_type, subtlv_length, priority_level, bandwidth_constraint; + register int j, k, tlv_type, tlv_length, subtlv_type, subtlv_length, priority_level, te_class; register int ls_length; const u_int8_t *tptr; int count_srlg; @@ -627,22 +627,22 @@ ospf_print_lsa(register const struct lsa *lsap) printf(", %.3f Mbps", bw.f*8/1000000 ); break; case LS_OPAQUE_TE_LINK_SUBTLV_UNRES_BW: - for (priority_level = 0; priority_level < 8; priority_level++) { - bw.i = EXTRACT_32BITS(tptr+priority_level*4); - printf("\n\t\tpriority level %d: %.3f Mbps", - priority_level, + for (te_class = 0; te_class < 8; te_class++) { + bw.i = EXTRACT_32BITS(tptr+te_class*4); + printf("\n\t\tTE-Class %u: %.3f Mbps", + te_class, bw.f*8/1000000 ); } break; - case LS_OPAQUE_TE_LINK_SUBTLV_DIFFSERV_TE: + case LS_OPAQUE_TE_LINK_SUBTLV_BW_CONSTRAINTS: printf("\n\t\tBandwidth Constraints Model ID: %s (%u)", tok2str(diffserv_te_bc_values, "unknown", *tptr), *tptr); /* decode BCs until the subTLV ends */ - for (bandwidth_constraint = 0; bandwidth_constraint < (subtlv_length-4)/4; bandwidth_constraint++) { - bw.i = EXTRACT_32BITS(tptr+4+bandwidth_constraint*4); - printf("\n\t\t Bandwidth constraint %d: %.3f Mbps", - bandwidth_constraint, + for (te_class = 0; te_class < (subtlv_length-4)/4; te_class++) { + bw.i = EXTRACT_32BITS(tptr+4+te_class*4); + printf("\n\t\t Bandwidth constraint CT%u: %.3f Mbps", + te_class, bw.f*8/1000000 ); } break; diff --git a/contrib/tcpdump/print-pflog.c b/contrib/tcpdump/print-pflog.c index f8b18a9..4d70e05 100644 --- a/contrib/tcpdump/print-pflog.c +++ b/contrib/tcpdump/print-pflog.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-pflog.c,v 1.13 2005/04/06 21:32:41 mcr Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-pflog.c,v 1.13.2.1 2005/07/07 01:24:38 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -152,7 +152,7 @@ pflog_if_print(const struct pcap_pkthdr *h, register const u_char *p) /* address family not handled, print raw packet */ if (!eflag) pflog_print(hdr); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } diff --git a/contrib/tcpdump/print-pim.c b/contrib/tcpdump/print-pim.c index f50f821..8af2160 100644 --- a/contrib/tcpdump/print-pim.c +++ b/contrib/tcpdump/print-pim.c @@ -21,7 +21,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-pim.c,v 1.45.2.2 2005/04/20 22:08:44 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-pim.c,v 1.45.2.3 2005/07/11 20:24:34 hannes Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -140,7 +140,7 @@ pimv1_join_prune_print(register const u_char *bp, register u_int len) return; } - TCHECK2(bp[0], 4); + TCHECK2(bp[0], sizeof(struct in_addr)); if (vflag > 1) (void)printf("\n"); (void)printf(" Upstream Nbr: %s", ipaddr_string(bp)); @@ -165,9 +165,9 @@ pimv1_join_prune_print(register const u_char *bp, register u_int len) * XXX - does the address have length "addrlen" and the * mask length "maddrlen"? */ - TCHECK2(bp[0], 4); + TCHECK2(bp[0], sizeof(struct in_addr)); (void)printf("\n\tGroup: %s", ipaddr_string(bp)); - TCHECK2(bp[4], 4); + TCHECK2(bp[4], sizeof(struct in_addr)); if (EXTRACT_32BITS(&bp[4]) != 0xffffffff) (void)printf("/%s", ipaddr_string(&bp[4])); TCHECK2(bp[8], 4); @@ -247,7 +247,7 @@ pimv1_print(register const u_char *bp, register u_int len) break; case 2: (void)printf(" Register-Stop"); - TCHECK2(bp[12], 4); + TCHECK2(bp[12], sizeof(struct in_addr)); (void)printf(" for %s > %s", ipaddr_string(&bp[8]), ipaddr_string(&bp[12])); break; @@ -270,7 +270,7 @@ pimv1_print(register const u_char *bp, register u_int len) break; case 5: (void)printf(" Assert"); - TCHECK2(bp[16], 4); + TCHECK2(bp[16], sizeof(struct in_addr)); (void)printf(" for %s > %s", ipaddr_string(&bp[16]), ipaddr_string(&bp[8])); if (EXTRACT_32BITS(&bp[12]) != 0xffffffff) @@ -520,12 +520,12 @@ pimv2_addr_print(const u_char *bp, enum pimv2_addrtype at, int silent) switch (bp[0]) { case 1: af = AF_INET; - len = 4; + len = sizeof(struct in_addr); break; #ifdef INET6 case 2: af = AF_INET6; - len = 16; + len = sizeof(struct in6_addr); break; #endif default: @@ -536,11 +536,11 @@ pimv2_addr_print(const u_char *bp, enum pimv2_addrtype at, int silent) hdrlen = 2; } else { switch (pimv2_addr_len) { - case 4: + case sizeof(struct in_addr): af = AF_INET; break; #ifdef INET6 - case 16: + case sizeof(struct in6_addr): af = AF_INET6; break; #endif diff --git a/contrib/tcpdump/print-radius.c b/contrib/tcpdump/print-radius.c index 0f8eaf5..203c50b 100644 --- a/contrib/tcpdump/print-radius.c +++ b/contrib/tcpdump/print-radius.c @@ -44,7 +44,7 @@ #ifndef lint static const char rcsid[] _U_ = - "$Id: print-radius.c,v 1.27 2004/07/21 21:45:47 guy Exp $"; + "$Id: print-radius.c,v 1.27.2.1 2005/09/26 01:02:40 guy Exp $"; #endif #ifdef HAVE_CONFIG_H @@ -454,9 +454,15 @@ print_attr_string(register u_char *data, u_int length, u_short attr_code ) switch(attr_code) { case TUNNEL_PASS: + if (length < 3) + { + printf(" [|radius]"); + return; + } if (*data && (*data <=0x1F) ) printf("Tag %u, ",*data); data++; + length--; printf("Salt %u ",EXTRACT_16BITS(data) ); data+=2; length-=2; @@ -469,6 +475,11 @@ print_attr_string(register u_char *data, u_int length, u_short attr_code ) case TUNNEL_SERVER_AUTH: if (*data <= 0x1F) { + if (length < 1) + { + printf(" [|radius]"); + return; + } printf("Tag %u",*data); data++; length--; @@ -482,7 +493,7 @@ print_attr_string(register u_char *data, u_int length, u_short attr_code ) return; trunc: - printf("|radius"); + printf(" [|radius]"); } /* @@ -497,7 +508,9 @@ print_vendor_attr(register u_char *data, u_int length, u_short attr_code _U_) u_int vendor_type; u_int vendor_length; - /* FIXME: all sort of boundary checks */ + if (length < 4) + goto trunc; + TCHECK2(*data, 4); vendor_id = EXTRACT_32BITS(data); data+=4; length-=4; @@ -507,15 +520,29 @@ print_vendor_attr(register u_char *data, u_int length, u_short attr_code _U_) vendor_id); while (length >= 2) { - if(!TTEST2(*data, 2)) - return; + TCHECK2(*data, 2); vendor_type = *(data); vendor_length = *(data+1); + if (vendor_length < 2) + { + printf("\n\t Vendor Attribute: %u, Length: %u (bogus, must be >= 2)", + vendor_type, + vendor_length); + return; + } + if (vendor_length > length) + { + printf("\n\t Vendor Attribute: %u, Length: %u (bogus, goes past end of vendor-specific attribute)", + vendor_type, + vendor_length); + return; + } data+=2; - if(!TTEST2(*data, vendor_length)) - return; + vendor_length-=2; + length-=2; + TCHECK2(*data, vendor_length); printf("\n\t Vendor Attribute: %u, Length: %u, Value: ", vendor_type, @@ -524,6 +551,10 @@ print_vendor_attr(register u_char *data, u_int length, u_short attr_code _U_) printf("%c",(*data < 32 || *data > 128) ? '.' : *data ); length-=vendor_length; } + return; + + trunc: + printf(" [|radius]"); } @@ -640,7 +671,7 @@ print_attr_num(register u_char *data, u_int length, u_short attr_code ) return; trunc: - printf("|radius}"); + printf(" [|radius]"); } @@ -683,7 +714,7 @@ print_attr_address(register u_char *data, u_int length, u_short attr_code ) return; trunc: - printf("|radius"); + printf(" [|radius]"); } @@ -716,7 +747,7 @@ static void print_attr_time(register u_char *data, u_int length, u_short attr_co return; trunc: - printf("|radius"); + printf(" [|radius]"); } @@ -774,8 +805,8 @@ static void print_attr_strange(register u_char *data, u_int length, u_short attr len_data = 4; PRINT_HEX(len_data, data); printf(", Current Time: "); - len_data = 4; TCHECK2(data[0],4); + len_data = 4; PRINT_HEX(len_data, data); break; @@ -790,63 +821,72 @@ static void print_attr_strange(register u_char *data, u_int length, u_short attr PRINT_HEX(len_data, data); break; } + return; trunc: - printf("|radius}"); + printf(" [|radius]"); } static void -radius_attr_print(register const u_char *attr, u_int length) +radius_attrs_print(register const u_char *attr, u_int length) { register const struct radius_attr *rad_attr = (struct radius_attr *)attr; - - if (length < 3) - { - printf(" [|radius]"); - return; - } + const char *attr_string; while (length > 0) { - if (rad_attr->len == 0 && rad_attr->type < (TAM_SIZE(attr_type)-1)) + if (length < 2) + goto trunc; + TCHECK(*rad_attr); + + if (rad_attr->type > 0 && rad_attr->type < TAM_SIZE(attr_type)) + attr_string = attr_type[rad_attr->type].name; + else + attr_string = "Unknown"; + if (rad_attr->len < 2) { - printf("\n\t %s Attribute (%u), zero-length", - attr_type[rad_attr->type].name, - rad_attr->type); + printf("\n\t %s Attribute (%u), length: %u (bogus, must be >= 2)", + attr_string, + rad_attr->type, + rad_attr->len); return; } - if ( rad_attr->len <= length && rad_attr->type < (TAM_SIZE(attr_type)-1)) + if (rad_attr->len > length) { - printf("\n\t %s Attribute (%u), length: %u, Value: ", - attr_type[rad_attr->type].name, - rad_attr->type, - rad_attr->len); + printf("\n\t %s Attribute (%u), length: %u (bogus, goes past end of packet)", + attr_string, + rad_attr->type, + rad_attr->len); + return; + } + printf("\n\t %s Attribute (%u), length: %u, Value: ", + attr_string, + rad_attr->type, + rad_attr->len); - if ( !rad_attr->type || (rad_attr->type > (TAM_SIZE(attr_type)-1)) ) { - } - else { - if (rad_attr->len > 2) - { - if ( attr_type[rad_attr->type].print_func ) - (*attr_type[rad_attr->type].print_func)( - ((u_char *)(rad_attr+1)), - rad_attr->len - 2, rad_attr->type); - } + if (rad_attr->type < TAM_SIZE(attr_type)) + { + if (rad_attr->len > 2) + { + if ( attr_type[rad_attr->type].print_func ) + (*attr_type[rad_attr->type].print_func)( + ((u_char *)(rad_attr+1)), + rad_attr->len - 2, rad_attr->type); } } - else { - printf(" [|radius]"); - return; - } /* do we also want to see a hex dump ? */ - if (vflag> 1 && rad_attr->len >= 2) + if (vflag> 1) print_unknown_data((u_char *)rad_attr+2,"\n\t ",(rad_attr->len)-2); length-=(rad_attr->len); rad_attr = (struct radius_attr *)( ((char *)(rad_attr))+rad_attr->len); } + return; + +trunc: + printf(" [|radius]"); } @@ -854,24 +894,9 @@ void radius_print(const u_char *dat, u_int length) { register const struct radius_hdr *rad; - register u_int i; u_int len, auth_idx; - if (snapend < dat) - { - printf(" [|radius]"); - return; - } - i = snapend - dat; - if (i > length) - i = length; - - if (i < MIN_RADIUS_LEN) - { - printf(" [|radius]"); - return; - } - + TCHECK2(*dat, MIN_RADIUS_LEN); rad = (struct radius_hdr *)dat; len = EXTRACT_16BITS(&rad->len); @@ -881,22 +906,20 @@ radius_print(const u_char *dat, u_int length) return; } - if (len < i) - i = len; - - i -= MIN_RADIUS_LEN; + if (len > length) + len = length; if (vflag < 1) { printf("RADIUS, %s (%u), id: 0x%02x length: %u", tok2str(radius_command_values,"Unknown Command",rad->code), rad->code, rad->id, - length); + len); return; } else { printf("RADIUS, length: %u\n\t%s (%u), id: 0x%02x, Authenticator: ", - length, + len, tok2str(radius_command_values,"Unknown Command",rad->code), rad->code, rad->id); @@ -905,6 +928,10 @@ radius_print(const u_char *dat, u_int length) printf("%02x", rad->auth[auth_idx] ); } - if (i) - radius_attr_print( dat + MIN_RADIUS_LEN, i); + if (len > MIN_RADIUS_LEN) + radius_attrs_print( dat + MIN_RADIUS_LEN, len - MIN_RADIUS_LEN); + return; + +trunc: + printf(" [|radius]"); } diff --git a/contrib/tcpdump/print-rsvp.c b/contrib/tcpdump/print-rsvp.c index b3324b4..94ac6f0 100644 --- a/contrib/tcpdump/print-rsvp.c +++ b/contrib/tcpdump/print-rsvp.c @@ -1,4 +1,6 @@ /* + * Copyright (c) 1998-2005 The TCPDUMP project + * * 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 @@ -15,7 +17,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-rsvp.c,v 1.33.2.3 2005/06/16 00:50:12 guy Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/print-rsvp.c,v 1.33.2.8 2005/09/22 14:52:40 hannes Exp $"; #endif #ifdef HAVE_CONFIG_H @@ -115,7 +117,7 @@ static const struct tok rsvp_header_flag_values[] = { #define RSVP_OBJ_SESSION 1 /* rfc2205 */ #define RSVP_OBJ_RSVP_HOP 3 /* rfc2205, rfc3473 */ -#define RSVP_OBJ_INTEGRITY 4 +#define RSVP_OBJ_INTEGRITY 4 /* rfc2747 */ #define RSVP_OBJ_TIME_VALUES 5 /* rfc2205 */ #define RSVP_OBJ_ERROR_SPEC 6 #define RSVP_OBJ_SCOPE 7 @@ -139,15 +141,16 @@ static const struct tok rsvp_header_flag_values[] = { #define RSVP_OBJ_UPSTREAM_LABEL 35 /* rfc3473 */ #define RSVP_OBJ_LABEL_SET 36 /* rfc3473 */ #define RSVP_OBJ_PROTECTION 37 /* rfc3473 */ -#define RSVP_OBJ_DETOUR 63 /* draft-ietf-mpls-rsvp-lsp-fastreroute-01 */ -#define RSVP_OBJ_CLASSTYPE 125 /* draft-ietf-tewg-diff-te-proto-07 */ +#define RSVP_OBJ_DETOUR 63 /* draft-ietf-mpls-rsvp-lsp-fastreroute-07 */ +#define RSVP_OBJ_CLASSTYPE 66 /* rfc4124 */ +#define RSVP_OBJ_CLASSTYPE_OLD 125 /* draft-ietf-tewg-diff-te-proto-07 */ #define RSVP_OBJ_SUGGESTED_LABEL 129 /* rfc3473 */ #define RSVP_OBJ_ACCEPT_LABEL_SET 130 /* rfc3473 */ #define RSVP_OBJ_RESTART_CAPABILITY 131 /* rfc3473 */ #define RSVP_OBJ_NOTIFY_REQ 195 /* rfc3473 */ #define RSVP_OBJ_ADMIN_STATUS 196 /* rfc3473 */ #define RSVP_OBJ_PROPERTIES 204 /* juniper proprietary */ -#define RSVP_OBJ_FASTREROUTE 205 /* draft-ietf-mpls-rsvp-lsp-fastreroute-01 */ +#define RSVP_OBJ_FASTREROUTE 205 /* draft-ietf-mpls-rsvp-lsp-fastreroute-07 */ #define RSVP_OBJ_SESSION_ATTRIBUTE 207 /* rfc3209 */ #define RSVP_OBJ_CALL_ID 230 /* rfc3474 */ #define RSVP_OBJ_CALL_OPS 236 /* rfc3474 */ @@ -181,6 +184,7 @@ static const struct tok rsvp_obj_values[] = { { RSVP_OBJ_ACCEPT_LABEL_SET, "Acceptable Label Set" }, { RSVP_OBJ_DETOUR, "Detour" }, { RSVP_OBJ_CLASSTYPE, "Class Type" }, + { RSVP_OBJ_CLASSTYPE_OLD, "Class Type (old)" }, { RSVP_OBJ_SUGGESTED_LABEL, "Suggested Label" }, { RSVP_OBJ_PROPERTIES, "Properties" }, { RSVP_OBJ_FASTREROUTE, "Fast Re-Route" }, @@ -263,13 +267,40 @@ static const struct tok rsvp_ctype_values[] = { { 256*RSVP_OBJ_ERROR_SPEC+RSVP_CTYPE_4, "IPv6 plus opt. TLVs" }, { 256*RSVP_OBJ_RESTART_CAPABILITY+RSVP_CTYPE_1, "IPv4" }, { 256*RSVP_OBJ_SESSION_ATTRIBUTE+RSVP_CTYPE_TUNNEL_IPV4, "Tunnel IPv4" }, - { 256*RSVP_OBJ_FASTREROUTE+RSVP_CTYPE_TUNNEL_IPV4, "Tunnel IPv4" }, + { 256*RSVP_OBJ_FASTREROUTE+RSVP_CTYPE_TUNNEL_IPV4, "Tunnel IPv4" }, /* old style*/ + { 256*RSVP_OBJ_FASTREROUTE+RSVP_CTYPE_1, "1" }, /* new style */ { 256*RSVP_OBJ_DETOUR+RSVP_CTYPE_TUNNEL_IPV4, "Tunnel IPv4" }, { 256*RSVP_OBJ_PROPERTIES+RSVP_CTYPE_1, "1" }, { 256*RSVP_OBJ_CLASSTYPE+RSVP_CTYPE_1, "1" }, + { 256*RSVP_OBJ_CLASSTYPE_OLD+RSVP_CTYPE_1, "1" }, + { 0, NULL} +}; + +struct rsvp_obj_integrity_t { + u_int8_t flags; + u_int8_t res; + u_int8_t key_id[6]; + u_int8_t sequence[8]; + u_int8_t digest[16]; +}; + +static const struct tok rsvp_obj_integrity_flag_values[] = { + { 0x80, "Handshake" }, { 0, NULL} }; +struct rsvp_obj_frr_t { + u_int8_t setup_prio; + u_int8_t hold_prio; + u_int8_t hop_limit; + u_int8_t flags; + u_int8_t bandwidth[4]; + u_int8_t include_any[4]; + u_int8_t exclude_any[4]; + u_int8_t include_all[4]; +}; + + #define RSVP_OBJ_XRO_MASK_SUBOBJ(x) ((x)&0x7f) #define RSVP_OBJ_XRO_MASK_LOOSE(x) ((x)&0x80) @@ -288,7 +319,7 @@ static const struct tok rsvp_obj_xro_values[] = { { 0, NULL} }; -/* draft-ietf-mpls-rsvp-lsp-fastreroute-02.txt */ +/* draft-ietf-mpls-rsvp-lsp-fastreroute-07.txt */ static const struct tok rsvp_obj_rro_flag_values[] = { { 0x01, "Local protection available" }, { 0x02, "Local protection in use" }, @@ -348,12 +379,14 @@ static struct tok rsvp_obj_prop_tlv_values[] = { #define RSVP_OBJ_ERROR_SPEC_CODE_ROUTING 24 #define RSVP_OBJ_ERROR_SPEC_CODE_NOTIFY 25 -#define RSVP_OBJ_ERROR_SPEC_CODE_DIFFSERV_TE 125 +#define RSVP_OBJ_ERROR_SPEC_CODE_DIFFSERV_TE 28 +#define RSVP_OBJ_ERROR_SPEC_CODE_DIFFSERV_TE_OLD 125 static struct tok rsvp_obj_error_code_values[] = { { RSVP_OBJ_ERROR_SPEC_CODE_ROUTING, "Routing Problem" }, { RSVP_OBJ_ERROR_SPEC_CODE_NOTIFY, "Notify Error" }, { RSVP_OBJ_ERROR_SPEC_CODE_DIFFSERV_TE, "Diffserv TE Error" }, + { RSVP_OBJ_ERROR_SPEC_CODE_DIFFSERV_TE_OLD, "Diffserv TE Error (Old)" }, { 0, NULL} }; @@ -372,14 +405,15 @@ static struct tok rsvp_obj_error_code_routing_values[] = { }; static struct tok rsvp_obj_error_code_diffserv_te_values[] = { - { 1, "Unexpected CLASSTYPE object" }, - { 2, "Unsupported Class-Type" }, - { 3, "Invalid Class-Type value" }, - { 4, "Class-Type and setup priority do not form a configured TE-Class" }, - { 5, "Class-Type and holding priority do not form a configured TE-Class" }, - { 6, "Inconsistency between signaled PSC and signaled Class-Type" }, - { 7, "Inconsistency between signaled PHBs and signaled Class-Type" }, - { 0, NULL} + { 1, "Unexpected CT object" }, + { 2, "Unsupported CT" }, + { 3, "Invalid CT value" }, + { 4, "CT/setup priority do not form a configured TE-Class" }, + { 5, "CT/holding priority do not form a configured TE-Class" }, + { 6, "CT/setup priority and CT/holding priority do not form a configured TE-Class" }, + { 7, "Inconsistency between signaled PSC and signaled CT" }, + { 8, "Inconsistency between signaled PHBs and signaled CT" }, + { 0, NULL} }; #define FALSE 0 @@ -540,6 +574,11 @@ rsvp_obj_print (const u_char *tptr, const char *ident, u_int tlen) { const struct rsvp_object_header *rsvp_obj_header; const u_char *obj_tptr; + union { + const struct rsvp_obj_integrity_t *rsvp_obj_integrity; + const struct rsvp_obj_frr_t *rsvp_obj_frr; + } obj_ptr; + u_short rsvp_obj_len,rsvp_obj_ctype,obj_tlen,intserv_serv_tlen; int hexdump,processed,padbytes,error_code,error_value,i; union { @@ -608,7 +647,7 @@ rsvp_obj_print (const u_char *tptr, const char *ident, u_int tlen) { printf("%s IPv4 DestAddress: %s, Protocol ID: 0x%02x", ident, ipaddr_string(obj_tptr), - *(obj_tptr+4)); + *(obj_tptr+sizeof(struct in_addr))); printf("%s Flags: [0x%02x], DestPort %u", ident, *(obj_tptr+5), @@ -623,11 +662,11 @@ rsvp_obj_print (const u_char *tptr, const char *ident, u_int tlen) { printf("%s IPv6 DestAddress: %s, Protocol ID: 0x%02x", ident, ip6addr_string(obj_tptr), - *(obj_tptr+16)); + *(obj_tptr+sizeof(struct in6_addr))); printf("%s Flags: [0x%02x], DestPort %u", ident, - *(obj_tptr+17), - EXTRACT_16BITS(obj_tptr+18)); + *(obj_tptr+sizeof(struct in6_addr)+1), + EXTRACT_16BITS(obj_tptr+sizeof(struct in6_addr)+2)); obj_tlen-=20; obj_tptr+=20; break; @@ -663,23 +702,23 @@ rsvp_obj_print (const u_char *tptr, const char *ident, u_int tlen) { case RSVP_OBJ_CONFIRM: switch(rsvp_obj_ctype) { case RSVP_CTYPE_IPV4: - if (obj_tlen < 4) + if (obj_tlen < sizeof(struct in_addr)) return -1; printf("%s IPv4 Receiver Address: %s", ident, ipaddr_string(obj_tptr)); - obj_tlen-=4; - obj_tptr+=4; + obj_tlen-=sizeof(struct in_addr); + obj_tptr+=sizeof(struct in_addr); break; #ifdef INET6 case RSVP_CTYPE_IPV6: - if (obj_tlen < 16) + if (obj_tlen < sizeof(struct in6_addr)) return -1; printf("%s IPv6 Receiver Address: %s", ident, ip6addr_string(obj_tptr)); - obj_tlen-=16; - obj_tptr+=16; + obj_tlen-=sizeof(struct in6_addr); + obj_tptr+=sizeof(struct in6_addr); break; #endif default: @@ -690,23 +729,23 @@ rsvp_obj_print (const u_char *tptr, const char *ident, u_int tlen) { case RSVP_OBJ_NOTIFY_REQ: switch(rsvp_obj_ctype) { case RSVP_CTYPE_IPV4: - if (obj_tlen < 4) + if (obj_tlen < sizeof(struct in_addr)) return -1; printf("%s IPv4 Notify Node Address: %s", ident, ipaddr_string(obj_tptr)); - obj_tlen-=4; - obj_tptr+=4; + obj_tlen-=sizeof(struct in_addr); + obj_tptr+=sizeof(struct in_addr); break; #ifdef INET6 case RSVP_CTYPE_IPV6: - if (obj_tlen < 16) + if (obj_tlen < sizeof(struct in6_addr)) return-1; printf("%s IPv6 Notify Node Address: %s", ident, ip6addr_string(obj_tptr)); - obj_tlen-=16; - obj_tptr+=16; + obj_tlen-=sizeof(struct in6_addr); + obj_tptr+=sizeof(struct in6_addr); break; #endif default: @@ -997,7 +1036,8 @@ rsvp_obj_print (const u_char *tptr, const char *ident, u_int tlen) { EXTRACT_32BITS(obj_tptr+4)); obj_tlen-=8; obj_tptr+=8; - hexdump=TRUE; /* unless we have a TLV parser lets just hexdump */ + if (obj_tlen) + hexdump=TRUE; /* unless we have a TLV parser lets just hexdump */ break; #ifdef INET6 case RSVP_CTYPE_4: /* fall through - FIXME add TLV parser */ @@ -1136,24 +1176,46 @@ rsvp_obj_print (const u_char *tptr, const char *ident, u_int tlen) { break; case RSVP_OBJ_FASTREROUTE: + /* the differences between c-type 1 and 7 are minor */ + obj_ptr.rsvp_obj_frr = (const struct rsvp_obj_frr_t *)obj_tptr; + bw.i = EXTRACT_32BITS(obj_ptr.rsvp_obj_frr->bandwidth); + switch(rsvp_obj_ctype) { - case RSVP_CTYPE_TUNNEL_IPV4: + case RSVP_CTYPE_1: /* new style */ + if (obj_tlen < sizeof(struct rsvp_obj_frr_t)) + return-1; + printf("%s Setup Priority: %u, Holding Priority: %u, Hop-limit: %u, Bandwidth: %.10g Mbps", + ident, + (int)obj_ptr.rsvp_obj_frr->setup_prio, + (int)obj_ptr.rsvp_obj_frr->hold_prio, + (int)obj_ptr.rsvp_obj_frr->hop_limit, + bw.f*8/1000000); + printf("%s Include-any: 0x%08x, Exclude-any: 0x%08x, Include-all: 0x%08x", + ident, + EXTRACT_32BITS(obj_ptr.rsvp_obj_frr->include_any), + EXTRACT_32BITS(obj_ptr.rsvp_obj_frr->exclude_any), + EXTRACT_32BITS(obj_ptr.rsvp_obj_frr->include_all)); + obj_tlen-=sizeof(struct rsvp_obj_frr_t); + obj_tptr+=sizeof(struct rsvp_obj_frr_t); + break; + + case RSVP_CTYPE_TUNNEL_IPV4: /* old style */ if (obj_tlen < 16) return-1; - bw.i = EXTRACT_32BITS(obj_tptr+4); printf("%s Setup Priority: %u, Holding Priority: %u, Hop-limit: %u, Bandwidth: %.10g Mbps", ident, - (int)*obj_tptr, - (int)*(obj_tptr+1), - (int)*(obj_tptr+2), + (int)obj_ptr.rsvp_obj_frr->setup_prio, + (int)obj_ptr.rsvp_obj_frr->hold_prio, + (int)obj_ptr.rsvp_obj_frr->hop_limit, bw.f*8/1000000); printf("%s Include Colors: 0x%08x, Exclude Colors: 0x%08x", ident, - EXTRACT_32BITS(obj_tptr+8), - EXTRACT_32BITS(obj_tptr+12)); + EXTRACT_32BITS(obj_ptr.rsvp_obj_frr->include_any), + EXTRACT_32BITS(obj_ptr.rsvp_obj_frr->exclude_any)); obj_tlen-=16; obj_tptr+=16; break; + default: hexdump=TRUE; } @@ -1177,9 +1239,10 @@ rsvp_obj_print (const u_char *tptr, const char *ident, u_int tlen) { break; case RSVP_OBJ_CLASSTYPE: + case RSVP_OBJ_CLASSTYPE_OLD: /* fall through */ switch(rsvp_obj_ctype) { case RSVP_CTYPE_1: - printf("%s Class Type: %u", + printf("%s CT: %u", ident, EXTRACT_32BITS(obj_tptr)&0x7); obj_tlen-=4; @@ -1211,7 +1274,8 @@ rsvp_obj_print (const u_char *tptr, const char *ident, u_int tlen) { tok2str(rsvp_obj_error_code_routing_values,"unknown",error_value), error_value); break; - case RSVP_OBJ_ERROR_SPEC_CODE_DIFFSERV_TE: + case RSVP_OBJ_ERROR_SPEC_CODE_DIFFSERV_TE: /* fall through */ + case RSVP_OBJ_ERROR_SPEC_CODE_DIFFSERV_TE_OLD: printf(", Error Value: %s (%u)", tok2str(rsvp_obj_error_code_diffserv_te_values,"unknown",error_value), error_value); @@ -1317,12 +1381,40 @@ rsvp_obj_print (const u_char *tptr, const char *ident, u_int tlen) { } break; + case RSVP_OBJ_INTEGRITY: + switch(rsvp_obj_ctype) { + case RSVP_CTYPE_1: + if (obj_tlen < sizeof(struct rsvp_obj_integrity_t)) + return-1; + obj_ptr.rsvp_obj_integrity = (const struct rsvp_obj_integrity_t *)obj_tptr; + printf("%s Key-ID 0x%04x%08x, Sequence 0x%08x%08x, Flags [%s]", + ident, + EXTRACT_16BITS(obj_ptr.rsvp_obj_integrity->key_id), + EXTRACT_32BITS(obj_ptr.rsvp_obj_integrity->key_id+2), + EXTRACT_32BITS(obj_ptr.rsvp_obj_integrity->sequence), + EXTRACT_32BITS(obj_ptr.rsvp_obj_integrity->sequence+4), + bittok2str(rsvp_obj_integrity_flag_values, + "none", + obj_ptr.rsvp_obj_integrity->flags)); + printf("%s MD5-sum 0x%08x%08x%08x%08x (unverified)", + ident, + EXTRACT_32BITS(obj_ptr.rsvp_obj_integrity->digest), + EXTRACT_32BITS(obj_ptr.rsvp_obj_integrity->digest+4), + EXTRACT_32BITS(obj_ptr.rsvp_obj_integrity->digest+8), + EXTRACT_32BITS(obj_ptr.rsvp_obj_integrity->digest+12)); + obj_tlen+=sizeof(struct rsvp_obj_integrity_t); + obj_tptr+=sizeof(struct rsvp_obj_integrity_t); + break; + default: + hexdump=TRUE; + } + break; + /* * FIXME those are the defined objects that lack a decoder * you are welcome to contribute code ;-) */ - case RSVP_OBJ_INTEGRITY: case RSVP_OBJ_SCOPE: case RSVP_OBJ_POLICY_DATA: case RSVP_OBJ_LABEL_SET: diff --git a/contrib/tcpdump/print-sctp.c b/contrib/tcpdump/print-sctp.c index cd9e8cd..db26e29 100644 --- a/contrib/tcpdump/print-sctp.c +++ b/contrib/tcpdump/print-sctp.c @@ -35,7 +35,7 @@ #ifndef lint static const char rcsid[] _U_ = -"@(#) $Header: /tcpdump/master/tcpdump/print-sctp.c,v 1.16.2.3 2005/05/06 10:53:20 guy Exp $ (NETLAB/PEL)"; +"@(#) $Header: /tcpdump/master/tcpdump/print-sctp.c,v 1.16.2.4 2005/07/07 01:24:38 guy Exp $ (NETLAB/PEL)"; #endif #ifdef HAVE_CONFIG_H @@ -200,7 +200,7 @@ void sctp_print(const u_char *bp, /* beginning of sctp packet */ printf("[Payload"); - if (!xflag && !qflag) { + if (!suppress_default_print) { payloadPtr = (const u_char *) (++dataHdrPtr); printf(":"); if (htons(chunkDescPtr->chunkLength) < diff --git a/contrib/tcpdump/print-sll.c b/contrib/tcpdump/print-sll.c index 6ac51e1..d2a821d 100644 --- a/contrib/tcpdump/print-sll.c +++ b/contrib/tcpdump/print-sll.c @@ -20,7 +20,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-sll.c,v 1.16.2.1 2005/04/26 00:16:43 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-sll.c,v 1.16.2.2 2005/07/07 01:24:39 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -181,7 +181,7 @@ sll_if_print(const struct pcap_pkthdr *h, const u_char *p) printf("(LLC %s) ", etherproto_string(htons(extracted_ethertype))); } - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); break; } @@ -190,7 +190,7 @@ sll_if_print(const struct pcap_pkthdr *h, const u_char *p) /* ether_type not known, print raw packet */ if (!eflag) sll_print(sllp, length + SLL_HDR_LEN); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } diff --git a/contrib/tcpdump/print-slow.c b/contrib/tcpdump/print-slow.c new file mode 100644 index 0000000..9609922 --- /dev/null +++ b/contrib/tcpdump/print-slow.c @@ -0,0 +1,264 @@ +/* + * Copyright (c) 1998-2005 The TCPDUMP project + * + * 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, and (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. + * 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. + * + * support for the IEEE "slow protocols" LACP, MARKER as per 802.3ad + * + * Original code by Hannes Gredler (hannes@juniper.net) + */ + +#ifndef lint +static const char rcsid[] _U_ = + "@(#) $Header: /tcpdump/master/tcpdump/print-slow.c,v 1.1.2.1 2005/07/10 14:47:56 hannes Exp $"; +#endif + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include +#include +#include + +#include "interface.h" +#include "extract.h" +#include "addrtoname.h" +#include "ether.h" + +struct slow_common_header { + u_int8_t proto_subtype; + u_int8_t version; +}; + +#define SLOW_PROTO_LACP 1 +#define SLOW_PROTO_MARKER 2 + +#define LACP_VERSION 1 +#define MARKER_VERSION 1 + +static const struct tok slow_proto_values[] = { + { SLOW_PROTO_LACP, "LACP" }, + { SLOW_PROTO_MARKER, "MARKER" }, + { 0, NULL} +}; + +struct tlv_header_t { + u_int8_t type; + u_int8_t length; +}; + +#define LACP_TLV_TERMINATOR 0x00 +#define LACP_TLV_ACTOR_INFO 0x01 +#define LACP_TLV_PARTNER_INFO 0x02 +#define LACP_TLV_COLLECTOR_INFO 0x03 + +#define MARKER_TLV_TERMINATOR 0x00 +#define MARKER_TLV_MARKER_INFO 0x01 + +static const struct tok slow_tlv_values[] = { + { (SLOW_PROTO_LACP << 8) + LACP_TLV_TERMINATOR, "Terminator"}, + { (SLOW_PROTO_LACP << 8) + LACP_TLV_ACTOR_INFO, "Actor Information"}, + { (SLOW_PROTO_LACP << 8) + LACP_TLV_PARTNER_INFO, "Partner Information"}, + { (SLOW_PROTO_LACP << 8) + LACP_TLV_COLLECTOR_INFO, "Collector Information"}, + + { (SLOW_PROTO_MARKER << 8) + MARKER_TLV_TERMINATOR, "Terminator"}, + { (SLOW_PROTO_MARKER << 8) + MARKER_TLV_MARKER_INFO, "Marker Information"}, + { 0, NULL} +}; + +struct lacp_tlv_actor_partner_info_t { + u_int8_t sys_pri[2]; + u_int8_t sys[ETHER_ADDR_LEN]; + u_int8_t key[2]; + u_int8_t port_pri[2]; + u_int8_t port[2]; + u_int8_t state; + u_int8_t pad[3]; +}; + +static const struct tok lacp_tlv_actor_partner_info_state_values[] = { + { 0x01, "Activity"}, + { 0x02, "Timeout"}, + { 0x04, "Aggregation"}, + { 0x08, "Synchronization"}, + { 0x10, "Collecting"}, + { 0x20, "Distributing"}, + { 0x40, "Default"}, + { 0x80, "Expired"}, + { 0, NULL} +}; + +struct lacp_tlv_collector_info_t { + u_int8_t max_delay[2]; + u_int8_t pad[12]; +}; + +struct marker_tlv_marker_info_t { + u_int8_t req_port[2]; + u_int8_t req_sys[ETHER_ADDR_LEN]; + u_int8_t req_trans_id[4]; + u_int8_t pad[2]; +}; + +struct lacp_marker_tlv_terminator_t { + u_int8_t pad[50]; +}; + +void +slow_print(register const u_char *pptr, register u_int len) { + + const struct slow_common_header *slow_com_header; + const struct tlv_header_t *tlv_header; + const u_char *tptr,*tlv_tptr; + u_int tlv_len,tlen,tlv_tlen; + + union { + const struct lacp_marker_tlv_terminator_t *lacp_marker_tlv_terminator; + const struct lacp_tlv_actor_partner_info_t *lacp_tlv_actor_partner_info; + const struct lacp_tlv_collector_info_t *lacp_tlv_collector_info; + const struct marker_tlv_marker_info_t *marker_tlv_marker_info; + } tlv_ptr; + + tptr=pptr; + slow_com_header = (const struct slow_common_header *)pptr; + TCHECK(*slow_com_header); + + /* + * Sanity checking of the header. + */ + if (slow_com_header->proto_subtype == SLOW_PROTO_LACP && + slow_com_header->version != LACP_VERSION) { + printf("LACP version %u packet not supported",slow_com_header->version); + return; + } + if (slow_com_header->proto_subtype == SLOW_PROTO_MARKER && + slow_com_header->version != MARKER_VERSION) { + printf("MARKER version %u packet not supported",slow_com_header->version); + return; + } + + printf("%sv%u, length: %u", + tok2str(slow_proto_values, "unknown (%u)",slow_com_header->proto_subtype), + slow_com_header->version, + len); + + if (!vflag) + return; + + /* ok they seem to want to know everything - lets fully decode it */ + tlen=len-sizeof(struct slow_common_header); + tptr+=sizeof(const struct slow_common_header); + + while(tlen>0) { + /* did we capture enough for fully decoding the tlv header ? */ + TCHECK2(*tptr, sizeof(struct tlv_header_t)); + tlv_header = (const struct tlv_header_t *)tptr; + tlv_len = tlv_header->length; + + printf("\n\t%s TLV (0x%02x), length: %u", + tok2str(slow_tlv_values, + "Unknown", + (slow_com_header->proto_subtype << 8) + tlv_header->type), + tlv_header->type, + tlv_len); + + if ((tlv_len < sizeof(struct tlv_header_t) || + tlv_len > tlen) && + tlv_header->type != LACP_TLV_TERMINATOR && + tlv_header->type != MARKER_TLV_TERMINATOR) { + printf("\n\t-----trailing data-----"); + print_unknown_data(tptr+sizeof(sizeof(struct tlv_header_t)),"\n\t ",tlen); + return; + } + + tlv_tptr=tptr+sizeof(struct tlv_header_t); + tlv_tlen=tlv_len-sizeof(struct tlv_header_t); + + /* did we capture enough for fully decoding the tlv ? */ + TCHECK2(*tptr, tlv_len); + + switch((slow_com_header->proto_subtype << 8) + tlv_header->type) { + + /* those two TLVs have the same structure -> fall through */ + case ((SLOW_PROTO_LACP << 8) + LACP_TLV_ACTOR_INFO): + case ((SLOW_PROTO_LACP << 8) + LACP_TLV_PARTNER_INFO): + tlv_ptr.lacp_tlv_actor_partner_info = (const struct lacp_tlv_actor_partner_info_t *)tlv_tptr; + + printf("\n\t System %s, System Priority %u, Key %u" \ + ", Port %u, Port Priority %u\n\t State Flags [%s]", + etheraddr_string(tlv_ptr.lacp_tlv_actor_partner_info->sys), + EXTRACT_16BITS(tlv_ptr.lacp_tlv_actor_partner_info->sys_pri), + EXTRACT_16BITS(tlv_ptr.lacp_tlv_actor_partner_info->key), + EXTRACT_16BITS(tlv_ptr.lacp_tlv_actor_partner_info->port), + EXTRACT_16BITS(tlv_ptr.lacp_tlv_actor_partner_info->port_pri), + bittok2str(lacp_tlv_actor_partner_info_state_values, + "none", + tlv_ptr.lacp_tlv_actor_partner_info->state)); + + break; + + case ((SLOW_PROTO_LACP << 8) + LACP_TLV_COLLECTOR_INFO): + tlv_ptr.lacp_tlv_collector_info = (const struct lacp_tlv_collector_info_t *)tlv_tptr; + + printf("\n\t Max Delay %u", + EXTRACT_16BITS(tlv_ptr.lacp_tlv_collector_info->max_delay)); + + break; + + case ((SLOW_PROTO_MARKER << 8) + MARKER_TLV_MARKER_INFO): + tlv_ptr.marker_tlv_marker_info = (const struct marker_tlv_marker_info_t *)tlv_tptr; + + printf("\n\t Request System %s, Request Port %u, Request Transaction ID 0x%08x", + etheraddr_string(tlv_ptr.marker_tlv_marker_info->req_sys), + EXTRACT_16BITS(tlv_ptr.marker_tlv_marker_info->req_port), + EXTRACT_32BITS(tlv_ptr.marker_tlv_marker_info->req_trans_id)); + + break; + + /* those two TLVs have the same structure -> fall through */ + case ((SLOW_PROTO_LACP << 8) + LACP_TLV_TERMINATOR): + case ((SLOW_PROTO_MARKER << 8) + LACP_TLV_TERMINATOR): + tlv_ptr.lacp_marker_tlv_terminator = (const struct lacp_marker_tlv_terminator_t *)tlv_tptr; + if (tlv_len == 0) { + tlv_len = sizeof(tlv_ptr.lacp_marker_tlv_terminator->pad) + + sizeof(struct tlv_header_t); + /* tell the user that we modified the length field */ + if (vflag>1) + printf(" (=%u)",tlv_len); + /* we have messed around with the length field - now we need to check + * again if there are enough bytes on the wire for the hexdump */ + TCHECK2(tlv_ptr.lacp_marker_tlv_terminator->pad[0], + sizeof(tlv_ptr.lacp_marker_tlv_terminator->pad)); + } + + break; + + default: + if (vflag <= 1) + print_unknown_data(tlv_tptr,"\n\t ",tlv_tlen); + break; + } + /* do we want to see an additionally hexdump ? */ + if (vflag > 1) + print_unknown_data(tptr+sizeof(sizeof(struct tlv_header_t)),"\n\t ", + tlv_len-sizeof(struct tlv_header_t)); + + tptr+=tlv_len; + tlen-=tlv_len; + } + return; +trunc: + printf("\n\t\t packet exceeded snapshot"); +} diff --git a/contrib/tcpdump/print-symantec.c b/contrib/tcpdump/print-symantec.c index 652bbb6..eb72180 100644 --- a/contrib/tcpdump/print-symantec.c +++ b/contrib/tcpdump/print-symantec.c @@ -20,7 +20,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-symantec.c,v 1.4 2004/04/05 00:13:59 mcr Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-symantec.c,v 1.4.2.1 2005/07/07 01:24:39 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -105,7 +105,7 @@ symantec_if_print(const struct pcap_pkthdr *h, const u_char *p) if (!eflag) symantec_hdr_print((u_char *)sp, length + sizeof (struct symantec_header)); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } else if (ether_encap_print(ether_type, p, length, caplen, &extracted_ether_type) == 0) { @@ -113,7 +113,7 @@ symantec_if_print(const struct pcap_pkthdr *h, const u_char *p) if (!eflag) symantec_hdr_print((u_char *)sp, length + sizeof (struct symantec_header)); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } diff --git a/contrib/tcpdump/print-tcp.c b/contrib/tcpdump/print-tcp.c index c1dede8..ab736a0 100644 --- a/contrib/tcpdump/print-tcp.c +++ b/contrib/tcpdump/print-tcp.c @@ -799,7 +799,7 @@ tcp_verify_signature(const struct ip *ip, const struct tcphdr *tp, MD5_Update(&ctx, tcpmd5secret, strlen(tcpmd5secret)); MD5_Final(sig, &ctx); - if (memcmp(rcvsig, sig, 16) == 0) + if (memcmp(rcvsig, sig, 16)) return (SIGNATURE_VALID); else return (SIGNATURE_INVALID); diff --git a/contrib/tcpdump/print-token.c b/contrib/tcpdump/print-token.c index 0633578..a2b3d0f 100644 --- a/contrib/tcpdump/print-token.c +++ b/contrib/tcpdump/print-token.c @@ -25,7 +25,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-token.c,v 1.25 2004/03/17 23:24:38 guy Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/print-token.c,v 1.25.2.1 2005/07/07 01:24:40 guy Exp $"; #endif #ifdef HAVE_CONFIG_H @@ -167,7 +167,7 @@ token_print(const u_char *p, u_int length, u_int caplen) printf("(LLC %s) ", etherproto_string(htons(extracted_ethertype))); } - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } else { @@ -176,7 +176,7 @@ token_print(const u_char *p, u_int length, u_int caplen) if (!eflag) token_hdr_print(trp, length + TOKEN_HDRLEN + route_len, ESRC(&ehdr), EDST(&ehdr)); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } return (hdr_len); diff --git a/contrib/tcpdump/tcpdump-stdinc.h b/contrib/tcpdump/tcpdump-stdinc.h index dbabeef..0319ff9 100644 --- a/contrib/tcpdump/tcpdump-stdinc.h +++ b/contrib/tcpdump/tcpdump-stdinc.h @@ -29,7 +29,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * - * @(#) $Header: /tcpdump/master/tcpdump/tcpdump-stdinc.h,v 1.12.2.3 2005/05/04 19:20:20 risso Exp $ (LBL) + * @(#) $Header: /tcpdump/master/tcpdump/tcpdump-stdinc.h,v 1.12.2.4 2005/07/09 21:19:45 risso Exp $ (LBL) */ /* @@ -46,11 +46,11 @@ #include #include +#include #include "bittypes.h" #include #include #include -#include "IP6_misc.h" #include #include #include /* in wpcap's Win32/include */ diff --git a/contrib/tcpdump/tcpdump.1 b/contrib/tcpdump/tcpdump.1 index b08d2c6..d44beeb 100644 --- a/contrib/tcpdump/tcpdump.1 +++ b/contrib/tcpdump/tcpdump.1 @@ -1,4 +1,4 @@ -.\" @(#) $Header: /tcpdump/master/tcpdump/tcpdump.1,v 1.167.2.4 2005/05/02 21:27:34 guy Exp $ (LBL) +.\" @(#) $Header: /tcpdump/master/tcpdump/tcpdump.1,v 1.167.2.6 2005/09/05 09:14:37 guy Exp $ (LBL) .\" .\" $NetBSD: tcpdump.8,v 1.9 2003/03/31 00:18:17 perry Exp $ .\" @@ -1013,20 +1013,72 @@ Note that \fItcpdump\fP does not currently know how to parse these protocols. .IP "\fBvlan \fI[vlan_id]\fR" True if the packet is an IEEE 802.1Q VLAN packet. -If \fI[vlan_id]\fR is specified, only true is the packet has the specified +If \fI[vlan_id]\fR is specified, only true if the packet has the specified \fIvlan_id\fR. Note that the first \fBvlan\fR keyword encountered in \fIexpression\fR -changes the decoding offsets for the remainder of \fIexpression\fR -on the assumption that the packet is a VLAN packet. -the \fI[vlan_id]\fR statement may be used more than once, to filter on vlan hierarchies. -each use of the \fI[vlan_id]\fR \fIexpression\fR increments the filter offsets by 4. +changes the decoding offsets for the remainder of \fIexpression\fR on +the assumption that the packet is a VLAN packet. The \fBvlan +\fI[vlan_id]\fR expression may be used more than once, to filter on VLAN +hierarchies. Each use of that expression increments the filter offsets +by 4. +.IP +For example: +.in +.5i +.nf +\fBvlan 100 && vlan 200\fR .fi -example(s): +.in -.5i +filters on VLAN 200 encapsulated within VLAN 100, and +.in +.5i +.nf +\fBvlan && vlan 300 && ip\fR +.fi +.in -.5i +filters IPv4 protocols encapsulated in VLAN 300 encapsulated within any +higher order VLAN. +.IP "\fBmpls \fI[label_num]\fR" +True if the packet is an MPLS packet. +If \fI[label_num]\fR is specified, only true is the packet has the specified +\fIlabel_num\fR. +Note that the first \fBmpls\fR keyword encountered in \fIexpression\fR +changes the decoding offsets for the remainder of \fIexpression\fR on +the assumption that the packet is a MPLS-encapsulated IP packet. The +\fBmpls \fI[label_num]\fR expression may be used more than once, to +filter on MPLS hierarchies. Each use of that expression increments the +filter offsets by 4. +.IP +For example: +.in +.5i +.nf +\fBmpls 100000 && mpls 1024\fR .fi -"vlan 100 && vlan 200" filters on vlan 200 encapsulated within vlan 100 +.in -.5i +filters packets with an outer label of 100000 and an inner label of +1024, and +.in +.5i +.nf +\fBmpls && mpls 1024 && host 192.9.200.1\fR .fi -"vlan && vlan 300 && ip" filters IPv4 protocols encapsulated in vlan 300 encapsulated within any higher order vlan +.in -.5i +filters packets to or from 192.9.200.1 with an inner label of 1024 and +any outer label. +.IP \fBpppoed\fP +True if the packet is a PPP-over-Ethernet Discovery packet (Ethernet +type 0x8863). +.IP \fBpppoes\fP +True if the packet is a PPP-over-Ethernet Session packet (Ethernet +type 0x8864). +Note that the first \fBpppoes\fR keyword encountered in \fIexpression\fR +changes the decoding offsets for the remainder of \fIexpression\fR on +the assumption that the packet is a PPPoE session packet. +.IP +For example: +.in +.5i +.nf +\fBpppoes && ip\fR .fi +.in -.5i +filters IPv4 protocols encapsulated in PPPoE. .IP "\fBtcp\fR, \fBudp\fR, \fBicmp\fR" Abbreviations for: .in +.5i diff --git a/contrib/tcpdump/tcpdump.c b/contrib/tcpdump/tcpdump.c index 6c47f50..b7bedfe 100644 --- a/contrib/tcpdump/tcpdump.c +++ b/contrib/tcpdump/tcpdump.c @@ -30,7 +30,7 @@ static const char copyright[] _U_ = "@(#) Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000\n\ The Regents of the University of California. All rights reserved.\n"; static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.253.2.8 2005/07/05 21:09:05 mcr Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.253.2.11 2005/08/23 10:29:41 hannes Exp $ (LBL)"; #endif /* @@ -253,6 +253,18 @@ static struct printer printers[] = { #ifdef DLT_JUNIPER_SERVICES { juniper_services_print, DLT_JUNIPER_SERVICES }, #endif +#ifdef DLT_JUNIPER_ETHER + { juniper_ether_print, DLT_JUNIPER_ETHER }, +#endif +#ifdef DLT_JUNIPER_PPP + { juniper_ppp_print, DLT_JUNIPER_PPP }, +#endif +#ifdef DLT_JUNIPER_FRELAY + { juniper_frelay_print, DLT_JUNIPER_FRELAY }, +#endif +#ifdef DLT_JUNIPER_CHDLC + { juniper_chdlc_print, DLT_JUNIPER_CHDLC }, +#endif { NULL, 0 }, }; @@ -492,8 +504,6 @@ main(int argc, char **argv) break; case 'A': - ++xflag; - ++Xflag; ++Aflag; break; @@ -655,6 +665,7 @@ main(int argc, char **argv) case 'q': ++qflag; + ++suppress_default_print; break; case 'r': @@ -735,10 +746,12 @@ main(int argc, char **argv) case 'x': ++xflag; + ++suppress_default_print; break; case 'X': ++Xflag; + ++suppress_default_print; break; case 'y': @@ -1224,9 +1237,28 @@ print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *sp) snapend = sp + h->caplen; hdrlen = (*print_info->printer)(h, sp); - if (xflag) { + if (Xflag) { /* - * Print the raw packet data. + * Print the raw packet data in hex and ASCII. + */ + if (Xflag > 1) { + /* + * Include the link-layer header. + */ + hex_and_ascii_print("\n\t", sp, h->caplen); + } else { + /* + * Don't include the link-layer header - and if + * we have nothing past the link-layer header, + * print nothing. + */ + if (h->caplen > hdrlen) + hex_and_ascii_print("\n\t", sp + hdrlen, + h->caplen - hdrlen); + } + } else if (xflag) { + /* + * Print the raw packet data in hex. */ if (xflag > 1) { /* @@ -1243,15 +1275,15 @@ print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *sp) hex_print("\n\t", sp + hdrlen, h->caplen - hdrlen); } - } else if (Xflag) { + } else if (Aflag) { /* - * Print the raw packet data. + * Print the raw packet data in ASCII. */ - if (Xflag > 1) { + if (Aflag > 1) { /* * Include the link-layer header. */ - ascii_print("\n\t", sp, h->caplen); + ascii_print(sp, h->caplen); } else { /* * Don't include the link-layer header - and if @@ -1259,8 +1291,7 @@ print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *sp) * print nothing. */ if (h->caplen > hdrlen) - ascii_print("\n\t", sp + hdrlen, - h->caplen - hdrlen); + ascii_print(sp + hdrlen, h->caplen - hdrlen); } } @@ -1299,12 +1330,12 @@ print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *sp) #endif /* - * By default, print the specified data out in hex. + * By default, print the specified data out in hex and ASCII. */ static void ndo_default_print(netdissect_options *ndo _U_, const u_char *bp, u_int length) { - ascii_print("\n\t", bp, length); /* pass on lf and identation string */ + hex_and_ascii_print("\n\t", bp, length); /* pass on lf and identation string */ } void diff --git a/contrib/tcpdump/tests/.cvsignore b/contrib/tcpdump/tests/.cvsignore new file mode 100644 index 0000000..f097c8a --- /dev/null +++ b/contrib/tcpdump/tests/.cvsignore @@ -0,0 +1,11 @@ +*.new +*.pcap +02-sunrise-sunset-esp.pcap +08-sunrise-sunset-aes.pcap +08-sunrise-sunset-esp.pcap +08-sunrise-sunset-esp2.pcap +isakmp-delete-segfault.pcap +isakmp-identification-segfault.pcap +isakmp-pointer-loop.pcap +run1.pcap +run2.pcap diff --git a/contrib/tcpdump/tests/02-sunrise-sunset-esp.puu b/contrib/tcpdump/tests/02-sunrise-sunset-esp.puu new file mode 100644 index 0000000..0ceffc1 --- /dev/null +++ b/contrib/tcpdump/tests/02-sunrise-sunset-esp.puu @@ -0,0 +1,34 @@ +begin 644 02-sunrise-sunset-esp.pcap +MU,.RH0(`!``````````````&```!``````````````"6````E@```!```&1D +M11```&1D(P@`10``B/]G``!`,O:5P`$"%\`!`BT2-%9X`````4P@12\\L)(1 +MTZ=(S>7($>.<3N@\_I:AY"K/TKAZJP719"NCKYP;PT(0+$"M%=]-X"`*8V.' +M-'$1A]02"3N#OZI#&1R]A*1;`G8S@YFQ]`````(:<$'CW)%VZ',2KQMB@CN?'"^GJ<=: +MD-0`+.V^J'2AK).'XQ_B"B8:[%A_+K[6KS2'XR[UN`,R"BJP?^].ZM#/[$)# +M17^!D"8_[BZ>GU4Z*$7I"N$U*>J47?C-4;I>#`%6+#0%]D75YC']*Z\````` +M`````)8```"6````$```9&1%$```9&0C"`!%``"(_VD``$`R]I/``0(7P`$" +M+1(T5G@````#7?C-4;I>#`%@W%89?QJ#$TJ,4G\FO&HO=F+,,%1E(]);XI]T +MV7W.RY$2=JZ1%!QCNX[;^.JD4W91;7)NJWV2MF4?7`=&_3OWW%V&6RIXKB75 +M#;2TWNL"A:MF!I@_5R^]L6;Z`L?E@1:T&71G``````````"6````E@```!`` +M`&1D11```&1D(P@`10``B/]J``!`,O:2P`$"%\`!`BT2-%9X````!*MF!I@_ +M5R^]%';9*Q:S_B]]O_8FV:2K1A!]/SQHI7>OS815*I?4%/:.=BBJUEGJ(X8\ +MP1E/@&P\9MR)DP3[UCWI@,MR%A$\CR]=G(("[CFB7AUN$AENZOO&\:7% +M2KLW<'NP,L(I=!;8=0``````````E@```)8````0``!D9$40``!D9",(`$4` +M`(C_:P``0#+VD<`!`A?``0(M$C16>`````5NZOO&\:7%2J12,9;LOK"-S,=$ +MO0]X+J(OJQED#PLBRY[\^352UZK&576,Z<:%73AWV3:;Y/:=@(` +M`````````)8```"6````$```9&1%$```9&0C"`!%``"(_VP``$`R]I#``0(7 +MP`$"+1(T5G@````&M,^T?7>6,Z=>N_YZQFV[H1^6\!/I*IMAOHZE\E0M.Z!X +M#[0EG3#>%]7`]*2F?@S4X2''TK09J@NG/.HEXCE./..K^'-@":X[\?0L+B`S +MQA\HTK\'J]:S]N6O`]\)NQD)9;H2P\K`^NX37`R5``````````"6````E@`` +M`!```&1D11```&1D(P@`10``B/]M``!`,O:/P`$"%\`!`BT2-%9X````!^6O +M`]\)NQD)>BYZ>`/DA=N;A2...3-7FZOK?:5KGXBN`/E?$\[-11-$G#E;(>N" +M+<$/YP'SM$>16LU18&Q]9)$]0)/M]:2Z#A6]-,SM*>FI/`X*K-*-:KS3IW<" +MO(>(P(K=:X::SJ;O[J>0K```````````E@```)8````0``!D9$40``!D9",( +M`$4``(C_;@``0#+VCL`!`A?``0(M$C16>`````C3IW<"O(>(P'-43;C[`MCD +M`BMZAX]F!?'Z$8Q"5HYMVDC9"8I^O(Z4!/)`/IVD-(ZK)_52-H2XK+,(-LR) +MM)K#XLF">KY0>C?\[MA%3F%$?ORJ@:>O]5H>?-$OQH)J:['.C0J(%P +MVF'>(TU6&*"9A,`,/KS\:>DH>O_L(51)_[YY"L9?8'?J4V:_.]B+6UR\T>39D+=NA;$``````````*8```"F````$``` +M9&1%$```9&0C"`!%``"8_.L``$`R^0'``0(7P`$"+=$C16<````";K2P<-=Q +MYE]@=^I39K\[V$1HDU9'L,6BVK.^B4]E6QY&:?3?T)G?"RSU;X!J]]7S)<`, +M*L!SYO^RUWR?!EIJMWU=5B406YL-I`]LK`^;-3%(NEY#R`ST=W40=:*[M$*8 +M#`GLTK(5ZCS"BC@``````````I@```*8````0 +M``!D9$40``!D9",(`$4``)C\[```0#+Y`,`!`A?``0(MT2-%9P````,-RO@E +M%F`X`Y3]7F3YK9N>=6-;U&'6">_4H80DMY^Z9E3ZL3[ONN*L<"Z@7(VO]XT^ +M/2JP<(/^8NTO-4\/B5AJEC4N;,\"7-&(;9AM_2G5A1C.[LBK3')P?AE;$I[) +M!8N&RC?OTD77ELURFXRD/JD(:@RER``````````"F````I@`` +M`!```&1D11```&1D(P@`10``F/SM``!`,OC_P`$"%\`!`BW1(T5G````!(;* +M-^_21=S8F&G50PJ5Y>5K%@R;)A(E<5YD'@86@GT"-&&MHP*.A=?%=:FDZH=4 +M*9":>]'G'CB4%2?PJ"2^H*51\8P!9T`X3#;F+H$[4Z$7ZL0<\S=S\%`:BW9U2'@U^@D,,:.P``````````*8```"F +M````$```9&1%$```9&0C"`!%``"8_.X``$`R^/[``0(7P`$"+=$C16<````% +M,2>GIY3H1?JQ!SS-W/P4!BW&*&A[$!XGK<^M^>_X193"G"1QTWG>Q"CO25$" +MPM+1+8[6&(17\EE\P:6-WVPT=911?@'-Z,,/UVZ2!QV(X4513U9]P62CJMS> +M^ODBGHU=%T.H2&Z<4,8(!4,2[&A4^H="L:+`=4G?*(7,2@``````````I@`` +M`*8````0``!D9$40``!D9",(`$4``)C\[P``0#+X_<`!`A?``0(MT2-%9P`` +M``870ZA(;IQ0Q@@%0Q+L:%3Z@*HQPZA]3STWDY#CYJGOJH)K>I' +MEHMF"X!^G,H@,YWT7^=60.3/$7?AYH)G9GBD%%#,D]!EDA]B*?UE>U96+"5\ +MK=""/.LO'__^;$NI`L#D]@&G?Z7B2O#GI?NDK +MF[7JPN,8V\H>%G+)'+%+FL*&\8+H2^KFWF5YQ:$4V!,1?G;=OYD;!,3YD'V( +MW[Y!I(U=X9[\:L)(5GBJ,B!-5N$.CGV$VLD^R?Z,KL[AMI(ZC-P````````` +M`*8```"F````$```9&1%$```9&0C"`!%``"8_/$``$`R^/O``0(7P`$"+=$C +M16<````(PDA6>*HR($U6X0Z.?83:R;Y0&'2065/"*M'ELXD?1%3\L3TC.UK +HKWB(C5O@78>9LQ^<0Z6]F=:<;@[>L^;/\-6WB81[GX)LGD@`` +` +end diff --git a/contrib/tcpdump/tests/08-sunrise-sunset-esp2.puu b/contrib/tcpdump/tests/08-sunrise-sunset-esp2.puu new file mode 100644 index 0000000..4785f2b --- /dev/null +++ b/contrib/tcpdump/tests/08-sunrise-sunset-esp2.puu @@ -0,0 +1,43 @@ +begin 644 08-sunrise-sunset-esp2.pcap +MU,.RH0(`!``````````````&```!``````````````#.````S@```!```&1D +M11```&1D(P@`10``P"E-``!`,LQXP`$"%\`!`BT2-%9X`````4=!+\5+F8`+ +M[[NOU-#98*AO5\780X[VDXF@2W8<10:J!'!Z!-[7N4CFNRKIH;PUA1SL"Y9\ +M-?_3N_,W/@*T+C/"]=S[`;D!/;`SR5,3+><9K.^\9N><18TY9Z\!I\S./L8R +MFE53,S6Y5X_Z\(T)ZIUS?X$8>&(_MT1"!SV:VPP!\XU$[3S-5L)4-O"&>]`Z +M1:./61=%C6`6U1/65"A&KUE902]*``````````#.````S@```!```&1D11`` +M`&1D(P@`10``P"E/``!`,LQVP`$"%\`!`BT2-%9X`````CIU^SX%;G^!GUSP +MSA +ML7P6FM81),N>T/1Z'"P7H5;```````````#.````S@```!```&1D11```&1D +M(P@`10``P"E1``!`,LQTP`$"%\`!`BT2-%9X`````R4)-P&F>HPK/?_$MTFC +M^TOO=/L#W_APTK6MIH_BC*I7\L<,9(?/0M"HK3[T3F;(Y2V70$P5?D'7GFIB +MJZ/C",S/BD!9N8GV"\.;GVME[P!@!B1"DT=1W0_75FMI23H!T2^C);4GY>`I +M-2T^O_0_WU&$)&+/P)%[TQUQ-T7G%\RXYJT0HO[$=< +M`@@TL1#(Y980]E*/!^2@G`*&S9O^QMS1S?/`TL=5F9B(12?(145>Y2I+;+T? +MKWUD@&.7U36]K-$[.%9CB*FK^E8>N:K/)4#$]ZO/:=#;MRH-)_139\,W6M4T +M7SQ?BBX>,+A3#BB5^O=>+GKIC-4]5VBP)D-S7-)\W&;<@_J@,*!``````````#.````S@```!```&1D11```&1D(P@`10`` +MP"E5``!`,LQPP`$"%\`!`BT2-%9X````!0OIFA;,@2C4HF3>5!-C(0>5LR0" +M='1\OQ.!-?@D(U0!453"``````````#.````S@```!```&1D11```&1D(P@`10``P"E7 +M``!`,LQNP`$"%\`!`BT2-%9X````!I0M"-THEF=+!L=>A3N,\1+"'Z7(J?O0 +M.B?)(#X=/5F-.">%3.X'(=JKK:WZMN +M=B+^Q3"(KE\1299]=5E,'.&U(`H9N)+>9FS/`CA*>D^>AV.-C(S\)BM&)*XM +M^BF__^<_``````````#.````S@```!```&1D11```&1D(P@`10``P"E9``!` +M,LQLP`$"%\`!`BT2-%9X````!R"SQ'[6%(;Q>>O+]CS6D*+AD3IMC\^MMK8[ +M:T3)KM06!G^.H\>%UAT@)X6JL9\3V.HR"+_Q^_T-O$Y_S":_TP;V,LIV1O]H +M-G@DOL'V-5)O@%<%!#O$2V,AS@W7(&$IX.YKK]\K#>FITU)<>O42T2GKFW+^ +M\/[,>E4P[Q"+7O,Y1(R22LND[H+469(%3,SN&3:U:/I`'&R@<`HKGOV,^#L9,QF%)W^9!VFM +MXG'XY]CWI5VF33?7,*P?6:.PS'&[\N$7W<*==+;P*$./4*OH&=O,6G!JIN>I +M'ZDP*D&4K>SK-\/!7\Z&<&5J4%NU?NRM&25'*_"'UE3VH&?U]/V@932UYZT\ +` +end diff --git a/contrib/tcpdump/tests/alltests.sh b/contrib/tcpdump/tests/alltests.sh new file mode 100644 index 0000000..7df2599 --- /dev/null +++ b/contrib/tcpdump/tests/alltests.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +for i in *.sh +do + if [ "X$i" = "Xalltests.sh" ] + then + continue; + fi + sh ./$i +done + + diff --git a/contrib/tcpdump/tests/bgp_vpn_attrset.out b/contrib/tcpdump/tests/bgp_vpn_attrset.out new file mode 100644 index 0000000..7fb12ae --- /dev/null +++ b/contrib/tcpdump/tests/bgp_vpn_attrset.out @@ -0,0 +1,18 @@ +IP (tos 0xc0, ttl 62, id 58628, offset 0, flags [none], proto: TCP (6), length: 173) 12.4.4.4.2051 > 12.1.1.1.179: P, cksum 0xcf18 (correct), 3293077573:3293077694(121) ack 3348108582 win 16384 : BGP, length: 121 + Update Message (2), length: 121 + Origin (1), length: 1, Flags [T]: IGP + AS Path (2), length: 0, Flags [T]: empty + Local Preference (5), length: 4, Flags [T]: 100 + Extended Community (16), length: 8, Flags [OT]: + target (0x0002), Flags [none]: 300:0.0.1.44 + Attribute Set (128), length: 36, Flags [OT]: + Origin AS: 65001 + Origin (1), length: 1, Flags [T]: IGP + AS Path (2), length: 4, Flags [T]: 5555 + Local Preference (5), length: 4, Flags [T]: 44 + Originator ID (9), length: 4, Flags [O]: 22.5.5.5 + Cluster List (10), length: 4, Flags [O]: 22.5.5.5 + Multi-Protocol Reach NLRI (14), length: 30, Flags [OE]: + AFI: IPv4 (1), SAFI: labeled VPN Unicast (128) + nexthop: RD: 0:0.0.0.0, 12.4.4.4, nh-length: 12, no SNPA + RD: 500:0.0.1.244, 133.0.0.0/8, label:100208 (bottom) diff --git a/contrib/tcpdump/tests/bgp_vpn_attrset.sh b/contrib/tcpdump/tests/bgp_vpn_attrset.sh new file mode 100755 index 0000000..c32872c --- /dev/null +++ b/contrib/tcpdump/tests/bgp_vpn_attrset.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +echo -n test bgp_vpn_attrset... +if (../tcpdump -t -n -v -r bgp_vpn_attrset.pcap | diff -w - bgp_vpn_attrset.out) +then + echo passed. +else + echo failed. +fi + + diff --git a/contrib/tcpdump/tests/eapon1.gdbinit b/contrib/tcpdump/tests/eapon1.gdbinit new file mode 100644 index 0000000..37ad0bc --- /dev/null +++ b/contrib/tcpdump/tests/eapon1.gdbinit @@ -0,0 +1 @@ +set args -r eapon1.pcap diff --git a/contrib/tcpdump/tests/eapon1.out b/contrib/tcpdump/tests/eapon1.out new file mode 100644 index 0000000..c5042e3 --- /dev/null +++ b/contrib/tcpdump/tests/eapon1.out @@ -0,0 +1,114 @@ +IP 192.168.1.249.netbios-dgm > 192.168.1.255.netbios-dgm: NBT UDP PACKET(138) +IP 192.168.1.249.netbios-dgm > 192.168.1.255.netbios-dgm: NBT UDP PACKET(138) +IP 192.168.1.249.netbios-dgm > 192.168.1.255.netbios-dgm: NBT UDP PACKET(138) +IP 192.168.1.249.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +IP 192.168.1.249.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +IP 192.168.1.249.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +IP 192.168.1.249.netbios-dgm > 192.168.1.255.netbios-dgm: NBT UDP PACKET(138) +IP 192.168.1.249.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +IP 192.168.1.249.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +IP 192.168.1.249.netbios-ns > 192.168.1.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +arp who-has 192.168.1.1 tell 192.168.1.249 +arp reply 192.168.1.1 is-at 00:0d:88:4f:25:91 (oui Unknown) +IP 192.168.1.249.bootpc > 192.168.1.1.bootps: BOOTP/DHCP, Request from 00:04:23:57:a5:7a (oui Unknown), length: 300 +EAP code=1 id=0 length=5 +IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:04:23:57:a5:7a (oui Unknown), length: 300 +IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:04:23:57:a5:7a (oui Unknown), length: 300 +EAP code=1 id=1 length=0 +EAP code=1 id=0 length=5 +EAP code=1 id=0 length=45 +EAP code=1 id=0 length=20 +EAP code=1 id=0 length=76 +EAP code=1 id=0 length=80 +EAP code=1 id=0 length=28 +EAP code=1 id=0 length=4 +EAP code=1 id=3 length=57 +EAP code=1 id=3 length=44 +IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:04:23:57:a5:7a (oui Unknown), length: 300 +IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:04:23:57:a5:7a (oui Unknown), length: 300 +IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:04:23:57:a5:7a (oui Unknown), length: 300 +EAP code=1 id=1 length=0 +EAP code=1 id=0 length=5 +EAP code=1 id=0 length=45 +EAP code=1 id=0 length=20 +EAP code=1 id=0 length=76 +EAP code=1 id=0 length=80 +EAP code=1 id=0 length=28 +EAP code=1 id=0 length=4 +EAP code=1 id=3 length=57 +EAP code=1 id=3 length=44 +arp who-has 169.254.67.194 tell 169.254.67.194 +arp who-has 169.254.67.194 tell 169.254.67.194 +arp who-has 169.254.67.194 tell 169.254.67.194 +IP 169.254.67.194.4299 > 239.255.255.250.1900: UDP, length 133 +IP 169.254.67.194 > IGMP: igmp v3 report, 1 group record(s) +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194 > IGMP: igmp v3 report, 1 group record(s) +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:04:23:57:a5:7a (oui Unknown), length: 300 +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.4299 > 239.255.255.250.1900: UDP, length 133 +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +EAP code=1 id=1 length=0 +EAP code=1 id=0 length=5 +EAP code=1 id=0 length=45 +EAP code=1 id=0 length=20 +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +EAP code=1 id=0 length=76 +EAP code=1 id=0 length=80 +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +EAP code=1 id=0 length=28 +EAP code=1 id=0 length=4 +EAP code=1 id=3 length=57 +EAP code=1 id=3 length=44 +IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:04:23:57:a5:7a (oui Unknown), length: 300 +IP 169.254.67.194.4299 > 239.255.255.250.1900: UDP, length 133 +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:04:23:57:a5:7a (oui Unknown), length: 300 +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +IP 169.254.67.194.netbios-ns > 169.254.255.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST +IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:04:23:57:a5:7a (oui Unknown), length: 300 +EAP code=1 id=1 length=0 +EAP code=1 id=0 length=5 +EAP code=1 id=0 length=45 +EAP code=1 id=0 length=20 +IP 169.254.67.194.netbios-dgm > 169.254.255.255.netbios-dgm: NBT UDP PACKET(138) +EAP code=1 id=0 length=76 +EAP code=1 id=0 length=80 +EAP code=1 id=0 length=28 +EAP code=1 id=0 length=4 +EAP code=1 id=3 length=57 +EAP code=1 id=3 length=44 diff --git a/contrib/tcpdump/tests/eapon1.puu b/contrib/tcpdump/tests/eapon1.puu new file mode 100644 index 0000000..25c1436 --- /dev/null +++ b/contrib/tcpdump/tests/eapon1.puu @@ -0,0 +1,368 @@ +begin 644 eapon1.pcap +MU,.RH0(`!````````````/__```!````"%5@0)*@#@#=````W0```/______ +M_P`$(U>E>@@`10``SSB'``"`$7Q.P*@!^<"H`?\`B@"*`+M3[!$.B1W`J`'Y +M`(H`I0``($5%14M&041*1$9&1$1!14M#04-!0T%#04-!0T%#04%!`"!%0D9# +M14-%1D5*1D5&1$5(1D-&1D9!1D%%1D-!0T%!00#_4TU")0`````````````` +M`````````````````````!$```L```````````#H`P``````````"P!6``,` +M`0`!``(`'`!<34%)3%-,3U1<0E)/5U-%``(`1$I0.353,$H`"%5@0/2@#@#= +M````W0```/_______P`$(U>E>@@`10``SSB(``"`$7Q-P*@!^<"H`?\`B@"* +M`+L,\A$.B1[`J`'Y`(H`I0``($5%14M&041*1$9&1$1!14M#04-!0T%#04-! +M0T%#04%!`"!!0D%#1E!&4$5.1D1%0T9#15!&2$9$149&4$9004-!0@#_4TU" +M)0```````````````````````````````````!$```L```````````#H`P`` +M````````"P!6``,``0`!``(`'`!<34%)3%-,3U1<0E)/5U-%``(`1$I0.353 +M,$H`"%5@0("C#@#[````^P```/_______P`$(U>E>@@`10``[3B)``"`$7PN +MP*@!^<"H`?\`B@"*`-E#WA$.B1_`J`'Y`(H`PP``($5%14M&041*1$9&1$1! +M14M#04-!0T%#04-!0T%#04%!`"!!0D%#1E!&4$5.1D1%0T9#15!&2$9$149& +M4$9004-!0@#_4TU")0```````````````````````````````````!$``"D` +M``````````#H`P``````````*0!6``,``0`!``(`.@!<34%)3%-,3U1<0E)/ +M5U-%``P`8.H``$%20D5)5%-'4E504$4``0`#"@`0`(!,_@0#1$I0.353,$H` +M"%5@0/JI#@!<````7````/_______P`$(U>E>@@`10``3CB*``"`$7S,P*@! +M^<"H`?\`B0")`#J"=XDA`1```0```````"!%0D9#14-%1D5*1D5&1$5(1D-& +M1D9!1D%%1D-!0T%"3```(``!"55@0//8"@!<````7````/_______P`$(U>E +M>@@`10``3CB-``"`$7S)P*@!^<"H`?\`B0")`#J"=XDA`1```0```````"!% +M0D9#14-%1D5*1D5&1$5(1D-&1D9!1D%%1D-!0T%"3```(``!"E5@0+,)!P!< +M````7````/_______P`$(U>E>@@`10``3CB.``"`$7S(P*@!^<"H`?\`B0") +M`#J"=XDA`1```0```````"!%0D9#14-%1D5*1D5&1$5(1D-&1D9!1D%%1D-! +M0T%"3```(``!"E5@0,@N#`#S````\P```/_______P`$(U>E>@@`10``Y3B/ +M``"`$7PPP*@!^<"H`?\`B@"*`-'GIA$.B2+`J`'Y`(H`NP``($5%14M&041* +M1$9&1$1!14M#04-!0T%#04-!0T%#04-!`"!%0D9#14-%1D5*1D5&1$5(1D-& +M1D9!1D%%1D-!0T%"3P#_4TU")0`````````````````````````````````` +M`!$``"$```````````#H`P``````````(0!6``,``0````(`,@!<34%)3%-, +M3U1<0E)/5U-%``\`@/P*`$1*4#DU4S!*``!R`&\`10,`7````%P```#_______\`!"-7I7H( +M`$4``$XXE0``@!%\P<"H`?G`J`'_`(D`B0`Z@G")*`$0``$````````@14)& +M0T5#149%2D9%1D1%2$9#1D9&049!149#04-!0DP``"```0Y58$!0N`X`7``` +M`%P```#_______\`!"-7I7H(`$4``$XXE@``@!%\P,"H`?G`J`'_`(D`B0`Z +M@G")*`$0``$````````@14)&0T5#149%2D9%1D1%2$9#1D9&049!149#04-! +M0DP``"```0]58$#*.`<`*@```"H```#_______\`!"-7I7H(!@`!"``&!``! +M``0C5Z5ZP*@!^0```````,"H`0$/56!`%UD'`#P````\``````0C5Z5Z``V( +M3R61"`8``0@`!@0``@`-B$\ED<"H`0$`!"-7I7K`J`'Y```````````````` +M````````#U5@0"E9!P!6`0``5@$````-B$\ED0`$(U>E>@@`10`!2#B7``"` +M$7S#P*@!^<"H`0$`1`!#`31YVP$!!@#(+24]CP&``,"H`?D````````````` +M````!"-7I7H````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````````````````````````````````````8X)38S4!!S8$P*@!`3T' +M`0`$(U>E>O\````````````````````````````````````````````````` +M``````]58$`6@0D`/````#P`````!"-7I7H`#,Z(,9J(C@$```4!`0`%`0`` +M```````````````````````````````````````````````/56!`"BL*`%8! +M``!6`0``________``0C5Z5Z"`!%``%(.)\``(`1`0<`````_____P!$`$,! +M-,&K`0$&`)@7ASP````````````````````````````$(U>E>@`````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````!C@E-C-0$!=`$!/0E>@@`10`!2#BA``"`$0$%`````/____\`1`!#`32. +MS0$!!@#5`WTN````````````````````````````!"-7I7H````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````````````8X)38S4!`70!`3T'`0`$(U>E>C($P*@!^0P(1$I0.353 +M,$H\"$U31E0@-2XP-PL!#P,&+"XO'R'Y*_\``````!!58$"$8P(`$P```!,` +M````#,Z(,9H`!"-7I7J(C@$!````$%5@0.IK`@`\````/``````$(U>E>@`, +MSH@QFHB.`0``!0$"``4!```````````````````````````````````````` +M`````````!%58$!>L`L`/P```#\`````#,Z(,9H`!"-7I7J(C@$``"T"`@`M +M`3$R.34P,C,X,C`P,#4S.3%`;6YC,#(S+FUC8S(Y-2YO=VQA;BYO````7@`````, +MSH@QF@`$(U>E>HB.`0``3`(0`$P2"@``#@L`*#$R.34P,C,X,C`P,#4S.3%` +M;6YC,#(S+FUC8S(Y-2YO=VQA;BYOL.*X:RH)3A8\F +M`ET1,5U'QWV%1Z`@V,N=24.:\=%3TKIE>@`,SH@QFHB.`0,`+`$`#0``0&!5$0"=&X[D=]]>4;W^,JD$U5@0*@!#0!6`0``5@$``/_______P`$(U>E +M>@@`10`!2#BG``"`$0#_`````/____\`1`!#`30ES`$!!@#5`WTN:0$````` +M````````````````````!"-7I7H````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````````````````````````````````````````````````````8X)3 +M8S4!`70!`3T'`0`$(U>E>C($P*@!^0P(1$I0.353,$H\"$U31E0@-2XP-PL! +M#P,&+"XO'R'Y*_\``````!I58$#O`@T`5@$``%8!``#_______\`!"-7I7H( +M`$4``4@XKP``@!$`]P````#_____`$0`0P$T)E>@`````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``````````````````````````````````````````````````!C@E-C-0$! +M=`$!/0E>HB.`0$` +M```P56!`^J$*`#P````\``````0C5Z5Z``S.B#&:B(X!```%`0,`!0$````` +M````````````````````````````````````````````,%5@0)SA"@`_```` +M/P`````,SH@QF@`$(U>E>HB.`0``+0(#`"T!,3(Y-3`R,S@R,#`P-3,Y,4!M +M;F,P,C,N;6-C,CDU+F]W;&%N+F]R9S!58$#0!`P`/````#P`````!"-7I7H` +M#,Z(,9J(C@$``!0!+P`4$@H```\"``(``0``$0$!```````````````````` +M```````````R56!`-$(%`%X```!>``````S.B#&:``0C5Z5ZB(X!``!,`B\` +M3!(*```."P`H,3(Y-3`R,S@R,#`P-3,Y,4!M;F,P,C,N;6-C,CDU+F]W;&%N +M+F]R9P<%``#7H!![\\SE,P[&']$W6C<%$`$``3)58$#,.`<`8@```&(````` +M!"-7I7H`#,Z(,9J(C@$``%`!,`!0$@L```$-```P```````````````````` +M,0```````````````````#(````````````````````+!0``0WL?0G!%;49D +M0(DL@MD'#C-58$!S4P(`+@```"X`````#,Z(,9H`!"-7I7J(C@$``!P",``< +M$@L```L%``!%[_\P8H+&6U!$B#@$)T-",U5@0"'6`P`\````/``````$(U>E +M>@`,SH@QFHB.`0``!`,```0````````````````````````````````````` +M`````````````#-58$!=V@,`2P```$L`````!"-7I7H`#,Z(,9J(C@$#`#D! +M``T``$!@53$`G7]!<++?0.3Y>#A83O[YHHT"0T@&N\)FL/6P9NHATX%BIRI%B`S56!`F-T#`#X````^``````0C5Z5Z``S.B#&:B(X!`P`L +M`0`-``!`8%4Q`)[N$`!R;$K*.XLG`JO9N"A#@XK>5*[_:U"C]E[O?""IR!5+ +M56!`]Q(-`"H````J````________``0C5Z5Z"`8``0@`!@0``0`$(U>E>JG^ +M0\(```````"I_D/"2U5@0'&!#0`J````*@```/_______P`$(U>E>@@&``$( +M``8$``$`!"-7I7JI_D/"````````J?Y#PDQ58$`X@@T`*@```"H```#_____ +M__\`!"-7I7H(!@`!"``&!``!``0C5Z5ZJ?Y#P@```````*G^0\)-56!`*=H- +M`*\```"O`````0!>?__Z``0C5Z5Z"`!%``"A.+X```$1HM.I_D/"[___^A#+ +M!VP`C6+X32U314%20T@@*B!(5%10+S$N,0T*2&]S=#HR,SDN,C4U+C(U-2XR +M-3`Z,3DP,`T*4U0Z=7)N.G-C:&5M87,M=7!N<"UO41E=FEC93HQ#0I-86XZ(G-S9'`Z9&ES8V]V97(B#0I-6#HS +M#0H-"DU58$"\Y`T`-@```#8````!`%X``!8`!"-7I7H(`$8``"@XP````0(> +M.:G^0\+@```6E`0``"(`Z@,````!!````.____I-56!`OK4.`&X```!N```` +M________``0C5Z5Z"`!%``!@.,(``(`1:@RI_D/"J?[__P")`(D`3+4(B2XI +M$``!```````!($5%14M&041*1$9&1$1!14M#04-!0T%#04-!0T%#04%!```@ +M``'`#``@``$`!)/@``9@`*G^0\).56!`!H\*`#8````V`````0!>```6``0C +M5Z5Z"`!&```H.,0```$"'C6I_D/"X```%I0$```B`.H#`````00```#O___Z +M3E5@0!3E"@!N````;@```/_______P`$(U>E>@@`10``8#C%``"`$6H)J?Y# +MPJG^__\`B0")`$RU"(DN*1```0```````2!%145+1D%$2D1&1D1$045+0T%# +M04-!0T%#04-!0T%!00``(``!P`P`(``!``23X``&8`"I_D/"3U5@0#,6!P!N +M````;@```/_______P`$(U>E>@@`10``8#C&``"`$6H(J?Y#PJG^__\`B0") +M`$RU"(DN*1```0```````2!%145+1D%$2D1&1D1$045+0T%#04-!0T%#04-! +M0T%!00``(``!P`P`(``!``23X``&8`"I_D/"3U5@0*^U#0!6`0``5@$``/__ +M_____P`$(U>E>@@`10`!2#C'``"`$0#?`````/____\`1`!#`325:P$!!@"2 +M13E.``"`````````````````````````!"-7I7H````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````8X)38S4!`70!`3T'`0`$(U>E>C($P*@!^0P(1$I0.353,$H\"$U3 +M1E0@-2XP-PL!#P,&+"XO'R'Y*_\``````%!58$`T1P,`;@```&X```#_____ +M__\`!"-7I7H(`$4``&`XR```@!%J!JG^0\*I_O__`(D`B0!,M@B)+B@0``$` +M``````$@145%2T9!1$I$1D9$1$%%2T-!0T%#04-!0T%#04-!04$``"```<`, +M`"```0`$D^``!F``J?Y#PE!58$",WPT`KP```*\````!`%Y___H`!"-7I7H( +M`$4``*$XR@```1&BQZG^0\+O___Z$,L';`"-8OA-+5-%05)#2"`J($A45%`O +M,2XQ#0I(;W-T.C(S.2XR-34N,C4U+C(U,#HQ.3`P#0I35#IUE>@@`10``8#C,``"`$6H"J?Y#PJG^__\`B0")`$PP]8DO*1`` +M`0```````2!%0D9#14-%1D5*1D5&1$5(1D-&1D9!1D%%1D-!0T%!00``(``! +MP`P`(``!``23X``&X`"I_D/"455@0#/A`P`3````$P`````,SH@QF@`$(U>E +M>HB.`0$```!156!`8>D#`#P````\``````0C5Z5Z``S.B#&:B(X!```%`00` +M!0$`````````````````````````````````````````````````455@0+TU +M!``_````/P`````,SH@QF@`$(U>E>HB.`0``+0($`"T!,3(Y-3`R,S@R,#`P +M-3,Y,4!M;F,P,C,N;6-C,CDU+F]W;&%N+F]R9U%58$#Y[@4`/````#P````` +M!"-7I7H`#,Z(,9J(C@$``!0!4``4$@H```\"``(``0``$0$!```````````` +M``````````````````!156!`9.L*`&X```!N````________``0C5Z5Z"`!% +M``!@.,T``(`1:@&I_D/"J?[__P")`(D`3##UB2\I$``!```````!($5"1D-% +M0T5&14I&149$14A&0T9&1D%&045&0T%#04%!```@``'`#``@``$`!)/@``;@ +M`*G^0\)256!`71P'`&X```!N````________``0C5Z5Z"`!%``!@.,X``(`1 +M:@"I_D/"J?[__P")`(D`3##UB2\I$``!```````!($5"1D-%0T5&14I&149$ +M14A&0T9&1D%&045&0T%#04%!```@``'`#``@``$`!)/@``;@`*G^0\)256!` +M9[(.`%X```!>``````S.B#&:``0C5Z5ZB(X!``!,`E``3!(*```."P`H,3(Y +M-3`R,S@R,#`P-3,Y,4!M;F,P,C,N;6-C,CDU+F]W;&%N+F]R9P<%```Z)]TL +M?V'JYOR&8?J))U]%$`$``5)58$`"$P\`8@```&(`````!"-7I7H`#,Z(,9J( +MC@$``%`!40!0$@L```$-```P````````````````````,0`````````````` +M`````#(````````````````````+!0``*IFHOZ$\8[TX!>!F]%P6:%-58$!8 +M30,`;@```&X```#_______\`!"-7I7H(`$4``&`XSP``@!%I_ZG^0\*I_O__ +M`(D`B0!,,?6)+R@0``$```````$@14)&0T5#149%2D9%1D1%2$9#1D9&049! +M149#04-!04$``"```<`,`"```0`$D^``!N``J?Y#PE-58$#M3`H`+@```"X` +M````#,Z(,9H`!"-7I7J(C@$``!P"40`<$@L```L%``#BE(K>$<9]M,I(_@G, +MC).Y4U5@0`*="@`\````/``````$(U>E>@`,SH@QFHB.`0``!`,```0````` +M`````````````````````````````````````````````%-58$#CH`H`2P`` +M`$L`````!"-7I7H`#,Z(,9J(C@$#`#D!``T``$!@55(`GZN0MGOEA8[@4WO* +M&_11@$@"&2ZIH`.YHY==8)$_%6#R:U/Z"F'14BLDK,Z)I:%356!`&*0*`#X` +M```^``````0C5Z5Z``S.B#&:B(X!`P`L`0`-``!`8%52`*!&UK1?KE>@`````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M``!C@E-C-0$!=`$!/0E>@@`10``H3C2```!$:*_J?Y#PN____H0RP=L`(UB^$TM4T5!4D-(("H@ +M2%144"\Q+C$-"DAOE>@@`10``SSCF``"` +M$6EYJ?Y#PJG^__\`B@"*`+L)/1$.B3:I_D/"`(H`I0``($5%14M&041*1$9& +M1$1!14M#04-!0T%#04-!0T%#04%!`"!%0D9#14-%1D5*1D5&1$5(1D-&1D9! +M1D%%1D-!0T%"3@#_4TU")0```````````````````````````````````!$` +M``L```````````#H`P``````````"P!6``,``0`!``(`'`!<34%)3%-,3U1< +M0E)/5U-%``(`1$I0.353,$H`655@0.K0#@#=````W0```/_______P`$(U>E +M>@@`10``SSCG``"`$6EXJ?Y#PJG^__\`B@"*`+L)/!$.B3>I_D/"`(H`I0`` +M($5%14M&041*1$9&1$1!14M#04-!0T%#04-!0T%#04%!`"!%0D9#14-%1D5* +M1D5&1$5(1D-&1D9!1D%%1D-!0T%"3@#_4TU")0`````````````````````` +M`````````````!$```L```````````#H`P``````````"P!6``,``0`!``(` +M'`!<34%)3%-,3U1<0E)/5U-%``(`1$I0.353,$H`6U5@0-@R!P#=````W0`` +M`/_______P`$(U>E>@@`10``SSCH``"`$6EWJ?Y#PJG^__\`B@"*`+L).Q$. +MB3BI_D/"`(H`I0``($5%14M&041*1$9&1$1!14M#04-!0T%#04-!0T%#04%! +M`"!%0D9#14-%1D5*1D5&1$5(1D-&1D9!1D%%1D-!0T%"3@#_4TU")0`````` +M`````````````````````````````!$```L```````````#H`P`````````` +M"P!6``,``0`!``(`'`!<34%)3%-,3U1<0E)/5U-%``(`1$I0.353,$H`7%5@ +M0"2]#0!6`0``5@$``/_______P`$(U>E>@@`10`!2#CI``"`$0"]`````/__ +M__\`1`!#`31L:@$!!@"213E.*0&`````````````````````````!"-7I7H` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M````````````````````````````8X)38S4!`70!`3T'`0`$(U>E>C($P*@! +M^0P(1$I0.353,$H\"$U31E0@-2XP-PL!#P,&+"XO'R'Y*_\``````%Q58$`# +MUPX`Z0```.D```#_______\`!"-7I7H(`$4``-LXZ@``@!%I::G^0\*I_O__ +M`(H`B@#';@L1#HDYJ?Y#P@"*`+$``"!%145+1D%$2D1&1D1$045+0T%#04-! +M0T%#04-!0T%!00`@14)&0T5#149%2D9%1D1%2$9#1D9&049!149#04-!0D\` +M_U--0B4````````````````````````````````````1```7```````````` +MZ`,``````````!<`5@`#``$``0`"`"@`7$U!24Q33$]47$)23U=310`(`2`/ +M`1!9L1D5`````$1*4#DU4S!*`%U58$#/UPX`Z0```.D```#_______\`!"-7 +MI7H(`$4``-LXZP``@!%I:*G^0\*I_O__`(H`B@#';@H1#HDZJ?Y#P@"*`+$` +M`"!%145+1D%$2D1&1D1$045+0T%#04-!0T%#04-!0T%!00`@14)&0T5#149% +M2D9%1D1%2$9#1D9&049!149#04-!0D\`_U--0B4````````````````````` +M```````````````1```7````````````Z`,``````````!<`5@`#``$``0`" +M`"@`7$U!24Q33$]47$)23U=310`(`2`/`1!9L1D5`````$1*4#DU4S!*`%Y5 +M8$"+V`X`Z0```.D```#_______\`!"-7I7H(`$4``-LX[```@!%I9ZG^0\*I +M_O__`(H`B@#';@D1#HD[J?Y#P@"*`+$``"!%145+1D%$2D1&1D1$045+0T%# +M04-!0T%#04-!0T%!00`@14)&0T5#149%2D9%1D1%2$9#1D9&049!149#04-! +M0D\`_U--0B4````````````````````````````````````1```7```````` +M````Z`,``````````!<`5@`#``$``0`"`"@`7$U!24Q33$]47$)23U=310`( +M`2`/`1!9L1D5`````$1*4#DU4S!*`%]58$!)V0X`Z0```.D```#_______\` +M!"-7I7H(`$4``-LX[0``@!%I9JG^0\*I_O__`(H`B@#';@@1#HD\J?Y#P@"* +M`+$``"!%145+1D%$2D1&1D1$045+0T%#04-!0T%#04-!0T%!00`@14)&0T5# +M149%2D9%1D1%2$9#1D9&049!149#04-!0D\`_U--0B4````````````````` +M```````````````````1```7````````````Z`,``````````!<`5@`#``$` +M`0`"`"@`7$U!24Q33$]47$)23U=310`(`2`/`1!9L1D5`````$1*4#DU4S!* +M`&!58$"CV@X`;@```&X```#_______\`!"-7I7H(`$4``&`X[@``@!%IX*G^ +M0\*I_O__`(D`B0!,H^:)/2D0``$```````$@14)&0T5#149%2D9%1D1%2$9# +M1D9&049!149#04-!0DX``"```<`,`"```0`$D^``!F``J?Y#PF%58$#F"@L` +M;@```&X```#_______\`!"-7I7H(`$4``&`X[P``@!%IWZG^0\*I_O__`(D` +MB0!,H^:)/2D0``$```````$@14)&0T5#149%2D9%1D1%2$9#1D9&049!149# +M04-!0DX``"```<`,`"```0`$D^``!F``J?Y#PF)58$#?.P<`;@```&X```#_ +M______\`!"-7I7H(`$4``&`X\```@!%IWJG^0\*I_O__`(D`B0!,H^:)/2D0 +M``$```````$@14)&0T5#149%2D9%1D1%2$9#1D9&049!149#04-!0DX``"`` +M`<`,`"```0`$D^``!F``J?Y#PF-58$#9;`,`;@```&X```#_______\`!"-7 +MI7H(`$4``&`X\P``@!%IVZG^0\*I_O__`(D`B0!,I.:)/2@0``$```````$@ +M14)&0T5#149%2D9%1D1%2$9#1D9&049!149#04-!0DX``"```<`,`"```0`$ +MD^``!F``J?Y#PF-58$"'X`X`;@```&X```#_______\`!"-7I7H(`$4``&`X +M]```@!%IVJG^0\*I_O__`(D`B0!,Z>R)/BD0``$```````$@04)!0T901E!% +M3D9$14-&0T501DA&1$5&1E!&4$%#04(``"```<`,`"```0`$D^``!N``J?Y# +MPF158$`/$0L`;@```&X```#_______\`!"-7I7H(`$4``&`X]0``@!%IV:G^ +M0\*I_O__`(D`B0!,Z>R)/BD0``$```````$@04)!0T901E!%3D9$14-&0T50 +M1DA&1$5&1E!&4$%#04(``"```<`,`"```0`$D^``!N``J?Y#PF558$`&0@<` +M;@```&X```#_______\`!"-7I7H(`$4``&`X]@``@!%IV*G^0\*I_O__`(D` +MB0!,Z>R)/BD0``$```````$@04)!0T901E!%3D9$14-&0T501DA&1$5&1E!& +M4$%#04(``"```<`,`"```0`$D^``!N``J?Y#PF958$#^<@,`;@```&X```#_ +M______\`!"-7I7H(`$4``&`X]P``@!%IUZG^0\*I_O__`(D`B0!,ZNR)/B@0 +M``$```````$@04)!0T901E!%3D9$14-&0T501DA&1$5&1E!&4$%#04(``"`` +M`<`,`"```0`$D^``!N``J?Y#PF958$!_Y@X`W0```-T```#_______\`!"-7 +MI7H(`$4``,\X^```@!%I9ZG^0\*I_O__`(H`B@"[%C41#HD_J?Y#P@"*`*4` +M`"!%145+1D%$2D1&1D1$045+0T%#04-!0T%#04-!0T%!00`@14)&0T5#149% +M2D9%1D1%2$9#1D9&049!149#04-!04$`_U--0B4````````````````````` +M```````````````1```+````````````Z`,```````````L`5@`#``$``0`" +M`!P`7$U!24Q33$]47$)23U=310`"`$1*4#DU4S!*`&958$!AYPX`W0```-T` +M``#_______\`!"-7I7H(`$4``,\X^0``@!%I9JG^0\*I_O__`(H`B@"[SSH1 +M#HE`J?Y#P@"*`*4``"!%145+1D%$2D1&1D1$045+0T%#04-!0T%#04-!0T%! +M00`@04)!0T901E!%3D9$14-&0T501DA&1$5&1E!&4$%#04(`_U--0B4````` +M```````````````````````````````1```+````````````Z`,````````` +M``L`5@`#``$``0`"`!P`7$U!24Q33$]47$)23U=310`"`$1*4#DU4S!*`&95 +M8$!PZ@X`^P```/L```#_______\`!"-7I7H(`$4``.TX^@``@!%I1ZG^0\*I +M_O__`(H`B@#9)2,1#HE!J?Y#P@"*`,,``"!%145+1D%$2D1&1D1$045+0T%# +M04-!0T%#04-!0T%!00`@04)!0T901E!%3D9$14-&0T501DA&1$5&1E!&4$%# +M04(`_U--0B4````````````````````````````````````1```I```````` +M````Z`,``````````"D`5@`#``$``0`"`#H`7$U!24Q33$]47$)23U=310`, +M`&#J``!!4D)%25131U)54%!%``$``PH`$`"`;/[%!D1*4#DU4S!*`&958$"4 +M\`X`7````%P```#_______\`!"-7I7H(`$4``$XX^P``@!%IY:G^0\*I_O__ +M`(D`B0`Z;]^)0P$0``$````````@14)&0T5#149%2D9%1D1%2$9#1D9&049! +M149#04-!0DP``"```6=58$`('PL`7````%P```#_______\`!"-7I7H(`$4` +M`$XX_```@!%IY*G^0\*I_O__`(D`B0`Z;]^)0P$0``$````````@14)&0T5# +M149%2D9%1D1%2$9#1D9&049!149#04-!0DP``"```6A58$`&4`<`7````%P` +M``#_______\`!"-7I7H(`$4``$XX_0``@!%IXZG^0\*I_O__`(D`B0`Z;]^) +M0P$0``$````````@14)&0T5#149%2D9%1D1%2$9#1D9&049!149#04-!0DP` +M`"```6M58$"J6P<`7````%P```#_______\`!"-7I7H(`$4``$XY`0``@!%I +MWZG^0\*I_O__`(D`B0`Z;]N)1P$0``$````````@14)&0T5#149%2D9%1D1% +M2$9#1D9&049!149#04-!0DP``"```6Q58$`-BP,`7````%P```#_______\` +M!"-7I7H(`$4``$XY`@``@!%IWJG^0\*I_O__`(D`B0`Z;]N)1P$0``$````` +M```@14)&0T5#149%2D9%1D1%2$9#1D9&049!149#04-!0DP``"```6Q58$!% +M_@X`7````%P```#_______\`!"-7I7H(`$4``$XY!```@!%IW*G^0\*I_O__ +M`(D`B0`Z;]N)1P$0``$````````@14)&0T5#149%2D9%1D1%2$9#1D9&049! +M149#04-!0DP``"```6U58$`7O@T`5@$``%8!``#_______\`!"-7I7H(`$4` +M`4@Y!@``@!$`H`````#_____`$0`0P$T;&H!`08`DD4Y3BD!@``````````` +M``````````````0C5Z5Z```````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M`````````````````````````````````````````````````&."4V,U`0%T +M`0$]!P$`!"-7I7HR!,"H`?D,"$1*4#DU4S!*/`A-4T94(#4N,#<+`0\#!BPN +M+Q\A^2O_``````!Q56!`]:$*`!,````3``````S.B#&:``0C5Z5ZB(X!`0`` +M`'%58$!%P`H`/````#P`````!"-7I7H`#,Z(,9J(C@$```4!!0`%`0`````` +M``````````````````````````````````````````!Q56!`C?4*`#\````_ +M``````S.B#&:``0C5Z5ZB(X!```M`@4`+0$Q,CDU,#(S.#(P,#`U,SDQ0&UN +M8S`R,RYM8V,R.34N;W=L86XN;W)G<55@0/XV"P`\````/``````$(U>E>@`, +MSH@QFHB.`0``%`%P`!02"@``#P(``@`!```1`0$````````````````````` +M`````````')58$#=.0P`\P```/,```#_______\`!"-7I7H(`$4``.4Y#``` +M@!%I/:G^0\*I_O__`(H`B@#1\^D1#HE*J?Y#P@"*`+L``"!%145+1D%$2D1& +M1D1$045+0T%#04-!0T%#04-!0T%#00`@14)&0T5#149%2D9%1D1%2$9#1D9& +M049!149#04-!0D\`_U--0B4````````````````````````````````````1 +M```A````````````Z`,``````````"$`5@`#``$````"`#(`7$U!24Q33$]4 +M7$)23U=310`/`(#\"@!$2E`Y-5,P2@``60!<`%4`!0$#$`4`#P%5J@!S56!` +MJ'L$`%X```!>``````S.B#&:``0C5Z5ZB(X!``!,`G``3!(*```."P`H,3(Y +M-3`R,S@R,#`P-3,Y,4!M;F,P,C,N;6-C,CDU+F]W;&%N+F]R9P<%```)[DNV +M]E>@`,SH@QFHB.`0`` +M!`,```0``````````````````````````````````````````````````'15 +M8$`G6P``2P```$L`````!"-7I7H`#,Z(,9J(C@$#`#D!``T``$!@57(`H7=G +MF]` eapon1.new +if diff eapon1.new eapon1.out +then + echo passed. +else + echo failed. +fi + diff --git a/contrib/tcpdump/tests/eapon2.puu b/contrib/tcpdump/tests/eapon2.puu new file mode 100644 index 0000000..70abb23 --- /dev/null +++ b/contrib/tcpdump/tests/eapon2.puu @@ -0,0 +1,66 @@ +begin 644 eapon2.pcap +MU,.RH0(`!````````````&`````!````_E1@0(0`#`!"````0@`````+VY#] +M`@#@3UR$8`@`11``-"500``W!O$4U8'_>L&:EKBMN@`6*6Y2?^.:F>V`$/C@ +M9C@```$!"`H974FMBM15+Q!58$!QG`8`8````.L`````"]N0_0(`X$]@<4 +M5(X`:)P-"Q0`8$$!L&:EKA4C@<4`/I,<`$5`/+M5G/\`0<0G:=Q]S4< +MM*"$``/81;I[5@?]ZP9J6N%2.!Q0`RHLB`18`PB*WG4W^01LM]B4XN&`' +M6E(!*C$R.34P,C,X,C`P,#4S.3%`;6YC,#(S+FUC8S(Y-2YO$55@0!P&!0!@ +M````!@$`````#`>LA0`+VY#]`@@`10``^``"0`!`$0RDP9J6N-6!_WH'%%2. +M`.2>DP(6`-P04TN>&O"\WL%@,.`1V142"`;____^#`8```)`!@8````"&CH` +M``$W$32`+U<1;LS62B]58$!:H@8`8````.L`````"]N0_0(`X$]@M>A=G +MB0$J,3(Y-3`R,S@R,#`P-3,Y,4!M;F,P,C,N;6-C,CDU+F\O56!`G*<&`&`` +M``"*```````,!ZR%``O;D/T""`!%``!\``-``$`1#1_!FI:XU8'_>@<45(X` +M:#L&:EKA4C@<4`/H2$P$9`/)6HP7H8R0(O +M*"8``/81;IG5@?]ZP9J6N%2.!Q0`R@WC`1H`PCS/?&QHIT8SX.[2#=[S68H! +M*C$R.34P,C,X,C`P,#4S.3%`;6YC,#(S+FUC8S(Y-2YO,55@0#VS#0!@```` +M!@$`````#`>LA0`+VY#]`@@`10``^``%0`!`$0RAP9J6N-6!_WH'%%2.`.3B +MMP(:`-S*Z(?9H34)&AB0":D9@<45(X`:#0% +M"QL`8(N:^N5L(EK&#H6-':U$XV((!O____X,!@```D`&!@````)/%@%0`!02 +M"@``#P(``@`!455@0*VL"0!@````'`$````+VY#]`@#@3UR$8`@`10`!#B@I +M``#V$6YFU8'_>L&:EKA4C@<4`/KDFP$<`/+H$R8P9(B"W[^G<4!"HKQ+`2HQ +M,CDU,#(S.#(P,#`U,SDQ0&UN8S`R,RYM8V,R.34N;U%58$"ZL@D`8````,8` +M``````P'K(4`"]N0_0((`$4``+@`!T``0!$,W\&:EKC5@?]Z!Q14C@"DI=@+ +M'`";*!>&FY;C?2/)T74`@&_____@P&```"0`8&`````D]2`5$`4!(+ +M```!#0``,`!256!`@SL%`&````#L``````O;D/T"`.!/7(1@"`!%``#>*"H` +M`/81;I75@?]ZP9J6N%2.!Q0`RI"T`1T`PE:^P6JH@]U$D*!C#8CO0UP!*C$R +M.34P,C,X,C`P,#4S.3%`;6YC,#(S+FUC8S(Y-2YO4E5@0'M`!0!@````!@$` +M````#`>LA0`+VY#]`@@`10``^``(0`!`$0R>P9J6N-6!_WH'%%2.`.2<&@(= +M`-P&]WGHNB++Z0K&A"^B<2S/"`;____^#`8```)`!@8````"&CH```$W$32F +M=DT@&\D[/G!58$!OW04`8````.L`````"]N0_0(`X$]AS"W^P0$J,3(Y +M-3`R,S@R,#`P-3,Y,4!M;F,P,C,N;6-C,CDU+F]P56!`L>(%`&````"*```` +M```,!ZR%``O;D/T""`!%``!\``E``$`1#1G!FI:XU8'_>@<45(X`:`.V"QX` +M8+P/!*Y!RZ>(/:C.%/A62\((!O____X,!@```D`&!@````)/%@%P`!02"@`` +M#P(``@`!<55@0)*H#@!@````'`$````+VY#]`@#@3UR$8`@`10`!#B@L``#V +M$6YCU8'_>L&:EKA4C@<4`/JLH@$?`/*.M".D<>M4,KL=.(:"[-F;`2HQ,CDU +M,#(S.#(P,#`U,SDQ0&UN8S`R,RYM8V,R.34N;W%58$#$K@X`8````,8````` +M``P'K(4`"]N0_0((`$4``+@`"D``0!$,W,&:EKC5@?]Z!Q14C@"DK7D+'P"< +MMWVPJO:XC`JEY#15<5U0Z@@&_____@P&```"0`8&`````D]2`7$`4!(+```! +M#0``,`!R56!`S#4*`&````#L``````O;D/T"`.!/7(1@"`!%``#>*"T``/81 +M;I+5@?]ZP9J6N%2.!Q0`RE>1`2``PK+"]?UCV]G1I<-+X16?0+L!*C$R.34P +M,C,X,C`P,#4S.3%`;6YC,#(S+FUC8S(Y-2YOLA0`+VY#]`@@`10``^``+0`!`$0R;P9J6N-6!_WH'%%2.`.1M%P(@`-PJ +M=?H'6<1=UD&:FRVA,V+S"`;____^#`8```)`!@8````"&CH```$W$32RVRE= +$I%P\00`` +` +end diff --git a/contrib/tcpdump/tests/esp-secrets.txt b/contrib/tcpdump/tests/esp-secrets.txt new file mode 100644 index 0000000..81847a0 --- /dev/null +++ b/contrib/tcpdump/tests/esp-secrets.txt @@ -0,0 +1,5 @@ +# a comment + +0x12345678@192.1.2.45 3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840 +0xabcdabcd@192.0.1.1 3des-cbc-hmac96:0x434545464649494a4a4c4c4f4f5151525254545757584043 +0xd1234567@192.1.2.45 aes256-cbc-hmac96:0xaaaabbbbccccdddd4043434545464649494a4a4c4c4f4f515152525454575758 diff --git a/contrib/tcpdump/tests/esp0.out b/contrib/tcpdump/tests/esp0.out new file mode 100644 index 0000000..a0ddf1b --- /dev/null +++ b/contrib/tcpdump/tests/esp0.out @@ -0,0 +1,8 @@ +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x1), length 116 +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x2), length 116 +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x3), length 116 +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x4), length 116 +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x5), length 116 +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x6), length 116 +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x7), length 116 +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x8), length 116 diff --git a/contrib/tcpdump/tests/esp0.sh b/contrib/tcpdump/tests/esp0.sh new file mode 100644 index 0000000..daf407c --- /dev/null +++ b/contrib/tcpdump/tests/esp0.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +echo -n test esp0... +uudecode 02-sunrise-sunset-esp.puu +if (../tcpdump -t -n -r 02-sunrise-sunset-esp.pcap | diff - esp0.out) +then + echo passed. +else + echo failed. +fi + + diff --git a/contrib/tcpdump/tests/esp1.gdbinit b/contrib/tcpdump/tests/esp1.gdbinit new file mode 100644 index 0000000..6c8ae89 --- /dev/null +++ b/contrib/tcpdump/tests/esp1.gdbinit @@ -0,0 +1 @@ +set args -t -n -E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758" -r 02-sunrise-sunset-esp.pcap diff --git a/contrib/tcpdump/tests/esp1.out b/contrib/tcpdump/tests/esp1.out new file mode 100644 index 0000000..61b2967 --- /dev/null +++ b/contrib/tcpdump/tests/esp1.out @@ -0,0 +1,8 @@ +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x1), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 1280, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x2), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 1536, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x3), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 1792, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x4), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2048, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x5), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2304, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x6), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2560, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x7), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2816, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x8), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 3072, length 64 (ipip-proto-4) diff --git a/contrib/tcpdump/tests/esp1.sh b/contrib/tcpdump/tests/esp1.sh new file mode 100644 index 0000000..87ee3b9 --- /dev/null +++ b/contrib/tcpdump/tests/esp1.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +uudecode 02-sunrise-sunset-esp.puu + +echo -n test esp1... +../tcpdump -t -n -E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758" -r 02-sunrise-sunset-esp.pcap >esp1.new +if diff esp1.new esp1.out +then + echo passed. +else + echo failed. +fi + diff --git a/contrib/tcpdump/tests/esp2.gdbinit b/contrib/tcpdump/tests/esp2.gdbinit new file mode 100644 index 0000000..7c18407 --- /dev/null +++ b/contrib/tcpdump/tests/esp2.gdbinit @@ -0,0 +1 @@ +set args -t -n -E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840,0xabcdabcd@192.0.1.1 3des-cbc-hmac96:0x434545464649494a4a4c4c4f4f5151525254545757584043" -r 08-sunrise-sunset-esp2.pcap diff --git a/contrib/tcpdump/tests/esp2.out b/contrib/tcpdump/tests/esp2.out new file mode 100644 index 0000000..a829c8e --- /dev/null +++ b/contrib/tcpdump/tests/esp2.out @@ -0,0 +1,8 @@ +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x1), length 172: IP 192.1.2.23 > 192.0.1.1: ESP(spi=0xabcdabcd,seq=0x1), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 1280, length 64 (ipip-proto-4) (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x2), length 172: IP 192.1.2.23 > 192.0.1.1: ESP(spi=0xabcdabcd,seq=0x2), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 1536, length 64 (ipip-proto-4) (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x3), length 172: IP 192.1.2.23 > 192.0.1.1: ESP(spi=0xabcdabcd,seq=0x3), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 1792, length 64 (ipip-proto-4) (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x4), length 172: IP 192.1.2.23 > 192.0.1.1: ESP(spi=0xabcdabcd,seq=0x4), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2048, length 64 (ipip-proto-4) (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x5), length 172: IP 192.1.2.23 > 192.0.1.1: ESP(spi=0xabcdabcd,seq=0x5), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2304, length 64 (ipip-proto-4) (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x6), length 172: IP 192.1.2.23 > 192.0.1.1: ESP(spi=0xabcdabcd,seq=0x6), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2560, length 64 (ipip-proto-4) (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x7), length 172: IP 192.1.2.23 > 192.0.1.1: ESP(spi=0xabcdabcd,seq=0x7), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2816, length 64 (ipip-proto-4) (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x12345678,seq=0x8), length 172: IP 192.1.2.23 > 192.0.1.1: ESP(spi=0xabcdabcd,seq=0x8), length 116: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 3072, length 64 (ipip-proto-4) (ipip-proto-4) diff --git a/contrib/tcpdump/tests/esp2.sh b/contrib/tcpdump/tests/esp2.sh new file mode 100644 index 0000000..18a7083 --- /dev/null +++ b/contrib/tcpdump/tests/esp2.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +uudecode 08-sunrise-sunset-esp2.puu + +echo -n test esp2... +../tcpdump -t -n -E "0x12345678@192.1.2.45 3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840,0xabcdabcd@192.0.1.1 3des-cbc-hmac96:0x434545464649494a4a4c4c4f4f5151525254545757584043" -r 08-sunrise-sunset-esp2.pcap >esp2.new +if diff esp2.new esp2.out +then + echo passed. +else + echo failed. +fi + diff --git a/contrib/tcpdump/tests/esp3.gdbinit b/contrib/tcpdump/tests/esp3.gdbinit new file mode 100644 index 0000000..7150118 --- /dev/null +++ b/contrib/tcpdump/tests/esp3.gdbinit @@ -0,0 +1 @@ +set args -t -n -E "3des-cbc-hmac96:0x43434545464649494a4a4c4c4f4f51515252545457575840" -r 08-sunrise-sunset-esp2.pcap diff --git a/contrib/tcpdump/tests/esp3.sh b/contrib/tcpdump/tests/esp3.sh new file mode 100644 index 0000000..122beab --- /dev/null +++ b/contrib/tcpdump/tests/esp3.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +uudecode 02-sunrise-sunset-esp.puu +echo -n test esp3... + ../tcpdump -t -n -E "3des-cbc-hmac96:0x4043434545464649494a4a4c4c4f4f515152525454575758" -r 02-sunrise-sunset-esp.pcap >esp3.new +if diff esp3.new esp1.out +then + echo passed. +else + echo failed. +fi + diff --git a/contrib/tcpdump/tests/esp4.gdbinit b/contrib/tcpdump/tests/esp4.gdbinit new file mode 100644 index 0000000..8007444 --- /dev/null +++ b/contrib/tcpdump/tests/esp4.gdbinit @@ -0,0 +1,2 @@ +set args -t -n -E "file esp-secrets.txt" -r 08-sunrise-sunset-esp2.pcap + diff --git a/contrib/tcpdump/tests/esp4.sh b/contrib/tcpdump/tests/esp4.sh new file mode 100644 index 0000000..bba26e7 --- /dev/null +++ b/contrib/tcpdump/tests/esp4.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +uudecode 08-sunrise-sunset-esp2.puu + +echo -n test esp4... +../tcpdump -t -n -E "file esp-secrets.txt" -r 08-sunrise-sunset-esp2.pcap >esp4.new +if diff esp4.new esp2.out +then + echo passed. +else + echo failed. +fi + diff --git a/contrib/tcpdump/tests/esp5.gdbinit b/contrib/tcpdump/tests/esp5.gdbinit new file mode 100644 index 0000000..2f578e3 --- /dev/null +++ b/contrib/tcpdump/tests/esp5.gdbinit @@ -0,0 +1,3 @@ +set args -t -n -E "file esp-secrets.txt" -r 08-sunrise-sunset-aes.pcap + + diff --git a/contrib/tcpdump/tests/esp5.out b/contrib/tcpdump/tests/esp5.out new file mode 100644 index 0000000..73f35e0 --- /dev/null +++ b/contrib/tcpdump/tests/esp5.out @@ -0,0 +1,8 @@ +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0xd1234567,seq=0x1), length 132: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 1280, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0xd1234567,seq=0x2), length 132: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 1536, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0xd1234567,seq=0x3), length 132: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 1792, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0xd1234567,seq=0x4), length 132: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2048, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0xd1234567,seq=0x5), length 132: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2304, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0xd1234567,seq=0x6), length 132: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2560, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0xd1234567,seq=0x7), length 132: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 2816, length 64 (ipip-proto-4) +IP 192.1.2.23 > 192.1.2.45: ESP(spi=0xd1234567,seq=0x8), length 132: IP 192.0.2.1 > 192.0.1.1: ICMP echo request, id 28416, seq 3072, length 64 (ipip-proto-4) diff --git a/contrib/tcpdump/tests/esp5.sh b/contrib/tcpdump/tests/esp5.sh new file mode 100644 index 0000000..405b677 --- /dev/null +++ b/contrib/tcpdump/tests/esp5.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +uudecode 08-sunrise-sunset-aes.puu + +echo -n test esp5... +../tcpdump -t -n -E "file esp-secrets.txt" -r 08-sunrise-sunset-aes.pcap > esp5.new +if diff esp5.new esp5.out +then + echo passed. +else + echo failed. +fi + diff --git a/contrib/tcpdump/tests/espudp1.out b/contrib/tcpdump/tests/espudp1.out new file mode 100644 index 0000000..8999ff4 --- /dev/null +++ b/contrib/tcpdump/tests/espudp1.out @@ -0,0 +1,8 @@ +IP 192.1.2.23.4500 > 192.1.2.45.4500: UDP-encap: ESP(spi=0x12345678,seq=0x1), length 116 +IP 192.1.2.23.4500 > 192.1.2.45.4500: UDP-encap: ESP(spi=0x12345678,seq=0x2), length 116: ip-proto-227 49 +IP 192.1.2.23.4500 > 192.1.2.45.4500: UDP-encap: ESP(spi=0x12345678,seq=0x3), length 116: PIMv13, length: 10 +IP 192.1.2.23.4500 > 192.1.2.45.4500: UDP-encap: ESP(spi=0x12345678,seq=0x4), length 116 +IP 192.1.2.23.4500 > 192.1.2.45.4500: UDP-encap: ESP(spi=0x12345678,seq=0x5), length 116 +IP 192.1.2.23.4500 > 192.1.2.45.4500: UDP-encap: ESP(spi=0x12345678,seq=0x6), length 116: ip-proto-183 28 +IP 192.1.2.23.4500 > 192.1.2.45.4500: UDP-encap: ESP(spi=0x12345678,seq=0x7), length 116: ip-proto-72 34 +IP 192.1.2.23.4500 > 192.1.2.45.4500: UDP-encap: ESP(spi=0x12345678,seq=0x8), length 116: ip-proto-224 59 diff --git a/contrib/tcpdump/tests/espudp1.puu b/contrib/tcpdump/tests/espudp1.puu new file mode 100644 index 0000000..353c1c9 --- /dev/null +++ b/contrib/tcpdump/tests/espudp1.puu @@ -0,0 +1,35 @@ +begin 644 espudp1.pcap +MU,.RH0(`!``````````````&```!``````````````">````G@```!```&1D +M11```&1D(P@`10``D*8.``!`$5`(P`$"%\`!`BT1E!&4`'P``!(T5G@````! +MIQI1WARY*2.,3*N>\E4-MV0"Q0&B9RG\CH]Z?F.J2U2J6?9"%WHI),PCC4.T +MPHU1D2,KT6".3TG`1R:V$E7'FE[]PG%1#\!'O=1;9"P[#Q*U;DU12<9BO$:/ +M(AI2S*,BK5H_YVKC,]K'@[Y^``````````">````G@```!```&1D11```&1D +M(P@`10``D*8/``!`$5`'P`$"%\`!`BT1E!&4`'P``!(T5G@````"*3$H)*^K +MG65!9?U^[O>)/*D1"&WNUN@=BGJZV$;E12<$J$SGOAFJ!<5)O%=NY:HY\B$3 +M!*Q.N--U/:_F^;L-H0>[$9AU0\QP"`F5JD8GY307\SDD5=Y\G@%('76R5O`G +MA/2`=,$VWF]0[L\*``````````">````G@```!```&1D11```&1D(P@`10`` +MD*80``!`$5`&P`$"%\`!`BT1E!&4`'P``!(T5G@````#C]!\R;K$H/YX7>T6 +MZT6>/2I[+Q4&*]7A`VLB)[%A_/MKQMX-:R"-)DA.[G>)\5]KF#Z5:3L+JCMC +MXDHKBE%/Q%D1VV#=?\3JEZ?8)&[3[(4F"4*0W"B)."[.?0U(7!!Z2_69:0DV +M98H$8R%=``````````">````G@```!```&1D11```&1D(P@`10``D*81``!` +M$5`%P`$"%\`!`BT1E!&4`'P``!(T5G@````$FV8=\*GR(@_[&TF2&3'AZ9)Q +M*?@[(M!I:IE"@-?4W5TEZ-5@(F\613%V19L#%[XCJFJY^G4BVW"O\/*X\!A6 +M@1<[4J(5+60M8]9R>$=\TU>XX7AB7\T'1W1HAPX[(KPTVN"*NEC)E/7@5D_1 +M``````````">````G@```!```&1D11```&1D(P@`10``D*82``!`$5`$P`$" +M%\`!`BT1E!&4`'P``!(T5G@````%=@CRA49O0D;A1@T5[WR$Q5?Y(\M[>D@C +MRFK+$5I%Y8:85K`)&LZ.Q@G&N)8-RG@2;GNYJ\2OC9ZV?,IT7HJU7K&DM/1_ +M:K+-8KXY4?22*8=.1@O<,#R&;^R2P`>PAR9E7*>!>3*D24OK4*C1```````` +M``">````G@```!```&1D11```&1D(P@`10``D*83``!`$5`#P`$"%\`!`BT1 +ME!&4`'P``!(T5G@````&OTF+$=SM[Y.=U8E>9V&69R:M\.1&LA]$#9Q^:+E7 +MQE#E^)1R]--?O]SW!%7]KB<7\MLR56^WX)#?)/IJR<_@C91NG`(S^S``````````">```` +MG@```!```&1D11```&1D(P@`10``D*84``!`$5`"P`$"%\`!`BT1E!&4`'P` +M`!(T5G@````'!12933DTC1RSTN*./4ZCE%A8GGVL:;@`.%'8MEA.C7/6]D[S +MO1C([D/N6]%[?NISR>1W1EE,)=\I9&.PF-'Q*LXZQU71100.[\,-HK41G3/R +MG9DY$,].(M58U1\0XT\4R[<=RCCXM;_%AVM)``````````">````G@```!`` +M`&1D11```&1D(P@`10``D*85``!`$5`!P`$"%\`!`BT1E!&4`'P``!(T5G@` +M```(*_3L6&DE`65QQPA"@BAQ5FY@=%,+]@C9K+O)@],/GCI4%,MKI282(0M9 +M*<@/=L.DB"**EM":*2KJK`^H=0YM,$^[`=L%(RO,O_<4`MNKJ*:^9W8@1BP$ +59LK`-:)VQ/=2B;1'4FV3B?L]2;O! +` +end diff --git a/contrib/tcpdump/tests/espudp1.sh b/contrib/tcpdump/tests/espudp1.sh new file mode 100644 index 0000000..35dc0a8 --- /dev/null +++ b/contrib/tcpdump/tests/espudp1.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +uudecode espudp1.puu + +echo -n test espudp1... +../tcpdump -t -n -E "file esp-secrets.txt" -r espudp1.pcap >espudp1.new +if diff espudp1.new espudp1.out +then + echo passed. +else + echo failed. +fi + diff --git a/contrib/tcpdump/tests/isakmp-delete-segfault.puu b/contrib/tcpdump/tests/isakmp-delete-segfault.puu new file mode 100644 index 0000000..11512b1 --- /dev/null +++ b/contrib/tcpdump/tests/isakmp-delete-segfault.puu @@ -0,0 +1,20 @@ +begin 644 isakmp-delete-segfault.pcap +MU,.RH0(`!``````````````$```!````@"X```````"I`@``J0(``/______ +M_P$!`0$!`0@`10``I@`O0`!`$3PA?P```7\```$!]`'T`<@``!N3$,+\/7K^ +M3SF!FR'H6?T,OKXN&YH=5T,AEYH%R@(@71+C65#___\````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +!```` +` +end diff --git a/contrib/tcpdump/tests/isakmp-identification-segfault.puu b/contrib/tcpdump/tests/isakmp-identification-segfault.puu new file mode 100644 index 0000000..6f0ae0e --- /dev/null +++ b/contrib/tcpdump/tests/isakmp-identification-segfault.puu @@ -0,0 +1,11 @@ +begin 644 isakmp-identification-segfault.pcap +MU,.RH0(`!````````````/__````````HV%@0"_*#@`\`0``/`$```(```!% +M``$XH&P``/\1'$9_```!?P```0'U`?0!)$KL)9EPC(1ZBP(```````````40 +M`@`````````!'````0`"```````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +M```````````````````````````````````````````````````````````` +I```````````````````````````````````````````````````````` +` +end diff --git a/contrib/tcpdump/tests/isakmp-pointer-loop.puu b/contrib/tcpdump/tests/isakmp-pointer-loop.puu new file mode 100644 index 0000000..fc58248 --- /dev/null +++ b/contrib/tcpdump/tests/isakmp-pointer-loop.puu @@ -0,0 +1,6 @@ +begin 644 isakmp-pointer-loop.pcap +MU,.RH0(`!````````````/__```!````DR;5/[_@!0!(````2``````$6D[H +ME``"+6_:]@@`10``.H=E0`#S$0HB@:KY?H&J^5 127.0.0.1.500: isakmp: phase 2/others ? #190[C] diff --git a/contrib/tcpdump/tests/isakmp1.sh b/contrib/tcpdump/tests/isakmp1.sh new file mode 100644 index 0000000..ce2de7d --- /dev/null +++ b/contrib/tcpdump/tests/isakmp1.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +uudecode isakmp-delete-segfault.puu + +echo -n test isakmp1... +if (../tcpdump -t -n -r isakmp-delete-segfault.pcap | diff - isakmp1.out) +then + echo passed. +else + echo failed. +fi + diff --git a/contrib/tcpdump/tests/isakmp2.out b/contrib/tcpdump/tests/isakmp2.out new file mode 100644 index 0000000..44c28db --- /dev/null +++ b/contrib/tcpdump/tests/isakmp2.out @@ -0,0 +1 @@ +IP 129.170.249.126.500 > 129.170.249.87.500: isakmp: phase 1 ? base diff --git a/contrib/tcpdump/tests/isakmp2.sh b/contrib/tcpdump/tests/isakmp2.sh new file mode 100644 index 0000000..d0006a8 --- /dev/null +++ b/contrib/tcpdump/tests/isakmp2.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +uudecode isakmp-pointer-loop.puu + +echo -n test isakmp2... +if (../tcpdump -t -n -r isakmp-pointer-loop.pcap | diff - isakmp2.out) +then + echo passed. +else + echo failed. +fi + diff --git a/contrib/tcpdump/tests/isakmp3.out b/contrib/tcpdump/tests/isakmp3.out new file mode 100644 index 0000000..6b37b77 --- /dev/null +++ b/contrib/tcpdump/tests/isakmp3.out @@ -0,0 +1,2 @@ +IP (tos 0x0, ttl 255, id 41068, offset 0, flags [none], proto: UDP (17), length: 312) 127.0.0.1.501 > 127.0.0.1.500: isakmp 1.0 msgid : phase 1 I ident: + (id: idtype=FQDN protoid=0 port=0 len=248 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000) diff --git a/contrib/tcpdump/tests/isakmp3.sh b/contrib/tcpdump/tests/isakmp3.sh new file mode 100644 index 0000000..e6003cc --- /dev/null +++ b/contrib/tcpdump/tests/isakmp3.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +uudecode isakmp-identification-segfault.puu + +echo -n test isakmp3... +../tcpdump -t -v -n -r isakmp-identification-segfault.pcap > isakmp3.new +if diff isakmp3.new isakmp3.out +then + echo passed. +else + echo failed. +fi + diff --git a/contrib/tcpdump/tests/isakmp4.out b/contrib/tcpdump/tests/isakmp4.out new file mode 100644 index 0000000..8c5b7da --- /dev/null +++ b/contrib/tcpdump/tests/isakmp4.out @@ -0,0 +1,35 @@ +arp who-has 192.1.2.23 tell 192.1.2.254 +arp reply 192.1.2.23 is-at 10:00:00:64:64:23 +IP 192.1.2.254.500 > 192.1.2.23.500: isakmp: phase 1 I ident +IP 192.1.2.23.500 > 192.1.2.254.500: isakmp: phase 1 R ident +IP 192.1.2.254.500 > 192.1.2.23.500: isakmp: phase 1 I ident +IP 192.1.2.23.500 > 192.1.2.254.500: isakmp: phase 1 R ident +IP 192.1.2.254.4500 > 192.1.2.23.4500: NONESP-encap: isakmp: phase 1 I ident[E] +IP 192.1.2.23.4500 > 192.1.2.254.4500: NONESP-encap: isakmp: phase 1 R ident[E] +IP 192.1.2.254.4500 > 192.1.2.23.4500: NONESP-encap: isakmp: phase 2/others I oakley-quick[E] +IP 192.1.2.23.4500 > 192.1.2.254.4500: NONESP-encap: isakmp: phase 2/others R oakley-quick[E] +IP 192.1.2.254.4500 > 192.1.2.23.4500: NONESP-encap: isakmp: phase 2/others I oakley-quick[E] +IP 192.1.2.254.4500 > 192.1.2.23.4500: UDP-encap: ESP(spi=0xf4dc0ae5,seq=0x1), length 132 +arp who-has 192.1.2.254 tell 192.1.2.23 +arp reply 192.1.2.254 is-at 10:00:00:de:ad:ba +IP 192.1.2.23.4500 > 192.1.2.254.4500: NONESP-encap: isakmp: phase 2/others R oakley-quick[E] +IP 192.1.2.254.4500 > 192.1.2.23.4500: NONESP-encap: isakmp: phase 2/others I oakley-quick[E] +IP 192.1.2.254.4500 > 192.1.2.23.4500: UDP-encap: ESP(spi=0xf4dc0ae5,seq=0x2), length 132 +IP 192.1.2.254.4500 > 192.1.2.23.4500: isakmp-nat-keep-alive +IP 192.1.2.254.4500 > 192.1.2.23.4500: UDP-encap: ESP(spi=0xf4dc0ae5,seq=0x3), length 132 +IP 192.1.2.23.4500 > 192.1.2.254.4500: NONESP-encap: isakmp: phase 2/others R oakley-quick[E] +IP 192.1.2.254.4500 > 192.1.2.23.4500: NONESP-encap: isakmp: phase 2/others I oakley-quick[E] +IP 192.1.2.254.4500 > 192.1.2.23.4500: UDP-encap: ESP(spi=0xf4dc0ae5,seq=0x4), length 132 +IP 192.1.2.254.4500 > 192.1.2.23.4500: isakmp-nat-keep-alive +IP 192.1.2.254.4500 > 192.1.2.23.4500: UDP-encap: ESP(spi=0xf4dc0ae5,seq=0x5), length 132 +IP 192.1.2.254.4500 > 192.1.2.23.4500: UDP-encap: ESP(spi=0xf4dc0ae5,seq=0x6), length 132 +arp who-has 192.1.2.23 tell 192.1.2.254 +arp reply 192.1.2.23 is-at 10:00:00:64:64:23 +IP 192.1.2.254.4500 > 192.1.2.23.4500: isakmp-nat-keep-alive +IP 192.1.2.254.4500 > 192.1.2.23.4500: UDP-encap: ESP(spi=0xf4dc0ae5,seq=0x7), length 132 +IP 192.1.2.23.4500 > 192.1.2.254.4500: NONESP-encap: isakmp: phase 2/others R oakley-quick[E] +IP 192.1.2.254.4500 > 192.1.2.23.4500: UDP-encap: ESP(spi=0xf4dc0ae5,seq=0x8), length 132 +arp who-has 192.1.2.254 tell 192.1.2.23 +arp reply 192.1.2.254 is-at 10:00:00:de:ad:ba +IP 192.1.2.254.4500 > 192.1.2.23.4500: isakmp-nat-keep-alive +IP 192.1.2.23.4500 > 192.1.2.254.4500: NONESP-encap: isakmp: phase 2/others R inf[E] diff --git a/contrib/tcpdump/tests/isakmp4.sh b/contrib/tcpdump/tests/isakmp4.sh new file mode 100644 index 0000000..dd7bf07 --- /dev/null +++ b/contrib/tcpdump/tests/isakmp4.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +uudecode isakmp4500.puu + +echo -n test isakmp4... +../tcpdump -t -n -E "file esp-secrets.txt" -r isakmp4500.pcap >isakmp4.new +if diff isakmp4.new isakmp4.out +then + echo passed. +else + echo failed. +fi + diff --git a/contrib/tcpdump/tests/isakmp4500.puu b/contrib/tcpdump/tests/isakmp4500.puu new file mode 100644 index 0000000..0b55dcc --- /dev/null +++ b/contrib/tcpdump/tests/isakmp4500.puu @@ -0,0 +1,155 @@ +begin 644 isakmp4500.pcap +MU,.RH0(`!``````````````&```!```````````````J````*@```/______ +M_Q```-ZMN@@&``$(``8$``$0``#>K;K``0+^````````P`$"%P`````````` +M*@```"H````0``#>K;H0``!D9",(!@`!"``&!``"$```9&0CP`$"%Q```-ZM +MNL`!`OX``````````$X!``!.`0``$```9&0C$```WJVZ"`!%``%```!``#\1 +MM97``0+^P`$"%P'T`?0!+)6LGHGR.(^0O!X```````````$0`@`````````! +M)`T``)0````!`````0```(@``0`$`P``(``!``"`"P`!@`P.$(`!``6``@`! +M@`,``X`$``4#```@`0$``(`+``&`#`X0@`$`!8`"``*``P`#@`0`!0,``"`" +M`0``@`L``8`,#A"``0`%@`(``H`#``.`!``"````(`,!``"`"P`!@`P.$(`! +M``6``@`!@`,``X`$``(-```03T5K4F)'6%)V;5!%#0``%*_*UQ-HH?'):X:6 +M_'=7`0`-```42A,<@0<#6$5<5RCR#I5%+PT``!1]E!FF4Q#*;RP7G9(54IU6 +M#0``%,U@1D,UWR'X?/VR_&BVI$@````41(45+1BVN\T+Z*A&E7G=S``````` +M````L@```+(````0``#>K;H0``!D9",(`$4``*0``$``0!&U,<`!`A?``0+^ +M`?0!]`"08%.>B?(XCY"\'@IT-7SCT:2_`1`"``````````"(#0``-`````$` +M```!````*``!``$````@``$``(`+``&`#`X0@`$`!8`"``&``P`#@`0`!0T` +M`!!/16M28D=84G9M4$4-```4K\K7$VBA\"G0U?./1I+\$$`(````` +M`````1P*``#$M]N'X4E&AEMT*7(UA)]?Z:M`RW>TPRPR/2V-U^-O'ST7,9K7 +MCQQFQ`#^2/PP0G^@]QHR=9!Y7?/EL'O(\L(I'#51V6N1?)1J+6P-A6&T0Y@" +M-KJ[,_WPC+W%H'KSV>J_(W#3`3A4&A^4Q*T^3Q*2'^M#9[XHW-IVWO.#J=M? +MDHTX?/DS#]CDJG;?BC_E:$W:3AD]N9+!U'[+6UU.`,)4^&ASH2SO\CU.=2!# +MH'UY(FI*395>I?Z@4```4 +M;OX2\$KY#?O/L5UQN$&[G@```!1$]1?@/[.!^`^$+14XS/^L``````````!& +M`0``1@$``!```-ZMNA```&1D(P@`10`!.```0`!`$;2=P`$"%\`!`OX!]`'T +M`20!UYZ)\CB/D+P>"G0U?./1I+\$$`(``````````1P*``#$YYI?^#V[%WO* +M+,?[XKU\"YVFZ0UCMOA'6Y:C93#4^M&/)'3",1Q/"&7*"D0_<1SX#@"KRZDV +M\_XCB4O9XNS0"_O8-'[C&AG5O;G^G_N*#?4,"OA'?R><"WN68Q(H<1EONM3! +MS3=]U]MRZ(4UBM]&:I\KW&3X;LQ%M[B0:,/"]DTM1^J8+8CESE'6JEFCE,,$ +M?$W5P,^5=1K1AT@YX0J-9%/E]`MY&<%C?*Y*K\'5X#2B5OD6+FTGJ)^V299# +M*>H6%```%&Q^7ZRJ16$T%<6UJE;P`` +M`!1N_A+P2OD-^\^Q77&X0;N>``````````!R`0``<@$``!```&1D(Q```-ZM +MN@@`10`!9```0``_$;5QP`$"_L`!`A<1E!&4`5!RH0````">B?(XCY"\'@IT +M-7SCT:2_!1`"`0````````%$H"1@W`ZTW:4&'Z=!K*`IRTNLK:3J/^$DD/B4 +M>Q,F?M5`3=(?!HGW$/M)`\W8Z/'FXK6$!(9!7BL9!@QV=(^E7><\)R8EVE3F +M6`.O^:2F!(>LD7%71N]`LA?B!/!0\*H2"YOJ0]_W9#9DJYZ).M/.;+8A?L[O +M`J-'HV_0*'&&^P\8:$'I^"13SN]VT%5\8O8;P2VV=`+&9+4]'MH+/&:'PR!H +M4O#,GI+1=+*MRN"5.-8D&$16)"G0U?./1I+\%$`(!`````````2S" +M8Z5]+<^-M8Q9P&X;^%JN2^*NYC1"AZ%4J-PIMZM611WA:Z$*6IBWC.3.9037)L`[ADSH`K&0*^[6)>")$E3;"4;U="I",2*`1TP_=5+%B"II3>( +M'@``````````V@$``-H!```0``!D9",0``#>K;H(`$4``4YQ5SAO`10)\84&I?],R2.?5M +MZ/Y^Y"#*%+0.<9KX(/Z$'&M,-)/2I7U^,!G,*G!E_O.D;7F_;D^V#&&*(R.+ +MH;YSI'1@I8GV%+\'*6,1(8`8D(VUP[,(R?PQ7#,5WQY3[HT+IFF"3?.+;(*M +M_?C;JQ#]O'9522*ZO7>'TEDYLLA`*L$8(XJ$!T>_HYS?G=WR11E($-021FMS +MB[NXAJ^CQVGO87[B@^I6THHW-%Z8%PTH&BCO^.[@K_NS8RVTE7CE&MA]6C@> +MEDIDM&T^.41?F(\X$Z-5[547$HC='*\>8``"[9.IHT)+[,^LZ?_6(6I\L32# +MF-JM7U".L4?X/8=G*KFA<>THJ-622W,;J`IW2^MLBI?_O<"G0U?./1I+\($"`!BWZ)1P```5RM:&N4 +MQ1;W19+;77%JE,,H'8&F6ITJM=R5O>KL1%[]#E/LJ#&./WFJ`#,3C!H=I_'* +M34/)_E+)(`!A&W00*T\"9O9JX0N">$#'(ZL<$'\P=GHB.0:\AXT/!^^*%U.'5#'2IX:7/2KZ$%^3W;%R4[&2T>'?2(@FF +M#T/=+2O[?Q4.(\@Q;]3V=L5Q2XFG)^E)0J:1AX`J4%E3_Y]^6='!R-ENY%9# +M3!XD:5K?/V&.!&X#>I_$96Y;P_!5']070(D3N#$47!AZ^VCW-?I?JT2AL5YOWBO5[D!"OV)46(FK)9" +M$C40GNJ7*A,SE6%6A(4>KPE(-$)=L6=2VQLO>Y12N8QBH3V%(90.\5YL`R,O +M1@``````````8@```&(````0``!D9",0``#>K;H(`$4``%0``$``/Q&V@<`! +M`O[``0(7$901E`!`KQ<`````GHGR.(^0O!X*=#5\X]&DOP@0(`&+?HE'```` +M-"4[,88.:.R$%:1S6K/XK;H(`$4``*"JM```/Q%+@<`!`O[``0(7$901E`",``#TW`KE```` +M`?SD"<11-X_=FBX7J&]'/C[B>;BA23X"^A;(BA/H;8_\0'U,E@M&;+=R&*LY +MAF.NT6/*J.SL[UR2)+H^A6#5<38R;!FY\:AV_6ZV)FQ2! +M1T\L:`GPK6U?_?TVHSK[6(WSF?Q"XF5K/0U,A.Y+D\RP]G(``````````"H` +M```J````$```WJVZ$```9&0C"`8``0@`!@0``1```&1D(\`!`A<```````#` +M`0+^```````````J````*@```!```&1D(Q```-ZMN@@&``$(``8$``(0``#> +MK;K``0+^$```9&0CP`$"%P``````````B@$``(H!```0``#>K;H0``!D9",( +M`$4``7P``$``0!&T6<`!`A?``0+^$901E`%HRNX`````GHGR.(^0O!X*=#5\ +MX]&DOP@0(`&+?HE'```!7*UH:Y3%%O=%DMM=<6J4PR@=@:9:G2JUW)6]ZNQ$ +M7OT.4^RH,8X_>:H`,Q.,&AVG\B(Y!KR'C0\'[XIS!(%P&'QX74X=4,=*GAS%MDNE:?+;+?\O0S-Y +MI<]*OH07Y/=L7)3L9+1X=](B":8/0]TM*_M_%0XCR#%OU/9VQ7%+B:*]7N0$*_8E18B:LED(2-1">ZIB?(XCY"\ +M'@IT-7SCT:2_"!`@`8M^B4<````T)3LQA@YH[(05I'-:L_AR6CWGJ@DY)*0" +M``````````"N````K@```!```&1D(Q```-ZMN@@`10``H*JU```_$4N`P`$" +M_L`!`A<1E!&4`(P``/3<"N4````";5_]_3:C.OM8C?.9_$+B9;KU/R+D"U^- +MLGB)>"40ZCMW:+^A4%UI1Y)\.O4B]`44T(2XS\S=2[[[X.6A-PCDZP*3XFAD +M294>+W:M%%+\`)?XP#[:6]NHG>#;FFF-RMAA7D"KQ-&OX3Z5S'CBYC"740``````````*P```"L````0``!D9",0``#>K;H(`$4``!T` +M`$``/Q&VN,`!`O[``0(7$901E``)6)O_``````````"N````K@```!```&1D +M(Q```-ZMN@@`10``H*JV```_$4M_P`$"_L`!`A<1E!&4`(P``/3<"N4````# +M7D"KQ-&OX1F0#F$^I@1V5E>.`*!H=Z?(&*,.MS]E4H#P+2"^MMG?%@Y3*L%D'7$>LLOA,HUEB3IB;87,\:-0``````````B@$` +M`(H!```0``#>K;H0``!D9",(`$4``7P``$``0!&T6<`!`A?``0+^$901E`%H +MRNX`````GHGR.(^0O!X*=#5\X]&DOP@0(`&+?HE'```!7*UH:Y3%%O=%DMM= +M<6J4PR@=@:9:G2JUW)6]ZNQ$7OT.4^RH,8X_>:H`,Q.,&AVG\B(Y!KR'C0\'[XIS!(%P&'QX74X= +M4,=*GAS%MDNE:?+;+?\O0S-YI<]*OH07Y/=L7)3L9+1X=](B":8/0]TM*_M_ +M%0XCR#%OU/9VQ7%+B:*]7N0$*_8E18B:LED(2-1">ZIB?(XCY"\'@IT-7SCT:2_"!`@`8M^B4<````T)3LQA@YH +M[(05I'-:L_AR6CWGJ@DY)*0"``````````"N````K@```!```&1D(Q```-ZM +MN@@`10``H*JW```_$4M^P`$"_L`!`A<1E!&4`(P``/3<"N4````$"^MMG?%@ +MY3*L%D'7$>LLOHFXH,6B3<'M/]A_UT%X.MP;F`ZT@=\62*]W'/Y5@1,(8+`W +MTIZ(C;8G'VC<"+'VM:$K/=:VI +MD#:KB^/G$BB@:+=TSV\S)T5-E#UOBKZ"E5_,%P``````````*P```"L````0 +M``!D9",0``#>K;H(`$4``!T``$``/Q&VN,`!`O[``0(7$901E``)6)O_```` +M``````"N````K@```!```&1D(Q```-ZMN@@`10``H*JX```_$4M]P`$"_L`! +M`A<1E!&4`(P``/3<"N4````%D#:KB^/G$BB@:+=TSV\S)XZ>X,YAOI/W1_BS +M7:N%MO?3J+1\I=>O-36N1GBDD+HMR]D8U)G(OJ] +MMX!><$3'U0``````````K@```*X````0``!D9",0``#>K;H(`$4``*"JN0`` +M/Q%+?,`!`O[``0(7$901E`",``#TW`KE````!HUKYV'DUKD9XI)"Z+@>3:9638^IH_2\8CVE-BL2&43,3ZAY3'1@3Z:+\)XSXDSO]L,@? +MCOL6@]+&+X^#H(D.X>B;)<%[E4:S:#.D70:!#<8Q\QZFH`K;H(`$4``!T``$``/Q&VN,`!`O[` +M`0(7$901E``)6)O_``````````"N````K@```!```&1D(Q```-ZMN@@`10`` +MH*JZ```_$4M[P`$"_L`!`A<1E!&4`(P``/3<"N4````'$-QC'S'J:@!R,;Z< +M<"K%#ST!-8\O2;F**R/9Z%HAZ`2#KQIW*9'HI9C067ZK-G^XAL^O0I7Z/'H( +M<.`7P@/P'/E0@``````````B@$``(H!```0``#>K;H0 +M``!D9",(`$4``7P``$``0!&T6<`!`A?``0+^$901E`%HRNX`````GHGR.(^0 +MO!X*=#5\X]&DOP@0(`&+?HE'```!7*UH:Y3%%O=%DMM=<6J4PR@=@:9:G2JU +MW)6]ZNQ$7OT.4^RH,8X_>:H`,Q.,&AVG\B(Y!KR'C0\'[XIS!(%P&'QX74X=4,=*GAS%MDNE:?+; +M+?\O0S-YI<]*OH07Y/=L7)3L9+1X=](B":8/0]TM*_M_%0XCR#%OU/9VQ7%+ +MB:*]7N0$*_8E18B:LED(2-1">ZIGVJ+F +M#M/G_FP&NANM[W@`)Y9\\Z?F4SX%'E.^2BCP\9+!/`25PK%+G'U@$&1+=@%( +M#9RV^U"B8-5,EXJ0-QZTLOJ/L^F\).BC@++XQGOL8JC_`L;'=``````````` +M*@```"H````0``#>K;H0``!D9",(!@`!"``&!``!$```9&0CP`$"%P`````` +M`,`!`OX``````````"H````J````$```9&0C$```WJVZ"`8``0@`!@0``A`` +M`-ZMNL`!`OX0``!D9"/``0(7```````````K````*P```!```&1D(Q```-ZM +MN@@`10``'0``0``_$;:XP`$"_L`!`A<1E!&4``E8F_\``````````'H```!Z +M````$```WJVZ$```9&0C"`!%``!L``!``$`1M6G``0(7P`$"_A&4$90`6,G# +M`````)Z)\CB/D+P>"G0U?./1I+\($`4!`KW&3P```$S_T\^1(\?(IVCQDA]J +C20SF@.^<&]2'1D(_3FHHKW7PKQJ'!!.01QV>?]$9K_EN`N<` +` +end diff --git a/contrib/tcpdump/tests/lmp.out b/contrib/tcpdump/tests/lmp.out new file mode 100644 index 0000000..ee37bca --- /dev/null +++ b/contrib/tcpdump/tests/lmp.out @@ -0,0 +1,191 @@ +IP (tos 0x0, ttl 1, id 44530, offset 0, flags [none], proto: UDP (17), length: 84) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Begin Verify, Flags: [Control Channel Down], length: 56 + Link ID Object (3), Class-Type: IPv4 Local (1) Flags: [non-negotiable], length: 8 + IPv4 Link ID: 1.0.0.0 (0x01000000) + Message ID Object (5), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Message ID: 3 (0x00000003) + Link ID Object (3), Class-Type: IPv4 Remote (2) Flags: [non-negotiable], length: 8 + IPv4 Link ID: 1.0.0.0 (0x01000000) + Verify Begin Object (8), Class-Type: 1 (1) Flags: [negotiable], length: 24 + Flags: none + Verify Interval: 20 + Data links: 30 + Encoding type: Lambda (photonic) + Verify Tranport Mechanism: 32768 (0x8000) + Transmission Rate: 100.000 Mbps + Wavelength: 8 +IP (tos 0x0, ttl 1, id 44531, offset 0, flags [none], proto: UDP (17), length: 56) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Hello, Flags: [Control Channel Down], length: 28 + Control Channel ID Object (1), Class-Type: Local (1) Flags: [non-negotiable], length: 8 + Control Channel ID: 1 (0x00000001) + Hello Object (7), Class-Type: 1 (1) Flags: [non-negotiable], length: 12 + TxSeqNum: 50 + RcvSeqNum: 60 +IP (tos 0x0, ttl 1, id 44532, offset 0, flags [none], proto: UDP (17), length: 84) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Config NACK, Flags: [Control Channel Down], length: 56 + Control Channel ID Object (1), Class-Type: Local (1) Flags: [non-negotiable], length: 8 + Control Channel ID: 1 (0x00000001) + Node ID Object (2), Class-Type: Local (1) Flags: [non-negotiable], length: 8 + Node ID: 10.0.50.1 (0x0a003201) + Control Channel ID Object (1), Class-Type: Remote (2) Flags: [non-negotiable], length: 8 + Control Channel ID: 2 (0x00000002) + Message ID Object (5), Class-Type: 2 (2) Flags: [non-negotiable], length: 8 + Message ID Ack: 3 (0x00000003) + Node ID Object (2), Class-Type: Remote (2) Flags: [non-negotiable], length: 8 + Node ID: 10.0.50.2 (0x0a003202) + Configuration Object (6), Class-Type: 1 (1) Flags: [negotiable], length: 8 + Hello Interval: 5 + Hello Dead Interval: 15 +IP (tos 0x0, ttl 1, id 44533, offset 0, flags [none], proto: UDP (17), length: 76) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Config ACK, Flags: [Control Channel Down], length: 48 + Control Channel ID Object (1), Class-Type: Local (1) Flags: [non-negotiable], length: 8 + Control Channel ID: 1 (0x00000001) + Node ID Object (2), Class-Type: Local (1) Flags: [non-negotiable], length: 8 + Node ID: 10.0.50.1 (0x0a003201) + Control Channel ID Object (1), Class-Type: Remote (2) Flags: [non-negotiable], length: 8 + Control Channel ID: 2 (0x00000002) + Message ID Object (5), Class-Type: 2 (2) Flags: [non-negotiable], length: 8 + Message ID Ack: 3 (0x00000003) + Node ID Object (2), Class-Type: Remote (2) Flags: [non-negotiable], length: 8 + Node ID: 10.0.50.2 (0x0a003202) +IP (tos 0x0, ttl 1, id 44534, offset 0, flags [none], proto: UDP (17), length: 68) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Config, Flags: [Control Channel Down], length: 40 + Control Channel ID Object (1), Class-Type: Local (1) Flags: [non-negotiable], length: 8 + Control Channel ID: 1 (0x00000001) + Message ID Object (5), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Message ID: 3 (0x00000003) + Node ID Object (2), Class-Type: Local (1) Flags: [non-negotiable], length: 8 + Node ID: 10.0.50.1 (0x0a003201) + Configuration Object (6), Class-Type: 1 (1) Flags: [negotiable], length: 8 + Hello Interval: 5 + Hello Dead Interval: 15 +IP (tos 0x0, ttl 1, id 44535, offset 0, flags [none], proto: UDP (17), length: 44) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Link Summary ACK, Flags: [Control Channel Down], length: 16 + Message ID Object (5), Class-Type: 2 (2) Flags: [non-negotiable], length: 8 + Message ID Ack: 1 (0x00000001) +IP (tos 0x0, ttl 1, id 44536, offset 0, flags [none], proto: UDP (17), length: 124) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Link Summary NACK, Flags: [Control Channel Down], length: 96 + Message ID Object (5), Class-Type: 2 (2) Flags: [non-negotiable], length: 8 + Message ID Ack: 1 (0x00000001) + Error Code Object (20), Class-Type: 2 (2) Flags: [non-negotiable], length: 8 + Error Code: + Unacceptable non-negotiable LINK_SUMMARY parameters, + Renegotiate LINK_SUMMARY parameters, + Invalid DATA-LINK Object, + Unknown TE-LINK Object c-type, + Unknown DATA-LINK Object c-type + Data Link Object (12), Class-Type: IPv4 (1) Flags: [non-negotiable], length: 36 + Flags: [none] + Local Interface ID: 192.168.1.1 (0xc0a80101) + Remote Interface ID: 192.168.1.2 (0xc0a80102) + Subobject, Type: Interface Switching Type (1), Length: 12 + Switching Type: Lambda-Switch Capable (150) + Encoding Type: Lambda (photonic) (8) + Min Reservable Bandwidth: 100.000 Mbps + Max Reservable Bandwidth: 100.000 Mbps + Subobject, Type: Wavelength (2), Length: 8 + Wavelength: 6 + Data Link Object (12), Class-Type: IPv4 (1) Flags: [non-negotiable], length: 36 + Flags: [none] + Local Interface ID: 10.1.1.1 (0x0a010101) + Remote Interface ID: 10.1.1.2 (0x0a010102) + Subobject, Type: Interface Switching Type (1), Length: 12 + Switching Type: Lambda-Switch Capable (150) + Encoding Type: ANSI/ETSI PDH (3) + Min Reservable Bandwidth: 1234736768.000 Mbps + Max Reservable Bandwidth: 1290693376.000 Mbps + Subobject, Type: Wavelength (2), Length: 8 + Wavelength: 353 +IP (tos 0x0, ttl 1, id 44537, offset 0, flags [none], proto: UDP (17), length: 68) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Begin Verify ACK, Flags: [Control Channel Down], length: 40 + Link ID Object (3), Class-Type: IPv4 Local (1) Flags: [non-negotiable], length: 8 + IPv4 Link ID: 1.0.0.0 (0x01000000) + Message ID Object (5), Class-Type: 2 (2) Flags: [non-negotiable], length: 8 + Message ID Ack: 1 (0x00000001) + Verify Begin ACK Object (9), Class-Type: 1 (1) Flags: [negotiable], length: 8 + Verify Dead Interval: 50 + Verify Transport Response: 100 + Verify ID Object (10), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Verify ID: 5 +IP (tos 0x0, ttl 1, id 44538, offset 0, flags [none], proto: UDP (17), length: 60) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Begin Verify NACK, Flags: [Control Channel Down], length: 32 + Link ID Object (3), Class-Type: IPv4 Local (1) Flags: [non-negotiable], length: 8 + IPv4 Link ID: 10.0.0.0 (0x0a000000) + Message ID Object (5), Class-Type: 2 (2) Flags: [non-negotiable], length: 8 + Message ID Ack: 3 (0x00000003) + Error Code Object (20), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Error Code: + Link Verification Procedure Not supported, + Unwilling to verify, + Unsupported verification transport mechanism +IP (tos 0x0, ttl 1, id 44539, offset 0, flags [none], proto: UDP (17), length: 52) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: End Verify, Flags: [Control Channel Down], length: 24 + Message ID Object (5), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Message ID: 3 (0x00000003) + Verify ID Object (10), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Verify ID: 5 +IP (tos 0x0, ttl 1, id 44540, offset 0, flags [none], proto: UDP (17), length: 52) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: End Verify ACK, Flags: [Control Channel Down], length: 24 + Message ID Object (5), Class-Type: 2 (2) Flags: [non-negotiable], length: 8 + Message ID Ack: 3 (0x00000003) + Verify ID Object (10), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Verify ID: 5 +IP (tos 0x0, ttl 1, id 44541, offset 0, flags [none], proto: UDP (17), length: 52) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Test, Flags: [Control Channel Down], length: 24 + Interface ID Object (4), Class-Type: IPv4 Local (1) Flags: [non-negotiable], length: 8 + IPv4 Link ID: 1.0.0.0 (0x01000000) + Verify ID Object (10), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Verify ID: 5 +IP (tos 0x0, ttl 1, id 44542, offset 0, flags [none], proto: UDP (17), length: 52) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Test Status Failure, Flags: [Control Channel Down], length: 24 + Message ID Object (5), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Message ID: 1 (0x00000001) + Verify ID Object (10), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Verify ID: 5 +IP (tos 0x0, ttl 1, id 44543, offset 0, flags [none], proto: UDP (17), length: 52) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Test Status ACK, Flags: [Control Channel Down], length: 24 + Message ID Object (5), Class-Type: 2 (2) Flags: [non-negotiable], length: 8 + Message ID Ack: 1 (0x00000001) + Verify ID Object (10), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Verify ID: 5 +IP (tos 0x0, ttl 1, id 44544, offset 0, flags [none], proto: UDP (17), length: 44) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Channel Status ACK, Flags: [Control Channel Down], length: 16 + Message ID Object (5), Class-Type: 2 (2) Flags: [non-negotiable], length: 8 + Message ID Ack: 3 (0x00000003) +IP (tos 0x0, ttl 1, id 44545, offset 0, flags [none], proto: UDP (17), length: 64) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Channel Status Request, Flags: [Control Channel Down], length: 36 + Link ID Object (3), Class-Type: IPv4 Local (1) Flags: [non-negotiable], length: 8 + IPv4 Link ID: 1.0.0.0 (0x01000000) + Message ID Object (5), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Message ID: 3 (0x00000003) + Channel Status Request Object (14), Class-Type: IPv4 (1) Flags: [non-negotiable], length: 12 + Interface ID: 2.0.0.0 (0x02000000) + Interface ID: 2.0.0.0 (0x02000000) +IP (tos 0x0, ttl 1, id 44546, offset 0, flags [none], proto: UDP (17), length: 72) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Channel Status, Flags: [Control Channel Down], length: 44 + Link ID Object (3), Class-Type: IPv4 Local (1) Flags: [non-negotiable], length: 8 + IPv4 Link ID: 1.0.0.0 (0x01000000) + Message ID Object (5), Class-Type: 1 (1) Flags: [non-negotiable], length: 8 + Message ID: 3 (0x00000003) + Channel Status Object (13), Class-Type: IPv4 (1) Flags: [non-negotiable], length: 20 + Interface ID: 1.0.0.0 (0x01000000) + Active: Allocated (1) + Direction: Transmit (1) + Channel Status: Signal Fail (3) + Interface ID: 1.0.0.0 (0x01000000) + Active: Allocated (1) + Direction: Receive (0) + Channel Status: Signal Degraded (2) +IP (tos 0x0, ttl 1, id 44547, offset 0, flags [none], proto: UDP (17), length: 64) 10.0.12.1.49998 > 10.0.12.2.49998: + LMPv1, msg-type: Channel Status Response, Flags: [Control Channel Down], length: 36 + Message ID Object (5), Class-Type: 2 (2) Flags: [non-negotiable], length: 8 + Message ID Ack: 3 (0x00000003) + Channel Status Object (13), Class-Type: IPv4 (1) Flags: [non-negotiable], length: 20 + Interface ID: 1.0.0.0 (0x01000000) + Active: Allocated (1) + Direction: Transmit (1) + Channel Status: Signal Degraded (2) + Interface ID: 1.0.0.0 (0x01000000) + Active: Allocated (1) + Direction: Transmit (1) + Channel Status: Signal Okay (1) diff --git a/contrib/tcpdump/tests/lmp.puu b/contrib/tcpdump/tests/lmp.puu new file mode 100644 index 0000000..c14cd56 --- /dev/null +++ b/contrib/tcpdump/tests/lmp.puu @@ -0,0 +1,42 @@ +begin 644 lmp.pcap +MU,.RH0(`!````````````/__```!````I!J-0&;J``!B````8@`````%75SJ +MQ@`$=="&2@@`10``5*WR```!$=^D"@`,`0H`#`+#3L-.`$```!````4`.``` +M`0,`"`$````!!0`(`````P(#``@!````@0@`&````!0````>")*``$+(```` +M```(I!J-0#SQ``!&````1@`````%75SJQ@`$=="&2@@`10``.*WS```!$=^_ +M"@`,`0H`#`+#3L-.`"0``!````0`'````0$`"`````$!!P`,````,@```#RD +M&HU`@/(``&(```!B``````5=7.K&``1UT(9*"`!%``!4K?0```$1WZ(*``P! +M"@`,`L-.PTX`0```$````P`X```!`0`(`````0$"``@*`#(!`@$`"`````(" +M!0`(`````P("``@*`#("@08`"``%``^D&HU`?_,``%H```!:``````5=7.K& +M``1UT(9*"`!%``!,K?4```$1WZD*``P!"@`,`L-.PTX`.```$````@`P```! +M`0`(`````0$"``@*`#(!`@$`"`````("!0`(`````P("``@*`#("I!J-0'+T +M``!2````4@`````%75SJQ@`$=="&2@@`10``1*WV```!$=^P"@`,`0H`#`+# +M3L-.`#```!````$`*````0$`"`````$!!0`(`````P$"``@*`#(!@08`"``% +M``^D&HU`0_4``#H````Z``````5=7.K&``1UT(9*"`!%```LK?<```$1W\<* +M``P!"@`,`L-.PTX`&```$```#P`0```"!0`(`````:0:C4"E]P``B@```(H` +M````!5Ulmp.new +if diff lmp.new lmp.out +then + echo passed. +else + echo failed. +fi + + diff --git a/contrib/tcpdump/tests/mpls-ldp-hello.out b/contrib/tcpdump/tests/mpls-ldp-hello.out new file mode 100644 index 0000000..fa621ca --- /dev/null +++ b/contrib/tcpdump/tests/mpls-ldp-hello.out @@ -0,0 +1,9 @@ +IP (tos 0xc0, ttl 1, id 15579, offset 0, flags [none], proto: UDP (17), length: 70) 10.1.1.3.646 > 224.0.0.2.646: + LDP, Label-Space-ID: 10.1.0.2:0, pdu-length: 38 + Hello Message (0x0100), length: 28, Message ID: 0x00011970, Flags: [ignore if unknown] + Common Hello Parameters TLV (0x0400), length: 4, Flags: [ignore and don't forward if unknown] + Hold Time: 15s, Flags: [Link Hello] + IPv4 Transport Address TLV (0x0401), length: 4, Flags: [ignore and don't forward if unknown] + IPv4 Transport Address: 10.1.0.2 + Configuration Sequence Number TLV (0x0402), length: 4, Flags: [ignore and don't forward if unknown] + Sequence Number: 1 diff --git a/contrib/tcpdump/tests/mpls-ldp-hello.puu b/contrib/tcpdump/tests/mpls-ldp-hello.puu new file mode 100644 index 0000000..b7f3b62 --- /dev/null +++ b/contrib/tcpdump/tests/mpls-ldp-hello.puu @@ -0,0 +1,6 @@ +begin 644 mpls-ldp-hello.pcap +MU,.RH0(`!````````````.H%```)````1UFZ/E2'#`!*````2@```/\#`"%% +MP`!&/-L```$1D08*`0$#X````@*&`H8`,M2>``$`)@H!``(```$``!P``1EP +8!```!``/```$`0`$"@$``@0"``0````! +` +end diff --git a/contrib/tcpdump/tests/mpls-ldp-hello.sh b/contrib/tcpdump/tests/mpls-ldp-hello.sh new file mode 100755 index 0000000..b1a5b19 --- /dev/null +++ b/contrib/tcpdump/tests/mpls-ldp-hello.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +uudecode mpls-ldp-hello.puu + +echo -n test mpls-ldp-hello ... +../tcpdump -t -n -v -r mpls-ldp-hello.pcap >mpls-ldp-hello.new +if diff mpls-ldp-hello.new mpls-ldp-hello.out +then + echo passed. +else + echo failed. +fi + + diff --git a/contrib/tcpdump/tests/ospf-gmpls.out b/contrib/tcpdump/tests/ospf-gmpls.out new file mode 100644 index 0000000..965affc --- /dev/null +++ b/contrib/tcpdump/tests/ospf-gmpls.out @@ -0,0 +1,83 @@ +IP (tos 0xc0, ttl 1, id 4052, offset 0, flags [none], proto: OSPF (89), length: 172) 40.35.1.2 > 224.0.0.5: OSPFv2, LS-Update, length: 152 + Router-ID: 10.255.245.35, Backbone Area, Authentication Type: none (0), 1 LSA + LSA #1 + Advertising Router: 10.255.245.37, seq 0x80000002, age 9s, length: 104 + Area Local Opaque LSA (10), Opaque-Type: Traffic Engineering LSA (1), Opaque-ID: 8 + Options: [External] + Link TLV (2), length: 100 + Link Type subTLV (1), length: 1, Point-to-point (1) + Link ID subTLV (2), length: 4, 10.255.245.69 (0x0afff545) + Local Interface IP address subTLV (3), length: 4, 10.9.142.1 + Remote Interface IP address subTLV (4), length: 4, 10.9.142.2 + Traffic Engineering Metric subTLV (5), length: 4, Metric 63 + Maximum Bandwidth subTLV (6), length: 4, 622.080 Mbps + Maximum Reservable Bandwidth subTLV (7), length: 4, 622.080 Mbps + Unreserved Bandwidth subTLV (8), length: 32 + TE-Class 0: 622.080 Mbps + TE-Class 1: 622.080 Mbps + TE-Class 2: 622.080 Mbps + TE-Class 3: 622.080 Mbps + TE-Class 4: 622.080 Mbps + TE-Class 5: 622.080 Mbps + TE-Class 6: 622.080 Mbps + TE-Class 7: 622.080 Mbps + Administrative Group subTLV (9), length: 4, 0x00000000 +IP (tos 0xc0, ttl 1, id 4106, offset 0, flags [none], proto: OSPF (89), length: 172) 40.35.1.2 > 224.0.0.5: OSPFv2, LS-Update, length: 152 + Router-ID: 10.255.245.35, Backbone Area, Authentication Type: none (0), 1 LSA + LSA #1 + Advertising Router: 10.255.245.37, seq 0x80000002, age 9s, length: 104 + Area Local Opaque LSA (10), Opaque-Type: Traffic Engineering LSA (1), Opaque-ID: 9 + Options: [External] + Link TLV (2), length: 100 + Link Type subTLV (1), length: 1, Point-to-point (1) + Link ID subTLV (2), length: 4, 10.255.245.69 (0x0afff545) + Local Interface IP address subTLV (3), length: 4, 10.9.143.1 + Remote Interface IP address subTLV (4), length: 4, 10.9.143.2 + Traffic Engineering Metric subTLV (5), length: 4, Metric 63 + Maximum Bandwidth subTLV (6), length: 4, 622.080 Mbps + Maximum Reservable Bandwidth subTLV (7), length: 4, 622.080 Mbps + Unreserved Bandwidth subTLV (8), length: 32 + TE-Class 0: 622.080 Mbps + TE-Class 1: 622.080 Mbps + TE-Class 2: 622.080 Mbps + TE-Class 3: 622.080 Mbps + TE-Class 4: 622.080 Mbps + TE-Class 5: 622.080 Mbps + TE-Class 6: 622.080 Mbps + TE-Class 7: 622.080 Mbps + Administrative Group subTLV (9), length: 4, 0x00000000 +IP (tos 0xc0, ttl 1, id 4160, offset 0, flags [none], proto: OSPF (89), length: 212) 40.35.1.2 > 224.0.0.5: OSPFv2, LS-Update, length: 192 + Router-ID: 10.255.245.35, Backbone Area, Authentication Type: none (0), 1 LSA + LSA #1 + Advertising Router: 10.255.245.35, seq 0x80000003, age 3s, length: 144 + Area Local Opaque LSA (10), Opaque-Type: Traffic Engineering LSA (1), Opaque-ID: 3 + Options: [External] + Link TLV (2), length: 140 + Link Type subTLV (1), length: 1, Point-to-point (1) + Link ID subTLV (2), length: 4, 10.255.245.40 (0x0afff528) + Local Interface IP address subTLV (3), length: 4, 10.40.35.14 + Remote Interface IP address subTLV (4), length: 4, 10.40.35.13 + Traffic Engineering Metric subTLV (5), length: 4, Metric 1 + Maximum Bandwidth subTLV (6), length: 4, 100.000 Mbps + Maximum Reservable Bandwidth subTLV (7), length: 4, 100.000 Mbps + Unreserved Bandwidth subTLV (8), length: 32 + TE-Class 0: 0.000 Mbps + TE-Class 1: 0.000 Mbps + TE-Class 2: 0.000 Mbps + TE-Class 3: 0.000 Mbps + TE-Class 4: 0.000 Mbps + TE-Class 5: 0.000 Mbps + TE-Class 6: 0.000 Mbps + TE-Class 7: 0.000 Mbps + Interface Switching Capability subTLV (15), length: 44 + Interface Switching Capability: Packet-Switch Capable-1 + LSP Encoding: Ethernet V2/DIX + Max LSP Bandwidth: + priority level 0: 0.000 Mbps + priority level 1: 0.000 Mbps + priority level 2: 0.000 Mbps + priority level 3: 0.000 Mbps + priority level 4: 0.000 Mbps + priority level 5: 0.000 Mbps + priority level 6: 0.000 Mbps + priority level 7: 0.000 Mbps diff --git a/contrib/tcpdump/tests/ospf-gmpls.puu b/contrib/tcpdump/tests/ospf-gmpls.puu new file mode 100644 index 0000000..691e38e --- /dev/null +++ b/contrib/tcpdump/tests/ospf-gmpls.puu @@ -0,0 +1,18 @@ +begin 644 ospf-gmpls.pcap +MU,.RH0(`!````````````'81````````KME#X`?``"`&0``0`!`0`````"``0*__5%``,` +M!`H)C@$`!``$"@F.`@`%``0````_``8`!$R44,``!P`$3)10P``(`"!,E%#` +M3)10P$R44,!,E%#`3)10P$R44,!,E%#`3)10P``)``0`````Y-E ospf-gmpls.new +if diff ospf-gmpls.new ospf-gmpls.out +then + echo passed. +else + echo failed. +fi + + diff --git a/contrib/tcpdump/tests/print-A.out b/contrib/tcpdump/tests/print-A.out new file mode 100644 index 0000000..107ffcb --- /dev/null +++ b/contrib/tcpdump/tests/print-A.out @@ -0,0 +1,193 @@ +23:57:35.938066 IP 127.0.0.1.55920 > 127.0.0.1.80: S 928549246:928549246(0) win 32767 +E..<.h@.@.!R.........p.P7X.~.........!....@.... +M........... +23:57:35.938122 IP 127.0.0.1.80 > 127.0.0.1.55920: S 930778609:930778609(0) ack 928549247 win 32767 +E..<..@.@.<..........P.p7z..7X......n.....@.... +M...M....... +23:57:35.938167 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 1 win 8192 +E..4.j@.@.!X.........p.P7X..7z.... .7...... +M...M... +23:57:35.939423 IP 127.0.0.1.55920 > 127.0.0.1.80: P 1:203(202) ack 1 win 8192 +E....l@.@. ..........p.P7X..7z.... ........ +M...M...GET / HTTP/1.1 +Host: localhost +User-Agent: ELinks/0.10.4-7-debian (textmode; Linux 2.6.11-1-686-smp i686; 132x56-2) +Accept: */* +Accept-Encoding: gzip +Accept-Language: en +Connection: Keep-Alive + + +23:57:35.940474 IP 127.0.0.1.80 > 127.0.0.1.55920: . ack 203 win 8192 +E..4..@.@............P.p7z..7X.I.. .7...... +M...M... +23:57:35.941232 IP 127.0.0.1.80 > 127.0.0.1.55920: P 1:5560(5559) ack 203 win 8192 +E.....@.@..%.........P.p7z..7X.I.. ........ +M...M...HTTP/1.1 200 OK +Date: Wed, 06 Jul 2005 03:57:35 GMT +Server: Apache/1.3.33 +Last-Modified: Sun, 15 Aug 2004 00:43:41 GMT +ETag: "6e80f0-148a-411eb1bd" +Accept-Ranges: bytes +Content-Length: 5258 +Keep-Alive: timeout=15, max=100 +Connection: Keep-Alive +Content-Type: text/html; charset=iso-8859-1 + + + + + + + Placeholder page + + + +

Placeholder page

+

If you are just browsing the web

+ +

The owner of this web site has not put up any web pages yet. +Please come back later.

+ +

Move along, nothing to see here... :-)

+ +

If you are trying to locate the administrator of this machine

+ +

If you want to report something about this host's behavior, please +contact the Internet Service Provider (ISP) involved directly.

+ +

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

+ +

If you are the administrator of this machine

+ +

The initial installation of Debian's +apache web server package was successful.

+ +

You should replace this page with your own web pages as +soon as possible.

+ +

Unless you changed its configuration, your new server is configured as follows: +

    +
  • +Configuration files can be found in /etc/apache.
  • + +
  • +The DocumentRoot, which is the directory under which all your +HTML files should exist, is set to /var/www.
  • + +
  • +CGI scripts are looked for in /usr/lib/cgi-bin, which is where +Debian packages will place their scripts.
  • + +
  • +Log files are placed in /var/log/apache, and will be rotated +weekly. The frequency of rotation can be easily changed by editing +/etc/logrotate.d/apache.
  • + +
  • +The default directory index is index.html, meaning that requests +for a directory /foo/bar/ will give the contents of the file /var/www/foo/bar/index.html +if it exists (assuming that /var/www is your DocumentRoot).
  • + +
  • +User directories are enabled, and user documents will be looked for +in the public_html directory of the users' homes. These dirs +should be under /home, and users will not be able to symlink +to files they don't own.
  • + +
+All the standard apache modules are available with this release and are +now managed with debconf. Type dpkg-reconfigure apache to +select which modules you want enabled. Many other modules are available +through the Debian package system with the names libapache-mod-*. +If you need to compile a module yourself, you will need to install the +apache-dev package. + +

More documentation on Apache can be found on: +

+ +

You can also consult the list of World +Wide Web Frequently Asked Questions for information. + +

Let other people know about this server

+ +Netcraft provides an interesting free +service for web site monitoring and statistic collection. +You can let them know about your server using their +interface. +Enabling the monitoring of your server will provide a better global overview +of who is using what and where, and it would give Debian a better +overview of the apache package usage. + +

About this page

+ + + +

This is a placeholder page installed by the Debian +release of the apache Web server package. + +

This computer has installed the Debian GNU/Linux operating system, +but it has nothing to do with the Debian +Project. Please do not contact the Debian +Project about it.

+ +

If you find a bug in this apache package, or in Apache itself, +please file a bug report on it. Instructions on doing this, and the +list of known bugs of this +package, can be found in the +Debian Bug Tracking System. + +

Thanks for using this package, and congratulations for your choice of +a Debian system!

+ +
+ +Debian + + +Apache + +
+ + + + + + +23:57:35.941260 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5560 win 12383 +E..4.n@.@.!T.........p.P7X.I7z....0_....... +M...M... +23:57:37.229575 IP 127.0.0.1.55920 > 127.0.0.1.80: F 203:203(0) ack 5560 win 12383 +E..4.p@.@.!R.........p.P7X.I7z....0_....... +M..!M... +23:57:37.230839 IP 127.0.0.1.80 > 127.0.0.1.55920: F 5560:5560(0) ack 204 win 8192 +E..4..@.@............P.p7z..7X.J.. ..5..... +M..#M..! +23:57:37.230900 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5561 win 12383 +E..4.r@.@.!P.........p.P7X.J7z....0_....... +M..#M..# diff --git a/contrib/tcpdump/tests/print-AA.out b/contrib/tcpdump/tests/print-AA.out new file mode 100644 index 0000000..52c0a77 --- /dev/null +++ b/contrib/tcpdump/tests/print-AA.out @@ -0,0 +1,193 @@ +23:57:35.938066 IP 127.0.0.1.55920 > 127.0.0.1.80: S 928549246:928549246(0) win 32767 +..............E..<.h@.@.!R.........p.P7X.~.........!....@.... +M........... +23:57:35.938122 IP 127.0.0.1.80 > 127.0.0.1.55920: S 930778609:930778609(0) ack 928549247 win 32767 +..............E..<..@.@.<..........P.p7z..7X......n.....@.... +M...M....... +23:57:35.938167 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 1 win 8192 +..............E..4.j@.@.!X.........p.P7X..7z.... .7...... +M...M... +23:57:35.939423 IP 127.0.0.1.55920 > 127.0.0.1.80: P 1:203(202) ack 1 win 8192 +..............E....l@.@. ..........p.P7X..7z.... ........ +M...M...GET / HTTP/1.1 +Host: localhost +User-Agent: ELinks/0.10.4-7-debian (textmode; Linux 2.6.11-1-686-smp i686; 132x56-2) +Accept: */* +Accept-Encoding: gzip +Accept-Language: en +Connection: Keep-Alive + + +23:57:35.940474 IP 127.0.0.1.80 > 127.0.0.1.55920: . ack 203 win 8192 +..............E..4..@.@............P.p7z..7X.I.. .7...... +M...M... +23:57:35.941232 IP 127.0.0.1.80 > 127.0.0.1.55920: P 1:5560(5559) ack 203 win 8192 +..............E.....@.@..%.........P.p7z..7X.I.. ........ +M...M...HTTP/1.1 200 OK +Date: Wed, 06 Jul 2005 03:57:35 GMT +Server: Apache/1.3.33 +Last-Modified: Sun, 15 Aug 2004 00:43:41 GMT +ETag: "6e80f0-148a-411eb1bd" +Accept-Ranges: bytes +Content-Length: 5258 +Keep-Alive: timeout=15, max=100 +Connection: Keep-Alive +Content-Type: text/html; charset=iso-8859-1 + + + + + + + Placeholder page + + + +

Placeholder page

+

If you are just browsing the web

+ +

The owner of this web site has not put up any web pages yet. +Please come back later.

+ +

Move along, nothing to see here... :-)

+ +

If you are trying to locate the administrator of this machine

+ +

If you want to report something about this host's behavior, please +contact the Internet Service Provider (ISP) involved directly.

+ +

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

+ +

If you are the administrator of this machine

+ +

The initial installation of Debian's +apache web server package was successful.

+ +

You should replace this page with your own web pages as +soon as possible.

+ +

Unless you changed its configuration, your new server is configured as follows: +

    +
  • +Configuration files can be found in /etc/apache.
  • + +
  • +The DocumentRoot, which is the directory under which all your +HTML files should exist, is set to /var/www.
  • + +
  • +CGI scripts are looked for in /usr/lib/cgi-bin, which is where +Debian packages will place their scripts.
  • + +
  • +Log files are placed in /var/log/apache, and will be rotated +weekly. The frequency of rotation can be easily changed by editing +/etc/logrotate.d/apache.
  • + +
  • +The default directory index is index.html, meaning that requests +for a directory /foo/bar/ will give the contents of the file /var/www/foo/bar/index.html +if it exists (assuming that /var/www is your DocumentRoot).
  • + +
  • +User directories are enabled, and user documents will be looked for +in the public_html directory of the users' homes. These dirs +should be under /home, and users will not be able to symlink +to files they don't own.
  • + +
+All the standard apache modules are available with this release and are +now managed with debconf. Type dpkg-reconfigure apache to +select which modules you want enabled. Many other modules are available +through the Debian package system with the names libapache-mod-*. +If you need to compile a module yourself, you will need to install the +apache-dev package. + +

More documentation on Apache can be found on: +

+ +

You can also consult the list of World +Wide Web Frequently Asked Questions for information. + +

Let other people know about this server

+ +Netcraft provides an interesting free +service for web site monitoring and statistic collection. +You can let them know about your server using their +interface. +Enabling the monitoring of your server will provide a better global overview +of who is using what and where, and it would give Debian a better +overview of the apache package usage. + +

About this page

+ + + +

This is a placeholder page installed by the Debian +release of the apache Web server package. + +

This computer has installed the Debian GNU/Linux operating system, +but it has nothing to do with the Debian +Project. Please do not contact the Debian +Project about it.

+ +

If you find a bug in this apache package, or in Apache itself, +please file a bug report on it. Instructions on doing this, and the +list of known bugs of this +package, can be found in the +Debian Bug Tracking System. + +

Thanks for using this package, and congratulations for your choice of +a Debian system!

+ +
+ +Debian + + +Apache + +
+ + + + + + +23:57:35.941260 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5560 win 12383 +..............E..4.n@.@.!T.........p.P7X.I7z....0_....... +M...M... +23:57:37.229575 IP 127.0.0.1.55920 > 127.0.0.1.80: F 203:203(0) ack 5560 win 12383 +..............E..4.p@.@.!R.........p.P7X.I7z....0_....... +M..!M... +23:57:37.230839 IP 127.0.0.1.80 > 127.0.0.1.55920: F 5560:5560(0) ack 204 win 8192 +..............E..4..@.@............P.p7z..7X.J.. ..5..... +M..#M..! +23:57:37.230900 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5561 win 12383 +..............E..4.r@.@.!P.........p.P7X.J7z....0_....... +M..#M..# diff --git a/contrib/tcpdump/tests/print-X.out b/contrib/tcpdump/tests/print-X.out new file mode 100644 index 0000000..53e44ed --- /dev/null +++ b/contrib/tcpdump/tests/print-X.out @@ -0,0 +1,409 @@ +23:57:35.938066 IP 127.0.0.1.55920 > 127.0.0.1.80: S 928549246:928549246(0) win 32767 + 0x0000: 4500 003c 1b68 4000 4006 2152 7f00 0001 E..<.h@.@.!R.... + 0x0010: 7f00 0001 da70 0050 3758 897e 0000 0000 .....p.P7X.~.... + 0x0020: a002 7fff 1421 0000 0204 400c 0402 080a .....!....@..... + 0x0030: 4ddc 9216 0000 0000 0103 0302 M........... +23:57:35.938122 IP 127.0.0.1.80 > 127.0.0.1.55920: S 930778609:930778609(0) ack 928549247 win 32767 + 0x0000: 4500 003c 0000 4000 4006 3cba 7f00 0001 E..<..@.@.<..... + 0x0010: 7f00 0001 0050 da70 377a 8df1 3758 897f .....P.p7z..7X.. + 0x0020: a012 7fff 6eb1 0000 0204 400c 0402 080a ....n.....@..... + 0x0030: 4ddc 9216 4ddc 9216 0103 0302 M...M....... +23:57:35.938167 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 1 win 8192 + 0x0000: 4500 0034 1b6a 4000 4006 2158 7f00 0001 E..4.j@.@.!X.... + 0x0010: 7f00 0001 da70 0050 3758 897f 377a 8df2 .....p.P7X..7z.. + 0x0020: 8010 2000 37d0 0000 0101 080a 4ddc 9216 ....7.......M... + 0x0030: 4ddc 9216 M... +23:57:35.939423 IP 127.0.0.1.55920 > 127.0.0.1.80: P 1:203(202) ack 1 win 8192 + 0x0000: 4500 00fe 1b6c 4000 4006 208c 7f00 0001 E....l@.@....... + 0x0010: 7f00 0001 da70 0050 3758 897f 377a 8df2 .....p.P7X..7z.. + 0x0020: 8018 2000 fef2 0000 0101 080a 4ddc 9217 ............M... + 0x0030: 4ddc 9216 4745 5420 2f20 4854 5450 2f31 M...GET./.HTTP/1 + 0x0040: 2e31 0d0a 486f 7374 3a20 6c6f 6361 6c68 .1..Host:.localh + 0x0050: 6f73 740d 0a55 7365 722d 4167 656e 743a ost..User-Agent: + 0x0060: 2045 4c69 6e6b 732f 302e 3130 2e34 2d37 .ELinks/0.10.4-7 + 0x0070: 2d64 6562 6961 6e20 2874 6578 746d 6f64 -debian.(textmod + 0x0080: 653b 204c 696e 7578 2032 2e36 2e31 312d e;.Linux.2.6.11- + 0x0090: 312d 3638 362d 736d 7020 6936 3836 3b20 1-686-smp.i686;. + 0x00a0: 3133 3278 3536 2d32 290d 0a41 6363 6570 132x56-2)..Accep + 0x00b0: 743a 202a 2f2a 0d0a 4163 6365 7074 2d45 t:.*/*..Accept-E + 0x00c0: 6e63 6f64 696e 673a 2067 7a69 700d 0a41 ncoding:.gzip..A + 0x00d0: 6363 6570 742d 4c61 6e67 7561 6765 3a20 ccept-Language:. + 0x00e0: 656e 0d0a 436f 6e6e 6563 7469 6f6e 3a20 en..Connection:. + 0x00f0: 4b65 6570 2d41 6c69 7665 0d0a 0d0a Keep-Alive.... +23:57:35.940474 IP 127.0.0.1.80 > 127.0.0.1.55920: . ack 203 win 8192 + 0x0000: 4500 0034 1fe4 4000 4006 1cde 7f00 0001 E..4..@.@....... + 0x0010: 7f00 0001 0050 da70 377a 8df2 3758 8a49 .....P.p7z..7X.I + 0x0020: 8010 2000 3703 0000 0101 080a 4ddc 9218 ....7.......M... + 0x0030: 4ddc 9217 M... +23:57:35.941232 IP 127.0.0.1.80 > 127.0.0.1.55920: P 1:5560(5559) ack 203 win 8192 + 0x0000: 4500 15eb 1fe6 4000 4006 0725 7f00 0001 E.....@.@..%.... + 0x0010: 7f00 0001 0050 da70 377a 8df2 3758 8a49 .....P.p7z..7X.I + 0x0020: 8018 2000 13e0 0000 0101 080a 4ddc 9219 ............M... + 0x0030: 4ddc 9217 4854 5450 2f31 2e31 2032 3030 M...HTTP/1.1.200 + 0x0040: 204f 4b0d 0a44 6174 653a 2057 6564 2c20 .OK..Date:.Wed,. + 0x0050: 3036 204a 756c 2032 3030 3520 3033 3a35 06.Jul.2005.03:5 + 0x0060: 373a 3335 2047 4d54 0d0a 5365 7276 6572 7:35.GMT..Server + 0x0070: 3a20 4170 6163 6865 2f31 2e33 2e33 330d :.Apache/1.3.33. + 0x0080: 0a4c 6173 742d 4d6f 6469 6669 6564 3a20 .Last-Modified:. + 0x0090: 5375 6e2c 2031 3520 4175 6720 3230 3034 Sun,.15.Aug.2004 + 0x00a0: 2030 303a 3433 3a34 3120 474d 540d 0a45 .00:43:41.GMT..E + 0x00b0: 5461 673a 2022 3665 3830 6630 2d31 3438 Tag:."6e80f0-148 + 0x00c0: 612d 3431 3165 6231 6264 220d 0a41 6363 a-411eb1bd"..Acc + 0x00d0: 6570 742d 5261 6e67 6573 3a20 6279 7465 ept-Ranges:.byte + 0x00e0: 730d 0a43 6f6e 7465 6e74 2d4c 656e 6774 s..Content-Lengt + 0x00f0: 683a 2035 3235 380d 0a4b 6565 702d 416c h:.5258..Keep-Al + 0x0100: 6976 653a 2074 696d 656f 7574 3d31 352c ive:.timeout=15, + 0x0110: 206d 6178 3d31 3030 0d0a 436f 6e6e 6563 .max=100..Connec + 0x0120: 7469 6f6e 3a20 4b65 6570 2d41 6c69 7665 tion:.Keep-Alive + 0x0130: 0d0a 436f 6e74 656e 742d 5479 7065 3a20 ..Content-Type:. + 0x0140: 7465 7874 2f68 746d 6c3b 2063 6861 7273 text/html;.chars + 0x0150: 6574 3d69 736f 2d38 3835 392d 310d 0a0d et=iso-8859-1... + 0x0160: 0a3c 2144 4f43 5459 5045 2048 544d 4c20 . + 0x01a0: 0a3c 4854 4d4c 3e0a 3c48 4541 443e 0a20 .... + 0x01b0: 2020 3c4d 4554 4120 4854 5450 2d45 5155 .......... + 0x0250: 3c54 4954 4c45 3e50 6c61 6365 686f 6c64 Placehold + 0x0260: 6572 2070 6167 653c 2f54 4954 4c45 3e0a er.page. + 0x0270: 3c2f 4845 4144 3e0a 3c42 4f44 5920 5445 ... + 0x02d0: 3c48 313e 506c 6163 6568 6f6c 6465 7220

Placeholder. + 0x02e0: 7061 6765 3c2f 4831 3e0a 3c48 323e 4966 page

.

If + 0x02f0: 2079 6f75 2061 7265 206a 7573 7420 6272 .you.are.just.br + 0x0300: 6f77 7369 6e67 2074 6865 2077 6562 3c2f owsing.the.web..

The.owne + 0x0320: 7220 6f66 2074 6869 7320 7765 6220 7369 r.of.this.web.si + 0x0330: 7465 2068 6173 206e 6f74 2070 7574 2075 te.has.not.put.u + 0x0340: 7020 616e 7920 7765 6220 7061 6765 7320 p.any.web.pages. + 0x0350: 7965 742e 0a50 6c65 6173 6520 636f 6d65 yet..Please.come + 0x0360: 2062 6163 6b20 6c61 7465 722e 3c2f 503e .back.later.

+ 0x0370: 0a0a 3c50 3e3c 534d 414c 4c3e 3c43 4954 ..

Move.along,.no + 0x0390: 7468 696e 6720 746f 2073 6565 2068 6572 thing.to.see.her + 0x03a0: 652e 2e2e 3c2f 4349 5445 3e20 3a2d 293c e....:-)< + 0x03b0: 2f53 4d41 4c4c 3e3c 2f50 3e0a 0a3c 4832 /SMALL>

..

If.you.are.tryi + 0x03d0: 6e67 2074 6f20 6c6f 6361 7465 2074 6865 ng.to.locate.the + 0x03e0: 2061 646d 696e 6973 7472 6174 6f72 206f .administrator.o + 0x03f0: 6620 7468 6973 206d 6163 6869 6e65 3c2f f.this.machine..

If.you.w + 0x0410: 616e 7420 746f 2072 6570 6f72 7420 736f ant.to.report.so + 0x0420: 6d65 7468 696e 6720 6162 6f75 7420 7468 mething.about.th + 0x0430: 6973 2068 6f73 7427 7320 6265 6861 7669 is.host's.behavi + 0x0440: 6f72 2c20 706c 6561 7365 0a63 6f6e 7461 or,.please.conta + 0x0450: 6374 2074 6865 2049 6e74 6572 6e65 7420 ct.the.Internet. + 0x0460: 5365 7276 6963 6520 5072 6f76 6964 6572 Service.Provider + 0x0470: 2028 4953 5029 2069 6e76 6f6c 7665 6420 .(ISP).involved. + 0x0480: 6469 7265 6374 6c79 2e3c 2f50 3e0a 0a3c directly.

..< + 0x0490: 503e 5365 6520 7468 6520 3c41 2068 7265 P>See.the.Networ + 0x04c0: 6b20 4162 7573 650a 436c 6561 7269 6e67 k.Abuse.Clearing + 0x04d0: 686f 7573 653c 2f41 3e20 666f 7220 686f house.for.ho + 0x04e0: 7720 746f 2064 6f20 7468 6973 2e3c 2f50 w.to.do.this.

..

If.you.ar + 0x0500: 6520 7468 6520 6164 6d69 6e69 7374 7261 e.the.administra + 0x0510: 746f 7220 6f66 2074 6869 7320 6d61 6368 tor.of.this.mach + 0x0520: 696e 653c 2f48 323e 0a0a 3c50 3e54 6865 ine

..

The + 0x0530: 2069 6e69 7469 616c 2069 6e73 7461 6c6c .initial.install + 0x0540: 6174 696f 6e20 6f66 203c 4120 6872 6566 ation.of.Debian + 0x0570: 2773 0a61 7061 6368 653c 2f41 3e20 7765 's.apache.we + 0x0580: 6220 7365 7276 6572 2070 6163 6b61 6765 b.server.package + 0x0590: 2077 6173 2073 7563 6365 7373 6675 6c2e .was.successful. + 0x05a0: 3c2f 503e 0a0a 3c50 3e3c 5354 524f 4e47

..

You.should.repl + 0x05c0: 6163 6520 7468 6973 2070 6167 6520 7769 ace.this.page.wi + 0x05d0: 7468 2079 6f75 7220 6f77 6e20 7765 6220 th.your.own.web. + 0x05e0: 7061 6765 7320 6173 0a73 6f6f 6e20 6173 pages.as.soon.as + 0x05f0: 2070 6f73 7369 626c 652e 3c2f 5354 524f .possible.

..

Unle + 0x0610: 7373 2079 6f75 2063 6861 6e67 6564 2069 ss.you.changed.i + 0x0620: 7473 2063 6f6e 6669 6775 7261 7469 6f6e ts.configuration + 0x0630: 2c20 796f 7572 206e 6577 2073 6572 7665 ,.your.new.serve + 0x0640: 7220 6973 2063 6f6e 6669 6775 7265 6420 r.is.configured. + 0x0650: 6173 2066 6f6c 6c6f 7773 3a0a 3c55 4c3e as.follows:.

    + 0x0660: 0a3c 4c49 3e0a 436f 6e66 6967 7572 6174 .
  • .Configurat + 0x0670: 696f 6e20 6669 6c65 7320 6361 6e20 6265 ion.files.can.be + 0x0680: 2066 6f75 6e64 2069 6e20 3c54 543e 2f65 .found.in./e + 0x0690: 7463 2f61 7061 6368 653c 2f54 543e 2e3c tc/apache.< + 0x06a0: 2f4c 493e 0a0a 3c4c 493e 0a54 6865 203c /LI>..
  • .The.< + 0x06b0: 5454 3e44 6f63 756d 656e 7452 6f6f 743c TT>DocumentRoot< + 0x06c0: 2f54 543e 2c20 7768 6963 6820 6973 2074 /TT>,.which.is.t + 0x06d0: 6865 2064 6972 6563 746f 7279 2075 6e64 he.directory.und + 0x06e0: 6572 2077 6869 6368 2061 6c6c 2079 6f75 er.which.all.you + 0x06f0: 720a 4854 4d4c 2066 696c 6573 2073 686f r.HTML.files.sho + 0x0700: 756c 6420 6578 6973 742c 2069 7320 7365 uld.exist,.is.se + 0x0710: 7420 746f 203c 5454 3e2f 7661 722f 7777 t.to./var/ww + 0x0720: 773c 2f54 543e 2e3c 2f4c 493e 0a0a 3c4c w.
  • ...CGI.scripts.a + 0x0740: 7265 206c 6f6f 6b65 6420 666f 7220 696e re.looked.for.in + 0x0750: 203c 5454 3e2f 7573 722f 6c69 622f 6367 ./usr/lib/cg + 0x0760: 692d 6269 6e3c 2f54 543e 2c20 7768 6963 i-bin,.whic + 0x0770: 6820 6973 2077 6865 7265 0a44 6562 6961 h.is.where.Debia + 0x0780: 6e20 7061 636b 6167 6573 2077 696c 6c20 n.packages.will. + 0x0790: 706c 6163 6520 7468 6569 7220 7363 7269 place.their.scri + 0x07a0: 7074 732e 3c2f 4c49 3e0a 0a3c 4c49 3e0a pts...
  • . + 0x07b0: 4c6f 6720 6669 6c65 7320 6172 6520 706c Log.files.are.pl + 0x07c0: 6163 6564 2069 6e20 3c54 543e 2f76 6172 aced.in./var + 0x07d0: 2f6c 6f67 2f61 7061 6368 653c 2f54 543e /log/apache + 0x07e0: 2c20 616e 6420 7769 6c6c 2062 6520 726f ,.and.will.be.ro + 0x07f0: 7461 7465 640a 7765 656b 6c79 2e20 2054 tated.weekly...T + 0x0800: 6865 2066 7265 7175 656e 6379 206f 6620 he.frequency.of. + 0x0810: 726f 7461 7469 6f6e 2063 616e 2062 6520 rotation.can.be. + 0x0820: 6561 7369 6c79 2063 6861 6e67 6564 2062 easily.changed.b + 0x0830: 7920 6564 6974 696e 670a 3c54 543e 2f65 y.editing./e + 0x0840: 7463 2f6c 6f67 726f 7461 7465 2e64 2f61 tc/logrotate.d/a + 0x0850: 7061 6368 653c 2f54 543e 2e3c 2f4c 493e pache.
  • + 0x0860: 0a0a 3c4c 493e 0a54 6865 2064 6566 6175 ..
  • .The.defau + 0x0870: 6c74 2064 6972 6563 746f 7279 2069 6e64 lt.directory.ind + 0x0880: 6578 2069 7320 3c54 543e 696e 6465 782e ex.is.index. + 0x0890: 6874 6d6c 3c2f 5454 3e2c 206d 6561 6e69 html,.meani + 0x08a0: 6e67 2074 6861 7420 7265 7175 6573 7473 ng.that.requests + 0x08b0: 0a66 6f72 2061 2064 6972 6563 746f 7279 .for.a.directory + 0x08c0: 203c 5454 3e2f 666f 6f2f 6261 722f 3c2f ./foo/bar/.will.give.th + 0x08e0: 6520 636f 6e74 656e 7473 206f 6620 7468 e.contents.of.th + 0x08f0: 6520 6669 6c65 203c 5454 3e2f 7661 722f e.file./var/ + 0x0900: 7777 772f 666f 6f2f 6261 722f 696e 6465 www/foo/bar/inde + 0x0910: 782e 6874 6d6c 3c2f 5454 3e0a 6966 2069 x.html.if.i + 0x0920: 7420 6578 6973 7473 2028 6173 7375 6d69 t.exists.(assumi + 0x0930: 6e67 2074 6861 7420 3c54 543e 2f76 6172 ng.that./var + 0x0940: 2f77 7777 3c2f 5454 3e20 6973 2079 6f75 /www.is.you + 0x0950: 7220 3c54 543e 446f 6375 6d65 6e74 526f r.DocumentRo + 0x0960: 6f74 3c2f 5454 3e29 2e3c 2f4c 493e 0a0a ot).
  • .. + 0x0970: 3c4c 493e 0a55 7365 7220 6469 7265 6374
  • .User.direct + 0x0980: 6f72 6965 7320 6172 6520 656e 6162 6c65 ories.are.enable + 0x0990: 642c 2061 6e64 2075 7365 7220 646f 6375 d,.and.user.docu + 0x09a0: 6d65 6e74 7320 7769 6c6c 2062 6520 6c6f ments.will.be.lo + 0x09b0: 6f6b 6564 2066 6f72 0a69 6e20 7468 6520 oked.for.in.the. + 0x09c0: 3c54 543e 7075 626c 6963 5f68 746d 6c3c public_html< + 0x09d0: 2f54 543e 2064 6972 6563 746f 7279 206f /TT>.directory.o + 0x09e0: 6620 7468 6520 7573 6572 7327 2068 6f6d f.the.users'.hom + 0x09f0: 6573 2e20 2054 6865 7365 2064 6972 730a es...These.dirs. + 0x0a00: 7368 6f75 6c64 2062 6520 756e 6465 7220 should.be.under. + 0x0a10: 3c54 543e 2f68 6f6d 653c 2f54 543e 2c20 /home,. + 0x0a20: 616e 6420 7573 6572 7320 7769 6c6c 206e and.users.will.n + 0x0a30: 6f74 2062 6520 6162 6c65 2074 6f20 7379 ot.be.able.to.sy + 0x0a40: 6d6c 696e 6b0a 746f 2066 696c 6573 2074 mlink.to.files.t + 0x0a50: 6865 7920 646f 6e27 7420 6f77 6e2e 3c2f hey.don't.own...
.All.t + 0x0a70: 6865 2073 7461 6e64 6172 6420 6170 6163 he.standard.apac + 0x0a80: 6865 206d 6f64 756c 6573 2061 7265 2061 he.modules.are.a + 0x0a90: 7661 696c 6162 6c65 2077 6974 6820 7468 vailable.with.th + 0x0aa0: 6973 2072 656c 6561 7365 2061 6e64 2061 is.release.and.a + 0x0ab0: 7265 0a6e 6f77 206d 616e 6167 6564 2077 re.now.managed.w + 0x0ac0: 6974 6820 6465 6263 6f6e 662e 2020 5479 ith.debconf...Ty + 0x0ad0: 7065 203c 5454 3e64 706b 672d 7265 636f pe.dpkg-reco + 0x0ae0: 6e66 6967 7572 6520 6170 6163 6865 3c2f nfigure.apache.to.select.wh + 0x0b00: 6963 6820 6d6f 6475 6c65 7320 796f 7520 ich.modules.you. + 0x0b10: 7761 6e74 2065 6e61 626c 6564 2e20 204d want.enabled...M + 0x0b20: 616e 7920 6f74 6865 7220 6d6f 6475 6c65 any.other.module + 0x0b30: 7320 6172 6520 6176 6169 6c61 626c 650a s.are.available. + 0x0b40: 7468 726f 7567 6820 7468 6520 4465 6269 through.the.Debi + 0x0b50: 616e 2070 6163 6b61 6765 2073 7973 7465 an.package.syste + 0x0b60: 6d20 7769 7468 2074 6865 206e 616d 6573 m.with.the.names + 0x0b70: 203c 5454 3e6c 6962 6170 6163 6865 2d6d .libapache-m + 0x0b80: 6f64 2d2a 3c2f 5454 3e2e 0a49 6620 796f od-*..If.yo + 0x0b90: 7520 6e65 6564 2074 6f20 636f 6d70 696c u.need.to.compil + 0x0ba0: 6520 6120 6d6f 6475 6c65 2079 6f75 7273 e.a.module.yours + 0x0bb0: 656c 662c 2079 6f75 2077 696c 6c20 6e65 elf,.you.will.ne + 0x0bc0: 6564 2074 6f20 696e 7374 616c 6c20 7468 ed.to.install.th + 0x0bd0: 650a 3c54 543e 6170 6163 6865 2d64 6576 e.apache-dev + 0x0be0: 3c2f 5454 3e20 7061 636b 6167 652e 0a0a .package... + 0x0bf0: 3c50 3e4d 6f72 6520 646f 6375 6d65 6e74

More.document + 0x0c00: 6174 696f 6e20 6f6e 2041 7061 6368 6520 ation.on.Apache. + 0x0c10: 6361 6e20 6265 2066 6f75 6e64 206f 6e3a can.be.found.on: + 0x0c20: 0a3c 554c 3e0a 3c4c 493e 0a54 6865 203c .

    .
  • .The.< + 0x0c30: 4120 4852 4546 3d22 2f64 6f63 2f61 7061 A.HREF="/doc/apa + 0x0c40: 6368 652d 646f 632f 6d61 6e75 616c 2f22 che-doc/manual/" + 0x0c50: 3e41 7061 6368 6520 646f 6375 6d65 6e74 >Apache.document + 0x0c60: 6174 696f 6e3c 2f41 3e20 7374 6f72 6564 ation.stored + 0x0c70: 206f 6e20 796f 7572 2073 6572 7665 722e .on.your.server. + 0x0c80: 3c2f 4c49 3e0a 0a3c 4c49 3e0a 5468 6520
  • ..
  • .The. + 0x0c90: 3c41 2048 5245 463d 2268 7474 703a 2f2f Apache.Project< + 0x0cc0: 2f41 3e20 686f 6d65 2073 6974 652e 3c2f /A>.home.site...
  • .The.Apache-SSL.home.site.
  • ..
  • .The.mo + 0x0d50: 6420 7065 726c 3c2f 413e 2068 6f6d 6520 d.perl.home. + 0x0d60: 7369 7465 2e3c 2f4c 493e 0a0a 3c4c 493e site.
  • ..
  • + 0x0d70: 0a54 6865 203c 4120 4852 4546 3d22 6874 .The.Apache + 0x0da0: 5765 656b 3c2f 413e 206e 6577 736c 6574 Week.newslet + 0x0db0: 7465 722e 3c2f 4c49 3e0a 0a3c 4c49 3e0a ter.
  • ..
  • . + 0x0dc0: 5468 6520 3c41 2048 5245 463d 2268 7474 The.Debian. + 0x0df0: 5072 6f6a 6563 740a 446f 6375 6d65 6e74 Project.Document + 0x0e00: 6174 696f 6e3c 2f41 3e20 7768 6963 6820 ation.which. + 0x0e10: 636f 6e74 6169 6e73 2048 4f57 544f 732c contains.HOWTOs, + 0x0e20: 2046 4151 732c 2061 6e64 2073 6f66 7477 .FAQs,.and.softw + 0x0e30: 6172 6520 7570 6461 7465 732e 3c2f 4c49 are.updates.
  • .
..

You. + 0x0e50: 6361 6e20 616c 736f 2063 6f6e 7375 6c74 can.also.consult + 0x0e60: 2074 6865 206c 6973 7420 6f66 203c 4120 .the.list.of.World.Wide.We + 0x0ea0: 6220 4672 6571 7565 6e74 6c79 2041 736b b.Frequently.Ask + 0x0eb0: 6564 2051 7565 7374 696f 6e73 3c2f 413e ed.Questions + 0x0ec0: 2066 6f72 2069 6e66 6f72 6d61 7469 6f6e .for.information + 0x0ed0: 2e0a 0a3c 4832 3e4c 6574 206f 7468 6572 ...

Let.other + 0x0ee0: 2070 656f 706c 6520 6b6e 6f77 2061 626f .people.know.abo + 0x0ef0: 7574 2074 6869 7320 7365 7276 6572 3c2f ut.this.server..Netcraft + 0x0f30: 2070 726f 7669 6465 7320 616e 2069 6e74 .provides.an.int + 0x0f40: 6572 6573 7469 6e67 2066 7265 650a 7365 eresting.free.se + 0x0f50: 7276 6963 6520 666f 7220 7765 6220 7369 rvice.for.web.si + 0x0f60: 7465 206d 6f6e 6974 6f72 696e 6720 616e te.monitoring.an + 0x0f70: 6420 7374 6174 6973 7469 6320 636f 6c6c d.statistic.coll + 0x0f80: 6563 7469 6f6e 2e0a 596f 7520 6361 6e20 ection..You.can. + 0x0f90: 6c65 7420 7468 656d 206b 6e6f 7720 6162 let.them.know.ab + 0x0fa0: 6f75 7420 796f 7572 2073 6572 7665 7220 out.your.server. + 0x0fb0: 7573 696e 6720 7468 6569 720a 3c41 2048 using.their.interface. + 0x0ff0: 0a45 6e61 626c 696e 6720 7468 6520 6d6f .Enabling.the.mo + 0x1000: 6e69 746f 7269 6e67 206f 6620 796f 7572 nitoring.of.your + 0x1010: 2073 6572 7665 7220 7769 6c6c 2070 726f .server.will.pro + 0x1020: 7669 6465 2061 2062 6574 7465 7220 676c vide.a.better.gl + 0x1030: 6f62 616c 206f 7665 7276 6965 770a 6f66 obal.overview.of + 0x1040: 2077 686f 2069 7320 7573 696e 6720 7768 .who.is.using.wh + 0x1050: 6174 2061 6e64 2077 6865 7265 2c20 616e at.and.where,.an + 0x1060: 6420 6974 2077 6f75 6c64 2067 6976 6520 d.it.would.give. + 0x1070: 4465 6269 616e 2061 2062 6574 7465 720a Debian.a.better. + 0x1080: 6f76 6572 7669 6577 206f 6620 7468 6520 overview.of.the. + 0x1090: 6170 6163 6865 2070 6163 6b61 6765 2075 apache.package.u + 0x10a0: 7361 6765 2e0a 0a3c 4832 3e41 626f 7574 sage...

About + 0x10b0: 2074 6869 7320 7061 6765 3c2f 4832 3e0a .this.page

. + 0x10c0: 0a3c 494d 4720 414c 4947 4e3d 2272 6967 ...

+ 0x1110: 5468 6973 2069 7320 6120 706c 6163 6568 This.is.a.placeh + 0x1120: 6f6c 6465 7220 7061 6765 2069 6e73 7461 older.page.insta + 0x1130: 6c6c 6564 2062 7920 7468 6520 3c41 0a48 lled.by.the.Deb + 0x1160: 6961 6e3c 2f41 3e0a 7265 6c65 6173 6520 ian.release. + 0x1170: 6f66 2074 6865 2061 7061 6368 6520 5765 of.the.apache.We + 0x1180: 6220 7365 7276 6572 2070 6163 6b61 6765 b.server.package + 0x1190: 2e0a 0a3c 503e 5468 6973 2063 6f6d 7075 ...

This.compu + 0x11a0: 7465 7220 6861 7320 696e 7374 616c 6c65 ter.has.installe + 0x11b0: 6420 7468 6520 4465 6269 616e 2047 4e55 d.the.Debian.GNU + 0x11c0: 2f4c 696e 7578 206f 7065 7261 7469 6e67 /Linux.operating + 0x11d0: 2073 7973 7465 6d2c 0a62 7574 2069 7420 .system,.but.it. + 0x11e0: 6861 7320 3c73 7472 6f6e 673e 6e6f 7468 has.noth + 0x11f0: 696e 6720 746f 2064 6f20 7769 7468 2074 ing.to.do.with.t + 0x1200: 6865 2044 6562 6961 6e0a 5072 6f6a 6563 he.Debian.Projec + 0x1210: 743c 2f73 7472 6f6e 673e 2e20 506c 6561 t..Plea + 0x1220: 7365 2064 6f20 3c73 7472 6f6e 673e 6e6f se.do.no + 0x1230: 743c 2f73 7472 6f6e 673e 2063 6f6e 7461 t.conta + 0x1240: 6374 2074 6865 2044 6562 6961 6e0a 5072 ct.the.Debian.Pr + 0x1250: 6f6a 6563 7420 6162 6f75 7420 6974 2e3c oject.about.it.< + 0x1260: 2f50 3e0a 0a3c 503e 4966 2079 6f75 2066 /P>..

If.you.f + 0x1270: 696e 6420 6120 6275 6720 696e 2074 6869 ind.a.bug.in.thi + 0x1280: 7320 6170 6163 6865 2070 6163 6b61 6765 s.apache.package + 0x1290: 2c20 6f72 2069 6e20 4170 6163 6865 2069 ,.or.in.Apache.i + 0x12a0: 7473 656c 662c 0a70 6c65 6173 6520 6669 tself,.please.fi + 0x12b0: 6c65 2061 2062 7567 2072 6570 6f72 7420 le.a.bug.report. + 0x12c0: 6f6e 2069 742e 2020 496e 7374 7275 6374 on.it...Instruct + 0x12d0: 696f 6e73 206f 6e20 646f 696e 6720 7468 ions.on.doing.th + 0x12e0: 6973 2c20 616e 6420 7468 650a 6c69 7374 is,.and.the.list + 0x12f0: 206f 6620 3c41 2048 5245 463d 2268 7474 .of. + 0x1320: 6b6e 6f77 6e20 6275 6773 3c2f 413e 206f known.bugs.o + 0x1330: 6620 7468 6973 0a70 6163 6b61 6765 2c20 f.this.package,. + 0x1340: 6361 6e20 6265 2066 6f75 6e64 2069 6e20 can.be.found.in. + 0x1350: 7468 6520 0a3c 4120 4852 4546 3d22 6874 the..Debian.Bug.T + 0x1390: 7261 636b 696e 6720 5379 7374 656d 3c2f racking.System...

Thanks.f + 0x13b0: 6f72 2075 7369 6e67 2074 6869 7320 7061 or.using.this.pa + 0x13c0: 636b 6167 652c 2061 6e64 2063 6f6e 6772 ckage,.and.congr + 0x13d0: 6174 756c 6174 696f 6e73 2066 6f72 2079 atulations.for.y + 0x13e0: 6f75 7220 6368 6f69 6365 206f 660a 6120 our.choice.of.a. + 0x13f0: 4465 6269 616e 2073 7973 7465 6d21 3c2f Debian.system!...........< + 0x1520: 212d 2d0a 2020 5468 6973 2070 6167 6520 !--...This.page. + 0x1530: 7761 7320 696e 6974 6961 6c6c 7920 6372 was.initially.cr + 0x1540: 6561 7465 6420 6279 204a 6f68 6e69 6520 eated.by.Johnie. + 0x1550: 496e 6772 616d 2028 6874 7470 3a2f 2f6e Ingram.(http://n + 0x1560: 6574 676f 642e 6e65 742f 290a 2020 4974 etgod.net/)...It + 0x1570: 2077 6173 206c 6174 6572 2065 6469 7465 .was.later.edite + 0x1580: 6420 6279 204d 6174 7468 6577 2057 696c d.by.Matthew.Wil + 0x1590: 636f 7820 616e 6420 4a6f 7369 7020 526f cox.and.Josip.Ro + 0x15a0: 6469 6e2e 0a20 204c 6173 7420 6d6f 6469 din....Last.modi + 0x15b0: 6669 6564 3a20 2444 6174 653a 2032 3030 fied:.$Date:.200 + 0x15c0: 342f 3036 2f32 3020 3135 3a33 333a 3537 4/06/20.15:33:57 + 0x15d0: 2024 2e0a 2020 2d2d 3e0a 0a3c 2f42 4f44 .$....-->.... +23:57:35.941260 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5560 win 12383 + 0x0000: 4500 0034 1b6e 4000 4006 2154 7f00 0001 E..4.n@.@.!T.... + 0x0010: 7f00 0001 da70 0050 3758 8a49 377a a3a9 .....p.P7X.I7z.. + 0x0020: 8010 305f 10ea 0000 0101 080a 4ddc 9219 ..0_........M... + 0x0030: 4ddc 9219 M... +23:57:37.229575 IP 127.0.0.1.55920 > 127.0.0.1.80: F 203:203(0) ack 5560 win 12383 + 0x0000: 4500 0034 1b70 4000 4006 2152 7f00 0001 E..4.p@.@.!R.... + 0x0010: 7f00 0001 da70 0050 3758 8a49 377a a3a9 .....p.P7X.I7z.. + 0x0020: 8011 305f 0be1 0000 0101 080a 4ddc 9721 ..0_........M..! + 0x0030: 4ddc 9219 M... +23:57:37.230839 IP 127.0.0.1.80 > 127.0.0.1.55920: F 5560:5560(0) ack 204 win 8192 + 0x0000: 4500 0034 1fe8 4000 4006 1cda 7f00 0001 E..4..@.@....... + 0x0010: 7f00 0001 0050 da70 377a a3a9 3758 8a4a .....P.p7z..7X.J + 0x0020: 8011 2000 1735 0000 0101 080a 4ddc 9723 .....5......M..# + 0x0030: 4ddc 9721 M..! +23:57:37.230900 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5561 win 12383 + 0x0000: 4500 0034 1b72 4000 4006 2150 7f00 0001 E..4.r@.@.!P.... + 0x0010: 7f00 0001 da70 0050 3758 8a4a 377a a3aa .....p.P7X.J7z.. + 0x0020: 8010 305f 06d4 0000 0101 080a 4ddc 9723 ..0_........M..# + 0x0030: 4ddc 9723 M..# diff --git a/contrib/tcpdump/tests/print-XX.out b/contrib/tcpdump/tests/print-XX.out new file mode 100644 index 0000000..6921a01 --- /dev/null +++ b/contrib/tcpdump/tests/print-XX.out @@ -0,0 +1,419 @@ +23:57:35.938066 IP 127.0.0.1.55920 > 127.0.0.1.80: S 928549246:928549246(0) win 32767 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 003c 1b68 4000 4006 2152 7f00 0001 7f00 .<.h@.@.!R...... + 0x0020: 0001 da70 0050 3758 897e 0000 0000 a002 ...p.P7X.~...... + 0x0030: 7fff 1421 0000 0204 400c 0402 080a 4ddc ...!....@.....M. + 0x0040: 9216 0000 0000 0103 0302 .......... +23:57:35.938122 IP 127.0.0.1.80 > 127.0.0.1.55920: S 930778609:930778609(0) ack 928549247 win 32767 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 003c 0000 4000 4006 3cba 7f00 0001 7f00 .<..@.@.<....... + 0x0020: 0001 0050 da70 377a 8df1 3758 897f a012 ...P.p7z..7X.... + 0x0030: 7fff 6eb1 0000 0204 400c 0402 080a 4ddc ..n.....@.....M. + 0x0040: 9216 4ddc 9216 0103 0302 ..M....... +23:57:35.938167 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 1 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1b6a 4000 4006 2158 7f00 0001 7f00 .4.j@.@.!X...... + 0x0020: 0001 da70 0050 3758 897f 377a 8df2 8010 ...p.P7X..7z.... + 0x0030: 2000 37d0 0000 0101 080a 4ddc 9216 4ddc ..7.......M...M. + 0x0040: 9216 .. +23:57:35.939423 IP 127.0.0.1.55920 > 127.0.0.1.80: P 1:203(202) ack 1 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 00fe 1b6c 4000 4006 208c 7f00 0001 7f00 ...l@.@......... + 0x0020: 0001 da70 0050 3758 897f 377a 8df2 8018 ...p.P7X..7z.... + 0x0030: 2000 fef2 0000 0101 080a 4ddc 9217 4ddc ..........M...M. + 0x0040: 9216 4745 5420 2f20 4854 5450 2f31 2e31 ..GET./.HTTP/1.1 + 0x0050: 0d0a 486f 7374 3a20 6c6f 6361 6c68 6f73 ..Host:.localhos + 0x0060: 740d 0a55 7365 722d 4167 656e 743a 2045 t..User-Agent:.E + 0x0070: 4c69 6e6b 732f 302e 3130 2e34 2d37 2d64 Links/0.10.4-7-d + 0x0080: 6562 6961 6e20 2874 6578 746d 6f64 653b ebian.(textmode; + 0x0090: 204c 696e 7578 2032 2e36 2e31 312d 312d .Linux.2.6.11-1- + 0x00a0: 3638 362d 736d 7020 6936 3836 3b20 3133 686-smp.i686;.13 + 0x00b0: 3278 3536 2d32 290d 0a41 6363 6570 743a 2x56-2)..Accept: + 0x00c0: 202a 2f2a 0d0a 4163 6365 7074 2d45 6e63 .*/*..Accept-Enc + 0x00d0: 6f64 696e 673a 2067 7a69 700d 0a41 6363 oding:.gzip..Acc + 0x00e0: 6570 742d 4c61 6e67 7561 6765 3a20 656e ept-Language:.en + 0x00f0: 0d0a 436f 6e6e 6563 7469 6f6e 3a20 4b65 ..Connection:.Ke + 0x0100: 6570 2d41 6c69 7665 0d0a 0d0a ep-Alive.... +23:57:35.940474 IP 127.0.0.1.80 > 127.0.0.1.55920: . ack 203 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1fe4 4000 4006 1cde 7f00 0001 7f00 .4..@.@......... + 0x0020: 0001 0050 da70 377a 8df2 3758 8a49 8010 ...P.p7z..7X.I.. + 0x0030: 2000 3703 0000 0101 080a 4ddc 9218 4ddc ..7.......M...M. + 0x0040: 9217 .. +23:57:35.941232 IP 127.0.0.1.80 > 127.0.0.1.55920: P 1:5560(5559) ack 203 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 15eb 1fe6 4000 4006 0725 7f00 0001 7f00 ....@.@..%...... + 0x0020: 0001 0050 da70 377a 8df2 3758 8a49 8018 ...P.p7z..7X.I.. + 0x0030: 2000 13e0 0000 0101 080a 4ddc 9219 4ddc ..........M...M. + 0x0040: 9217 4854 5450 2f31 2e31 2032 3030 204f ..HTTP/1.1.200.O + 0x0050: 4b0d 0a44 6174 653a 2057 6564 2c20 3036 K..Date:.Wed,.06 + 0x0060: 204a 756c 2032 3030 3520 3033 3a35 373a .Jul.2005.03:57: + 0x0070: 3335 2047 4d54 0d0a 5365 7276 6572 3a20 35.GMT..Server:. + 0x0080: 4170 6163 6865 2f31 2e33 2e33 330d 0a4c Apache/1.3.33..L + 0x0090: 6173 742d 4d6f 6469 6669 6564 3a20 5375 ast-Modified:.Su + 0x00a0: 6e2c 2031 3520 4175 6720 3230 3034 2030 n,.15.Aug.2004.0 + 0x00b0: 303a 3433 3a34 3120 474d 540d 0a45 5461 0:43:41.GMT..ETa + 0x00c0: 673a 2022 3665 3830 6630 2d31 3438 612d g:."6e80f0-148a- + 0x00d0: 3431 3165 6231 6264 220d 0a41 6363 6570 411eb1bd"..Accep + 0x00e0: 742d 5261 6e67 6573 3a20 6279 7465 730d t-Ranges:.bytes. + 0x00f0: 0a43 6f6e 7465 6e74 2d4c 656e 6774 683a .Content-Length: + 0x0100: 2035 3235 380d 0a4b 6565 702d 416c 6976 .5258..Keep-Aliv + 0x0110: 653a 2074 696d 656f 7574 3d31 352c 206d e:.timeout=15,.m + 0x0120: 6178 3d31 3030 0d0a 436f 6e6e 6563 7469 ax=100..Connecti + 0x0130: 6f6e 3a20 4b65 6570 2d41 6c69 7665 0d0a on:.Keep-Alive.. + 0x0140: 436f 6e74 656e 742d 5479 7065 3a20 7465 Content-Type:.te + 0x0150: 7874 2f68 746d 6c3b 2063 6861 7273 6574 xt/html;.charset + 0x0160: 3d69 736f 2d38 3835 392d 310d 0a0d 0a3c =iso-8859-1....< + 0x0170: 2144 4f43 5459 5045 2048 544d 4c20 5055 !DOCTYPE.HTML.PU + 0x0180: 424c 4943 2022 2d2f 2f57 3343 2f2f 4454 BLIC."-//W3C//DT + 0x0190: 4420 4854 4d4c 2034 2e30 3120 5472 616e D.HTML.4.01.Tran + 0x01a0: 7369 7469 6f6e 616c 2f2f 454e 223e 0a3c sitional//EN">.< + 0x01b0: 4854 4d4c 3e0a 3c48 4541 443e 0a20 2020 HTML>..... + 0x01c0: 3c4d 4554 4120 4854 5450 2d45 5155 4956 ........Placeholder + 0x0270: 2070 6167 653c 2f54 4954 4c45 3e0a 3c2f .page....Placeholder.pa + 0x02f0: 6765 3c2f 4831 3e0a 3c48 323e 4966 2079 ge

.

If.y + 0x0300: 6f75 2061 7265 206a 7573 7420 6272 6f77 ou.are.just.brow + 0x0310: 7369 6e67 2074 6865 2077 6562 3c2f 6832 sing.the.web

..

The.owner. + 0x0330: 6f66 2074 6869 7320 7765 6220 7369 7465 of.this.web.site + 0x0340: 2068 6173 206e 6f74 2070 7574 2075 7020 .has.not.put.up. + 0x0350: 616e 7920 7765 6220 7061 6765 7320 7965 any.web.pages.ye + 0x0360: 742e 0a50 6c65 6173 6520 636f 6d65 2062 t..Please.come.b + 0x0370: 6163 6b20 6c61 7465 722e 3c2f 503e 0a0a ack.later.

.. + 0x0380: 3c50 3e3c 534d 414c 4c3e 3c43 4954 453e

+ 0x0390: 4d6f 7665 2061 6c6f 6e67 2c20 6e6f 7468 Move.along,.noth + 0x03a0: 696e 6720 746f 2073 6565 2068 6572 652e ing.to.see.here. + 0x03b0: 2e2e 3c2f 4349 5445 3e20 3a2d 293c 2f53 ...:-)

..

I + 0x03d0: 6620 796f 7520 6172 6520 7472 7969 6e67 f.you.are.trying + 0x03e0: 2074 6f20 6c6f 6361 7465 2074 6865 2061 .to.locate.the.a + 0x03f0: 646d 696e 6973 7472 6174 6f72 206f 6620 dministrator.of. + 0x0400: 7468 6973 206d 6163 6869 6e65 3c2f 4832 this.machine

..

If.you.wan + 0x0420: 7420 746f 2072 6570 6f72 7420 736f 6d65 t.to.report.some + 0x0430: 7468 696e 6720 6162 6f75 7420 7468 6973 thing.about.this + 0x0440: 2068 6f73 7427 7320 6265 6861 7669 6f72 .host's.behavior + 0x0450: 2c20 706c 6561 7365 0a63 6f6e 7461 6374 ,.please.contact + 0x0460: 2074 6865 2049 6e74 6572 6e65 7420 5365 .the.Internet.Se + 0x0470: 7276 6963 6520 5072 6f76 6964 6572 2028 rvice.Provider.( + 0x0480: 4953 5029 2069 6e76 6f6c 7665 6420 6469 ISP).involved.di + 0x0490: 7265 6374 6c79 2e3c 2f50 3e0a 0a3c 503e rectly.

..

+ 0x04a0: 5365 6520 7468 6520 3c41 2068 7265 663d See.the.Network. + 0x04d0: 4162 7573 650a 436c 6561 7269 6e67 686f Abuse.Clearingho + 0x04e0: 7573 653c 2f41 3e20 666f 7220 686f 7720 use.for.how. + 0x04f0: 746f 2064 6f20 7468 6973 2e3c 2f50 3e0a to.do.this.

. + 0x0500: 0a3c 4832 3e49 6620 796f 7520 6172 6520 .

If.you.are. + 0x0510: 7468 6520 6164 6d69 6e69 7374 7261 746f the.administrato + 0x0520: 7220 6f66 2074 6869 7320 6d61 6368 696e r.of.this.machin + 0x0530: 653c 2f48 323e 0a0a 3c50 3e54 6865 2069 e

..

The.i + 0x0540: 6e69 7469 616c 2069 6e73 7461 6c6c 6174 nitial.installat + 0x0550: 696f 6e20 6f66 203c 4120 6872 6566 3d22 ion.of.Debian's + 0x0580: 0a61 7061 6368 653c 2f41 3e20 7765 6220 .apache.web. + 0x0590: 7365 7276 6572 2070 6163 6b61 6765 2077 server.package.w + 0x05a0: 6173 2073 7563 6365 7373 6675 6c2e 3c2f as.successful...

Y + 0x05c0: 6f75 2073 686f 756c 6420 7265 706c 6163 ou.should.replac + 0x05d0: 6520 7468 6973 2070 6167 6520 7769 7468 e.this.page.with + 0x05e0: 2079 6f75 7220 6f77 6e20 7765 6220 7061 .your.own.web.pa + 0x05f0: 6765 7320 6173 0a73 6f6f 6e20 6173 2070 ges.as.soon.as.p + 0x0600: 6f73 7369 626c 652e 3c2f 5354 524f 4e47 ossible.

..

Unless + 0x0620: 2079 6f75 2063 6861 6e67 6564 2069 7473 .you.changed.its + 0x0630: 2063 6f6e 6669 6775 7261 7469 6f6e 2c20 .configuration,. + 0x0640: 796f 7572 206e 6577 2073 6572 7665 7220 your.new.server. + 0x0650: 6973 2063 6f6e 6669 6775 7265 6420 6173 is.configured.as + 0x0660: 2066 6f6c 6c6f 7773 3a0a 3c55 4c3e 0a3c .follows:.

    .< + 0x0670: 4c49 3e0a 436f 6e66 6967 7572 6174 696f LI>.Configuratio + 0x0680: 6e20 6669 6c65 7320 6361 6e20 6265 2066 n.files.can.be.f + 0x0690: 6f75 6e64 2069 6e20 3c54 543e 2f65 7463 ound.in./etc + 0x06a0: 2f61 7061 6368 653c 2f54 543e 2e3c 2f4c /apache...
  • .The.DocumentRoot,.which.is.the + 0x06e0: 2064 6972 6563 746f 7279 2075 6e64 6572 .directory.under + 0x06f0: 2077 6869 6368 2061 6c6c 2079 6f75 720a .which.all.your. + 0x0700: 4854 4d4c 2066 696c 6573 2073 686f 756c HTML.files.shoul + 0x0710: 6420 6578 6973 742c 2069 7320 7365 7420 d.exist,.is.set. + 0x0720: 746f 203c 5454 3e2f 7661 722f 7777 773c to./var/www< + 0x0730: 2f54 543e 2e3c 2f4c 493e 0a0a 3c4c 493e /TT>.
  • ..
  • + 0x0740: 0a43 4749 2073 6372 6970 7473 2061 7265 .CGI.scripts.are + 0x0750: 206c 6f6f 6b65 6420 666f 7220 696e 203c .looked.for.in.< + 0x0760: 5454 3e2f 7573 722f 6c69 622f 6367 692d TT>/usr/lib/cgi- + 0x0770: 6269 6e3c 2f54 543e 2c20 7768 6963 6820 bin,.which. + 0x0780: 6973 2077 6865 7265 0a44 6562 6961 6e20 is.where.Debian. + 0x0790: 7061 636b 6167 6573 2077 696c 6c20 706c packages.will.pl + 0x07a0: 6163 6520 7468 6569 7220 7363 7269 7074 ace.their.script + 0x07b0: 732e 3c2f 4c49 3e0a 0a3c 4c49 3e0a 4c6f s.
  • ..
  • .Lo + 0x07c0: 6720 6669 6c65 7320 6172 6520 706c 6163 g.files.are.plac + 0x07d0: 6564 2069 6e20 3c54 543e 2f76 6172 2f6c ed.in./var/l + 0x07e0: 6f67 2f61 7061 6368 653c 2f54 543e 2c20 og/apache,. + 0x07f0: 616e 6420 7769 6c6c 2062 6520 726f 7461 and.will.be.rota + 0x0800: 7465 640a 7765 656b 6c79 2e20 2054 6865 ted.weekly...The + 0x0810: 2066 7265 7175 656e 6379 206f 6620 726f .frequency.of.ro + 0x0820: 7461 7469 6f6e 2063 616e 2062 6520 6561 tation.can.be.ea + 0x0830: 7369 6c79 2063 6861 6e67 6564 2062 7920 sily.changed.by. + 0x0840: 6564 6974 696e 670a 3c54 543e 2f65 7463 editing./etc + 0x0850: 2f6c 6f67 726f 7461 7465 2e64 2f61 7061 /logrotate.d/apa + 0x0860: 6368 653c 2f54 543e 2e3c 2f4c 493e 0a0a che.
  • .. + 0x0870: 3c4c 493e 0a54 6865 2064 6566 6175 6c74
  • .The.default + 0x0880: 2064 6972 6563 746f 7279 2069 6e64 6578 .directory.index + 0x0890: 2069 7320 3c54 543e 696e 6465 782e 6874 .is.index.ht + 0x08a0: 6d6c 3c2f 5454 3e2c 206d 6561 6e69 6e67 ml,.meaning + 0x08b0: 2074 6861 7420 7265 7175 6573 7473 0a66 .that.requests.f + 0x08c0: 6f72 2061 2064 6972 6563 746f 7279 203c or.a.directory.< + 0x08d0: 5454 3e2f 666f 6f2f 6261 722f 3c2f 5454 TT>/foo/bar/.will.give.the. + 0x08f0: 636f 6e74 656e 7473 206f 6620 7468 6520 contents.of.the. + 0x0900: 6669 6c65 203c 5454 3e2f 7661 722f 7777 file./var/ww + 0x0910: 772f 666f 6f2f 6261 722f 696e 6465 782e w/foo/bar/index. + 0x0920: 6874 6d6c 3c2f 5454 3e0a 6966 2069 7420 html.if.it. + 0x0930: 6578 6973 7473 2028 6173 7375 6d69 6e67 exists.(assuming + 0x0940: 2074 6861 7420 3c54 543e 2f76 6172 2f77 .that./var/w + 0x0950: 7777 3c2f 5454 3e20 6973 2079 6f75 7220 ww.is.your. + 0x0960: 3c54 543e 446f 6375 6d65 6e74 526f 6f74 DocumentRoot + 0x0970: 3c2f 5454 3e29 2e3c 2f4c 493e 0a0a 3c4c ).
  • ...User.director + 0x0990: 6965 7320 6172 6520 656e 6162 6c65 642c ies.are.enabled, + 0x09a0: 2061 6e64 2075 7365 7220 646f 6375 6d65 .and.user.docume + 0x09b0: 6e74 7320 7769 6c6c 2062 6520 6c6f 6f6b nts.will.be.look + 0x09c0: 6564 2066 6f72 0a69 6e20 7468 6520 3c54 ed.for.in.the.public_html.directory.of. + 0x09f0: 7468 6520 7573 6572 7327 2068 6f6d 6573 the.users'.homes + 0x0a00: 2e20 2054 6865 7365 2064 6972 730a 7368 ...These.dirs.sh + 0x0a10: 6f75 6c64 2062 6520 756e 6465 7220 3c54 ould.be.under./home
    ,.an + 0x0a30: 6420 7573 6572 7320 7769 6c6c 206e 6f74 d.users.will.not + 0x0a40: 2062 6520 6162 6c65 2074 6f20 7379 6d6c .be.able.to.syml + 0x0a50: 696e 6b0a 746f 2066 696c 6573 2074 6865 ink.to.files.the + 0x0a60: 7920 646f 6e27 7420 6f77 6e2e 3c2f 4c49 y.don't.own...
.All.the + 0x0a80: 2073 7461 6e64 6172 6420 6170 6163 6865 .standard.apache + 0x0a90: 206d 6f64 756c 6573 2061 7265 2061 7661 .modules.are.ava + 0x0aa0: 696c 6162 6c65 2077 6974 6820 7468 6973 ilable.with.this + 0x0ab0: 2072 656c 6561 7365 2061 6e64 2061 7265 .release.and.are + 0x0ac0: 0a6e 6f77 206d 616e 6167 6564 2077 6974 .now.managed.wit + 0x0ad0: 6820 6465 6263 6f6e 662e 2020 5479 7065 h.debconf...Type + 0x0ae0: 203c 5454 3e64 706b 672d 7265 636f 6e66 .dpkg-reconf + 0x0af0: 6967 7572 6520 6170 6163 6865 3c2f 5454 igure.apache.to.select.whic + 0x0b10: 6820 6d6f 6475 6c65 7320 796f 7520 7761 h.modules.you.wa + 0x0b20: 6e74 2065 6e61 626c 6564 2e20 204d 616e nt.enabled...Man + 0x0b30: 7920 6f74 6865 7220 6d6f 6475 6c65 7320 y.other.modules. + 0x0b40: 6172 6520 6176 6169 6c61 626c 650a 7468 are.available.th + 0x0b50: 726f 7567 6820 7468 6520 4465 6269 616e rough.the.Debian + 0x0b60: 2070 6163 6b61 6765 2073 7973 7465 6d20 .package.system. + 0x0b70: 7769 7468 2074 6865 206e 616d 6573 203c with.the.names.< + 0x0b80: 5454 3e6c 6962 6170 6163 6865 2d6d 6f64 TT>libapache-mod + 0x0b90: 2d2a 3c2f 5454 3e2e 0a49 6620 796f 7520 -*
..If.you. + 0x0ba0: 6e65 6564 2074 6f20 636f 6d70 696c 6520 need.to.compile. + 0x0bb0: 6120 6d6f 6475 6c65 2079 6f75 7273 656c a.module.yoursel + 0x0bc0: 662c 2079 6f75 2077 696c 6c20 6e65 6564 f,.you.will.need + 0x0bd0: 2074 6f20 696e 7374 616c 6c20 7468 650a .to.install.the. + 0x0be0: 3c54 543e 6170 6163 6865 2d64 6576 3c2f apache-dev.package...

More.documentat + 0x0c10: 696f 6e20 6f6e 2041 7061 6368 6520 6361 ion.on.Apache.ca + 0x0c20: 6e20 6265 2066 6f75 6e64 206f 6e3a 0a3c n.be.found.on:.< + 0x0c30: 554c 3e0a 3c4c 493e 0a54 6865 203c 4120 UL>.

  • .The.A + 0x0c60: 7061 6368 6520 646f 6375 6d65 6e74 6174 pache.documentat + 0x0c70: 696f 6e3c 2f41 3e20 7374 6f72 6564 206f ion.stored.o + 0x0c80: 6e20 796f 7572 2073 6572 7665 722e 3c2f n.your.server...
  • .The.A + 0x0cc0: 7061 6368 6520 5072 6f6a 6563 743c 2f41 pache.Project.home.site.
  • ..
  • .The.Apache-SSL. + 0x0d20: 686f 6d65 2073 6974 652e 3c2f 4c49 3e0a home.site.
  • . + 0x0d30: 0a3c 4c49 3e0a 5468 6520 3c41 2048 5245 .
  • .The.mod. + 0x0d60: 7065 726c 3c2f 413e 2068 6f6d 6520 7369 perl.home.si + 0x0d70: 7465 2e3c 2f4c 493e 0a0a 3c4c 493e 0a54 te.
  • ..
  • .T + 0x0d80: 6865 203c 4120 4852 4546 3d22 6874 7470 he.ApacheWe + 0x0db0: 656b 3c2f 413e 206e 6577 736c 6574 7465 ek.newslette + 0x0dc0: 722e 3c2f 4c49 3e0a 0a3c 4c49 3e0a 5468 r.
  • ..
  • .Th + 0x0dd0: 6520 3c41 2048 5245 463d 2268 7474 703a e.Debian.Pr + 0x0e00: 6f6a 6563 740a 446f 6375 6d65 6e74 6174 oject.Documentat + 0x0e10: 696f 6e3c 2f41 3e20 7768 6963 6820 636f ion.which.co + 0x0e20: 6e74 6169 6e73 2048 4f57 544f 732c 2046 ntains.HOWTOs,.F + 0x0e30: 4151 732c 2061 6e64 2073 6f66 7477 6172 AQs,.and.softwar + 0x0e40: 6520 7570 6461 7465 732e 3c2f 4c49 3e0a e.updates.
  • . + 0x0e50: 3c2f 554c 3e0a 0a3c 503e 596f 7520 6361 ..

    You.ca + 0x0e60: 6e20 616c 736f 2063 6f6e 7375 6c74 2074 n.also.consult.t + 0x0e70: 6865 206c 6973 7420 6f66 203c 4120 4852 he.list.of.World.Wide.Web. + 0x0eb0: 4672 6571 7565 6e74 6c79 2041 736b 6564 Frequently.Asked + 0x0ec0: 2051 7565 7374 696f 6e73 3c2f 413e 2066 .Questions.f + 0x0ed0: 6f72 2069 6e66 6f72 6d61 7469 6f6e 2e0a or.information.. + 0x0ee0: 0a3c 4832 3e4c 6574 206f 7468 6572 2070 .

    Let.other.p + 0x0ef0: 656f 706c 6520 6b6e 6f77 2061 626f 7574 eople.know.about + 0x0f00: 2074 6869 7320 7365 7276 6572 3c2f 4832 .this.server

    ..Netcraft.p + 0x0f40: 726f 7669 6465 7320 616e 2069 6e74 6572 rovides.an.inter + 0x0f50: 6573 7469 6e67 2066 7265 650a 7365 7276 esting.free.serv + 0x0f60: 6963 6520 666f 7220 7765 6220 7369 7465 ice.for.web.site + 0x0f70: 206d 6f6e 6974 6f72 696e 6720 616e 6420 .monitoring.and. + 0x0f80: 7374 6174 6973 7469 6320 636f 6c6c 6563 statistic.collec + 0x0f90: 7469 6f6e 2e0a 596f 7520 6361 6e20 6c65 tion..You.can.le + 0x0fa0: 7420 7468 656d 206b 6e6f 7720 6162 6f75 t.them.know.abou + 0x0fb0: 7420 796f 7572 2073 6572 7665 7220 7573 t.your.server.us + 0x0fc0: 696e 6720 7468 6569 720a 3c41 2048 5245 ing.their. + 0x0ff0: 696e 7465 7266 6163 653c 2f41 3e2e 0a45 interface..E + 0x1000: 6e61 626c 696e 6720 7468 6520 6d6f 6e69 nabling.the.moni + 0x1010: 746f 7269 6e67 206f 6620 796f 7572 2073 toring.of.your.s + 0x1020: 6572 7665 7220 7769 6c6c 2070 726f 7669 erver.will.provi + 0x1030: 6465 2061 2062 6574 7465 7220 676c 6f62 de.a.better.glob + 0x1040: 616c 206f 7665 7276 6965 770a 6f66 2077 al.overview.of.w + 0x1050: 686f 2069 7320 7573 696e 6720 7768 6174 ho.is.using.what + 0x1060: 2061 6e64 2077 6865 7265 2c20 616e 6420 .and.where,.and. + 0x1070: 6974 2077 6f75 6c64 2067 6976 6520 4465 it.would.give.De + 0x1080: 6269 616e 2061 2062 6574 7465 720a 6f76 bian.a.better.ov + 0x1090: 6572 7669 6577 206f 6620 7468 6520 6170 erview.of.the.ap + 0x10a0: 6163 6865 2070 6163 6b61 6765 2075 7361 ache.package.usa + 0x10b0: 6765 2e0a 0a3c 4832 3e41 626f 7574 2074 ge...

    About.t + 0x10c0: 6869 7320 7061 6765 3c2f 4832 3e0a 0a3c his.page

    ..< + 0x10d0: 494d 4720 414c 4947 4e3d 2272 6967 6874 IMG.ALIGN="right + 0x10e0: 2220 414c 543d 2222 2048 4549 4748 543d ".ALT="".HEIGHT= + 0x10f0: 2232 3437 2220 5749 4454 483d 2232 3738 "247".WIDTH="278 + 0x1100: 2220 5352 433d 2269 636f 6e73 2f6a 6865 ".SRC="icons/jhe + 0x1110: 3036 312e 706e 6722 3e0a 0a3c 503e 5468 061.png">..

    Th + 0x1120: 6973 2069 7320 6120 706c 6163 6568 6f6c is.is.a.placehol + 0x1130: 6465 7220 7061 6765 2069 6e73 7461 6c6c der.page.install + 0x1140: 6564 2062 7920 7468 6520 3c41 0a48 5245 ed.by.the.Debia + 0x1170: 6e3c 2f41 3e0a 7265 6c65 6173 6520 6f66 n.release.of + 0x1180: 2074 6865 2061 7061 6368 6520 5765 6220 .the.apache.Web. + 0x1190: 7365 7276 6572 2070 6163 6b61 6765 2e0a server.package.. + 0x11a0: 0a3c 503e 5468 6973 2063 6f6d 7075 7465 .

    This.compute + 0x11b0: 7220 6861 7320 696e 7374 616c 6c65 6420 r.has.installed. + 0x11c0: 7468 6520 4465 6269 616e 2047 4e55 2f4c the.Debian.GNU/L + 0x11d0: 696e 7578 206f 7065 7261 7469 6e67 2073 inux.operating.s + 0x11e0: 7973 7465 6d2c 0a62 7574 2069 7420 6861 ystem,.but.it.ha + 0x11f0: 7320 3c73 7472 6f6e 673e 6e6f 7468 696e s.nothin + 0x1200: 6720 746f 2064 6f20 7769 7468 2074 6865 g.to.do.with.the + 0x1210: 2044 6562 6961 6e0a 5072 6f6a 6563 743c .Debian.Project< + 0x1220: 2f73 7472 6f6e 673e 2e20 506c 6561 7365 /strong>..Please + 0x1230: 2064 6f20 3c73 7472 6f6e 673e 6e6f 743c .do.not< + 0x1240: 2f73 7472 6f6e 673e 2063 6f6e 7461 6374 /strong>.contact + 0x1250: 2074 6865 2044 6562 6961 6e0a 5072 6f6a .the.Debian.Proj + 0x1260: 6563 7420 6162 6f75 7420 6974 2e3c 2f50 ect.about.it.

    ..

    If.you.fin + 0x1280: 6420 6120 6275 6720 696e 2074 6869 7320 d.a.bug.in.this. + 0x1290: 6170 6163 6865 2070 6163 6b61 6765 2c20 apache.package,. + 0x12a0: 6f72 2069 6e20 4170 6163 6865 2069 7473 or.in.Apache.its + 0x12b0: 656c 662c 0a70 6c65 6173 6520 6669 6c65 elf,.please.file + 0x12c0: 2061 2062 7567 2072 6570 6f72 7420 6f6e .a.bug.report.on + 0x12d0: 2069 742e 2020 496e 7374 7275 6374 696f .it...Instructio + 0x12e0: 6e73 206f 6e20 646f 696e 6720 7468 6973 ns.on.doing.this + 0x12f0: 2c20 616e 6420 7468 650a 6c69 7374 206f ,.and.the.list.o + 0x1300: 6620 3c41 2048 5245 463d 2268 7474 703a f.kn + 0x1330: 6f77 6e20 6275 6773 3c2f 413e 206f 6620 own.bugs.of. + 0x1340: 7468 6973 0a70 6163 6b61 6765 2c20 6361 this.package,.ca + 0x1350: 6e20 6265 2066 6f75 6e64 2069 6e20 7468 n.be.found.in.th + 0x1360: 6520 0a3c 4120 4852 4546 3d22 6874 7470 e..Debian.Bug.Tra + 0x13a0: 636b 696e 6720 5379 7374 656d 3c2f 413e cking.System + 0x13b0: 2e0a 0a3c 503e 5468 616e 6b73 2066 6f72 ...

    Thanks.for + 0x13c0: 2075 7369 6e67 2074 6869 7320 7061 636b .using.this.pack + 0x13d0: 6167 652c 2061 6e64 2063 6f6e 6772 6174 age,.and.congrat + 0x13e0: 756c 6174 696f 6e73 2066 6f72 2079 6f75 ulations.for.you + 0x13f0: 7220 6368 6f69 6365 206f 660a 6120 4465 r.choice.of.a.De + 0x1400: 6269 616e 2073 7973 7465 6d21 3c2f 503e bian.system!

    + 0x1410: 0a0a 3c44 4956 2061 6c69 676e 3d22 6365 ........ + 0x1520: 3c2f 613e 0a3c 2f44 4956 3e0a 0a3c 212d ..... + 0x15f0: 0a3c 2f48 544d 4c3e 0a .. +23:57:35.941260 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5560 win 12383 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1b6e 4000 4006 2154 7f00 0001 7f00 .4.n@.@.!T...... + 0x0020: 0001 da70 0050 3758 8a49 377a a3a9 8010 ...p.P7X.I7z.... + 0x0030: 305f 10ea 0000 0101 080a 4ddc 9219 4ddc 0_........M...M. + 0x0040: 9219 .. +23:57:37.229575 IP 127.0.0.1.55920 > 127.0.0.1.80: F 203:203(0) ack 5560 win 12383 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1b70 4000 4006 2152 7f00 0001 7f00 .4.p@.@.!R...... + 0x0020: 0001 da70 0050 3758 8a49 377a a3a9 8011 ...p.P7X.I7z.... + 0x0030: 305f 0be1 0000 0101 080a 4ddc 9721 4ddc 0_........M..!M. + 0x0040: 9219 .. +23:57:37.230839 IP 127.0.0.1.80 > 127.0.0.1.55920: F 5560:5560(0) ack 204 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1fe8 4000 4006 1cda 7f00 0001 7f00 .4..@.@......... + 0x0020: 0001 0050 da70 377a a3a9 3758 8a4a 8011 ...P.p7z..7X.J.. + 0x0030: 2000 1735 0000 0101 080a 4ddc 9723 4ddc ...5......M..#M. + 0x0040: 9721 .! +23:57:37.230900 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5561 win 12383 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1b72 4000 4006 2150 7f00 0001 7f00 .4.r@.@.!P...... + 0x0020: 0001 da70 0050 3758 8a4a 377a a3aa 8010 ...p.P7X.J7z.... + 0x0030: 305f 06d4 0000 0101 080a 4ddc 9723 4ddc 0_........M..#M. + 0x0040: 9723 .# diff --git a/contrib/tcpdump/tests/print-capX.out b/contrib/tcpdump/tests/print-capX.out new file mode 100644 index 0000000..6963169 --- /dev/null +++ b/contrib/tcpdump/tests/print-capX.out @@ -0,0 +1,409 @@ +20:57:35.938066 IP 127.0.0.1.55920 > 127.0.0.1.80: S 928549246:928549246(0) win 32767 + 0x0000: 4500 003c 1b68 4000 4006 2152 7f00 0001 E..<.h@.@.!R.... + 0x0010: 7f00 0001 da70 0050 3758 897e 0000 0000 .....p.P7X.~.... + 0x0020: a002 7fff 1421 0000 0204 400c 0402 080a .....!....@..... + 0x0030: 4ddc 9216 0000 0000 0103 0302 M........... +20:57:35.938122 IP 127.0.0.1.80 > 127.0.0.1.55920: S 930778609:930778609(0) ack 928549247 win 32767 + 0x0000: 4500 003c 0000 4000 4006 3cba 7f00 0001 E..<..@.@.<..... + 0x0010: 7f00 0001 0050 da70 377a 8df1 3758 897f .....P.p7z..7X.. + 0x0020: a012 7fff 6eb1 0000 0204 400c 0402 080a ....n.....@..... + 0x0030: 4ddc 9216 4ddc 9216 0103 0302 M...M....... +20:57:35.938167 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 1 win 8192 + 0x0000: 4500 0034 1b6a 4000 4006 2158 7f00 0001 E..4.j@.@.!X.... + 0x0010: 7f00 0001 da70 0050 3758 897f 377a 8df2 .....p.P7X..7z.. + 0x0020: 8010 2000 37d0 0000 0101 080a 4ddc 9216 ....7.......M... + 0x0030: 4ddc 9216 M... +20:57:35.939423 IP 127.0.0.1.55920 > 127.0.0.1.80: P 1:203(202) ack 1 win 8192 + 0x0000: 4500 00fe 1b6c 4000 4006 208c 7f00 0001 E....l@.@....... + 0x0010: 7f00 0001 da70 0050 3758 897f 377a 8df2 .....p.P7X..7z.. + 0x0020: 8018 2000 fef2 0000 0101 080a 4ddc 9217 ............M... + 0x0030: 4ddc 9216 4745 5420 2f20 4854 5450 2f31 M...GET./.HTTP/1 + 0x0040: 2e31 0d0a 486f 7374 3a20 6c6f 6361 6c68 .1..Host:.localh + 0x0050: 6f73 740d 0a55 7365 722d 4167 656e 743a ost..User-Agent: + 0x0060: 2045 4c69 6e6b 732f 302e 3130 2e34 2d37 .ELinks/0.10.4-7 + 0x0070: 2d64 6562 6961 6e20 2874 6578 746d 6f64 -debian.(textmod + 0x0080: 653b 204c 696e 7578 2032 2e36 2e31 312d e;.Linux.2.6.11- + 0x0090: 312d 3638 362d 736d 7020 6936 3836 3b20 1-686-smp.i686;. + 0x00a0: 3133 3278 3536 2d32 290d 0a41 6363 6570 132x56-2)..Accep + 0x00b0: 743a 202a 2f2a 0d0a 4163 6365 7074 2d45 t:.*/*..Accept-E + 0x00c0: 6e63 6f64 696e 673a 2067 7a69 700d 0a41 ncoding:.gzip..A + 0x00d0: 6363 6570 742d 4c61 6e67 7561 6765 3a20 ccept-Language:. + 0x00e0: 656e 0d0a 436f 6e6e 6563 7469 6f6e 3a20 en..Connection:. + 0x00f0: 4b65 6570 2d41 6c69 7665 0d0a 0d0a Keep-Alive.... +20:57:35.940474 IP 127.0.0.1.80 > 127.0.0.1.55920: . ack 203 win 8192 + 0x0000: 4500 0034 1fe4 4000 4006 1cde 7f00 0001 E..4..@.@....... + 0x0010: 7f00 0001 0050 da70 377a 8df2 3758 8a49 .....P.p7z..7X.I + 0x0020: 8010 2000 3703 0000 0101 080a 4ddc 9218 ....7.......M... + 0x0030: 4ddc 9217 M... +20:57:35.941232 IP 127.0.0.1.80 > 127.0.0.1.55920: P 1:5560(5559) ack 203 win 8192 + 0x0000: 4500 15eb 1fe6 4000 4006 0725 7f00 0001 E.....@.@..%.... + 0x0010: 7f00 0001 0050 da70 377a 8df2 3758 8a49 .....P.p7z..7X.I + 0x0020: 8018 2000 13e0 0000 0101 080a 4ddc 9219 ............M... + 0x0030: 4ddc 9217 4854 5450 2f31 2e31 2032 3030 M...HTTP/1.1.200 + 0x0040: 204f 4b0d 0a44 6174 653a 2057 6564 2c20 .OK..Date:.Wed,. + 0x0050: 3036 204a 756c 2032 3030 3520 3033 3a35 06.Jul.2005.03:5 + 0x0060: 373a 3335 2047 4d54 0d0a 5365 7276 6572 7:35.GMT..Server + 0x0070: 3a20 4170 6163 6865 2f31 2e33 2e33 330d :.Apache/1.3.33. + 0x0080: 0a4c 6173 742d 4d6f 6469 6669 6564 3a20 .Last-Modified:. + 0x0090: 5375 6e2c 2031 3520 4175 6720 3230 3034 Sun,.15.Aug.2004 + 0x00a0: 2030 303a 3433 3a34 3120 474d 540d 0a45 .00:43:41.GMT..E + 0x00b0: 5461 673a 2022 3665 3830 6630 2d31 3438 Tag:."6e80f0-148 + 0x00c0: 612d 3431 3165 6231 6264 220d 0a41 6363 a-411eb1bd"..Acc + 0x00d0: 6570 742d 5261 6e67 6573 3a20 6279 7465 ept-Ranges:.byte + 0x00e0: 730d 0a43 6f6e 7465 6e74 2d4c 656e 6774 s..Content-Lengt + 0x00f0: 683a 2035 3235 380d 0a4b 6565 702d 416c h:.5258..Keep-Al + 0x0100: 6976 653a 2074 696d 656f 7574 3d31 352c ive:.timeout=15, + 0x0110: 206d 6178 3d31 3030 0d0a 436f 6e6e 6563 .max=100..Connec + 0x0120: 7469 6f6e 3a20 4b65 6570 2d41 6c69 7665 tion:.Keep-Alive + 0x0130: 0d0a 436f 6e74 656e 742d 5479 7065 3a20 ..Content-Type:. + 0x0140: 7465 7874 2f68 746d 6c3b 2063 6861 7273 text/html;.chars + 0x0150: 6574 3d69 736f 2d38 3835 392d 310d 0a0d et=iso-8859-1... + 0x0160: 0a3c 2144 4f43 5459 5045 2048 544d 4c20 . + 0x01a0: 0a3c 4854 4d4c 3e0a 3c48 4541 443e 0a20 .... + 0x01b0: 2020 3c4d 4554 4120 4854 5450 2d45 5155 .......... + 0x0250: 3c54 4954 4c45 3e50 6c61 6365 686f 6c64 Placehold + 0x0260: 6572 2070 6167 653c 2f54 4954 4c45 3e0a er.page. + 0x0270: 3c2f 4845 4144 3e0a 3c42 4f44 5920 5445 ... + 0x02d0: 3c48 313e 506c 6163 6568 6f6c 6465 7220

    Placeholder. + 0x02e0: 7061 6765 3c2f 4831 3e0a 3c48 323e 4966 page

    .

    If + 0x02f0: 2079 6f75 2061 7265 206a 7573 7420 6272 .you.are.just.br + 0x0300: 6f77 7369 6e67 2074 6865 2077 6562 3c2f owsing.the.web..

    The.owne + 0x0320: 7220 6f66 2074 6869 7320 7765 6220 7369 r.of.this.web.si + 0x0330: 7465 2068 6173 206e 6f74 2070 7574 2075 te.has.not.put.u + 0x0340: 7020 616e 7920 7765 6220 7061 6765 7320 p.any.web.pages. + 0x0350: 7965 742e 0a50 6c65 6173 6520 636f 6d65 yet..Please.come + 0x0360: 2062 6163 6b20 6c61 7465 722e 3c2f 503e .back.later.

    + 0x0370: 0a0a 3c50 3e3c 534d 414c 4c3e 3c43 4954 ..

    Move.along,.no + 0x0390: 7468 696e 6720 746f 2073 6565 2068 6572 thing.to.see.her + 0x03a0: 652e 2e2e 3c2f 4349 5445 3e20 3a2d 293c e....:-)< + 0x03b0: 2f53 4d41 4c4c 3e3c 2f50 3e0a 0a3c 4832 /SMALL>

    ..

    If.you.are.tryi + 0x03d0: 6e67 2074 6f20 6c6f 6361 7465 2074 6865 ng.to.locate.the + 0x03e0: 2061 646d 696e 6973 7472 6174 6f72 206f .administrator.o + 0x03f0: 6620 7468 6973 206d 6163 6869 6e65 3c2f f.this.machine..

    If.you.w + 0x0410: 616e 7420 746f 2072 6570 6f72 7420 736f ant.to.report.so + 0x0420: 6d65 7468 696e 6720 6162 6f75 7420 7468 mething.about.th + 0x0430: 6973 2068 6f73 7427 7320 6265 6861 7669 is.host's.behavi + 0x0440: 6f72 2c20 706c 6561 7365 0a63 6f6e 7461 or,.please.conta + 0x0450: 6374 2074 6865 2049 6e74 6572 6e65 7420 ct.the.Internet. + 0x0460: 5365 7276 6963 6520 5072 6f76 6964 6572 Service.Provider + 0x0470: 2028 4953 5029 2069 6e76 6f6c 7665 6420 .(ISP).involved. + 0x0480: 6469 7265 6374 6c79 2e3c 2f50 3e0a 0a3c directly.

    ..< + 0x0490: 503e 5365 6520 7468 6520 3c41 2068 7265 P>See.the.Networ + 0x04c0: 6b20 4162 7573 650a 436c 6561 7269 6e67 k.Abuse.Clearing + 0x04d0: 686f 7573 653c 2f41 3e20 666f 7220 686f house.for.ho + 0x04e0: 7720 746f 2064 6f20 7468 6973 2e3c 2f50 w.to.do.this.

    ..

    If.you.ar + 0x0500: 6520 7468 6520 6164 6d69 6e69 7374 7261 e.the.administra + 0x0510: 746f 7220 6f66 2074 6869 7320 6d61 6368 tor.of.this.mach + 0x0520: 696e 653c 2f48 323e 0a0a 3c50 3e54 6865 ine

    ..

    The + 0x0530: 2069 6e69 7469 616c 2069 6e73 7461 6c6c .initial.install + 0x0540: 6174 696f 6e20 6f66 203c 4120 6872 6566 ation.of.Debian + 0x0570: 2773 0a61 7061 6368 653c 2f41 3e20 7765 's.apache.we + 0x0580: 6220 7365 7276 6572 2070 6163 6b61 6765 b.server.package + 0x0590: 2077 6173 2073 7563 6365 7373 6675 6c2e .was.successful. + 0x05a0: 3c2f 503e 0a0a 3c50 3e3c 5354 524f 4e47

    ..

    You.should.repl + 0x05c0: 6163 6520 7468 6973 2070 6167 6520 7769 ace.this.page.wi + 0x05d0: 7468 2079 6f75 7220 6f77 6e20 7765 6220 th.your.own.web. + 0x05e0: 7061 6765 7320 6173 0a73 6f6f 6e20 6173 pages.as.soon.as + 0x05f0: 2070 6f73 7369 626c 652e 3c2f 5354 524f .possible.

    ..

    Unle + 0x0610: 7373 2079 6f75 2063 6861 6e67 6564 2069 ss.you.changed.i + 0x0620: 7473 2063 6f6e 6669 6775 7261 7469 6f6e ts.configuration + 0x0630: 2c20 796f 7572 206e 6577 2073 6572 7665 ,.your.new.serve + 0x0640: 7220 6973 2063 6f6e 6669 6775 7265 6420 r.is.configured. + 0x0650: 6173 2066 6f6c 6c6f 7773 3a0a 3c55 4c3e as.follows:.

      + 0x0660: 0a3c 4c49 3e0a 436f 6e66 6967 7572 6174 .
    • .Configurat + 0x0670: 696f 6e20 6669 6c65 7320 6361 6e20 6265 ion.files.can.be + 0x0680: 2066 6f75 6e64 2069 6e20 3c54 543e 2f65 .found.in./e + 0x0690: 7463 2f61 7061 6368 653c 2f54 543e 2e3c tc/apache.< + 0x06a0: 2f4c 493e 0a0a 3c4c 493e 0a54 6865 203c /LI>..
    • .The.< + 0x06b0: 5454 3e44 6f63 756d 656e 7452 6f6f 743c TT>DocumentRoot< + 0x06c0: 2f54 543e 2c20 7768 6963 6820 6973 2074 /TT>,.which.is.t + 0x06d0: 6865 2064 6972 6563 746f 7279 2075 6e64 he.directory.und + 0x06e0: 6572 2077 6869 6368 2061 6c6c 2079 6f75 er.which.all.you + 0x06f0: 720a 4854 4d4c 2066 696c 6573 2073 686f r.HTML.files.sho + 0x0700: 756c 6420 6578 6973 742c 2069 7320 7365 uld.exist,.is.se + 0x0710: 7420 746f 203c 5454 3e2f 7661 722f 7777 t.to./var/ww + 0x0720: 773c 2f54 543e 2e3c 2f4c 493e 0a0a 3c4c w.
    • ...CGI.scripts.a + 0x0740: 7265 206c 6f6f 6b65 6420 666f 7220 696e re.looked.for.in + 0x0750: 203c 5454 3e2f 7573 722f 6c69 622f 6367 ./usr/lib/cg + 0x0760: 692d 6269 6e3c 2f54 543e 2c20 7768 6963 i-bin,.whic + 0x0770: 6820 6973 2077 6865 7265 0a44 6562 6961 h.is.where.Debia + 0x0780: 6e20 7061 636b 6167 6573 2077 696c 6c20 n.packages.will. + 0x0790: 706c 6163 6520 7468 6569 7220 7363 7269 place.their.scri + 0x07a0: 7074 732e 3c2f 4c49 3e0a 0a3c 4c49 3e0a pts...
    • . + 0x07b0: 4c6f 6720 6669 6c65 7320 6172 6520 706c Log.files.are.pl + 0x07c0: 6163 6564 2069 6e20 3c54 543e 2f76 6172 aced.in./var + 0x07d0: 2f6c 6f67 2f61 7061 6368 653c 2f54 543e /log/apache + 0x07e0: 2c20 616e 6420 7769 6c6c 2062 6520 726f ,.and.will.be.ro + 0x07f0: 7461 7465 640a 7765 656b 6c79 2e20 2054 tated.weekly...T + 0x0800: 6865 2066 7265 7175 656e 6379 206f 6620 he.frequency.of. + 0x0810: 726f 7461 7469 6f6e 2063 616e 2062 6520 rotation.can.be. + 0x0820: 6561 7369 6c79 2063 6861 6e67 6564 2062 easily.changed.b + 0x0830: 7920 6564 6974 696e 670a 3c54 543e 2f65 y.editing./e + 0x0840: 7463 2f6c 6f67 726f 7461 7465 2e64 2f61 tc/logrotate.d/a + 0x0850: 7061 6368 653c 2f54 543e 2e3c 2f4c 493e pache.
    • + 0x0860: 0a0a 3c4c 493e 0a54 6865 2064 6566 6175 ..
    • .The.defau + 0x0870: 6c74 2064 6972 6563 746f 7279 2069 6e64 lt.directory.ind + 0x0880: 6578 2069 7320 3c54 543e 696e 6465 782e ex.is.index. + 0x0890: 6874 6d6c 3c2f 5454 3e2c 206d 6561 6e69 html,.meani + 0x08a0: 6e67 2074 6861 7420 7265 7175 6573 7473 ng.that.requests + 0x08b0: 0a66 6f72 2061 2064 6972 6563 746f 7279 .for.a.directory + 0x08c0: 203c 5454 3e2f 666f 6f2f 6261 722f 3c2f ./foo/bar/.will.give.th + 0x08e0: 6520 636f 6e74 656e 7473 206f 6620 7468 e.contents.of.th + 0x08f0: 6520 6669 6c65 203c 5454 3e2f 7661 722f e.file./var/ + 0x0900: 7777 772f 666f 6f2f 6261 722f 696e 6465 www/foo/bar/inde + 0x0910: 782e 6874 6d6c 3c2f 5454 3e0a 6966 2069 x.html.if.i + 0x0920: 7420 6578 6973 7473 2028 6173 7375 6d69 t.exists.(assumi + 0x0930: 6e67 2074 6861 7420 3c54 543e 2f76 6172 ng.that./var + 0x0940: 2f77 7777 3c2f 5454 3e20 6973 2079 6f75 /www.is.you + 0x0950: 7220 3c54 543e 446f 6375 6d65 6e74 526f r.DocumentRo + 0x0960: 6f74 3c2f 5454 3e29 2e3c 2f4c 493e 0a0a ot).
    • .. + 0x0970: 3c4c 493e 0a55 7365 7220 6469 7265 6374
    • .User.direct + 0x0980: 6f72 6965 7320 6172 6520 656e 6162 6c65 ories.are.enable + 0x0990: 642c 2061 6e64 2075 7365 7220 646f 6375 d,.and.user.docu + 0x09a0: 6d65 6e74 7320 7769 6c6c 2062 6520 6c6f ments.will.be.lo + 0x09b0: 6f6b 6564 2066 6f72 0a69 6e20 7468 6520 oked.for.in.the. + 0x09c0: 3c54 543e 7075 626c 6963 5f68 746d 6c3c public_html< + 0x09d0: 2f54 543e 2064 6972 6563 746f 7279 206f /TT>.directory.o + 0x09e0: 6620 7468 6520 7573 6572 7327 2068 6f6d f.the.users'.hom + 0x09f0: 6573 2e20 2054 6865 7365 2064 6972 730a es...These.dirs. + 0x0a00: 7368 6f75 6c64 2062 6520 756e 6465 7220 should.be.under. + 0x0a10: 3c54 543e 2f68 6f6d 653c 2f54 543e 2c20 /home,. + 0x0a20: 616e 6420 7573 6572 7320 7769 6c6c 206e and.users.will.n + 0x0a30: 6f74 2062 6520 6162 6c65 2074 6f20 7379 ot.be.able.to.sy + 0x0a40: 6d6c 696e 6b0a 746f 2066 696c 6573 2074 mlink.to.files.t + 0x0a50: 6865 7920 646f 6e27 7420 6f77 6e2e 3c2f hey.don't.own...
    .All.t + 0x0a70: 6865 2073 7461 6e64 6172 6420 6170 6163 he.standard.apac + 0x0a80: 6865 206d 6f64 756c 6573 2061 7265 2061 he.modules.are.a + 0x0a90: 7661 696c 6162 6c65 2077 6974 6820 7468 vailable.with.th + 0x0aa0: 6973 2072 656c 6561 7365 2061 6e64 2061 is.release.and.a + 0x0ab0: 7265 0a6e 6f77 206d 616e 6167 6564 2077 re.now.managed.w + 0x0ac0: 6974 6820 6465 6263 6f6e 662e 2020 5479 ith.debconf...Ty + 0x0ad0: 7065 203c 5454 3e64 706b 672d 7265 636f pe.dpkg-reco + 0x0ae0: 6e66 6967 7572 6520 6170 6163 6865 3c2f nfigure.apache.to.select.wh + 0x0b00: 6963 6820 6d6f 6475 6c65 7320 796f 7520 ich.modules.you. + 0x0b10: 7761 6e74 2065 6e61 626c 6564 2e20 204d want.enabled...M + 0x0b20: 616e 7920 6f74 6865 7220 6d6f 6475 6c65 any.other.module + 0x0b30: 7320 6172 6520 6176 6169 6c61 626c 650a s.are.available. + 0x0b40: 7468 726f 7567 6820 7468 6520 4465 6269 through.the.Debi + 0x0b50: 616e 2070 6163 6b61 6765 2073 7973 7465 an.package.syste + 0x0b60: 6d20 7769 7468 2074 6865 206e 616d 6573 m.with.the.names + 0x0b70: 203c 5454 3e6c 6962 6170 6163 6865 2d6d .libapache-m + 0x0b80: 6f64 2d2a 3c2f 5454 3e2e 0a49 6620 796f od-*..If.yo + 0x0b90: 7520 6e65 6564 2074 6f20 636f 6d70 696c u.need.to.compil + 0x0ba0: 6520 6120 6d6f 6475 6c65 2079 6f75 7273 e.a.module.yours + 0x0bb0: 656c 662c 2079 6f75 2077 696c 6c20 6e65 elf,.you.will.ne + 0x0bc0: 6564 2074 6f20 696e 7374 616c 6c20 7468 ed.to.install.th + 0x0bd0: 650a 3c54 543e 6170 6163 6865 2d64 6576 e.apache-dev + 0x0be0: 3c2f 5454 3e20 7061 636b 6167 652e 0a0a .package... + 0x0bf0: 3c50 3e4d 6f72 6520 646f 6375 6d65 6e74

    More.document + 0x0c00: 6174 696f 6e20 6f6e 2041 7061 6368 6520 ation.on.Apache. + 0x0c10: 6361 6e20 6265 2066 6f75 6e64 206f 6e3a can.be.found.on: + 0x0c20: 0a3c 554c 3e0a 3c4c 493e 0a54 6865 203c .

      .
    • .The.< + 0x0c30: 4120 4852 4546 3d22 2f64 6f63 2f61 7061 A.HREF="/doc/apa + 0x0c40: 6368 652d 646f 632f 6d61 6e75 616c 2f22 che-doc/manual/" + 0x0c50: 3e41 7061 6368 6520 646f 6375 6d65 6e74 >Apache.document + 0x0c60: 6174 696f 6e3c 2f41 3e20 7374 6f72 6564 ation.stored + 0x0c70: 206f 6e20 796f 7572 2073 6572 7665 722e .on.your.server. + 0x0c80: 3c2f 4c49 3e0a 0a3c 4c49 3e0a 5468 6520
    • ..
    • .The. + 0x0c90: 3c41 2048 5245 463d 2268 7474 703a 2f2f Apache.Project< + 0x0cc0: 2f41 3e20 686f 6d65 2073 6974 652e 3c2f /A>.home.site...
    • .The.Apache-SSL.home.site.
    • ..
    • .The.mo + 0x0d50: 6420 7065 726c 3c2f 413e 2068 6f6d 6520 d.perl.home. + 0x0d60: 7369 7465 2e3c 2f4c 493e 0a0a 3c4c 493e site.
    • ..
    • + 0x0d70: 0a54 6865 203c 4120 4852 4546 3d22 6874 .The.Apache + 0x0da0: 5765 656b 3c2f 413e 206e 6577 736c 6574 Week.newslet + 0x0db0: 7465 722e 3c2f 4c49 3e0a 0a3c 4c49 3e0a ter.
    • ..
    • . + 0x0dc0: 5468 6520 3c41 2048 5245 463d 2268 7474 The.Debian. + 0x0df0: 5072 6f6a 6563 740a 446f 6375 6d65 6e74 Project.Document + 0x0e00: 6174 696f 6e3c 2f41 3e20 7768 6963 6820 ation.which. + 0x0e10: 636f 6e74 6169 6e73 2048 4f57 544f 732c contains.HOWTOs, + 0x0e20: 2046 4151 732c 2061 6e64 2073 6f66 7477 .FAQs,.and.softw + 0x0e30: 6172 6520 7570 6461 7465 732e 3c2f 4c49 are.updates.
    • .
    ..

    You. + 0x0e50: 6361 6e20 616c 736f 2063 6f6e 7375 6c74 can.also.consult + 0x0e60: 2074 6865 206c 6973 7420 6f66 203c 4120 .the.list.of.World.Wide.We + 0x0ea0: 6220 4672 6571 7565 6e74 6c79 2041 736b b.Frequently.Ask + 0x0eb0: 6564 2051 7565 7374 696f 6e73 3c2f 413e ed.Questions + 0x0ec0: 2066 6f72 2069 6e66 6f72 6d61 7469 6f6e .for.information + 0x0ed0: 2e0a 0a3c 4832 3e4c 6574 206f 7468 6572 ...

    Let.other + 0x0ee0: 2070 656f 706c 6520 6b6e 6f77 2061 626f .people.know.abo + 0x0ef0: 7574 2074 6869 7320 7365 7276 6572 3c2f ut.this.server..Netcraft + 0x0f30: 2070 726f 7669 6465 7320 616e 2069 6e74 .provides.an.int + 0x0f40: 6572 6573 7469 6e67 2066 7265 650a 7365 eresting.free.se + 0x0f50: 7276 6963 6520 666f 7220 7765 6220 7369 rvice.for.web.si + 0x0f60: 7465 206d 6f6e 6974 6f72 696e 6720 616e te.monitoring.an + 0x0f70: 6420 7374 6174 6973 7469 6320 636f 6c6c d.statistic.coll + 0x0f80: 6563 7469 6f6e 2e0a 596f 7520 6361 6e20 ection..You.can. + 0x0f90: 6c65 7420 7468 656d 206b 6e6f 7720 6162 let.them.know.ab + 0x0fa0: 6f75 7420 796f 7572 2073 6572 7665 7220 out.your.server. + 0x0fb0: 7573 696e 6720 7468 6569 720a 3c41 2048 using.their.interface. + 0x0ff0: 0a45 6e61 626c 696e 6720 7468 6520 6d6f .Enabling.the.mo + 0x1000: 6e69 746f 7269 6e67 206f 6620 796f 7572 nitoring.of.your + 0x1010: 2073 6572 7665 7220 7769 6c6c 2070 726f .server.will.pro + 0x1020: 7669 6465 2061 2062 6574 7465 7220 676c vide.a.better.gl + 0x1030: 6f62 616c 206f 7665 7276 6965 770a 6f66 obal.overview.of + 0x1040: 2077 686f 2069 7320 7573 696e 6720 7768 .who.is.using.wh + 0x1050: 6174 2061 6e64 2077 6865 7265 2c20 616e at.and.where,.an + 0x1060: 6420 6974 2077 6f75 6c64 2067 6976 6520 d.it.would.give. + 0x1070: 4465 6269 616e 2061 2062 6574 7465 720a Debian.a.better. + 0x1080: 6f76 6572 7669 6577 206f 6620 7468 6520 overview.of.the. + 0x1090: 6170 6163 6865 2070 6163 6b61 6765 2075 apache.package.u + 0x10a0: 7361 6765 2e0a 0a3c 4832 3e41 626f 7574 sage...

    About + 0x10b0: 2074 6869 7320 7061 6765 3c2f 4832 3e0a .this.page

    . + 0x10c0: 0a3c 494d 4720 414c 4947 4e3d 2272 6967 ...

    + 0x1110: 5468 6973 2069 7320 6120 706c 6163 6568 This.is.a.placeh + 0x1120: 6f6c 6465 7220 7061 6765 2069 6e73 7461 older.page.insta + 0x1130: 6c6c 6564 2062 7920 7468 6520 3c41 0a48 lled.by.the.Deb + 0x1160: 6961 6e3c 2f41 3e0a 7265 6c65 6173 6520 ian.release. + 0x1170: 6f66 2074 6865 2061 7061 6368 6520 5765 of.the.apache.We + 0x1180: 6220 7365 7276 6572 2070 6163 6b61 6765 b.server.package + 0x1190: 2e0a 0a3c 503e 5468 6973 2063 6f6d 7075 ...

    This.compu + 0x11a0: 7465 7220 6861 7320 696e 7374 616c 6c65 ter.has.installe + 0x11b0: 6420 7468 6520 4465 6269 616e 2047 4e55 d.the.Debian.GNU + 0x11c0: 2f4c 696e 7578 206f 7065 7261 7469 6e67 /Linux.operating + 0x11d0: 2073 7973 7465 6d2c 0a62 7574 2069 7420 .system,.but.it. + 0x11e0: 6861 7320 3c73 7472 6f6e 673e 6e6f 7468 has.noth + 0x11f0: 696e 6720 746f 2064 6f20 7769 7468 2074 ing.to.do.with.t + 0x1200: 6865 2044 6562 6961 6e0a 5072 6f6a 6563 he.Debian.Projec + 0x1210: 743c 2f73 7472 6f6e 673e 2e20 506c 6561 t..Plea + 0x1220: 7365 2064 6f20 3c73 7472 6f6e 673e 6e6f se.do.no + 0x1230: 743c 2f73 7472 6f6e 673e 2063 6f6e 7461 t.conta + 0x1240: 6374 2074 6865 2044 6562 6961 6e0a 5072 ct.the.Debian.Pr + 0x1250: 6f6a 6563 7420 6162 6f75 7420 6974 2e3c oject.about.it.< + 0x1260: 2f50 3e0a 0a3c 503e 4966 2079 6f75 2066 /P>..

    If.you.f + 0x1270: 696e 6420 6120 6275 6720 696e 2074 6869 ind.a.bug.in.thi + 0x1280: 7320 6170 6163 6865 2070 6163 6b61 6765 s.apache.package + 0x1290: 2c20 6f72 2069 6e20 4170 6163 6865 2069 ,.or.in.Apache.i + 0x12a0: 7473 656c 662c 0a70 6c65 6173 6520 6669 tself,.please.fi + 0x12b0: 6c65 2061 2062 7567 2072 6570 6f72 7420 le.a.bug.report. + 0x12c0: 6f6e 2069 742e 2020 496e 7374 7275 6374 on.it...Instruct + 0x12d0: 696f 6e73 206f 6e20 646f 696e 6720 7468 ions.on.doing.th + 0x12e0: 6973 2c20 616e 6420 7468 650a 6c69 7374 is,.and.the.list + 0x12f0: 206f 6620 3c41 2048 5245 463d 2268 7474 .of. + 0x1320: 6b6e 6f77 6e20 6275 6773 3c2f 413e 206f known.bugs.o + 0x1330: 6620 7468 6973 0a70 6163 6b61 6765 2c20 f.this.package,. + 0x1340: 6361 6e20 6265 2066 6f75 6e64 2069 6e20 can.be.found.in. + 0x1350: 7468 6520 0a3c 4120 4852 4546 3d22 6874 the..Debian.Bug.T + 0x1390: 7261 636b 696e 6720 5379 7374 656d 3c2f racking.System...

    Thanks.f + 0x13b0: 6f72 2075 7369 6e67 2074 6869 7320 7061 or.using.this.pa + 0x13c0: 636b 6167 652c 2061 6e64 2063 6f6e 6772 ckage,.and.congr + 0x13d0: 6174 756c 6174 696f 6e73 2066 6f72 2079 atulations.for.y + 0x13e0: 6f75 7220 6368 6f69 6365 206f 660a 6120 our.choice.of.a. + 0x13f0: 4465 6269 616e 2073 7973 7465 6d21 3c2f Debian.system!...........< + 0x1520: 212d 2d0a 2020 5468 6973 2070 6167 6520 !--...This.page. + 0x1530: 7761 7320 696e 6974 6961 6c6c 7920 6372 was.initially.cr + 0x1540: 6561 7465 6420 6279 204a 6f68 6e69 6520 eated.by.Johnie. + 0x1550: 496e 6772 616d 2028 6874 7470 3a2f 2f6e Ingram.(http://n + 0x1560: 6574 676f 642e 6e65 742f 290a 2020 4974 etgod.net/)...It + 0x1570: 2077 6173 206c 6174 6572 2065 6469 7465 .was.later.edite + 0x1580: 6420 6279 204d 6174 7468 6577 2057 696c d.by.Matthew.Wil + 0x1590: 636f 7820 616e 6420 4a6f 7369 7020 526f cox.and.Josip.Ro + 0x15a0: 6469 6e2e 0a20 204c 6173 7420 6d6f 6469 din....Last.modi + 0x15b0: 6669 6564 3a20 2444 6174 653a 2032 3030 fied:.$Date:.200 + 0x15c0: 342f 3036 2f32 3020 3135 3a33 333a 3537 4/06/20.15:33:57 + 0x15d0: 2024 2e0a 2020 2d2d 3e0a 0a3c 2f42 4f44 .$....-->.... +20:57:35.941260 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5560 win 12383 + 0x0000: 4500 0034 1b6e 4000 4006 2154 7f00 0001 E..4.n@.@.!T.... + 0x0010: 7f00 0001 da70 0050 3758 8a49 377a a3a9 .....p.P7X.I7z.. + 0x0020: 8010 305f 10ea 0000 0101 080a 4ddc 9219 ..0_........M... + 0x0030: 4ddc 9219 M... +20:57:37.229575 IP 127.0.0.1.55920 > 127.0.0.1.80: F 203:203(0) ack 5560 win 12383 + 0x0000: 4500 0034 1b70 4000 4006 2152 7f00 0001 E..4.p@.@.!R.... + 0x0010: 7f00 0001 da70 0050 3758 8a49 377a a3a9 .....p.P7X.I7z.. + 0x0020: 8011 305f 0be1 0000 0101 080a 4ddc 9721 ..0_........M..! + 0x0030: 4ddc 9219 M... +20:57:37.230839 IP 127.0.0.1.80 > 127.0.0.1.55920: F 5560:5560(0) ack 204 win 8192 + 0x0000: 4500 0034 1fe8 4000 4006 1cda 7f00 0001 E..4..@.@....... + 0x0010: 7f00 0001 0050 da70 377a a3a9 3758 8a4a .....P.p7z..7X.J + 0x0020: 8011 2000 1735 0000 0101 080a 4ddc 9723 .....5......M..# + 0x0030: 4ddc 9721 M..! +20:57:37.230900 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5561 win 12383 + 0x0000: 4500 0034 1b72 4000 4006 2150 7f00 0001 E..4.r@.@.!P.... + 0x0010: 7f00 0001 da70 0050 3758 8a4a 377a a3aa .....p.P7X.J7z.. + 0x0020: 8010 305f 06d4 0000 0101 080a 4ddc 9723 ..0_........M..# + 0x0030: 4ddc 9723 M..# diff --git a/contrib/tcpdump/tests/print-capXX.out b/contrib/tcpdump/tests/print-capXX.out new file mode 100644 index 0000000..7c57e0c --- /dev/null +++ b/contrib/tcpdump/tests/print-capXX.out @@ -0,0 +1,419 @@ +20:57:35.938066 IP 127.0.0.1.55920 > 127.0.0.1.80: S 928549246:928549246(0) win 32767 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 003c 1b68 4000 4006 2152 7f00 0001 7f00 .<.h@.@.!R...... + 0x0020: 0001 da70 0050 3758 897e 0000 0000 a002 ...p.P7X.~...... + 0x0030: 7fff 1421 0000 0204 400c 0402 080a 4ddc ...!....@.....M. + 0x0040: 9216 0000 0000 0103 0302 .......... +20:57:35.938122 IP 127.0.0.1.80 > 127.0.0.1.55920: S 930778609:930778609(0) ack 928549247 win 32767 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 003c 0000 4000 4006 3cba 7f00 0001 7f00 .<..@.@.<....... + 0x0020: 0001 0050 da70 377a 8df1 3758 897f a012 ...P.p7z..7X.... + 0x0030: 7fff 6eb1 0000 0204 400c 0402 080a 4ddc ..n.....@.....M. + 0x0040: 9216 4ddc 9216 0103 0302 ..M....... +20:57:35.938167 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 1 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1b6a 4000 4006 2158 7f00 0001 7f00 .4.j@.@.!X...... + 0x0020: 0001 da70 0050 3758 897f 377a 8df2 8010 ...p.P7X..7z.... + 0x0030: 2000 37d0 0000 0101 080a 4ddc 9216 4ddc ..7.......M...M. + 0x0040: 9216 .. +20:57:35.939423 IP 127.0.0.1.55920 > 127.0.0.1.80: P 1:203(202) ack 1 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 00fe 1b6c 4000 4006 208c 7f00 0001 7f00 ...l@.@......... + 0x0020: 0001 da70 0050 3758 897f 377a 8df2 8018 ...p.P7X..7z.... + 0x0030: 2000 fef2 0000 0101 080a 4ddc 9217 4ddc ..........M...M. + 0x0040: 9216 4745 5420 2f20 4854 5450 2f31 2e31 ..GET./.HTTP/1.1 + 0x0050: 0d0a 486f 7374 3a20 6c6f 6361 6c68 6f73 ..Host:.localhos + 0x0060: 740d 0a55 7365 722d 4167 656e 743a 2045 t..User-Agent:.E + 0x0070: 4c69 6e6b 732f 302e 3130 2e34 2d37 2d64 Links/0.10.4-7-d + 0x0080: 6562 6961 6e20 2874 6578 746d 6f64 653b ebian.(textmode; + 0x0090: 204c 696e 7578 2032 2e36 2e31 312d 312d .Linux.2.6.11-1- + 0x00a0: 3638 362d 736d 7020 6936 3836 3b20 3133 686-smp.i686;.13 + 0x00b0: 3278 3536 2d32 290d 0a41 6363 6570 743a 2x56-2)..Accept: + 0x00c0: 202a 2f2a 0d0a 4163 6365 7074 2d45 6e63 .*/*..Accept-Enc + 0x00d0: 6f64 696e 673a 2067 7a69 700d 0a41 6363 oding:.gzip..Acc + 0x00e0: 6570 742d 4c61 6e67 7561 6765 3a20 656e ept-Language:.en + 0x00f0: 0d0a 436f 6e6e 6563 7469 6f6e 3a20 4b65 ..Connection:.Ke + 0x0100: 6570 2d41 6c69 7665 0d0a 0d0a ep-Alive.... +20:57:35.940474 IP 127.0.0.1.80 > 127.0.0.1.55920: . ack 203 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1fe4 4000 4006 1cde 7f00 0001 7f00 .4..@.@......... + 0x0020: 0001 0050 da70 377a 8df2 3758 8a49 8010 ...P.p7z..7X.I.. + 0x0030: 2000 3703 0000 0101 080a 4ddc 9218 4ddc ..7.......M...M. + 0x0040: 9217 .. +20:57:35.941232 IP 127.0.0.1.80 > 127.0.0.1.55920: P 1:5560(5559) ack 203 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 15eb 1fe6 4000 4006 0725 7f00 0001 7f00 ....@.@..%...... + 0x0020: 0001 0050 da70 377a 8df2 3758 8a49 8018 ...P.p7z..7X.I.. + 0x0030: 2000 13e0 0000 0101 080a 4ddc 9219 4ddc ..........M...M. + 0x0040: 9217 4854 5450 2f31 2e31 2032 3030 204f ..HTTP/1.1.200.O + 0x0050: 4b0d 0a44 6174 653a 2057 6564 2c20 3036 K..Date:.Wed,.06 + 0x0060: 204a 756c 2032 3030 3520 3033 3a35 373a .Jul.2005.03:57: + 0x0070: 3335 2047 4d54 0d0a 5365 7276 6572 3a20 35.GMT..Server:. + 0x0080: 4170 6163 6865 2f31 2e33 2e33 330d 0a4c Apache/1.3.33..L + 0x0090: 6173 742d 4d6f 6469 6669 6564 3a20 5375 ast-Modified:.Su + 0x00a0: 6e2c 2031 3520 4175 6720 3230 3034 2030 n,.15.Aug.2004.0 + 0x00b0: 303a 3433 3a34 3120 474d 540d 0a45 5461 0:43:41.GMT..ETa + 0x00c0: 673a 2022 3665 3830 6630 2d31 3438 612d g:."6e80f0-148a- + 0x00d0: 3431 3165 6231 6264 220d 0a41 6363 6570 411eb1bd"..Accep + 0x00e0: 742d 5261 6e67 6573 3a20 6279 7465 730d t-Ranges:.bytes. + 0x00f0: 0a43 6f6e 7465 6e74 2d4c 656e 6774 683a .Content-Length: + 0x0100: 2035 3235 380d 0a4b 6565 702d 416c 6976 .5258..Keep-Aliv + 0x0110: 653a 2074 696d 656f 7574 3d31 352c 206d e:.timeout=15,.m + 0x0120: 6178 3d31 3030 0d0a 436f 6e6e 6563 7469 ax=100..Connecti + 0x0130: 6f6e 3a20 4b65 6570 2d41 6c69 7665 0d0a on:.Keep-Alive.. + 0x0140: 436f 6e74 656e 742d 5479 7065 3a20 7465 Content-Type:.te + 0x0150: 7874 2f68 746d 6c3b 2063 6861 7273 6574 xt/html;.charset + 0x0160: 3d69 736f 2d38 3835 392d 310d 0a0d 0a3c =iso-8859-1....< + 0x0170: 2144 4f43 5459 5045 2048 544d 4c20 5055 !DOCTYPE.HTML.PU + 0x0180: 424c 4943 2022 2d2f 2f57 3343 2f2f 4454 BLIC."-//W3C//DT + 0x0190: 4420 4854 4d4c 2034 2e30 3120 5472 616e D.HTML.4.01.Tran + 0x01a0: 7369 7469 6f6e 616c 2f2f 454e 223e 0a3c sitional//EN">.< + 0x01b0: 4854 4d4c 3e0a 3c48 4541 443e 0a20 2020 HTML>..... + 0x01c0: 3c4d 4554 4120 4854 5450 2d45 5155 4956 ........Placeholder + 0x0270: 2070 6167 653c 2f54 4954 4c45 3e0a 3c2f .page....Placeholder.pa + 0x02f0: 6765 3c2f 4831 3e0a 3c48 323e 4966 2079 ge

    .

    If.y + 0x0300: 6f75 2061 7265 206a 7573 7420 6272 6f77 ou.are.just.brow + 0x0310: 7369 6e67 2074 6865 2077 6562 3c2f 6832 sing.the.web

    ..

    The.owner. + 0x0330: 6f66 2074 6869 7320 7765 6220 7369 7465 of.this.web.site + 0x0340: 2068 6173 206e 6f74 2070 7574 2075 7020 .has.not.put.up. + 0x0350: 616e 7920 7765 6220 7061 6765 7320 7965 any.web.pages.ye + 0x0360: 742e 0a50 6c65 6173 6520 636f 6d65 2062 t..Please.come.b + 0x0370: 6163 6b20 6c61 7465 722e 3c2f 503e 0a0a ack.later.

    .. + 0x0380: 3c50 3e3c 534d 414c 4c3e 3c43 4954 453e

    + 0x0390: 4d6f 7665 2061 6c6f 6e67 2c20 6e6f 7468 Move.along,.noth + 0x03a0: 696e 6720 746f 2073 6565 2068 6572 652e ing.to.see.here. + 0x03b0: 2e2e 3c2f 4349 5445 3e20 3a2d 293c 2f53 ...:-)

    ..

    I + 0x03d0: 6620 796f 7520 6172 6520 7472 7969 6e67 f.you.are.trying + 0x03e0: 2074 6f20 6c6f 6361 7465 2074 6865 2061 .to.locate.the.a + 0x03f0: 646d 696e 6973 7472 6174 6f72 206f 6620 dministrator.of. + 0x0400: 7468 6973 206d 6163 6869 6e65 3c2f 4832 this.machine

    ..

    If.you.wan + 0x0420: 7420 746f 2072 6570 6f72 7420 736f 6d65 t.to.report.some + 0x0430: 7468 696e 6720 6162 6f75 7420 7468 6973 thing.about.this + 0x0440: 2068 6f73 7427 7320 6265 6861 7669 6f72 .host's.behavior + 0x0450: 2c20 706c 6561 7365 0a63 6f6e 7461 6374 ,.please.contact + 0x0460: 2074 6865 2049 6e74 6572 6e65 7420 5365 .the.Internet.Se + 0x0470: 7276 6963 6520 5072 6f76 6964 6572 2028 rvice.Provider.( + 0x0480: 4953 5029 2069 6e76 6f6c 7665 6420 6469 ISP).involved.di + 0x0490: 7265 6374 6c79 2e3c 2f50 3e0a 0a3c 503e rectly.

    ..

    + 0x04a0: 5365 6520 7468 6520 3c41 2068 7265 663d See.the.Network. + 0x04d0: 4162 7573 650a 436c 6561 7269 6e67 686f Abuse.Clearingho + 0x04e0: 7573 653c 2f41 3e20 666f 7220 686f 7720 use.for.how. + 0x04f0: 746f 2064 6f20 7468 6973 2e3c 2f50 3e0a to.do.this.

    . + 0x0500: 0a3c 4832 3e49 6620 796f 7520 6172 6520 .

    If.you.are. + 0x0510: 7468 6520 6164 6d69 6e69 7374 7261 746f the.administrato + 0x0520: 7220 6f66 2074 6869 7320 6d61 6368 696e r.of.this.machin + 0x0530: 653c 2f48 323e 0a0a 3c50 3e54 6865 2069 e

    ..

    The.i + 0x0540: 6e69 7469 616c 2069 6e73 7461 6c6c 6174 nitial.installat + 0x0550: 696f 6e20 6f66 203c 4120 6872 6566 3d22 ion.of.Debian's + 0x0580: 0a61 7061 6368 653c 2f41 3e20 7765 6220 .apache.web. + 0x0590: 7365 7276 6572 2070 6163 6b61 6765 2077 server.package.w + 0x05a0: 6173 2073 7563 6365 7373 6675 6c2e 3c2f as.successful...

    Y + 0x05c0: 6f75 2073 686f 756c 6420 7265 706c 6163 ou.should.replac + 0x05d0: 6520 7468 6973 2070 6167 6520 7769 7468 e.this.page.with + 0x05e0: 2079 6f75 7220 6f77 6e20 7765 6220 7061 .your.own.web.pa + 0x05f0: 6765 7320 6173 0a73 6f6f 6e20 6173 2070 ges.as.soon.as.p + 0x0600: 6f73 7369 626c 652e 3c2f 5354 524f 4e47 ossible.

    ..

    Unless + 0x0620: 2079 6f75 2063 6861 6e67 6564 2069 7473 .you.changed.its + 0x0630: 2063 6f6e 6669 6775 7261 7469 6f6e 2c20 .configuration,. + 0x0640: 796f 7572 206e 6577 2073 6572 7665 7220 your.new.server. + 0x0650: 6973 2063 6f6e 6669 6775 7265 6420 6173 is.configured.as + 0x0660: 2066 6f6c 6c6f 7773 3a0a 3c55 4c3e 0a3c .follows:.

      .< + 0x0670: 4c49 3e0a 436f 6e66 6967 7572 6174 696f LI>.Configuratio + 0x0680: 6e20 6669 6c65 7320 6361 6e20 6265 2066 n.files.can.be.f + 0x0690: 6f75 6e64 2069 6e20 3c54 543e 2f65 7463 ound.in./etc + 0x06a0: 2f61 7061 6368 653c 2f54 543e 2e3c 2f4c /apache...
    • .The.DocumentRoot,.which.is.the + 0x06e0: 2064 6972 6563 746f 7279 2075 6e64 6572 .directory.under + 0x06f0: 2077 6869 6368 2061 6c6c 2079 6f75 720a .which.all.your. + 0x0700: 4854 4d4c 2066 696c 6573 2073 686f 756c HTML.files.shoul + 0x0710: 6420 6578 6973 742c 2069 7320 7365 7420 d.exist,.is.set. + 0x0720: 746f 203c 5454 3e2f 7661 722f 7777 773c to./var/www< + 0x0730: 2f54 543e 2e3c 2f4c 493e 0a0a 3c4c 493e /TT>.
    • ..
    • + 0x0740: 0a43 4749 2073 6372 6970 7473 2061 7265 .CGI.scripts.are + 0x0750: 206c 6f6f 6b65 6420 666f 7220 696e 203c .looked.for.in.< + 0x0760: 5454 3e2f 7573 722f 6c69 622f 6367 692d TT>/usr/lib/cgi- + 0x0770: 6269 6e3c 2f54 543e 2c20 7768 6963 6820 bin,.which. + 0x0780: 6973 2077 6865 7265 0a44 6562 6961 6e20 is.where.Debian. + 0x0790: 7061 636b 6167 6573 2077 696c 6c20 706c packages.will.pl + 0x07a0: 6163 6520 7468 6569 7220 7363 7269 7074 ace.their.script + 0x07b0: 732e 3c2f 4c49 3e0a 0a3c 4c49 3e0a 4c6f s.
    • ..
    • .Lo + 0x07c0: 6720 6669 6c65 7320 6172 6520 706c 6163 g.files.are.plac + 0x07d0: 6564 2069 6e20 3c54 543e 2f76 6172 2f6c ed.in./var/l + 0x07e0: 6f67 2f61 7061 6368 653c 2f54 543e 2c20 og/apache,. + 0x07f0: 616e 6420 7769 6c6c 2062 6520 726f 7461 and.will.be.rota + 0x0800: 7465 640a 7765 656b 6c79 2e20 2054 6865 ted.weekly...The + 0x0810: 2066 7265 7175 656e 6379 206f 6620 726f .frequency.of.ro + 0x0820: 7461 7469 6f6e 2063 616e 2062 6520 6561 tation.can.be.ea + 0x0830: 7369 6c79 2063 6861 6e67 6564 2062 7920 sily.changed.by. + 0x0840: 6564 6974 696e 670a 3c54 543e 2f65 7463 editing./etc + 0x0850: 2f6c 6f67 726f 7461 7465 2e64 2f61 7061 /logrotate.d/apa + 0x0860: 6368 653c 2f54 543e 2e3c 2f4c 493e 0a0a che.
    • .. + 0x0870: 3c4c 493e 0a54 6865 2064 6566 6175 6c74
    • .The.default + 0x0880: 2064 6972 6563 746f 7279 2069 6e64 6578 .directory.index + 0x0890: 2069 7320 3c54 543e 696e 6465 782e 6874 .is.index.ht + 0x08a0: 6d6c 3c2f 5454 3e2c 206d 6561 6e69 6e67 ml,.meaning + 0x08b0: 2074 6861 7420 7265 7175 6573 7473 0a66 .that.requests.f + 0x08c0: 6f72 2061 2064 6972 6563 746f 7279 203c or.a.directory.< + 0x08d0: 5454 3e2f 666f 6f2f 6261 722f 3c2f 5454 TT>/foo/bar/.will.give.the. + 0x08f0: 636f 6e74 656e 7473 206f 6620 7468 6520 contents.of.the. + 0x0900: 6669 6c65 203c 5454 3e2f 7661 722f 7777 file./var/ww + 0x0910: 772f 666f 6f2f 6261 722f 696e 6465 782e w/foo/bar/index. + 0x0920: 6874 6d6c 3c2f 5454 3e0a 6966 2069 7420 html.if.it. + 0x0930: 6578 6973 7473 2028 6173 7375 6d69 6e67 exists.(assuming + 0x0940: 2074 6861 7420 3c54 543e 2f76 6172 2f77 .that./var/w + 0x0950: 7777 3c2f 5454 3e20 6973 2079 6f75 7220 ww.is.your. + 0x0960: 3c54 543e 446f 6375 6d65 6e74 526f 6f74 DocumentRoot + 0x0970: 3c2f 5454 3e29 2e3c 2f4c 493e 0a0a 3c4c ).
    • ...User.director + 0x0990: 6965 7320 6172 6520 656e 6162 6c65 642c ies.are.enabled, + 0x09a0: 2061 6e64 2075 7365 7220 646f 6375 6d65 .and.user.docume + 0x09b0: 6e74 7320 7769 6c6c 2062 6520 6c6f 6f6b nts.will.be.look + 0x09c0: 6564 2066 6f72 0a69 6e20 7468 6520 3c54 ed.for.in.the.public_html.directory.of. + 0x09f0: 7468 6520 7573 6572 7327 2068 6f6d 6573 the.users'.homes + 0x0a00: 2e20 2054 6865 7365 2064 6972 730a 7368 ...These.dirs.sh + 0x0a10: 6f75 6c64 2062 6520 756e 6465 7220 3c54 ould.be.under./home
      ,.an + 0x0a30: 6420 7573 6572 7320 7769 6c6c 206e 6f74 d.users.will.not + 0x0a40: 2062 6520 6162 6c65 2074 6f20 7379 6d6c .be.able.to.syml + 0x0a50: 696e 6b0a 746f 2066 696c 6573 2074 6865 ink.to.files.the + 0x0a60: 7920 646f 6e27 7420 6f77 6e2e 3c2f 4c49 y.don't.own...
    .All.the + 0x0a80: 2073 7461 6e64 6172 6420 6170 6163 6865 .standard.apache + 0x0a90: 206d 6f64 756c 6573 2061 7265 2061 7661 .modules.are.ava + 0x0aa0: 696c 6162 6c65 2077 6974 6820 7468 6973 ilable.with.this + 0x0ab0: 2072 656c 6561 7365 2061 6e64 2061 7265 .release.and.are + 0x0ac0: 0a6e 6f77 206d 616e 6167 6564 2077 6974 .now.managed.wit + 0x0ad0: 6820 6465 6263 6f6e 662e 2020 5479 7065 h.debconf...Type + 0x0ae0: 203c 5454 3e64 706b 672d 7265 636f 6e66 .dpkg-reconf + 0x0af0: 6967 7572 6520 6170 6163 6865 3c2f 5454 igure.apache.to.select.whic + 0x0b10: 6820 6d6f 6475 6c65 7320 796f 7520 7761 h.modules.you.wa + 0x0b20: 6e74 2065 6e61 626c 6564 2e20 204d 616e nt.enabled...Man + 0x0b30: 7920 6f74 6865 7220 6d6f 6475 6c65 7320 y.other.modules. + 0x0b40: 6172 6520 6176 6169 6c61 626c 650a 7468 are.available.th + 0x0b50: 726f 7567 6820 7468 6520 4465 6269 616e rough.the.Debian + 0x0b60: 2070 6163 6b61 6765 2073 7973 7465 6d20 .package.system. + 0x0b70: 7769 7468 2074 6865 206e 616d 6573 203c with.the.names.< + 0x0b80: 5454 3e6c 6962 6170 6163 6865 2d6d 6f64 TT>libapache-mod + 0x0b90: 2d2a 3c2f 5454 3e2e 0a49 6620 796f 7520 -*
    ..If.you. + 0x0ba0: 6e65 6564 2074 6f20 636f 6d70 696c 6520 need.to.compile. + 0x0bb0: 6120 6d6f 6475 6c65 2079 6f75 7273 656c a.module.yoursel + 0x0bc0: 662c 2079 6f75 2077 696c 6c20 6e65 6564 f,.you.will.need + 0x0bd0: 2074 6f20 696e 7374 616c 6c20 7468 650a .to.install.the. + 0x0be0: 3c54 543e 6170 6163 6865 2d64 6576 3c2f apache-dev.package...

    More.documentat + 0x0c10: 696f 6e20 6f6e 2041 7061 6368 6520 6361 ion.on.Apache.ca + 0x0c20: 6e20 6265 2066 6f75 6e64 206f 6e3a 0a3c n.be.found.on:.< + 0x0c30: 554c 3e0a 3c4c 493e 0a54 6865 203c 4120 UL>.

  • .The.A + 0x0c60: 7061 6368 6520 646f 6375 6d65 6e74 6174 pache.documentat + 0x0c70: 696f 6e3c 2f41 3e20 7374 6f72 6564 206f ion.stored.o + 0x0c80: 6e20 796f 7572 2073 6572 7665 722e 3c2f n.your.server...
  • .The.A + 0x0cc0: 7061 6368 6520 5072 6f6a 6563 743c 2f41 pache.Project.home.site.
  • ..
  • .The.Apache-SSL. + 0x0d20: 686f 6d65 2073 6974 652e 3c2f 4c49 3e0a home.site.
  • . + 0x0d30: 0a3c 4c49 3e0a 5468 6520 3c41 2048 5245 .
  • .The.mod. + 0x0d60: 7065 726c 3c2f 413e 2068 6f6d 6520 7369 perl.home.si + 0x0d70: 7465 2e3c 2f4c 493e 0a0a 3c4c 493e 0a54 te.
  • ..
  • .T + 0x0d80: 6865 203c 4120 4852 4546 3d22 6874 7470 he.ApacheWe + 0x0db0: 656b 3c2f 413e 206e 6577 736c 6574 7465 ek.newslette + 0x0dc0: 722e 3c2f 4c49 3e0a 0a3c 4c49 3e0a 5468 r.
  • ..
  • .Th + 0x0dd0: 6520 3c41 2048 5245 463d 2268 7474 703a e.Debian.Pr + 0x0e00: 6f6a 6563 740a 446f 6375 6d65 6e74 6174 oject.Documentat + 0x0e10: 696f 6e3c 2f41 3e20 7768 6963 6820 636f ion.which.co + 0x0e20: 6e74 6169 6e73 2048 4f57 544f 732c 2046 ntains.HOWTOs,.F + 0x0e30: 4151 732c 2061 6e64 2073 6f66 7477 6172 AQs,.and.softwar + 0x0e40: 6520 7570 6461 7465 732e 3c2f 4c49 3e0a e.updates.
  • . + 0x0e50: 3c2f 554c 3e0a 0a3c 503e 596f 7520 6361 ..

    You.ca + 0x0e60: 6e20 616c 736f 2063 6f6e 7375 6c74 2074 n.also.consult.t + 0x0e70: 6865 206c 6973 7420 6f66 203c 4120 4852 he.list.of.World.Wide.Web. + 0x0eb0: 4672 6571 7565 6e74 6c79 2041 736b 6564 Frequently.Asked + 0x0ec0: 2051 7565 7374 696f 6e73 3c2f 413e 2066 .Questions.f + 0x0ed0: 6f72 2069 6e66 6f72 6d61 7469 6f6e 2e0a or.information.. + 0x0ee0: 0a3c 4832 3e4c 6574 206f 7468 6572 2070 .

    Let.other.p + 0x0ef0: 656f 706c 6520 6b6e 6f77 2061 626f 7574 eople.know.about + 0x0f00: 2074 6869 7320 7365 7276 6572 3c2f 4832 .this.server

    ..Netcraft.p + 0x0f40: 726f 7669 6465 7320 616e 2069 6e74 6572 rovides.an.inter + 0x0f50: 6573 7469 6e67 2066 7265 650a 7365 7276 esting.free.serv + 0x0f60: 6963 6520 666f 7220 7765 6220 7369 7465 ice.for.web.site + 0x0f70: 206d 6f6e 6974 6f72 696e 6720 616e 6420 .monitoring.and. + 0x0f80: 7374 6174 6973 7469 6320 636f 6c6c 6563 statistic.collec + 0x0f90: 7469 6f6e 2e0a 596f 7520 6361 6e20 6c65 tion..You.can.le + 0x0fa0: 7420 7468 656d 206b 6e6f 7720 6162 6f75 t.them.know.abou + 0x0fb0: 7420 796f 7572 2073 6572 7665 7220 7573 t.your.server.us + 0x0fc0: 696e 6720 7468 6569 720a 3c41 2048 5245 ing.their. + 0x0ff0: 696e 7465 7266 6163 653c 2f41 3e2e 0a45 interface..E + 0x1000: 6e61 626c 696e 6720 7468 6520 6d6f 6e69 nabling.the.moni + 0x1010: 746f 7269 6e67 206f 6620 796f 7572 2073 toring.of.your.s + 0x1020: 6572 7665 7220 7769 6c6c 2070 726f 7669 erver.will.provi + 0x1030: 6465 2061 2062 6574 7465 7220 676c 6f62 de.a.better.glob + 0x1040: 616c 206f 7665 7276 6965 770a 6f66 2077 al.overview.of.w + 0x1050: 686f 2069 7320 7573 696e 6720 7768 6174 ho.is.using.what + 0x1060: 2061 6e64 2077 6865 7265 2c20 616e 6420 .and.where,.and. + 0x1070: 6974 2077 6f75 6c64 2067 6976 6520 4465 it.would.give.De + 0x1080: 6269 616e 2061 2062 6574 7465 720a 6f76 bian.a.better.ov + 0x1090: 6572 7669 6577 206f 6620 7468 6520 6170 erview.of.the.ap + 0x10a0: 6163 6865 2070 6163 6b61 6765 2075 7361 ache.package.usa + 0x10b0: 6765 2e0a 0a3c 4832 3e41 626f 7574 2074 ge...

    About.t + 0x10c0: 6869 7320 7061 6765 3c2f 4832 3e0a 0a3c his.page

    ..< + 0x10d0: 494d 4720 414c 4947 4e3d 2272 6967 6874 IMG.ALIGN="right + 0x10e0: 2220 414c 543d 2222 2048 4549 4748 543d ".ALT="".HEIGHT= + 0x10f0: 2232 3437 2220 5749 4454 483d 2232 3738 "247".WIDTH="278 + 0x1100: 2220 5352 433d 2269 636f 6e73 2f6a 6865 ".SRC="icons/jhe + 0x1110: 3036 312e 706e 6722 3e0a 0a3c 503e 5468 061.png">..

    Th + 0x1120: 6973 2069 7320 6120 706c 6163 6568 6f6c is.is.a.placehol + 0x1130: 6465 7220 7061 6765 2069 6e73 7461 6c6c der.page.install + 0x1140: 6564 2062 7920 7468 6520 3c41 0a48 5245 ed.by.the.Debia + 0x1170: 6e3c 2f41 3e0a 7265 6c65 6173 6520 6f66 n.release.of + 0x1180: 2074 6865 2061 7061 6368 6520 5765 6220 .the.apache.Web. + 0x1190: 7365 7276 6572 2070 6163 6b61 6765 2e0a server.package.. + 0x11a0: 0a3c 503e 5468 6973 2063 6f6d 7075 7465 .

    This.compute + 0x11b0: 7220 6861 7320 696e 7374 616c 6c65 6420 r.has.installed. + 0x11c0: 7468 6520 4465 6269 616e 2047 4e55 2f4c the.Debian.GNU/L + 0x11d0: 696e 7578 206f 7065 7261 7469 6e67 2073 inux.operating.s + 0x11e0: 7973 7465 6d2c 0a62 7574 2069 7420 6861 ystem,.but.it.ha + 0x11f0: 7320 3c73 7472 6f6e 673e 6e6f 7468 696e s.nothin + 0x1200: 6720 746f 2064 6f20 7769 7468 2074 6865 g.to.do.with.the + 0x1210: 2044 6562 6961 6e0a 5072 6f6a 6563 743c .Debian.Project< + 0x1220: 2f73 7472 6f6e 673e 2e20 506c 6561 7365 /strong>..Please + 0x1230: 2064 6f20 3c73 7472 6f6e 673e 6e6f 743c .do.not< + 0x1240: 2f73 7472 6f6e 673e 2063 6f6e 7461 6374 /strong>.contact + 0x1250: 2074 6865 2044 6562 6961 6e0a 5072 6f6a .the.Debian.Proj + 0x1260: 6563 7420 6162 6f75 7420 6974 2e3c 2f50 ect.about.it.

    ..

    If.you.fin + 0x1280: 6420 6120 6275 6720 696e 2074 6869 7320 d.a.bug.in.this. + 0x1290: 6170 6163 6865 2070 6163 6b61 6765 2c20 apache.package,. + 0x12a0: 6f72 2069 6e20 4170 6163 6865 2069 7473 or.in.Apache.its + 0x12b0: 656c 662c 0a70 6c65 6173 6520 6669 6c65 elf,.please.file + 0x12c0: 2061 2062 7567 2072 6570 6f72 7420 6f6e .a.bug.report.on + 0x12d0: 2069 742e 2020 496e 7374 7275 6374 696f .it...Instructio + 0x12e0: 6e73 206f 6e20 646f 696e 6720 7468 6973 ns.on.doing.this + 0x12f0: 2c20 616e 6420 7468 650a 6c69 7374 206f ,.and.the.list.o + 0x1300: 6620 3c41 2048 5245 463d 2268 7474 703a f.kn + 0x1330: 6f77 6e20 6275 6773 3c2f 413e 206f 6620 own.bugs.of. + 0x1340: 7468 6973 0a70 6163 6b61 6765 2c20 6361 this.package,.ca + 0x1350: 6e20 6265 2066 6f75 6e64 2069 6e20 7468 n.be.found.in.th + 0x1360: 6520 0a3c 4120 4852 4546 3d22 6874 7470 e..Debian.Bug.Tra + 0x13a0: 636b 696e 6720 5379 7374 656d 3c2f 413e cking.System + 0x13b0: 2e0a 0a3c 503e 5468 616e 6b73 2066 6f72 ...

    Thanks.for + 0x13c0: 2075 7369 6e67 2074 6869 7320 7061 636b .using.this.pack + 0x13d0: 6167 652c 2061 6e64 2063 6f6e 6772 6174 age,.and.congrat + 0x13e0: 756c 6174 696f 6e73 2066 6f72 2079 6f75 ulations.for.you + 0x13f0: 7220 6368 6f69 6365 206f 660a 6120 4465 r.choice.of.a.De + 0x1400: 6269 616e 2073 7973 7465 6d21 3c2f 503e bian.system!

    + 0x1410: 0a0a 3c44 4956 2061 6c69 676e 3d22 6365 ........ + 0x1520: 3c2f 613e 0a3c 2f44 4956 3e0a 0a3c 212d ..... + 0x15f0: 0a3c 2f48 544d 4c3e 0a .. +20:57:35.941260 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5560 win 12383 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1b6e 4000 4006 2154 7f00 0001 7f00 .4.n@.@.!T...... + 0x0020: 0001 da70 0050 3758 8a49 377a a3a9 8010 ...p.P7X.I7z.... + 0x0030: 305f 10ea 0000 0101 080a 4ddc 9219 4ddc 0_........M...M. + 0x0040: 9219 .. +20:57:37.229575 IP 127.0.0.1.55920 > 127.0.0.1.80: F 203:203(0) ack 5560 win 12383 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1b70 4000 4006 2152 7f00 0001 7f00 .4.p@.@.!R...... + 0x0020: 0001 da70 0050 3758 8a49 377a a3a9 8011 ...p.P7X.I7z.... + 0x0030: 305f 0be1 0000 0101 080a 4ddc 9721 4ddc 0_........M..!M. + 0x0040: 9219 .. +20:57:37.230839 IP 127.0.0.1.80 > 127.0.0.1.55920: F 5560:5560(0) ack 204 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1fe8 4000 4006 1cda 7f00 0001 7f00 .4..@.@......... + 0x0020: 0001 0050 da70 377a a3a9 3758 8a4a 8011 ...P.p7z..7X.J.. + 0x0030: 2000 1735 0000 0101 080a 4ddc 9723 4ddc ...5......M..#M. + 0x0040: 9721 .! +20:57:37.230900 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5561 win 12383 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 ..............E. + 0x0010: 0034 1b72 4000 4006 2150 7f00 0001 7f00 .4.r@.@.!P...... + 0x0020: 0001 da70 0050 3758 8a4a 377a a3aa 8010 ...p.P7X.J7z.... + 0x0030: 305f 06d4 0000 0101 080a 4ddc 9723 4ddc 0_........M..#M. + 0x0040: 9723 .# diff --git a/contrib/tcpdump/tests/print-flags.puu b/contrib/tcpdump/tests/print-flags.puu new file mode 100644 index 0000000..bcd8b99 --- /dev/null +++ b/contrib/tcpdump/tests/print-flags.puu @@ -0,0 +1,151 @@ +begin 644 print-flags.pcap +MU,.RH0(`!````````````/__```!````KU;+0E)0#@!*````2@`````````` +M``````````@`10``/!MH0`!`!B%2?P```7\```':<`!0-UB)?@````"@`G__ +M%"$```($0`P$`@@*3=R2%@`````!`P,"KU;+0HI0#@!*````2@`````````` +M``````````@`10``/```0`!`!CRZ?P```7\```$`4-IP-WJ-\3=8B7^@$G__ +M;K$```($0`P$`@@*3=R2%DWHWR@!@@`/[R```!`0@* +M3=R2%TW?P```7\```$`4-IP-WJ-\C=8 +MBDF`$"``-P,```$!"`I-W)(83=R2%Z]6RT*P7`X`^14``/D5```````````` +M```````(`$4`%>L?YD``0`8')7\```%_```!`%#:<#=ZC?(W6(I)@!@@`!/@ +M```!`0@*3=R2&4W71E#TQ,#`-"D-O;FYE8W1I;VXZ($ME97`M06QI=F4-"D-O +M;G1E;G0M5'EP93H@=&5X="]H=&UL.R!C:&%R7!E(B!#3TY414Y4/2)T97AT+VAT;6P[(&-H +M87)S970]:7-O+3@X-3DM,2(^"B`@(#Q-151!($Y!344](D1E2!W96(@<&%G97,@ +M>65T+@I0;&5A6EN9R!T;R!L +M;V-A=&4@=&AE(&%D;6EN:7-T6]U(&%R92!T:&4@861M:6YI2!E9&ET:6YG"CQ4 +M5#XO971C+VQO9W)O=&%T92YD+V%P86-H93PO5%0^+CPO3$D^"@H\3$D^"E1H +M92!D969A=6QT(&1I2!I;F1E>"!I6]U2!O9B!T:&4@=7-E6]U('=A;G0@96YA8FQE9"X@($UA;GD@;W1H97(@;6]D=6QE6]U6]U2!T:&4@/$$*2%)%1CTB:'1T<#HO+W=W=RYD96)I86XN;W)G+R(^1&5B +M:6%N/"]!/@IR96QE87-E(&]F('1H92!A<&%C:&4@5V5B('-E7-T96TL"F)U="!I="!H87,@/'-T +M6]U +M(&9I;F0@82!B=6<@:6X@=&AI6]U2!*;VAN:64@26YG2!-871T:&5W(%=I;&-O>"!A;F0@ +M2F]S:7`@4F]D:6XN"B`@3&%S="!M;V1I9FEE9#H@)$1A=&4Z(#(P,#0O,#8O +M,C`@,34Z,S,Z-3<@)"X*("`M+3X*"CPO0D]$63X*/"](5$U,/@JO5LM"S%P. +M`$(```!"````````````````````"`!%```T&VY``$`&(51_```!?P```=IP +M`%`W6(I)-WJCJ8`0,%\0Z@```0$("DW``P!"````0@`` +M``````````````````@`10``-!MP0`!`!B%2?P```7\```':<`!0-UB*23=Z +MHZF`$3!?"^$```$!"`I-W) 127.0.0.1.80: S 928549246:928549246(0) win 32767 + 0x0000: 4500 003c 1b68 4000 4006 2152 7f00 0001 + 0x0010: 7f00 0001 da70 0050 3758 897e 0000 0000 + 0x0020: a002 7fff 1421 0000 0204 400c 0402 080a + 0x0030: 4ddc 9216 0000 0000 0103 0302 +23:57:35.938122 IP 127.0.0.1.80 > 127.0.0.1.55920: S 930778609:930778609(0) ack 928549247 win 32767 + 0x0000: 4500 003c 0000 4000 4006 3cba 7f00 0001 + 0x0010: 7f00 0001 0050 da70 377a 8df1 3758 897f + 0x0020: a012 7fff 6eb1 0000 0204 400c 0402 080a + 0x0030: 4ddc 9216 4ddc 9216 0103 0302 +23:57:35.938167 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 1 win 8192 + 0x0000: 4500 0034 1b6a 4000 4006 2158 7f00 0001 + 0x0010: 7f00 0001 da70 0050 3758 897f 377a 8df2 + 0x0020: 8010 2000 37d0 0000 0101 080a 4ddc 9216 + 0x0030: 4ddc 9216 +23:57:35.939423 IP 127.0.0.1.55920 > 127.0.0.1.80: P 1:203(202) ack 1 win 8192 + 0x0000: 4500 00fe 1b6c 4000 4006 208c 7f00 0001 + 0x0010: 7f00 0001 da70 0050 3758 897f 377a 8df2 + 0x0020: 8018 2000 fef2 0000 0101 080a 4ddc 9217 + 0x0030: 4ddc 9216 4745 5420 2f20 4854 5450 2f31 + 0x0040: 2e31 0d0a 486f 7374 3a20 6c6f 6361 6c68 + 0x0050: 6f73 740d 0a55 7365 722d 4167 656e 743a + 0x0060: 2045 4c69 6e6b 732f 302e 3130 2e34 2d37 + 0x0070: 2d64 6562 6961 6e20 2874 6578 746d 6f64 + 0x0080: 653b 204c 696e 7578 2032 2e36 2e31 312d + 0x0090: 312d 3638 362d 736d 7020 6936 3836 3b20 + 0x00a0: 3133 3278 3536 2d32 290d 0a41 6363 6570 + 0x00b0: 743a 202a 2f2a 0d0a 4163 6365 7074 2d45 + 0x00c0: 6e63 6f64 696e 673a 2067 7a69 700d 0a41 + 0x00d0: 6363 6570 742d 4c61 6e67 7561 6765 3a20 + 0x00e0: 656e 0d0a 436f 6e6e 6563 7469 6f6e 3a20 + 0x00f0: 4b65 6570 2d41 6c69 7665 0d0a 0d0a +23:57:35.940474 IP 127.0.0.1.80 > 127.0.0.1.55920: . ack 203 win 8192 + 0x0000: 4500 0034 1fe4 4000 4006 1cde 7f00 0001 + 0x0010: 7f00 0001 0050 da70 377a 8df2 3758 8a49 + 0x0020: 8010 2000 3703 0000 0101 080a 4ddc 9218 + 0x0030: 4ddc 9217 +23:57:35.941232 IP 127.0.0.1.80 > 127.0.0.1.55920: P 1:5560(5559) ack 203 win 8192 + 0x0000: 4500 15eb 1fe6 4000 4006 0725 7f00 0001 + 0x0010: 7f00 0001 0050 da70 377a 8df2 3758 8a49 + 0x0020: 8018 2000 13e0 0000 0101 080a 4ddc 9219 + 0x0030: 4ddc 9217 4854 5450 2f31 2e31 2032 3030 + 0x0040: 204f 4b0d 0a44 6174 653a 2057 6564 2c20 + 0x0050: 3036 204a 756c 2032 3030 3520 3033 3a35 + 0x0060: 373a 3335 2047 4d54 0d0a 5365 7276 6572 + 0x0070: 3a20 4170 6163 6865 2f31 2e33 2e33 330d + 0x0080: 0a4c 6173 742d 4d6f 6469 6669 6564 3a20 + 0x0090: 5375 6e2c 2031 3520 4175 6720 3230 3034 + 0x00a0: 2030 303a 3433 3a34 3120 474d 540d 0a45 + 0x00b0: 5461 673a 2022 3665 3830 6630 2d31 3438 + 0x00c0: 612d 3431 3165 6231 6264 220d 0a41 6363 + 0x00d0: 6570 742d 5261 6e67 6573 3a20 6279 7465 + 0x00e0: 730d 0a43 6f6e 7465 6e74 2d4c 656e 6774 + 0x00f0: 683a 2035 3235 380d 0a4b 6565 702d 416c + 0x0100: 6976 653a 2074 696d 656f 7574 3d31 352c + 0x0110: 206d 6178 3d31 3030 0d0a 436f 6e6e 6563 + 0x0120: 7469 6f6e 3a20 4b65 6570 2d41 6c69 7665 + 0x0130: 0d0a 436f 6e74 656e 742d 5479 7065 3a20 + 0x0140: 7465 7874 2f68 746d 6c3b 2063 6861 7273 + 0x0150: 6574 3d69 736f 2d38 3835 392d 310d 0a0d + 0x0160: 0a3c 2144 4f43 5459 5045 2048 544d 4c20 + 0x0170: 5055 424c 4943 2022 2d2f 2f57 3343 2f2f + 0x0180: 4454 4420 4854 4d4c 2034 2e30 3120 5472 + 0x0190: 616e 7369 7469 6f6e 616c 2f2f 454e 223e + 0x01a0: 0a3c 4854 4d4c 3e0a 3c48 4541 443e 0a20 + 0x01b0: 2020 3c4d 4554 4120 4854 5450 2d45 5155 + 0x01c0: 4956 3d22 436f 6e74 656e 742d 5479 7065 + 0x01d0: 2220 434f 4e54 454e 543d 2274 6578 742f + 0x01e0: 6874 6d6c 3b20 6368 6172 7365 743d 6973 + 0x01f0: 6f2d 3838 3539 2d31 223e 0a20 2020 3c4d + 0x0200: 4554 4120 4e41 4d45 3d22 4465 7363 7269 + 0x0210: 7074 696f 6e22 2043 4f4e 5445 4e54 3d22 + 0x0220: 5468 6520 696e 6974 6961 6c20 696e 7374 + 0x0230: 616c 6c61 7469 6f6e 206f 6620 4465 6269 + 0x0240: 616e 2061 7061 6368 652e 223e 0a20 2020 + 0x0250: 3c54 4954 4c45 3e50 6c61 6365 686f 6c64 + 0x0260: 6572 2070 6167 653c 2f54 4954 4c45 3e0a + 0x0270: 3c2f 4845 4144 3e0a 3c42 4f44 5920 5445 + 0x0280: 5854 3d22 2330 3030 3030 3022 2042 4743 + 0x0290: 4f4c 4f52 3d22 2346 4646 4646 4622 204c + 0x02a0: 494e 4b3d 2223 3030 3030 4546 2220 564c + 0x02b0: 494e 4b3d 2223 3535 3138 3841 2220 414c + 0x02c0: 494e 4b3d 2223 4646 3030 3030 223e 0a0a + 0x02d0: 3c48 313e 506c 6163 6568 6f6c 6465 7220 + 0x02e0: 7061 6765 3c2f 4831 3e0a 3c48 323e 4966 + 0x02f0: 2079 6f75 2061 7265 206a 7573 7420 6272 + 0x0300: 6f77 7369 6e67 2074 6865 2077 6562 3c2f + 0x0310: 6832 3e0a 0a3c 503e 5468 6520 6f77 6e65 + 0x0320: 7220 6f66 2074 6869 7320 7765 6220 7369 + 0x0330: 7465 2068 6173 206e 6f74 2070 7574 2075 + 0x0340: 7020 616e 7920 7765 6220 7061 6765 7320 + 0x0350: 7965 742e 0a50 6c65 6173 6520 636f 6d65 + 0x0360: 2062 6163 6b20 6c61 7465 722e 3c2f 503e + 0x0370: 0a0a 3c50 3e3c 534d 414c 4c3e 3c43 4954 + 0x0380: 453e 4d6f 7665 2061 6c6f 6e67 2c20 6e6f + 0x0390: 7468 696e 6720 746f 2073 6565 2068 6572 + 0x03a0: 652e 2e2e 3c2f 4349 5445 3e20 3a2d 293c + 0x03b0: 2f53 4d41 4c4c 3e3c 2f50 3e0a 0a3c 4832 + 0x03c0: 3e49 6620 796f 7520 6172 6520 7472 7969 + 0x03d0: 6e67 2074 6f20 6c6f 6361 7465 2074 6865 + 0x03e0: 2061 646d 696e 6973 7472 6174 6f72 206f + 0x03f0: 6620 7468 6973 206d 6163 6869 6e65 3c2f + 0x0400: 4832 3e0a 0a3c 503e 4966 2079 6f75 2077 + 0x0410: 616e 7420 746f 2072 6570 6f72 7420 736f + 0x0420: 6d65 7468 696e 6720 6162 6f75 7420 7468 + 0x0430: 6973 2068 6f73 7427 7320 6265 6861 7669 + 0x0440: 6f72 2c20 706c 6561 7365 0a63 6f6e 7461 + 0x0450: 6374 2074 6865 2049 6e74 6572 6e65 7420 + 0x0460: 5365 7276 6963 6520 5072 6f76 6964 6572 + 0x0470: 2028 4953 5029 2069 6e76 6f6c 7665 6420 + 0x0480: 6469 7265 6374 6c79 2e3c 2f50 3e0a 0a3c + 0x0490: 503e 5365 6520 7468 6520 3c41 2068 7265 + 0x04a0: 663d 2268 7474 703a 2f2f 7777 772e 6162 + 0x04b0: 7573 652e 6e65 742f 223e 4e65 7477 6f72 + 0x04c0: 6b20 4162 7573 650a 436c 6561 7269 6e67 + 0x04d0: 686f 7573 653c 2f41 3e20 666f 7220 686f + 0x04e0: 7720 746f 2064 6f20 7468 6973 2e3c 2f50 + 0x04f0: 3e0a 0a3c 4832 3e49 6620 796f 7520 6172 + 0x0500: 6520 7468 6520 6164 6d69 6e69 7374 7261 + 0x0510: 746f 7220 6f66 2074 6869 7320 6d61 6368 + 0x0520: 696e 653c 2f48 323e 0a0a 3c50 3e54 6865 + 0x0530: 2069 6e69 7469 616c 2069 6e73 7461 6c6c + 0x0540: 6174 696f 6e20 6f66 203c 4120 6872 6566 + 0x0550: 3d22 6874 7470 3a2f 2f77 7777 2e64 6562 + 0x0560: 6961 6e2e 6f72 672f 223e 4465 6269 616e + 0x0570: 2773 0a61 7061 6368 653c 2f41 3e20 7765 + 0x0580: 6220 7365 7276 6572 2070 6163 6b61 6765 + 0x0590: 2077 6173 2073 7563 6365 7373 6675 6c2e + 0x05a0: 3c2f 503e 0a0a 3c50 3e3c 5354 524f 4e47 + 0x05b0: 3e59 6f75 2073 686f 756c 6420 7265 706c + 0x05c0: 6163 6520 7468 6973 2070 6167 6520 7769 + 0x05d0: 7468 2079 6f75 7220 6f77 6e20 7765 6220 + 0x05e0: 7061 6765 7320 6173 0a73 6f6f 6e20 6173 + 0x05f0: 2070 6f73 7369 626c 652e 3c2f 5354 524f + 0x0600: 4e47 3e3c 2f50 3e0a 0a3c 503e 556e 6c65 + 0x0610: 7373 2079 6f75 2063 6861 6e67 6564 2069 + 0x0620: 7473 2063 6f6e 6669 6775 7261 7469 6f6e + 0x0630: 2c20 796f 7572 206e 6577 2073 6572 7665 + 0x0640: 7220 6973 2063 6f6e 6669 6775 7265 6420 + 0x0650: 6173 2066 6f6c 6c6f 7773 3a0a 3c55 4c3e + 0x0660: 0a3c 4c49 3e0a 436f 6e66 6967 7572 6174 + 0x0670: 696f 6e20 6669 6c65 7320 6361 6e20 6265 + 0x0680: 2066 6f75 6e64 2069 6e20 3c54 543e 2f65 + 0x0690: 7463 2f61 7061 6368 653c 2f54 543e 2e3c + 0x06a0: 2f4c 493e 0a0a 3c4c 493e 0a54 6865 203c + 0x06b0: 5454 3e44 6f63 756d 656e 7452 6f6f 743c + 0x06c0: 2f54 543e 2c20 7768 6963 6820 6973 2074 + 0x06d0: 6865 2064 6972 6563 746f 7279 2075 6e64 + 0x06e0: 6572 2077 6869 6368 2061 6c6c 2079 6f75 + 0x06f0: 720a 4854 4d4c 2066 696c 6573 2073 686f + 0x0700: 756c 6420 6578 6973 742c 2069 7320 7365 + 0x0710: 7420 746f 203c 5454 3e2f 7661 722f 7777 + 0x0720: 773c 2f54 543e 2e3c 2f4c 493e 0a0a 3c4c + 0x0730: 493e 0a43 4749 2073 6372 6970 7473 2061 + 0x0740: 7265 206c 6f6f 6b65 6420 666f 7220 696e + 0x0750: 203c 5454 3e2f 7573 722f 6c69 622f 6367 + 0x0760: 692d 6269 6e3c 2f54 543e 2c20 7768 6963 + 0x0770: 6820 6973 2077 6865 7265 0a44 6562 6961 + 0x0780: 6e20 7061 636b 6167 6573 2077 696c 6c20 + 0x0790: 706c 6163 6520 7468 6569 7220 7363 7269 + 0x07a0: 7074 732e 3c2f 4c49 3e0a 0a3c 4c49 3e0a + 0x07b0: 4c6f 6720 6669 6c65 7320 6172 6520 706c + 0x07c0: 6163 6564 2069 6e20 3c54 543e 2f76 6172 + 0x07d0: 2f6c 6f67 2f61 7061 6368 653c 2f54 543e + 0x07e0: 2c20 616e 6420 7769 6c6c 2062 6520 726f + 0x07f0: 7461 7465 640a 7765 656b 6c79 2e20 2054 + 0x0800: 6865 2066 7265 7175 656e 6379 206f 6620 + 0x0810: 726f 7461 7469 6f6e 2063 616e 2062 6520 + 0x0820: 6561 7369 6c79 2063 6861 6e67 6564 2062 + 0x0830: 7920 6564 6974 696e 670a 3c54 543e 2f65 + 0x0840: 7463 2f6c 6f67 726f 7461 7465 2e64 2f61 + 0x0850: 7061 6368 653c 2f54 543e 2e3c 2f4c 493e + 0x0860: 0a0a 3c4c 493e 0a54 6865 2064 6566 6175 + 0x0870: 6c74 2064 6972 6563 746f 7279 2069 6e64 + 0x0880: 6578 2069 7320 3c54 543e 696e 6465 782e + 0x0890: 6874 6d6c 3c2f 5454 3e2c 206d 6561 6e69 + 0x08a0: 6e67 2074 6861 7420 7265 7175 6573 7473 + 0x08b0: 0a66 6f72 2061 2064 6972 6563 746f 7279 + 0x08c0: 203c 5454 3e2f 666f 6f2f 6261 722f 3c2f + 0x08d0: 5454 3e20 7769 6c6c 2067 6976 6520 7468 + 0x08e0: 6520 636f 6e74 656e 7473 206f 6620 7468 + 0x08f0: 6520 6669 6c65 203c 5454 3e2f 7661 722f + 0x0900: 7777 772f 666f 6f2f 6261 722f 696e 6465 + 0x0910: 782e 6874 6d6c 3c2f 5454 3e0a 6966 2069 + 0x0920: 7420 6578 6973 7473 2028 6173 7375 6d69 + 0x0930: 6e67 2074 6861 7420 3c54 543e 2f76 6172 + 0x0940: 2f77 7777 3c2f 5454 3e20 6973 2079 6f75 + 0x0950: 7220 3c54 543e 446f 6375 6d65 6e74 526f + 0x0960: 6f74 3c2f 5454 3e29 2e3c 2f4c 493e 0a0a + 0x0970: 3c4c 493e 0a55 7365 7220 6469 7265 6374 + 0x0980: 6f72 6965 7320 6172 6520 656e 6162 6c65 + 0x0990: 642c 2061 6e64 2075 7365 7220 646f 6375 + 0x09a0: 6d65 6e74 7320 7769 6c6c 2062 6520 6c6f + 0x09b0: 6f6b 6564 2066 6f72 0a69 6e20 7468 6520 + 0x09c0: 3c54 543e 7075 626c 6963 5f68 746d 6c3c + 0x09d0: 2f54 543e 2064 6972 6563 746f 7279 206f + 0x09e0: 6620 7468 6520 7573 6572 7327 2068 6f6d + 0x09f0: 6573 2e20 2054 6865 7365 2064 6972 730a + 0x0a00: 7368 6f75 6c64 2062 6520 756e 6465 7220 + 0x0a10: 3c54 543e 2f68 6f6d 653c 2f54 543e 2c20 + 0x0a20: 616e 6420 7573 6572 7320 7769 6c6c 206e + 0x0a30: 6f74 2062 6520 6162 6c65 2074 6f20 7379 + 0x0a40: 6d6c 696e 6b0a 746f 2066 696c 6573 2074 + 0x0a50: 6865 7920 646f 6e27 7420 6f77 6e2e 3c2f + 0x0a60: 4c49 3e0a 0a3c 2f55 4c3e 0a41 6c6c 2074 + 0x0a70: 6865 2073 7461 6e64 6172 6420 6170 6163 + 0x0a80: 6865 206d 6f64 756c 6573 2061 7265 2061 + 0x0a90: 7661 696c 6162 6c65 2077 6974 6820 7468 + 0x0aa0: 6973 2072 656c 6561 7365 2061 6e64 2061 + 0x0ab0: 7265 0a6e 6f77 206d 616e 6167 6564 2077 + 0x0ac0: 6974 6820 6465 6263 6f6e 662e 2020 5479 + 0x0ad0: 7065 203c 5454 3e64 706b 672d 7265 636f + 0x0ae0: 6e66 6967 7572 6520 6170 6163 6865 3c2f + 0x0af0: 5454 3e20 746f 0a73 656c 6563 7420 7768 + 0x0b00: 6963 6820 6d6f 6475 6c65 7320 796f 7520 + 0x0b10: 7761 6e74 2065 6e61 626c 6564 2e20 204d + 0x0b20: 616e 7920 6f74 6865 7220 6d6f 6475 6c65 + 0x0b30: 7320 6172 6520 6176 6169 6c61 626c 650a + 0x0b40: 7468 726f 7567 6820 7468 6520 4465 6269 + 0x0b50: 616e 2070 6163 6b61 6765 2073 7973 7465 + 0x0b60: 6d20 7769 7468 2074 6865 206e 616d 6573 + 0x0b70: 203c 5454 3e6c 6962 6170 6163 6865 2d6d + 0x0b80: 6f64 2d2a 3c2f 5454 3e2e 0a49 6620 796f + 0x0b90: 7520 6e65 6564 2074 6f20 636f 6d70 696c + 0x0ba0: 6520 6120 6d6f 6475 6c65 2079 6f75 7273 + 0x0bb0: 656c 662c 2079 6f75 2077 696c 6c20 6e65 + 0x0bc0: 6564 2074 6f20 696e 7374 616c 6c20 7468 + 0x0bd0: 650a 3c54 543e 6170 6163 6865 2d64 6576 + 0x0be0: 3c2f 5454 3e20 7061 636b 6167 652e 0a0a + 0x0bf0: 3c50 3e4d 6f72 6520 646f 6375 6d65 6e74 + 0x0c00: 6174 696f 6e20 6f6e 2041 7061 6368 6520 + 0x0c10: 6361 6e20 6265 2066 6f75 6e64 206f 6e3a + 0x0c20: 0a3c 554c 3e0a 3c4c 493e 0a54 6865 203c + 0x0c30: 4120 4852 4546 3d22 2f64 6f63 2f61 7061 + 0x0c40: 6368 652d 646f 632f 6d61 6e75 616c 2f22 + 0x0c50: 3e41 7061 6368 6520 646f 6375 6d65 6e74 + 0x0c60: 6174 696f 6e3c 2f41 3e20 7374 6f72 6564 + 0x0c70: 206f 6e20 796f 7572 2073 6572 7665 722e + 0x0c80: 3c2f 4c49 3e0a 0a3c 4c49 3e0a 5468 6520 + 0x0c90: 3c41 2048 5245 463d 2268 7474 703a 2f2f + 0x0ca0: 7777 772e 6170 6163 6865 2e6f 7267 2f22 + 0x0cb0: 3e41 7061 6368 6520 5072 6f6a 6563 743c + 0x0cc0: 2f41 3e20 686f 6d65 2073 6974 652e 3c2f + 0x0cd0: 4c49 3e0a 0a3c 4c49 3e0a 5468 6520 3c41 + 0x0ce0: 2048 5245 463d 2268 7474 703a 2f2f 7777 + 0x0cf0: 772e 6170 6163 6865 2d73 736c 2e6f 7267 + 0x0d00: 2f22 3e41 7061 6368 652d 5353 4c3c 2f41 + 0x0d10: 3e20 686f 6d65 2073 6974 652e 3c2f 4c49 + 0x0d20: 3e0a 0a3c 4c49 3e0a 5468 6520 3c41 2048 + 0x0d30: 5245 463d 2268 7474 703a 2f2f 7065 726c + 0x0d40: 2e61 7061 6368 652e 6f72 672f 223e 6d6f + 0x0d50: 6420 7065 726c 3c2f 413e 2068 6f6d 6520 + 0x0d60: 7369 7465 2e3c 2f4c 493e 0a0a 3c4c 493e + 0x0d70: 0a54 6865 203c 4120 4852 4546 3d22 6874 + 0x0d80: 7470 3a2f 2f77 7777 2e61 7061 6368 6577 + 0x0d90: 6565 6b2e 636f 6d2f 223e 4170 6163 6865 + 0x0da0: 5765 656b 3c2f 413e 206e 6577 736c 6574 + 0x0db0: 7465 722e 3c2f 4c49 3e0a 0a3c 4c49 3e0a + 0x0dc0: 5468 6520 3c41 2048 5245 463d 2268 7474 + 0x0dd0: 703a 2f2f 7777 772e 6465 6269 616e 2e6f + 0x0de0: 7267 2f64 6f63 2f22 3e44 6562 6961 6e20 + 0x0df0: 5072 6f6a 6563 740a 446f 6375 6d65 6e74 + 0x0e00: 6174 696f 6e3c 2f41 3e20 7768 6963 6820 + 0x0e10: 636f 6e74 6169 6e73 2048 4f57 544f 732c + 0x0e20: 2046 4151 732c 2061 6e64 2073 6f66 7477 + 0x0e30: 6172 6520 7570 6461 7465 732e 3c2f 4c49 + 0x0e40: 3e0a 3c2f 554c 3e0a 0a3c 503e 596f 7520 + 0x0e50: 6361 6e20 616c 736f 2063 6f6e 7375 6c74 + 0x0e60: 2074 6865 206c 6973 7420 6f66 203c 4120 + 0x0e70: 4852 4546 3d22 6874 7470 3a2f 2f77 7777 + 0x0e80: 2e62 6f75 7465 6c6c 2e63 6f6d 2f66 6171 + 0x0e90: 2f22 3e57 6f72 6c64 0a57 6964 6520 5765 + 0x0ea0: 6220 4672 6571 7565 6e74 6c79 2041 736b + 0x0eb0: 6564 2051 7565 7374 696f 6e73 3c2f 413e + 0x0ec0: 2066 6f72 2069 6e66 6f72 6d61 7469 6f6e + 0x0ed0: 2e0a 0a3c 4832 3e4c 6574 206f 7468 6572 + 0x0ee0: 2070 656f 706c 6520 6b6e 6f77 2061 626f + 0x0ef0: 7574 2074 6869 7320 7365 7276 6572 3c2f + 0x0f00: 4832 3e0a 0a3c 4120 4852 4546 3d22 6874 + 0x0f10: 7470 3a2f 2f6e 6574 6372 6166 742e 636f + 0x0f20: 6d2f 223e 4e65 7463 7261 6674 3c2f 413e + 0x0f30: 2070 726f 7669 6465 7320 616e 2069 6e74 + 0x0f40: 6572 6573 7469 6e67 2066 7265 650a 7365 + 0x0f50: 7276 6963 6520 666f 7220 7765 6220 7369 + 0x0f60: 7465 206d 6f6e 6974 6f72 696e 6720 616e + 0x0f70: 6420 7374 6174 6973 7469 6320 636f 6c6c + 0x0f80: 6563 7469 6f6e 2e0a 596f 7520 6361 6e20 + 0x0f90: 6c65 7420 7468 656d 206b 6e6f 7720 6162 + 0x0fa0: 6f75 7420 796f 7572 2073 6572 7665 7220 + 0x0fb0: 7573 696e 6720 7468 6569 720a 3c41 2048 + 0x0fc0: 5245 463d 2268 7474 703a 2f2f 7570 7469 + 0x0fd0: 6d65 2e6e 6574 6372 6166 742e 636f 6d2f + 0x0fe0: 223e 696e 7465 7266 6163 653c 2f41 3e2e + 0x0ff0: 0a45 6e61 626c 696e 6720 7468 6520 6d6f + 0x1000: 6e69 746f 7269 6e67 206f 6620 796f 7572 + 0x1010: 2073 6572 7665 7220 7769 6c6c 2070 726f + 0x1020: 7669 6465 2061 2062 6574 7465 7220 676c + 0x1030: 6f62 616c 206f 7665 7276 6965 770a 6f66 + 0x1040: 2077 686f 2069 7320 7573 696e 6720 7768 + 0x1050: 6174 2061 6e64 2077 6865 7265 2c20 616e + 0x1060: 6420 6974 2077 6f75 6c64 2067 6976 6520 + 0x1070: 4465 6269 616e 2061 2062 6574 7465 720a + 0x1080: 6f76 6572 7669 6577 206f 6620 7468 6520 + 0x1090: 6170 6163 6865 2070 6163 6b61 6765 2075 + 0x10a0: 7361 6765 2e0a 0a3c 4832 3e41 626f 7574 + 0x10b0: 2074 6869 7320 7061 6765 3c2f 4832 3e0a + 0x10c0: 0a3c 494d 4720 414c 4947 4e3d 2272 6967 + 0x10d0: 6874 2220 414c 543d 2222 2048 4549 4748 + 0x10e0: 543d 2232 3437 2220 5749 4454 483d 2232 + 0x10f0: 3738 2220 5352 433d 2269 636f 6e73 2f6a + 0x1100: 6865 3036 312e 706e 6722 3e0a 0a3c 503e + 0x1110: 5468 6973 2069 7320 6120 706c 6163 6568 + 0x1120: 6f6c 6465 7220 7061 6765 2069 6e73 7461 + 0x1130: 6c6c 6564 2062 7920 7468 6520 3c41 0a48 + 0x1140: 5245 463d 2268 7474 703a 2f2f 7777 772e + 0x1150: 6465 6269 616e 2e6f 7267 2f22 3e44 6562 + 0x1160: 6961 6e3c 2f41 3e0a 7265 6c65 6173 6520 + 0x1170: 6f66 2074 6865 2061 7061 6368 6520 5765 + 0x1180: 6220 7365 7276 6572 2070 6163 6b61 6765 + 0x1190: 2e0a 0a3c 503e 5468 6973 2063 6f6d 7075 + 0x11a0: 7465 7220 6861 7320 696e 7374 616c 6c65 + 0x11b0: 6420 7468 6520 4465 6269 616e 2047 4e55 + 0x11c0: 2f4c 696e 7578 206f 7065 7261 7469 6e67 + 0x11d0: 2073 7973 7465 6d2c 0a62 7574 2069 7420 + 0x11e0: 6861 7320 3c73 7472 6f6e 673e 6e6f 7468 + 0x11f0: 696e 6720 746f 2064 6f20 7769 7468 2074 + 0x1200: 6865 2044 6562 6961 6e0a 5072 6f6a 6563 + 0x1210: 743c 2f73 7472 6f6e 673e 2e20 506c 6561 + 0x1220: 7365 2064 6f20 3c73 7472 6f6e 673e 6e6f + 0x1230: 743c 2f73 7472 6f6e 673e 2063 6f6e 7461 + 0x1240: 6374 2074 6865 2044 6562 6961 6e0a 5072 + 0x1250: 6f6a 6563 7420 6162 6f75 7420 6974 2e3c + 0x1260: 2f50 3e0a 0a3c 503e 4966 2079 6f75 2066 + 0x1270: 696e 6420 6120 6275 6720 696e 2074 6869 + 0x1280: 7320 6170 6163 6865 2070 6163 6b61 6765 + 0x1290: 2c20 6f72 2069 6e20 4170 6163 6865 2069 + 0x12a0: 7473 656c 662c 0a70 6c65 6173 6520 6669 + 0x12b0: 6c65 2061 2062 7567 2072 6570 6f72 7420 + 0x12c0: 6f6e 2069 742e 2020 496e 7374 7275 6374 + 0x12d0: 696f 6e73 206f 6e20 646f 696e 6720 7468 + 0x12e0: 6973 2c20 616e 6420 7468 650a 6c69 7374 + 0x12f0: 206f 6620 3c41 2048 5245 463d 2268 7474 + 0x1300: 703a 2f2f 6275 6773 2e64 6562 6961 6e2e + 0x1310: 6f72 672f 7372 633a 6170 6163 6865 223e + 0x1320: 6b6e 6f77 6e20 6275 6773 3c2f 413e 206f + 0x1330: 6620 7468 6973 0a70 6163 6b61 6765 2c20 + 0x1340: 6361 6e20 6265 2066 6f75 6e64 2069 6e20 + 0x1350: 7468 6520 0a3c 4120 4852 4546 3d22 6874 + 0x1360: 7470 3a2f 2f77 7777 2e64 6562 6961 6e2e + 0x1370: 6f72 672f 4275 6773 2f52 6570 6f72 7469 + 0x1380: 6e67 223e 4465 6269 616e 2042 7567 2054 + 0x1390: 7261 636b 696e 6720 5379 7374 656d 3c2f + 0x13a0: 413e 2e0a 0a3c 503e 5468 616e 6b73 2066 + 0x13b0: 6f72 2075 7369 6e67 2074 6869 7320 7061 + 0x13c0: 636b 6167 652c 2061 6e64 2063 6f6e 6772 + 0x13d0: 6174 756c 6174 696f 6e73 2066 6f72 2079 + 0x13e0: 6f75 7220 6368 6f69 6365 206f 660a 6120 + 0x13f0: 4465 6269 616e 2073 7973 7465 6d21 3c2f + 0x1400: 503e 0a0a 3c44 4956 2061 6c69 676e 3d22 + 0x1410: 6365 6e74 6572 223e 0a3c 6120 6872 6566 + 0x1420: 3d22 6874 7470 3a2f 2f77 7777 2e64 6562 + 0x1430: 6961 6e2e 6f72 672f 223e 0a3c 494d 4720 + 0x1440: 616c 6967 6e3d 226d 6964 646c 6522 2068 + 0x1450: 6569 6768 743d 2233 3022 2077 6964 7468 + 0x1460: 3d22 3235 2220 7372 633d 2269 636f 6e73 + 0x1470: 2f64 6562 6961 6e2f 6f70 656e 6c6f 676f + 0x1480: 2d32 352e 6a70 6722 2061 6c74 3d22 4465 + 0x1490: 6269 616e 223e 0a3c 2f61 3e0a 3c61 2068 + 0x14a0: 7265 663d 2268 7474 703a 2f2f 7777 772e + 0x14b0: 6170 6163 6865 2e6f 7267 2f22 3e0a 3c49 + 0x14c0: 4d47 2061 6c69 676e 3d22 6d69 6464 6c65 + 0x14d0: 2220 6865 6967 6874 3d22 3332 2220 7769 + 0x14e0: 6474 683d 2232 3539 2220 7372 633d 2269 + 0x14f0: 636f 6e73 2f61 7061 6368 655f 7062 2e70 + 0x1500: 6e67 2220 616c 743d 2241 7061 6368 6522 + 0x1510: 3e0a 3c2f 613e 0a3c 2f44 4956 3e0a 0a3c + 0x1520: 212d 2d0a 2020 5468 6973 2070 6167 6520 + 0x1530: 7761 7320 696e 6974 6961 6c6c 7920 6372 + 0x1540: 6561 7465 6420 6279 204a 6f68 6e69 6520 + 0x1550: 496e 6772 616d 2028 6874 7470 3a2f 2f6e + 0x1560: 6574 676f 642e 6e65 742f 290a 2020 4974 + 0x1570: 2077 6173 206c 6174 6572 2065 6469 7465 + 0x1580: 6420 6279 204d 6174 7468 6577 2057 696c + 0x1590: 636f 7820 616e 6420 4a6f 7369 7020 526f + 0x15a0: 6469 6e2e 0a20 204c 6173 7420 6d6f 6469 + 0x15b0: 6669 6564 3a20 2444 6174 653a 2032 3030 + 0x15c0: 342f 3036 2f32 3020 3135 3a33 333a 3537 + 0x15d0: 2024 2e0a 2020 2d2d 3e0a 0a3c 2f42 4f44 + 0x15e0: 593e 0a3c 2f48 544d 4c3e 0a +23:57:35.941260 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5560 win 12383 + 0x0000: 4500 0034 1b6e 4000 4006 2154 7f00 0001 + 0x0010: 7f00 0001 da70 0050 3758 8a49 377a a3a9 + 0x0020: 8010 305f 10ea 0000 0101 080a 4ddc 9219 + 0x0030: 4ddc 9219 +23:57:37.229575 IP 127.0.0.1.55920 > 127.0.0.1.80: F 203:203(0) ack 5560 win 12383 + 0x0000: 4500 0034 1b70 4000 4006 2152 7f00 0001 + 0x0010: 7f00 0001 da70 0050 3758 8a49 377a a3a9 + 0x0020: 8011 305f 0be1 0000 0101 080a 4ddc 9721 + 0x0030: 4ddc 9219 +23:57:37.230839 IP 127.0.0.1.80 > 127.0.0.1.55920: F 5560:5560(0) ack 204 win 8192 + 0x0000: 4500 0034 1fe8 4000 4006 1cda 7f00 0001 + 0x0010: 7f00 0001 0050 da70 377a a3a9 3758 8a4a + 0x0020: 8011 2000 1735 0000 0101 080a 4ddc 9723 + 0x0030: 4ddc 9721 +23:57:37.230900 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5561 win 12383 + 0x0000: 4500 0034 1b72 4000 4006 2150 7f00 0001 + 0x0010: 7f00 0001 da70 0050 3758 8a4a 377a a3aa + 0x0020: 8010 305f 06d4 0000 0101 080a 4ddc 9723 + 0x0030: 4ddc 9723 diff --git a/contrib/tcpdump/tests/print-xx.out b/contrib/tcpdump/tests/print-xx.out new file mode 100644 index 0000000..82323d4 --- /dev/null +++ b/contrib/tcpdump/tests/print-xx.out @@ -0,0 +1,419 @@ +23:57:35.938066 IP 127.0.0.1.55920 > 127.0.0.1.80: S 928549246:928549246(0) win 32767 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 + 0x0010: 003c 1b68 4000 4006 2152 7f00 0001 7f00 + 0x0020: 0001 da70 0050 3758 897e 0000 0000 a002 + 0x0030: 7fff 1421 0000 0204 400c 0402 080a 4ddc + 0x0040: 9216 0000 0000 0103 0302 +23:57:35.938122 IP 127.0.0.1.80 > 127.0.0.1.55920: S 930778609:930778609(0) ack 928549247 win 32767 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 + 0x0010: 003c 0000 4000 4006 3cba 7f00 0001 7f00 + 0x0020: 0001 0050 da70 377a 8df1 3758 897f a012 + 0x0030: 7fff 6eb1 0000 0204 400c 0402 080a 4ddc + 0x0040: 9216 4ddc 9216 0103 0302 +23:57:35.938167 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 1 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 + 0x0010: 0034 1b6a 4000 4006 2158 7f00 0001 7f00 + 0x0020: 0001 da70 0050 3758 897f 377a 8df2 8010 + 0x0030: 2000 37d0 0000 0101 080a 4ddc 9216 4ddc + 0x0040: 9216 +23:57:35.939423 IP 127.0.0.1.55920 > 127.0.0.1.80: P 1:203(202) ack 1 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 + 0x0010: 00fe 1b6c 4000 4006 208c 7f00 0001 7f00 + 0x0020: 0001 da70 0050 3758 897f 377a 8df2 8018 + 0x0030: 2000 fef2 0000 0101 080a 4ddc 9217 4ddc + 0x0040: 9216 4745 5420 2f20 4854 5450 2f31 2e31 + 0x0050: 0d0a 486f 7374 3a20 6c6f 6361 6c68 6f73 + 0x0060: 740d 0a55 7365 722d 4167 656e 743a 2045 + 0x0070: 4c69 6e6b 732f 302e 3130 2e34 2d37 2d64 + 0x0080: 6562 6961 6e20 2874 6578 746d 6f64 653b + 0x0090: 204c 696e 7578 2032 2e36 2e31 312d 312d + 0x00a0: 3638 362d 736d 7020 6936 3836 3b20 3133 + 0x00b0: 3278 3536 2d32 290d 0a41 6363 6570 743a + 0x00c0: 202a 2f2a 0d0a 4163 6365 7074 2d45 6e63 + 0x00d0: 6f64 696e 673a 2067 7a69 700d 0a41 6363 + 0x00e0: 6570 742d 4c61 6e67 7561 6765 3a20 656e + 0x00f0: 0d0a 436f 6e6e 6563 7469 6f6e 3a20 4b65 + 0x0100: 6570 2d41 6c69 7665 0d0a 0d0a +23:57:35.940474 IP 127.0.0.1.80 > 127.0.0.1.55920: . ack 203 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 + 0x0010: 0034 1fe4 4000 4006 1cde 7f00 0001 7f00 + 0x0020: 0001 0050 da70 377a 8df2 3758 8a49 8010 + 0x0030: 2000 3703 0000 0101 080a 4ddc 9218 4ddc + 0x0040: 9217 +23:57:35.941232 IP 127.0.0.1.80 > 127.0.0.1.55920: P 1:5560(5559) ack 203 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 + 0x0010: 15eb 1fe6 4000 4006 0725 7f00 0001 7f00 + 0x0020: 0001 0050 da70 377a 8df2 3758 8a49 8018 + 0x0030: 2000 13e0 0000 0101 080a 4ddc 9219 4ddc + 0x0040: 9217 4854 5450 2f31 2e31 2032 3030 204f + 0x0050: 4b0d 0a44 6174 653a 2057 6564 2c20 3036 + 0x0060: 204a 756c 2032 3030 3520 3033 3a35 373a + 0x0070: 3335 2047 4d54 0d0a 5365 7276 6572 3a20 + 0x0080: 4170 6163 6865 2f31 2e33 2e33 330d 0a4c + 0x0090: 6173 742d 4d6f 6469 6669 6564 3a20 5375 + 0x00a0: 6e2c 2031 3520 4175 6720 3230 3034 2030 + 0x00b0: 303a 3433 3a34 3120 474d 540d 0a45 5461 + 0x00c0: 673a 2022 3665 3830 6630 2d31 3438 612d + 0x00d0: 3431 3165 6231 6264 220d 0a41 6363 6570 + 0x00e0: 742d 5261 6e67 6573 3a20 6279 7465 730d + 0x00f0: 0a43 6f6e 7465 6e74 2d4c 656e 6774 683a + 0x0100: 2035 3235 380d 0a4b 6565 702d 416c 6976 + 0x0110: 653a 2074 696d 656f 7574 3d31 352c 206d + 0x0120: 6178 3d31 3030 0d0a 436f 6e6e 6563 7469 + 0x0130: 6f6e 3a20 4b65 6570 2d41 6c69 7665 0d0a + 0x0140: 436f 6e74 656e 742d 5479 7065 3a20 7465 + 0x0150: 7874 2f68 746d 6c3b 2063 6861 7273 6574 + 0x0160: 3d69 736f 2d38 3835 392d 310d 0a0d 0a3c + 0x0170: 2144 4f43 5459 5045 2048 544d 4c20 5055 + 0x0180: 424c 4943 2022 2d2f 2f57 3343 2f2f 4454 + 0x0190: 4420 4854 4d4c 2034 2e30 3120 5472 616e + 0x01a0: 7369 7469 6f6e 616c 2f2f 454e 223e 0a3c + 0x01b0: 4854 4d4c 3e0a 3c48 4541 443e 0a20 2020 + 0x01c0: 3c4d 4554 4120 4854 5450 2d45 5155 4956 + 0x01d0: 3d22 436f 6e74 656e 742d 5479 7065 2220 + 0x01e0: 434f 4e54 454e 543d 2274 6578 742f 6874 + 0x01f0: 6d6c 3b20 6368 6172 7365 743d 6973 6f2d + 0x0200: 3838 3539 2d31 223e 0a20 2020 3c4d 4554 + 0x0210: 4120 4e41 4d45 3d22 4465 7363 7269 7074 + 0x0220: 696f 6e22 2043 4f4e 5445 4e54 3d22 5468 + 0x0230: 6520 696e 6974 6961 6c20 696e 7374 616c + 0x0240: 6c61 7469 6f6e 206f 6620 4465 6269 616e + 0x0250: 2061 7061 6368 652e 223e 0a20 2020 3c54 + 0x0260: 4954 4c45 3e50 6c61 6365 686f 6c64 6572 + 0x0270: 2070 6167 653c 2f54 4954 4c45 3e0a 3c2f + 0x0280: 4845 4144 3e0a 3c42 4f44 5920 5445 5854 + 0x0290: 3d22 2330 3030 3030 3022 2042 4743 4f4c + 0x02a0: 4f52 3d22 2346 4646 4646 4622 204c 494e + 0x02b0: 4b3d 2223 3030 3030 4546 2220 564c 494e + 0x02c0: 4b3d 2223 3535 3138 3841 2220 414c 494e + 0x02d0: 4b3d 2223 4646 3030 3030 223e 0a0a 3c48 + 0x02e0: 313e 506c 6163 6568 6f6c 6465 7220 7061 + 0x02f0: 6765 3c2f 4831 3e0a 3c48 323e 4966 2079 + 0x0300: 6f75 2061 7265 206a 7573 7420 6272 6f77 + 0x0310: 7369 6e67 2074 6865 2077 6562 3c2f 6832 + 0x0320: 3e0a 0a3c 503e 5468 6520 6f77 6e65 7220 + 0x0330: 6f66 2074 6869 7320 7765 6220 7369 7465 + 0x0340: 2068 6173 206e 6f74 2070 7574 2075 7020 + 0x0350: 616e 7920 7765 6220 7061 6765 7320 7965 + 0x0360: 742e 0a50 6c65 6173 6520 636f 6d65 2062 + 0x0370: 6163 6b20 6c61 7465 722e 3c2f 503e 0a0a + 0x0380: 3c50 3e3c 534d 414c 4c3e 3c43 4954 453e + 0x0390: 4d6f 7665 2061 6c6f 6e67 2c20 6e6f 7468 + 0x03a0: 696e 6720 746f 2073 6565 2068 6572 652e + 0x03b0: 2e2e 3c2f 4349 5445 3e20 3a2d 293c 2f53 + 0x03c0: 4d41 4c4c 3e3c 2f50 3e0a 0a3c 4832 3e49 + 0x03d0: 6620 796f 7520 6172 6520 7472 7969 6e67 + 0x03e0: 2074 6f20 6c6f 6361 7465 2074 6865 2061 + 0x03f0: 646d 696e 6973 7472 6174 6f72 206f 6620 + 0x0400: 7468 6973 206d 6163 6869 6e65 3c2f 4832 + 0x0410: 3e0a 0a3c 503e 4966 2079 6f75 2077 616e + 0x0420: 7420 746f 2072 6570 6f72 7420 736f 6d65 + 0x0430: 7468 696e 6720 6162 6f75 7420 7468 6973 + 0x0440: 2068 6f73 7427 7320 6265 6861 7669 6f72 + 0x0450: 2c20 706c 6561 7365 0a63 6f6e 7461 6374 + 0x0460: 2074 6865 2049 6e74 6572 6e65 7420 5365 + 0x0470: 7276 6963 6520 5072 6f76 6964 6572 2028 + 0x0480: 4953 5029 2069 6e76 6f6c 7665 6420 6469 + 0x0490: 7265 6374 6c79 2e3c 2f50 3e0a 0a3c 503e + 0x04a0: 5365 6520 7468 6520 3c41 2068 7265 663d + 0x04b0: 2268 7474 703a 2f2f 7777 772e 6162 7573 + 0x04c0: 652e 6e65 742f 223e 4e65 7477 6f72 6b20 + 0x04d0: 4162 7573 650a 436c 6561 7269 6e67 686f + 0x04e0: 7573 653c 2f41 3e20 666f 7220 686f 7720 + 0x04f0: 746f 2064 6f20 7468 6973 2e3c 2f50 3e0a + 0x0500: 0a3c 4832 3e49 6620 796f 7520 6172 6520 + 0x0510: 7468 6520 6164 6d69 6e69 7374 7261 746f + 0x0520: 7220 6f66 2074 6869 7320 6d61 6368 696e + 0x0530: 653c 2f48 323e 0a0a 3c50 3e54 6865 2069 + 0x0540: 6e69 7469 616c 2069 6e73 7461 6c6c 6174 + 0x0550: 696f 6e20 6f66 203c 4120 6872 6566 3d22 + 0x0560: 6874 7470 3a2f 2f77 7777 2e64 6562 6961 + 0x0570: 6e2e 6f72 672f 223e 4465 6269 616e 2773 + 0x0580: 0a61 7061 6368 653c 2f41 3e20 7765 6220 + 0x0590: 7365 7276 6572 2070 6163 6b61 6765 2077 + 0x05a0: 6173 2073 7563 6365 7373 6675 6c2e 3c2f + 0x05b0: 503e 0a0a 3c50 3e3c 5354 524f 4e47 3e59 + 0x05c0: 6f75 2073 686f 756c 6420 7265 706c 6163 + 0x05d0: 6520 7468 6973 2070 6167 6520 7769 7468 + 0x05e0: 2079 6f75 7220 6f77 6e20 7765 6220 7061 + 0x05f0: 6765 7320 6173 0a73 6f6f 6e20 6173 2070 + 0x0600: 6f73 7369 626c 652e 3c2f 5354 524f 4e47 + 0x0610: 3e3c 2f50 3e0a 0a3c 503e 556e 6c65 7373 + 0x0620: 2079 6f75 2063 6861 6e67 6564 2069 7473 + 0x0630: 2063 6f6e 6669 6775 7261 7469 6f6e 2c20 + 0x0640: 796f 7572 206e 6577 2073 6572 7665 7220 + 0x0650: 6973 2063 6f6e 6669 6775 7265 6420 6173 + 0x0660: 2066 6f6c 6c6f 7773 3a0a 3c55 4c3e 0a3c + 0x0670: 4c49 3e0a 436f 6e66 6967 7572 6174 696f + 0x0680: 6e20 6669 6c65 7320 6361 6e20 6265 2066 + 0x0690: 6f75 6e64 2069 6e20 3c54 543e 2f65 7463 + 0x06a0: 2f61 7061 6368 653c 2f54 543e 2e3c 2f4c + 0x06b0: 493e 0a0a 3c4c 493e 0a54 6865 203c 5454 + 0x06c0: 3e44 6f63 756d 656e 7452 6f6f 743c 2f54 + 0x06d0: 543e 2c20 7768 6963 6820 6973 2074 6865 + 0x06e0: 2064 6972 6563 746f 7279 2075 6e64 6572 + 0x06f0: 2077 6869 6368 2061 6c6c 2079 6f75 720a + 0x0700: 4854 4d4c 2066 696c 6573 2073 686f 756c + 0x0710: 6420 6578 6973 742c 2069 7320 7365 7420 + 0x0720: 746f 203c 5454 3e2f 7661 722f 7777 773c + 0x0730: 2f54 543e 2e3c 2f4c 493e 0a0a 3c4c 493e + 0x0740: 0a43 4749 2073 6372 6970 7473 2061 7265 + 0x0750: 206c 6f6f 6b65 6420 666f 7220 696e 203c + 0x0760: 5454 3e2f 7573 722f 6c69 622f 6367 692d + 0x0770: 6269 6e3c 2f54 543e 2c20 7768 6963 6820 + 0x0780: 6973 2077 6865 7265 0a44 6562 6961 6e20 + 0x0790: 7061 636b 6167 6573 2077 696c 6c20 706c + 0x07a0: 6163 6520 7468 6569 7220 7363 7269 7074 + 0x07b0: 732e 3c2f 4c49 3e0a 0a3c 4c49 3e0a 4c6f + 0x07c0: 6720 6669 6c65 7320 6172 6520 706c 6163 + 0x07d0: 6564 2069 6e20 3c54 543e 2f76 6172 2f6c + 0x07e0: 6f67 2f61 7061 6368 653c 2f54 543e 2c20 + 0x07f0: 616e 6420 7769 6c6c 2062 6520 726f 7461 + 0x0800: 7465 640a 7765 656b 6c79 2e20 2054 6865 + 0x0810: 2066 7265 7175 656e 6379 206f 6620 726f + 0x0820: 7461 7469 6f6e 2063 616e 2062 6520 6561 + 0x0830: 7369 6c79 2063 6861 6e67 6564 2062 7920 + 0x0840: 6564 6974 696e 670a 3c54 543e 2f65 7463 + 0x0850: 2f6c 6f67 726f 7461 7465 2e64 2f61 7061 + 0x0860: 6368 653c 2f54 543e 2e3c 2f4c 493e 0a0a + 0x0870: 3c4c 493e 0a54 6865 2064 6566 6175 6c74 + 0x0880: 2064 6972 6563 746f 7279 2069 6e64 6578 + 0x0890: 2069 7320 3c54 543e 696e 6465 782e 6874 + 0x08a0: 6d6c 3c2f 5454 3e2c 206d 6561 6e69 6e67 + 0x08b0: 2074 6861 7420 7265 7175 6573 7473 0a66 + 0x08c0: 6f72 2061 2064 6972 6563 746f 7279 203c + 0x08d0: 5454 3e2f 666f 6f2f 6261 722f 3c2f 5454 + 0x08e0: 3e20 7769 6c6c 2067 6976 6520 7468 6520 + 0x08f0: 636f 6e74 656e 7473 206f 6620 7468 6520 + 0x0900: 6669 6c65 203c 5454 3e2f 7661 722f 7777 + 0x0910: 772f 666f 6f2f 6261 722f 696e 6465 782e + 0x0920: 6874 6d6c 3c2f 5454 3e0a 6966 2069 7420 + 0x0930: 6578 6973 7473 2028 6173 7375 6d69 6e67 + 0x0940: 2074 6861 7420 3c54 543e 2f76 6172 2f77 + 0x0950: 7777 3c2f 5454 3e20 6973 2079 6f75 7220 + 0x0960: 3c54 543e 446f 6375 6d65 6e74 526f 6f74 + 0x0970: 3c2f 5454 3e29 2e3c 2f4c 493e 0a0a 3c4c + 0x0980: 493e 0a55 7365 7220 6469 7265 6374 6f72 + 0x0990: 6965 7320 6172 6520 656e 6162 6c65 642c + 0x09a0: 2061 6e64 2075 7365 7220 646f 6375 6d65 + 0x09b0: 6e74 7320 7769 6c6c 2062 6520 6c6f 6f6b + 0x09c0: 6564 2066 6f72 0a69 6e20 7468 6520 3c54 + 0x09d0: 543e 7075 626c 6963 5f68 746d 6c3c 2f54 + 0x09e0: 543e 2064 6972 6563 746f 7279 206f 6620 + 0x09f0: 7468 6520 7573 6572 7327 2068 6f6d 6573 + 0x0a00: 2e20 2054 6865 7365 2064 6972 730a 7368 + 0x0a10: 6f75 6c64 2062 6520 756e 6465 7220 3c54 + 0x0a20: 543e 2f68 6f6d 653c 2f54 543e 2c20 616e + 0x0a30: 6420 7573 6572 7320 7769 6c6c 206e 6f74 + 0x0a40: 2062 6520 6162 6c65 2074 6f20 7379 6d6c + 0x0a50: 696e 6b0a 746f 2066 696c 6573 2074 6865 + 0x0a60: 7920 646f 6e27 7420 6f77 6e2e 3c2f 4c49 + 0x0a70: 3e0a 0a3c 2f55 4c3e 0a41 6c6c 2074 6865 + 0x0a80: 2073 7461 6e64 6172 6420 6170 6163 6865 + 0x0a90: 206d 6f64 756c 6573 2061 7265 2061 7661 + 0x0aa0: 696c 6162 6c65 2077 6974 6820 7468 6973 + 0x0ab0: 2072 656c 6561 7365 2061 6e64 2061 7265 + 0x0ac0: 0a6e 6f77 206d 616e 6167 6564 2077 6974 + 0x0ad0: 6820 6465 6263 6f6e 662e 2020 5479 7065 + 0x0ae0: 203c 5454 3e64 706b 672d 7265 636f 6e66 + 0x0af0: 6967 7572 6520 6170 6163 6865 3c2f 5454 + 0x0b00: 3e20 746f 0a73 656c 6563 7420 7768 6963 + 0x0b10: 6820 6d6f 6475 6c65 7320 796f 7520 7761 + 0x0b20: 6e74 2065 6e61 626c 6564 2e20 204d 616e + 0x0b30: 7920 6f74 6865 7220 6d6f 6475 6c65 7320 + 0x0b40: 6172 6520 6176 6169 6c61 626c 650a 7468 + 0x0b50: 726f 7567 6820 7468 6520 4465 6269 616e + 0x0b60: 2070 6163 6b61 6765 2073 7973 7465 6d20 + 0x0b70: 7769 7468 2074 6865 206e 616d 6573 203c + 0x0b80: 5454 3e6c 6962 6170 6163 6865 2d6d 6f64 + 0x0b90: 2d2a 3c2f 5454 3e2e 0a49 6620 796f 7520 + 0x0ba0: 6e65 6564 2074 6f20 636f 6d70 696c 6520 + 0x0bb0: 6120 6d6f 6475 6c65 2079 6f75 7273 656c + 0x0bc0: 662c 2079 6f75 2077 696c 6c20 6e65 6564 + 0x0bd0: 2074 6f20 696e 7374 616c 6c20 7468 650a + 0x0be0: 3c54 543e 6170 6163 6865 2d64 6576 3c2f + 0x0bf0: 5454 3e20 7061 636b 6167 652e 0a0a 3c50 + 0x0c00: 3e4d 6f72 6520 646f 6375 6d65 6e74 6174 + 0x0c10: 696f 6e20 6f6e 2041 7061 6368 6520 6361 + 0x0c20: 6e20 6265 2066 6f75 6e64 206f 6e3a 0a3c + 0x0c30: 554c 3e0a 3c4c 493e 0a54 6865 203c 4120 + 0x0c40: 4852 4546 3d22 2f64 6f63 2f61 7061 6368 + 0x0c50: 652d 646f 632f 6d61 6e75 616c 2f22 3e41 + 0x0c60: 7061 6368 6520 646f 6375 6d65 6e74 6174 + 0x0c70: 696f 6e3c 2f41 3e20 7374 6f72 6564 206f + 0x0c80: 6e20 796f 7572 2073 6572 7665 722e 3c2f + 0x0c90: 4c49 3e0a 0a3c 4c49 3e0a 5468 6520 3c41 + 0x0ca0: 2048 5245 463d 2268 7474 703a 2f2f 7777 + 0x0cb0: 772e 6170 6163 6865 2e6f 7267 2f22 3e41 + 0x0cc0: 7061 6368 6520 5072 6f6a 6563 743c 2f41 + 0x0cd0: 3e20 686f 6d65 2073 6974 652e 3c2f 4c49 + 0x0ce0: 3e0a 0a3c 4c49 3e0a 5468 6520 3c41 2048 + 0x0cf0: 5245 463d 2268 7474 703a 2f2f 7777 772e + 0x0d00: 6170 6163 6865 2d73 736c 2e6f 7267 2f22 + 0x0d10: 3e41 7061 6368 652d 5353 4c3c 2f41 3e20 + 0x0d20: 686f 6d65 2073 6974 652e 3c2f 4c49 3e0a + 0x0d30: 0a3c 4c49 3e0a 5468 6520 3c41 2048 5245 + 0x0d40: 463d 2268 7474 703a 2f2f 7065 726c 2e61 + 0x0d50: 7061 6368 652e 6f72 672f 223e 6d6f 6420 + 0x0d60: 7065 726c 3c2f 413e 2068 6f6d 6520 7369 + 0x0d70: 7465 2e3c 2f4c 493e 0a0a 3c4c 493e 0a54 + 0x0d80: 6865 203c 4120 4852 4546 3d22 6874 7470 + 0x0d90: 3a2f 2f77 7777 2e61 7061 6368 6577 6565 + 0x0da0: 6b2e 636f 6d2f 223e 4170 6163 6865 5765 + 0x0db0: 656b 3c2f 413e 206e 6577 736c 6574 7465 + 0x0dc0: 722e 3c2f 4c49 3e0a 0a3c 4c49 3e0a 5468 + 0x0dd0: 6520 3c41 2048 5245 463d 2268 7474 703a + 0x0de0: 2f2f 7777 772e 6465 6269 616e 2e6f 7267 + 0x0df0: 2f64 6f63 2f22 3e44 6562 6961 6e20 5072 + 0x0e00: 6f6a 6563 740a 446f 6375 6d65 6e74 6174 + 0x0e10: 696f 6e3c 2f41 3e20 7768 6963 6820 636f + 0x0e20: 6e74 6169 6e73 2048 4f57 544f 732c 2046 + 0x0e30: 4151 732c 2061 6e64 2073 6f66 7477 6172 + 0x0e40: 6520 7570 6461 7465 732e 3c2f 4c49 3e0a + 0x0e50: 3c2f 554c 3e0a 0a3c 503e 596f 7520 6361 + 0x0e60: 6e20 616c 736f 2063 6f6e 7375 6c74 2074 + 0x0e70: 6865 206c 6973 7420 6f66 203c 4120 4852 + 0x0e80: 4546 3d22 6874 7470 3a2f 2f77 7777 2e62 + 0x0e90: 6f75 7465 6c6c 2e63 6f6d 2f66 6171 2f22 + 0x0ea0: 3e57 6f72 6c64 0a57 6964 6520 5765 6220 + 0x0eb0: 4672 6571 7565 6e74 6c79 2041 736b 6564 + 0x0ec0: 2051 7565 7374 696f 6e73 3c2f 413e 2066 + 0x0ed0: 6f72 2069 6e66 6f72 6d61 7469 6f6e 2e0a + 0x0ee0: 0a3c 4832 3e4c 6574 206f 7468 6572 2070 + 0x0ef0: 656f 706c 6520 6b6e 6f77 2061 626f 7574 + 0x0f00: 2074 6869 7320 7365 7276 6572 3c2f 4832 + 0x0f10: 3e0a 0a3c 4120 4852 4546 3d22 6874 7470 + 0x0f20: 3a2f 2f6e 6574 6372 6166 742e 636f 6d2f + 0x0f30: 223e 4e65 7463 7261 6674 3c2f 413e 2070 + 0x0f40: 726f 7669 6465 7320 616e 2069 6e74 6572 + 0x0f50: 6573 7469 6e67 2066 7265 650a 7365 7276 + 0x0f60: 6963 6520 666f 7220 7765 6220 7369 7465 + 0x0f70: 206d 6f6e 6974 6f72 696e 6720 616e 6420 + 0x0f80: 7374 6174 6973 7469 6320 636f 6c6c 6563 + 0x0f90: 7469 6f6e 2e0a 596f 7520 6361 6e20 6c65 + 0x0fa0: 7420 7468 656d 206b 6e6f 7720 6162 6f75 + 0x0fb0: 7420 796f 7572 2073 6572 7665 7220 7573 + 0x0fc0: 696e 6720 7468 6569 720a 3c41 2048 5245 + 0x0fd0: 463d 2268 7474 703a 2f2f 7570 7469 6d65 + 0x0fe0: 2e6e 6574 6372 6166 742e 636f 6d2f 223e + 0x0ff0: 696e 7465 7266 6163 653c 2f41 3e2e 0a45 + 0x1000: 6e61 626c 696e 6720 7468 6520 6d6f 6e69 + 0x1010: 746f 7269 6e67 206f 6620 796f 7572 2073 + 0x1020: 6572 7665 7220 7769 6c6c 2070 726f 7669 + 0x1030: 6465 2061 2062 6574 7465 7220 676c 6f62 + 0x1040: 616c 206f 7665 7276 6965 770a 6f66 2077 + 0x1050: 686f 2069 7320 7573 696e 6720 7768 6174 + 0x1060: 2061 6e64 2077 6865 7265 2c20 616e 6420 + 0x1070: 6974 2077 6f75 6c64 2067 6976 6520 4465 + 0x1080: 6269 616e 2061 2062 6574 7465 720a 6f76 + 0x1090: 6572 7669 6577 206f 6620 7468 6520 6170 + 0x10a0: 6163 6865 2070 6163 6b61 6765 2075 7361 + 0x10b0: 6765 2e0a 0a3c 4832 3e41 626f 7574 2074 + 0x10c0: 6869 7320 7061 6765 3c2f 4832 3e0a 0a3c + 0x10d0: 494d 4720 414c 4947 4e3d 2272 6967 6874 + 0x10e0: 2220 414c 543d 2222 2048 4549 4748 543d + 0x10f0: 2232 3437 2220 5749 4454 483d 2232 3738 + 0x1100: 2220 5352 433d 2269 636f 6e73 2f6a 6865 + 0x1110: 3036 312e 706e 6722 3e0a 0a3c 503e 5468 + 0x1120: 6973 2069 7320 6120 706c 6163 6568 6f6c + 0x1130: 6465 7220 7061 6765 2069 6e73 7461 6c6c + 0x1140: 6564 2062 7920 7468 6520 3c41 0a48 5245 + 0x1150: 463d 2268 7474 703a 2f2f 7777 772e 6465 + 0x1160: 6269 616e 2e6f 7267 2f22 3e44 6562 6961 + 0x1170: 6e3c 2f41 3e0a 7265 6c65 6173 6520 6f66 + 0x1180: 2074 6865 2061 7061 6368 6520 5765 6220 + 0x1190: 7365 7276 6572 2070 6163 6b61 6765 2e0a + 0x11a0: 0a3c 503e 5468 6973 2063 6f6d 7075 7465 + 0x11b0: 7220 6861 7320 696e 7374 616c 6c65 6420 + 0x11c0: 7468 6520 4465 6269 616e 2047 4e55 2f4c + 0x11d0: 696e 7578 206f 7065 7261 7469 6e67 2073 + 0x11e0: 7973 7465 6d2c 0a62 7574 2069 7420 6861 + 0x11f0: 7320 3c73 7472 6f6e 673e 6e6f 7468 696e + 0x1200: 6720 746f 2064 6f20 7769 7468 2074 6865 + 0x1210: 2044 6562 6961 6e0a 5072 6f6a 6563 743c + 0x1220: 2f73 7472 6f6e 673e 2e20 506c 6561 7365 + 0x1230: 2064 6f20 3c73 7472 6f6e 673e 6e6f 743c + 0x1240: 2f73 7472 6f6e 673e 2063 6f6e 7461 6374 + 0x1250: 2074 6865 2044 6562 6961 6e0a 5072 6f6a + 0x1260: 6563 7420 6162 6f75 7420 6974 2e3c 2f50 + 0x1270: 3e0a 0a3c 503e 4966 2079 6f75 2066 696e + 0x1280: 6420 6120 6275 6720 696e 2074 6869 7320 + 0x1290: 6170 6163 6865 2070 6163 6b61 6765 2c20 + 0x12a0: 6f72 2069 6e20 4170 6163 6865 2069 7473 + 0x12b0: 656c 662c 0a70 6c65 6173 6520 6669 6c65 + 0x12c0: 2061 2062 7567 2072 6570 6f72 7420 6f6e + 0x12d0: 2069 742e 2020 496e 7374 7275 6374 696f + 0x12e0: 6e73 206f 6e20 646f 696e 6720 7468 6973 + 0x12f0: 2c20 616e 6420 7468 650a 6c69 7374 206f + 0x1300: 6620 3c41 2048 5245 463d 2268 7474 703a + 0x1310: 2f2f 6275 6773 2e64 6562 6961 6e2e 6f72 + 0x1320: 672f 7372 633a 6170 6163 6865 223e 6b6e + 0x1330: 6f77 6e20 6275 6773 3c2f 413e 206f 6620 + 0x1340: 7468 6973 0a70 6163 6b61 6765 2c20 6361 + 0x1350: 6e20 6265 2066 6f75 6e64 2069 6e20 7468 + 0x1360: 6520 0a3c 4120 4852 4546 3d22 6874 7470 + 0x1370: 3a2f 2f77 7777 2e64 6562 6961 6e2e 6f72 + 0x1380: 672f 4275 6773 2f52 6570 6f72 7469 6e67 + 0x1390: 223e 4465 6269 616e 2042 7567 2054 7261 + 0x13a0: 636b 696e 6720 5379 7374 656d 3c2f 413e + 0x13b0: 2e0a 0a3c 503e 5468 616e 6b73 2066 6f72 + 0x13c0: 2075 7369 6e67 2074 6869 7320 7061 636b + 0x13d0: 6167 652c 2061 6e64 2063 6f6e 6772 6174 + 0x13e0: 756c 6174 696f 6e73 2066 6f72 2079 6f75 + 0x13f0: 7220 6368 6f69 6365 206f 660a 6120 4465 + 0x1400: 6269 616e 2073 7973 7465 6d21 3c2f 503e + 0x1410: 0a0a 3c44 4956 2061 6c69 676e 3d22 6365 + 0x1420: 6e74 6572 223e 0a3c 6120 6872 6566 3d22 + 0x1430: 6874 7470 3a2f 2f77 7777 2e64 6562 6961 + 0x1440: 6e2e 6f72 672f 223e 0a3c 494d 4720 616c + 0x1450: 6967 6e3d 226d 6964 646c 6522 2068 6569 + 0x1460: 6768 743d 2233 3022 2077 6964 7468 3d22 + 0x1470: 3235 2220 7372 633d 2269 636f 6e73 2f64 + 0x1480: 6562 6961 6e2f 6f70 656e 6c6f 676f 2d32 + 0x1490: 352e 6a70 6722 2061 6c74 3d22 4465 6269 + 0x14a0: 616e 223e 0a3c 2f61 3e0a 3c61 2068 7265 + 0x14b0: 663d 2268 7474 703a 2f2f 7777 772e 6170 + 0x14c0: 6163 6865 2e6f 7267 2f22 3e0a 3c49 4d47 + 0x14d0: 2061 6c69 676e 3d22 6d69 6464 6c65 2220 + 0x14e0: 6865 6967 6874 3d22 3332 2220 7769 6474 + 0x14f0: 683d 2232 3539 2220 7372 633d 2269 636f + 0x1500: 6e73 2f61 7061 6368 655f 7062 2e70 6e67 + 0x1510: 2220 616c 743d 2241 7061 6368 6522 3e0a + 0x1520: 3c2f 613e 0a3c 2f44 4956 3e0a 0a3c 212d + 0x1530: 2d0a 2020 5468 6973 2070 6167 6520 7761 + 0x1540: 7320 696e 6974 6961 6c6c 7920 6372 6561 + 0x1550: 7465 6420 6279 204a 6f68 6e69 6520 496e + 0x1560: 6772 616d 2028 6874 7470 3a2f 2f6e 6574 + 0x1570: 676f 642e 6e65 742f 290a 2020 4974 2077 + 0x1580: 6173 206c 6174 6572 2065 6469 7465 6420 + 0x1590: 6279 204d 6174 7468 6577 2057 696c 636f + 0x15a0: 7820 616e 6420 4a6f 7369 7020 526f 6469 + 0x15b0: 6e2e 0a20 204c 6173 7420 6d6f 6469 6669 + 0x15c0: 6564 3a20 2444 6174 653a 2032 3030 342f + 0x15d0: 3036 2f32 3020 3135 3a33 333a 3537 2024 + 0x15e0: 2e0a 2020 2d2d 3e0a 0a3c 2f42 4f44 593e + 0x15f0: 0a3c 2f48 544d 4c3e 0a +23:57:35.941260 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5560 win 12383 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 + 0x0010: 0034 1b6e 4000 4006 2154 7f00 0001 7f00 + 0x0020: 0001 da70 0050 3758 8a49 377a a3a9 8010 + 0x0030: 305f 10ea 0000 0101 080a 4ddc 9219 4ddc + 0x0040: 9219 +23:57:37.229575 IP 127.0.0.1.55920 > 127.0.0.1.80: F 203:203(0) ack 5560 win 12383 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 + 0x0010: 0034 1b70 4000 4006 2152 7f00 0001 7f00 + 0x0020: 0001 da70 0050 3758 8a49 377a a3a9 8011 + 0x0030: 305f 0be1 0000 0101 080a 4ddc 9721 4ddc + 0x0040: 9219 +23:57:37.230839 IP 127.0.0.1.80 > 127.0.0.1.55920: F 5560:5560(0) ack 204 win 8192 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 + 0x0010: 0034 1fe8 4000 4006 1cda 7f00 0001 7f00 + 0x0020: 0001 0050 da70 377a a3a9 3758 8a4a 8011 + 0x0030: 2000 1735 0000 0101 080a 4ddc 9723 4ddc + 0x0040: 9721 +23:57:37.230900 IP 127.0.0.1.55920 > 127.0.0.1.80: . ack 5561 win 12383 + 0x0000: 0000 0000 0000 0000 0000 0000 0800 4500 + 0x0010: 0034 1b72 4000 4006 2150 7f00 0001 7f00 + 0x0020: 0001 da70 0050 3758 8a4a 377a a3aa 8010 + 0x0030: 305f 06d4 0000 0101 080a 4ddc 9723 4ddc + 0x0040: 9723 -- cgit v1.1