tcptrace-6.6.7/0040755001217500001440000000000010142531754013054 5ustar mramadasuserstcptrace-6.6.7/COPYRIGHT0100644001217500001440000000441007756700120014345 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ tcptrace-6.6.7/ARGS0100644001217500001440000000355406631142154013537 0ustar mramadasusersFri Nov 6, 1998 In Use Options -AN Average N segments for throughput graphs, default is 10 -BN first segment number to analyze (default 1) -C produce color plot[s] -D print in decimal -EN last segment number to analyze (default last in file) -F create segsize graph[s] -G create ALL graphs -M produce monochrome (b/w) plot[s] -N create cwin graph[s] (data on _N_etwork) -Ofile dump matched packets to tcpdump file 'file' -P print packet contents for selected connections -R create rtt sample graph[s] -S create time sequence graph[s] -T create throughput graph[s], (average over 10 segments, see -A) -W report on estimated congestion window (not generally useful) -X print in hexidecimal -Z dump raw rtt sample times to file[s] -b brief output format -c ignore non-complete connections (didn't see syn's and fin's) -d whistle while you work (enable debug, use -d -d for more output) -e extract contents of each TCP stream into file -fEXPR output filtering (see -hfilter) -h print help messages -iN ignore connection N (can use multiple times) -l long output format -n don't resolve host or service names (much faster) -oN only connection N (can use multiple times) -p print all packet contents (can be very long) -q no output (if you just want modules output) -r print rtt statistics (slower for large files) -s use short names (list \"picard.cs.ohiou.edu\" as just \"picard\") -t 'tick' off the packet numbers as a progress indication -u print minimal UDP information too -v print version information and exit -w print various warning messages -xMODULE_SPECIFIC -y omit the (yellow) instantaneous throughput points in tput graph -z zero axis options tcptrace-6.6.7/CHANGES0100644001217500001440000006374310142530524014053 0ustar mramadasusers3.2.2 - Late 1996 added better checking for looking too far into truncated packets 3.2.3 - Thu Jan 23, 1997 added a lot more truncation checking! 3.2.4 - Tue Feb 4, 1997 changed plotter.c:HostLetter(ix) to support unlimited (26**8) different endpoints (for mallman) fixes from Bill Fenner, thanks fixed bug in va_start/va_end in DoPlot. fixed bug with temporary colors not being done correctly when using text. Caused by Changes to xplot at last version and I didn't catch it 3.2.5 - Wed Feb 5, 1997 fixed small "off by one" error introduced by the LAST fix 3.2.6 - Thu Feb 13, 1997 fixed small bug in etherpeek reading. slicelength stored as "0" when entire packet was grabbed, didn't work before, now it does. 3.2.7 - Fri Feb 14, 1997 fixes from Jeff Semke, PSC fixed bug in output.c that make it fail on some machines added FDDI support (untested by me, don't have FDDI) added Makefile flags so that it will compile on a "NetBSD 1.2 on a Pentium box" (also untested by me, I don't have one) an HP compiler picked out some places where I missed a static decl for some functions. Not fatal, but I fixed it. 3.2.8 - Tue Mar 4, 1997 added changes for Mark allow connection reuse on same pair of IP addresses and ports 4 minutes must have passed and either new segment has a SYN or old connection had seen both FINs added fix to tcptrace.c so that ^C processing is re-enabled after all packets read so that the output can be killed from the keyboard fix by Bill Fenner - Endian boo boo caused PC's not to read any packets. removed the "-m" option and made all of the array structures resizable (now supports an "infinite" number of connections) changed elapsed() routine to return double to prevent overflow of microsecond stored in a long int 3.2.9 - Wed Mar 5, 1997 changes by Rich Jones at HP to run under HPUX mostly fixed the non-ansii standard #endif FOO to be #endif /* FOO */ fixed minor printing bug, 1323 flags printed wrong fixed snoop and netm so that they worked on PC's (more byte sex problems) 3.2.10 - Thu Mar 27, 1997 Mark "pushed" segments on TSG plots top arrow is red instead of white Compute slow-start window size (should be one except for "new" tcp's) Compute estimated congestion window 3.2.11a - Mon Mar 31, 1997 Fixed bug is TS options are not 4-byte aligned Fixed tick printing (bad % value) for HUGE files (millions of packets) 3.2.12a - Thu Apr 24, 1997 Fixed bug for file with large snap length 3.2.13a - Mon Apr 28, 1997 Big fix for Rob Austein otherdir->ack being initialized incorrectly in trace.c at SYN time 3.3.0 - Mon Jul 14, 1997 Added modules support Included http module for NASA Backed out delete of libpcap, causes too many problems Now using libpcap 0.4 4.0.1 - Tue Jul 15, 1997 Ready for next public release (I hope) Verified on the platforms I have access to 4.0.2 - Wed Jul 16, 1997 Added '-W' option to turn off Mark's estimated Cwin stuff, it's not generally useful Added raw packet printing to mod_http 4.0.3 - Thu Jul 24, 1997 Fixed tcpdump.c to work with lastest libpcap (can no longer assume that header is aligned :-( ) Added plast into all packet reading routines to better check for the end of packets Added fix from Kacheong Poon for sack truncation problem 4.0.4 - Wed Aug 13, 1997 Added some very minor patches to ease FreeBSD patch. All you should need to do now is change the Makefile for FreeBSD (thanks Bill Fenner) Added hack by Mark Allman for http module Added minor changes to support Linux compilation (mostly just left the standard include files in a separate linux directory) 4.1.0 - Fri Aug 22, 1997 Added support for reading compressed files (configurable, .gz and .Z by default) Added option to save TCP stream data into files (-e) Modified mod_http.c to support HTTP1.1 streams (ick) Added help argument "-h" with several options for information including docs for long format output 4.1.1 - Fri Sep 5, 1997 Minor mfiles bug fixes mod_http now generates plot files, still experimenting fixed tcpdump to allow files with DLT_NULL headers 4.1.2 Added more module interface routines Allow modules to have per-connection data structures Fixed some compression bugs 4.1.3 Added "percent done" for compressed files, just a guess but better than N/A Passed filesize and compressed state to modules Added mod_traffic fixed bug in extract_contents (for mod_http) that caused it to fail if the first segment seen was not the first segment of the connection (oops!) Added -z flag to plot time axis from 0 rather than wallclock time big lint cleanup added support for "configure" to simplify cross-platform stuff added Mark's "data xmit time" code 4.1.4 minor LINT fix in print.c added ECHO/ECHOREPL CC/CCNEW/CCECHO to understood options added support for Etherpeek version 7 save file format fixed minor http modules bugs changed some longer fields to use "long long" if available added "pushed packets" counter added hardware duplicate detection 5.0a adding Nasseef's IPv6 support added the -y flag to turn off the (yellow) instantaneous dots in the tput plot first cut at the output filtering code (slick!) 5.0.2 added support for DLT_RAW under tcpdump (pcap) 5.0.3 bug fix for John Tysko, tcp_length & tcp_data_length were unsigned and resulting in a HUGE amount of data if the tcp header was truncated. Changed to unsigned. count/print truncated bytes/segs ALWAYS, not just when extracting data changed to use flex/bison for better portability fixed bug in etherpeek for odd-sized packets from compressed files 5.0.4 - Thu May 14, 1998 forced the "char" types for tcp_opt for ws and sack_count to be "SIGNED char", because the compiler on my PB3400/Linux makes them unsigned by default. The "-fsigned-char" could also fix it, but this seems easier. 5.0.5 - Tue Jun 23, 1998 -- Fri Aug 7, 1998 fixed mod_traffic memory allocation bug. I wonder why nobody reported this? added "pure ack" counter (for Mark) added call to print modules usage for "-hargs" added Eric's tcplib-generating module added check for ASCII input added reading of arguments from resource file, then from envariable, and then from the command line (suggestion from Jeff Semke) can read from standard input if filename is "stdin" extended "-z" option to allow you to lock either the X or the Y axis (or both) to zero (for Brian Utterback) added printing of zero-sized packets (for Brian Utterback) zero-sized packets pointed out a "bug" in the zero-based time stuff from version 4.1.3. Both graphs in a pair don't have the same "zero point", which is a little confusing. They were off by 1/2 a RTT, the difference between the SYN and the SYN/ACK. I fixed this by adding a green dot corresponding the the first SYN in the second graph. Kind of helpful in general, too. added Mallman's netbsd mkstemp change in compress.c extended the "-w" flag to make the normal case quieter lots of changes to mod_traffic, plus a few bugfixes, mostly for my use 5.0.6 - Fri Aug 14, 1998 added UDP connection support, a lot of people have been asking for it finished mod_collie 5.0.7 - Mon Aug 24, 1998 fixed bug in StringToArgv() that messed up when the arg buffer started with whitespace 5.0.8 - Wed Sep 9, 1998 changed mod_traffic to ALWAYS 'quiet' the final traffic output fixed bug report from Mark, SYN RTT's weren't being included in min RTT report. Fixed so that both SYNs and FINs are included in that calculation. 5.0.9 - Thu Sep 24, 1998 fixed bug with "only" connections not detecting reuse of ports added warnings for re-ordered packets and/or files 5.0.10 - Thu Oct 1, 1998 bug fix in snoop.c, netm.c, and epeek.c Just a check for bogus save files with invalid packet lengths to keep the program from crashing without warning fixed args in tcplib module to match the conventions in the other modules added "long duration" connection graph to traffic module bug fixes from Michele Clark - UNC thruput plot files - graph for both directions had the same title suggested making the type for the xplot sequence number axis "double" rather than "unsigned". The unsigned was from Tim Shepard's original xplot demo files. She says that double makes it work better for large sequence numbers. I'll try it and see if anybody has trouble. changed "new connection" heuristic. Then a new connection uses the same pair of ports as a previous connection, it wasn't always being detected. This was originally pointed out by Brian Utterback and later by Mark Allman. New heuristic is more in line with RFC1122 (SYN is out of the sequence space for the previous connection). 5.0.11 - Mon Oct 19, 1998 Brian Utterback found another case where I was splicing connections together. Bad unsigned match caused it... fixed (knock, knock) 5.0.12 - Mon Nov 2, 1998 Added generic, high-level line drawing functions to plotter.c Used same in mod_traffic to add an overall RTT plot Added one more minor patch to the connection splicing heuristic Lots of changes to make the RTT calculation better in cases of retransmissions and etc Added RTT graph to the traffic module Added triple-dupack counter Added triple dupack tick on TSG graphs Added dongles to ACKS on the TSG graphs to distinguish different kinds of ACKS that need to be handled differently for RTT calculation 5.0.13 - Wed Nov 4, 1998 Fixed tcpdump OUTPUT bug, created files generated "truncated-ip" warnings from real tcpdump program, I fixed it. Added cwin graph (-N) for Mark Added segsize graph (-F!) for Jeff Fedor Added elapsed time to "tick" output to make it easier to stop early Added "pure acks/second" to traffic module Added "halfopen conns" to traffic module 5.0.14 - Wed Nov 18, 1998 Changed the way that connections are stored and searched. Has a major impact in improving performance when the program's VM Size grows above the machine's physical memory. It can now continue to run well under these conditions (up to available swap space), before it just thrashed itself to a standstill. 5.0.15 - Fri Nov 20, 1998 possible fix for pipe() failure with too many files open added some minor argument parsing checks added a few extended arguments "--foo" to control lesser-used functions fixed PAGESIZE reference for Craig Metz - not under some Linux fixed error in stats when SYNs and FINs rexmitted, unique bytes was wrong (which threw off missed data and throughput) fixed a bug where rexmitted SYNs were not being included in the rexmit counts (also fixed marking on tsg graphs) added another case to the connection-splicing code to fix something I saw with FACK/SACK fixed references to the idle_max counter to give the same answer everywhere (some machines were overflowing sooner than others, I changed the math) 5.1.0 - Tue Dec 1, 1998 Getting ready for a new multi-platform distribution 5.1.1 - Wed Dec 9, 1998 Fixed bug from Brian Utterback, both RTT graphs had same title ... which led me to discover a rather obscure bug that caused the first RTT plot to get corrupted, but only if no other plots were requested 5.1.2 - Mon Dec 14, 1998 Added extended options for --showrttdongles mark non-RTT-generating ACKs with special symbols --noshowrttdongles DON'T mark non-RTT-generating ACKs with special symbols --showdupack3 mark triple dupacks on time sequence graphs --noshowdupack3 DON't mark triple dupacks on time sequence graphs --show0lensegs show zero length packets on time sequence graphs --noshow0lensegs DON'T show zero length packets on time sequence graphs made the default for the RTT dongles FALSE, they're not generally useful Minor Docs changes for filtering Added new filter syntax prefix 'b_' to recap: # 'c_' means just "Client" ./tcptrace '-fc_segs>100' file Output filter: (c_segs>100) # 's_' means just "Server" ./tcptrace '-fs_segs>100' file Output filter: (s_segs>100) # no prefix, either one ./tcptrace '-fsegs>100' file Output filter: ((c_segs>100)OR(s_segs>100)) # 'e_' means "Either", same as without prefix ./tcptrace '-fe_segs>100' file Output filter: ((c_segs>100)OR(s_segs>100)) # 'b_' means "Both" ./tcptrace '-fb_segs>100' file Output filter: ((c_segs>100)AND(s_segs>100)) Added initial support for the NLANR tsh packet format bug fix, packets/connection were being passed to modules even though they were supposed to be ignored (caused mod_rtt to break, probably others too) name resolution: split in half to resolve_ipaddresses resolve_ports +-n still toggles both, but extended args let you control either changed "-o" option to allow "-oM-N" bug fix from Jamshid Mahdavi, sack blocks not converted to local byte order (made intel platforms plot/print sacks wrong) added support for TCP/UDP/IP checksum verification only implemented for IPv4 --checksum turns it on, it's expensive 5.1.3 - Tue Jan 19, 1999 added FDDI support in snoop module (for Brian Utterback) changes from Jun-ichiro Hagino, made compliant with latest IPv6 API/implementations (just changes to constant names in ipv6.[ch]) minor bug fixes to tcplib module 5.1.4 - Wed Jan 27, 1999 fixed bug in congestion window graph, REALLY long connections would cause a counter to wrap around, messing up the average fixed major bug in tcplib module, ftp data and control ports were backwards The -O options was writing IPv6 packets incorrectly (wrong length) 5.1.5 - Wed Feb 17, 1999 fixed bug in reading .tcptracerc files, caused core dump on some files when printing packets, IP options are now printed too 5.1.6 - Tue Mar 16, 1999 added extended arg for triple dupack stats (--dupack3_data) by default: if a segment has data, it can't be a triple dupack optional: if a segment has data, it CAN be a triple dupack bug fix from Brian Utterback in snoop.c. Obscure alignment problem fixed. added "total data" graph to traffic module made counters "long long" in traffic module patches from Kevin Lahey to print ECN information patches from Kevin Lahey to read LBL Network Simulator (ns) output allow unambiguous prefixes of extended args (--foo) added --dump_packet_data to add TCP/UDP packet DATA printout along with individual packet dumps (--dump is good enough prefix) bug fixed to the http module from Daikichi Osuga (byte sex problems) added support for DLT_ATM_RFC1483-format tcpdump files 5.2.0 - Tue Sep 7, 1999 patch in gache.c for Linux/Redhat stupidity with the strncmp() macro fixed ipv6.h to work with the way that Linux/Redhat built IPv6 fixed bug in recording window stats from SYN packets when using scaling fixed off-by-one in final report on number of packets seen fixed ipv6 packet printing byte-sex problems 5.2.1 - Wed Sep 15, 1999 fixed bug (probably introduced in 5.2.0) that kept -B from working fixed bug in snoop-format code that caused it to fail if it saw a non-IP packet 5.2.2 - Mon Sep 27, 1999 bug fix from Jamshid Majdavi (and Kevin Lahey), SYN-ACKs containing window scaling were getting scaled (and shouldn't be). 5.2.3 - Interal changes and enhancements 5.2.4 - Tue Apr 11, 2000 bug fix by Priya - we were detecting rexmitted bytes in segments in error in some cases fixed bug in IPv6 header processing reported by Takayoshi Ohnishi, IPPROTO_ICMPV6 was causing infinite loop 5.2.6 - Thu Jul 6, 2000 fixed bug in TCP checksum code, it was always saying CORRECT 6.0.0a - preparing for alpha release of version 6 6.0.1a - added support for atmsnoop output format in snoop.c 6.0.1a2 - changed all of the DLT_ constants in tcpdump.[ch] to PCAP_DLT_ with the same numbers to avoid OSs that are renumbering them. ==== Note: Wed Jun 6, 2001 We've switched to CVS for everything and there's a bunch of us working on the code, so this file might not get updated the way that it should. We'll try to make the CVS logs visible in some fashion... ==== 6.0.1a3 - added format characters to several options, as an extension of a suggestion by Brian Utterback: --output_dir="STR" directory where all output files are placed (default: '') --output_prefix="STR" prefix all output files with this string (default: '') --xplot_title_prefix="STR" prefix to place in the titles of all xplot files (default: '') These options (which are handy in .tcptracerc for example), let you include the format characters: %f basename of the current input file %d execution date, standard unix output, spaces ==> underscores %t execution time & date, standard unix output, spaces ==> underscores %D execution date, format "1-14-1963" others could be added, but that's the only stuff I could think of for now. 6.0.0b4- Saturday, 6 Oct 2001 Added options : --xplot_all_files and --xplot_args. --xplot_all_files calls the xplot program to display all the generated graphs automatically . --xplot_args can be passed an argument as in --xplot_args=-1 to pass arguments to the xplot program when calling it to display the graphs. Added support for zero window probe packets and urgent data packets. tcptrace -l output shows four new fields zwnd probe pkts, zwnd probe bytes, urgent data pkts and urgent data bytes. Fixed all sprintf's in the code to snprintf's to thwart any buffer overflow attacks. Changed functionality for window scaled connections so that the output of "min win adv" does not print the minimum window as advertised in SYN packets as SYN packets cannot be scaled themselves. Completely revamped the http module with code sent by Bruce Mah. Added code to verify TCP and UDP checksums in IPv6 packets. However, code has not been tested thoroughly yet. 6.0.1 - Mon Dec 3, 2001 This is the version we'll release Also, added support with --print_seq_zero for printing sequence numbers as relative to the SYN rather than absolute. NOTE: this only works for "-P" which uses connection records, but NOT for "-p" (which doesn't) Also fixed the SACK-printing code to print in decimal if requested. Updated the manual page and made the necessary change to Makefile.in so that the manual page gets installed when tcptrace is installed. Fixed a bug with with the statistics for average window advertisement. Average was showing more than max. Fixed a bug with ACK sequence comparisons in the HTTP module. Many thanks to Daikichi Osuga for pointing out the error. Fixed a divide-by-zero error in PlotHist() in mod_rttgraph.c. Matt Muggeridge has been very kind in providing detailed information regarding porting tcptrace to OpenVMS. Please read the new file README.OpenVMS if you are interested in running tcptrace on OpenVMS. Changes made to code in order to be able to compile tcptrace under cygwin on Windows. Now works on windows too. Does not support reading compressed dump files directly though. The ns code was modified by Angelos Stavrou to read in the more detailed output from the extra headers in the ns FullTcp. Fixed a bug with the host letters. The function HostLetter was skipping host names after y, z ... jumping to ba, bb, ... instead of aa, ab ... 6.2.0 - Stable - Fri Jul 26, 2002 This is the version we'll release 6.2.1 - Fri Aug 09, 2002 enhance fulltcp file reading from r.schramp@kpn.com 6.2.2 - Fri Aug 30, 2002 added vlan support to snoop for Tysko. Need to add support in other formats too, but I don't have a packet dump to test against yet - sdo 6.2.3 - Wed Sep 18, 2002 bugfix: For FIN segments with data only FIN was getting plotted and not the data. Now data gets plotted with the default color and then one byte is plotted with the synfin color. For no data, only one byte of FIN is plotted with the synfin color. 6.2.4 - Wed Sep 18, 2002 bugfix: RST_IN relative offset was being calculated using the incorrect sequence space. trace.c:1894 plotter_text(to_tsgpl, current_time, SeqRep(thisdir,plot_at), "a", "RST_IN"); changed to: plotter_text(to_tsgpl, current_time, SeqRep(otherdir,plot_at), "a", "RST_IN"); 6.2.5 - Mon Nov 11, 2002 bugfix: Negative sequence numbers were being printed by function PrintSeqRep() for the packet print '-p' / '-P' switches. Changed the print format from %d to %u. 6.2.6 - Thu Nov 14, 2002 bugfix: '-c' option - ignore non-complete connections was working only for long output. Fixed it to work for brief output too. Release 6.4.0 ============= Bugfix made to fix misbehavior due to FILE synchronization issues found when tcptrace exits with "PCAP error - truncated file" when asked to read real-time network packets from STDIN - Mani. Patches added to process dumpfiles with 802.11 wireless headers for the Prism2 chipset. Courtesy - Brandon Eisenmann. Added new extended option "--nonreal_live_conn_interval" option to let the user set the duration to timeout live connections, in non real-time mode - Ramani. Merged from development tree: Added the options --oUDP, --iUDP, --oTCP, --iTCP to filter out TCP and UDP connections - Mani Added options --csv, --tsv, --sv= for comma/tab/-separated values to be printed with the long output - Avinash 6.4.1 : 26 APR 2003 Mani ----- Fixed a bug in the processing of IPv6 extension headers in ipv6.c:findheader() 6.4.2 : 3 MAY 2003 Jitesh ----- Fixed the processing of duplicate ACKs as in the BSD stack to count towards the 3 dupacks required for fast-retransmit. 6.4.3 : 17 MAY 2003 Mani ----- Fixed the bug in processing IPv6 extension headers in ipv6.c:gethdrlength() based on the patch sent by Thomas Bohnert. 6.4.4 : 19 MAY 2003 Wes ----- Added dsack counter to long output format and dsack sample input and output 6.4.5 : 13 JUN 2003 Mani ----- Fixed bug in the calculation of the "avg win adv" field, so that now avg. falls in between min and max. 6.4.6 : 1 JUL 2003 Mani ----- Changes made to make gcc-3.3 make lesser warnings with tcptrace. 6.4.7 : 1 AUG 2003 Mani ----- Made the --csv/--tsv/--sv options' implementation better. 6.4.8 : 4 AUG 2003 Mani ----- Fixed a bug in traffic module, so that the number of open connections are printed correct in the traffic_stats.dat file, even without giving the -C option. 6.4.9 : 6 AUG 2003 Jitesh ----- Included the code to recognize Endace ERF (Extensible Record Format), sent by Jesper Peterson. 6.4.10: 14 Aug 2003 Jitesh ------ Included the code to recognize the PPP (Point-to-Point) input file format, sent by Yann Samama. 6.4.11: 14 Aug 2003 Mani ------ Fixing the bug with filtering connections based on hostname/portname with the -f option. 6.4.12: 15 Sep 2003 Jitesh ------ Included the code to generate PF file with '-c' option. Error messages are made more logical when generating error messages for unsupported input and captured file formats. 6.4.13: 7 OCT 2003 Mani ------ Applied patch from Ulisses Alonso Camaro that lets SYN segments following zero window advertisements from the opposite direction *not* be treated as window probes. Also fixed a compilation problem due to the previous patch by Jitesh (moved the "static int count=0" line to the beginning of trace_done() function in trace.c). 6.4.14: 12 OCT 2003 Mani ------ Fixed bunch of gcc3.3.1 warnings in erf.c (unused variable warning), netm.c, ns.c (dereferencing type-punned pointer warnings). 6.4.15: 21 OCT 2003 Mani ------ Fixed the typo(?) that made us have a #ifndef __WIN32 to #ifdef __WIN32 in ipv6.h for the in6_addr structure definition. Patching in changes to mod_http.c making it more robust to print information in cases where connections get closed with RST instead of FINs and other trivia based on Yufei Wang's patch. 6.4.16: 31 OCT 2003 Mani ------ Applying the patch courtesy John Heffner that displays a yellow rwnd line in owin plots. Also adding --showrwinline option to control the yellow rwnd line, in case it gets annoying. Also fixing trivia (type conversions for certain uint to int, etc.) in output.c to keep gcc3.3 from warning on MacOSX 10.3. 6.6.0: 4 Nov 2003 Mani ----- All the changes you see above in the 6.4.x series are part of the release 6.6.0. 6.6.1: 25 Nov 2003 Mani ----- Includes a bugfix by Ramani, that restored the old semantics of the SameConn() and WhichDir() functions and includes new functions AVL_CheckHash() and AVL_CheckDir() to support the AVL tree hash-bucket implementation. Includes a fix to ns.c to correctly read port numbers; added functionality to track LEAST variables and reno LEAST algorithm to trace.c; added isRTO() in rexmit.c : all by Wes. 6.6.2: 25 Feb 2004 Mani & Jitesh ----- Fixed tcpdump.c to trace IP packets buried under VLAN headers. 6.6.3: 1 Mar 2004 Mani ----- Added a function MissingData() in trace.c to check if TCP segments were missing or were truncated when the -e option is given to extract contents. 6.6.4: 4 Mar 2004 Mani ----- Adding in the INBOUNDS module into the main tcptrace development tree. It is NOT built in by default though; you need to uncomment a line in Makefile.in to enable it. 6.6.5: 1 Oct 2004 Mani ----- * Josh fixed the file format searching order, putting tcpdump format to the end in file_formats.h as a work around for libpcap brokenness. * Fixed Mfopen() in mfiles.c to open content data files that we generate in "binary" mode - by changing fopen mode from "w" to "wb+" and "a" to "ab+". The 'b' is dummy in UNIX systems, but seems to have some semantic in the Windows world. * Fixed QuitSig() function in tcptrace.c by adding a call to udptrace_done() so that we print out UDP connection stats too (if one were piping live tcpdump traffic to tcptrace and "ctrl-c"-ed it in the middle, for example). On the way, also fixed the arbitrary "buf[4096]" declaration to be written correctly as "buf[COMP_HDR_SIZE]" in the PipeFitting() function. 6.6.6: 7 Oct 2004 Mani ----- Fixed the callback function in tcpdump.c to prevent garbage data from getting into the ip_buf buffer. 6.6.7: 4 Nov 2004 Mani with help from Dr.Ostermann & Josh ----- Fixed bugs found in the AVL search function that had major bugs / complexity issues. tcptrace-6.6.7/COPYING0100644001217500001440000004313107305522645014114 0ustar mramadasusers GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. tcptrace-6.6.7/INSTALL0100644001217500001440000000207707303465137014116 0ustar mramadasusers OK, to the best of my knowledge, you should be able to get tcptrace to compile and run under: Solaris NetBSD FreeBSD Linux Tru64 Darwin/OSX Step 1: Get pcap library If you want to be able to read tcpdump format files, then you'll need to have already installed the pcap library (see README.pcap). If tcpdump was installed correctly, then you're probably all set. If you don't HAVE this package and don't CARE about it, then comment "GROK_TCPDUMP" out of Makefile.in and we'll just skip it in the compilation. Step 2: run "./configure" that should build a Makefile that'll work on your machine Step 3: Edit Makefile Only necessary if you want to change the file formats supported, the modules compiled in, compiler flags, etc (it's commented) Step 4: run "make" that should create tcptrace Step 5: Install The program doesn't need to be setuid or anything, so once you get the "tcptrace" binary, just stuff it wherever you keep such things and you're all set. "make install" will put it in /usr/local/bin by default Shawn Ostermann Fri May 25, 2001 tcptrace-6.6.7/FAQ0100644001217500001440000012066007700407257013416 0ustar mramadasusersSome good/common questions with some relatively good answers :-) --sdo =========================================================================== Tue May 26, 1998 Q1. I installed tcptrace version 4.1.3 on sunos4.1.4 together with tcpdump version 3.4a6 and libpcap version 0.4a6 and made a few tests, however I am very puzzled by the lack of traffic in the reverse direction! Can you throw some light on what the problem might be? A1. Probably. It appears that you're doing the "packet grabbing" on the same machine that's hosting the connection. That's a problem under SunOS (and maybe other systems). Their packet capturing pseudo-device can't grab both ends of a connection whose home is the local machine. I never can remember which end it omits, but given your output, it appears that it can't see packets SENT by the local host. The easiest solution is to run tcpdump on a machine OTHER than the ones you're monitoring. =========================================================================== Fri Jul 24, 1998 Q2. I have been trying to find out when you place a diamond and when an arrow and why. A2. The "diamond" means that the segment was sent with a PUSH (so most segments will have these except for large data transfers). This feature is now documented in the on-line docs. =========================================================================== Fri Jul 24, 1998 Q3. The second thing is that you should create a margin around the plot. Unfortunately, XPLOT will only zoom out as far as the original plot. I often find myself trying to figure out what is happening at the handshake and closing of a connection and I cannot see clearly these locations because they run off the side of the plot. A3. Yes, this is a problem. The only way to do it is to add invisible points outside the normal range, xplot won't let me control the area otherwise. In this particular case, however, there's an easy solution: use the middle mouse button to move the graph so that the lower corner all shows. Using this, you can scroll anywhere on the screen, even outside the boundaries of the points being plotted. =========================================================================== Mon Jul 27, 1998 Q4. do you know if I'd be able to find the precompiled versions of tcpdump or a similar package for NT from somewhere? A4. I'm sorry, I don't keep up on Microsoft software. Lots of people have asked me this question and I don't know the answer. I'm pretty sure that tcpdump does NOT run under NT. The only packet-grabbing software that I'm aware of for Wintel machines is etherpeek (Windows/NT/Mac): http://www.aggroup.com/ It's nice software, but it's commercial. =========================================================================== Tue Jul 28, 1998 Q5. I've just tried tcptrace. It seems to be really good. But, I've got a problem: I can't trace any UDP packets. It's like we can only decode TCP packets. Is it a tcptrace feature? A5. Yes, that's why it's called _TCP_trace!!! Seriously, I've never had any reason to look at UDP packets. Tcptrace was designed to explore TCP's protocol details and there's not much protocol detail to UDP to look into. (update, version 5 DOES support UDP a little, but you need to add the "-u" option, as it ignores UDP by default) =========================================================================== Wed Jul 29, 1998 Q6. I was trying to measure tcp throughput in an experimental testbed here in xxxxx initially using netperf so as to have a roughly idea how much it would be. I tried afterwards to have the same results in the tcptrace. The problem is that the use of tcpdump program seems to degrade the performance up to 75%. Parameters used in the tcpdump are: -i interface -w file For example without tcpdump : TPUT: 45Mbps with tcpdump: TPUT: 11Mbps If the use of the tcpdump degrades performance then how else can someone use your tcptrace program in Free BSD? A6. If you want really good data from tcpdump, you need to run it on a machine on the same LAN as the tcp sender, but NOT on the same machine. You also need to make sure that the data that you're writing is going to a local file system, rather than a remote file system, which would cause extra network traffic. From what you describe, I'm assuming that you're running tcpdump on the SAME machine as one connection endpoint. I've never seen a case in which running tcpdump on a reasonably fast machine would slow it down enough to cause that sort of degradation. One other possibility is that the machine is busy enough that tcpdump is not seeing all the packets (which IS common, the kernel drops them if tcpdump gets behind). Tcptrace only counts the packets that it sees, so if it only sees half of them, its throughput estimate will be off by half. The other possibility that I alluded to is that you're writing the packet data to a file system on a different machine. That competing network traffic might congest the network enough to skew the results. =========================================================================== Wed Jul 29, 1998 Q7. And a last question: In case of TPUT which line should I consider? I suspect it should be the blue one. A7. That's the running average. Network throughput is difficult to represent discretely. Normally, you take bytes/second over a short period of time. The blue line is a running average of that figure from the beginning of the connection. If you want a numeric answer, just use "-l" with tcptrace and look at the figure that it prints out. =========================================================================== Sat Sep 12, 1998 Q8. How do I print the plots from xplot? A8. This is from the xplot README: { Clicking the left button while SHIFT is pressed causes xplot to drop a postscript file in the current directory. The title is used as the first part of the filename if there has been a title plot command. Otherwise, "xplot" is used. The file ends in PS.# where # is a serial number. Xplot is careful not to write over a previously dumped postscript file, and # is incremented until an unused filename is found. Clicking the middle button while SHIFT is pressed similarly causes xplot to drop a postscript file, but this will be scaled suitably to allow the figure to be included in a document. You might have to fiddle with the constants in emit_PS() and recompile to get the figure sized the way you want it. If you didn't like the size of the figure produced by SHIFT-Middle, Clicking the right button while SHIFT is pressed will produce a postscript plot just like the middle button, but it will take less vertical space. Again, you can fiddle with the constants in emit_PS() and recompile if you don't like these sizes. } Just a note about these files. The magic first line that gets created on them is nonstandard. The first line of a postscript file is supposed to look like: #!PS (and possibly more stuff) but xplot generates #!POSTSCRIPT That's not correct, but some older printers don't mind. My experience with newer printers is that they WON'T recognize it and will misbehave in annoying ways. If you change the first like to #!PS it'll work fine. If you have the xplot source, you might as well fix this and recompile (that's what I always do). =========================================================================== Sat Sep 12, 1998 Q9. I just installed tcptrace and xplot, but I'm having trouble figuring out how to load the neat plots into xplot? Any chance of including a typical session in the docs? A9. There's not much to it. Tcptrace creates plot files with the suffix ".xpl". To see a single plot: xplot a2b_tsg.xpl a VERY nice feature for lining up plots is the "-x" which locks all graphs to the same X axis. For example, you can: xplot -x a2b_tsg.xpl b2a_tsg.xpl and it'll show you BOTH plots. When you zoom in on one, the other zooms in too. Very handy, particularly if you line them up across you screen like: +----------------------------------------+ | | screen | +-----------------------------------+ | | | | | | | xplot graph 1 | | | | | | | | | | | +-----------------------------------+ | | +-----------------------------------+ | | | | | | | xplot graph 2 | | | | | | | | | | | +-----------------------------------+ | | | +----------------------------------------+ =========================================================================== Tue Sep 15, 1998 Q10. xplot doesn't work A10. if you type xplot [FILE].xpl and see some sort of strange syntax error warnings, type xplot -v output: xplot version 0.90 if you see something that doesn't look much like that, make sure that you're running the correct "xplot" program. There are probably a lot of programs around with the same name. You want the one from: http://www.xplot.org =========================================================================== Tue Oct 6, 1998 Q11. Do programs such as snoop identify the application (e.g. telnet, ftp) simply by knowledge of the standard port numbers, or is there something else in the packet somewhere that identifies it? A11. It's just from the port numbers. RFC 1700 http://www.cis.ohio-state.edu/htbin/rfc/rfc1700.html gives the official purposes of all of the low-numbered ports. Unix machines usually have a subset of this document in /etc/services, which is where snoop et. al. get their application information. If you have a lot of traffic on official ports that AREN'T in this file, If you can add more entries and make the snoop (and tcptrace) information easier to read. =========================================================================== Wed Dec 2, 1998 Q12. [...referring to the TSG graphs...] interpretation of some of the graphics, like the "3" and diamonds and arrows and such. A12. "3" is a triple duplicate ACK, the kind of thing that usually triggers fast retransmit in the sender. The "diamonds" are probably what you're seeing at the tops of some of the data segments. That means the segment was sent with a PUSH. =========================================================================== Wed Dec 2, 1998 Q13. From the code, there are a bunch of types of ACKS and things. A bunch of different colors as well. A13. SACKs are purple, normal ACKs are green. SYNs and FINs are orange (unless they're retransmitted, then they're red) If there's a blue diamond on an ACK, that means that it doesn't create a usable RTT sample (because something that preceeded that data was retransmitted) If there's a red diamond on an ACK, it ALSO means that there's no RTT sample for it, but in this case it's because the data being ACKed was retransmitted. =========================================================================== Mon Dec 14, 1998 Q14. Is there any way to always use the same set of flags?? A14. You can store commonly-used tcptrace arguments in "~/.tcptracerc" (comments start with '#') or in envariable "TCPTRACEOPTS". =========================================================================== Wed Dec 16, 1998 Q15. It seems to be running VERY slowly, and using very little CPU time A15. It might be stuck trying to resolve IP addresses. Try running it with "-n" to NOT resolve. I almost always use "-n" when looking at non-local traces. It sometimes takes FOREVER to resolve the names otherwise. A quick check of what it's doing is to use the "-t" option that gives you visual feedback of its progress; it displays the number of packets processed so far, percentage done (unless compressed), and the "elapsed trace file time". If it's not doing at least several hundred packets per second, then it's probably stuck doing DNS lookups. =========================================================================== Wed Dec 16, 1998 Q16. with "-t", why is the the percentage done more than 100% A16. Probably one of: 1) If it's a live file, ie one that tcpdump is currently writing, then the "percentage done" is based on the original size of the file. As such, depending on how fast the file is growing compared to the horsepower of the processor, the figure might be way off. 2) If it's a compressed file, tcptrace doesn't know how long it'll be. For gzipped files of headers only, it usually runs up to around 100%+275% (or almost 4 to one compression). =========================================================================== Thu Dec 17, 1998 Q17. What are "post-loss acks"? A17. Tcptrace tries to gather _ALL_ RTT samples, not just some of them as several TCP implementations do. I called the case causing trouble "Post Loss": =========================================================================== Thu Dec 17, 1998 Q18. Post-loss: an ACK arrives for a segment that was only xmitted once. However, at least one of the segments that preceeded it was retransmitted, so this ACK was delayed until a CUMACK could be sent. This is not a valid RTT sample therefore. A18. tcptrace counts them and (optionally) marks them on the TSG output, but otherwise ignores them =========================================================================== Thu Dec 17, 1998 Q19. What does this mean in the long output with RTT stats: For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. A19. This is some pretty old stuff that probably isn't useful anymore. When I first started looking at this, I was studying some TCP's without the Karn/Partridge stuff in them and this was a big deal. The point was to gather some stats about RTTs that might be confused by older TCPs, those that were taking samples from "ambiguous ACKs" (those for segments that were retransmitted). For those ACKs, I kept track separately of the max,min,avg,stdev. For the other RTT stats, those ACKs are ignored, as expected. I agree that the text is confusing, but I think that it's accurate given that explanation. =========================================================================== Tue Dec 22, 1998 Q20. Is it possible to use it for monitoring the whole traffic between two hosts (from and to all ports) in one throughput graph? A20. The traffic module can do that. First, you'd need to generate a dump file that contained ONLY the traffic between those two hosts (how to do that will depend on the kind of file). Assuming it's a tcpdump file, you could: tcpdump -r oldfile -w newfile host THEHOST1 and host THEHOST2 then just use something like tcptrace -xtraffic" -B" newfile to get bytes/second between the hosts for all traffic. =========================================================================== Tue Jan 12, 1999 Q21. I get the message indicating that there is the presence of hardware duplicates. What exactly does that mean? Two ethernet cards with the same MAC address? I don't think it could be a duplicate IP address. A21. That's a sanity check. It means that tcptrace saw 2 packets with the same TCP header and identical ID fields at the IP level. Because the IP headers (IPv4) are the same, it's unlikely that this is a retransmission. Most likely, it means that those packets are crossing the local network twice, as in: Router Sender Receiver | | | ========================================================== pkt1: ^---------------------< pkt2: >-----------------------------------------------^ once from the sender to a router (or hub), and then again from the router to the receiver. Tcptrace flags the situation because otherwise those packets would be seen as retransmissions when they really aren't. If you're seeing a lot of these (well, probably any at all), then there's a bad setup on your network. =========================================================================== Thu Mar 4, 1999 Q22. I just have a question regarding the congestion window plot. I am wondering if this congestion is the cwnd on the sending side or it is the MIN (cwnd, adv_win) where adv_win is the receiving side advertised window size. Can you please explain how the congestion window is calculated (I assumed it is calculated since the tcp packet does not carry the congestion window information). A22. The title of that plot is misleading and is titled "outstanding data" in the version that I'm working on now. There's a high probability that what it's plotting is similar to the sender's congestion window, but in fact it is just a heuristic that plots the amount of non-acked data on the network (the different between the highest byte sent and the highest byte ACKed). =========================================================================== Tue Mar 9, 1999 Q23. Can I use the program in "real-time" mode? A23. Sort of, but it depends on what you're trying to do. For example: tcpdump -s4096 -w- | tcptrace -e stdin will create data files for all connections as they're opened. For functions that give answers WHILE processing, this works fine. For functions that don't answer until they're done, this will require a little more fiddling. For example: tcpdump -c100 -s4096 -w- | tcptrace -e -l stdin for grab the next 100 packets and then stop, while extracting the contents and then doing a "long" output listing. =========================================================================== Mon Apr 19, 1999 Q24. Somebody pointed out that there's now a windows port of tcpdump. I don't know anything about it except the URL: A24. http://netgroup-serv.polito.it/tools/analyzer/Install/windump/ =========================================================================== Tue Apr 27, 1999 Q25. What does the "truncated data" and "truncated packets" mean ?? I ask this because I do not see any anomalies using our sniffer and tcpdump, but this field has us confused. A25. "truncated" refers to the difference between the size of the packets "on the wire" and the number of bytes saved in the dump file. With tcpdump and snoop, for example, you can set the "snap length", which controls the maximum amount of data saved from each packet. A 1500-byte packet grabbed with a 128-byte snap-length is "truncated". Because some of the analysis from various modules and features requires full packet data, tcptrace counts and prints the truncated segments ("truncated packets") and the amount of missing data ("truncated data"). =========================================================================== Wed Apr 28, 1999 Q26. I was wondering if you could please explan what the following actually mean in the detailed output: data xmit time: 1.377 secs A26. That's the elapsed time of the connection from the first segment containing data to the last segment containing data. It discounts the SYN and FIN handshaking. idletime max: 126384.9 ms That's the longest period during which no packets were sent (data or ACK) from that side of the connection. =========================================================================== Thu May 20, 1999 Q27. Is there a version of tcpdump for wintel machines? A27. I'm told that there's one here: http://netgroup-serv.polito.it/analyzer/install/windump/default.htm but I've never used it. =========================================================================== Tue Jun 1, 1999 Q28. I get some 'Z' letters printed out by xplot on a sequence number graph, and I couldn't find anything about this in the doc I found. Do you know what they mean ? A28. Those are "zero windows". That's when the receiver of the data advertises a receive window of 0, meaning that it can't accept any more data. That normally means that the receiving application can't keep up. Normally, they're followed by a "gratuitious ACK" from the receiver advertising additional buffer space, which will cause the sender to send more data. If the sender is impatient (which it's allowed to be) or the gratuitious ACK is lost, the sender can send additional data anyway (a zero window probe). =========================================================================== Wed Oct 13, 1999 Q29. I actually wanted very selective outputs. For example I just want tcptrace to give me only "actual data pkts", "rexmt data pkts", "data xmit time" and the "RTT avg". I couldnt get it to work with the filtering option. I'd appreciate any help on this. A29. There's no automatic way to do this. A simple script should do the trick. You might start with something like: tcptrace -r -l -n input/all.snoop.gz | egrep '(actual data pkts)|(rexmt data pkts)|(data xmit time)|(RTT avg)' =========================================================================== Tue Nov 9, 1999 Q30. What's with all of the stupid quotes for module args A30. As the modules evolved, it became clear that it wasn't possible to keep the names of the arguments that the module writers needed separate from the arguments that the main program wanted. Rather then make the argument names even MORE non-intuitive, I decided that all module arguments must be in the same shell argument as the -x switch that enables it. That means that if you want to pass "-G -I" to the traffic module, you need to say: tcptrace -xtraffic"-G -I" or tcptrace -xtraffic" -G -I" note that the Unix shell will package this the same as: tcptrace "-xtraffic-G -I" but this seems less clear to me somehow. The module writer then has to parse a long, ugly string, but there's a support routine to do it for them (see the existing modules as examples). =========================================================================== Tue Jan 18, 2000 Q31. Not being completely sure how to interpret out of order packets, I would be grateful if you could confirm that such conditions occur following packet losses A31. Out of order packets can occur in lots of cases. Let's say that TCP sends the following segments: 1 2 3 4 5 6 2' meaning that segment 2 was retransmitted (as 2') for some reason. If tcptrace sees those packets near the sender, it will mark 2' as a retransmission because it already saw the first instance of the segment. However, if you grab the packets "close" to the receiver, tcptrace will likely see: 1 3 4 5 6 2' because segment "2" didn't arrive. In that case, tcptrace will mark segment 2 as being "out of order" because it can't tell the difference. =========================================================================== Wed Jun 6, 2001 Q32. What if I want the output file names to be different or to go in a different place? A32. You can use the arguments: --output_dir="STR" directory where all output files are placed (default: '') --output_prefix="STR" prefix all output files with this string (default: '') with the formatting substitutions: %f basename of the current input file %d execution date, standard unix output, spaces ==> underscores %t execution time & date, standard unix output, spaces ==> underscores %D execution date, format "1-14-1963" For example, you might put in your ~/.tcptracerc --output_dir=output_%f or run tcptrace -G --output_dir=output/%d/%f file1 file2 file3 =========================================================================== Tue 12 Dec, 2000 Q33. What is a valid input file format for tcptrace? And which programs (besides tcpdump) can produce dumpfiles which tcptrace understands? A33. tcptrace supports files generated by the following packet capture tools: "tcpdump","tcpdump -- Public domain program from LBL" "snoop","Sun Snoop -- Distributed with Solaris" "etherpeek","etherpeek -- Mac sniffer program" "netmetrix","Net Metrix -- Commercial program from HP" "ns","ns -- network simulator from LBL" "tsh","NLANL Tsh Format" "netscout","NetScout Manager format" =========================================================================== Thu 14 Dec, 2000 Q34. tcptrace does not support Dags native output format. A34. ATM and PoS packets captured from OC3c, OC12c, and OC48c links by Dag cards ( http://dag.cs.waikato.ac.nz/dag/ ) can be converted into a pcap format file, and hence used as input for tcptrace (or tcpdump etc). tcptrace does not support Dags native output format, but the conversion is simple enough. =========================================================================== Mon 15 Jan, 2001 Q35. What is the last option that is specified in the SYNC packet ([|tcp]), 13:49:47.544632 172.21.21.23.1043 > 172.22.22.24.5555: S 1846530079:1846530079(0) win 16384 (DF) ^^^^^^^ A35. This is tcpdump's way of saying that the header in question (tcp) couldn't be decoded in its entirety because it was cut off early. By default, tcpdump collects only the first 68 bytes of each packet. Call tcpdump with the -s option to specify a larger "snaplen" (e.g. -s 1500). Then tcpdump will decode the complete header. =========================================================================== Thu 08 Feb, 2001 Q36. I am aware that TCPTrace only takes BINARY dump files from TCPDump. However, I have a lot of useful ASCII formatted TCPDump files which I wouldn't mind analysing with TCPTrace. Thus I was wondering if anyone knows of a simple ASCII --> BINARY conversion utility for TCPDump (and yes, I know I could do a simple PERL script to do this, but I did not want to duplicate effort in case something like this existed already). A36. I don't know of such a thing, although I've wanted one on several occastions. I see a couple of problems: 1) missing information not all of the information that tcptrace uses in all cases can be gleaned from just the ASCII output, but I suspect it would suffice in most cases 2) tedious! tcpdump output format seems pretty regular. It wouldn't be extremely difficult to parse the output, but it would take a while to get all of the special cases right (IP options, TCP options, etc) If somebody were tempted to write such a thing, I'd suggest that you make ASCII Tcpdump a supported input format. You could even write the parser in lex/yacc which should make the task much easier. It makes me a little nervous having a program that is pretending to create tcpdump binary files when those files would necessarily have errors in them from missing information. =========================================================================== Tue 20 Feb, 2001 Q37. xplot generates the following error message: "XAllocColorCells failed, will only have one plot color" A37. Tim Shepard (author of xplot), has a fix that he gives out when people ask, but he hasn't officially "released" it yet. We have a version of xplot here: http://masaka.cs.ohiou.edu/tools/xplot-0.90_sdo.tar.gz that contains his fix. Most likely this would fix your problem. =========================================================================== Tue 20 Feb, 2001 Q38. The only difference in my problem (and the one above), is that I have started getting this message since yestreday,, Before that xplot could plot all the colors. A38. Well, if you haven't changed the binary, then I haven't seen this mentioned before. All of the color problems that I've seen are related to older xplot versions... The only thought that I have is that you might be running this on a machine with a limited number of colors and they're all used up. I know that with the older Solaris boxes that I have used in the past with 256 color video hardware (like an Ultra 1 or previous), a program like netscape could eat up enough colors that xplot can't get any more. Try killing other running apps and see if the problem goes away. =========================================================================== Thu 22 Feb, 2001 Q39. tcptrace generates the following error : "Resource temporaly unavailable" A39. It isn't really a tcptrace error, it's coming from the operating system. I suspect that it's a memory allocation problem. You can get that from malloc(), although I'm a little confused because we have a malloc wrapper that traps this error and tries to explain it a little. Perhaps you're seeing that and didn't mention it. In any case, if that's the problem, then you're out of swap space (but may or may not be out of physical memory). A quick way to verify this is to run 'top' (freely available) and watch the amount of available swap space as the program runs, if it goes to 0 right before the program exits, that's your problem. Adding temporary swap space on a solaris machine (and most others) is fairly simple. You would use a combination of mkfile(1M) to make a large file to swap into (maybe 1GB) and then swap(1M) to add that new file to the list of swap space. This is a little slower than a real swap partition, but much less work. Note that this requires root access. =========================================================================== Tue 17 Apr, 2001 Q40. can tcptrace trace UDP "connections" ? A40. Take a look at the `-u --- perform (minimal) UDP analysis` option. =========================================================================== Thu 23 Aug, 2001 Q41. I'm wondering about the meaning of the white crosses on the green line (which tracks the acknowledged data by the receiver) of TIME-SEQUENCE graphes. Are they "non containing data segments"? A41. I believe it is just an empty data packet (i.e. just an ack, with zero bytes of data). Imagine a line with an arrowhead each end. Now imagine the line is zero length, and draw the two arrowheads -- it looks like an X. =========================================================================== Mon 17 Sep, 2001 Q42. I am using ns2.1b6 and want to generate trace files to be analyzed with tcptrace. Until now I have only be able to generate ASCII traces in ns, but tcptrace use binary traces. A42. Kevin Lahey wrote an input module a few years ago (ns.c) that understood the ASCII output format of NS. I haven't used it on anything non-trivial, but I thought that it worked. It's been in there for at least a couple of years, I think, and it's compiled in by default. If you turn on debugging in tcptrace (-d), does it recognize your file as being an NS trace file? You might poke at the ns.c file for a few minutes and see what it doesn't like about the file. =========================================================================== Mon, 17 Sep 2001 Q43. We're analyzing network performance and we need to compare the snoops for the server and the receiver end. We have both captures done at syncronized time but for best comparison, we need to put them both into one window, superimpose them if you will. Is this possible? If so, how? A43. xplot files are plain text files hence it is pretty easy to combine graphs manually with an editor. The first few lines of the file are setup and titles. The last line is the word "go". Get rid of the setup lines, change the plotting colors and combine the files together. =========================================================================== Thu 29 Nov, 2001 Q44. I'd like to remove the arrows in time sequence graph (tsg). What must I do? A44. I'm not sure exactly what you mean by the "arrows". However, those are just text files, so can easily be edited by hand. Take a look, Tim's input format for xplot is very readable. If you're just talking about the arrowheads, you might try something like: `egrep -v '^[ud]arrow' b2a_tsg.xpl > new_tsg.xpl` =========================================================================== Thu 29 Nov, 2001 Q45. I use tcptrace to view test results to measure tcp performance on 'ad hoc' wireless network IEEE802.11 based. I use also tcpdump (to dump packet) and DBS (to generate TCP traffic). As result I can see a lot of HD (Hardware duplicate) but I don't understand what it means. A45. HD is an indication that tcptrace thinks it is seeing a "Hardware Duplicate". That means that it saw exactly the same frame twice and it assumes that it was duplicated by the hardware or appeared twice on the wire due to bad routing. I'm not sure which of those might be the case for you. If it's annoying, you can disable the warnings with: --nocheck_hwdups DON'T check for 'hardware' dups Of course, if they're really there, they will throw off some of the analysis because they'll count as retranmissions then. =========================================================================== Thu 29 Nov, 2001 Q46. What's the meaning of the yellow line in time sequence graph? Is it the advertise window at receiver? If yes, how can I measure it if on the Y axis there are the packet number sequence? A46. That's the advertised window in terms of sequence number. The difference between the green line (ACK) and yellow line (RWIN) will be the numeric advertisement from the packet (32k for example). =========================================================================== Mon 14 Jan, 2002 Q47. I am interested in measuring the throughput of my client-server application i.e port to port throughput ability. A47. I get questions like this a lot. There isn't a lot of "aggregate" logic in the program because there are so many different ways to answer the question. It's pretty easy to add whatever you want, though. HOWEVER, you might find the "traffic" module handy. For example: `tcptrace "-xtraffic -G" file.dmp` will generate a lot of graphs that might help. The command `tcptrace -hxargs` will help you with the arguments. If you want something more, then it would be pretty easy to add the code into the mod_traffic.c file. =========================================================================== Wed Jan 22, 2002 Q48. Do I need to install anything else for tcptrace? A48. Yes, make sure you have installed libpcap, the standard packet capture library if you want to read tcpdump files. It is a good idea to install on your Unix system. =========================================================================== Wed Jan 22, 2002 Q49. Does tcptrace work with Windows? A49. Well, nobody has tried to compile tcptrace on Windows platform yet. However tcptrace can read network dumpfiles collected on Windows machines using WinDump/WinPcap. It has been tested to work successfully on WinDump version 3.5.2b ("http://netgroup-serv.polito.it/windump/") WinPcap version 2.2 ("http://netgroup-serv.polito.it/winpcap/") =========================================================================== Wed Jan 22, 2002 Q50. Can I convert the .xpl files generated by xplot into gnuplot format? A50. Yes, look at the xpl2gpl converter that comes with the distribution of tcptrace. You might also want to check the README.xpl2gpl file. =========================================================================== Mon Feb 11, 2002 Q51. Why do I get the error "Fatal, too many hosts to name (max length 8)", when I run tcptrace on my dump file? A51. It has been found that this error is related to a bug in the compiler gcc, version 2.95.3. When this version of the compiler is used to compile tcptrace along with CCOPT=-O2, it generates incorrect assembly code which then leads to the mentioned error. If you are using version 2.95.3 of gcc, following are the suggested solutions: 1. Update gcc to the latest version and then recompile tcptrace. 2. Use the same version of gcc, but edit the tcptrace Makefile, setting CCOPT=-O instead of CCOPT=-O2, and then recompile tcptrace. Either of these steps should hopefully fix the problem. =========================================================================== Tue Apr 23, 2002 Q52. I have difficulties analyzing trace files generated by ns2 with tcptrace. These tcp trace files have got the extension '.tr' and are not recognized by tcptrace as trace files generated by ns2. My question is, do I need to update tcptrace ( I am using version 6.0.1) or are there other settings to handle on ns2. A52. Many thanks to Daikichi Osuga (osuga@mml.yrp.nttdocomo.co.jp) for providing help with this: add 2 lines to ns simulatin script. set f [open out.tr w] $ns trace-all $f I use tiny script "splittr" to split trace file into "sender side" and "reciever side". --Daikichi Osuga =========================================================================== Wed May 08, 2002 Q53. How is the throughput in the throughput graph measured ? Does it include payload + tcp/ip header or just the pure payload ? A53. It includes just the pure payload. =========================================================================== Tue Aug 27, 2002 Q54. How can I calculate the delay and delay variation (jitter) with tcptrace output? What about the "idletime max", how is this figure calculated? A54. 'tcptrace -xtraffic -R ' might be useful if you are looking for the avg, min and max round-trip-times (rtt). Also, 'tcptrace -R ' might be useful for rtt sample graphs. You can calculate the delay variation by calculating "max. rtt - min rtt" --Habib Habiby (Tarek) As of the idletime max figures, they are printed for each connection and each direction with the '-l' option. They are calculated as the largest amount of time elapsed between any 2 consecutive packets seen in a particular direction. =========================================================================== Mon Jun 30, 2003 Q55. Does anyone know if (and HOW) tcptrace deals with distinguishing between those samples from ACKs that are Delayed ACKs (one ACK per two data packets) vs. those ACKs that are an ACK per data packet? I must distinguish the subsequent ACK as being sent after an ACK timeout, (which I believe is between 200ms and 500ms), if the receiver in this case is using a Delayed ACK implementation. A55. tcptrace does not implement a mechanism to distinguish normal ACKs from Delayed ACKs. However, observing the time-sequence graphs (generated with -S option) could suggest if the receiver is using Delayed ACKs by observing if an ACK is sent for every two data segments or for one). However, when calculating an RTT sample tcptrace uses the timestamp of the most recent unacknowledged segment covered by an ACK. Hence, in the case of Delayed ACKs, RTT times would not include the delays introduced by Delayed ACKs. =========================================================================== tcptrace-6.6.7/cygwin-includes/0040755001217500001440000000000010142531754016160 5ustar mramadasuserstcptrace-6.6.7/cygwin-includes/linux/0040755001217500001440000000000010142531754017317 5ustar mramadasuserstcptrace-6.6.7/cygwin-includes/linux/if_ether.h0100644001217500001440000001027407504574114021263 0ustar mramadasusers/* * INET An implementation of the TCP/IP protocol suite for the LINUX * operating system. INET is implemented using the BSD Socket * interface as the means of communication with the user level. * * Global definitions for the Ethernet IEEE 802.3 interface. * * Version: @(#)if_ether.h 1.0.1a 02/08/94 * * Author: Fred N. van Kempen, * Donald Becker, * Alan Cox, * Steve Whitehouse, * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */ #ifndef _LINUX_IF_ETHER_H #define _LINUX_IF_ETHER_H /* * IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble * and FCS/CRC (frame check sequence). */ #define ETH_ALEN 6 /* Octets in one ethernet addr */ #define ETH_HLEN 14 /* Total octets in header. */ #define ETH_ZLEN 60 /* Min. octets in frame sans FCS */ #define ETH_DATA_LEN 1500 /* Max. octets in payload */ #define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */ /* * These are the defined Ethernet Protocol ID's. */ #define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */ #define ETH_P_PUP 0x0200 /* Xerox PUP packet */ #define ETH_P_PUPAT 0x0201 /* Xerox PUP Addr Trans packet */ #define ETH_P_IP 0x0800 /* Internet Protocol packet */ #define ETH_P_X25 0x0805 /* CCITT X.25 */ #define ETH_P_ARP 0x0806 /* Address Resolution packet */ #define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */ #define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */ #define ETH_P_DEC 0x6000 /* DEC Assigned proto */ #define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */ #define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */ #define ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */ #define ETH_P_LAT 0x6004 /* DEC LAT */ #define ETH_P_DIAG 0x6005 /* DEC Diagnostics */ #define ETH_P_CUST 0x6006 /* DEC Customer use */ #define ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */ #define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */ #define ETH_P_ATALK 0x809B /* Appletalk DDP */ #define ETH_P_AARP 0x80F3 /* Appletalk AARP */ #define ETH_P_8021Q 0x8100 /* 802.1Q VLAN Extended Header */ #define ETH_P_IPX 0x8137 /* IPX over DIX */ #define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */ #define ETH_P_PPP_DISC 0x8863 /* PPPoE discovery messages */ #define ETH_P_PPP_SES 0x8864 /* PPPoE session messages */ #define ETH_P_ATMMPOA 0x884c /* MultiProtocol Over ATM */ #define ETH_P_ATMFATE 0x8884 /* Frame-based ATM Transport * over Ethernet */ /* * Non DIX types. Won't clash for 1500 types. */ #define ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */ #define ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */ #define ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */ #define ETH_P_802_2 0x0004 /* 802.2 frames */ #define ETH_P_SNAP 0x0005 /* Internal only */ #define ETH_P_DDCMP 0x0006 /* DEC DDCMP: Internal only */ #define ETH_P_WAN_PPP 0x0007 /* Dummy type for WAN PPP frames*/ #define ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */ #define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */ #define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/ #define ETH_P_TR_802_2 0x0011 /* 802.2 frames */ #define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */ #define ETH_P_CONTROL 0x0016 /* Card specific control frames */ #define ETH_P_IRDA 0x0017 /* Linux-IrDA */ #define ETH_P_ECONET 0x0018 /* Acorn Econet */ /* * This is an Ethernet frame header. */ struct ethhdr { unsigned char h_dest[ETH_ALEN]; /* destination eth addr */ unsigned char h_source[ETH_ALEN]; /* source ether addr */ unsigned short h_proto; /* packet type ID field */ }; #endif /* _LINUX_IF_ETHER_H */ tcptrace-6.6.7/cygwin-includes/pcap.h0100644001217500001440000001625307504574113017264 0ustar mramadasusers/* -*- Mode: c; tab-width: 8; indent-tabs-mode: 1; c-basic-offset: 8; -*- */ /* * Copyright (c) 1993, 1994, 1995, 1996, 1997 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the Computer Systems * Engineering Group at Lawrence Berkeley Laboratory. * 4. Neither the name of the University nor of the Laboratory may be used * to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#) $Header: /usr/local/cvs/tcptrace/cygwin-includes/pcap.h,v 1.1 2002/06/21 09:56:27 alakhian Exp $ (LBL) */ #ifndef lib_pcap_h #define lib_pcap_h #include #include #include #include #ifdef __cplusplus extern "C" { #endif #define PCAP_VERSION_MAJOR 2 #define PCAP_VERSION_MINOR 4 #define PCAP_ERRBUF_SIZE 256 /* * Compatibility for systems that have a bpf.h that * predates the bpf typedefs for 64-bit support. */ #if BPF_RELEASE - 0 < 199406 typedef int bpf_int32; typedef u_int bpf_u_int32; #endif typedef struct pcap pcap_t; typedef struct pcap_dumper pcap_dumper_t; typedef struct pcap_if pcap_if_t; typedef struct pcap_addr pcap_addr_t; /* * The first record in the file contains saved values for some * of the flags used in the printout phases of tcpdump. * Many fields here are 32 bit ints so compilers won't insert unwanted * padding; these files need to be interchangeable across architectures. * * Do not change the layout of this structure, in any way (this includes * changes that only affect the length of fields in this structure). * * Also, do not change the interpretation of any of the members of this * structure, in any way (this includes using values other than * LINKTYPE_ values, as defined in "savefile.c", in the "linktype" * field). * * Instead: * * introduce a new structure for the new format, if the layout * of the structure changed; * * send mail to "tcpdump-workers@tcpdump.org", requesting a new * magic number for your new capture file format, and, when * you get the new magic number, put it in "savefile.c"; * * use that magic number for save files with the changed file * header; * * make the code in "savefile.c" capable of reading files with * the old file header as well as files with the new file header * (using the magic number to determine the header format). * * Then supply the changes to "patches@tcpdump.org", so that future * versions of libpcap and programs that use it (such as tcpdump) will * be able to read your new capture file format. */ struct pcap_file_header { bpf_u_int32 magic; u_short version_major; u_short version_minor; bpf_int32 thiszone; /* gmt to local correction */ bpf_u_int32 sigfigs; /* accuracy of timestamps */ bpf_u_int32 snaplen; /* max length saved portion of each pkt */ bpf_u_int32 linktype; /* data link type (LINKTYPE_*) */ }; /* * Each packet in the dump file is prepended with this generic header. * This gets around the problem of different headers for different * packet interfaces. */ struct pcap_pkthdr { struct timeval ts; /* time stamp */ bpf_u_int32 caplen; /* length of portion present */ bpf_u_int32 len; /* length this packet (off wire) */ }; /* * As returned by the pcap_stats() */ struct pcap_stat { u_int ps_recv; /* number of packets received */ u_int ps_drop; /* number of packets dropped */ u_int ps_ifdrop; /* drops by interface XXX not yet supported */ }; /* * Item in a list of interfaces. */ struct pcap_if { struct pcap_if *next; char *name; /* name to hand to "pcap_open_live()" */ char *description; /* textual description of interface, or NULL */ struct pcap_addr *addresses; u_int flags; /* PCAP_IF_ interface flags */ }; #define PCAP_IF_LOOPBACK 0x00000001 /* interface is loopback */ /* * Representation of an interface address. */ struct pcap_addr { struct pcap_addr *next; struct sockaddr *addr; /* address */ struct sockaddr *netmask; /* netmask for that address */ struct sockaddr *broadaddr; /* broadcast address for that address */ struct sockaddr *dstaddr; /* P2P destination address for that address */ }; typedef void (*pcap_handler)(u_char *, const struct pcap_pkthdr *, const u_char *); char *pcap_lookupdev(char *); int pcap_lookupnet(char *, bpf_u_int32 *, bpf_u_int32 *, char *); pcap_t *pcap_open_live(char *, int, int, int, char *); pcap_t *pcap_open_dead(int, int); pcap_t *pcap_open_offline(const char *, char *); void pcap_close(pcap_t *); int pcap_loop(pcap_t *, int, pcap_handler, u_char *); int pcap_dispatch(pcap_t *, int, pcap_handler, u_char *); const u_char* pcap_next(pcap_t *, struct pcap_pkthdr *); int pcap_stats(pcap_t *, struct pcap_stat *); int pcap_setfilter(pcap_t *, struct bpf_program *); int pcap_getnonblock(pcap_t *, char *); int pcap_setnonblock(pcap_t *, int, char *); void pcap_perror(pcap_t *, char *); char *pcap_strerror(int); char *pcap_geterr(pcap_t *); int pcap_compile(pcap_t *, struct bpf_program *, char *, int, bpf_u_int32); int pcap_compile_nopcap(int, int, struct bpf_program *, char *, int, bpf_u_int32); void pcap_freecode(struct bpf_program *); int pcap_datalink(pcap_t *); int pcap_snapshot(pcap_t *); int pcap_is_swapped(pcap_t *); int pcap_major_version(pcap_t *); int pcap_minor_version(pcap_t *); /* XXX */ FILE *pcap_file(pcap_t *); int pcap_fileno(pcap_t *); pcap_dumper_t *pcap_dump_open(pcap_t *, const char *); void pcap_dump_close(pcap_dumper_t *); void pcap_dump(u_char *, const struct pcap_pkthdr *, const u_char *); int pcap_findalldevs(pcap_if_t **, char *); void pcap_freealldevs(pcap_if_t *); /* XXX this guy lives in the bpf tree */ u_int bpf_filter(struct bpf_insn *, u_char *, u_int, u_int); int bpf_validate(struct bpf_insn *f, int len); char *bpf_image(struct bpf_insn *, int); void bpf_dump(struct bpf_program *, int); #ifdef __cplusplus } #endif #endif tcptrace-6.6.7/cygwin-includes/net/0040755001217500001440000000000010142531754016746 5ustar mramadasuserstcptrace-6.6.7/cygwin-includes/net/ethernet.h0100644001217500001440000000540207504574115020741 0ustar mramadasusers/* Copyright (C) 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ /* Based on the FreeBSD version of this file. Curiously, that file lacks a copyright in the header. */ #ifndef __NET_ETHERNET_H #define __NET_ETHERNET_H 1 #include #include #include /* IEEE 802.3 Ethernet constants */ __BEGIN_DECLS /* This is a name for the 48 bit ethernet address available on many systems. */ struct ether_addr { u_int8_t ether_addr_octet[ETH_ALEN]; } __attribute__ ((__packed__)); /* 10Mb/s ethernet header */ struct ether_header { u_int8_t ether_dhost[ETH_ALEN]; /* destination eth addr */ u_int8_t ether_shost[ETH_ALEN]; /* source ether addr */ u_int16_t ether_type; /* packet type ID field */ } __attribute__ ((__packed__)); /* Ethernet protocol ID's */ #define ETHERTYPE_PUP 0x0200 /* Xerox PUP */ #define ETHERTYPE_IP 0x0800 /* IP */ #define ETHERTYPE_ARP 0x0806 /* Address resolution */ #define ETHERTYPE_REVARP 0x8035 /* Reverse ARP */ #define ETHER_ADDR_LEN ETH_ALEN /* size of ethernet addr */ #define ETHER_TYPE_LEN 2 /* bytes in type field */ #define ETHER_CRC_LEN 4 /* bytes in CRC field */ #define ETHER_HDR_LEN ETH_HLEN /* total octets in header */ #define ETHER_MIN_LEN (ETH_ZLEN + ETH_CRC_LEN) /* min packet length */ #define ETHER_MAX_LEN (ETH_FRAME_LEN + ETH_CRC_LEN) /* max packet length */ /* make sure ethenet length is valid */ #define ETHER_IS_VALID_LEN(foo) \ ((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN) /* * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have * (type-ETHERTYPE_TRAIL)*512 bytes of data followed * by an ETHER type (as given above) and then the (variable-length) header. */ #define ETHERTYPE_TRAIL 0x1000 /* Trailer packet */ #define ETHERTYPE_NTRAILER 16 #define ETHERMTU ETH_DATA_LEN #define ETHERMIN (ETHER_MIN_LEN-ETHER_HDR_LEN-ETHER_CRC_LEN) __END_DECLS #endif /* net/ethernet.h */ tcptrace-6.6.7/cygwin-includes/net/bpf.h0100644001217500001440000003302707504574114017675 0ustar mramadasusers/*- * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 * The Regents of the University of California. All rights reserved. * * This code is derived from the Stanford/CMU enet packet filter, * (net/enet.c) distributed as part of 4.3BSD, and code contributed * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence * Berkeley Laboratory. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)bpf.h 7.1 (Berkeley) 5/7/91 * * @(#) $Header: /usr/local/cvs/tcptrace/cygwin-includes/net/bpf.h,v 1.1 2002/06/21 09:56:28 alakhian Exp $ (LBL) */ #ifndef BPF_MAJOR_VERSION /* BSD style release date */ #define BPF_RELEASE 199606 typedef int bpf_int32; typedef u_int bpf_u_int32; /* * Alignment macros. BPF_WORDALIGN rounds up to the next * even multiple of BPF_ALIGNMENT. */ #ifndef __NetBSD__ #define BPF_ALIGNMENT sizeof(bpf_int32) #else #define BPF_ALIGNMENT sizeof(long) #endif #define BPF_WORDALIGN(x) (((x)+(BPF_ALIGNMENT-1))&~(BPF_ALIGNMENT-1)) #define BPF_MAXINSNS 512 #define BPF_MAXBUFSIZE 0x8000 #define BPF_MINBUFSIZE 32 /* * Structure for BIOCSETF. */ struct bpf_program { u_int bf_len; struct bpf_insn *bf_insns; }; /* * Struct returned by BIOCGSTATS. */ struct bpf_stat { u_int bs_recv; /* number of packets received */ u_int bs_drop; /* number of packets dropped */ }; /* * Struct return by BIOCVERSION. This represents the version number of * the filter language described by the instruction encodings below. * bpf understands a program iff kernel_major == filter_major && * kernel_minor >= filter_minor, that is, if the value returned by the * running kernel has the same major number and a minor number equal * equal to or less than the filter being downloaded. Otherwise, the * results are undefined, meaning an error may be returned or packets * may be accepted haphazardly. * It has nothing to do with the source code version. */ struct bpf_version { u_short bv_major; u_short bv_minor; }; /* Current version number of filter architecture. */ #define BPF_MAJOR_VERSION 1 #define BPF_MINOR_VERSION 1 /* * BPF ioctls * * The first set is for compatibility with Sun's pcc style * header files. If your using gcc, we assume that you * have run fixincludes so the latter set should work. */ #if (defined(sun) || defined(ibm032)) && !defined(__GNUC__) #define BIOCGBLEN _IOR(B,102, u_int) #define BIOCSBLEN _IOWR(B,102, u_int) #define BIOCSETF _IOW(B,103, struct bpf_program) #define BIOCFLUSH _IO(B,104) #define BIOCPROMISC _IO(B,105) #define BIOCGDLT _IOR(B,106, u_int) #define BIOCGETIF _IOR(B,107, struct ifreq) #define BIOCSETIF _IOW(B,108, struct ifreq) #define BIOCSRTIMEOUT _IOW(B,109, struct timeval) #define BIOCGRTIMEOUT _IOR(B,110, struct timeval) #define BIOCGSTATS _IOR(B,111, struct bpf_stat) #define BIOCIMMEDIATE _IOW(B,112, u_int) #define BIOCVERSION _IOR(B,113, struct bpf_version) #define BIOCSTCPF _IOW(B,114, struct bpf_program) #define BIOCSUDPF _IOW(B,115, struct bpf_program) #else #define BIOCGBLEN _IOR('B',102, u_int) #define BIOCSBLEN _IOWR('B',102, u_int) #define BIOCSETF _IOW('B',103, struct bpf_program) #define BIOCFLUSH _IO('B',104) #define BIOCPROMISC _IO('B',105) #define BIOCGDLT _IOR('B',106, u_int) #define BIOCGETIF _IOR('B',107, struct ifreq) #define BIOCSETIF _IOW('B',108, struct ifreq) #define BIOCSRTIMEOUT _IOW('B',109, struct timeval) #define BIOCGRTIMEOUT _IOR('B',110, struct timeval) #define BIOCGSTATS _IOR('B',111, struct bpf_stat) #define BIOCIMMEDIATE _IOW('B',112, u_int) #define BIOCVERSION _IOR('B',113, struct bpf_version) #define BIOCSTCPF _IOW('B',114, struct bpf_program) #define BIOCSUDPF _IOW('B',115, struct bpf_program) #endif /* * Structure prepended to each packet. */ struct bpf_hdr { struct timeval bh_tstamp; /* time stamp */ bpf_u_int32 bh_caplen; /* length of captured portion */ bpf_u_int32 bh_datalen; /* original length of packet */ u_short bh_hdrlen; /* length of bpf header (this struct plus alignment padding) */ }; /* * Because the structure above is not a multiple of 4 bytes, some compilers * will insist on inserting padding; hence, sizeof(struct bpf_hdr) won't work. * Only the kernel needs to know about it; applications use bh_hdrlen. */ #if defined(KERNEL) || defined(_KERNEL) #define SIZEOF_BPF_HDR 18 #endif /* * Data-link level type codes. */ /* * These are the types that are the same on all platforms; on other * platforms, a should be supplied that defines the additional * DLT_* codes appropriately for that platform (the BSDs, for example, * should not just pick up this version of "bpf.h"; they should also define * the additional DLT_* codes used by their kernels, as well as the values * defined here - and, if the values they use for particular DLT_ types * differ from those here, they should use their values, not the ones * here). */ #define DLT_NULL 0 /* no link-layer encapsulation */ #define DLT_EN10MB 1 /* Ethernet (10Mb) */ #define DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */ #define DLT_AX25 3 /* Amateur Radio AX.25 */ #define DLT_PRONET 4 /* Proteon ProNET Token Ring */ #define DLT_CHAOS 5 /* Chaos */ #define DLT_IEEE802 6 /* IEEE 802 Networks */ #define DLT_ARCNET 7 /* ARCNET */ #define DLT_SLIP 8 /* Serial Line IP */ #define DLT_PPP 9 /* Point-to-point Protocol */ #define DLT_FDDI 10 /* FDDI */ /* * These are values from the traditional libpcap "bpf.h". * Ports of this to particular platforms should replace these definitions * with the ones appropriate to that platform, if the values are * different on that platform. */ #define DLT_ATM_RFC1483 11 /* LLC/SNAP encapsulated atm */ #define DLT_RAW 12 /* raw IP */ /* * These are values from BSD/OS's "bpf.h". * These are not the same as the values from the traditional libpcap * "bpf.h"; however, these values shouldn't be generated by any * OS other than BSD/OS, so the correct values to use here are the * BSD/OS values. * * Platforms that have already assigned these values to other * DLT_ codes, however, should give these codes the values * from that platform, so that programs that use these codes will * continue to compile - even though they won't correctly read * files of these types. */ #ifdef __NetBSD__ #ifndef DLT_SLIP_BSDOS #define DLT_SLIP_BSDOS 13 /* BSD/OS Serial Line IP */ #define DLT_PPP_BSDOS 14 /* BSD/OS Point-to-point Protocol */ #endif #else #define DLT_SLIP_BSDOS 15 /* BSD/OS Serial Line IP */ #define DLT_PPP_BSDOS 16 /* BSD/OS Point-to-point Protocol */ #endif #define DLT_ATM_CLIP 19 /* Linux Classical-IP over ATM */ /* * These values are defined by NetBSD; other platforms should refrain from * using them for other purposes, so that NetBSD savefiles with link * types of 50 or 51 can be read as this type on all platforms. */ #define DLT_PPP_SERIAL 50 /* PPP over serial with HDLC encapsulation */ #define DLT_PPP_ETHER 51 /* PPP over Ethernet */ /* * Values between 100 and 103 are used in capture file headers as * link-layer types corresponding to DLT_ types that differ * between platforms; don't use those values for new DLT_ new types. */ /* * This value was defined by libpcap 0.5; platforms that have defined * it with a different value should define it here with that value - * a link type of 104 in a save file will be mapped to DLT_C_HDLC, * whatever value that happens to be, so programs will correctly * handle files with that link type regardless of the value of * DLT_C_HDLC. * * The name DLT_C_HDLC was used by BSD/OS; we use that name for source * compatibility with programs written for BSD/OS. * * libpcap 0.5 defined it as DLT_CHDLC; we define DLT_CHDLC as well, * for source compatibility with programs written for libpcap 0.5. */ #define DLT_C_HDLC 104 /* Cisco HDLC */ #define DLT_CHDLC DLT_C_HDLC #define DLT_IEEE802_11 105 /* IEEE 802.11 wireless */ /* * Values between 106 and 107 are used in capture file headers as * link-layer types corresponding to DLT_ types that might differ * between platforms; don't use those values for new DLT_ new types. */ /* * OpenBSD DLT_LOOP, for loopback devices; it's like DLT_NULL, except * that the AF_ type in the link-layer header is in network byte order. * * OpenBSD defines it as 12, but that collides with DLT_RAW, so we * define it as 108 here. If OpenBSD picks up this file, it should * define DLT_LOOP as 12 in its version, as per the comment above - * and should not use 108 as a DLT_ value. */ #define DLT_LOOP 108 /* * Values between 109 and 112 are used in capture file headers as * link-layer types corresponding to DLT_ types that might differ * between platforms; don't use those values for new DLT_ types * other than the corresponding DLT_ types. */ /* * This is for Linux cooked sockets. */ #define DLT_LINUX_SLL 113 /* * Apple LocalTalk hardware. */ #define DLT_LTALK 114 /* * Acorn Econet. */ #define DLT_ECONET 115 /* * Reserved for use with OpenBSD ipfilter. */ #define DLT_IPFILTER 116 /* * Reserved for use in capture-file headers as a link-layer type * corresponding to OpenBSD DLT_PFLOG; DLT_PFLOG is 17 in OpenBSD, * but that's DLT_LANE8023 in SuSE 6.3, so we can't use 17 for it * in capture-file headers. */ #define DLT_PFLOG 117 /* * Registered for Cisco-internal use. */ #define DLT_CISCO_IOS 118 /* * Reserved for 802.11 cards using the Prism II chips, with a link-layer * header including Prism monitor mode information plus an 802.11 * header. */ #define DLT_PRISM_HEADER 119 /* * Reserved for Aironet 802.11 cards, with an Aironet link-layer header * (see Doug Ambrisko's FreeBSD patches). */ #define DLT_AIRONET_HEADER 120 /* * Reserved for Siemens HiPath HDLC. */ #define DLT_HHDLC 121 /* * The instruction encodings. */ /* instruction classes */ #define BPF_CLASS(code) ((code) & 0x07) #define BPF_LD 0x00 #define BPF_LDX 0x01 #define BPF_ST 0x02 #define BPF_STX 0x03 #define BPF_ALU 0x04 #define BPF_JMP 0x05 #define BPF_RET 0x06 #define BPF_MISC 0x07 /* ld/ldx fields */ #define BPF_SIZE(code) ((code) & 0x18) #define BPF_W 0x00 #define BPF_H 0x08 #define BPF_B 0x10 #define BPF_MODE(code) ((code) & 0xe0) #define BPF_IMM 0x00 #define BPF_ABS 0x20 #define BPF_IND 0x40 #define BPF_MEM 0x60 #define BPF_LEN 0x80 #define BPF_MSH 0xa0 /* alu/jmp fields */ #define BPF_OP(code) ((code) & 0xf0) #define BPF_ADD 0x00 #define BPF_SUB 0x10 #define BPF_MUL 0x20 #define BPF_DIV 0x30 #define BPF_OR 0x40 #define BPF_AND 0x50 #define BPF_LSH 0x60 #define BPF_RSH 0x70 #define BPF_NEG 0x80 #define BPF_JA 0x00 #define BPF_JEQ 0x10 #define BPF_JGT 0x20 #define BPF_JGE 0x30 #define BPF_JSET 0x40 #define BPF_SRC(code) ((code) & 0x08) #define BPF_K 0x00 #define BPF_X 0x08 /* ret - BPF_K and BPF_X also apply */ #define BPF_RVAL(code) ((code) & 0x18) #define BPF_A 0x10 /* misc */ #define BPF_MISCOP(code) ((code) & 0xf8) #define BPF_TAX 0x00 #define BPF_TXA 0x80 /* * The instruction data structure. */ struct bpf_insn { u_short code; u_char jt; u_char jf; bpf_int32 k; }; /* * Macros for insn array initializers. */ #define BPF_STMT(code, k) { (u_short)(code), 0, 0, k } #define BPF_JUMP(code, k, jt, jf) { (u_short)(code), jt, jf, k } #if defined(BSD) && (defined(KERNEL) || defined(_KERNEL)) /* * Systems based on non-BSD kernels don't have ifnet's (or they don't mean * anything if it is in ) and won't work like this. */ # if __STDC__ extern void bpf_tap(struct ifnet *, u_char *, u_int); extern void bpf_mtap(struct ifnet *, struct mbuf *); extern void bpfattach(struct ifnet *, u_int, u_int); extern void bpfilterattach(int); # else extern void bpf_tap(); extern void bpf_mtap(); extern void bpfattach(); extern void bpfilterattach(); # endif /* __STDC__ */ #endif /* BSD && (_KERNEL || KERNEL) */ #if __STDC__ extern int bpf_validate(struct bpf_insn *, int); extern u_int bpf_filter(struct bpf_insn *, u_char *, u_int, u_int); #else extern int bpf_validate(); extern u_int bpf_filter(); #endif /* * Number of scratch memory words (for BPF_LD|BPF_MEM and BPF_ST). */ #define BPF_MEMWORDS 16 #endif tcptrace-6.6.7/cygwin-includes/net/if_arp.h0100644001217500001440000001473507504574115020374 0ustar mramadasusers/* Definitions for Address Resolution Protocol. Copyright (C) 1997, 1999, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ /* Based on the 4.4BSD and Linux version of this file. */ #ifndef _NET_IF_ARP_H #define _NET_IF_ARP_H 1 #include #include #include __BEGIN_DECLS /* Some internals from deep down in the kernel. */ #define MAX_ADDR_LEN 7 /* This structure defines an ethernet arp header. */ /* ARP protocol opcodes. */ #define ARPOP_REQUEST 1 /* ARP request. */ #define ARPOP_REPLY 2 /* ARP reply. */ #define ARPOP_RREQUEST 3 /* RARP request. */ #define ARPOP_RREPLY 4 /* RARP reply. */ #define ARPOP_InREQUEST 8 /* InARP request. */ #define ARPOP_InREPLY 9 /* InARP reply. */ #define ARPOP_NAK 10 /* (ATM)ARP NAK. */ /* See RFC 826 for protocol description. ARP packets are variable in size; the arphdr structure defines the fixed-length portion. Protocol type values are the same as those for 10 Mb/s Ethernet. It is followed by the variable-sized fields ar_sha, arp_spa, arp_tha and arp_tpa in that order, according to the lengths specified. Field names used correspond to RFC 826. */ struct arphdr { unsigned short int ar_hrd; /* Format of hardware address. */ unsigned short int ar_pro; /* Format of protocol address. */ unsigned char ar_hln; /* Length of hardware address. */ unsigned char ar_pln; /* Length of protocol address. */ unsigned short int ar_op; /* ARP opcode (command). */ #if 0 /* Ethernet looks like this : This bit is variable sized however... */ unsigned char __ar_sha[ETH_ALEN]; /* Sender hardware address. */ unsigned char __ar_sip[4]; /* Sender IP address. */ unsigned char __ar_tha[ETH_ALEN]; /* Target hardware address. */ unsigned char __ar_tip[4]; /* Target IP address. */ #endif }; /* ARP protocol HARDWARE identifiers. */ #define ARPHRD_NETROM 0 /* From KA9Q: NET/ROM pseudo. */ #define ARPHRD_ETHER 1 /* Ethernet 10/100Mbps. */ #define ARPHRD_EETHER 2 /* Experimental Ethernet. */ #define ARPHRD_AX25 3 /* AX.25 Level 2. */ #define ARPHRD_PRONET 4 /* PROnet token ring. */ #define ARPHRD_CHAOS 5 /* Chaosnet. */ #define ARPHRD_IEEE802 6 /* IEEE 802.2 Ethernet/TR/TB. */ #define ARPHRD_ARCNET 7 /* ARCnet. */ #define ARPHRD_APPLETLK 8 /* APPLEtalk. */ #define ARPHRD_DLCI 15 /* Frame Relay DLCI. */ #define ARPHRD_ATM 19 /* ATM. */ #define ARPHRD_METRICOM 23 /* Metricom STRIP (new IANA id). */ /* Dummy types for non ARP hardware */ #define ARPHRD_SLIP 256 #define ARPHRD_CSLIP 257 #define ARPHRD_SLIP6 258 #define ARPHRD_CSLIP6 259 #define ARPHRD_RSRVD 260 /* Notional KISS type. */ #define ARPHRD_ADAPT 264 #define ARPHRD_ROSE 270 #define ARPHRD_X25 271 /* CCITT X.25. */ #define ARPHDR_HWX25 272 /* Boards with X.25 in firmware. */ #define ARPHRD_PPP 512 #define ARPHRD_CISCO 513 /* Cisco HDLC. */ #define ARPHRD_HDLC ARPHRD_CISCO #define ARPHRD_LAPB 516 /* LAPB. */ #define ARPHRD_DDCMP 517 /* Digital's DDCMP. */ #define ARPHRD_RAWHDLC 518 /* Raw HDLC. */ #define ARPHRD_TUNNEL 768 /* IPIP tunnel. */ #define ARPHRD_TUNNEL6 769 /* IPIP6 tunnel. */ #define ARPHRD_FRAD 770 /* Frame Relay Access Device. */ #define ARPHRD_SKIP 771 /* SKIP vif. */ #define ARPHRD_LOOPBACK 772 /* Loopback device. */ #define ARPHRD_LOCALTLK 773 /* Localtalk device. */ #define ARPHRD_FDDI 774 /* Fiber Distributed Data Interface. */ #define ARPHRD_BIF 775 /* AP1000 BIF. */ #define ARPHRD_SIT 776 /* sit0 device - IPv6-in-IPv4. */ #define ARPHRD_IPDDP 777 /* IP-in-DDP tunnel. */ #define ARPHRD_IPGRE 778 /* GRE over IP. */ #define ARPHRD_PIMREG 779 /* PIMSM register interface. */ #define ARPHRD_HIPPI 780 /* High Performance Parallel I'face. */ #define ARPHRD_ASH 781 /* (Nexus Electronics) Ash. */ #define ARPHRD_ECONET 782 /* Acorn Econet. */ #define ARPHRD_IRDA 783 /* Linux-IrDA. */ #define ARPHRD_FCPP 784 /* Point to point fibrechanel. */ #define ARPHRD_FCAL 785 /* Fibrechanel arbitrated loop. */ #define ARPHRD_FCPL 786 /* Fibrechanel public loop. */ #define ARPHRD_FCPFABRIC 787 /* Fibrechanel fabric. */ #define ARPHRD_IEEE802_TR 800 /* Magic type ident for TR. */ #define ARPHRD_IEEE80211 801 /* IEEE 802.11. */ /* ARP ioctl request. */ struct arpreq { struct sockaddr arp_pa; /* Protocol address. */ struct sockaddr arp_ha; /* Hardware address. */ int arp_flags; /* Flags. */ struct sockaddr arp_netmask; /* Netmask (only for proxy arps). */ char arp_dev[16]; }; struct arpreq_old { struct sockaddr arp_pa; /* Protocol address. */ struct sockaddr arp_ha; /* Hardware address. */ int arp_flags; /* Flags. */ struct sockaddr arp_netmask; /* Netmask (only for proxy arps). */ }; /* ARP Flag values. */ #define ATF_COM 0x02 /* Completed entry (ha valid). */ #define ATF_PERM 0x04 /* Permanent entry. */ #define ATF_PUBL 0x08 /* Publish entry. */ #define ATF_USETRAILERS 0x10 /* Has requested trailers. */ #define ATF_NETMASK 0x20 /* Want to use a netmask (only for proxy entries). */ #define ATF_DONTPUB 0x40 /* Don't answer this addresses. */ #define ATF_MAGIC 0x80 /* Automatically added entry. */ /* Support for the user space arp daemon, arpd. */ #define ARPD_UPDATE 0x01 #define ARPD_LOOKUP 0x02 #define ARPD_FLUSH 0x03 struct arpd_request { unsigned short int req; /* Request type. */ u_int32_t ip; /* IP address of entry. */ unsigned long int dev; /* Device entry is tied to. */ unsigned long int stamp; unsigned long int updated; unsigned char ha[MAX_ADDR_LEN]; /* Hardware address. */ }; __END_DECLS #endif /* net/if_arp.h */ tcptrace-6.6.7/cygwin-includes/netinet/0040755001217500001440000000000010142531754017626 5ustar mramadasuserstcptrace-6.6.7/cygwin-includes/netinet/if_ether.h0100644001217500001440000000773007504574116021577 0ustar mramadasusers/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifndef __NETINET_IF_ETHER_H #define __NETINET_IF_ETHER_H 1 #include #include /* Get definitions from kernel header file. */ #include #ifdef __USE_BSD /* * Copyright (c) 1982, 1986, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)if_ether.h 8.3 (Berkeley) 5/2/95 * $FreeBSD$ */ #include #include __BEGIN_DECLS /* * Ethernet Address Resolution Protocol. * * See RFC 826 for protocol description. Structure below is adapted * to resolving internet addresses. Field names used correspond to * RFC 826. */ struct ether_arp { struct arphdr ea_hdr; /* fixed-size header */ u_int8_t arp_sha[ETH_ALEN]; /* sender hardware address */ u_int8_t arp_spa[4]; /* sender protocol address */ u_int8_t arp_tha[ETH_ALEN]; /* target hardware address */ u_int8_t arp_tpa[4]; /* target protocol address */ }; #define arp_hrd ea_hdr.ar_hrd #define arp_pro ea_hdr.ar_pro #define arp_hln ea_hdr.ar_hln #define arp_pln ea_hdr.ar_pln #define arp_op ea_hdr.ar_op /* * Macro to map an IP multicast address to an Ethernet multicast address. * The high-order 25 bits of the Ethernet address are statically assigned, * and the low-order 23 bits are taken from the low end of the IP address. */ #define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \ /* struct in_addr *ipaddr; */ \ /* u_char enaddr[ETH_ALEN]; */ \ { \ (enaddr)[0] = 0x01; \ (enaddr)[1] = 0x00; \ (enaddr)[2] = 0x5e; \ (enaddr)[3] = ((u_int8_t *)ipaddr)[1] & 0x7f; \ (enaddr)[4] = ((u_int8_t *)ipaddr)[2]; \ (enaddr)[5] = ((u_int8_t *)ipaddr)[3]; \ } __END_DECLS #endif /* __USE_BSD */ #endif /* netinet/if_ether.h */ tcptrace-6.6.7/cygwin-includes/netinet/ip.h0100644001217500001440000001752607504574116020426 0ustar mramadasusers/* Copyright (C) 1991,92,93,95,96,97,98,99,2000 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifndef __NETINET_IP_H #define __NETINET_IP_H 1 #include #include #include #define __BYTE_ORDER __LITTLE_ENDIAN __BEGIN_DECLS struct timestamp { u_int8_t len; u_int8_t ptr; #if __BYTE_ORDER == __LITTLE_ENDIAN unsigned int flags:4; unsigned int overflow:4; #elif __BYTE_ORDER == __BIG_ENDIAN unsigned int overflow:4; unsigned int flags:4; #else # error "Please fix " #endif u_int32_t data[9]; }; struct iphdr { #if __BYTE_ORDER == __LITTLE_ENDIAN unsigned int ihl:4; unsigned int version:4; #elif __BYTE_ORDER == __BIG_ENDIAN unsigned int version:4; unsigned int ihl:4; #else # error "Please fix " #endif u_int8_t tos; u_int16_t tot_len; u_int16_t id; u_int16_t frag_off; u_int8_t ttl; u_int8_t protocol; u_int16_t check; u_int32_t saddr; u_int32_t daddr; /*The options start here. */ }; #ifdef __USE_BSD /* * Copyright (c) 1982, 1986, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)ip.h 8.1 (Berkeley) 6/10/93 */ /* * Definitions for internet protocol version 4. * Per RFC 791, September 1981. */ /* * Structure of an internet header, naked of options. */ struct ip { #if __BYTE_ORDER == __LITTLE_ENDIAN unsigned int ip_hl:4; /* header length */ unsigned int ip_v:4; /* version */ #endif #if __BYTE_ORDER == __BIG_ENDIAN unsigned int ip_v:4; /* version */ unsigned int ip_hl:4; /* header length */ #endif u_int8_t ip_tos; /* type of service */ u_short ip_len; /* total length */ u_short ip_id; /* identification */ u_short ip_off; /* fragment offset field */ #define IP_RF 0x8000 /* reserved fragment flag */ #define IP_DF 0x4000 /* dont fragment flag */ #define IP_MF 0x2000 /* more fragments flag */ #define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ u_int8_t ip_ttl; /* time to live */ u_int8_t ip_p; /* protocol */ u_short ip_sum; /* checksum */ struct in_addr ip_src, ip_dst; /* source and dest address */ }; /* * Time stamp option structure. */ struct ip_timestamp { u_int8_t ipt_code; /* IPOPT_TS */ u_int8_t ipt_len; /* size of structure (variable) */ u_int8_t ipt_ptr; /* index of current entry */ #if __BYTE_ORDER == __LITTLE_ENDIAN unsigned int ipt_flg:4; /* flags, see below */ unsigned int ipt_oflw:4; /* overflow counter */ #endif #if __BYTE_ORDER == __BIG_ENDIAN unsigned int ipt_oflw:4; /* overflow counter */ unsigned int ipt_flg:4; /* flags, see below */ #endif u_int32_t data[9]; }; #endif /* __USE_BSD */ #define IPVERSION 4 /* IP version number */ #define IP_MAXPACKET 65535 /* maximum packet size */ /* * Definitions for IP type of service (ip_tos) */ #define IPTOS_TOS_MASK 0x1E #define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK) #define IPTOS_LOWDELAY 0x10 #define IPTOS_THROUGHPUT 0x08 #define IPTOS_RELIABILITY 0x04 #define IPTOS_LOWCOST 0x02 #define IPTOS_MINCOST IPTOS_LOWCOST /* * Definitions for IP precedence (also in ip_tos) (hopefully unused) */ #define IPTOS_PREC_MASK 0xe0 #define IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK) #define IPTOS_PREC_NETCONTROL 0xe0 #define IPTOS_PREC_INTERNETCONTROL 0xc0 #define IPTOS_PREC_CRITIC_ECP 0xa0 #define IPTOS_PREC_FLASHOVERRIDE 0x80 #define IPTOS_PREC_FLASH 0x60 #define IPTOS_PREC_IMMEDIATE 0x40 #define IPTOS_PREC_PRIORITY 0x20 #define IPTOS_PREC_ROUTINE 0x00 /* * Definitions for options. */ #define IPOPT_COPY 0x80 #define IPOPT_CLASS_MASK 0x60 #define IPOPT_NUMBER_MASK 0x1f #define IPOPT_COPIED(o) ((o) & IPOPT_COPY) #define IPOPT_CLASS(o) ((o) & IPOPT_CLASS_MASK) #define IPOPT_NUMBER(o) ((o) & IPOPT_NUMBER_MASK) #define IPOPT_CONTROL 0x00 #define IPOPT_RESERVED1 0x20 #define IPOPT_DEBMEAS 0x40 #define IPOPT_MEASUREMENT IPOPT_DEBMEAS #define IPOPT_RESERVED2 0x60 #define IPOPT_EOL 0 /* end of option list */ #define IPOPT_END IPOPT_EOL #define IPOPT_NOP 1 /* no operation */ #define IPOPT_NOOP IPOPT_NOP #define IPOPT_RR 7 /* record packet route */ #define IPOPT_TS 68 /* timestamp */ #define IPOPT_TIMESTAMP IPOPT_TS #define IPOPT_SECURITY 130 /* provide s,c,h,tcc */ #define IPOPT_SEC IPOPT_SECURITY #define IPOPT_LSRR 131 /* loose source route */ #define IPOPT_SATID 136 /* satnet id */ #define IPOPT_SID IPOPT_SATID #define IPOPT_SSRR 137 /* strict source route */ #define IPOPT_RA 148 /* router alert */ /* * Offsets to fields in options other than EOL and NOP. */ #define IPOPT_OPTVAL 0 /* option ID */ #define IPOPT_OLEN 1 /* option length */ #define IPOPT_OFFSET 2 /* offset within option */ #define IPOPT_MINOFF 4 /* min value of above */ #define MAX_IPOPTLEN 40 /* flag bits for ipt_flg */ #define IPOPT_TS_TSONLY 0 /* timestamps only */ #define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */ #define IPOPT_TS_PRESPEC 3 /* specified modules only */ /* bits for security (not byte swapped) */ #define IPOPT_SECUR_UNCLASS 0x0000 #define IPOPT_SECUR_CONFID 0xf135 #define IPOPT_SECUR_EFTO 0x789a #define IPOPT_SECUR_MMMM 0xbc4d #define IPOPT_SECUR_RESTR 0xaf13 #define IPOPT_SECUR_SECRET 0xd788 #define IPOPT_SECUR_TOPSECRET 0x6bc5 /* * Internet implementation parameters. */ #define MAXTTL 255 /* maximum time to live (seconds) */ #define IPDEFTTL 64 /* default ttl, from RFC 1340 */ #define IPFRAGTTL 60 /* time to live for frags, slowhz */ #define IPTTLDEC 1 /* subtracted when forwarding */ #define IP_MSS 576 /* default maximum segment size */ __END_DECLS #endif /* netinet/ip.h */ tcptrace-6.6.7/cygwin-includes/netinet/tcp.h0100644001217500001440000001447707504574117020607 0ustar mramadasusers/* * Copyright (c) 1982, 1986, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)tcp.h 8.1 (Berkeley) 6/10/93 */ #ifndef _NETINET_TCP_H #define _NETINET_TCP_H 1 #include #define __BYTE_ORDER __LITTLE_ENDIAN /* * User-settable options (used with setsockopt). */ //#define TCP_NODELAY 1 /* Don't delay send to coalesce packets */ #define TCP_MAXSEG 2 /* Set maximum segment size */ #define TCP_CORK 3 /* Control sending of partial frames */ #define TCP_KEEPIDLE 4 /* Start keeplives after this period */ #define TCP_KEEPINTVL 5 /* Interval between keepalives */ #define TCP_KEEPCNT 6 /* Number of keepalives before death */ #define TCP_SYNCNT 7 /* Number of SYN retransmits */ #define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */ #define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */ #define TCP_WINDOW_CLAMP 10 /* Bound advertised window */ #define TCP_INFO 11 /* Information about this connection. */ #define TCP_QUICKACK 12 /* Bock/reenable quick ACKs. */ #ifdef __USE_MISC # include # ifdef __FAVOR_BSD typedef u_int32_t tcp_seq; /* * TCP header. * Per RFC 793, September, 1981. */ struct tcphdr { u_int16_t th_sport; /* source port */ u_int16_t th_dport; /* destination port */ tcp_seq th_seq; /* sequence number */ tcp_seq th_ack; /* acknowledgement number */ # if __BYTE_ORDER == __LITTLE_ENDIAN u_int8_t th_x2:4; /* (unused) */ u_int8_t th_off:4; /* data offset */ # endif # if __BYTE_ORDER == __BIG_ENDIAN u_int8_t th_off:4; /* data offset */ u_int8_t th_x2:4; /* (unused) */ # endif u_int8_t th_flags; # define TH_FIN 0x01 # define TH_SYN 0x02 # define TH_RST 0x04 # define TH_PUSH 0x08 # define TH_ACK 0x10 # define TH_URG 0x20 u_int16_t th_win; /* window */ u_int16_t th_sum; /* checksum */ u_int16_t th_urp; /* urgent pointer */ }; # else /* !__FAVOR_BSD */ struct tcphdr { u_int16_t source; u_int16_t dest; u_int32_t seq; u_int32_t ack_seq; # if __BYTE_ORDER == __LITTLE_ENDIAN u_int16_t res1:4; u_int16_t doff:4; u_int16_t fin:1; u_int16_t syn:1; u_int16_t rst:1; u_int16_t psh:1; u_int16_t ack:1; u_int16_t urg:1; u_int16_t res2:2; # elif __BYTE_ORDER == __BIG_ENDIAN u_int16_t doff:4; u_int16_t res1:4; u_int16_t res2:2; u_int16_t urg:1; u_int16_t ack:1; u_int16_t psh:1; u_int16_t rst:1; u_int16_t syn:1; u_int16_t fin:1; # else # error "Adjust your defines" # endif u_int16_t window; u_int16_t check; u_int16_t urg_ptr; }; # endif /* __FAVOR_BSD */ enum { TCP_ESTABLISHED = 1, TCP_SYN_SENT, TCP_SYN_RECV, TCP_FIN_WAIT1, TCP_FIN_WAIT2, TCP_TIME_WAIT, TCP_CLOSE, TCP_CLOSE_WAIT, TCP_LAST_ACK, TCP_LISTEN, TCP_CLOSING /* now a valid state */ }; # define TCPOPT_EOL 0 # define TCPOPT_NOP 1 # define TCPOPT_MAXSEG 2 # define TCPOLEN_MAXSEG 4 # define TCPOPT_WINDOW 3 # define TCPOLEN_WINDOW 3 # define TCPOPT_SACK_PERMITTED 4 /* Experimental */ # define TCPOLEN_SACK_PERMITTED 2 # define TCPOPT_SACK 5 /* Experimental */ # define TCPOPT_TIMESTAMP 8 # define TCPOLEN_TIMESTAMP 10 # define TCPOLEN_TSTAMP_APPA (TCPOLEN_TIMESTAMP+2) /* appendix A */ # define TCPOPT_TSTAMP_HDR \ (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP) /* * Default maximum segment size for TCP. * With an IP MSS of 576, this is 536, * but 512 is probably more convenient. * This should be defined as MIN(512, IP_MSS - sizeof (struct tcpiphdr)). */ # define TCP_MSS 512 # define TCP_MAXWIN 65535 /* largest value for (unscaled) window */ # define TCP_MAX_WINSHIFT 14 /* maximum window shift */ # define SOL_TCP 6 /* TCP level */ # define TCPI_OPT_TIMESTAMPS 1 # define TCPI_OPT_SACK 2 # define TCPI_OPT_WSCALE 4 # define TCPI_OPT_ECN 8 /* Values for tcpi_state. */ enum tcp_ca_state { TCP_CA_Open = 0, TCP_CA_Disorder = 1, TCP_CA_CWR = 2, TCP_CA_Recovery = 3, TCP_CA_Loss = 4 }; struct tcp_info { u_int8_t tcpi_state; u_int8_t tcpi_ca_state; u_int8_t tcpi_retransmits; u_int8_t tcpi_probes; u_int8_t tcpi_backoff; u_int8_t tcpi_options; u_int8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; u_int32_t tcpi_rto; u_int32_t tcpi_ato; u_int32_t tcpi_snd_mss; u_int32_t tcpi_rcv_mss; u_int32_t tcpi_unacked; u_int32_t tcpi_sacked; u_int32_t tcpi_lost; u_int32_t tcpi_retrans; u_int32_t tcpi_fackets; /* Times. */ u_int32_t tcpi_last_data_sent; u_int32_t tcpi_last_ack_sent; /* Not remembered, sorry. */ u_int32_t tcpi_last_data_recv; u_int32_t tcpi_last_ack_recv; /* Metrics. */ u_int32_t tcpi_pmtu; u_int32_t tcpi_rcv_ssthresh; u_int32_t tcpi_rtt; u_int32_t tcpi_rttvar; u_int32_t tcpi_snd_ssthresh; u_int32_t tcpi_snd_cwnd; u_int32_t tcpi_advmss; u_int32_t tcpi_reordering; }; #endif /* Misc. */ #endif /* netinet/tcp.h */ tcptrace-6.6.7/cygwin-includes/netinet/udp.h0100644001217500001440000000327507504574117020603 0ustar mramadasusers/* Copyright (C) 1991, 92, 93, 95, 96, 97 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ /* * Copyright (c) 1982, 1986 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ #ifndef __NETINET_UDP_H #define __NETINET_UDP_H 1 #include #include __BEGIN_DECLS /* UDP header as specified by RFC 768, August 1980. */ #ifdef __FAVOR_BSD struct udphdr { u_int16_t uh_sport; /* source port */ u_int16_t uh_dport; /* destination port */ u_int16_t uh_ulen; /* udp length */ u_int16_t uh_sum; /* udp checksum */ }; #else struct udphdr { u_int16_t source; u_int16_t dest; u_int16_t len; u_int16_t check; }; #endif #define SOL_UDP 17 /* sockopt level for UDP */ __END_DECLS #endif /* netinet/udp.h */ tcptrace-6.6.7/Makefile.empty0100644001217500001440000000010006765303045015643 0ustar mramadasusersdefault: @echo @echo "Please run ./configure first" @echo tcptrace-6.6.7/Makefile.in0100644001217500001440000002725110021711264015115 0ustar mramadasusers# # Makefile for tcptrace # srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ ################################################################## # # tcptrace supports reading compressed files with a little help... # 1) If your system has "gunzip", then uncomment the following line to # support on-the-fly decompression of ".gz" and ".Z" files... DEFINES += -DGUNZIP="\"gunzip\"" # 2) Otherwise, if your system supports standard Unix "uncompress", # then uncomment the following line to support on-the-fly # decompression of ".Z" files... #DEFINES += -DUNCOMPRESS="\"uncompress\"" # 3) Also, we assume most systems have the "bunzip2" utility installed, # if yours doesn't, you'll want to comment out the next line. DEFINES += -DBUNZIP2="\"bunzip2\"" # - we'll do path search on the string you specify. If the program # isn't in your path, you'll need to give the absolute path name. # - if you want other formats, see the "compress.h" file. ################################################################## # # If you want to read tcpdump output (which you probably do), # you'll need the LBL PCAP library. I've just listed a bunch # of places that it might be (other than the standard # location). If it's somewhere else, just add it into the # list. # ################################################################## PCAP_LDLIBS = @V_PCAP_LDLIBS@ PCAP_INCS = -I/usr/local/include -I. -I../pcap -I/usr/include/pcap PCAP_LDFLAGS = -L/usr/local/lib -Llib -Lpcap -L../pcap -L./cygwin-libs ################################################################## # # Plug-in modules. # There's no reason that I can think of to remove them, but # here they are. Just comment them out to omit them from # the binary. # ################################################################## # # Experimental HTTP analysis module # DEFINES += -DLOAD_MODULE_HTTP -DHTTP_SAFE -DHTTP_DUMP_TIMES # # Experimental overall traffic by port module # DEFINES += -DLOAD_MODULE_TRAFFIC # # Experimental traffic data by time slices module # DEFINES += -DLOAD_MODULE_SLICE # # Experimental round trip time graphs # DEFINES += -DLOAD_MODULE_RTTGRAPH # # Experimental tcplib-data generating module # # We are not going to compile in the antiquated TCPLIB module by default # anymore. # It seems to have quite some bugs, and being antiquated as it is, we thought # it is not worth the time fixing them. Uncomment this line and ./configure # and make again, if you really need the module. - Mani, 15 Aug 2003. # DEFINES += -DLOAD_MODULE_TCPLIB # # Experimental module for a friend # DEFINES += -DLOAD_MODULE_COLLIE # # Example module for real-time mode # DEFINES += -DLOAD_MODULE_REALTIME # # INBOUNDS module implements the functionality required for the INBOUNDS # intrusion detection system project, Ohio University. # ( Uncomment the following line before running configure to build it ) # DEFINES += -DLOAD_MODULE_INBOUNDS ################################################################## # # File formats that we understand. # The only reason that I can see to remove one is if you don't # have the PCAP library, in which case you can comment out # GROK_TCPDUMP and still compile, but then you can't read the # output from tcpdump. # ################################################################## # define GROK_SNOOP if you want tcptrace to understand the output # format of Sun's "snoop" packet sniffer. DEFINES += -DGROK_SNOOP # define GROK_TCPDUMP if you want tcptrace to understand the output # format format of the LBL tcpdump program (see the file README.tcpdump # for other options) DEFINES += -DGROK_TCPDUMP # define GROK_NETM if you want tcptrace to understand the output # format of HP's "netm" monitoring system's packet sniffer. DEFINES += -DGROK_NETM # define GROK_ETHERPEEK if you want tcptrace to understand the output # format of the Macintosh program Etherpeek DEFINES += -DGROK_ETHERPEEK # define GROK_NS if you want tcptrace to understand the output # format of the LBL network simulator, ns DEFINES += -DGROK_NS # define GROK_NLANR if you want tcptrace to understand the output # format of the various NLANL tools # (this doesn't work well yet, not recommended - Sat Dec 19, 1998) # DEFINES += -DGROK_NLANR # define GROK_NETSCOUT if you want tcptrace to understand ascii # formatted netscout output files DEFINES += -DGROK_NETSCOUT # define GROK_ERF if you want tcptrace to understand the output # format of the Endace Technology dagsnap program */ DEFINES += -DGROK_ERF ################################################################## # # Just a quick installation rule, not much to do # ################################################################## # Pathname of directory to install the binary BINDIR = /usr/local/bin MANDIR = /usr/local/man/ ################################################################## ################################################################## ################################################################## # # You shouldn't need to change anything below this point # ################################################################## ################################################################## ################################################################## CC = @CC@ CCOPT = @V_CCOPT@ INCLS = -I. @V_INCLS@ ${PCAP_INCS} # Standard CFLAGS # Probably want full optimization # FreeBSD needs -Ae # HP needs -Ae CFLAGS = $(CCOPT) $(DEFINES) @DEFS@ @V_DEFINES@ $(INCLS) # Standard LIBS LDLIBS = @LIBS@ ${PCAP_LDLIBS} # for solaris, you probably want: # LDLIBS = -lpcap -lnsl -lsocket -lm # for HP, I'm told that you need: # LDLIBS = -lpcap -lstr -lm # everybody else (that I know of) just needs: # LDLIBS = -lpcap -lm # LDFLAGS += ${PCAP_LDFLAGS} # for profiling (under Solaris, at least) #CFLAGS += -pg #LDFLAGS += /usr/lib/libdl.so.1 # Source Files CFILES= avl.c compress.c erf.c etherpeek.c gcache.c mfiles.c names.c \ netm.c output.c plotter.c print.c rexmit.c snoop.c nlanr.c \ tcpdump.c tcptrace.c thruput.c trace.c ipv6.c \ filt_scanner.c filt_parser.c filter.c udp.c \ ns.c netscout.c version.c pool.c poolaccess.c \ dstring.c MODULES=mod_http.c mod_traffic.c mod_rttgraph.c mod_tcplib.c mod_collie.c \ mod_slice.c mod_realtime.c mod_inbounds.c MODSUPPORT=dyncounter.c OFILES= ${CFILES:.c=.o} ${MODULES:.c=.o} ${MODSUPPORT:.c=.o} all: tcptrace versnum tcptrace: ${OFILES} ${CC} ${LDFLAGS} ${CFLAGS} ${OFILES} -o tcptrace ${LDLIBS} # # special rule for version.c # needs to be recompiled EVERY time # # If you have problems getting "whoami", "hostname", or "date" to run on # your machine, just hack in a quick string below in place of the command. version.o: ${CFILES} Makefile ${CC} ${CFLAGS} -o version.o -c $(srcdir)/version.c \ -DBUILT_USER="\"`whoami`\"" -DBUILT_HOST="\"`hostname`\"" -DBUILT_DATE="\"`date`\"" # # special rules for scanner/parser # # Note that I'm using the GNU bison/flex to get around the problems # caused by the fact that that pcap library ALSO uses YACC, which can # cause naming conflicts. The Gnu versions let you get around that # easily. # YACC_VAL=@YACC@ LEX_VAL=@LEX@ filt_parser.c: filt_parser.y filter.h if test "${YACC_VAL}" = "bison -y" ; then \ @YACC@ -vd -p filtyy -o filt_parser.c $(srcdir)/filt_parser.y ;\ cp filt_parser.c flex_bison ;\ cp filt_parser.h flex_bison ;\ else \ echo "Could not find BISON on this system";\ echo "Copying the BISON output files generated at our place" ;\ cp flex_bison/filt_parser.c . ;\ cp flex_bison/filt_parser.h . ;\ fi filt_scanner.c: filt_scanner.l filter.h filt_parser.h if test ${LEX_VAL} = "flex" ; then \ @LEX@ -t -Pfiltyy $(srcdir)/filt_scanner.l > filt_scanner.c ;\ cp filt_scanner.c flex_bison ;\ else \ echo "Could not find FLEX on this system" ;\ echo "Copying the FLEX output files generated at our place" ;\ cp flex_bison/filt_scanner.c . ;\ fi # filt_parser.h created as a side effect of running yacc... filt_parser.h: filt_parser.c # version numbering program versnum: versnum.c version.h ${CC} ${LDFLAGS} ${CFLAGS} $(srcdir)/versnum.c -o versnum ${LDLIBS} # # obvious dependencies # ${OFILES}: tcptrace.h # # just for RCS ci: ci -u -q -t-initial -mlatest *.c *.h \ Makefile.in configure.in config.guess config.sub aclocal.m4 \ README* INSTALL* CHANGES WWW COPYRIGHT # # for cleaning up clean: rm -f *.o tcptrace versnum core *.xpl *.dat .devel \ config.cache config.log config.status bin.* \ filt_scanner.c filt_parser.c y.tab.h y.output PF \ filt_parser.output filt_parser.h cd input; ${MAKE} clean noplots: rm -f *.xpl *.dat initial: cp Makefile.empty Makefile spotless: clean noplots initial # # for making distribution tarfile: versnum @VERS=`./versnum`; DIR=tcptrace.$${VERS}; \ GZTAR=$$HOME/tcptrace.$${VERS}.tar.gz; \ make spotless; \ cd ..; \ ln -s src $${DIR} 2>/dev/null ; \ /usr/sbin/tar -FFcvhf - $${DIR} | gzip > $${GZTAR}; \ echo ; echo "Tarfile is in $${GZTAR}" # # similar, but include RCS directory and etc bigtarfile: cd ..; /usr/sbin/tar -cfv $$HOME/tcptrace.tar src # # just a quick installation rule INSTALL = ./install-sh -c install: tcptrace install-man $(INSTALL) -m 755 -o bin -g bin tcptrace ${BINDIR}/tcptrace install-man: $(INSTALL) -m 444 -o bin -g bin tcptrace.man $(MANDIR)/man1/tcptrace.1 # # make development version develop devel: touch .devel configure: configure.in autoconf # # generate dependencies depend: makedepend ${INCS} -w 10 *.c # # static file dependencies # avl.o: tcptrace.h compress.o: tcptrace.h compress.o: ipv6.h compress.o: dstring.h compress.o: pool.h compress.o: compress.h dstring.o: tcptrace.h dstring.o: ipv6.h dstring.o: dstring.h dstring.o: pool.h dyncounter.o: tcptrace.h dyncounter.o: ipv6.h dyncounter.o: dstring.h dyncounter.o: pool.h dyncounter.o: dyncounter.h etherpeek.o: tcptrace.h etherpeek.o: ipv6.h etherpeek.o: dstring.h etherpeek.o: pool.h filt_parser.o: tcptrace.h filt_parser.o: ipv6.h filt_parser.o: dstring.h filt_parser.o: pool.h filt_parser.o: filter.h filt_scanner.o: tcptrace.h filt_scanner.o: ipv6.h filt_scanner.o: dstring.h filt_scanner.o: pool.h filt_scanner.o: filter.h filt_scanner.o: filt_parser.h filter.o: tcptrace.h filter.o: ipv6.h filter.o: dstring.h filter.o: pool.h filter.o: filter.h filter.o: filter_vars.h gcache.o: tcptrace.h gcache.o: ipv6.h gcache.o: dstring.h gcache.o: pool.h gcache.o: gcache.h ipv6.o: tcptrace.h ipv6.o: ipv6.h ipv6.o: dstring.h ipv6.o: pool.h mfiles.o: tcptrace.h mfiles.o: ipv6.h mfiles.o: dstring.h mfiles.o: pool.h names.o: tcptrace.h names.o: ipv6.h names.o: dstring.h names.o: pool.h names.o: gcache.h netm.o: tcptrace.h netm.o: ipv6.h netm.o: dstring.h netm.o: pool.h netscout.o: tcptrace.h netscout.o: ipv6.h netscout.o: dstring.h netscout.o: pool.h nlanr.o: tcptrace.h nlanr.o: ipv6.h nlanr.o: dstring.h nlanr.o: pool.h ns.o: tcptrace.h ns.o: ipv6.h ns.o: dstring.h ns.o: pool.h output.o: tcptrace.h output.o: ipv6.h output.o: dstring.h output.o: pool.h output.o: gcache.h plotter.o: tcptrace.h plotter.o: ipv6.h plotter.o: dstring.h plotter.o: pool.h pool.o: pool.h poolaccess.o: tcptrace.h poolaccess.o: ipv6.h poolaccess.o: dstring.h poolaccess.o: pool.h print.o: tcptrace.h print.o: ipv6.h print.o: dstring.h print.o: pool.h rexmit.o: tcptrace.h rexmit.o: ipv6.h rexmit.o: dstring.h rexmit.o: pool.h snoop.o: tcptrace.h snoop.o: ipv6.h snoop.o: dstring.h snoop.o: pool.h tcpdump.o: tcptrace.h tcpdump.o: ipv6.h tcpdump.o: dstring.h tcpdump.o: pool.h tcptrace.o: tcptrace.h tcptrace.o: ipv6.h tcptrace.o: dstring.h tcptrace.o: pool.h tcptrace.o: file_formats.h tcptrace.o: modules.h tcptrace.o: version.h thruput.o: tcptrace.h thruput.o: ipv6.h thruput.o: dstring.h thruput.o: pool.h trace.o: tcptrace.h trace.o: ipv6.h trace.o: dstring.h trace.o: pool.h trace.o: gcache.h udp.o: tcptrace.h udp.o: ipv6.h udp.o: dstring.h udp.o: pool.h udp.o: gcache.h versnum.o: version.h tcptrace-6.6.7/README0100644001217500001440000000367507472617470013760 0ustar mramadasusersFri May 25, 2001 Shawn Ostermann ostermann@cs.ohiou.edu tcptrace is a TCP connection analysis tool. It can tell you detailed information about TCP connections by sifting through dump files. The dump file formats supported are: Standard tcpdump format (you need the pcap library) Sun's snoop format Macintosh Etherpeek format HP/NetMetrix protocol analysis format NS simulator output format NetScout NLANR Tsh Format To see the graphs, you'll also need Tim Shepard's xplot program, available at http://www.xplot.org I've switched to using "./configure" to set up the Makefile. That seems to have eased portability problems a great deal. Just say "./configure" and then "make" to build the program. Most of the rest of the Docs are on the web. Check out: http://www.tcptrace.org/ Supported Platforms ------------------- The program is developed here at OU on Sparc machines running Solaris 8. Our intention is that it also run under common Unix variants. In particular, we try to test each release on the following platforms: NetBSD FreeBSD Linux Darwin/OSX (Mac) Tru64 (Alpha) We appreciate feedback and fixes on these or other platforms and will attempt to modify the program to work on other platforms if we can get enough help from people with access to those platforms and the changes are not too "esthetically disagreeable". Running the program ------------------- Some simple examples: 0) What are the args and what do they mean??? tcptrace 1) Run the program quickly over a dump file tcptrace dumpfile 2) Get longer output tcptrace -l dumpfile 3) Generate lots of pretty plot files (you need xplot to see them) tcptrace -G dumpfile 4) Print the segment contents as you go tcptrace -p dumpfile 5) Print progress info (useful for large files) tcptrace -t dumpfile Of course, you can chain arguments together until you get just what you want. Let me know what you think.... Shawn tcptrace-6.6.7/README.OpenVMS0100644001217500001440000001112007504527572015225 0ustar mramadasusersWed May 22, 2002 Matt Muggeridge Matt.Muggeridge@hp.com The information contained in this document describes the OpenVMS port of the tcptrace tool, written by Shawn Ostermann. Refer to the "README" file for more information on tcptrace. This document contains: A) Running tcptrace B) Build and Install C) Code Changes to Support OpenVMS A) Running tcptrace ------------------- OpenVMS applications that parse command-line arguments, such as tcptrace, must be invoked with a foreign command. A foreign command can be manually created by declaring a DCL symbol, or automatically created by defining the DCL$PATH logical to include the directory path of your application. The examples below use a DCL symbol. There is a name-space clash with "tcptrace". TCP/IP Services V5.0 and later ship an application named TCPTRACE.EXE which is used to capture trace information, similar to "tcpdump". To avoid this name-space clash, it is recommended that this "tcptrace" program is invoked by a different name. In the examples below, the name used is "tcpanal", for TCP Analysis. The steps for running tcpanal are as follows: 1) Creating the foreign command This is created for you in the DCL command procedure MAKE_VMS.COM. If desired, modify MAKE_VMS.COM to change the name of the foreign command. By default, a command similar to the following is used in MAKE_VMS.COM: $ tcpanal :== $tcptrace.exe 2) Execute the foreign command $ tcpanal B) Build and Install -------------------- tcptrace on OpenVMS was built and tested using: Compaq C V6.4-006 on OpenVMS Alpha V7.2-2 and OpenVMS Alpha V7.3, Compaq C V6.2-009 on OpenVMS Alpha V7.2-2 No VAX testing has been attempted. Step 1: Get pcap library If you don't want to analyse dump files that were created using the PCAP library, such as tcpdump, WinDump, Ethereal, then you should comment out "GROK_TCPDUMP" from the MAKE_VMS.COM procedure and it will be skipped in the compilation. Step 2: Edit MAKE_VMS.COM Only necessary if you want to change the file formats supported, the modules compiled in, compiler flags, etc (it's commented) Step 3: Run "$ @MAKE_VMS" That should create tcptrace and define the foreign symbol for invoking it. The foreign symbol is needed due to the name-space clash (see README_VMS.TXT). It is suggested you use the name "tcpanal". To manually create a foreign command use syntax similar to: $ tcpanal :== $tcptrace.exe For automatic foreign commands, copy tcptrace.exe to a directory specified in the DCL$PATH logical. E.g. assuming DCL$PATH logical has been created as: $ define DCL$PATH disk$tools:[bin] $ copy tcptrace.exe disk$tools:[bin]tcpanal.exe C) Code Changes to Support OpenVMS ---------------------------------- New Files ==================================================================== readme.OpenVMS - this file make_vms.com - DCL command procedure to build tcptrace snprintf_vms.c - replacement for snprintf() includes_vms.tlb - library of include files not shipped with OpenVMS tcptrace.opt - linker options file Missing Header Files - includes_vms.tlb --------------------------------------- The following header files are not supplied with the current version of OpenVMS compilers nor TCP/IP. They have been built into a text library "includes_vms.tlb" which is referenced during compilation. netinet/in_systm.h machine/endian.h netinet/if_ether.h netinet/ip.h netinet/udp.h netinet/tcp.h (newer version needed than in tcpip$examples) pcap.h (from PCAP distribution) net/bpf.h The command used to build this library was: $ libr/create/text includes_vms in_systm.h, endian.h, - if_ether.h, ip.h, udp.h, tcp.h, pcap.h, bpf.h Missing snprintf() - snprintf_vms() ----------------------------------- The current version of the CRTL does not support snprintf(). An OpenVMS specific module was created "snprintf_vms.c" to resolve this. The redefinition was made in tcptrace.h (see below). Modified Files ==================================================================== compress.c ---------- The current release of OpenVMS does not support fork(). These occurrences were changed to vfork(). filter_parser.c --------------- OpenVMS uses a builtin function for alloca(). The necessary redefinitions were made. gcache.c -------- Check if bzero or bcopy are defined before redefining them. On OpenVMS bzero and bcopy are defined to use the C builtins which are supposed to be higher performing. tcptrace.h ---------- Define snprintf() to point to OpenVMS declaration snprintf_vms() Matt. --- end --- tcptrace-6.6.7/README.cygwin0100644001217500001440000000122007511147356015232 0ustar mramadasusersTo build tcptrace on windows using the cygwin UNIX environment follow the steps below: 1. For Windows 95/98/Me: cp cygwin-libs/win9x/libwpcap.a cygwin-libs/ For Windows NT/2000/XP: cp cygwin-libs/winNT/libwpcap.a cygwin-libs/ 2. ./configure 3. make (This leaves tcptrace.exe in the current directory) 4. Installation: - Copy the *.dll files from cygwin-libs/win9x/ "OR" cygwin-libs/winNT/ into C:\WINDOWS\System32\ (OR C:\WINDOWS\System\) - Copy tcptrace.exe (just built in step 3) into C:\WINDOWS\ You should now be able to access tcptrace system-wide. --Avinash Lakhiani (alakhian@tcptrace.org) 4 July 2002 tcptrace-6.6.7/README.linux0100644001217500001440000000133307305535056015075 0ustar mramadasusersIf you have trouble, try this suggestion from Peter Waltenberg: >> From peterw@dascom.com Mon Jul 13 22:32 EST 1998 >> X-Priority: 3 (Normal) >> Date: Tue, 14 Jul 1998 08:31:57 +1000 (EST) >> Reply-To: peterw@dascom.com >> Organization: DASCOM >> Sender: peterw@mulga.surf.dascom.com >> From: Peter Waltenberg >> To: Shawn Ostermann >> Subject: Re: tcptrace >> >> On Linux with glibc-2 it needs >> >> DEFINES += -D_BSD_SOURCE >> >> to build properly. >> >> It's simply a matter of which "style" of tcphdr struct naming is >> pulled in from the include files. >> >> From memory the "-D_BSD_SOURCE" is safe for older Linux setups as >> well, however I can't test it. >> >> Peter tcptrace-6.6.7/README.mailing_list0100644001217500001440000000567107305464510016416 0ustar mramadasusersThere are currently four mailing lists that pertain to tcptrace. The two intended for normal users are the "tcptrace" and "tcptrace-announce" mailing lists. tcptrace-announce is a very low traffic list, which probably only sees one or two messages a year. Everyone who uses tcptrace is encouraged to subscribe to this list, as it is used to spread the word when significant new versions of the program come out and major bugs are found and fixed. You can subscribe to the tcptrace-announce list by sending an email to majordomo@tcptrace.org that contains the text "subscribe tcptrace-announce". Should you wish to be removed from the list, all you need to do is send an email to majordomo@tcptrace.org with the text "unsubscribe tcptrace-announce" in the body. No one except the list owner at tcptrace.org may post to this list. The list that serves as a forum for most tcptrace related discussion can be subscribed to by sending email to majordomo@tcptrace.org with the text "subscribe tcptrace" contained in the body. Unsubscribing is as easy as sending majordomo@tcptrace.org a message containing "unsubscribe tcptrace" in the body. Posting to this list is restricted to list members only, due to problems with spam and such. Traffic on this list is rather light as well, mostly occurring in short spurts when someone has a question or shares some tcptrace related software they've written with the community. You may post to the list by sending your message to tcptrace@tcptrace.org, if you are subscribed to the list. Before posting questions to this list, please consider that there are about 400 members, so if your question is just something basic about compiling the program or reading input files perhaps the tcptrace- maintainers list discussed in the next paragraph is a better venue to ask it. Problems with subscribing/unsubscribing should be sent to owner-tcptrace@tcptrace.org There are also two lists "tcptrace-bugs" and "tcptrace-maintainers" which are used for notifying us that there is a problem. If you find what you think is a bug in the software, please send a message to tcptrace-bugs@tcptrace.org. This list has all the active tcptrace developers on it, so usually someone can get on it and write a bugfix fairly quickly, but it's also quite nice when people send in their own bugfix code. tcptrace-maintainers@tcptrace.org is the list which you can use to contact all the people responsible for keeping up the tcptrace mailing lists, website, and CVS tree. Problems compiling tcptrace and questions about how to use the software or interpreting the output it produces should be addressed to the tcptrace-maintainers list. You will generally receive an answer fairly promptly. tcptrace was written by Shawn Ostermann at Ohio University, who can be reached at ostermann@cs.ohiou.edu to ask questions about the licensing of the software. HTML archives of the "tcptrace" and "tcptrace-bugs" lists can be found on the tcptrace website at http://www.tcptrace.org. tcptrace-6.6.7/README.modules0100644001217500001440000000042006631142116015372 0ustar mramadasusersMon Jul 14, 1997 I added a "plugin module" interface (actually, "compile-in") which makes it a lot easier to add warts to the program for special purpose tasks. There's an example in the modules.h header file (commented out) that include the module in mod_http.c Shawn tcptrace-6.6.7/README.pcap0100644001217500001440000000505406631142116014655 0ustar mramadasusersMon Jul 14, 1997 To read tcpdump files, you need to packet capture library from LBL. If you already have tcpdump, then your probably already have it installed. If not, then check out: ftp://ftp.ee.lbl.gov/libpcap.tar.Z These sources have been tested with the 0.4 version of libpcap... --sdo ---------------------------------------------------------------------- The pcap README file: @(#) $Header: /usr/local/cvs/tcptrace/README.pcap,v 5.1 1998/12/02 04:38:38 sdo Exp $ (LBL) LIBPCAP 0.4 Lawrence Berkeley National Laboratory Network Research Group libpcap@ee.lbl.gov ftp://ftp.ee.lbl.gov/libpcap.tar.Z This directory contains source code for libpcap, a system-independent interface for user-level packet capture. libpcap provides a portable framework for low-level network monitoring. Applications include network statistics collection, security monitoring, network debugging, etc. Since almost every system vendor provides a different interface for packet capture, and since we've developed several tools that require this functionality, we've created this system-independent API to ease in porting and to alleviate the need for several system-dependent packet capture modules in each application. Note well: this interface is new and is likely to change. The libpcap interface supports a filtering mechanism based on the architecture in the BSD packet filter. BPF is described in the 1993 Winter Usenix paper ``The BSD Packet Filter: A New Architecture for User-level Packet Capture''. A compressed postscript version is in: ftp://ftp.ee.lbl.gov/papers/bpf-usenix93.ps.Z. Although most packet capture interfaces support in-kernel filtering, libpcap utilizes in-kernel filtering only for the BPF interface. On systems that don't have BPF, all packets are read into user-space and the BPF filters are evaluated in the libpcap library, incurring added overhead (especially, for selective filters). Ideally, libpcap would translate BPF filters into a filter program that is compatible with the underlying kernel subsystem, but this is not yet implemented. BPF is standard in 4.4BSD, BSD/386, NetBSD, and FreeBSD. DEC OSF/1 uses the packetfilter interface but has been extended to accept BPF filters (which libpcap utilizes). Also, you can add BPF filter support to Ultrix using the kernel source and/or object patches available in: ftp://gatekeeper.dec.com/pub/DEC/net/bpfext42.tar.Z. Problems, bugs, questions, desirable enhancements, source code contributions, etc., should be sent to the email address "libpcap@ee.lbl.gov". - Steve McCanne Craig Leres Van Jacobson tcptrace-6.6.7/README.sgi0100644001217500001440000000437706631142116014523 0ustar mramadasusers[I got the following very useful note from a user at SGI with some notes on compiler problems. As nobody has ever mentioned these problems before, I suspect that they are peculiar to the SGI C compiler. Perhaps these notes will be helpful to others... sdo - Fri Sep 18, 1998] Date: Mon, 14 Sep 1998 22:07:02 -0300 From: Alejandro Saez Organization: Silicon Chile To: ostermann@cs.ohiou.edu Subject: IRIX problem solved Hi, [...] I compiled the program on a IRIX 6.2 SGI workstation. First of all, the SGI cc compiler didn't work basically because it doesn't accept (unlike gcc) unterminated strings for formated output functions (it forces you to have a long line) so this was a problem for the postscript generation bit. I installed gcc, and here a new problem arose. Some of your files (mfiles.c, tcptrace.c and plotter.c), includes and uses the stdarg.h include file. This file uses a SGI compiler built-in macro called __builtin_alignof, so when using gcc, ld would complain about not being able to resolve that symbol (makes sense, it's provided by cc). I was able to solve it by making a local copy of stdarg.h and changing ocurences of __builtin_alignof by __alignof__ which is a gcc extension. Of course I had to change #include for #include "stdarg.h" but the nice thing is it worked (well, it compiled and run with no arguments). I though you would like to hear about this. Hope comes in handy. ------------------------------------------------------------------------ Alejandro Saez Software Engineer Silicon Chile S.A. ------------------------------------------------------------ Mon Sep 21, 1998 [...] After I got your e-mail I did a full search and realized that the gcc distribution included the stdarg.h file (they were pretty hidden too, and undocumented ) . Funny since I've compiled with gcc on other SGI boxes and always used SGI's includes, and it made sense, they are the STANDARD libraries, it never ocurred to me that I needed two pairs of standard library headers, until now that this one include depended on a compiler internal. So maybe is not a good idea to include the stuff in the notes, or at least say that it's only necessary if you are using the gcc compiler and SGI's header files, which of course doesn't make much sense. tcptrace-6.6.7/README.tline_graphs0100644001217500001440000004554107517427015016426 0ustar mramadasusersREADME - Time Line Graphs NOTE: ----- This code is lacking about a 1000 lines of intellegence that is needed to draw these graphs correctly. The basic problem we face is that we have the time values for the segments arriving/leaving on one end since the traffic dump is carried out on that end. The time values for the other end have to be estimated based on some heuristic. This requires a lot of intellegence and requires taking care of various conditions like retransmits, timeouts etc. The current heuristic is a simple one of adding/subtacting 1/3rd of the rtt. We started this project thinking it is easy to draw these graphs, and then realized that it is infact quite a complicated task. All this works with a -L option at command line, but may not accurately reflect the segment timings. We are currently working on fixing this problem and should be able to provide more accurate results in the near future. For tcptrace maintainers: ------------------------- I have left the code in here as the starting point to work on. Whoever is working on this project would want to clean up this file trace.c (based on the diffs below), and continue development as a seperate module. Don't forget to update this file when this option is fully developed. --Avinash (alakhian@tcptrace.org) 9 July 2002 ------------------- DIFFS - plotter.c ------------------- 68,75d67 < Bool header_done; /* Flag indicating plotter header written to file */ < Bool axis_switched; /* Switch x & y axis types. < * (Needed for Time Line Charts, < * Default = FALSE) < */ < char *title; /* Plotter title */ < char *xlabel; /* Plotter x-axis label */ < char *ylabel; /* Plotter y-axis label */ 91,92d82 < static void WritePlotHeader(PLOTTER pl); < static void CallDoPlot(PLOTTER pl, char *plot_cmd, int plot_argc, ...); 94a85,88 > > > > 114,119d107 < struct plotter_info *ppi; < < ppi = &pplotters[pl]; < < /* see if we're graphing from "0" OR if the axis type is switched */ < if (graph_time_zero || ppi->axis_switched) { 120a109,111 > /* see if we're graphing from "0" */ > if (graph_time_zero) { > struct plotter_info *ppi = &pplotters[pl]; 268c259 < --- > 273,276d263 < < /* Write the plotter header if not already written */ < if(!ppi->header_done) < WritePlotHeader(pl); 327a315,336 > /* graph coordinates... */ > /* X coord is timeval unless graph_time_zero is true */ > /* Y is signed except when it's a sequence number */ > /* ugly hack -- unsigned makes the graphs hard to work with and is > only needed for the time sequence graphs */ > /* suggestion by Michele Clark at UNC - make them double instead */ > Mfprintf(f,"%s %s\n", > graph_time_zero?"dtime":"timeval", > ((strcmp(ylabel,"sequence number") == 0)&&(!graph_seq_zero))? > "double":"signed"); > > if (show_title) { > if (xplot_title_prefix) > Mfprintf(f,"title\n%s %s\n", > ExpandFormat(xplot_title_prefix), > title); > else > Mfprintf(f,"title\n%s\n", title); > } > Mfprintf(f,"xlabel\n%s\n", xlabel); > Mfprintf(f,"ylabel\n%s\n", ylabel); > 331,338c340 < ppi->axis_switched = FALSE; < ppi->header_done = FALSE; < < /* Save these fields to be writtn to the plotter header later in DoPlot() */ < ppi->title = strdup(title); < ppi->xlabel = strdup(xlabel); < ppi->ylabel = strdup(ylabel); < --- > 369,373c371 < < /* Write the plotter header if not already written */ < if(!ppi->header_done) < WritePlotHeader(pl); < --- > 424,425c422,423 < if (colorplot) < CallDoPlot(pl, color, 0); --- > if (colorplot) > DoPlot(pl,"%s",color); 437c435,437 < CallDoPlot(pl,"line", 4, t1, x1, t2, x2); --- > DoPlot(pl,"line %s %u %s %u", > xp_timestamp(pl,t1), x1, > xp_timestamp(pl,t2), x2); 449c449,451 < CallDoPlot(pl,"dline", 4, t1, x1, t2, x2); --- > DoPlot(pl,"dline %s %u %s %u", > xp_timestamp(pl,t1), x1, > xp_timestamp(pl,t2), x2); 459c461 < CallDoPlot(pl,"diamond", 2, t, x); --- > DoPlot(pl,"diamond %s %u", xp_timestamp(pl,t), x); 469c471 < CallDoPlot(pl,"dot", 2, t, x); --- > DoPlot(pl,"dot %s %u", xp_timestamp(pl,t), x); 479c481 < CallDoPlot(pl,"plus", 2, t, x); --- > DoPlot(pl,"plus %s %u", xp_timestamp(pl,t), x); 489c491 < CallDoPlot(pl,"box", 2, t, x); --- > DoPlot(pl,"box %s %u", xp_timestamp(pl,t), x); 501,503c503 < char arrow_type[7]; < snprintf(arrow_type, sizeof(arrow_type), "%carrow", dir); < CallDoPlot(pl, arrow_type, 2, t, x); --- > DoPlot(pl,"%carrow %s %u", dir, xp_timestamp(pl,t), x); 554,556c554 < char tick_type[6]; < snprintf(tick_type, sizeof(tick_type), "%ctick", dir); < CallDoPlot(pl, tick_type, 2, t, x); --- > DoPlot(pl,"%ctick %s %u", dir, xp_timestamp(pl,t), x); 643,646c641 < char text_type[6]; < snprintf(text_type, sizeof(text_type), "%stext", where); < < CallDoPlot(pl, text_type, 2, t, x); --- > DoPlot(pl,"%stext %s %u", where, xp_timestamp(pl,t), x); 653c648 < CallDoPlot(pl, str, 0); --- > DoPlot(pl,"%s", str); 656,663d650 < void < plotter_invisible( < PLOTTER pl, < struct timeval t, < u_long x) < { < CallDoPlot(pl,"invisible", 2, t, x); < } 665d651 < 768,925d753 < /* This function may be called with 0, 2 or 4 arguments depending on plot command. < * case 0: < * The arguments t1, x1, t2, x2 do not hold any valid values, and are not used. < * case 2: < * Arguments t2 and x2 are the same as arguments t1 and x1. Only t1 and x1 are used. < * case 4: < * All arguments are valid and are used. < */ < static void < CallDoPlot( < PLOTTER pl, < char *plot_cmd, < int plot_argc, < ...) < { < struct timeval t1; < u_long x1; < struct timeval t2; < u_long x2; < va_list ap; < struct plotter_info *ppi; < char fmt[200]; < < if (pl == NO_PLOTTER) < return; < < if (pl > plotter_ix) { < fprintf(stderr,"Illegal plotter: %d\n", pl); < exit(-1); < } < < ppi = &pplotters[pl]; < < /* Get the arguments from the variable list */ < va_start(ap, plot_argc); < if(plot_argc > 0) < { < t1 = va_arg(ap, struct timeval); < x1 = va_arg(ap, u_long); < } < if(plot_argc > 2) < { < t2 = va_arg(ap, struct timeval); < x2 = va_arg(ap, u_long); < } < va_end(ap); < < if(ppi->axis_switched) { < switch(plot_argc) { < case 0: < snprintf(fmt, sizeof(fmt), "%s%c", plot_cmd, NULL); < DoPlot(pl, fmt); < break; < case 2: < snprintf(fmt, sizeof(fmt), "%s %%u -%%s%c", plot_cmd, NULL); < DoPlot(pl, fmt, < x1, xp_timestamp(pl,t1)); < break; < case 4: < snprintf(fmt, sizeof(fmt), "%s %%u -%%s %%u -%%s%c", plot_cmd, NULL); < DoPlot(pl, fmt, < x1, xp_timestamp(pl,t1), < x2, xp_timestamp(pl,t2)); < break; < default: < fprintf(stderr, "CallDoPlot: Illegal number of arguments (%d)\n", plot_argc); < } < } < else { < switch(plot_argc) { < case 0: < snprintf(fmt, sizeof(fmt), "%s%c", plot_cmd, NULL); < DoPlot(pl, fmt); < break; < case 2: < snprintf(fmt, sizeof(fmt), "%s %%s %%u%c", plot_cmd, NULL); < DoPlot(pl, fmt, < xp_timestamp(pl,t1), x1); < break; < case 4: < snprintf(fmt, sizeof(fmt), "%s %%s %%u %%s %%u%c", plot_cmd, NULL); < DoPlot(pl, fmt, < xp_timestamp(pl,t1), x1, < xp_timestamp(pl,t2), x2); < break; < default: < fprintf(stderr, "CallDoPlot: Illegal number of arguments (%d)\n", plot_argc); < } < } < < return; < } < < static void < WritePlotHeader( < PLOTTER pl) < { < MFILE *f = NULL; < struct plotter_info *ppi; < < if (pl == NO_PLOTTER) < return; < < if (pl > plotter_ix) { < fprintf(stderr,"Illegal plotter: %d\n", pl); < exit(-1); < } < < ppi = &pplotters[pl]; < < if ((f = ppi->fplot) == NULL) < return; < < if(ppi->axis_switched) { < /* Header for the Time Line Charts */ < Mfprintf(f,"%s %s\n", "unsigned", "dtime"); < } < else { < /* Header for all other plots */ < /* graph coordinates... */ < /* X coord is timeval unless graph_time_zero is true */ < /* Y is signed except when it's a sequence number */ < /* ugly hack -- unsigned makes the graphs hard to work with and is < only needed for the time sequence graphs */ < /* suggestion by Michele Clark at UNC - make them double instead */ < Mfprintf(f,"%s %s\n", < graph_time_zero?"dtime":"timeval", < ((strcmp(ppi->ylabel,"sequence number") == 0)&&(!graph_seq_zero))? < "double":"signed"); < } < < if (show_title) { < if (xplot_title_prefix) < Mfprintf(f,"title\n%s %s\n", < ExpandFormat(xplot_title_prefix), < ppi->title); < else < Mfprintf(f,"title\n%s\n", ppi->title); < } < < Mfprintf(f,"xlabel\n%s\n", ppi->xlabel); < Mfprintf(f,"ylabel\n%s\n", ppi->ylabel); < < /* Indicate that the header has now been written to the plotter file */ < ppi->header_done = TRUE; < < return; < } < < /* Switch the x and y axis type (Needed for Time Line Charts. Default = FLASE) */ < void plotter_switch_axis( < PLOTTER pl, < Bool flag) < { < struct plotter_info *ppi = &pplotters[pl]; < < ppi->axis_switched = flag; < } -------------------- DIFFS - tcptrace.h -------------------- 450,452d449 < /* Time Line Graph */ < PLOTTER tline_plotter; < 634d630 < extern Bool graph_tline; 744,746c740 < void plotter_nothing(PLOTTER, timeval); < void plotter_invisible(PLOTTER, timeval, u_long); < void plotter_switch_axis(PLOTTER, Bool); --- > void plotter_nothing(PLOTTER pl, struct timeval t); 991d984 < #define TLINE_FILE_EXTENSION "_tline.xpl" -------------------- DIFFS - tcptrace.c -------------------- 107d106 < Bool graph_tline = FALSE; 531d529 < -L create time line graph[s]\n\ 1800d1797 < graph_tline = TRUE; 1802,1804d1798 < case 'L': graph_tline = TRUE; < fprintf(stderr, "\nWarning: You have chosen the option '-L' to plot Time Line Graphs.\n This option is yet under development and may not reflect accurate results.\n Please take a look at the file README.tline_graphs for more details.\n\n"); < break; 1927d1920 < case 'L': graph_tline = !TRUE; break; 1998a1992 > fprintf(stderr,"graph tsg: %s\n", BOOL2STR(graph_tsg)); 2001,2004d1994 < fprintf(stderr,"graph tsg: %s\n", BOOL2STR(graph_tsg)); < fprintf(stderr,"graph segsize: %s\n", BOOL2STR(graph_segsize)); < fprintf(stderr,"graph owin: %s\n", BOOL2STR(graph_owin)); < fprintf(stderr,"graph tline: %s\n", BOOL2STR(graph_tline)); ----------------- DIFFS - trace.c ----------------- 74,75d73 < static int tline_left = 0; /* left and right time lines for the time line charts */ < static int tline_right = 0; 138,140d135 < char *a2b_seg_color = "green"; /* colors for segments on the time line chart */ < char *b2a_seg_color = "yellow"; < 470,521d464 < /* init time line graphs (Avinash, 2 July 2002) */ < ptp->a2b.tline_plotter = ptp->b2a.tline_plotter = NO_PLOTTER; < if (graph_tline && !ptp->ignore_pair) { < if (!ignore_non_comp || (SYN_SET(ptcp))) { < /* We don't want the standard a2b type name so we will specify < * a filename of type a_b when we call new_plotter. < */ < char filename[25]; < snprintf(filename,sizeof(filename),"%s_%s", < ptp->a2b.host_letter, ptp->a2b.ptwin->host_letter); < < snprintf(title,sizeof(title),"%s_==>_%s (time line graph)", < ptp->a_endpoint, ptp->b_endpoint); < /* We will keep both the plotters the same since we want all < * segments going in either direction to be plotted on the same < * graph < */ < ptp->a2b.tline_plotter = ptp->b2a.tline_plotter = < new_plotter(&ptp->a2b,filename,title, < "segments", < "relative time", < TLINE_FILE_EXTENSION); < < /* Switch the x & y axis types. < * The default is x - timeval, y - unsigned, < * we need x - unsigned, y - dtime. < * Both the plotters are the same so we will < * only call this function once. < */ < plotter_switch_axis(ptp->a2b.tline_plotter, TRUE); < < /* set graph zero points */ < plotter_nothing(ptp->a2b.tline_plotter, current_time); < plotter_nothing(ptp->b2a.tline_plotter, current_time); < < /* Some graph initializations < * Generating a drawing space between x=0-100. < * The time lines will be at x=40 for source, x=60 for destination. < * Rest of the area on either sides will be used to print segment < * information. < * < * seg info |----->| < * |<-----| seg info < */ < tline_left = 40; < tline_right = 60; < plotter_invisible(ptp->a2b.tline_plotter, current_time, 0); < plotter_invisible(ptp->a2b.tline_plotter, current_time, 100); < } < } < < 1159d1101 < PLOTTER tlinepl; 1412,1414d1353 < < /* plotter shorthand (NOTE: we are using one plotter for both directions) */ < tlinepl = thisdir->tline_plotter; 1415a1355 > 1726,1861c1666 < } < < /* graph time line */ < /* Since the axis types have been switched specially for these graphs, < * x is actually used as y and y as x < * -Avinash. < * < * NOTE: This code is lacking about a 1000 lines of intellegence that is needed < * ----- to draw these graphs correctly. I have left it in here as the starting < * point to work on. Whoever is working on this project would want to clean < * up this file trace.c (based on the patches in the README.tline_graphs < * file), and continue development as a seperate module. We started this < * project thinking it is easy to draw these graphs, and then realized that < * it is infact quite a complicated task. All this works with a -L option at < * command line. < */ < if (tlinepl != NO_PLOTTER) { < char buf1[200]; < char buf2[50]; < static seqnum a2b_first_seqnum = 0; < static seqnum b2a_first_seqnum = 0; < /* 1/3rd rtt. Since we have the timestamps only on one side, we calculate the < * arrrival/departure time of the segments on the other side by adding/subtracting < * 1/3rd rtt. We assume that it takes 1/3rd time for the segment to travel in < * either direction, and 1/3rd time for processing. < * We also skew the calculated times so that the acks are not seen before the < * segments actually arrive. < */ < struct timeval one3rd_rtt; < struct timeval copy_current_time; < /* Make a copy of the current time (Needed for calculations) */ < copy_current_time.tv_sec = current_time.tv_sec; < copy_current_time.tv_usec = current_time.tv_usec; < /* Compute 1/3rd rtt */ < one3rd_rtt.tv_sec = 0; < one3rd_rtt.tv_usec = thisdir->rtt_last/3; < /* Adjust seconds and microseconds */ < while(one3rd_rtt.tv_usec >= US_PER_SEC) { < one3rd_rtt.tv_usec -= US_PER_SEC; < one3rd_rtt.tv_sec += 1; < } < < /* Initializations */ < memset(&buf1, 0, sizeof(buf1)); < memset(&buf2, 0, sizeof(buf2)); < < /* Segment information */ < /* Check the flags */ < if(SYN_SET(ptcp)) < strncat(buf1, "SYN ", 4); < if(FIN_SET(ptcp)) < strncat(buf1, "FIN ", 4); < if(RESET_SET(ptcp)) < strncat(buf1, "RST ", 4); < if(PUSH_SET(ptcp)) < strncat(buf1, "PSH ", 4); < if(URGENT_SET(ptcp)) < strncat(buf1, "URG ", 4); < < < /* Write the sequence numbers */ < if(dir == A2B) { < /* Use relative sequence numbers after the first segment in either direction */ < snprintf(buf2, sizeof(buf2), "%u:%u(%u) %c", (start - a2b_first_seqnum), < (end - a2b_first_seqnum), (end-start), NULL); < strncat(buf1, buf2, strlen(buf2)); < if(a2b_first_seqnum == 0 && !SYN_SET(ptcp)) // Don't use relative sequence numbers until handshake is complete. < a2b_first_seqnum = thisdir->min_seq; < }else if(dir == B2A) { < /* Use relative sequence numbers after the first segment in either direction */ < snprintf(buf2, sizeof(buf2), "%u:%u(%u) %c", (start - b2a_first_seqnum), < (end - b2a_first_seqnum), (end-start), NULL); < strncat(buf1, buf2, strlen(buf2)); < if(b2a_first_seqnum == 0 && !SYN_SET(ptcp)) < b2a_first_seqnum = thisdir->min_seq; < } < < /* Acknowledgements */ < if(ACK_SET(ptcp)) { < memset(&buf2, 0, sizeof(buf2)); < if(dir == A2B) < snprintf(buf2, sizeof(buf2), "ack %u %c", (th_ack - b2a_first_seqnum), NULL); < else if(dir == B2A) < snprintf(buf2, sizeof(buf2), "ack %u %c", (th_ack - a2b_first_seqnum), NULL); < strncat(buf1, buf2, strlen(buf2)); < } < < /* Advertised Window */ < memset(&buf2, 0, sizeof(buf2)); < snprintf(buf2, sizeof(buf2), "win %u %c", eff_win,NULL); < strncat(buf1, buf2, strlen(buf2)); < < /* Retransmits */ < if(retrans) { < memset(&buf2, 0, sizeof(buf2)); < snprintf(buf2, sizeof(buf2), "R %c", NULL); < strncat(buf1, buf2, strlen(buf2)); < } < < /* Hardware Duplicates */ < if(hw_dup) { < memset(&buf2, 0, sizeof(buf2)); < snprintf(buf2, sizeof(buf2), "HD %c", NULL); < strncat(buf1, buf2, strlen(buf2)); < } < < /* Draw the segment ------>/<------- */ < if(dir == A2B) { < tv_add(©_current_time, one3rd_rtt); < plotter_line(tlinepl, ptp_save->first_time, tline_left, copy_current_time, tline_left); < plotter_line(tlinepl, ptp_save->first_time, tline_right, copy_current_time, tline_right); < if(SYN_SET(ptcp)|| FIN_SET(ptcp) || RESET_SET(ptcp)) < plotter_perm_color(tlinepl, synfin_color); < else < plotter_perm_color(tlinepl, a2b_seg_color); < plotter_line(tlinepl, current_time, tline_left, copy_current_time, tline_right); < plotter_rarrow(tlinepl, copy_current_time, tline_right); < plotter_perm_color(tlinepl, default_color); < plotter_text(tlinepl, current_time, tline_left, "l", buf1); < } < else if(dir == B2A) { < tv_sub(©_current_time, one3rd_rtt); < plotter_line(tlinepl, ptp_save->first_time, tline_left, copy_current_time, tline_left); < plotter_line(tlinepl, ptp_save->first_time, tline_right, copy_current_time, tline_right); < if(SYN_SET(ptcp)|| FIN_SET(ptcp) || RESET_SET(ptcp)) < plotter_perm_color(tlinepl, synfin_color); < else < plotter_perm_color(tlinepl, b2a_seg_color); < plotter_line(tlinepl, copy_current_time, tline_right, current_time, tline_left); < plotter_larrow(tlinepl, current_time, tline_left); < plotter_perm_color(tlinepl, default_color); < plotter_text(tlinepl, copy_current_time, tline_right, "r", buf1); < } < < } < --- > } tcptrace-6.6.7/README.tput_graphs0100644001217500001440000000214106631142116016264 0ustar mramadasusers >> When I plot a2b_tput.xpl I get two curves, one red and one blue >> plus the yellow dots for packets. What is not clear for me is what >> are the blue and red curves represents with respect to throughput? Sorry, that stuff hasn't been documented very well, partly because I'm not sure how to display it more clearly, but here's what it means: The yellow dots are the instantaneous throughput samples. They're calculated by using the time since the last segment for the connection and the size of the current segment to get bytes/second for this sample. The red line is the result of averaging together multiple yellow dots. By default (see -A), the red line uses the last 10 segments to calculate a throughput. Higher -A values give smoother curves. The blue line is simply a running average throughput from the beginning of the transfer, and it's final value is the same as what is reported for the connection's transfer rate. Hope that helps. As I said, I'm not really sure what should be on this graph. What's there is the stuff that we've wanted here locally, but I'd be glad to hear other ideas! Shawn tcptrace-6.6.7/README.tru640100644001217500001440000000105207303465501014713 0ustar mramadasusersFri May 25, 2001 The version 6 beta version mostly compiles fine on Tru64/Alpha machines with the following exceptions: 1) You need to modify tcptrace.h to find the unusual definitions that Tru64 uses for the bit-field level TCP and IP fields #define IP_HL(pip) ((pip)->ip_vhl&0xf) #define IP_V(pip) ((pip)->ip_vhl>>4) #define TH_X2(ptcp) ((ptcp)->th_xoff&0xf) #define TH_OFF(ptcp) ((ptcp)->th_xoff>>4) 2) the NS module can't handle those, so you'll need to remove "-DGROK_NS" from the Makefile (which will remove NS input file support) tcptrace-6.6.7/README.version0100644001217500001440000000406107520576470015430 0ustar mramadasusersREADME.version: convention used for version numbers, and release instructions Convention followed for version numbers: ---------------------------------------- Starting with release 6.2.0 of tcptrace, we will be using version numbers similar to those used for linux software. Following is the convention followed for version numbers of the form x.y.z: - 'z' changes for small bug fixes - 'y' changes for certain feature enhancements and reasonably large modifications. Also, even numbers indicate stable release and odd numbers are for development versions - 'x' changes when a whole lot has changed since the previous release Release Instructions: --------------------- NOTE: Stable release in this example : 6.4.0 ----- Development version that follows : 6.5.0 ~/tcptrace-cvs$ cvs tag release-6_4_0 ~/tcptrace-cvs$ cd ~$ cvs export -d tcptrace-6.4.0 -r release-6_4_0 tcptrace ~$ tar cf tcptrace-6.4.0.tar tcptrace-6.4.0 etc. to create the build. After that, go back to the tcptrace cvs workspace and *immediately* do the following: ~/tcptrace-cvs$ cvs tag start-6_5 ~/tcptrace-cvs$ cvs tag -b branch-6_5 Then modify the two branches appropriately: *FOR BUG FIXES* ^^^^^^^^^^^^^^^ ~/$ cvs co -d tcptrace-stable tcptrace (change to *6.4.1, 6.4.2* etc. for each bug fixed and check in) *FOR NEW FEATURE DEVELOPMENT* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~/$ cvs co -d tcptrace-devel -r branch-6_5 tcptrace (change to *6.5.0* and check in) Now anyone checking out 'tcptrace' with no args will get the current *stable* branch (bug-fixes only), and anyone checking out with '-r branch-6_5' would get the current development version with all of its glorious new features, etc. Version numbers then go on as 6.4.1, 6.4.2 bug-fixes and, 6.5.1, 6.5.2 etc for development versions until released as 6.6.0 or 7.0.0, depending on magnitude of development. --Avinash Lakhiani (alakhian@tcptrace.org) --Ethan Blanton (eblanton@tcptrace.org) 27 Jul 2002 tcptrace-6.6.7/README.xpl2gpl0100644001217500001440000000267407316145306015334 0ustar mramadasusersIntroduction: ------------- xpl2gpl is a utility that converters tcptrace-style xplot input to gnuplot input. This converter gives a nearly perfect gnuplot reproduction of the corresponding xplot graph. Installation: ------------- Simply copy the script file xpl2gpl to a system-wide area like /bin, /usr/bin, /usr/local/bin or any other suitable location if you wish to make it available to all users. Usage: ------ xpl2gpl [-s] This would produce files by the names "file_name.gpl", "file_name.datasets" and "file_name.labels". Load the file "file_name.gpl" in gnuplot and it should give you the plot. The contents of the other files are as follows: "file_name.datasets" : contains all the plotting coordinates. "file_name.labels : contains all the labels of the plot. "file_name.ps" is the postscript version of the plot that is created when the file "file_name.gpl" is loaded in gnuplot. Options: -------- -s : seperate files (for expert users) If you wish to plot only some data from the xpl file, you may use the -s (seperate files) option which generates a bunch of data-files filtered based on the color and plotting style. Look at the xplot version of the plot, and based upon the color and style, you may alter the corresponding lines in the ".gpl" file, for whatever data you want to alter in the plot. On behalf of Dr. Shawn Ostermann, Avinash Lakhiani Email: avinash.lakhiani@ohiou.edu Ohio University. Jun 18, 2001 tcptrace-6.6.7/THANKS0100644001217500001440000000623607517037032013775 0ustar mramadasusersSpecial thanks to the following organizations: The National Science Foundation For funding the rebirth of tcptrace which has made it possible to hire students and purchase computers for cross-platform development Sun Microsystems For donating the web server and Solaris development platform that serves as www.tcptrace.org Special thanks to the following people who helped, pointed out bugs, or ported the program to other architectures: Sita Menon wrote much of the early retransmission counting and sequencing engine Brian Wilson wrote the original etherpeek capture library Mark Allman and Chris Hayes provided valuable (sometimes incessant!) feedback on the tool (and drew the nice web page graphic) Tim Shepard for writing xplot, of course, providing a wonderful tool for understanding TCP Bill Fenner (fenner@parc.xerox.com) pointed out a couple small bugs in version 3.2.1 pointed out a bug in 3.2.5 that kept it from reading any packets on a PC (endian bug) Jeff Semke (semke@psc.edu) sent me diffs to get it compile under "NetBSD 1.2 on a Pentium box." Rick Jones (raj@hpisrdq.cup.hp.com) sent me diffs to get it to compile on HP systems Keith Scott (kscott@zorba.jpl.nasa.gov) sent me Linux diffs Nasseef Abukamail (nabukama@irg.cs.ohiou.edu) who wrote much of the IPv6 code Byron Collie (byron.collie@ccs.afp.gov.au) for helping make the program more useful to the security community Brian Utterback (Brian.Utterback@East.Sun.COM) for very helpful bug reports Jamshid Mahdavi (mahdavi@novell.com) for poking at the Intel/Linux side of the code and sending bug reports Mark Foster (mafoster@george.arc.nasa.gov) for writing the manual page Ethan Blanton (eblanton@irg.cs.ohiou.edu) for helping us understand the mystery that is Linux and being the guardian of "esthetically pleasing" Wes Eddy (weddy@irg.cs.ohiou.edu) for designing the new web pages and contributing to cross-platform compatibility Nathan Smith (nsmith@irg.cs.ohiou.edu) for figuring out autoconf and making the Darwin/OSX port possible Priya Narasimhan (pnarasim@irg.cs.ohiou.edu) for helping with general bug fixes and rewriting the owin code Marina Bykova (mbykova@irg.cs.ohiou.edu) for helping with the Tru64 port and writing the realtime operation code Bruce Mah (bmah@CA.Sandia.GOV) for helping with bug fixes related to 'buffer overflows' and for improving the http module. Avinash Lakhiani (alakhian@irg.cs.ohiou.edu) for developing jPlot, a Java version of xplot, for adding the IPv6 checksum support, and for other feature enhancements and bug fixes. Daikichi Osuga (osuga@mml.yrp.nttdocomo.co.jp) for helping figure out how to get ns2 trace files to work with tcptrace, and for providing a useful script for the same. Also for providing helpful bug reports. Matt Muggeridge (Matt.Muggeridge@compaq.com) for porting tcptrace to OpenVMS and providing us with detailed documentation for the same. Angelos Stavrou (angelos@ee.columbia.edu) for adding support for the reading of headers from ns FullTcp agents. tcptrace-6.6.7/WWW0100644001217500001440000000011107242321527013453 0ustar mramadasusersMost of info you need is on the web. Check out: http://tcptrace.org/ tcptrace-6.6.7/aclocal.m40100644001217500001440000006456707354355104014737 0ustar mramadasusersdnl @(#) $Header: /usr/local/cvs/tcptrace/aclocal.m4,v 5.3 2001/09/26 13:38:12 sdo Exp $ (LBL) dnl dnl Copyright (c) 1995, 1996, 1997, 1998 dnl The Regents of the University of California. All rights reserved. dnl dnl Redistribution and use in source and binary forms, with or without dnl modification, are permitted provided that: (1) source code distributions dnl retain the above copyright notice and this paragraph in its entirety, (2) dnl distributions including binary code include the above copyright notice and dnl this paragraph in its entirety in the documentation or other materials dnl provided with the distribution, and (3) all advertising materials mentioning dnl features or use of this software display the following acknowledgement: dnl ``This product includes software developed by the University of California, dnl Lawrence Berkeley Laboratory and its contributors.'' Neither the name of dnl the University nor the names of its contributors may be used to endorse dnl or promote products derived from this software without specific prior dnl written permission. dnl THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED dnl WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF dnl MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. dnl dnl LBL autoconf macros dnl dnl dnl Determine which compiler we're using (cc or gcc) dnl If using gcc, determine the version number dnl If using cc, require that it support ansi prototypes dnl If using gcc, use -O2 (otherwise use -O) dnl If using cc, explicitly specify /usr/local/include dnl dnl usage: dnl dnl AC_LBL_C_INIT(copt, incls) dnl dnl results: dnl dnl $1 (copt set) dnl $2 (incls set) dnl CC dnl LDFLAGS dnl ac_cv_lbl_gcc_vers dnl LBL_CFLAGS dnl AC_DEFUN(AC_LBL_C_INIT, [AC_PREREQ(2.12) AC_BEFORE([$0], [AC_PROG_CC]) AC_BEFORE([$0], [AC_LBL_FIXINCLUDES]) AC_BEFORE([$0], [AC_LBL_DEVEL]) AC_ARG_WITH(gcc, [ --without-gcc don't use gcc]) $1="-O" $2="" if test "${srcdir}" != "." ; then $2="-I\$(srcdir)" fi if test "${CFLAGS+set}" = set; then LBL_CFLAGS="$CFLAGS" fi if test -z "$CC" ; then case "$target_os" in bsdi*) AC_CHECK_PROG(SHLICC2, shlicc2, yes, no) if test $SHLICC2 = yes ; then CC=shlicc2 export CC fi ;; esac fi if test -z "$CC" -a "$with_gcc" = no ; then CC=cc export CC fi AC_PROG_CC if test "$GCC" = yes ; then if test "$SHLICC2" = yes ; then ac_cv_lbl_gcc_vers=2 $1="-O2" else AC_MSG_CHECKING(gcc version) AC_CACHE_VAL(ac_cv_lbl_gcc_vers, ac_cv_lbl_gcc_vers=`$CC -v 2>&1 | \ sed -e '/^gcc version /!d' \ -e 's/^gcc version //' \ -e 's/ .*//' -e 's/^[[[^0-9]]]*//' \ -e 's/\..*//'`) AC_MSG_RESULT($ac_cv_lbl_gcc_vers) if test $ac_cv_lbl_gcc_vers -gt 1 ; then $1="-O2" fi fi else AC_MSG_CHECKING(that $CC handles ansi prototypes) AC_CACHE_VAL(ac_cv_lbl_cc_ansi_prototypes, AC_TRY_COMPILE( [#include ], [int frob(int, char *)], ac_cv_lbl_cc_ansi_prototypes=yes, ac_cv_lbl_cc_ansi_prototypes=no)) AC_MSG_RESULT($ac_cv_lbl_cc_ansi_prototypes) if test $ac_cv_lbl_cc_ansi_prototypes = no ; then case "$target_os" in hpux*) AC_MSG_CHECKING(for HP-UX ansi compiler ($CC -Aa -D_HPUX_SOURCE)) savedcflags="$CFLAGS" CFLAGS="-Aa -D_HPUX_SOURCE $CFLAGS" AC_CACHE_VAL(ac_cv_lbl_cc_hpux_cc_aa, AC_TRY_COMPILE( [#include ], [int frob(int, char *)], ac_cv_lbl_cc_hpux_cc_aa=yes, ac_cv_lbl_cc_hpux_cc_aa=no)) AC_MSG_RESULT($ac_cv_lbl_cc_hpux_cc_aa) if test $ac_cv_lbl_cc_hpux_cc_aa = no ; then AC_MSG_ERROR(see the INSTALL doc for more info) fi CFLAGS="$savedcflags" V_CCOPT="-Aa $V_CCOPT" AC_DEFINE(_HPUX_SOURCE) ;; *) AC_MSG_ERROR(see the INSTALL doc for more info) ;; esac fi $2="$$2 -I/usr/local/include" LDFLAGS="$LDFLAGS -L/usr/local/lib" case "$target_os" in irix*) V_CCOPT="$V_CCOPT -xansi -signed -g3" ;; osf*) V_CCOPT="$V_CCOPT -std1 -g3" ;; ultrix*) AC_MSG_CHECKING(that Ultrix $CC hacks const in prototypes) AC_CACHE_VAL(ac_cv_lbl_cc_const_proto, AC_TRY_COMPILE( [#include ], [struct a { int b; }; void c(const struct a *)], ac_cv_lbl_cc_const_proto=yes, ac_cv_lbl_cc_const_proto=no)) AC_MSG_RESULT($ac_cv_lbl_cc_const_proto) if test $ac_cv_lbl_cc_const_proto = no ; then AC_DEFINE(const,) fi ;; esac fi ]) dnl dnl Use pfopen.c if available and pfopen() not in standard libraries dnl Require libpcap dnl Look for libpcap in .. dnl Use the installed libpcap if there is no local version dnl dnl usage: dnl dnl AC_LBL_LIBPCAP(pcapdep, incls) dnl dnl results: dnl dnl $1 (pcapdep set) dnl $2 (incls appended) dnl LIBS dnl LBL_LIBS dnl AC_DEFUN(AC_LBL_LIBPCAP, [AC_REQUIRE([AC_LBL_LIBRARY_NET]) dnl dnl save a copy before locating libpcap.a dnl LBL_LIBS="$LIBS" pfopen=/usr/examples/packetfilter/pfopen.c if test -f $pfopen ; then AC_CHECK_FUNCS(pfopen) if test $ac_cv_func_pfopen = "no" ; then AC_MSG_RESULT(Using $pfopen) LIBS="$LIBS $pfopen" fi fi AC_MSG_CHECKING(for local pcap library) libpcap=FAIL lastdir=FAIL places=`ls .. | sed -e 's,/$,,' -e 's,^,../,' | \ egrep '/libpcap-[[0-9]]*.[[0-9]]*(.[[0-9]]*)?([[ab]][[0-9]]*)?$'` for dir in $places ../libpcap libpcap ; do basedir=`echo $dir | sed -e 's/[[ab]][[0-9]]*$//'` if test $lastdir = $basedir ; then dnl skip alphas when an actual release is present continue; fi lastdir=$dir if test -r $dir/libpcap.a ; then libpcap=$dir/libpcap.a d=$dir dnl continue and select the last one that exists fi done if test $libpcap = FAIL ; then AC_MSG_RESULT(not found) AC_CHECK_LIB(pcap, main, libpcap="-lpcap") if test $libpcap = FAIL ; then AC_MSG_ERROR(see the INSTALL doc for more info) fi else $1=$libpcap if test -r $d/pcap.h; then $2="-I$d $$2" elif test -r $srcdir/../libpcap/pcap.h; then $2="-I$d -I$srcdir/../libpcap $$2" else AC_MSG_ERROR(cannot find pcap.h, see INSTALL) fi AC_MSG_RESULT($libpcap) fi LIBS="$libpcap $LIBS" case "$target_os" in aix*) pseexe="/lib/pse.exp" AC_MSG_CHECKING(for $pseexe) if test -f $pseexe ; then AC_MSG_RESULT(yes) LIBS="$LIBS -I:$pseexe" fi ;; esac]) dnl dnl Define RETSIGTYPE and RETSIGVAL dnl dnl usage: dnl dnl AC_LBL_TYPE_SIGNAL dnl dnl results: dnl dnl RETSIGTYPE (defined) dnl RETSIGVAL (defined) dnl AC_DEFUN(AC_LBL_TYPE_SIGNAL, [AC_BEFORE([$0], [AC_LBL_LIBPCAP]) AC_TYPE_SIGNAL if test "$ac_cv_type_signal" = void ; then AC_DEFINE(RETSIGVAL,) else AC_DEFINE(RETSIGVAL,(0)) fi case "$target_os" in irix*) AC_DEFINE(_BSD_SIGNALS) ;; *) dnl prefer sigset() to sigaction() AC_CHECK_FUNCS(sigset) if test $ac_cv_func_sigset = no ; then AC_CHECK_FUNCS(sigaction) fi ;; esac]) dnl dnl If using gcc, make sure we have ANSI ioctl definitions dnl dnl usage: dnl dnl AC_LBL_FIXINCLUDES dnl AC_DEFUN(AC_LBL_FIXINCLUDES, [if test "$GCC" = yes ; then AC_MSG_CHECKING(for ANSI ioctl definitions) AC_CACHE_VAL(ac_cv_lbl_gcc_fixincludes, AC_TRY_COMPILE( [/* * This generates a "duplicate case value" when fixincludes * has not be run. */ # include # include # include # ifdef HAVE_SYS_IOCCOM_H # include # endif], [switch (0) { case _IO('A', 1):; case _IO('B', 1):; }], ac_cv_lbl_gcc_fixincludes=yes, ac_cv_lbl_gcc_fixincludes=no)) AC_MSG_RESULT($ac_cv_lbl_gcc_fixincludes) if test $ac_cv_lbl_gcc_fixincludes = no ; then # Don't cache failure unset ac_cv_lbl_gcc_fixincludes AC_MSG_ERROR(see the INSTALL for more info) fi fi]) dnl dnl Check for flex, default to lex dnl Require flex 2.4 or higher dnl Check for bison, default to yacc dnl Default to lex/yacc if both flex and bison are not available dnl Define the yy prefix string if using flex and bison dnl dnl usage: dnl dnl AC_LBL_LEX_AND_YACC(lex, yacc, yyprefix) dnl dnl results: dnl dnl $1 (lex set) dnl $2 (yacc appended) dnl $3 (optional flex and bison -P prefix) dnl AC_DEFUN(AC_LBL_LEX_AND_YACC, [AC_ARG_WITH(flex, [ --without-flex don't use flex]) AC_ARG_WITH(bison, [ --without-bison don't use bison]) if test "$with_flex" = no ; then $1=lex else AC_CHECK_PROGS($1, flex, lex) fi if test "$$1" = flex ; then # The -V flag was added in 2.4 AC_MSG_CHECKING(for flex 2.4 or higher) AC_CACHE_VAL(ac_cv_lbl_flex_v24, if flex -V >/dev/null 2>&1; then ac_cv_lbl_flex_v24=yes else ac_cv_lbl_flex_v24=no fi) AC_MSG_RESULT($ac_cv_lbl_flex_v24) if test $ac_cv_lbl_flex_v24 = no ; then s="2.4 or higher required" AC_MSG_WARN(ignoring obsolete flex executable ($s)) $1=lex fi fi if test "$with_bison" = no ; then $2=yacc else AC_CHECK_PROGS($2, bison, yacc) fi if test "$$2" = bison ; then $2="$$2 -y" fi if test "$$1" != lex -a "$$2" = yacc -o "$$1" = lex -a "$$2" != yacc ; then AC_MSG_WARN(don't have both flex and bison; reverting to lex/yacc) $1=lex $2=yacc fi if test "$$1" = flex -a -n "$3" ; then $1="$$1 -P$3" $2="$$2 -p $3" fi]) dnl dnl Checks to see if union wait is used with WEXITSTATUS() dnl dnl usage: dnl dnl AC_LBL_UNION_WAIT dnl dnl results: dnl dnl DECLWAITSTATUS (defined) dnl AC_DEFUN(AC_LBL_UNION_WAIT, [AC_MSG_CHECKING(if union wait is used) AC_CACHE_VAL(ac_cv_lbl_union_wait, AC_TRY_COMPILE([ # include # include ], [int status; u_int i = WEXITSTATUS(status); u_int j = waitpid(0, &status, 0);], ac_cv_lbl_union_wait=no, ac_cv_lbl_union_wait=yes)) AC_MSG_RESULT($ac_cv_lbl_union_wait) if test $ac_cv_lbl_union_wait = yes ; then AC_DEFINE(DECLWAITSTATUS,union wait) else AC_DEFINE(DECLWAITSTATUS,int) fi]) dnl dnl Checks to see if the sockaddr struct has the 4.4 BSD sa_len member dnl dnl usage: dnl dnl AC_LBL_SOCKADDR_SA_LEN dnl dnl results: dnl dnl HAVE_SOCKADDR_SA_LEN (defined) dnl AC_DEFUN(AC_LBL_SOCKADDR_SA_LEN, [AC_MSG_CHECKING(if sockaddr struct has sa_len member) AC_CACHE_VAL(ac_cv_lbl_sockaddr_has_sa_len, AC_TRY_COMPILE([ # include # include ], [u_int i = sizeof(((struct sockaddr *)0)->sa_len)], ac_cv_lbl_sockaddr_has_sa_len=yes, ac_cv_lbl_sockaddr_has_sa_len=no)) AC_MSG_RESULT($ac_cv_lbl_sockaddr_has_sa_len) if test $ac_cv_lbl_sockaddr_has_sa_len = yes ; then AC_DEFINE(HAVE_SOCKADDR_SA_LEN) fi]) dnl dnl Checks to see if -R is used dnl dnl usage: dnl dnl AC_LBL_HAVE_RUN_PATH dnl dnl results: dnl dnl ac_cv_lbl_have_run_path (yes or no) dnl AC_DEFUN(AC_LBL_HAVE_RUN_PATH, [AC_MSG_CHECKING(for ${CC-cc} -R) AC_CACHE_VAL(ac_cv_lbl_have_run_path, [echo 'main(){}' > conftest.c ${CC-cc} -o conftest conftest.c -R/a1/b2/c3 >conftest.out 2>&1 if test ! -s conftest.out ; then ac_cv_lbl_have_run_path=yes else ac_cv_lbl_have_run_path=no fi rm -f conftest*]) AC_MSG_RESULT($ac_cv_lbl_have_run_path) ]) dnl dnl Due to the stupid way it's implemented, AC_CHECK_TYPE is nearly useless. dnl dnl usage: dnl dnl AC_LBL_CHECK_TYPE dnl dnl results: dnl dnl int32_t (defined) dnl u_int32_t (defined) dnl AC_DEFUN(AC_LBL_CHECK_TYPE, [AC_MSG_CHECKING(for $1 using $CC) AC_CACHE_VAL(ac_cv_lbl_have_$1, AC_TRY_COMPILE([ # include "confdefs.h" # include # if STDC_HEADERS # include # include # endif], [$1 i], ac_cv_lbl_have_$1=yes, ac_cv_lbl_have_$1=no)) AC_MSG_RESULT($ac_cv_lbl_have_$1) if test $ac_cv_lbl_have_$1 = no ; then AC_DEFINE($1, $2) fi]) dnl dnl Checks to see if unaligned memory accesses fail dnl dnl usage: dnl dnl AC_LBL_UNALIGNED_ACCESS dnl dnl results: dnl dnl LBL_ALIGN (DEFINED) dnl AC_DEFUN(AC_LBL_UNALIGNED_ACCESS, [AC_MSG_CHECKING(if unaligned accesses fail) AC_CACHE_VAL(ac_cv_lbl_unaligned_fail, [case "$target_cpu" in # XXX: should also check that they don't do weird things (like on arm) alpha*|arm*|hp*|mips|sparc) ac_cv_lbl_unaligned_fail=yes ;; *) cat >conftest.c < # include # include unsigned char a[[5]] = { 1, 2, 3, 4, 5 }; main() { unsigned int i; pid_t pid; int status; /* avoid "core dumped" message */ pid = fork(); if (pid < 0) exit(2); if (pid > 0) { /* parent */ pid = waitpid(pid, &status, 0); if (pid < 0) exit(3); exit(!WIFEXITED(status)); } /* child */ i = *(unsigned int *)&a[[1]]; printf("%d\n", i); exit(0); } EOF ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS \ conftest.c $LIBS >/dev/null 2>&1 if test ! -x conftest ; then dnl failed to compile for some reason ac_cv_lbl_unaligned_fail=yes else ./conftest >conftest.out if test ! -s conftest.out ; then ac_cv_lbl_unaligned_fail=yes else ac_cv_lbl_unaligned_fail=no fi fi rm -f conftest* core core.conftest ;; esac]) AC_MSG_RESULT($ac_cv_lbl_unaligned_fail) if test $ac_cv_lbl_unaligned_fail = yes ; then AC_DEFINE(LBL_ALIGN) fi]) dnl dnl If using gcc and the file .devel exists: dnl Compile with -g (if supported) and -Wall dnl If using gcc 2, do extra prototype checking dnl If an os prototype include exists, symlink os-proto.h to it dnl dnl usage: dnl dnl AC_LBL_DEVEL(copt) dnl dnl results: dnl dnl $1 (copt appended) dnl HAVE_OS_PROTO_H (defined) dnl os-proto.h (symlinked) dnl AC_DEFUN(AC_LBL_DEVEL, [rm -f os-proto.h if test "${LBL_CFLAGS+set}" = set; then $1="$$1 ${LBL_CFLAGS}" fi if test -f .devel ; then if test "$GCC" = yes ; then if test "${LBL_CFLAGS+set}" != set; then if test "$ac_cv_prog_cc_g" = yes ; then $1="-g $$1" fi $1="$$1 -Wall" if test $ac_cv_lbl_gcc_vers -gt 1 ; then $1="$$1 -Wmissing-prototypes -Wstrict-prototypes" fi fi else case "$target_os" in irix6*) V_CCOPT="$V_CCOPT -n32" ;; *) ;; esac fi os=`echo $target_os | sed -e 's/\([[0-9]][[0-9]]*\)[[^0-9]].*$/\1/'` name="lbl/os-$os.h" if test -f $name ; then ln -s $name os-proto.h AC_DEFINE(HAVE_OS_PROTO_H) else AC_MSG_WARN(can't find $name) fi fi]) dnl dnl Improved version of AC_CHECK_LIB dnl dnl Thanks to John Hawkinson (jhawk@mit.edu) dnl dnl usage: dnl dnl AC_LBL_CHECK_LIB(LIBRARY, FUNCTION [, ACTION-IF-FOUND [, dnl ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES]]]) dnl dnl results: dnl dnl LIBS dnl define(AC_LBL_CHECK_LIB, [AC_MSG_CHECKING([for $2 in -l$1]) dnl Use a cache variable name containing both the library and function name, dnl because the test really is for library $1 defining function $2, not dnl just for library $1. Separate tests with the same $1 and different $2's dnl may have different results. ac_lib_var=`echo $1['_']$2['_']$5 | sed 'y%./+- %__p__%'` AC_CACHE_VAL(ac_cv_lbl_lib_$ac_lib_var, [ac_save_LIBS="$LIBS" LIBS="-l$1 $5 $LIBS" AC_TRY_LINK(dnl ifelse([$2], [main], , dnl Avoid conflicting decl of main. [/* Override any gcc2 internal prototype to avoid an error. */ ]dnl [/* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $2(); ]), [$2()], eval "ac_cv_lbl_lib_$ac_lib_var=yes", eval "ac_cv_lbl_lib_$ac_lib_var=no") LIBS="$ac_save_LIBS" ])dnl if eval "test \"`echo '$ac_cv_lbl_lib_'$ac_lib_var`\" = yes"; then AC_MSG_RESULT(yes) ifelse([$3], , [changequote(, )dnl ac_tr_lib=HAVE_LIB`echo $1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` changequote([, ])dnl AC_DEFINE_UNQUOTED($ac_tr_lib) LIBS="-l$1 $LIBS" ], [$3]) else AC_MSG_RESULT(no) ifelse([$4], , , [$4 ])dnl fi ]) dnl dnl AC_LBL_LIBRARY_NET dnl dnl This test is for network applications that need socket() and dnl gethostbyname() -ish functions. Under Solaris, those applications dnl need to link with "-lsocket -lnsl". Under IRIX, they need to link dnl with "-lnsl" but should *not* link with "-lsocket" because dnl libsocket.a breaks a number of things (for instance: dnl gethostbyname() under IRIX 5.2, and snoop sockets under most dnl versions of IRIX). dnl dnl Unfortunately, many application developers are not aware of this, dnl and mistakenly write tests that cause -lsocket to be used under dnl IRIX. It is also easy to write tests that cause -lnsl to be used dnl under operating systems where neither are necessary (or useful), dnl such as SunOS 4.1.4, which uses -lnsl for TLI. dnl dnl This test exists so that every application developer does not test dnl this in a different, and subtly broken fashion. dnl It has been argued that this test should be broken up into two dnl seperate tests, one for the resolver libraries, and one for the dnl libraries necessary for using Sockets API. Unfortunately, the two dnl are carefully intertwined and allowing the autoconf user to use dnl them independantly potentially results in unfortunate ordering dnl dependancies -- as such, such component macros would have to dnl carefully use indirection and be aware if the other components were dnl executed. Since other autoconf macros do not go to this trouble, dnl and almost no applications use sockets without the resolver, this dnl complexity has not been implemented. dnl dnl The check for libresolv is in case you are attempting to link dnl statically and happen to have a libresolv.a lying around (and no dnl libnsl.a). dnl AC_DEFUN(AC_LBL_LIBRARY_NET, [ # Most operating systems have gethostbyname() in the default searched # libraries (i.e. libc): AC_CHECK_FUNC(gethostbyname, , # Some OSes (eg. Solaris) place it in libnsl: AC_LBL_CHECK_LIB(nsl, gethostbyname, , # Some strange OSes (SINIX) have it in libsocket: AC_LBL_CHECK_LIB(socket, gethostbyname, , # Unfortunately libsocket sometimes depends on libnsl. # AC_CHECK_LIB's API is essentially broken so the # following ugliness is necessary: AC_LBL_CHECK_LIB(socket, gethostbyname, LIBS="-lsocket -lnsl $LIBS", AC_CHECK_LIB(resolv, gethostbyname), -lnsl)))) AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket, , AC_LBL_CHECK_LIB(socket, socket, LIBS="-lsocket -lnsl $LIBS", , -lnsl))) # DLPI needs putmsg under HPUX so test for -lstr while we're at it AC_CHECK_LIB(str, putmsg) ]) dnl Copyright (c) 1999 WIDE Project. All rights reserved. dnl dnl Redistribution and use in source and binary forms, with or without dnl modification, are permitted provided that the following conditions dnl are met: dnl 1. Redistributions of source code must retain the above copyright dnl notice, this list of conditions and the following disclaimer. dnl 2. Redistributions in binary form must reproduce the above copyright dnl notice, this list of conditions and the following disclaimer in the dnl documentation and/or other materials provided with the distribution. dnl 3. Neither the name of the project nor the names of its contributors dnl may be used to endorse or promote products derived from this software dnl without specific prior written permission. dnl dnl THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND dnl ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE dnl ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE dnl FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL dnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS dnl OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) dnl HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT dnl LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY dnl OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF dnl SUCH DAMAGE. dnl dnl Checks to see if AF_INET6 is defined AC_DEFUN(AC_CHECK_AF_INET6, [ AC_MSG_CHECKING(for AF_INET6) AC_CACHE_VAL($1, AC_TRY_COMPILE([ # include # include ], [int a = AF_INET6], $1=yes, $1=no)) AC_MSG_RESULT($$1) if test $$1 = yes ; then AC_DEFINE(HAVE_AF_INET6) fi ]) dnl dnl Checks to see if the sockaddr struct has the 4.4 BSD sa_len member dnl borrowed from LBL libpcap AC_DEFUN(AC_CHECK_SA_LEN, [ AC_MSG_CHECKING(if sockaddr struct has sa_len member) AC_CACHE_VAL($1, AC_TRY_COMPILE([ # include # include ], [u_int i = sizeof(((struct sockaddr *)0)->sa_len)], $1=yes, $1=no)) AC_MSG_RESULT($$1) if test $$1 = yes ; then AC_DEFINE(HAVE_SOCKADDR_SA_LEN) fi ]) dnl dnl Checks for portable prototype declaration macro AC_DEFUN(AC_CHECK_PORTABLE_PROTO, [ AC_MSG_CHECKING(for __P) AC_CACHE_VAL($1, AC_TRY_COMPILE([ # include ], [int f __P(())], $1=yes, $1=no)) AC_MSG_RESULT($$1) if test $$1 = yes; then AC_DEFINE(HAVE_PORTABLE_PROTOTYPE) fi ]) dnl checks for u_intXX_t AC_DEFUN(AC_CHECK_BITTYPES, [ $1=yes dnl check for u_int8_t AC_MSG_CHECKING(for u_int8_t) AC_CACHE_VAL(ac_cv_u_int8_t, AC_TRY_COMPILE([ # include ], [u_int8_t i], ac_cv_u_int8_t=yes, ac_cv_u_int8_t=no)) AC_MSG_RESULT($ac_cv_u_int8_t) if test $ac_cv_u_int8_t = yes; then AC_DEFINE(HAVE_U_INT8_T) else $1=no fi dnl check for u_int16_t AC_MSG_CHECKING(for u_int16_t) AC_CACHE_VAL(ac_cv_u_int16_t, AC_TRY_COMPILE([ # include ], [u_int16_t i], ac_cv_u_int16_t=yes, ac_cv_u_int16_t=no)) AC_MSG_RESULT($ac_cv_u_int16_t) if test $ac_cv_u_int16_t = yes; then AC_DEFINE(HAVE_U_INT16_T) else $1=no fi dnl check for u_int32_t AC_MSG_CHECKING(for u_int32_t) AC_CACHE_VAL(ac_cv_u_int32_t, AC_TRY_COMPILE([ # include ], [u_int32_t i], ac_cv_u_int32_t=yes, ac_cv_u_int32_t=no)) AC_MSG_RESULT($ac_cv_u_int32_t) if test $ac_cv_u_int32_t = yes; then AC_DEFINE(HAVE_U_INT32_T) else $1=no fi ]) dnl dnl Checks for addrinfo structure AC_DEFUN(AC_STRUCT_ADDRINFO, [ AC_MSG_CHECKING(for addrinfo) AC_CACHE_VAL($1, AC_TRY_COMPILE([ # include ], [struct addrinfo a], $1=yes, $1=no)) AC_MSG_RESULT($$1) if test $$1 = yes; then AC_DEFINE(HAVE_ADDRINFO) else AC_DEFINE(NEED_ADDRINFO_H) fi ]) dnl dnl Checks for NI_MAXSERV AC_DEFUN(AC_NI_MAXSERV, [ AC_MSG_CHECKING(for NI_MAXSERV) AC_CACHE_VAL($1, AC_EGREP_CPP(yes, [#include #ifdef NI_MAXSERV yes #endif], $1=yes, $1=no)) AC_MSG_RESULT($$1) if test $$1 != yes; then AC_DEFINE(NEED_ADDRINFO_H) fi ]) dnl dnl Checks for NI_NAMEREQD AC_DEFUN(AC_NI_NAMEREQD, [ AC_MSG_CHECKING(for NI_NAMEREQD) AC_CACHE_VAL($1, AC_EGREP_CPP(yes, [#include #ifdef NI_NOFQDN yes #endif], $1=yes, $1=no)) AC_MSG_RESULT($$1) if test $$1 != yes; then AC_DEFINE(NEED_ADDRINFO_H) fi ]) dnl dnl Checks for sockaddr_storage structure AC_DEFUN(AC_STRUCT_SA_STORAGE, [ AC_MSG_CHECKING(for sockaddr_storage) AC_CACHE_VAL($1, AC_TRY_COMPILE([ # include # include ], [struct sockaddr_storage s], $1=yes, $1=no)) AC_MSG_RESULT($$1) if test $$1 = yes; then AC_DEFINE(HAVE_SOCKADDR_STORAGE) fi ]) dnl dnl Checks for macro of IP address size AC_DEFUN(AC_CHECK_ADDRSZ, [ $1=yes dnl check for INADDRSZ AC_MSG_CHECKING(for INADDRSZ) AC_CACHE_VAL(ac_cv_inaddrsz, AC_TRY_COMPILE([ # include ], [int a = INADDRSZ], ac_cv_inaddrsz=yes, ac_cv_inaddrsz=no)) AC_MSG_RESULT($ac_cv_inaddrsz) if test $ac_cv_inaddrsz = yes; then AC_DEFINE(HAVE_INADDRSZ) else $1=no fi dnl check for IN6ADDRSZ AC_MSG_CHECKING(for IN6ADDRSZ) AC_CACHE_VAL(ac_cv_in6addrsz, AC_TRY_COMPILE([ # include ], [int a = IN6ADDRSZ], ac_cv_in6addrsz=yes, ac_cv_in6addrsz=no)) AC_MSG_RESULT($ac_cv_in6addrsz) if test $ac_cv_in6addrsz = yes; then AC_DEFINE(HAVE_IN6ADDRSZ) else $1=no fi ]) dnl dnl check for RES_USE_INET6 AC_DEFUN(AC_CHECK_RES_USE_INET6, [ AC_MSG_CHECKING(for RES_USE_INET6) AC_CACHE_VAL($1, AC_TRY_COMPILE([ # include # include # include ], [int a = RES_USE_INET6], $1=yes, $1=no)) AC_MSG_RESULT($$1) if test $$1 = yes; then AC_DEFINE(HAVE_RES_USE_INET6) fi ]) dnl dnl check for AAAA AC_DEFUN(AC_CHECK_AAAA, [ AC_MSG_CHECKING(for AAAA) AC_CACHE_VAL($1, AC_TRY_COMPILE([ # include # include ], [int a = T_AAAA], $1=yes, $1=no)) AC_MSG_RESULT($$1) if test $$1 = yes; then AC_DEFINE(HAVE_AAAA) fi ]) dnl dnl check for struct res_state_ext AC_DEFUN(AC_STRUCT_RES_STATE_EXT, [ AC_MSG_CHECKING(for res_state_ext) AC_CACHE_VAL($1, AC_TRY_COMPILE([ # include # include # include # include ], [struct __res_state_ext e], $1=yes, $1=no)) AC_MSG_RESULT($$1) if test $$1 = yes; then AC_DEFINE(HAVE_RES_STATE_EXT) fi ]) dnl dnl check for struct res_state_ext AC_DEFUN(AC_STRUCT_RES_STATE, [ AC_MSG_CHECKING(for nsort in res_state) AC_CACHE_VAL($1, AC_TRY_COMPILE([ # include # include # include # include ], [struct __res_state e; e.nsort = 0], $1=yes, $1=no)) AC_MSG_RESULT($$1) if test $$1 = yes; then AC_DEFINE(HAVE_NEW_RES_STATE) fi ]) dnl dnl check for h_errno AC_DEFUN(AC_VAR_H_ERRNO, [ AC_MSG_CHECKING(for h_errno) AC_CACHE_VAL(ac_cv_var_h_errno, AC_TRY_COMPILE([ # include # include ], [int foo = h_errno;], ac_cv_var_h_errno=yes, ac_cv_var_h_errno=no)) AC_MSG_RESULT($ac_cv_var_h_errno) if test "$ac_cv_var_h_errno" = "yes"; then AC_DEFINE(HAVE_H_ERRNO) fi ]) dnl dnl Test for __attribute__ dnl AC_DEFUN(AC_C___ATTRIBUTE__, [ AC_MSG_CHECKING(for __attribute__) AC_CACHE_VAL(ac_cv___attribute__, [ AC_TRY_COMPILE([ #include ], [ static void foo(void) __attribute__ ((noreturn)); static void foo(void) { exit(1); } ], ac_cv___attribute__=yes, ac_cv___attribute__=no)]) if test "$ac_cv___attribute__" = "yes"; then AC_DEFINE(HAVE___ATTRIBUTE__, 1, [define if your compiler has __attribute__]) fi AC_MSG_RESULT($ac_cv___attribute__) ]) tcptrace-6.6.7/avl.c0100644001217500001440000002706110142521325013776 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Ramani Yellapragada * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/avl.c,v 5.5 2004/11/04 21:44:53 sdo Exp $"; /* Local routines for handling AVL tree balancing after inserting a node */ static void SnapRotLeft(ptp_snap **n); static void SnapRotRight(ptp_snap **n); static enum AVLRES SnapLeftGrown(ptp_snap **n); static enum AVLRES SnapRightGrown(ptp_snap **n); /* Local routines for handling AVL tree balancing after removing a node */ static enum AVLRES SnapLeftShrunk(ptp_snap **n); static enum AVLRES SnapRightShrunk(ptp_snap **n); static int SnapFindHighest(ptp_snap *target, ptp_snap **n, enum AVLRES *res); static int SnapFindLowest(ptp_snap *target, ptp_snap **n, enum AVLRES *res); /* * SnapRotLeft - perform counter clockwise rotation */ static void SnapRotLeft( ptp_snap **n) { ptp_snap *tmp = *n; if (debug > 4) printf("SnapRotLeft(): Rotating the AVL tree counter clockwise\n"); *n = (*n)->right; tmp->right = (*n)->left; (*n)->left = tmp; } /* * SnapRotRight - perform clockwise rotation */ static void SnapRotRight( ptp_snap **n) { ptp_snap *tmp = *n; if (debug > 4) printf("SnapRotRight(): Rotating the AVL tree clockwise\n"); *n = (*n)->left; tmp->left = (*n)->right; (*n)->right = tmp; } /* SnapLeftGrown - For balancing an AVL tree after insertion * Input is the address of a node. The node's left subtree has grown * due to insertion. */ static enum AVLRES SnapLeftGrown( ptp_snap **n) { if (debug > 4) printf("SnapLeftGrown(): Balancing the AVL tree because left subtree\ has grown after insertion\n"); switch ((*n)->skew) { case LEFT: if ((*n)->left->skew == LEFT) { (*n)->skew = (*n)->left->skew = EQUAL1; SnapRotRight(n); } else { switch ((*n)->left->right->skew) { case LEFT: (*n)->skew = RIGHT; (*n)->left->skew = EQUAL1; break; case RIGHT: (*n)->skew = EQUAL1; (*n)->left->skew = LEFT; break; default: (*n)->skew = EQUAL1; (*n)->left->skew = EQUAL1; } (*n)->left->right->skew = EQUAL1; SnapRotLeft(&(*n)->left); SnapRotRight(n); } return OK; case RIGHT: (*n)->skew = EQUAL1; return OK; default: (*n)->skew = LEFT; return BALANCE; } } /* SnapRightGrown - For balancing an AVL tree after insertion * Input is the address of a node. The node's right subtree has grown * due to insertion. */ static enum AVLRES SnapRightGrown( ptp_snap **n) { if (debug > 4) printf("SnapRightGrown(): Balancing the AVL tree because right subtree\ has grown after insertion\n"); switch ((*n)->skew) { case LEFT: (*n)->skew = EQUAL1; return OK; case RIGHT: if ((*n)->right->skew == RIGHT) { (*n)->skew = (*n)->right->skew = EQUAL1; SnapRotLeft(n); } else { switch ((*n)->right->left->skew) { case RIGHT: (*n)->skew = LEFT; (*n)->right->skew = EQUAL1; break; case LEFT: (*n)->skew = EQUAL1; (*n)->right->skew = RIGHT; break; default: (*n)->skew = EQUAL1; (*n)->right->skew = EQUAL1; } (*n)->right->left->skew = EQUAL1; SnapRotRight(&(*n)->right); SnapRotLeft(n); } return OK; default: (*n)->skew = RIGHT; return BALANCE; } } /* * SnapInsert - insert a node into the AVL tree * and balance the AVL tree */ enum AVLRES SnapInsert( ptp_snap **root, ptp_snap *new_node) { enum AVLRES tmp; if (debug > 4) printf("SnapInsert(): Inserting a node in the AVL tree\n"); if (!(*root)) { *root = new_node; (*root)->left = (*root)->right = NULL; (*root)->skew = EQUAL1; return BALANCE; } else if (AVL_WhichDir(&new_node->addr_pair, &((*root)->addr_pair)) == LT) { if ((tmp = SnapInsert(&(*root)->left, new_node)) == BALANCE) { return SnapLeftGrown(root); } return tmp; } else if (AVL_WhichDir(&new_node->addr_pair, &((*root)->addr_pair)) == RT) { if ((tmp = SnapInsert(&(*root)->right, new_node)) == BALANCE) { return SnapRightGrown(root); } return tmp; } return 0; } /* * SnapLeftShrunk - For balancing an AVL tree after removing a node * Input is the address of a node. The node's left subtree has shrunk * due to removal and might have made the tree unbalanced. */ static enum AVLRES SnapLeftShrunk( ptp_snap **n) { if (debug > 4) printf("SnapLeftshrunk(): Balancing the AVL tree because left subtree\ has shrunk after removal\n"); switch ((*n)->skew) { case LEFT: (*n)->skew = EQUAL1; return BALANCE; case RIGHT: if ((*n)->right->skew == RIGHT) { (*n)->skew = (*n)->right->skew = EQUAL1; SnapRotLeft(n); return BALANCE; } else if ((*n)->right->skew == EQUAL1) { (*n)->skew = RIGHT; (*n)->right->skew = LEFT; SnapRotLeft(n); return OK; } else { switch ((*n)->right->left->skew) { case LEFT: (*n)->skew = EQUAL1; (*n)->right->skew = RIGHT; break; case RIGHT: (*n)->skew = LEFT; (*n)->right->skew = EQUAL1; break; default: (*n)->skew = EQUAL1; (*n)->right->skew = EQUAL1; } (*n)->right->left->skew = EQUAL1; SnapRotRight(& (*n)->right); SnapRotLeft(n); return BALANCE; } default: (*n)->skew = RIGHT; return OK; } } /* * SnapRightShrunk - For balancing an AVL tree after removing a node * Input is the address of a node. The node's right subtree has shrunk * due to removal and might have made the tree unbalanced. */ static enum AVLRES SnapRightShrunk( ptp_snap **n) { if (debug > 4) printf("SnapRightShrunk(): Balancing the AVL tree because right subtree\ has shrunk after removal\n"); switch ((*n)->skew) { case RIGHT: (*n)->skew = EQUAL1; return BALANCE; case LEFT: if ((*n)->left->skew == LEFT) { (*n)->skew = (*n)->left->skew = EQUAL1; SnapRotRight(n); return BALANCE; } else if ((*n)->left->skew == EQUAL1) { (*n)->skew = LEFT; (*n)->left->skew = RIGHT; SnapRotRight(n); return OK; } else { switch ((*n)->left->right->skew) { case LEFT: (*n)->skew = RIGHT; (*n)->left->skew = EQUAL1; break; case RIGHT: (*n)->skew = EQUAL1; (*n)->left->skew = LEFT; break; default: (*n)->skew = EQUAL1; (*n)->left->skew = EQUAL1; } (*n)->left->right->skew = EQUAL1; SnapRotLeft(& (*n)->left); SnapRotRight(n); return BALANCE; } default: (*n)->skew = LEFT; return OK; } } /* * SnapFindHighest - replace a node with a subtree's highest-ranking item */ static int SnapFindHighest( ptp_snap *target, ptp_snap **n, enum AVLRES *res) { ptp_snap *tmp; if (debug > 4) printf("SnapFindHighest(): Replacing a node with a subtree's\ highest ranking item \n"); *res = BALANCE; if (! (*n)) { return 0; } if ((*n)->right) { if (!SnapFindHighest(target, & (*n)->right, res)) { return 0; } if (*res == BALANCE) { *res = SnapRightShrunk(n); } return 1; } target->addr_pair = (*n)->addr_pair; target->ptp = (*n)->ptp; tmp = *n; (*n) = (*n)->left; return 1; } /* * SnapFindLowest - replace a node with a subtree's lowest-ranking item */ static int SnapFindLowest( ptp_snap *target, ptp_snap **n, enum AVLRES *res) { ptp_snap *tmp; if (debug > 4) printf("SnapFindLowest(): Replacing a node with a subtree's\ lowest ranking item \n"); *res = BALANCE; if (!(*n)) { return 0; } if ((*n)->left) { if (!SnapFindLowest(target, & (*n)->left, res)) { return 0; } if (*res == BALANCE) { *res = SnapLeftShrunk(n); } return 1; } target->addr_pair = (*n)->addr_pair; target->ptp = (*n)->ptp; tmp = *n; *n = (*n)->right; return 1; } /* * SnapRemove - remove a node from the AVL tree * and balance the AVL tree */ enum AVLRES SnapRemove( ptp_snap **root, tcp_pair_addrblock addr) { enum AVLRES tmp = BALANCE; if (debug > 4) printf("SnapRemove(): Removing a node from the AVL tree\n"); if (!(*root)) { return 0; } if (AVL_WhichDir(&addr, &((*root)->addr_pair)) == LT) { if ((tmp = SnapRemove(&(*root)->left, addr)) == BALANCE) { return SnapLeftShrunk(root); } return tmp; } if (AVL_WhichDir(&addr, &((*root)->addr_pair)) == RT) { if ((tmp = SnapRemove(&(*root)->right, addr)) == BALANCE) { return SnapRightShrunk(root); } return tmp; } if ((*root)->left) { if (SnapFindHighest(*root, &((*root)->left), &tmp)) { if (tmp == BALANCE) { tmp = SnapLeftShrunk(root); } return tmp; } } if ((*root)->right) { if (SnapFindLowest(*root, &((*root)->right), &tmp)) { if (tmp == BALANCE) { tmp = SnapRightShrunk(root); } return tmp; } } *root = NULL; return BALANCE; } tcptrace-6.6.7/compress.c0100644001217500001440000004556410127347512015066 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "$Header: /usr/local/cvs/tcptrace/compress.c,v 5.9 2004/10/01 21:42:34 mramadas Exp $"; #include "compress.h" #include /* * OK, this stuff is a little complicated. Here's why: * 1) the routines that examine the file to see if it's of * a particular type want a real file that they can do * a "seek" on. Seeking backwards won't work on a stream * 2) What I do for compressed files is to decompress twice: * - The first time I just save the first COMP_HDR_SIZE bytes * into a temporary file and then stop the decompression. * I then use that file to determine that file type * - After I know the file type, I restart the decompression * and reconnect the decompress pipe to stdin * 3) If the "file" input _IS_ standard input, then it's harder, * because I can't restart it. In that case, I use a helper process * that reads the rest of the header file and then starts reading * the rest of the data from standard input. It's slightly inefficient * because of the extra process, but I don't know a way around... */ /* local routines */ static char *FindBinary(char *binname); static struct comp_formats *WhichFormat(char *filename); static FILE *CompSaveHeader(char *filename, struct comp_formats *pf); static int CompOpenPipe(char *filename, struct comp_formats *pf); static FILE *PipeHelper(void); static void PipeFitting(FILE *f_pipe, FILE *f_header, FILE *f_stdin); /* local globals */ static int header_length = -1; static Bool is_compressed = FALSE; static FILE * f_orig_stdin = NULL; static int child_pid = -1; static char *tempfile; int posn; static char *FindBinary( char *binname) { char *path; char *pch; char *pch_colon; static char abspath[256]; /* quick check for absolute path */ if (*binname == '/') { if (access(binname,X_OK) == 0) { if (debug>1) fprintf(stderr,"FindBinary: abs path '%s' is OK\n", binname); return(binname); } else { if (debug>1) fprintf(stderr,"FindBinary: abs path '%s' not found\n", binname); return(NULL); } } path = getenv("PATH"); if (path == NULL) { if (debug) fprintf(stderr,"FindBinary: couldn't get PATH envariable\n"); return(NULL); } path = strdup(path); pch = path; while (pch && *pch) { pch_colon = strchr(pch,':'); if (pch_colon) *pch_colon = '\00'; snprintf(abspath,sizeof(abspath),"%s/%s",pch,binname); if (debug>1) fprintf(stderr,"Checking for binary '%s'\n", abspath); if (access(abspath,X_OK) == 0) { if (debug>1) fprintf(stderr,"FindBinary: found binary '%s'\n", abspath); return(abspath); } if (pch_colon) pch = pch_colon+1; else pch = NULL; } if (debug) fprintf(stderr,"FindBinary: couldn't find binary '%s' in PATH\n", binname); return(NULL); } static struct comp_formats * WhichFormat( char *filename) { static struct comp_formats *pf_cache = NULL; static char *pf_file_cache = NULL; int len; int lens; int i; /* check the "cache" :-) */ if (pf_file_cache && (strcmp(filename,pf_file_cache) == 0)) { return(pf_cache); } len = strlen(filename); for (i=0; i < NUM_COMP_FORMATS; ++i) { struct comp_formats *pf = &supported_comp_formats[i]; if (debug>1) fprintf(stderr,"Checking for suffix match '%s' against '%s' (%s)\n", filename,pf->comp_suffix,pf->comp_bin); /* check for suffix match */ lens = strlen(pf->comp_suffix); if (strcmp(filename+len-lens, pf->comp_suffix) == 0) { if (debug>1) fprintf(stderr,"Suffix match! '%s' against '%s'\n", filename,pf->comp_suffix); /* stick it in the cache */ pf_file_cache = strdup(filename); pf_cache = pf; is_compressed = TRUE; /* and tell the world */ return(pf); } } pf_file_cache = strdup(filename); pf_cache = NULL; is_compressed = FALSE; if (debug) fprintf(stderr,"WhichFormat: failed to find compression format for file '%s'\n", filename); return(NULL); } static FILE * CompReopenFile( char *filename) { char buf[COMP_HDR_SIZE]; struct comp_formats *pf = WhichFormat(filename); int len; int fd; long pos; if (debug>1) fprintf(stderr,"CompReopenFile('%s') called\n", filename); /* we need to switch from the header file to a pipe connected */ /* to a process. Find out how far we've read from the file */ /* so far... */ pos = ftell(stdin); if (debug>1) fprintf(stderr,"CompReopenFile: current file position is %ld\n", pos); /* open a pipe to the original (compressed) file */ fd = CompOpenPipe(filename,pf); if (fd == -1) return(NULL); /* erase the file buffer and reposition to the front */ #ifdef HAVE_FPURGE /* needed for NetBSD and FreeBSD (at least) */ fpurge(stdin); /* discard input buffer */ #else /* HAVE_FPURGE */ fflush(stdin); /* discard input buffer */ #endif /* HAVE_FPURGE */ rewind(stdin); /* yank the FD out from under stdin and point to the pipe */ dup2(fd,0); /* skip forward in the stream to the same place that we were in */ /* for the header file */ len = fread(buf,1,pos,stdin); if ((len == 0) && ferror(stdin)) { perror("read forward in stdin"); exit(-1); } /* OK, I guess we're all set... */ return(stdin); } static FILE * CompSaveHeader( char *filename, struct comp_formats *pf) { FILE *f_stream; FILE *f_file; char buf[COMP_HDR_SIZE]; int len; int fd; fd = CompOpenPipe(filename,pf); if (fd == -1) return(NULL); #ifdef HAVE_MKSTEMP { /* From Mallman, supposed to be "safer" */ int fd; extern int mkstemp(char *template); /* grab a writable string to keep picky compilers happy */ tempfile = strdup("/tmp/trace_hdrXXXXXXXX"); /* create a temporary file name and open it */ if ((fd = mkstemp(tempfile)) == -1) { perror("template"); exit(-1); } /* convert to a stream */ f_file = fdopen(fd,"w"); } #else /* HAVE_MKSTEMP */ /* get a name for a temporary file to store the header in */ tempfile = tempnam("/tmp/","trace_hdr"); /* open the file */ if ((f_file = fopen(tempfile,"w+")) == NULL) { perror(tempfile); exit(-1); } #endif /* HAVE_MKSTEMP */ /* connect a stdio stream to the pipe */ if ((f_stream = fdopen(fd,"r")) == NULL) { perror("open pipe stream for header"); exit(-1); } /* just grab the first X bytes and stuff into a temp file */ len = fread(buf,1,COMP_HDR_SIZE,f_stream); if ((len == 0) && ferror(f_stream)) { perror("read pipe stream for header"); exit(-1); } if (len == 0) { /* EOF, failure */ return(NULL); } header_length = len; if (debug>1) fprintf(stderr,"Saved %d bytes from stream into temp header file '%s'\n", len, tempfile); /* save the header into a temp file */ len = fwrite(buf,1,len,f_file); if ((len == 0) && ferror(f_file)) { perror("write file stream for header"); exit(-1); } if (debug>1) fprintf(stderr,"Saved the file header into temp file '%s'\n", tempfile); /* OK, we have the header, close the file */ fclose(f_file); /* if it's stdin, make a copy for later */ if (FileIsStdin(filename)) { f_orig_stdin = f_stream; /* remember where it is */ } else { fclose(f_stream); } /* re-open the file as stdin */ if ((freopen(tempfile,"r",stdin)) == NULL) { perror("tempfile"); exit(-1); } return(stdin); } static int CompOpenPipe( char *filename, struct comp_formats *pf) { int fdpipe[2]; char *abspath; int i; char *args[COMP_MAX_ARGS]; if (debug>1) fprintf(stderr,"CompOpenPipe('%s') called\n", filename); /* short hand if it's just reading from standard input */ if (FileIsStdin(filename)) { return(dup(0)); /* 0: standard input */ } abspath = FindBinary(pf->comp_bin); if (!abspath) { fprintf(stderr, "Compression: failed to find binary for '%s' needed to uncompress file\n", pf->comp_bin); fprintf(stderr, "According to my configuration, I need '%s' to decode files of type\n", pf->comp_bin); fprintf(stderr, "%s\n", pf->comp_descr); exit(-1); } /* save the path for later... */ pf->comp_bin = strdup(abspath); /* filter args */ for (i=0; i < COMP_MAX_ARGS; ++i) { args[i] = pf->comp_args[i]; if (!args[i]) break; if (strcmp(pf->comp_args[i],"%s") == 0) args[i] = filename; } if (Mfpipe(fdpipe) == -1) { perror("pipe"); exit(-1); } #ifdef __VMS child_pid = vfork(); #else child_pid = fork(); #endif if (child_pid == -1) { perror("fork"); exit(-1); } if (child_pid == 0) { /* child */ dup2(fdpipe[1],1); /* redirect child's stdout to pipe */ /* close all other FDs - lazy, but close enough for our purposes :-) */ for (i=3; i < 100; ++i) close(i); if (debug>1) { fprintf(stderr,"Execing %s", abspath); for (i=1; args[i]; ++i) fprintf(stderr," %s", args[i]); fprintf(stderr,"\n"); } execv(abspath,args); fprintf(stderr,"Exec of '%s' failed\n", abspath); perror(abspath); exit(-1); } close(fdpipe[1]); return(fdpipe[0]); } FILE * CompOpenHeader( char *filename) { FILE *f; struct comp_formats *pf; /* short hand if it's just reading from standard input */ if (FileIsStdin(filename)) { is_compressed = TRUE; /* pretend that it's compressed */ return(CompSaveHeader(filename,NULL)); } /* see if it's a supported compression file */ pf = WhichFormat(filename); #ifdef __WIN32 if(pf != NULL) { fprintf(stderr, "\nError: windows version of tcptrace does not support\nreading compressed dump files. Uncompress the file\nmanually and try again. Sorry!\n"); return((FILE *)-1); } return(NULL); #endif /* __WIN32 */ /* if no compression found, just open the file */ if (pf == NULL) { if (freopen(filename,"r",stdin) == NULL) { perror(filename); return(NULL); } return(stdin); } /* open the file through compression */ if (debug>1) printf("Decompressing file of type '%s' using program '%s'\n", pf->comp_descr, pf->comp_bin); else if (debug) printf("Decompressing file using '%s'\n", pf->comp_bin); f = CompSaveHeader(filename,pf); if (!f) { fprintf(stderr,"Decompression failed for file '%s'\n", filename); exit(-1); } return(f); } FILE * CompOpenFile( char *filename) { if (debug>1) fprintf(stderr,"CompOpenFile('%s') called\n", filename); /* if it isn't compressed, just leave it at stdin */ if (!is_compressed) return(stdin); /* if the header we already saved is the whole file, it must be */ /* short, so just read from the file */ if (header_length < COMP_HDR_SIZE) { if (debug>1) fprintf(stderr,"CompOpenFile: still using header file, short file...\n"); return(stdin); } /* if we're just reading from standard input, we'll need some help because */ /* part of the input is in a file and the rest is still stuck in a pipe */ if (FileIsStdin(filename)) { posn=ftell(stdin); if (posn < 0) { perror("CompOpenFile : ftell failed"); exit(-1); } return(PipeHelper()); } /* otherwise, there's more than we saved, we need to re-open the pipe */ /* and re-attach it to stdin */ return(CompReopenFile(filename)); } /* return a FILE * that fill come from a helper process */ FILE * PipeHelper(void) { int fdpipe[2]; FILE *f_return; /* On coming in, here's what's in the FDs: */ /* stdin: has the header file open */ /* f_stdin_file: holds the rest of the stream */ if (Mfpipe(fdpipe) == -1) { perror("pipe"); exit(-1); } /* remember: fdpipe[0] is for reading, fdpipe[1] is for writing */ #ifdef __VMS child_pid = vfork(); #else child_pid = fork(); #endif if (child_pid == -1) { perror("fork"); exit(-1); } if (child_pid == 0) { /* be the helper process */ FILE *f_pipe; /* attach a stream to the pipe connection */ f_pipe = fdopen(fdpipe[1],"w"); if (f_pipe == NULL) { perror("fdopen on pipe for writing"); exit(-1); } /* connect the header file and stream to the pipe */ PipeFitting(f_pipe, stdin, f_orig_stdin); /* OK, both empty, we're done */ if (debug>1) fprintf(stderr, "PipeHelper(%d): all done, exiting\n", (int)getpid()); exit(0); } /* I'm still the parent */ if (debug>1) fprintf(stderr, "PipeHelper: forked off child %d to deal with stdin\n", child_pid); /* clean up the fd's */ close(fdpipe[1]); // Now, we shall purge our old STDIN stream buffer, and point it to the // read end of the pipe, fdpipe[0] #ifdef HAVE_FPURGE fpurge(stdin); // needed for NetBSD/FreeBSD #else fflush(stdin); #endif clearerr(stdin); if (dup2(fdpipe[0],0)==-1) { perror("PipeHelper : dup2 failed in parent"); exit(-1); } /* make a stream attached to the PIPE and return it */ f_return = fdopen(fdpipe[0],"r"); if (f_return == NULL) { perror("PipeHelper : fdopen on pipe for reading"); exit(-1); } return(f_return); } static void PipeFitting( FILE *f_pipe, FILE *f_header, FILE *f_orig_stdin) { char buf[COMP_HDR_SIZE]; /* just a big buffer */ int len; // Fix the file synchronization problems and undefined behavior exhibited // by fread() in managing its buffers, when stdin is opened by both the // parent and child processes. // In the child process (where we are currently executing), close and // re-open the temporary file currently opened as stdin, in which the // first COMP_HDR_SIZE bytes of data were stored. The current file pointer // position in the file was stored in the global variable posn. if (fclose(f_header)<0) perror("PipeFitting : fclose failed"); if ((f_header=fopen(tempfile,"r"))==NULL) { perror("PipeFitting : fopen of tempfile failed"); exit(-1); } if (fread(buf,1,posn,f_header)!=posn) { perror("PipeFitting : fread failed"); exit(-1); } /* read from f_header (the file) until empty */ while (1) { /* read some more data */ len = fread(buf,1,sizeof(buf),f_header); if (len == 0) break; if (len < 0) { perror("fread from f_header"); exit(0); } if (debug>1) fprintf(stderr, "PipeFitting: read %d bytes from header file\n", len); /* send those bytes to the pipe */ if (fwrite(buf,1,len,f_pipe) != len) { perror("fwrite on pipe"); exit(-1); } } // We are done with the temporary file. Time to close and unlink it. if (fclose(f_header)<0) perror("PipeFitting : fclose failed"); if (unlink(tempfile)<0) perror("PipeFitting : unlink of tempfile failed"); if (debug>1) fprintf(stderr, "PipeFitting: header file empty, switching to old stdin\n"); /* OK, the file is empty, switch back to the stdin stream */ while (1) { /* read some more data */ len = fread(buf,1,sizeof(buf),f_orig_stdin); if (len == 0) break; if (len < 0) { perror("fread from f_orig_stdin"); exit(0); } if (debug>1) fprintf(stderr, "PipeFitting: read %d bytes from f_orig_stdin\n", len); /* send those bytes to the pipe */ if (fwrite(buf,1,len,f_pipe) != len) { perror("fwrite on pipe"); exit(-1); } } } void CompCloseFile( char *filename) { /* Hmmm... this was commented out, I wonder why? */ /* fclose(stdin); */ /* if we have a child, make sure it's dead */ if (child_pid != -1) { kill(child_pid,SIGTERM); child_pid = -1; } /* in case we have children child still in the background */ while (wait(0) != -1) ; /* nothing */ /* zero out some globals */ header_length = -1; } int CompIsCompressed(void) { return(is_compressed); } void CompFormats(void) { int i; fprintf(stderr,"Supported Compression Formats:\n"); fprintf(stderr,"\tSuffix Description Uncompress Command\n"); fprintf(stderr,"\t------ -------------------- --------------------------\n"); for (i=0; i < NUM_COMP_FORMATS; ++i) { int arg; struct comp_formats *pf = &supported_comp_formats[i]; fprintf(stderr,"\t%6s %-20s %s", pf->comp_suffix, pf->comp_descr, pf->comp_bin); for (arg=1; pf->comp_args[arg]; ++arg) fprintf(stderr," %s", pf->comp_args[arg]); fprintf(stderr,"\n"); } } /* does the file name "filename" refer to stdin rather than a real file? */ /* (in case I need to extend this definition someday) */ Bool FileIsStdin( char *filename) { if (strcmp(filename,"stdin") == 0) return(1); if (strcmp(filename,"stdin.gz") == 0) return(1); return(0); } tcptrace-6.6.7/compress.h0100644001217500001440000000775307756700116015100 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_compress[] = "$Header: /usr/local/cvs/tcptrace/compress.h,v 5.5 2003/11/19 14:38:06 sdo Exp $"; #define COMP_HDR_SIZE (8*1024) /* number of bytes from a compressed file that */ /* we save into a real file for header check, */ /* the rest we read from a pipe (if long) */ /* How to identify various comp formats */ #define COMP_MAX_ARGS 20 /* maximum args that you can specify */ struct comp_formats { char *comp_suffix; /* how to recognize these files */ char *comp_descr; /* description of the file format */ char *comp_bin; /* name of the binary (full path preferred) */ char *comp_args[COMP_MAX_ARGS]; /* arguments to pass */ }; /* * compression format table: * Don't forget:!!! * 1) Leave the last line of NULLs alone * 2) arg 1 MUST be the name of the program * 3) last arg MUST be NULL * 4) only the first suffix match is used * 5) an arg of "%s" will be replaced with the file name, * don't forget to include it! * 6) don't forget the "dot" in the suffix (if there is one) */ struct comp_formats supported_comp_formats[] = { /* SUFFIX DESCRIPTION BINARY NAME ARGS TO EXECV */ /* ----- -------------------- ----------- ----------------------*/ #ifdef GUNZIP {".gz", "Gnu gzip format", GUNZIP, {"gunzip","-c","%s",NULL}}, {".Z", "Unix compress format", GUNZIP, {"gunzip","-c","%s",NULL}}, #endif /* GUNZIP */ #ifdef UNCOMPRESS {".Z", "Unix compress format", UNCOMPRESS, {"uncompress","-c","%s",NULL}}, #endif /* UNCOMPRESS */ #ifdef BUNZIP2 {".bz2", "bzip2 format", BUNZIP2, {"bunzip2","-c","%s",NULL}}, #endif /* BUNZIP2 */ }; #define NUM_COMP_FORMATS (sizeof(supported_comp_formats) / sizeof(struct comp_formats)) tcptrace-6.6.7/config.guess0100755001217500001440000011434207251511654015402 0ustar mramadasusers#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-02-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Written by Per Bothner . # Please send patches to . # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi dummy=dummy-$$ trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int dummy(){}" > $dummy.c for c in cc gcc c89 ; do ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 if test $? = 0 ; then CC_FOR_BUILD="$c"; break fi done rm -f $dummy.c $dummy.o $dummy.rel if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 8/24/94.) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # Netbsd (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # Determine the machine/vendor (is the vendor relevant). case "${UNAME_MACHINE}" in amiga) machine=m68k-unknown ;; arm32) machine=arm-unknown ;; atari*) machine=m68k-atari ;; sun3*) machine=m68k-sun ;; mac68k) machine=m68k-apple ;; macppc) machine=powerpc-apple ;; hp3[0-9][05]) machine=m68k-hp ;; ibmrt|romp-ibm) machine=romp-ibm ;; *) machine=${UNAME_MACHINE}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE}" in i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. cat <$dummy.s .data \$Lformat: .byte 37,100,45,37,120,10,0 # "%d-%x\n" .text .globl main .align 4 .ent main main: .frame \$30,16,\$26,0 ldgp \$29,0(\$27) .prologue 1 .long 0x47e03d80 # implver \$0 lda \$2,-1 .long 0x47e20c21 # amask \$2,\$1 lda \$16,\$Lformat mov \$0,\$17 not \$1,\$18 jsr \$26,printf ldgp \$29,0(\$26) mov 0,\$16 jsr \$26,exit .end main EOF $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then case `./$dummy` in 0-0) UNAME_MACHINE="alpha" ;; 1-0) UNAME_MACHINE="alphaev5" ;; 1-1) UNAME_MACHINE="alphaev56" ;; 1-101) UNAME_MACHINE="alphapca56" ;; 2-303) UNAME_MACHINE="alphaev6" ;; 2-307) UNAME_MACHINE="alphaev67" ;; esac fi rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; arc64:OpenBSD:*:*) echo mips64el-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hkmips:OpenBSD:*:*) echo mips-unknown-openbsd${UNAME_RELEASE} exit 0 ;; pmax:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sgi:OpenBSD:*:*) echo mips-unknown-openbsd${UNAME_RELEASE} exit 0 ;; wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; atari*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; sun3*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme88k:OpenBSD:*:*) echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD $dummy.c -o $dummy \ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit 0 ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit 0 ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i?86:AIX:*:*) echo i386-ibm-aix exit 0 ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit 0 ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) case "${HPUX_REV}" in 11.[0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; esac ;; esac fi ;; esac if [ "${HP_ARCH}" = "" ]; then sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi rm -f $dummy.c $dummy fi ;; esac echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit 0 ;; 3050*:HI-UX:*:*) sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; *9??*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; i?86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; hppa*:OpenBSD:*:*) echo hppa-unknown-openbsd exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; CRAY*X-MP:*:*:*) echo xmp-cray-unicos exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} exit 0 ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ exit 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3D:*:*:*) echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY-2:*:*:*) echo cray2-cray-unicos exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; i?86:BSD/386:*:* | i?86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i386-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnuaout exit 0 ;; mips:Linux:*:*) cat >$dummy.c < /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #ifdef __MIPSEB__ printf ("%s-unknown-linux-gnu\n", argv[1]); #endif #ifdef __MIPSEL__ printf ("%sel-unknown-linux-gnu\n", argv[1]); #endif return 0; } EOF $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy ;; ppc:Linux:*:*) # Determine Lib Version cat >$dummy.c < #if defined(__GLIBC__) extern char __libc_version[]; extern char __libc_release[]; #endif main(argc, argv) int argc; char *argv[]; { #if defined(__GLIBC__) printf("%s %s\n", __libc_version, __libc_release); #else printf("unknown\n"); #endif return 0; } EOF LIBC="" $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null if test "$?" = 0 ; then ./$dummy | grep 1\.99 > /dev/null if test "$?" = 0 ; then LIBC="libc1" ; fi fi rm -f $dummy.c $dummy echo powerpc-unknown-linux-gnu${LIBC} exit 0 ;; alpha:Linux:*:*) cat <$dummy.s .data \$Lformat: .byte 37,100,45,37,120,10,0 # "%d-%x\n" .text .globl main .align 4 .ent main main: .frame \$30,16,\$26,0 ldgp \$29,0(\$27) .prologue 1 .long 0x47e03d80 # implver \$0 lda \$2,-1 .long 0x47e20c21 # amask \$2,\$1 lda \$16,\$Lformat mov \$0,\$17 not \$1,\$18 jsr \$26,printf ldgp \$29,0(\$26) mov 0,\$16 jsr \$26,exit .end main EOF LIBC="" $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then case `./$dummy` in 0-0) UNAME_MACHINE="alpha" ;; 1-0) UNAME_MACHINE="alphaev5" ;; 1-1) UNAME_MACHINE="alphaev56" ;; 1-101) UNAME_MACHINE="alphapca56" ;; 2-303) UNAME_MACHINE="alphaev6" ;; 2-307) UNAME_MACHINE="alphaev67" ;; esac objdump --private-headers $dummy | \ grep ld.so.1 > /dev/null if test "$?" = 0 ; then LIBC="libc1" fi fi rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit 0 ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sparc:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit 0 ;; i?86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. ld_supported_emulations=`cd /; ld --help 2>&1 \ | sed -ne '/supported emulations:/!d s/[ ][ ]*/ /g s/.*supported emulations: *// s/ .*// p'` case "$ld_supported_emulations" in i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit 0 ;; elf_i?86) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; esac # Either a pre-BFD a.out linker (linux-gnuoldld) # or one that does not give us useful --help. # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout. # If ld does not provide *any* "supported emulations:" # that means it is gnuoldld. test -z "$ld_supported_emulations" && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0 case "${UNAME_MACHINE}" in i?86) VENDOR=pc; ;; *) VENDOR=unknown; ;; esac # Determine whether the default compiler is a.out or elf cat >$dummy.c < #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 printf ("%s-${VENDOR}-linux-gnu\n", argv[1]); # else printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); # endif # else printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); # endif #else printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]); #endif return 0; } EOF $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions # are messed up and put the nodename in both sysname and nodename. i?86:DYNIX/ptx:4*:*) echo i386-sequent-sysv4 exit 0 ;; i?86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit 0 ;; i?86:*:5:7*) # Fixed at (any) Pentium or better UNAME_MACHINE=i586 if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} fi exit 0 ;; i?86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; i?86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit 0 ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit 0 ;; paragon:*:*:*) echo i860-intel-osf1 exit 0 ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4.3${OS_REL} && exit 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit 0 ;; PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) echo `uname -p`-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) if test "${UNAME_MACHINE}" = "x86pc"; then UNAME_MACHINE=pc fi echo `uname -p`-${UNAME_MACHINE}-nto-qnx exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; NSR-[KW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit 0 ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; i?86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; c34*) echo c34-convex-bsd exit 0 ;; c38*) echo c38-convex-bsd exit 0 ;; c4*) echo c4-convex-bsd exit 0 ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: tcptrace-6.6.7/config.h0100644001217500001440000000577107756700116014510 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_config[] = "@(#)$Header: /usr/local/cvs/tcptrace/config.h,v 5.4 2003/11/19 14:38:06 sdo Exp $"; /* define GROK_SNOOP if you want tcptrace to understand the output format of Sun's "snoop" packet sniffer. */ #define GROK_SNOOP /* define GROK_TCPDUMP if you want tcptrace to understand the output format format of the LBL tcpdump program (see the file README.tcpdump for other options) */ #define GROK_TCPDUMP /* define GROK_NETM if you want tcptrace to understand the output format of HP's "netm" monitoring system's packet sniffer. */ #define GROK_NETM /* define GROK_ETHERPEEK if you want tcptrace to understand the output format of the Macintosh program Etherpeek */ #define GROK_ETHERPEEK tcptrace-6.6.7/config.sub0100755001217500001440000006550307251511761015050 0ustar mramadasusers#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-02-16' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit 0;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \ | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \ | pyramid | mn10200 | mn10300 | tron | a29k \ | 580 | i960 | h8300 \ | x86 | ppcbe | mipsbe | mipsle | shbe | shle \ | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ | hppa64 \ | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \ | alphaev6[78] \ | we32k | ns16k | clipper | i370 | sh | sh[34] \ | powerpc | powerpcle \ | 1750a | dsp16xx | pdp10 | pdp11 \ | mips16 | mips64 | mipsel | mips64el \ | mips64orion | mips64orionel | mipstx39 | mipstx39el \ | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ | mips64vr5000 | miprs64vr5000el | mcore \ | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \ | thumb | d10v | d30v | fr30 | avr | openrisc) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl) ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i[234567]86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. # FIXME: clean up the formatting here. vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \ | arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ | xmp-* | ymp-* \ | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \ | hppa2.0n-* | hppa64-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \ | alphaev6[78]-* \ | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ | clipper-* | orion-* \ | sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \ | mips64el-* | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ | mipstx39-* | mipstx39el-* | mcore-* \ | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \ | [cjt]90-* \ | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \ | bs2000-* | tic54x-* | c54x-* | x86_64-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | ymp) basic_machine=ymp-cray os=-unicos ;; cray2) basic_machine=cray2-cray os=-unicos ;; [cjt]90) basic_machine=${basic_machine}-cray os=-unicos ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i[34567]86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i[34567]86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i[34567]86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i[34567]86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mipsel*-linux*) basic_machine=mipsel-unknown os=-linux-gnu ;; mips*-linux*) basic_machine=mips-unknown os=-linux-gnu ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; mmix*) basic_machine=mmix-knuth os=-mmixware ;; monitor) basic_machine=m68k-rom68k os=-coff ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pentium | p5 | k5 | k6 | nexgen) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon) basic_machine=i686-pc ;; pentiumii | pentium2) basic_machine=i686-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sparclite-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=t3e-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; tower | tower-32) basic_machine=m68k-ncr ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xmp) basic_machine=xmp-cray os=-unicos ;; xps | xps100) basic_machine=xps100-honeywell ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; mips) if [ x$os = x-linux-gnu ]; then basic_machine=mips-unknown else basic_machine=mips-mips fi ;; romp) basic_machine=romp-ibm ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh3 | sh4) basic_machine=sh-unknown ;; sparc | sparcv9) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; c4x*) basic_machine=c4x-none os=-coff ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i[34567]86-*) ;; *) os=-nto$os ;; esac ;; -nto*) os=-nto-qnx ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -ptx*) vendor=sequent ;; -vxsim* | -vxworks*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: tcptrace-6.6.7/configure0100755001217500001440000050326207504574112014773 0ustar mramadasusers#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by Autoconf 2.52. # # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Name of the executable. as_me=`echo "$0" |sed 's,.*[\\/],,'` if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file as_executable_p="test -f" # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # NLS nuisances. $as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } $as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } $as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } $as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` exec 6>&1 # # Initializations. # ac_default_prefix=/usr/local cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. # This variable seems obsolete. It should probably be removed, and # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} ac_unique_file="tcptrace.c" # Factoring default headers for most tests. ac_includes_default="\ #include #if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_STAT_H # include #endif #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif #if HAVE_STRINGS_H # include #endif #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif #if HAVE_UNISTD_H # include #endif" # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/-/_/g'` eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute paths. for ac_var in exec_prefix prefix do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. build=$build_alias host=$host_alias target=$target_alias # FIXME: should be removed in autoconf 3.0. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_prog=$0 ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else { echo "$as_me: error: cannot find sources in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias ac_cv_env_build_alias_set=${build_alias+set} ac_cv_env_build_alias_value=$build_alias ac_env_host_alias_set=${host_alias+set} ac_env_host_alias_value=$host_alias ac_cv_env_host_alias_set=${host_alias+set} ac_cv_env_host_alias_value=$host_alias ac_env_target_alias_set=${target_alias+set} ac_env_target_alias_value=$target_alias ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias ac_env_CC_set=${CC+set} ac_env_CC_value=$CC ac_cv_env_CC_set=${CC+set} ac_cv_env_CC_value=$CC ac_env_CFLAGS_set=${CFLAGS+set} ac_env_CFLAGS_value=$CFLAGS ac_cv_env_CFLAGS_set=${CFLAGS+set} ac_cv_env_CFLAGS_value=$CFLAGS ac_env_LDFLAGS_set=${LDFLAGS+set} ac_env_LDFLAGS_value=$LDFLAGS ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ac_cv_env_LDFLAGS_value=$LDFLAGS ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS ac_env_CPP_set=${CPP+set} ac_env_CPP_value=$CPP ac_cv_env_CPP_set=${CPP+set} ac_cv_env_CPP_value=$CPP # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat < if you have libraries in a nonstandard directory CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. EOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue cd $ac_subdir # A "../" for each directory in /$ac_subdir. ac_dots=`echo $ac_subdir | sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` case $srcdir in .) # No --srcdir option. We are building in place. ac_sub_srcdir=$srcdir ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_sub_srcdir=$srcdir/$ac_subdir ;; *) # Relative path. ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;; esac # Check for guested configure; otherwise get Cygnus style configure. if test -f $ac_sub_srcdir/configure.gnu; then echo $SHELL $ac_sub_srcdir/configure.gnu --help=recursive elif test -f $ac_sub_srcdir/configure; then echo $SHELL $ac_sub_srcdir/configure --help=recursive elif test -f $ac_sub_srcdir/configure.ac || test -f $ac_sub_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 fi cd $ac_popdir done fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\EOF Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. EOF exit 0 fi exec 5>config.log cat >&5 </dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` hostinfo = `(hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` PATH = $PATH _ASUNAME } >&5 cat >&5 <\?\"\']*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" ac_sep=" " ;; *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" ac_sep=" " ;; esac # Get rid of the leading space. done # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. trap 'exit_status=$? # Save into config.log some information that might help in debugging. echo >&5 echo "## ----------------- ##" >&5 echo "## Cache variables. ##" >&5 echo "## ----------------- ##" >&5 echo >&5 # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } >&5 sed "/^$/d" confdefs.h >conftest.log if test -s conftest.log; then echo >&5 echo "## ------------ ##" >&5 echo "## confdefs.h. ##" >&5 echo "## ------------ ##" >&5 echo >&5 cat conftest.log >&5 fi (echo; echo) >&5 test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" >&5 echo "$as_me: exit $exit_status" >&5 rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then { echo "$as_me:865: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} cat "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:876: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; *) . ./$cache_file;; esac fi else { echo "$as_me:884: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) { echo "$as_me:900: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:904: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:910: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:912: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:914: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. It doesn't matter if # we pass some twice (in addition to the command line arguments). if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ac_configure_args="$ac_configure_args '$ac_arg'" ;; *) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:933: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:935: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac echo "#! $SHELL" >conftest.sh echo "exit 0" >>conftest.sh chmod +x conftest.sh if { (echo "$as_me:955: PATH=\".;.\"; conftest.sh") >&5 (PATH=".;."; conftest.sh) 2>&5 ac_status=$? echo "$as_me:958: \$? = $ac_status" >&5 (exit $ac_status); }; then ac_path_separator=';' else ac_path_separator=: fi PATH_SEPARATOR="$ac_path_separator" rm -f conftest.sh ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f $ac_dir/shtool; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:984: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi ac_config_guess="$SHELL $ac_aux_dir/config.guess" ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || { { echo "$as_me:994: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } echo "$as_me:998: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_build_alias=$build_alias test -z "$ac_cv_build_alias" && ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && { { echo "$as_me:1007: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || { { echo "$as_me:1011: error: $ac_config_sub $ac_cv_build_alias failed." >&5 echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:1016: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$as_me:1023: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_host_alias=$host_alias test -z "$ac_cv_host_alias" && ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || { { echo "$as_me:1032: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:1037: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$as_me:1044: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6 if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_target_alias=$target_alias test "x$ac_cv_target_alias" = "x" && ac_cv_target_alias=$ac_cv_host_alias ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || { { echo "$as_me:1053: error: $ac_config_sub $ac_cv_target_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:1058: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6 target=$ac_cv_target target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- # Check whether --with-gcc or --without-gcc was given. if test "${with_gcc+set}" = set; then withval="$with_gcc" fi; V_CCOPT="-O" V_INCLS="" if test "${srcdir}" != "." ; then V_INCLS="-I\$(srcdir)" fi if test "${CFLAGS+set}" = set; then LBL_CFLAGS="$CFLAGS" fi if test -z "$CC" ; then case "$target_os" in bsdi*) # Extract the first word of "shlicc2", so it can be a program name with args. set dummy shlicc2; ac_word=$2 echo "$as_me:1091: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_SHLICC2+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$SHLICC2"; then ac_cv_prog_SHLICC2="$SHLICC2" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_SHLICC2="yes" echo "$as_me:1106: found $ac_dir/$ac_word" >&5 break done test -z "$ac_cv_prog_SHLICC2" && ac_cv_prog_SHLICC2="no" fi fi SHLICC2=$ac_cv_prog_SHLICC2 if test -n "$SHLICC2"; then echo "$as_me:1115: result: $SHLICC2" >&5 echo "${ECHO_T}$SHLICC2" >&6 else echo "$as_me:1118: result: no" >&5 echo "${ECHO_T}no" >&6 fi if test $SHLICC2 = yes ; then CC=shlicc2 export CC fi ;; esac fi if test -z "$CC" -a "$with_gcc" = no ; then CC=cc export CC fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo "$as_me:1141: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:1156: found $ac_dir/$ac_word" >&5 break done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:1164: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:1167: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo "$as_me:1176: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:1191: found $ac_dir/$ac_word" >&5 break done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:1199: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:1202: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 echo "$as_me:1215: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:1230: found $ac_dir/$ac_word" >&5 break done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:1238: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:1241: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:1250: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="cc" echo "$as_me:1265: found $ac_dir/$ac_word" >&5 break done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:1273: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:1276: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:1289: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:1309: found $ac_dir/$ac_word" >&5 break done if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift set dummy "$ac_dir/$ac_word" ${1+"$@"} shift ac_cv_prog_CC="$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:1331: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:1334: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:1345: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:1360: found $ac_dir/$ac_word" >&5 break done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:1368: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:1371: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:1384: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:1399: found $ac_dir/$ac_word" >&5 break done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:1407: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:1410: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:1422: error: no acceptable cc found in \$PATH" >&5 echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:1427:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:1430: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:1433: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:1435: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:1438: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:1440: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:1443: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF #line 1447 "configure" #include "confdefs.h" int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. echo "$as_me:1463: checking for C compiler default output" >&5 echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:1466: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:1469: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. for ac_file in `ls a.exe conftest.exe 2>/dev/null; ls a.out conftest 2>/dev/null; ls a.* conftest.* 2>/dev/null`; do case $ac_file in *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; a.out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` # FIXME: I believe we export ac_cv_exeext for Libtool --akim. export ac_cv_exeext break;; * ) break;; esac done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 { { echo "$as_me:1492: error: C compiler cannot create executables" >&5 echo "$as_me: error: C compiler cannot create executables" >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext echo "$as_me:1498: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:1503: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (eval echo "$as_me:1509: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:1512: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:1519: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'." >&2;} { (exit 1); exit 1; }; } fi fi fi echo "$as_me:1527: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:1534: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 echo "$as_me:1536: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 echo "$as_me:1539: checking for executable suffix" >&5 echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 if { (eval echo "$as_me:1541: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:1544: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext break;; * ) break;; esac done else { { echo "$as_me:1560: error: cannot compute EXEEXT: cannot compile and link" >&5 echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext echo "$as_me:1566: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT echo "$as_me:1572: checking for object suffix" >&5 echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 1578 "configure" #include "confdefs.h" int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (eval echo "$as_me:1590: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:1593: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 { { echo "$as_me:1605: error: cannot compute OBJEXT: cannot compile" >&5 echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi echo "$as_me:1612: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT echo "$as_me:1616: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 1622 "configure" #include "confdefs.h" int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:1637: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:1640: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:1643: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:1646: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:1658: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:1664: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 1670 "configure" #include "confdefs.h" int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:1682: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:1685: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:1688: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:1691: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:1701: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:1728: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:1731: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:1734: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:1737: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line 1749 "configure" #include "confdefs.h" #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:1762: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:1765: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:1768: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:1771: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line 1781 "configure" #include "confdefs.h" $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:1793: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:1796: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:1799: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:1802: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "$GCC" = yes ; then if test "$SHLICC2" = yes ; then ac_cv_lbl_gcc_vers=2 V_CCOPT="-O2" else echo "$as_me:1834: checking gcc version" >&5 echo $ECHO_N "checking gcc version... $ECHO_C" >&6 if test "${ac_cv_lbl_gcc_vers+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_lbl_gcc_vers=`$CC -v 2>&1 | \ sed -e '/^gcc version /!d' \ -e 's/^gcc version //' \ -e 's/ .*//' -e 's/^[^0-9]*//' \ -e 's/\..*//'` fi echo "$as_me:1846: result: $ac_cv_lbl_gcc_vers" >&5 echo "${ECHO_T}$ac_cv_lbl_gcc_vers" >&6 if test $ac_cv_lbl_gcc_vers -gt 1 ; then V_CCOPT="-O2" fi fi else echo "$as_me:1853: checking that $CC handles ansi prototypes" >&5 echo $ECHO_N "checking that $CC handles ansi prototypes... $ECHO_C" >&6 if test "${ac_cv_lbl_cc_ansi_prototypes+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 1860 "configure" #include "confdefs.h" #include int main () { int frob(int, char *) ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:1872: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:1875: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:1878: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:1881: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lbl_cc_ansi_prototypes=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lbl_cc_ansi_prototypes=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:1892: result: $ac_cv_lbl_cc_ansi_prototypes" >&5 echo "${ECHO_T}$ac_cv_lbl_cc_ansi_prototypes" >&6 if test $ac_cv_lbl_cc_ansi_prototypes = no ; then case "$target_os" in hpux*) echo "$as_me:1898: checking for HP-UX ansi compiler ($CC -Aa -D_HPUX_SOURCE)" >&5 echo $ECHO_N "checking for HP-UX ansi compiler ($CC -Aa -D_HPUX_SOURCE)... $ECHO_C" >&6 savedcflags="$CFLAGS" CFLAGS="-Aa -D_HPUX_SOURCE $CFLAGS" if test "${ac_cv_lbl_cc_hpux_cc_aa+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 1906 "configure" #include "confdefs.h" #include int main () { int frob(int, char *) ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:1918: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:1921: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:1924: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:1927: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lbl_cc_hpux_cc_aa=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lbl_cc_hpux_cc_aa=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:1938: result: $ac_cv_lbl_cc_hpux_cc_aa" >&5 echo "${ECHO_T}$ac_cv_lbl_cc_hpux_cc_aa" >&6 if test $ac_cv_lbl_cc_hpux_cc_aa = no ; then { { echo "$as_me:1941: error: see the INSTALL doc for more info" >&5 echo "$as_me: error: see the INSTALL doc for more info" >&2;} { (exit 1); exit 1; }; } fi CFLAGS="$savedcflags" V_CCOPT="-Aa $V_CCOPT" cat >>confdefs.h <<\EOF #define _HPUX_SOURCE 1 EOF ;; *) { { echo "$as_me:1954: error: see the INSTALL doc for more info" >&5 echo "$as_me: error: see the INSTALL doc for more info" >&2;} { (exit 1); exit 1; }; } ;; esac fi V_INCLS="$V_INCLS -I/usr/local/include" LDFLAGS="$LDFLAGS -L/usr/local/lib" case "$target_os" in irix*) V_CCOPT="$V_CCOPT -xansi -signed -g3" ;; osf*) V_CCOPT="$V_CCOPT -std1 -g3" ;; ultrix*) echo "$as_me:1974: checking that Ultrix $CC hacks const in prototypes" >&5 echo $ECHO_N "checking that Ultrix $CC hacks const in prototypes... $ECHO_C" >&6 if test "${ac_cv_lbl_cc_const_proto+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 1980 "configure" #include "confdefs.h" #include int main () { struct a { int b; }; void c(const struct a *) ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:1993: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:1996: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:1999: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:2002: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lbl_cc_const_proto=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lbl_cc_const_proto=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:2013: result: $ac_cv_lbl_cc_const_proto" >&5 echo "${ECHO_T}$ac_cv_lbl_cc_const_proto" >&6 if test $ac_cv_lbl_cc_const_proto = no ; then cat >>confdefs.h <<\EOF #define const EOF fi ;; esac fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo "$as_me:2033: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:2048: found $ac_dir/$ac_word" >&5 break done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:2056: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:2059: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo "$as_me:2068: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:2083: found $ac_dir/$ac_word" >&5 break done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:2091: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:2094: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 echo "$as_me:2107: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:2122: found $ac_dir/$ac_word" >&5 break done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:2130: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:2133: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:2142: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="cc" echo "$as_me:2157: found $ac_dir/$ac_word" >&5 break done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:2165: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:2168: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:2181: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:2201: found $ac_dir/$ac_word" >&5 break done if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift set dummy "$ac_dir/$ac_word" ${1+"$@"} shift ac_cv_prog_CC="$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:2223: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:2226: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:2237: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:2252: found $ac_dir/$ac_word" >&5 break done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:2260: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:2263: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:2276: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:2291: found $ac_dir/$ac_word" >&5 break done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:2299: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:2302: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:2314: error: no acceptable cc found in \$PATH" >&5 echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:2319:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:2322: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:2325: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:2327: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:2330: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:2332: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:2335: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:2338: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 2344 "configure" #include "confdefs.h" int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:2359: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:2362: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:2365: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:2368: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:2380: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:2386: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 2392 "configure" #include "confdefs.h" int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:2404: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:2407: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:2410: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:2413: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:2423: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:2450: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:2453: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:2456: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:2459: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line 2471 "configure" #include "confdefs.h" #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:2484: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:2487: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:2490: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:2493: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line 2503 "configure" #include "confdefs.h" $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:2515: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:2518: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:2521: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:2524: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu echo "$as_me:2551: checking whether ${MAKE-make} sets \${MAKE}" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\EOF all: @echo 'ac_maketemp="${MAKE}"' EOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then eval ac_cv_prog_make_${ac_make}_set=yes else eval ac_cv_prog_make_${ac_make}_set=no fi rm -f conftest.make fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then echo "$as_me:2571: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else echo "$as_me:2575: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:2584: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_LEX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$LEX"; then ac_cv_prog_LEX="$LEX" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_LEX="$ac_prog" echo "$as_me:2599: found $ac_dir/$ac_word" >&5 break done fi fi LEX=$ac_cv_prog_LEX if test -n "$LEX"; then echo "$as_me:2607: result: $LEX" >&5 echo "${ECHO_T}$LEX" >&6 else echo "$as_me:2610: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$LEX" && break done test -n "$LEX" || LEX=":" if test -z "$LEXLIB" then echo "$as_me:2620: checking for yywrap in -lfl" >&5 echo $ECHO_N "checking for yywrap in -lfl... $ECHO_C" >&6 if test "${ac_cv_lib_fl_yywrap+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line 2628 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char yywrap (); int main () { yywrap (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:2647: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:2650: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:2653: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:2656: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fl_yywrap=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_fl_yywrap=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:2667: result: $ac_cv_lib_fl_yywrap" >&5 echo "${ECHO_T}$ac_cv_lib_fl_yywrap" >&6 if test $ac_cv_lib_fl_yywrap = yes; then LEXLIB="-lfl" else echo "$as_me:2672: checking for yywrap in -ll" >&5 echo $ECHO_N "checking for yywrap in -ll... $ECHO_C" >&6 if test "${ac_cv_lib_l_yywrap+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ll $LIBS" cat >conftest.$ac_ext <<_ACEOF #line 2680 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char yywrap (); int main () { yywrap (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:2699: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:2702: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:2705: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:2708: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_l_yywrap=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_l_yywrap=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:2719: result: $ac_cv_lib_l_yywrap" >&5 echo "${ECHO_T}$ac_cv_lib_l_yywrap" >&6 if test $ac_cv_lib_l_yywrap = yes; then LEXLIB="-ll" fi fi fi if test "x$LEX" != "x:"; then echo "$as_me:2730: checking lex output file root" >&5 echo $ECHO_N "checking lex output file root... $ECHO_C" >&6 if test "${ac_cv_prog_lex_root+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # The minimal lex program is just a single line: %%. But some broken lexes # (Solaris, I think it was) want two %% lines, so accommodate them. echo '%% %%' | $LEX if test -f lex.yy.c; then ac_cv_prog_lex_root=lex.yy elif test -f lexyy.c; then ac_cv_prog_lex_root=lexyy else { { echo "$as_me:2744: error: cannot find output from $LEX; giving up" >&5 echo "$as_me: error: cannot find output from $LEX; giving up" >&2;} { (exit 1); exit 1; }; } fi fi echo "$as_me:2749: result: $ac_cv_prog_lex_root" >&5 echo "${ECHO_T}$ac_cv_prog_lex_root" >&6 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root echo "$as_me:2753: checking whether yytext is a pointer" >&5 echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6 if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # POSIX says lex can declare yytext either as a pointer or an array; the # default is implementation-dependent. Figure out which it is, since # not all implementations provide the %pointer and %array declarations. ac_cv_prog_lex_yytext_pointer=no echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c ac_save_LIBS=$LIBS LIBS="$LIBS $LEXLIB" cat >conftest.$ac_ext <<_ACEOF `cat $LEX_OUTPUT_ROOT.c` _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:2769: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:2772: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:2775: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:2778: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_lex_yytext_pointer=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_save_LIBS rm -f "${LEX_OUTPUT_ROOT}.c" fi echo "$as_me:2790: result: $ac_cv_prog_lex_yytext_pointer" >&5 echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6 if test $ac_cv_prog_lex_yytext_pointer = yes; then cat >>confdefs.h <<\EOF #define YYTEXT_POINTER 1 EOF fi fi for ac_prog in 'bison -y' byacc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:2805: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_YACC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. else ac_save_IFS=$IFS; IFS=$ac_path_separator ac_dummy="$PATH" for ac_dir in $ac_dummy; do IFS=$ac_save_IFS test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_YACC="$ac_prog" echo "$as_me:2820: found $ac_dir/$ac_word" >&5 break done fi fi YACC=$ac_cv_prog_YACC if test -n "$YACC"; then echo "$as_me:2828: result: $YACC" >&5 echo "${ECHO_T}$YACC" >&6 else echo "$as_me:2831: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$YACC" && break done test -n "$YACC" || YACC="yacc" echo "$as_me:2839: checking for main in -lm" >&5 echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6 if test "${ac_cv_lib_m_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat >conftest.$ac_ext <<_ACEOF #line 2847 "configure" #include "confdefs.h" int main () { main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:2859: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:2862: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:2865: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:2868: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_m_main=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_m_main=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:2879: result: $ac_cv_lib_m_main" >&5 echo "${ECHO_T}$ac_cv_lib_m_main" >&6 if test $ac_cv_lib_m_main = yes; then cat >>confdefs.h <&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line 2916 "configure" #include "confdefs.h" #include Syntax error _ACEOF if { (eval echo "$as_me:2921: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:2927: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line 2950 "configure" #include "confdefs.h" #include _ACEOF if { (eval echo "$as_me:2954: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:2960: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi echo "$as_me:2997: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line 3007 "configure" #include "confdefs.h" #include Syntax error _ACEOF if { (eval echo "$as_me:3012: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:3018: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line 3041 "configure" #include "confdefs.h" #include _ACEOF if { (eval echo "$as_me:3045: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:3051: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:3079: error: C preprocessor \"$CPP\" fails sanity check" >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu echo "$as_me:3090: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 3096 "configure" #include "confdefs.h" #include #include #include #include _ACEOF if { (eval echo "$as_me:3104: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:3110: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f conftest.err conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line 3132 "configure" #include "confdefs.h" #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line 3150 "configure" #include "confdefs.h" #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF #line 3171 "configure" #include "confdefs.h" #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:3197: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:3200: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:3202: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3205: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi echo "$as_me:3218: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\EOF #define STDC_HEADERS 1 EOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:3234: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 3240 "configure" #include "confdefs.h" $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3246: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3249: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3252: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3255: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:3265: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <&5 echo $ECHO_N "checking for unsigned long long int... $ECHO_C" >&6 if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 3281 "configure" #include "confdefs.h" $ac_includes_default int main () { if ((unsigned long long int *) 0) return 0; if (sizeof (unsigned long long int)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3296: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3299: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3302: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3305: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_unsigned_long_long_int=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_type_unsigned_long_long_int=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:3315: result: $ac_cv_type_unsigned_long_long_int" >&5 echo "${ECHO_T}$ac_cv_type_unsigned_long_long_int" >&6 echo "$as_me:3318: checking size of unsigned long long int" >&5 echo $ECHO_N "checking size of unsigned long long int... $ECHO_C" >&6 if test "${ac_cv_sizeof_unsigned_long_long_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_unsigned_long_long_int" = yes; then if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line 3327 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned long long int)) >= 0)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3339: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3342: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3345: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3348: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line 3353 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned long long int)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3365: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3368: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3371: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3374: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line 3390 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned long long int)) >= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3402: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3405: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3408: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3411: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line 3427 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned long long int)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3439: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3442: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3445: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3448: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done ac_cv_sizeof_unsigned_long_long_int=$ac_lo else if test "$cross_compiling" = yes; then { { echo "$as_me:3461: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line 3466 "configure" #include "confdefs.h" $ac_includes_default int main () { FILE *f = fopen ("conftest.val", "w"); if (!f) exit (1); fprintf (f, "%d", (sizeof (unsigned long long int))); fclose (f); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:3482: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:3485: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:3487: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3490: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_unsigned_long_long_int=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_unsigned_long_long_int=0 fi fi echo "$as_me:3506: result: $ac_cv_sizeof_unsigned_long_long_int" >&5 echo "${ECHO_T}$ac_cv_sizeof_unsigned_long_long_int" >&6 cat >>confdefs.h <&5 echo $ECHO_N "checking for unsigned long int... $ECHO_C" >&6 if test "${ac_cv_type_unsigned_long_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 3518 "configure" #include "confdefs.h" $ac_includes_default int main () { if ((unsigned long int *) 0) return 0; if (sizeof (unsigned long int)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3533: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3536: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3539: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3542: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_unsigned_long_int=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_type_unsigned_long_int=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:3552: result: $ac_cv_type_unsigned_long_int" >&5 echo "${ECHO_T}$ac_cv_type_unsigned_long_int" >&6 echo "$as_me:3555: checking size of unsigned long int" >&5 echo $ECHO_N "checking size of unsigned long int... $ECHO_C" >&6 if test "${ac_cv_sizeof_unsigned_long_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_unsigned_long_int" = yes; then if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line 3564 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned long int)) >= 0)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3576: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3579: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3582: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3585: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line 3590 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned long int)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3602: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3605: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3608: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3611: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line 3627 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned long int)) >= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3639: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3642: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3645: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3648: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line 3664 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned long int)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3676: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3679: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3682: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3685: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done ac_cv_sizeof_unsigned_long_int=$ac_lo else if test "$cross_compiling" = yes; then { { echo "$as_me:3698: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line 3703 "configure" #include "confdefs.h" $ac_includes_default int main () { FILE *f = fopen ("conftest.val", "w"); if (!f) exit (1); fprintf (f, "%d", (sizeof (unsigned long int))); fclose (f); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:3719: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:3722: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:3724: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3727: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_unsigned_long_int=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_unsigned_long_int=0 fi fi echo "$as_me:3743: result: $ac_cv_sizeof_unsigned_long_int" >&5 echo "${ECHO_T}$ac_cv_sizeof_unsigned_long_int" >&6 cat >>confdefs.h <&5 echo $ECHO_N "checking for unsigned int... $ECHO_C" >&6 if test "${ac_cv_type_unsigned_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 3755 "configure" #include "confdefs.h" $ac_includes_default int main () { if ((unsigned int *) 0) return 0; if (sizeof (unsigned int)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3770: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3773: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3776: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3779: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_unsigned_int=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_type_unsigned_int=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:3789: result: $ac_cv_type_unsigned_int" >&5 echo "${ECHO_T}$ac_cv_type_unsigned_int" >&6 echo "$as_me:3792: checking size of unsigned int" >&5 echo $ECHO_N "checking size of unsigned int... $ECHO_C" >&6 if test "${ac_cv_sizeof_unsigned_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_unsigned_int" = yes; then if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line 3801 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned int)) >= 0)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3813: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3816: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3819: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3822: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line 3827 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned int)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3839: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3842: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3845: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3848: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line 3864 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned int)) >= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3876: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3879: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3882: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3885: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line 3901 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned int)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:3913: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:3916: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:3919: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3922: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done ac_cv_sizeof_unsigned_int=$ac_lo else if test "$cross_compiling" = yes; then { { echo "$as_me:3935: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line 3940 "configure" #include "confdefs.h" $ac_includes_default int main () { FILE *f = fopen ("conftest.val", "w"); if (!f) exit (1); fprintf (f, "%d", (sizeof (unsigned int))); fclose (f); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:3956: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:3959: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:3961: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:3964: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_unsigned_int=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_unsigned_int=0 fi fi echo "$as_me:3980: result: $ac_cv_sizeof_unsigned_int" >&5 echo "${ECHO_T}$ac_cv_sizeof_unsigned_int" >&6 cat >>confdefs.h <&5 echo $ECHO_N "checking for unsigned short... $ECHO_C" >&6 if test "${ac_cv_type_unsigned_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 3992 "configure" #include "confdefs.h" $ac_includes_default int main () { if ((unsigned short *) 0) return 0; if (sizeof (unsigned short)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:4007: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:4010: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:4013: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4016: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_unsigned_short=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_type_unsigned_short=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:4026: result: $ac_cv_type_unsigned_short" >&5 echo "${ECHO_T}$ac_cv_type_unsigned_short" >&6 echo "$as_me:4029: checking size of unsigned short" >&5 echo $ECHO_N "checking size of unsigned short... $ECHO_C" >&6 if test "${ac_cv_sizeof_unsigned_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_unsigned_short" = yes; then if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF #line 4038 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned short)) >= 0)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:4050: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:4053: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:4056: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4059: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF #line 4064 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned short)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:4076: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:4079: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:4082: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4085: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF #line 4101 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned short)) >= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:4113: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:4116: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:4119: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4122: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` fi rm -f conftest.$ac_objext conftest.$ac_ext done fi rm -f conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF #line 4138 "configure" #include "confdefs.h" $ac_includes_default int main () { int _array_ [1 - 2 * !((sizeof (unsigned short)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:4150: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:4153: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:4156: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4159: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` fi rm -f conftest.$ac_objext conftest.$ac_ext done ac_cv_sizeof_unsigned_short=$ac_lo else if test "$cross_compiling" = yes; then { { echo "$as_me:4172: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line 4177 "configure" #include "confdefs.h" $ac_includes_default int main () { FILE *f = fopen ("conftest.val", "w"); if (!f) exit (1); fprintf (f, "%d", (sizeof (unsigned short))); fclose (f); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:4193: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4196: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:4198: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4201: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_unsigned_short=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val else ac_cv_sizeof_unsigned_short=0 fi fi echo "$as_me:4217: result: $ac_cv_sizeof_unsigned_short" >&5 echo "${ECHO_T}$ac_cv_sizeof_unsigned_short" >&6 cat >>confdefs.h <>confdefs.h <<\EOF #define HAVE_OS_PROTO_H 1 EOF else { echo "$as_me:4258: WARNING: can't find $name" >&5 echo "$as_me: WARNING: can't find $name" >&2;} fi fi # Most operating systems have gethostbyname() in the default searched # libraries (i.e. libc): echo "$as_me:4265: checking for gethostbyname" >&5 echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 if test "${ac_cv_func_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 4271 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname (); below. */ #include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); char (*f) (); int main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) choke me #else f = gethostbyname; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4302: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4305: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4308: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4311: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_gethostbyname=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_func_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:4321: result: $ac_cv_func_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 if test $ac_cv_func_gethostbyname = yes; then : else # Some OSes (eg. Solaris) place it in libnsl: echo "$as_me:4327: checking for gethostbyname in -lnsl" >&5 echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 ac_lib_var=`echo nsl'_'gethostbyname'_' | sed 'y%./+- %__p__%'` if eval "test \"\${ac_cv_lbl_lib_$ac_lib_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line 4336 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname(); int main () { gethostbyname() ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4352: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4355: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4358: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4361: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "ac_cv_lbl_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 eval "ac_cv_lbl_lib_$ac_lib_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lbl_lib_'$ac_lib_var`\" = yes"; then echo "$as_me:4374: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/^a-zA-Z0-9_/_/g' \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` cat >>confdefs.h <&5 echo "${ECHO_T}no" >&6 # Some strange OSes (SINIX) have it in libsocket: echo "$as_me:4388: checking for gethostbyname in -lsocket" >&5 echo $ECHO_N "checking for gethostbyname in -lsocket... $ECHO_C" >&6 ac_lib_var=`echo socket'_'gethostbyname'_' | sed 'y%./+- %__p__%'` if eval "test \"\${ac_cv_lbl_lib_$ac_lib_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat >conftest.$ac_ext <<_ACEOF #line 4397 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname(); int main () { gethostbyname() ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4413: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4416: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4419: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4422: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "ac_cv_lbl_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 eval "ac_cv_lbl_lib_$ac_lib_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lbl_lib_'$ac_lib_var`\" = yes"; then echo "$as_me:4435: result: yes" >&5 echo "${ECHO_T}yes" >&6 ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/^a-zA-Z0-9_/_/g' \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` cat >>confdefs.h <&5 echo "${ECHO_T}no" >&6 # Unfortunately libsocket sometimes depends on libnsl. # AC_CHECK_LIB's API is essentially broken so the # following ugliness is necessary: echo "$as_me:4451: checking for gethostbyname in -lsocket" >&5 echo $ECHO_N "checking for gethostbyname in -lsocket... $ECHO_C" >&6 ac_lib_var=`echo socket'_'gethostbyname'_'-lnsl | sed 'y%./+- %__p__%'` if eval "test \"\${ac_cv_lbl_lib_$ac_lib_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_LIBS="$LIBS" LIBS="-lsocket -lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line 4460 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname(); int main () { gethostbyname() ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4476: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4479: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4482: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4485: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "ac_cv_lbl_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 eval "ac_cv_lbl_lib_$ac_lib_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lbl_lib_'$ac_lib_var`\" = yes"; then echo "$as_me:4498: result: yes" >&5 echo "${ECHO_T}yes" >&6 LIBS="-lsocket -lnsl $LIBS" else echo "$as_me:4502: result: no" >&5 echo "${ECHO_T}no" >&6 echo "$as_me:4505: checking for gethostbyname in -lresolv" >&5 echo $ECHO_N "checking for gethostbyname in -lresolv... $ECHO_C" >&6 if test "${ac_cv_lib_resolv_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lresolv $LIBS" cat >conftest.$ac_ext <<_ACEOF #line 4513 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); int main () { gethostbyname (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4532: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4535: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4538: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4541: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_resolv_gethostbyname=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_resolv_gethostbyname=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:4552: result: $ac_cv_lib_resolv_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_lib_resolv_gethostbyname" >&6 if test $ac_cv_lib_resolv_gethostbyname = yes; then cat >>confdefs.h <&5 echo $ECHO_N "checking for socket... $ECHO_C" >&6 if test "${ac_cv_func_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 4577 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char socket (); below. */ #include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char socket (); char (*f) (); int main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_socket) || defined (__stub___socket) choke me #else f = socket; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4608: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4611: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4614: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4617: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_socket=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_func_socket=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:4627: result: $ac_cv_func_socket" >&5 echo "${ECHO_T}$ac_cv_func_socket" >&6 if test $ac_cv_func_socket = yes; then : else echo "$as_me:4633: checking for socket in -lsocket" >&5 echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6 if test "${ac_cv_lib_socket_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat >conftest.$ac_ext <<_ACEOF #line 4641 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char socket (); int main () { socket (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4660: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4663: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4666: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4669: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_socket_socket=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_socket_socket=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:4680: result: $ac_cv_lib_socket_socket" >&5 echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6 if test $ac_cv_lib_socket_socket = yes; then cat >>confdefs.h <&5 echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6 ac_lib_var=`echo socket'_'socket'_'-lnsl | sed 'y%./+- %__p__%'` if eval "test \"\${ac_cv_lbl_lib_$ac_lib_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_LIBS="$LIBS" LIBS="-lsocket -lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line 4699 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char socket(); int main () { socket() ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4715: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4718: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4721: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4724: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "ac_cv_lbl_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 eval "ac_cv_lbl_lib_$ac_lib_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lbl_lib_'$ac_lib_var`\" = yes"; then echo "$as_me:4737: result: yes" >&5 echo "${ECHO_T}yes" >&6 LIBS="-lsocket -lnsl $LIBS" else echo "$as_me:4741: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi fi # DLPI needs putmsg under HPUX so test for -lstr while we're at it echo "$as_me:4751: checking for putmsg in -lstr" >&5 echo $ECHO_N "checking for putmsg in -lstr... $ECHO_C" >&6 if test "${ac_cv_lib_str_putmsg+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lstr $LIBS" cat >conftest.$ac_ext <<_ACEOF #line 4759 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char putmsg (); int main () { putmsg (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4778: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4781: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4784: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4787: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_str_putmsg=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_lib_str_putmsg=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:4798: result: $ac_cv_lib_str_putmsg" >&5 echo "${ECHO_T}$ac_cv_lib_str_putmsg" >&6 if test $ac_cv_lib_str_putmsg = yes; then cat >>confdefs.h <&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 4818 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ #include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); char (*f) (); int main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else f = $ac_func; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4849: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4852: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4855: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4858: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:4868: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 4887 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ #include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); char (*f) (); int main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else f = $ac_func; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4918: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4921: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4924: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4927: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:4937: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 4956 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ #include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); char (*f) (); int main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else f = $ac_func; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:4987: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:4990: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:4993: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:4996: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:5006: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line 5025 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ #include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); char (*f) (); int main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else f = $ac_func; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:5056: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:5059: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:5062: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:5065: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:5075: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <&5 echo $ECHO_N "checking how to print unsigned long long... $ECHO_C" >&6 if test "$cross_compiling" = yes; then { { echo "$as_me:5089: error: can not run test program while cross compiling" >&5 echo "$as_me: error: can not run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF #line 5094 "configure" #include "confdefs.h" #include #define NIX "%llu" int main () { char test[11]; unsigned long long int num = 0xdeadbeef; sprintf (test, NIX, num); if (strcmp (test, "3735928559") == 0) exit (0); else exit (1); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:5113: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:5116: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:5118: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:5121: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cat >>confdefs.h <<\EOF #define USE_LLU 1 EOF echo "$as_me:5127: result: %llu" >&5 echo "${ECHO_T}%llu" >&6 else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 echo "$as_me:5133: result: %qu" >&5 echo "${ECHO_T}%qu" >&6 fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi case "$target" in *cygwin*) V_INCLS="$V_INCLS -I./cygwin-includes"; esac case "$target" in *cygwin*) V_DEFINES="$V_DEFINES -D__USE_BSD -D__FAVOR_BSD -D__USE_MISC -D__WIN32"; esac V_PCAP_LDLIBS="-lpcap"; case "$target" in *cygwin*) V_PCAP_LDLIBS="-lwpcap"; esac if [ -f /lib/libc-2* ]; then V_DEFINES="$V_DEFINES -D_BSD_SOURCE" fi ac_config_files="$ac_config_files Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overriden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. { (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | sed ' t clear : clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache if cmp -s $cache_file confcache; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; }' fi # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then we branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. cat >confdef2opt.sed <<\EOF t clear : clear s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g t quote s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g t quote d : quote s,[ `~#$^&*(){}\\|;'"<>?],\\&,g s,\[,\\&,g s,\],\\&,g s,\$,$$,g p EOF # We use echo to avoid assuming a particular line-breaking character. # The extra dot is to prevent the shell from consuming trailing # line-breaks from the sub-command output. A line-break within # single-quotes doesn't work because, if this script is created in a # platform that uses two characters for line-breaks (e.g., DOS), tr # would break. ac_LF_and_DOT=`echo; echo .` DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` rm -f confdef2opt.sed : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:5266: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated automatically by configure. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false SHELL=\${CONFIG_SHELL-$SHELL} ac_cs_invocation="\$0 \$@" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Name of the executable. as_me=`echo "$0" |sed 's,.*[\\/],,'` if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file as_executable_p="test -f" # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # NLS nuisances. $as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } $as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } $as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } $as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } exec 6>&1 _ACEOF # Files that config.status was made for. if test -n "$ac_config_files"; then echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS fi if test -n "$ac_config_headers"; then echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS fi if test -n "$ac_config_links"; then echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS fi if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi cat >>$CONFIG_STATUS <<\EOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Report bugs to ." EOF cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` shift set dummy "$ac_option" "$ac_optarg" ${1+"$@"} shift ;; -*);; *) # This is not an option, so the user has probably given explicit # arguments. ac_need_defaults=false;; esac case $1 in # Handling of the options. EOF cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:5433: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) shift CONFIG_FILES="$CONFIG_FILES $1" ac_need_defaults=false;; --header | --heade | --head | --hea ) shift CONFIG_HEADERS="$CONFIG_HEADERS $1" ac_need_defaults=false;; # This is an error. -*) { { echo "$as_me:5452: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; esac shift done exec 5>>config.log cat >&5 << _ACEOF ## ----------------------- ## ## Running config.status. ## ## ----------------------- ## This file was extended by $as_me 2.52, executed with CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS > $ac_cs_invocation on `(hostname || uname -n) 2>/dev/null | sed 1q` _ACEOF EOF cat >>$CONFIG_STATUS <<\EOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) { { echo "$as_me:5488: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files fi # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. : ${TMPDIR=/tmp} { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=$TMPDIR/cs$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 { (exit 1); exit 1; } } EOF cat >>$CONFIG_STATUS <\$tmp/subs.sed <<\\CEOF s,@SHELL@,$SHELL,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t s,@bindir@,$bindir,;t t s,@sbindir@,$sbindir,;t t s,@libexecdir@,$libexecdir,;t t s,@datadir@,$datadir,;t t s,@sysconfdir@,$sysconfdir,;t t s,@sharedstatedir@,$sharedstatedir,;t t s,@localstatedir@,$localstatedir,;t t s,@libdir@,$libdir,;t t s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t s,@DEFS@,$DEFS,;t t s,@LIBS@,$LIBS,;t t s,@build@,$build,;t t s,@build_cpu@,$build_cpu,;t t s,@build_vendor@,$build_vendor,;t t s,@build_os@,$build_os,;t t s,@host@,$host,;t t s,@host_cpu@,$host_cpu,;t t s,@host_vendor@,$host_vendor,;t t s,@host_os@,$host_os,;t t s,@target@,$target,;t t s,@target_cpu@,$target_cpu,;t t s,@target_vendor@,$target_vendor,;t t s,@target_os@,$target_os,;t t s,@SHLICC2@,$SHLICC2,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t s,@EXEEXT@,$EXEEXT,;t t s,@OBJEXT@,$OBJEXT,;t t s,@SET_MAKE@,$SET_MAKE,;t t s,@LEX@,$LEX,;t t s,@LEXLIB@,$LEXLIB,;t t s,@LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t s,@YACC@,$YACC,;t t s,@CPP@,$CPP,;t t s,@FS_ULL@,$FS_ULL,;t t s,@V_CCOPT@,$V_CCOPT,;t t s,@V_INCLS@,$V_INCLS,;t t s,@V_DEFINES@,$V_DEFINES,;t t s,@V_PCAP_LDLIBS@,$V_PCAP_LDLIBS,;t t CEOF EOF cat >>$CONFIG_STATUS <<\EOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" EOF cat >>$CONFIG_STATUS <<\EOF for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then { case "$ac_dir" in [\\/]* | ?:[\\/]* ) as_incr_dir=;; *) as_incr_dir=.;; esac as_dummy="$ac_dir" for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do case $as_mkdir_dir in # Skip DOS drivespec ?:) as_incr_dir=$as_mkdir_dir ;; *) as_incr_dir=$as_incr_dir/$as_mkdir_dir test -d "$as_incr_dir" || mkdir "$as_incr_dir" ;; esac done; } ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" # A "../" for each directory in $ac_dir_suffix. ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` else ac_dir_suffix= ac_dots= fi case $srcdir in .) ac_srcdir=. if test -z "$ac_dots"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_dots$srcdir$ac_dir_suffix ac_top_srcdir=$ac_dots$srcdir ;; esac if test x"$ac_file" != x-; then { echo "$as_me:5708: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated automatically by config.status. */ configure_input="Generated automatically from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:5726: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:5739: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } EOF cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done EOF cat >>$CONFIG_STATUS <<\EOF { (exit 0); exit 0; } EOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: exec 5>/dev/null $SHELL $CONFIG_STATUS || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi tcptrace-6.6.7/configure.in0100644001217500001440000000466707504574112015402 0ustar mramadasusersdnl Process this file with autoconf to produce a configure script. AC_INIT(tcptrace.c) AC_CANONICAL_SYSTEM AC_LBL_C_INIT(V_CCOPT, V_INCLS) dnl Checks for programs. AC_PROG_CC AC_PROG_MAKE_SET AC_PROG_LEX AC_PROG_YACC dnl Checks for libraries. dnl Replace `main' with a function in -lm: AC_CHECK_LIB(m, main) dnl See if "unsigned long long int" works AC_CHECK_SIZEOF(unsigned long long int) dnl Find a good type for other binary data types (in headers) AC_CHECK_SIZEOF(unsigned long int) AC_CHECK_SIZEOF(unsigned int) AC_CHECK_SIZEOF(unsigned short) dnl include additional checking if developing AC_LBL_DEVEL(V_CCOPT) dnl check for needed network libraries AC_LBL_LIBRARY_NET() dnl use fpurge if available, otherwise fflush AC_CHECK_FUNCS(fpurge) dnl use mkstemp if available, otherwise tempnam AC_CHECK_FUNCS(mkstemp) dnl use valloc if available, then memalign, then malloc AC_CHECK_FUNCS(valloc memalign) dnl check for the IPv6 routines inet_pton AC_CHECK_FUNCS(inet_pton) AC_MSG_CHECKING(how to print unsigned long long) AC_SUBST(FS_ULL) dnl AC_TRY_RUN is a test program that performs a run-time test to find out dnl the correct syntax to print unsigned long long ints in printf stmts. dnl If strcmp returns 0, we are on an enironment that uses %llu, otherwise dnl we are on a MacOSX environment that uses %qu AC_TRY_RUN([ #include #define NIX "%llu" int main () { char test[11]; unsigned long long int num = 0xdeadbeef; sprintf (test, NIX, num); if (strcmp (test, "3735928559") == 0) exit (0); else exit (1); }], AC_DEFINE(USE_LLU) AC_MSG_RESULT(%llu), AC_MSG_RESULT(%qu), AC_MSG_ERROR(can not run test program while cross compiling)) dnl Grab standard includes under weird Linux versions dnl case "$target_os" in dnl *inux*) V_INCLS="$V_INCLS -Ilinux-include"; dnl esac dnl Grab includes from ./cygwin-includes under Windows versions case "$target" in *cygwin*) V_INCLS="$V_INCLS -I./cygwin-includes"; esac dnl define -D__USE_BSD -D__FAVOR_BSD -D__USE_MISC -D__WIN32 for windows case "$target" in *cygwin*) V_DEFINES="$V_DEFINES -D__USE_BSD -D__FAVOR_BSD -D__USE_MISC -D__WIN32"; esac dnl setting the correct PCAP_LDLIBS for windows V_PCAP_LDLIBS="-lpcap"; case "$target" in *cygwin*) V_PCAP_LDLIBS="-lwpcap"; esac dnl define _BSD_SOURCE for libc-2 if [[ -f /lib/libc-2* ]]; then V_DEFINES="$V_DEFINES -D_BSD_SOURCE" fi AC_SUBST(V_CCOPT) AC_SUBST(V_INCLS) AC_SUBST(V_DEFINES) AC_SUBST(V_PCAP_LDLIBS) AC_OUTPUT(Makefile) tcptrace-6.6.7/dot_tcptracerc0100644001217500001440000000116507307520453016002 0ustar mramadasusers# # Shawn's ~/.tcptracerc tcptrace resource file # # you can put anything in here that you can put on the command line, plus # comments. # # the order of argument parsing is very important: # # 1) ~/.tcptracerc is read first # 2) next, we read from the envariable TCPTRACEOPTS # 3) finally, we read from the command line # # always tick off packets graphically so I know how long it will take -t # I LIKE the little RTT dongles! # oh, no, on second thought, I guess I don't #--showrttdongles # # Please drop all output files into a subdirectory # (the %f stands for the basename of the input filename) --output_dir=output_%f tcptrace-6.6.7/dstring.c0100644001217500001440000001111007756700111014663 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED rcsid_dstring[] = "@(#)$Header: /usr/local/cvs/tcptrace/dstring.c,v 5.2 2003/11/19 14:38:01 sdo Exp $"; /* our dynamic string structure */ struct dstring { char *buf; int ix_nextch; int buflen; }; /* local routines */ static void DSExpand(struct dstring *pds); /* make the total string size longer */ static void DSExpand(struct dstring *pds) { unsigned newsize; char *newbuf; /* choose a new size */ if (pds->buflen == 0) newsize = 64; else if (pds->buflen < (16*1024)) newsize = pds->buflen * 2; else newsize = pds->buflen +(4*1024); /* make the new buffer (using the old one if possible) */ newbuf = ReallocZ(pds->buf,pds->buflen,newsize); pds->buflen = newsize; pds->buf = newbuf; } /* Make a new dstring */ struct dstring * DSNew(void) { struct dstring *pret; /* malloc and zero out */ pret = MallocZ(sizeof(struct dstring)); return(pret); } /* Destroy a dstring */ void DSDestroy(struct dstring **ppds) { free((*ppds)->buf); free((*ppds)); *ppds = NULL; } /* erase the string, but leave the structure otherwise intact */ void DSErase( struct dstring *pds) { pds->ix_nextch = 0; } /* append a character to a dstring */ void DSAppendChar( struct dstring *pds, char ch) { /* status: buf[0,1,2,...(buflen-1)] are valid buf[ix_nextch] is where the next character should go if (ix_nextch > (buflen-1)), then it's full same as (ix_nextch+1 > (buflen)) */ if (1 /* for the null */ + pds->ix_nextch+1 > pds->buflen) { DSExpand(pds); } pds->buf[pds->ix_nextch++] = ch; pds->buf[pds->ix_nextch] = '\00'; /* keep it NULL terminated */ } /* append a normal string to the end of a dstring */ void DSAppendString( struct dstring *pds, char *str) { while (*str) { DSAppendChar(pds,*str); ++str; } } /* append at most 'len' characters from a normal string to a dstring */ void DSAppendStringN( struct dstring *pds, char *str, int len) { while (*str) { if (len-- <= 0) break; DSAppendChar(pds,*str); ++str; } } /* return the value of the string */ char * DSVal( struct dstring *pds) { if (pds->buflen) return(pds->buf); else return(""); /* not used yet, treat as null */ } tcptrace-6.6.7/dstring.h0100644001217500001440000000056707307516730014712 0ustar mramadasusers/* a simple, dynamic string library */ typedef struct dstring dstring_t; /* dstring access routines */ dstring_t *DSNew(void); void DSDestroy(dstring_t **ppds); void DSErase(dstring_t *pds); void DSAppendChar(dstring_t *pds, char ch); void DSAppendString(dstring_t *pds, char *str); void DSAppendStringN(dstring_t *pds, char *str, int len); char *DSVal(dstring_t *pds); tcptrace-6.6.7/dyncounter.c0100644001217500001440000004043407756700111015416 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/dyncounter.c,v 1.7 2003/11/19 14:38:01 sdo Exp $"; /* dynamic counters/arrays */ /* uses a 10-ary tree to manage a sparse counter space */ #include "dyncounter.h" static int ldebug = 0; /* external routines */ void *MallocZ(int nbytes); /* WIDTH of the nodes (designed for 10, caveat emptor!) */ /* (sdo: tested at 2, 5, 10, 100) */ #define CARDINALITY 10 /* 10-ary tree node */ struct node { u_long depth; /* 1, 10, 100, 1000 ... 10,000,000 */ union { struct node *down[CARDINALITY]; /* if depth != 1 */ u_long value[CARDINALITY]; /* if depth == 1 */ } un; struct node *nextleaf; /* linked list of leaves, for NextCounter() */ u_long prefix; /* from trees above */ }; /* dynamically-sized counter structure */ struct dyn_counter { u_long gran; /* granularity of the IX */ u_long maxix; /* NOT scaled */ u_long minix; /* NOT scaled */ u_long maxcount; u_long total_count; /* sum of the "AddToCounters" call values */ struct node *tree; /* linked list of leaves */ struct node *firstleaf; struct node *lastleaf; }; /* local routines */ static struct dyn_counter *MakeCounterStruct(void); static struct node *NewNode(u_long depth); static u_long *FindTwig(struct node *lastnode, u_long ix); static struct node *FindLeaf( struct dyn_counter *pdc, struct node **ptree, u_long depth, u_long value, int fcreate); static u_long *FindCounter(struct dyn_counter **ppdc, u_long ix, int fcreate); static void PrintTree(struct node *tree); static void PrintTreeRecurse(struct node *tree, u_long depth); static void FinishTree(struct dyn_counter *pdc); static void FinishTreeRecurse(struct dyn_counter *pdc, struct node *pnode, u_long prefix, u_long depth); static void PrintLeafList(struct dyn_counter *pdc); static struct node *NextCounterRecurse(struct node *node, u_long nextix, u_long *pix, u_long *pcount); static struct node *MakeDepth(struct node *node, u_long depth); static void DestroyTree(struct node *pnode); static void MakeCounter(struct dyn_counter **ppdc, u_long ix, u_long val, u_long granularity, char set); /* add a value to a counter */ void AddToCounter( struct dyn_counter **ppdc, u_long ix, u_long val, u_long granularity) { if (ldebug) fprintf(stderr,"AddToCounter(%p, %lu, %lu) called\n", *ppdc, ix, val); MakeCounter(ppdc,ix,val,granularity,0); } /* set a value in a counter */ void SetCounter( struct dyn_counter **ppdc, u_long ix, u_long val, u_long granularity) { if (ldebug) fprintf(stderr,"SetCounter(%p, %lu, %lu) called\n", *ppdc, ix, val); MakeCounter(ppdc,ix,val,granularity,1); } /* read only, doesn't MAKE anything */ u_long LookupCounter( struct dyn_counter *pdc, u_long ix) { u_long *pdigit; if (ldebug) fprintf(stderr,"LookupCounter(p,%lu) called\n", ix); /* try to find the counter */ pdigit = FindCounter(&pdc, ix, 0); /* do NOT create */ if (pdigit == NULL) { /* no leaf node == no such counter */ if (ldebug) fprintf(stderr,"LookupCounter(p,%lu): no such leaf\n", ix); return(0); } return(*pdigit); } int NextCounter( struct dyn_counter **ppdc, void *pvoidcookie, u_long *pix, u_long *pcount) { struct dyn_counter *pdc; struct node *node; u_long nextix; if (ldebug) fprintf(stderr,"NextCounter(p,%p,%lu,%lu) called\n", *((char **)pvoidcookie), *pix, *pcount); /* if the counter tree doesn't exist yet, create it */ if (*ppdc == NULL) { *ppdc = MakeCounterStruct(); } pdc = *ppdc; /* scale ix by granularity */ *pix /= pdc->gran; /* make sure the linked list of leaves is up to date */ if (pdc->firstleaf == NULL) { FinishTree(pdc); if (ldebug) { PrintLeafList(pdc); PrintTree(pdc->tree); } } /* if cookie is NULL, start at the head */ if ((*((struct node **)pvoidcookie)) == NULL) { node = pdc->firstleaf; nextix = 0; } else { node = *((struct node **)pvoidcookie); nextix = ((*pix) % CARDINALITY) + 1; } /* sanity check on cookie */ if (node->depth != 1) { fprintf(stderr,"NextCounter: invalid cookie!\n"); exit(1); } /* recurse and solve */ node = NextCounterRecurse(node,nextix,pix,pcount); if (node == NULL) return(0); /* no more */ /* scale ix by granularity */ *pix *= pdc->gran; /* remember cookie for next time */ *((struct node **)pvoidcookie) = node; return(1); } /* access routine - maximum counter value */ u_long GetMaxCount( struct dyn_counter *pdc) { return(pdc->maxcount); } /* access routine - return MAX index */ u_long GetMaxIx( struct dyn_counter *pdc) { return(pdc->maxix); } /* access routine - return MIN index */ u_long GetMinIx( struct dyn_counter *pdc) { return(pdc->minix); } /* access routine - return stored granularity */ u_long GetGran( struct dyn_counter *pdc) { if (pdc == NULL) return(1); return(pdc->gran); } /* access routine - total value added with AddToCounter() */ u_long GetTotalCounter( struct dyn_counter *pdc) { if (pdc == NULL) return(0); return(pdc->total_count); } void DestroyCounters( dyn_counter *phandle) { if (!*phandle) return; if ((*phandle)->tree) DestroyTree((*phandle)->tree); free(*phandle); *phandle = NULL; } static struct dyn_counter * MakeCounterStruct() { struct dyn_counter *pdc = MallocZ(sizeof(struct dyn_counter)); pdc->minix = 0xffffffff; return(pdc); } static void DestroyTree( struct node *pnode) { int i; if (pnode == NULL) return; if (pnode->depth > 1) { /* recurse and delete */ for (i=0; i < CARDINALITY; ++i) { DestroyTree(pnode->un.down[i]); } } /* destroy ME */ free(pnode); return; } /* the heart of the routines, a 10-ary recursize search */ static struct node * FindLeaf( struct dyn_counter *pdc, struct node **ptree, u_long depth, u_long value, int fcreate) { u_long hidigit; u_long lowdigits; u_long valdepth; u_long valunits; u_long temp_value; if (ldebug) fprintf(stderr,"FindLeaf(%p(depth %lu), %lu, %s) called\n", *ptree, *ptree?((*ptree)->depth):0, value, fcreate?"CREATE":"NOCREATE"); /* if the tree is empty and we haven't asked to "create", then not found */ if ((*ptree == NULL) && (!fcreate)) return(NULL); /* determine the units of the MSDigit (the depth) */ valdepth = 1; valunits = 1; temp_value = value; while (temp_value >= CARDINALITY) { temp_value /= CARDINALITY; ++valdepth; valunits *= CARDINALITY; } if (ldebug) fprintf(stderr,"FindLeaf: value:%lu depth:%lu units:%lu\n", value, valdepth, valunits); /* is the tree deep enough? */ if ((*ptree == NULL) || (valdepth > (*ptree)->depth)) { u_long correct_depth; /* the correct depth is the MAX of: */ /* - the depth of the number we're looking for */ /* - the value of "depth" passed down */ correct_depth = depth; if (valdepth > correct_depth) correct_depth = valdepth; /* if the tree isn't that deep and we haven't asked to create, then not found */ if (!fcreate) return(NULL); /* increase the depth of this branch */ *ptree = MakeDepth((*ptree), correct_depth); /* linked list of leaves no longer valid! */ pdc->firstleaf = NULL; /* adjust */ depth = correct_depth; } /* if we're at the leaf depth, then we're done */ if ((*ptree)->depth == 1) return(*ptree); /* if the "depth" of val is less than the depth of this node, recurse down the "0" branch without changing the number */ if (valdepth < (*ptree)->depth) { return(FindLeaf(pdc, &(*ptree)->un.down[0], depth-1, value, fcreate)); } /* (else), already the correct level */ /* break the number into the MSDigit and LSDigits */ hidigit = value / valunits; lowdigits = value % valunits; if (ldebug) fprintf(stderr,"for value %lu, depth:%lu units:%lu hidigit:%lu lowdigits:%lu\n", value, valdepth, valunits, hidigit, lowdigits); /* recurse */ return(FindLeaf(pdc, &(*ptree)->un.down[hidigit], depth-1, lowdigits, fcreate)); } static struct node * MakeDepth( struct node *node, u_long depth) { struct node *newroot; if ((node != NULL) && (node->depth >= depth)) return(node); /* ELSE, insert a new level and recurse */ newroot = NewNode(depth); /* attach the old part of the tree */ if (depth > 1) newroot->un.down[0] = MakeDepth(node,depth-1); /* return the new root */ return(newroot); } static struct node * NewNode( u_long depth) { struct node *pn; if (ldebug) fprintf(stderr,"NewNode(%lu) called\n", depth); pn = MallocZ(sizeof(struct node)); pn->depth = depth; return(pn); } static u_long * FindTwig( struct node *lastnode, u_long ix) { unsigned digit; if (ldebug) fprintf(stderr,"FindTwig(%p(depth %lu), %lu) called\n", lastnode, lastnode->depth, ix); if (lastnode->depth != 1) { fprintf(stderr,"FindTwig: internal error, not at a leaf node\n"); exit(2); } digit = ix % CARDINALITY; return(&(lastnode->un.value[digit])); } static u_long * FindCounter( struct dyn_counter **ppdc, u_long ix, int fcreate) { struct dyn_counter *pdc; struct node *pnode; u_long *pcounter; if (ldebug) fprintf(stderr,"FindCounter(p, %lu) called\n", ix); /* if the counter tree doesn't exist yet, create it */ if (*ppdc == NULL) { *ppdc = MakeCounterStruct(); } pdc = *ppdc; /* track MAX and MIN */ if (ix > pdc->maxix) pdc->maxix = ix; if (ix < pdc->minix) pdc->minix = ix; if (ldebug>1) PrintTree(pdc->tree); /* scale (TRUNCATE) the index by the granularity */ ix /= (*ppdc)->gran; /* find the leaf node */ pnode = FindLeaf(pdc, &pdc->tree, pdc->tree?pdc->tree->depth:1, ix, fcreate); if (pnode == NULL) return(NULL); /* find the right counter */ pcounter = FindTwig(pnode, ix); return(pcounter); } static void Indent(int depth) { int i; for (i=0; i < depth; ++i) fputc(' ', stderr); } static void PrintTree( struct node *tree) { PrintTreeRecurse(tree,0); } static void PrintTreeRecurse( struct node *tree, u_long indent) { int i; if (tree == NULL) { Indent(indent); fprintf(stderr,"NULL\n"); return; } Indent(indent); fprintf(stderr,"Node %p, depth:%lu, prefix:%lu\n", tree, tree->depth, tree->prefix); if (tree->depth == 1) { for (i=0; i < CARDINALITY; ++i) { Indent(indent); fprintf(stderr,"Leaf[%d]: %lu (value:%lu)\n", i, tree->un.value[i], tree->prefix*CARDINALITY+i); } } else { for (i=0; i < CARDINALITY; ++i) { Indent(indent); fprintf(stderr,"Branch %d (prefix %lu, depth %lu)\n", i, tree->prefix*CARDINALITY+i, tree->depth); PrintTreeRecurse(tree->un.down[i], indent+3); } } } static void FinishTree( struct dyn_counter *pdc) { FinishTreeRecurse(pdc, pdc->tree, 0, pdc->tree->depth); } static void FinishTreeRecurse( struct dyn_counter *pdc, struct node *pnode, u_long prefix, u_long depth) { int i; /* special case, empty tree */ if (pnode == NULL) return; /* sanity check, verify depth */ if (pnode->depth != depth) { fprintf(stderr,"FinishTree: bad depth at node %p (%lu should be %lu)\n", pnode, pnode->depth, depth); PrintTree(pdc->tree); exit(-3); } /* insert prefix */ pnode->prefix = prefix; /* if we're a leaf, add to end of the list */ if (pnode->depth == 1) { if (pdc->firstleaf == NULL) { pdc->firstleaf = pdc->lastleaf = pnode; if (ldebug) fprintf(stderr,"FinishTree: Making %p the head\n", pnode); } else { pdc->lastleaf->nextleaf = pnode; pdc->lastleaf = pnode; if (ldebug) fprintf(stderr,"FinishTree: Making %p the tail\n", pnode); } return; } /* recurse down all branches */ for (i=0; i < CARDINALITY; ++i) { FinishTreeRecurse(pdc, pnode->un.down[i], prefix*CARDINALITY+i, depth-1); } } static void PrintLeafList( struct dyn_counter *ptree) { struct node *pnode = ptree->firstleaf; fprintf(stderr,"Leaf Linked List...\n"); while(pnode) { fprintf(stderr," pnode:%p prefix:%lu\n", pnode, pnode->prefix); pnode = pnode->nextleaf; } } static struct node * NextCounterRecurse( struct node *node, u_long nextix, u_long *pix, u_long *pcount) { int i; if (ldebug) fprintf(stderr,"NextCounterRecurse(%p,%lu,%lu,%lu) called\n", node, nextix, *pix, *pcount); /* base case, NULL */ if (node == NULL) return(NULL); /* first, check the rest of THIS leaf node */ for (i=nextix; i < CARDINALITY; ++i) { if (node->un.value[i] != 0) { *pix = node->prefix*CARDINALITY+i; *pcount = node->un.value[i]; return(node); } } /* check each counter in the NEXT leaf */ return(NextCounterRecurse(node->nextleaf, 0, pix, pcount)); } /* internal counter access routine */ static void MakeCounter( struct dyn_counter **ppdc, u_long ix, u_long val, u_long granularity, char is_set) /* "set" as opposed to "add" */ { u_long *pcounter; /* if the counter tree doesn't exist yet, create it */ if (*ppdc == NULL) { *ppdc = MakeCounterStruct(); } /* check granularity */ if ((*ppdc)->gran == 0) { (*ppdc)->gran = granularity; } else { /* error check */ if ((*ppdc)->gran != granularity) { fprintf(stderr,"DYNCOUNTER: internal error, granularity changed\n"); exit(-1); } } /* find/create the counter */ pcounter = FindCounter(ppdc, ix, 1); /* add or set */ if (is_set) { /* counter = val */ *pcounter = val; } else { /* counter += val */ *pcounter += val; (*ppdc)->total_count += val; } /* check MAX counter value */ if (*pcounter > (*ppdc)->maxcount) (*ppdc)->maxcount = *pcounter; return; } tcptrace-6.6.7/dyncounter.h0100644001217500001440000000612107756700116015423 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ /* opaque handle */ typedef struct dyn_counter *dyn_counter; /* adding/setting counters */ void AddToCounter(dyn_counter *phandle, unsigned long ix, unsigned long val, unsigned long granularity); void SetCounter(dyn_counter *phandle, unsigned long ix, unsigned long val, unsigned long granularity); /* lookup various counter values */ unsigned long GetMaxIx(dyn_counter handle); unsigned long GetMinIx(dyn_counter handle); unsigned long GetMaxCount(dyn_counter handle); unsigned long GetTotalCounter(dyn_counter handle); unsigned long GetGran(dyn_counter handle); /* query counter values */ unsigned long LookupCounter(dyn_counter handle, unsigned long ix); int NextCounter(dyn_counter *phandle, void *pcookie, unsigned long *pix, unsigned long *pcount); /* when you're finished */ void DestroyCounters(dyn_counter *phandle); tcptrace-6.6.7/erf.c0100644001217500001440000002666307756700111014010 0ustar mramadasusers/* * * Copyright (c) 2003 Endace Technology Ltd, Hamilton, New Zealand. * All rights reserved. * * This software and documentation has been developed by Endace Technology Ltd. * along with the DAG PCI network capture cards. For further information please * visit http://www.endace.com/. * * Redistribution and use of software in source and binary forms and * documentation, with or without modification, are permitted provided * that the following conditions are met: * * 1. Redistributions of source code and documentation must retain the above * copyright notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by Endace Technology Ltd., * Hamilton, New Zealand, and its contributors. * 4. Neither the name of Endace Technology nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY ENDACE TECHNOLOGY AND * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ENDACE TECHNOLOGY * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $Id: erf.c,v 5.4 2003/11/19 14:38:01 sdo Exp $ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2003 -- Endace Technology Ltd, Hamilton, New Zealand\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/erf.c,v 5.4 2003/11/19 14:38:01 sdo Exp $"; /* * erf - Endace ERF (Extensible Record Format) specific file reading stuff */ #ifdef GROK_ERF /* Defining SYS_STDIN which is fp for Windows and stdin for all other systems */ #ifdef __WIN32 static FILE *fp; #define SYS_STDIN fp #else #define SYS_STDIN stdin #endif /* __WIN32 */ /* Record type defines */ #define TYPE_LEGACY 0 #define TYPE_HDLC_POS 1 #define TYPE_ETH 2 #define TYPE_ATM 3 #define TYPE_AAL5 4 typedef struct pos_rec { unsigned int hdlc; unsigned char pload[1]; } pos_rec_t; typedef struct eth_rec { unsigned char offset; unsigned char pad; unsigned char dst[6]; unsigned char src[6]; unsigned short etype; unsigned char pload[1]; } eth_rec_t; typedef struct atm_rec { unsigned int header; unsigned char pload[1]; } atm_rec_t; #ifdef HAVE_LONG_LONG typedef unsigned long long erf_timestamp_t; #else typedef unsigned long erf_timestamp_t[2]; #endif typedef struct erf_record { erf_timestamp_t ts; unsigned char type; unsigned char flags; unsigned short rlen; unsigned short lctr; unsigned short wlen; union { pos_rec_t pos; eth_rec_t eth; atm_rec_t atm; } rec; } erf_record_t; #define ERF_HEADER_LEN 16 #define MAX_RECORD_LEN 0x10000 /* 64k */ #define RECORDS_FOR_ERF_CHECK 3 #define FCS_BITS 32 #ifndef min #define min(a, b) ((a) > (b) ? (b) : (a)) #endif /* * ATM snaplength */ #define ATM_SNAPLEN 48 /* * Size of ATM payload */ #define ATM_SLEN(h) ATM_SNAPLEN #define ATM_WLEN(h) ATM_SNAPLEN /* * Size of Ethernet payload */ #define ETHERNET_WLEN(h) (ntohs((h)->wlen) - (fcs_bits >> 3)) #define ETHERNET_SLEN(h) min(ETHERNET_WLEN(h), ntohs((h)->rlen) - ERF_HEADER_LEN - 2) /* * Size of HDLC payload */ #define HDLC_WLEN(h) (ntohs((h)->wlen) - (fcs_bits >> 3)) #define HDLC_SLEN(h) min(HDLC_WLEN(h), ntohs((h)->rlen) - ERF_HEADER_LEN) static struct ether_header eth_header; static erf_record_t *record; static int records_for_erf_check = RECORDS_FOR_ERF_CHECK; static int fcs_bits = FCS_BITS; /* * Convert little-endian to host order. */ #ifdef HAVE_LONG_LONG #define pletohll(p) ((unsigned long long)*((const unsigned char *)(p)+7)<<56| \ (unsigned long long)*((const unsigned char *)(p)+6)<<48| \ (unsigned long long)*((const unsigned char *)(p)+5)<<40| \ (unsigned long long)*((const unsigned char *)(p)+4)<<32| \ (unsigned long long)*((const unsigned char *)(p)+3)<<24| \ (unsigned long long)*((const unsigned char *)(p)+2)<<16| \ (unsigned long long)*((const unsigned char *)(p)+1)<<8| \ (unsigned long long)*((const unsigned char *)(p)+0)<<0) #else #define pletohl(p) ((unsigned long)*((const unsigned char *)(p)+3)<<24| \ (unsigned long)*((const unsigned char *)(p)+2)<<16| \ (unsigned long)*((const unsigned char *)(p)+1)<<8| \ (unsigned long)*((const unsigned char *)(p)+0)<<0) #endif /* return the next packet header */ static int pread_erf( struct timeval *ptime, int *plen, int *ptlen, void **pphys, int *pphystype, struct ip **ppip, void **pplast) { int rlen, psize; unsigned short ether_type = 0; /* read the next frames */ while (1) { if ((rlen=fread(record,1,ERF_HEADER_LEN,SYS_STDIN)) != ERF_HEADER_LEN) { if (debug && (rlen != 0)) fprintf(stderr,"Bad ERF packet header (len:%d)\n", rlen); return(0); } psize = ntohs(record->rlen) - ERF_HEADER_LEN; if ((rlen=fread((char *)record+ERF_HEADER_LEN,1,psize,SYS_STDIN)) != psize) { if (debug && (rlen != 0)) fprintf(stderr,"Bad ERF packet payload (len:%d)\n", rlen); return(0); } #ifdef HAVE_LONG_LONG { unsigned long long ts = pletohll(&record->ts); ptime->tv_sec = ts >> 32; ts = ((ts & 0xffffffffULL) * 1000 * 1000); ts += (ts & 0x80000000ULL) << 1; /* rounding */ ptime->tv_usec = ts >> 32; if (ptime->tv_usec >= 1000000) { ptime->tv_usec -= 1000000; ptime->tv_sec += 1; } } #else ptime->tv_sec = pletohl(&record->ts[1]); ptime->tv_usec = (unsigned long)((pletohl(&record->ts[0])*1000000.0)/0xffffffffUL); #endif switch (record->type) { case TYPE_ATM: *ptlen = ATM_SLEN(record); *plen = ATM_WLEN(record); *pphys = ð_header; ether_type = ntohs(((unsigned short *)&record->rec.atm.pload)[3]); *ppip = (struct ip *)&record->rec.atm.pload[8]; /* skip snap/llc */ *pplast = ((char *)*ppip)+*ptlen-8-1; break; case TYPE_ETH: *ptlen = ETHERNET_SLEN(record); *plen = ETHERNET_WLEN(record); *pphys = &record->rec.eth.dst; ether_type = ntohs(record->rec.eth.etype); *ppip = (struct ip *)&record->rec.eth.pload[0]; *pplast = ((char *)*ppip)+*ptlen-sizeof(struct ether_header)-1; break; case TYPE_HDLC_POS: *ptlen = HDLC_SLEN(record); *plen = HDLC_WLEN(record); *pphys = ð_header; /* Detect PPP and convert the Ethertype value */ if (ntohs(((unsigned short *)&record->rec.pos.hdlc)[0]) == 0xff03) { if (ntohs(((unsigned short *)&record->rec.pos.hdlc)[1]) == 0x0021) { ether_type = ETHERTYPE_IP; } } else { ether_type = ntohs(((unsigned short *)&record->rec.pos.hdlc)[1]); } *ppip = (struct ip *)&record->rec.pos.pload[0]; *pplast = ((char *)*ppip)+*ptlen-4-1; break; default: fprintf(stderr,"Unsupported ERF record type %d\n", record->type); exit(1); } *pphystype = PHYS_ETHER; /* if it's not IP, then skip it */ if (ether_type != ETHERTYPE_IP && ether_type != ETHERTYPE_IPV6) { if (debug > 2) fprintf(stderr,"pread_erf: not an IP packet\n"); continue; } return(1); } } /* * is_erf() is the input file in ERF format? */ pread_f * is_erf( char *filename) { int i, rlen; int psize, n; char *s; erf_timestamp_t prevts; memset(&prevts, 0, sizeof(prevts)); #ifdef __WIN32 if((fp = fopen(filename, "r")) == NULL) { perror(filename); exit(-1); } #endif /* __WIN32 */ /* * The wirelength value in the ERF file is needed to calculate the * original payload length. Unfortunately the value includes a * 0, 2 or 4 byte checksum for Ethernet and PoS, and there is no * way of telling which it is. So assume 4 bytes checksum unless * told differently through the environment. */ if ((s = getenv("ERF_FCS_BITS")) != NULL) { if ((n = atoi(s)) == 0 || n == 16|| n == 32) { fcs_bits = n; } } /* number of records to scan before deciding if this really is ERF (dflt=3) */ if ((s = getenv("ERF_RECORDS_TO_CHECK")) != NULL) { if ((n = atoi(s)) > 0 && n < 101) { records_for_erf_check = n; } } if (record == NULL && (record = malloc(MAX_RECORD_LEN)) == NULL) { fprintf(stderr,"No memory for ERF record buffer\n"); exit(1); } /* ERF is a little hard because there's no magic number */ for (i = 0; i < records_for_erf_check; i++) { erf_timestamp_t ts; if ((rlen=fread(record,1,ERF_HEADER_LEN,SYS_STDIN)) != ERF_HEADER_LEN) { if (rlen == 0) { break; /* eof */ } else { rewind(SYS_STDIN); return(NULL); } } /* fail on invalid record type, decreasing timestamps or non-zero pad-bits */ if (record->type == 0 || record->type > TYPE_AAL5 || (record->flags & 0xc0) != 0) { rewind(SYS_STDIN); return(NULL); } #ifdef HAVE_LONG_LONG if ((ts = pletohll(&record->ts)) < prevts) { rewind(SYS_STDIN); return(NULL); } #else ts[0] = pletohl(&record->ts[0]); /* frac */ ts[1] = pletohl(&record->ts[1]); /* sec */ if ((ts[1] < prevts[1]) || (ts[1] == prevts[1] && ts[0] < prevts[0])) { rewind(SYS_STDIN); return(NULL); } #endif memcpy(&prevts, &ts, sizeof(prevts)); psize = ntohs(record->rlen) - ERF_HEADER_LEN; if ((rlen=fread((char *)record+ERF_HEADER_LEN,1,psize,SYS_STDIN)) != psize) { rewind(SYS_STDIN); return(NULL); } } rewind(SYS_STDIN); /* There may be no physical header present, so make up one */ memset(ð_header, 0, sizeof(eth_header)); eth_header.ether_type = htons(ETHERTYPE_IP); if (debug) fprintf(stderr,"ERF format\n"); return(pread_erf); } #endif /* GROK_ERF */ tcptrace-6.6.7/etherpeek.c0100644001217500001440000003202107756700112015172 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/etherpeek.c,v 5.8 2003/11/19 14:38:02 sdo Exp $"; /**************************************** ** This is the Ether Peek reading stuff. ** Author: Brian Wilson ** Ohio University ** Computer Science ** Date: Mon, July ,1995 ****************************************/ #ifdef GROK_ETHERPEEK /* Defining SYS_STDIN which is fp for Windows and stdin for all other systems */ #ifdef __WIN32 static FILE *fp; #define SYS_STDIN fp #else #define SYS_STDIN stdin #endif /* __WIN32 */ /* NOTE: This is for version 5 of the file. Other file formats may not work correctly.*/ static struct EPFileHeader { char version; /* file version (must be 5, 6, or 7)*/ char status; /* filler to fill to even boundary*/ } file_header; static struct EPFileHeader2 { tt_uint32 length; /* length of file*/ tt_uint32 numPackets; /* number of packets contained in the file*/ tt_uint32 timeDate; /* time and date stamp of the file (MAC format)*/ tt_uint32 timeStart; /* time of the first packet in the file*/ tt_uint32 timeStop; /* time of the last packet in the file*/ tt_uint32 futureUse[7]; /*reserved for future use and irrelevent to us!*/ } file_header2; struct EPFilePacket_v5_6 { tt_uint16 packetlength; /* total packet length */ tt_uint16 slicelength; /* sliced length of packet*/ }; struct EPFilePacket2_v5_6 { u_char flags; /* crc, frame, runt, ...*/ u_char status; /* slice, trunc, ...*/ }; struct EPFilePacket3_v5_6 { tt_uint32 timestamp; /* timestamp in milliseconds*/ tt_uint16 destNum; /* str corresponding to ether address*/ tt_uint16 srcNum; /* dnum is entry in table*/ tt_uint16 protoNum; /* table number for the protocol*/ char protoStr[8]; /* protocol identity string (NOT null terminated!)*/ tt_uint16 filterNum; /* index to filter table*/ }; /* what we need for version 7 */ typedef struct PeekPacket_v7 { tt_uint16 protospec; /* ProtoSpec ID. */ tt_uint16 packetlength; /* Total length of packet. */ tt_uint16 slicelength; /* Sliced length of packet. */ u_char flags; /* CRC, frame, runt, ... */ u_char status; /* Slicing, ... */ tt_uint32 timestamphi; /* 64-bit timestamp in microseconds. */ tt_uint32 timestamplo; } PeekPacket_v7; /* byte swapping */ /* Mac's are in network byte order. If this machine is NOT, then */ /* we'll need to do conversion */ static u_long mactime; #define Real_Size_FH 2 #define Real_Size_FH2 48 #define Real_Size_FP 4 #define Real_Size_FP2 2 #define Real_Size_FP3 20 #define Mac2unix 2082844800u /* difference between Unix and Mac timestamp */ #define VERSION_7 7 /* Version 7 */ #define VERSION_6 6 /* Version 6 */ #define VERSION_5 5 /* Version 5 */ static char thisfile_ep_version; #define EP_V5 (thisfile_ep_version == VERSION_5) #define EP_V6 (thisfile_ep_version == VERSION_6) #define EP_V7 (thisfile_ep_version == VERSION_7) /* static buffers for reading */ static struct ether_header *pep; static int *pip_buf; /* currently only works for ETHERNET */ static int pread_EP( struct timeval *ptime, int *plen, int *ptlen, void **pphys, int *pphystype, struct ip **ppip, void **pplast) { u_int packlen; u_int rlen; u_int len; /* read the EP packet header */ while(1){ if (EP_V5 || EP_V6) { struct EPFilePacket_v5_6 hdr; struct EPFilePacket2_v5_6 hdr2; struct EPFilePacket3_v5_6 hdr3; if ((rlen=fread(&hdr,1,Real_Size_FP,SYS_STDIN)) != Real_Size_FP) { if (rlen != 0) fprintf(stderr,"Bad EP header\n"); return(0); } hdr.packetlength = ntohs(hdr.packetlength); hdr.slicelength = ntohs(hdr.slicelength); if (debug>1) { printf("EP_read: next packet: original length: %d, saved length: %d\n", hdr.packetlength, hdr.slicelength); } if ((rlen=fread(&hdr2,1,Real_Size_FP2,SYS_STDIN)) !=Real_Size_FP2) { if (rlen != 0) fprintf(stderr,"Bad EP header\n"); return(0); } if ((rlen=fread(&hdr3,1,Real_Size_FP3,SYS_STDIN)) != Real_Size_FP3) { if (rlen != 0) fprintf(stderr,"Bad EP header\n"); return(0); } if (hdr.slicelength) packlen = hdr.slicelength; else packlen = hdr.packetlength; hdr3.timestamp = ntohl(hdr3.timestamp); ptime->tv_sec = mactime + (hdr3.timestamp / 1000); /*milliseconds div 1000*/ ptime->tv_usec = 1000 * (hdr3.timestamp % 1000); *plen = hdr.packetlength; /* hmmm... I guess 0 bytes means that they grabbed the whole */ /* packet. Seems to work that way... sdo - Thu Feb 13, 1997 */ if (hdr.slicelength) *ptlen = hdr.slicelength; else *ptlen = hdr.packetlength; } else { /* version 7 */ struct PeekPacket_v7 hdrv7; if ((rlen=fread(&hdrv7,sizeof(hdrv7),1,SYS_STDIN)) != 1) { if (rlen != 0) fprintf(stderr,"Bad EP V7 header (rlen is %d)\n", rlen); return(0); } hdrv7.packetlength = ntohs(hdrv7.packetlength); hdrv7.slicelength = ntohs(hdrv7.slicelength); if (hdrv7.slicelength) packlen = hdrv7.slicelength; else packlen = hdrv7.packetlength; /* file save version 7 time is NOT an offset, it's a 64 bit counter in microseconds */ #ifdef HAVE_LONG_LONG { /* not everybody has LONG LONG now */ unsigned long long int usecs; /* avoid ugly alignment problems */ usecs = ntohl(hdrv7.timestamphi); usecs <<= 32; usecs |= ntohl(hdrv7.timestamplo); ptime->tv_sec = usecs / 1000000 - Mac2unix; ptime->tv_usec = usecs % 1000000; } #else /* HAVE_LONG_LONG */ { double usecs; /* secs is hard because I don't want to depend on "long long" */ /* which isn't universal yet. "float" probably isn't enough */ /* signigicant figures to make this work, so I'll do it in */ /* (slow) double precision :-( */ usecs = (double)hdrv7.timestamphi * (65536.0 * 65536.0); usecs += (double)hdrv7.timestamplo; usecs -= (double)Mac2unix*1000000.0; ptime->tv_sec = usecs/1000000.0; /* usecs is easier, the part we want is all in the lower word */ ptime->tv_usec = usecs - (double)ptime->tv_sec * 1000000.0; } #endif /* HAVE_LONG_LONG */ *plen = hdrv7.packetlength; /* hmmm... I guess 0 bytes means that they grabbed the whole */ /* packet. Seems to work that way... sdo - Thu Feb 13, 1997 */ if (hdrv7.slicelength) *ptlen = hdrv7.slicelength; else *ptlen = hdrv7.packetlength; if (debug>1) { printf("File position: %ld\n", ftell(SYS_STDIN)); printf("pread_EP (v7) next packet:\n"); printf(" packetlength: %d\n", hdrv7.packetlength); printf(" slicelength: %d\n", hdrv7.slicelength); printf(" packlen: %d\n", packlen); printf(" time: %s\n", ts2ascii_date(ptime)); } } len= packlen; /* read the ethernet header */ rlen=fread(pep,1,sizeof(struct ether_header),SYS_STDIN); if (rlen != sizeof(struct ether_header)) { fprintf(stderr,"Couldn't read ether header\n"); return(0); } if (debug > 3) { PrintRawDataHex("EP_READ: Ethernet Dump", pep, (char *)(pep+1)-1); } /* read the rest of the packet */ len -= sizeof(struct ether_header); if (len >= IP_MAXPACKET) { /* sanity check */ fprintf(stderr, "pread_EP: invalid next packet, IP len is %d, return EOF\n", len); return(0); } if ((rlen=fread(pip_buf,1,len,SYS_STDIN)) != len) { if (rlen != 0) if (debug) fprintf(stderr, "Couldn't read %d more bytes, skipping last packet\n", len); return(0); } if (debug > 3) PrintRawDataHex("EP_READ: IP Dump", pip_buf, (char *)pip_buf+len-1); /* round to 2 bytes for V7 */ if (EP_V7) { if (len%2 != 0) { /* can't SEEK, because this might be a pipe!! */ (void) fgetc(SYS_STDIN); } } *ppip = (struct ip *) pip_buf; *pplast = (char *)pip_buf+len-1; /* last byte in the IP packet */ *pphys = pep; *pphystype = PHYS_ETHER; /* if it's not IP, then skip it */ if ((ntohs(pep->ether_type) != ETHERTYPE_IP) && (ntohs(pep->ether_type) != ETHERTYPE_IPV6)) { if (debug > 2) fprintf(stderr,"pread_EP: not an IP packet\n"); continue; } return(1); } } /* is the input file a Ether Peek format file?? */ pread_f *is_EP(char *filename) { int rlen; #ifdef __WIN32 if((fp = fopen(filename, "r")) == NULL) { perror(filename); exit(-1); } #endif /* __WIN32 */ /* read the EP file header */ if ((rlen=fread(&file_header,1,Real_Size_FH,SYS_STDIN)) != Real_Size_FH) { rewind(SYS_STDIN); return(NULL); } /*rewind(SYS_STDIN); I might need this*/ if ((rlen=fread(&file_header2,1,Real_Size_FH2,SYS_STDIN)) != Real_Size_FH2) { rewind(SYS_STDIN); return(NULL); } /* byte swapping */ file_header2.length = ntohl(file_header2.length); file_header2.numPackets = ntohl(file_header2.numPackets); file_header2.timeDate = ntohl(file_header2.timeDate); file_header2.timeStart = ntohl(file_header2.timeStart); file_header2.timeStop = ntohl(file_header2.timeStop); mactime=file_header2.timeDate - Mac2unix; /*get time plus offset to unix time */ /********** File header info ********************************/ if (debug>1) { int i; fprintf(stderr, "IS_EP says version number %d \n",file_header.version); fprintf(stderr, "IS_EP says status number %d\n",file_header.status); fprintf(stderr, "IS_EP says length number %ld\n",file_header2.length); fprintf(stderr, "IS_EP says num packets number %ld \n",file_header2.numPackets); fprintf(stderr, "IS_EP says time date in mac format %lu \n", (tt_uint32)file_header2.timeDate); fprintf(stderr, "IS_EP says time start %lu \n",file_header2.timeStart); fprintf(stderr, "IS_EP says time stop %lu \n",file_header2.timeStop); fprintf(stderr, "future is: "); for(i=0;i<7;i++) fprintf(stderr, " %ld ",file_header2.futureUse[i]); fprintf(stderr, "\n"); fprintf(stderr, "RLEN is %d \n",rlen); } /* check for EP file format */ /* Note, there's no "magic number" here, so this is just a heuristic :-( */ if ((file_header.version == VERSION_7 || file_header.version == VERSION_6 || file_header.version == VERSION_5) && (file_header.status == 0) && (memcmp(file_header2.futureUse,"\000\000\000\000\000\000\000",7) == 0)) { if (debug) fprintf(stderr, "Valid Etherpeek format file (file version: %d)\n", file_header.version); thisfile_ep_version = file_header.version; } else { if (debug) fprintf(stderr,"I don't think this is version 5, 6, or 7 Ether Peek File\n"); return(NULL); } /* OK, it's mine. Init some stuff */ pep = MallocZ(sizeof(struct ether_header)); pip_buf = MallocZ(IP_MAXPACKET); return(pread_EP); } #endif /* GROK_ETHERPEEK */ tcptrace-6.6.7/file_formats.h0100644001217500001440000001124510125710407015672 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_file_formats[] = "@(#)$Header: /usr/local/cvs/tcptrace/file_formats.h,v 5.10 2004/09/27 04:03:19 jblanton Exp $"; /* * file_formats.h -- Which file formats are supported */ /**************************************************************/ /** **/ /** Input File Specific Stuff **/ /** **/ /**************************************************************/ struct supported_formats { pread_f *(*test_func)(char *filename); /* pointer to the tester function */ char *format_name; /* name of the file format */ char *format_descr; /* description of the file format */ }; /* for each file type GLORP you want to support, provide a */ /* function is_GLORP() that returns NULL if the stdin file is NOT */ /* of type GLORP, and returns a pointer to a packet reading routine */ /* if it is. The packet reading routine is of the following type: */ /* int pread_GLORP( */ /* struct timeval *ptime, */ /* int *plen, */ /* int *ptlen, */ /* void **pphys, */ /* int *pphystype, */ /* struct ip **ppip, */ /* void **pplast) */ /* the reader function should return 0 at EOF and 1 otherwise */ /* This routine must return ONLY IP packets, but they need not all be */ /* TCP packets (if not, they're ignored). */ /* install the is_GLORP() routines supported */ struct supported_formats file_formats[] = { #ifdef GROK_SNOOP {is_snoop, "snoop","Sun Snoop -- Distributed with Solaris"}, #endif /* GROK_SNOOP */ #ifdef GROK_ETHERPEEK {is_EP, "etherpeek","etherpeek -- Mac sniffer program"}, #endif /* GROK_ETHERPEEK */ #ifdef GROK_NETM {is_netm, "netmetrix","Net Metrix -- Commercial program from HP"}, #endif /* GROK_NETM */ #ifdef GROK_NS {is_ns, "ns","ns -- network simulator from LBL"}, #endif /* GROK_NS */ #ifdef GROK_NLANR {is_nlanr, "tsh","NLANL Tsh Format"}, #endif /* GROK_NLANR */ #ifdef GROK_NETSCOUT {is_netscout, "netscout","NetScout Manager format"}, #endif /* GROK_NETSCOUT */ #ifdef GROK_ERF {is_erf, "erf","Endace Extensible Record Format"}, #endif /* GROK_ERF */ #ifdef GROK_TCPDUMP {is_tcpdump, "tcpdump","tcpdump -- Public domain program from LBL"}, #endif /* GROK_TCPDUMP */ }; #define NUM_FILE_FORMATS (sizeof(file_formats) / sizeof(struct supported_formats)) tcptrace-6.6.7/filt_parser.y0100644001217500001440000001122707305527643015571 0ustar mramadasusers%{ /* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 * Ohio University. * * --- * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * http://www.tcptrace.org/ * ostermann@cs.ohiou.edu */ #include #include #include "tcptrace.h" #include "filter.h" #define YYDEBUG 1 %} %union { /* the types that we use in the tokens */ char *string; long signed_long; u_long unsigned_long; ipaddr *pipaddr; Bool bool; enum optype op; struct filter_node *pf; } %token EOS %token LPAREN RPAREN %token GREATER GREATER_EQ LESS LESS_EQ EQUAL NEQUAL %token NOT /* AND or OR group left to right, NOT is highest precedence, then OR */ %left NOT %left AND %left OR /* BITWISE AND and OR */ %left BAND BOR /* PLUS and MINUS group left to right, lower prec then TIMES and DIVIDE */ %left PLUS MINUS %left TIMES DIVIDE MOD %token VARIABLE STRING %token SIGNED %token UNSIGNED %token BOOL %token IPADDR %type relop %type expr leaf number %% /* beginning of the parsing rules */ line : expr EOS {InstallFilter($1);} ; /* top-level booleans and etc */ expr : expr AND expr { $$ = MakeBinaryNode(OP_AND,$1,$3);} | expr OR expr { $$ = MakeBinaryNode(OP_OR,$1,$3);} | NOT expr { $$ = MakeUnaryNode(OP_NOT,$2); } | number relop number { $$ = MakeBinaryNode($2,$1,$3);} | number { $$ = $1; } ; /* numbers are leaves or math operations thereon */ number : number PLUS number { $$ = MakeBinaryNode(OP_PLUS,$1,$3);} | number MINUS number { $$ = MakeBinaryNode(OP_MINUS,$1,$3);} | number TIMES number { $$ = MakeBinaryNode(OP_TIMES,$1,$3);} | number DIVIDE number { $$ = MakeBinaryNode(OP_DIVIDE,$1,$3);} | number MOD number { $$ = MakeBinaryNode(OP_MOD,$1,$3);} | number BAND number { $$ = MakeBinaryNode(OP_BAND,$1,$3);} | number BOR number { $$ = MakeBinaryNode(OP_BOR,$1,$3);} | LPAREN expr RPAREN { $$ = $2; } | leaf { $$ = $1; } ; /* leaves are constants or variables */ leaf : VARIABLE { $$ = MakeVarNode($1); } | SIGNED { $$ = MakeSignedConstNode($1); } | UNSIGNED { $$ = MakeUnsignedConstNode($1); } | STRING { $$ = MakeStringConstNode($1); } | BOOL { $$ = MakeBoolConstNode($1); } | IPADDR /* just pretend, for now */ { $$ = MakeIPaddrConstNode($1); } ; /* relational operators */ relop : GREATER { $$ = OP_GREATER;} | GREATER_EQ { $$ = OP_GREATER_EQ;} | LESS { $$ = OP_LESS;} | LESS_EQ { $$ = OP_LESS_EQ;} | EQUAL { $$ = OP_EQUAL;} | NEQUAL { $$ = OP_NEQUAL;} ; %% void filtyyerror(char *error_string, ...) { fprintf(stderr,"Bad filter expr: '%s'\n", error_string); } tcptrace-6.6.7/filt_scanner.l0100644001217500001440000001130207305527643015703 0ustar mramadasusers%{ /* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 * Ohio University. * * --- * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * http://www.tcptrace.org/ * ostermann@cs.ohiou.edu */ #include #include "tcptrace.h" #include "filter.h" #define yylval filtyylval #include "filt_parser.h" /* define our own input routine using filter_getc() */ #define YY_INPUT(buf,result,max_size) \ { \ int c = filter_getc(); \ result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \ } %} %% [ \t]+ { } /* Just ignore white space */ "\n" { return(EOS); } "+" { return(PLUS); } "-" { return(MINUS); } "*" { return(TIMES); } "/" { return(DIVIDE); } "%" { return(MOD); } "(" { return(LPAREN); } ")" { return(RPAREN); } "<" { return(LESS); } "<=" { return(LESS_EQ); } ">" { return(GREATER); } ">=" { return(GREATER_EQ); } "=" { return(EQUAL); } "==" { return(EQUAL); } /* same as "=" */ "!=" { return(NEQUAL); } "!" { return(NOT); } [nN][oO][tT] { return(NOT); } /* same as "!" */ [aA][nN][dD] { return(AND); } -[aA] { return(AND); } /* same as "AND" */ "&&" { return(AND); } /* same as "AND" */ [oO][rR] { return(OR); } -[oO] { return(OR); } /* same as "OR" */ "||" { return(OR); } /* same as "OR" */ "|" { return(BOR); } /* bitwise OR */ "&" { return(BAND); } /* bitwise AND */ [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+ { /* an IPv4 addr */ yylval.pipaddr = str2ipaddr(yytext); return(IPADDR); } [0-9a-fA-F]+:[:0-9a-fA-F]*:[0-9a-fA-F]+ { /* an IPv6 addr */ yylval.pipaddr = str2ipaddr(yytext); return(IPADDR); } [0-9]+ { /* an unsigned integer */ yylval.unsigned_long = atoi(yytext); return(UNSIGNED); } -[0-9]+ { /* a signed integer */ yylval.signed_long = atoi(yytext); return(SIGNED); } "FALSE" { yylval.unsigned_long = 0; return(UNSIGNED); } "TRUE" { yylval.unsigned_long = 1; return(UNSIGNED); } \"[^\"]*\" { /* a string */ yylval.string = strdup(yytext+1); /* make a copy of the string */ yylval.string[strlen(yylval.string)-1] = '\00'; return(STRING); } [a-zA-Z_][a-zA-Z_0-9\.]* { /* a variable (word) */ yylval.string = strdup(yytext); /* make a copy of the string */ return(VARIABLE); } . { /* if we haven't matched anything yet, then it's illegal */ fprintf(stderr, "filter scanner: Bad character '%c' (%d decimal)\n", *yytext, *yytext); exit(-1); } %% int yywrap(void) { if (0) unput(0); /* never really called, but shuts up gcc */ return(1); } tcptrace-6.6.7/filter.c0100644001217500001440000012602607756700112014514 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/filter.c,v 5.20 2003/11/19 14:38:02 sdo Exp $"; #include #include #include "filter.h" #include "filter_vars.h" /* local routines */ static char *PrintConst(struct filter_node *pf); static char *PrintVar(struct filter_node *pf); static void EvalRelopUnsigned(tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf); static void EvalRelopSigned(tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf); static void EvalRelopIpaddr(tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf); static void EvalFilter(tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf); static void EvalRelopString(tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf); static void EvalVariable(tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf); static void EvalConstant(tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf); static char *PrintFilterInternal(struct filter_node *pf); static char *Res2Str(struct filter_res *pres); static struct filter_node *MustBeType(enum vartype var_needed, struct filter_node *pf); static struct filter_node *LookupVar(char *varname, Bool fclient); static void HelpFilterVariables(void); /* local globals */ static char *exprstr = NULL; static struct filter_node *filter_root = NULL; char* Op2Str( enum optype op) { switch (op) { case OP_AND: return("AND"); case OP_OR: return("OR"); case OP_GREATER: return(">"); case OP_GREATER_EQ: return(">="); case OP_LESS: return("<"); case OP_LESS_EQ: return("<="); case OP_EQUAL: return("=="); case OP_NEQUAL: return("!="); case OP_PLUS: return("+"); case OP_MINUS: return("-"); case OP_TIMES: return("*"); case OP_DIVIDE: return("/"); case OP_MOD: return("%"); case OP_BAND: return("&"); case OP_BOR: return("|"); default: return("??"); } } char* Vartype2BStr( enum vartype vartype) { switch (vartype) { case V_BOOL: return("BOOL"); case V_STRING: return("STRING"); case V_CHAR: case V_FUNC: case V_INT: case V_LLONG: case V_LONG: case V_SHORT: return("SIGNED"); case V_UCHAR: case V_UFUNC: case V_UINT: case V_ULLONG: case V_ULONG: case V_USHORT: return("UNSIGNED"); case V_IPADDR: return("IPADDR"); } fprintf(stderr,"Vartype2BStr: Internal error, unknown type %d\n", vartype); exit(-1); } char* Vartype2Str( enum vartype vartype) { switch (vartype) { case V_BOOL: return("BOOL"); case V_CHAR: return("CHAR"); case V_INT: return("INT"); case V_LONG: return("LONG"); case V_SHORT: return("SHORT"); case V_STRING: return("STRING"); case V_UCHAR: return("UCHAR"); case V_UINT: return("UINT"); case V_ULONG: return("ULONG"); case V_USHORT: return("USHORT"); case V_LLONG: return("LLONG"); case V_ULLONG: return("ULLONG"); case V_FUNC: return("FUNC"); case V_UFUNC: return("UFUNC"); case V_IPADDR: return("IPADDR"); } fprintf(stderr,"Vartype2Str: Internal error, unknown type %d\n", vartype); exit(-1); } /**************************************************************/ /**************************************************************/ /** **/ /** The following routines are all for Making filter trees **/ /** **/ /**************************************************************/ /**************************************************************/ static struct filter_node * MustBeType( enum vartype var_needed, struct filter_node *pf) { /* if they match, we're done */ if (pf->vartype == var_needed) return(pf); /* the only conversion we can do is unsigned to signed */ if ((pf->vartype == V_ULLONG) && (var_needed == V_LLONG)) { struct filter_node *pf_new; pf_new = MakeUnaryNode(OP_SIGNED,pf); return(pf_new); } /* else it's an error */ fprintf(stderr,"Filter expression should be type %s, but isn't: ", Vartype2Str(var_needed)); PrintFilter(pf); exit(-1); } struct filter_node * MakeUnaryNode( enum optype op, struct filter_node *pf_in) { struct filter_node *pf_ret = NULL; struct filter_node *pf1; /* walk everybody on the list and copy */ for (pf1 = pf_in; pf1; pf1=pf1->next_var) { struct filter_node *pf_new; /* type checking */ if (op == OP_NOT) pf_in = MustBeType(V_BOOL,pf_in); pf_new = MallocZ(sizeof(struct filter_node)); pf_new->op = op; pf_new->vartype = pf1->vartype; pf_new->un.unary.pf = pf1; /* add to the linked list of unaries */ if (pf_ret == NULL) { pf_ret = pf_new; } else { pf_new->next_var = pf_ret; pf_ret = pf_new; } } return(pf_ret); } static struct filter_node * MakeDisjunction( struct filter_node *left, struct filter_node *right) { struct filter_node *pf; /* construct a high-level OR to hook them together */ pf = MallocZ(sizeof(struct filter_node)); pf->op = OP_OR; pf->vartype = V_BOOL; /* hook the two opnodes together */ pf->un.binary.left = left; pf->un.binary.right = right; /* return the OR node */ return(pf); } static struct filter_node * MakeConjunction( struct filter_node *left, struct filter_node *right) { struct filter_node *pf; /* construct a high-level AND to hook them together */ pf = MallocZ(sizeof(struct filter_node)); pf->op = OP_AND; pf->vartype = V_BOOL; /* hook the two opnodes together */ pf->un.binary.left = left; pf->un.binary.right = right; /* return the OR node */ return(pf); } static struct filter_node * MakeOneBinaryNode( enum optype op, struct filter_node *pf_left, struct filter_node *pf_right) { struct filter_node *pf; pf = MallocZ(sizeof(struct filter_node)); pf->op = op; /* type checking */ switch (op) { case OP_AND: case OP_OR: pf_left = MustBeType(V_BOOL,pf_left); pf_right = MustBeType(V_BOOL,pf_right); pf->vartype = V_BOOL; break; case OP_PLUS: case OP_MINUS: case OP_TIMES: case OP_DIVIDE: case OP_MOD: case OP_BAND: case OP_BOR: if ((pf_left->vartype != V_LLONG) && (pf_left->vartype != V_ULLONG)) { fprintf(stderr,"Arithmetic operator applied to non-number: "); PrintFilter(pf_left); exit(-1); } if ((pf_right->vartype != V_LLONG) && (pf_right->vartype != V_ULLONG)) { fprintf(stderr,"Arithmetic operator applied to non-number: "); PrintFilter(pf_right); exit(-1); } /* else, they's both either signed or unsigned */ if ((pf_left->vartype == V_LLONG) && (pf_right->vartype == V_ULLONG)) { /* convert right to signed */ pf_right = MustBeType(V_LLONG,pf_right); } else if ((pf_left->vartype == V_ULLONG) && (pf_right->vartype == V_LLONG)) { /* convert left to signed */ pf_left = MustBeType(V_LLONG,pf_left); } pf->vartype = pf_left->vartype; break; case OP_EQUAL: case OP_NEQUAL: case OP_GREATER: case OP_GREATER_EQ: case OP_LESS: case OP_LESS_EQ: /* IP addresses are special case */ if ((pf_left->vartype == V_IPADDR) || (pf_right->vartype == V_IPADDR)) { /* must BOTH be addresses */ if ((pf_left->vartype != V_IPADDR) || (pf_right->vartype != V_IPADDR)) { fprintf(stderr, "IPaddreses can only be compared with each other: "); PrintFilter(pf); exit(-1); } pf->vartype = V_BOOL; break; } /* Allow STRING variables like hostname, portname to be used as in * -f'hostname=="masaka.cs.ohiou.edu"' */ if ((pf_left->vartype == V_STRING) && (pf_right->vartype == V_STRING)){ pf->vartype = V_BOOL; break; } /* ... else, normal numeric stuff */ if ((pf_left->vartype != V_LLONG) && (pf_left->vartype != V_ULLONG)) { fprintf(stderr,"Relational operator applied to non-number: "); PrintFilter(pf_left); exit(-1); } if ((pf_right->vartype != V_LLONG) && (pf_right->vartype != V_ULLONG)) { fprintf(stderr,"Relational operator applied to non-number: "); PrintFilter(pf_right); exit(-1); } /* else, they's both either signed or unsigned */ if ((pf_left->vartype == V_LLONG) && (pf_right->vartype == V_ULLONG)) { /* convert right to signed */ pf_right = MustBeType(V_LLONG,pf_right); } else if ((pf_left->vartype == V_ULLONG) && (pf_right->vartype == V_LLONG)) { /* convert left to signed */ pf_left = MustBeType(V_LLONG,pf_left); } pf->vartype = V_BOOL; break; default: fprintf(stderr,"MakeBinaryNode: invalid binary operand type %d (%s)\n", op, Op2Str(op)); exit(-1); } /* attach the children */ pf->un.binary.left = pf_left; pf->un.binary.right = pf_right; return(pf); } struct filter_node * MakeBinaryNode( enum optype op, struct filter_node *pf_left, struct filter_node *pf_right) { struct filter_node *pf_ret = NULL; struct filter_node *pf1; struct filter_node *pf2; for (pf1 = pf_left; pf1; pf1=pf1->next_var) { for (pf2 = pf_right; pf2; pf2=pf2->next_var) { struct filter_node *pf_new; /* make one copy */ pf_new = MakeOneBinaryNode(op,pf1,pf2); if ((pf1->conjunction) || (pf2->conjunction)) pf_new->conjunction = TRUE; if (debug>1) printf("MakeBinaryNode: made %s (%c)\n", Filter2Str(pf_new), pf_new->conjunction?'c':'d'); /* hook together as appropriate */ switch (op) { case OP_PLUS: case OP_MINUS: case OP_TIMES: case OP_DIVIDE: case OP_MOD: case OP_BAND: case OP_BOR: /* just keep a list */ if (pf_ret == NULL) { pf_ret = pf_new; } else { pf_new->next_var = pf_ret; pf_ret = pf_new; } break; case OP_AND: case OP_OR: case OP_EQUAL: case OP_NEQUAL: case OP_GREATER: case OP_GREATER_EQ: case OP_LESS: case OP_LESS_EQ: /* terminate the wildcard list by making OR nodes or AND nodes*/ if (pf_ret == NULL) pf_ret = pf_new; else { if ((pf1->conjunction) || (pf2->conjunction)) pf_ret = MakeConjunction(pf_ret,pf_new); else pf_ret = MakeDisjunction(pf_ret,pf_new); } break; default: fprintf(stderr,"MakeBinaryNode: invalid binary operand type %d (%s)\n", op, Op2Str(op)); exit(-1); } } } return(pf_ret); } struct filter_node * MakeVarNode( char *varname) { struct filter_node *pf; if (strncasecmp(varname,"c_",2) == 0) { /* just client */ pf = LookupVar(varname+2,TRUE); } else if (strncasecmp(varname,"s_",2) == 0) { /* just server */ pf = LookupVar(varname+2,FALSE); } else if (strncasecmp(varname,"b_",2) == 0) { /* they want a CONjunction, look up BOTH and return a list */ pf = LookupVar(varname+2,TRUE);/* client */ pf->next_var = LookupVar(varname+2,FALSE); /* server */ pf->conjunction = pf->next_var->conjunction = TRUE; } else if (strncasecmp(varname,"e_",2) == 0) { /* they want a DISjunction, look up BOTH and return a list */ pf = LookupVar(varname+2,TRUE);/* client */ pf->next_var = LookupVar(varname+2,FALSE); /* server */ } else { /* look up BOTH and return a list (same as e_) */ pf = LookupVar(varname,TRUE);/* client */ pf->next_var = LookupVar(varname,FALSE); /* server */ } return(pf); } struct filter_node * MakeStringConstNode( char *val) { struct filter_node *pf; pf = MallocZ(sizeof(struct filter_node)); pf->op = OP_CONSTANT; pf->vartype = V_STRING; pf->un.constant.string = val; return(pf); } struct filter_node * MakeBoolConstNode( Bool val) { struct filter_node *pf; pf = MallocZ(sizeof(struct filter_node)); pf->vartype = V_BOOL; pf->un.constant.bool = val; return(pf); } struct filter_node * MakeSignedConstNode( llong val) { struct filter_node *pf; pf = MallocZ(sizeof(struct filter_node)); pf->op = OP_CONSTANT; pf->vartype = V_LLONG; pf->un.constant.longint = val; return(pf); } struct filter_node * MakeUnsignedConstNode( u_llong val) { struct filter_node *pf; pf = MallocZ(sizeof(struct filter_node)); pf->op = OP_CONSTANT; pf->vartype = V_ULLONG; pf->un.constant.u_longint = val; return(pf); } struct filter_node * MakeIPaddrConstNode( ipaddr *pipaddr) { struct filter_node *pf; pf = MallocZ(sizeof(struct filter_node)); pf->op = OP_CONSTANT; pf->vartype = V_IPADDR; pf->un.constant.pipaddr = pipaddr; return(pf); } /**************************************************************/ /**************************************************************/ /** **/ /** The folloing routines are all for PRINTING filter trees **/ /** **/ /**************************************************************/ /**************************************************************/ static char * PrintConst( struct filter_node *pf) { char buf[100]; /* for constants */ switch (pf->vartype) { case V_ULLONG: if (debug) snprintf(buf,sizeof(buf),"ULLONG(%" FS_ULL ")", pf->un.constant.u_longint); else snprintf(buf,sizeof(buf),"%" FS_ULL,pf->un.constant.u_longint); break; case V_LLONG: if (debug) snprintf(buf,sizeof(buf),"LLONG(%" FS_LL ")", pf->un.constant.longint); else snprintf(buf,sizeof(buf),"%" FS_LL, pf->un.constant.longint); break; case V_STRING: if (debug) snprintf(buf,sizeof(buf),"STRING(%s)",pf->un.constant.string); else snprintf(buf,sizeof(buf),"%s",pf->un.constant.string); break; case V_BOOL: if (debug) snprintf(buf,sizeof(buf),"BOOL(%s)", BOOL2STR(pf->un.constant.bool)); else snprintf(buf,sizeof(buf),"%s", BOOL2STR(pf->un.constant.bool)); break; case V_IPADDR: if (debug) snprintf(buf,sizeof(buf),"IPADDR(%s)", HostAddr(*pf->un.constant.pipaddr)); else snprintf(buf,sizeof(buf),"%s", HostAddr(*pf->un.constant.pipaddr)); break; default: { fprintf(stderr,"PrintConst: unknown constant type %d (%s)\n", pf->vartype, Vartype2Str(pf->vartype)); exit(-1); } } /* small memory leak, but it's just done once for debugging... */ return(strdup(buf)); } static char * PrintVar( struct filter_node *pf) { char buf[100]; if (debug) snprintf(buf,sizeof(buf),"VAR(%s,'%s%s',%lu,%c)", Vartype2Str(pf->vartype), pf->un.variable.fclient?"c_":"s_", pf->un.variable.name, pf->un.variable.offset, pf->conjunction?'c':'d'); else snprintf(buf,sizeof(buf),"%s%s", pf->un.variable.fclient?"c_":"s_", pf->un.variable.name); /* small memory leak, but it's just done once for debugging... */ return(strdup(buf)); } /**************************************************************/ /**************************************************************/ /** **/ /** The folloing routines are all for access from tcptrace **/ /** **/ /**************************************************************/ /**************************************************************/ void ParseFilter( char *expr) { exprstr = strdup(expr); if (debug) printf("Parsefilter('%s') called\n", expr); if (debug > 1) filtyydebug = 1; if (filtyyparse() == 0) { /* it worked */ printf("Output filter: %s\n", Filter2Str(filter_root)); } else { /* parsing failed */ fprintf(stderr,"Filter parsing failed\n"); exit(-1); } return; } static char * Res2Str( struct filter_res *pres) { char buf[100]; /* for constants */ switch (pres->vartype) { case V_ULLONG: snprintf(buf,sizeof(buf),"ULLONG(%" FS_ULL ")",pres->val.u_longint); break; case V_LLONG: snprintf(buf,sizeof(buf),"LLONG(%" FS_LL ")",pres->val.longint); break; case V_STRING: snprintf(buf,sizeof(buf),"STRING(%s)",pres->val.string); break; case V_BOOL: snprintf(buf,sizeof(buf),"BOOL(%s)", BOOL2STR(pres->val.bool)); break; default: { fprintf(stderr,"Res2Str: unknown constant type %d (%s)\n", pres->vartype, Vartype2Str(pres->vartype)); exit(-1); } } /* small memory leak, but it's just done once for debugging... */ return(strdup(buf)); } void PrintFilter( struct filter_node *pf) { printf("%s\n", PrintFilterInternal(pf)); } char * Filter2Str( struct filter_node *pf) { return(PrintFilterInternal(pf)); } static char * PrintFilterInternal( struct filter_node *pf) { /* I'm tolerating a memory leak here because it's mostly just for debugging */ char buf[1024]; if (!pf) return(""); switch(pf->op) { case OP_CONSTANT: snprintf(buf,sizeof(buf),"%s", PrintConst(pf)); return(strdup(buf)); case OP_VARIABLE: snprintf(buf,sizeof(buf),"%s", PrintVar(pf)); return(strdup(buf)); case OP_AND: case OP_OR: case OP_EQUAL: case OP_NEQUAL: case OP_GREATER: case OP_GREATER_EQ: case OP_LESS: case OP_LESS_EQ: case OP_PLUS: case OP_MINUS: case OP_TIMES: case OP_DIVIDE: case OP_MOD: case OP_BAND: case OP_BOR: snprintf(buf,sizeof(buf),"(%s%s%s)", PrintFilterInternal(pf->un.binary.left), Op2Str(pf->op), PrintFilterInternal(pf->un.binary.right)); return(strdup(buf)); case OP_NOT: snprintf(buf,sizeof(buf)," NOT(%s)", PrintFilterInternal(pf->un.unary.pf)); return(strdup(buf)); case OP_SIGNED: snprintf(buf,sizeof(buf)," SIGNED(%s)", PrintFilterInternal(pf->un.unary.pf)); return(strdup(buf)); default: fprintf(stderr,"PrintFilter: unknown op %d (%s)\n", pf->op, Op2Str(pf->op)); exit(-1); } } static struct filter_node * LookupVar( char *varname, Bool fclient) { int i; struct filter_node *pf; void *ptr; for (i=0; i < NUM_FILTERS; ++i) { struct filter_line *pfl = &filters[i]; if (strcasecmp(varname,pfl->varname) == 0) { /* we found it */ pf = MallocZ(sizeof(struct filter_node)); pf->op = OP_VARIABLE; switch (pfl->vartype) { case V_CHAR: case V_INT: case V_LLONG: case V_LONG: case V_SHORT: case V_FUNC: pf->vartype = V_LLONG; /* we'll promote on the fly */ break; case V_UCHAR: case V_UINT: case V_ULLONG: case V_ULONG: case V_USHORT: case V_UFUNC: pf->vartype = V_ULLONG; /* we'll promote on the fly */ break; case V_BOOL: pf->vartype = V_BOOL; break; case V_IPADDR: pf->vartype = V_IPADDR; break; case V_STRING: pf->vartype = V_STRING; break; default: pf->vartype = pf->vartype; } pf->un.variable.realtype = pfl->vartype; pf->un.variable.name = strdup(varname); if (fclient) ptr = (void *)pfl->cl_addr; else ptr = (void *)pfl->sv_addr; if ((pfl->vartype == V_FUNC) || (pfl->vartype == V_UFUNC)) pf->un.variable.offset = (u_long)ptr; /* FIXME? could still be a pointer bug here! */ else pf->un.variable.offset = (char *)ptr - (char *)&ptp_dummy; pf->un.variable.fclient = fclient; return(pf); } } /* not found */ fprintf(stderr,"Variable \"%s\" not found\n", varname); HelpFilterVariables(); exit(-1); } static u_llong Ptr2Signed( tcp_pair *ptp, enum vartype vartype, void *ptr) { u_llong val; switch (vartype) { case V_LLONG: val = *((llong *) ptr); break; case V_LONG: val = *((long *) ptr); break; case V_INT: val = *((int *) ptr); break; case V_SHORT: val = *((short *) ptr); break; case V_CHAR: val = *((char *) ptr); break; default: { fprintf(stderr, "Ptr2Signed: can't convert type %s to signed\n", Vartype2Str(vartype)); exit(-1); } } return(val); } static u_llong Ptr2Unsigned( tcp_pair *ptp, enum vartype vartype, void *ptr) { u_llong val; switch (vartype) { case V_ULLONG: val = *((u_llong *) ptr); break; case V_ULONG: val = *((u_long *) ptr); break; case V_UINT: val = *((u_int *) ptr); break; case V_USHORT: val = *((u_short *) ptr); break; case V_UCHAR: val = *((u_char *) ptr); break; case V_BOOL: val = *((Bool *) ptr)==TRUE; break; default: { fprintf(stderr, "Ptr2Unsigned: can't convert variable type %s to unsigned\n", Vartype2Str(vartype)); exit(-1); } } return(val); } static char * Var2String( tcp_pair *ptp, struct filter_node *pf) { void *ptr; char *str; ptr = (char *)ptp + pf->un.variable.offset; str = *((char **)ptr); if (str == NULL) str = ""; if (debug) printf("Var2String returns 0x%p (%s)\n", str, str); return(str); } static u_long Var2Signed( tcp_pair *ptp, struct filter_node *pf) { void *ptr; ptr = (char *)ptp + pf->un.variable.offset; switch (pf->un.variable.realtype) { case V_LLONG: return(Ptr2Signed(ptp,V_LLONG,ptr)); case V_LONG: return(Ptr2Signed(ptp,V_LONG,ptr)); case V_INT: return(Ptr2Signed(ptp,V_INT,ptr)); case V_SHORT: return(Ptr2Signed(ptp,V_SHORT,ptr)); case V_CHAR: return(Ptr2Signed(ptp,V_CHAR,ptr)); case V_FUNC: { /* call the function */ llong (*pfunc)(tcp_pair *ptp); pfunc = (llong (*)(tcp_pair *))(pf->un.variable.offset); return((*pfunc)(ptp)); } default: { fprintf(stderr, "Filter eval error, can't convert variable type %s to signed\n", Vartype2Str(pf->un.variable.realtype)); exit(-1); } } } static ipaddr * Var2Ipaddr( tcp_pair *ptp, struct filter_node *pf) { void *ptr; ptr = (char *)ptp + pf->un.variable.offset; switch (pf->un.variable.realtype) { case V_IPADDR: return(ptr); default: { fprintf(stderr, "Filter eval error, can't convert variable type %s to ipaddr\n", Vartype2Str(pf->un.variable.realtype)); exit(-1); } } } static u_long Var2Unsigned( tcp_pair *ptp, struct filter_node *pf) { void *ptr; ptr = (char *)ptp + pf->un.variable.offset; switch (pf->un.variable.realtype) { case V_ULLONG: return(Ptr2Unsigned(ptp,V_ULLONG,ptr)); case V_ULONG: return(Ptr2Unsigned(ptp,V_ULONG,ptr)); case V_UINT: return(Ptr2Unsigned(ptp,V_UINT,ptr)); case V_USHORT: return(Ptr2Unsigned(ptp,V_USHORT,ptr)); case V_UCHAR: return(Ptr2Unsigned(ptp,V_UCHAR,ptr)); case V_BOOL: return(Ptr2Unsigned(ptp,V_BOOL,ptr)); case V_UFUNC: { /* call the function */ u_llong (*pfunc)(tcp_pair *ptp); pfunc = (u_llong (*)(tcp_pair *))(pf->un.variable.offset); return((*pfunc)(ptp)); } default: { fprintf(stderr, "Filter eval error, can't convert variable type %s to unsigned\n", Vartype2Str(pf->un.variable.realtype)); exit(-1); } } } static u_llong Const2Unsigned( struct filter_node *pf) { switch (pf->vartype) { case V_ULLONG: return((u_llong) pf->un.constant.u_longint); case V_LLONG: return((u_llong) pf->un.constant.longint); default: { fprintf(stderr, "Filter eval error, can't convert constant type %d (%s) to unsigned\n", pf->vartype, Vartype2Str(pf->vartype)); exit(-1); } } } static llong Const2Signed( struct filter_node *pf) { switch (pf->vartype) { case V_ULLONG: return((llong) pf->un.constant.u_longint); case V_LLONG: return((llong) pf->un.constant.longint); default: { fprintf(stderr, "Filter eval error, can't convert constant type %d (%s) to signed\n", pf->vartype, Vartype2Str(pf->vartype)); exit(-1); } } } static ipaddr * Const2Ipaddr( struct filter_node *pf) { switch (pf->vartype) { case V_IPADDR: return(pf->un.constant.pipaddr); default: { fprintf(stderr, "Filter eval error, can't convert constant type %d (%s) to ipaddr\n", pf->vartype, Vartype2Str(pf->vartype)); exit(-1); } } } static void EvalMathopUnsigned( tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf) { u_llong varl; u_llong varr; struct filter_res res; u_llong ret; /* grab left hand side */ EvalFilter(ptp,&res,pf->un.binary.left); varl = res.val.u_longint; /* grab right hand side */ EvalFilter(ptp,&res,pf->un.binary.right); varr = res.val.u_longint; /* perform the operation */ switch (pf->op) { case OP_PLUS: ret = (varl + varr); break; case OP_MINUS: ret = (varl - varr); break; case OP_TIMES: ret = (varl * varr); break; case OP_DIVIDE: ret = (varl / varr); break; case OP_MOD: ret = (varl % varr); break; case OP_BAND: ret = (varl & varr); break; case OP_BOR: ret = (varl | varr); break; default: { fprintf(stderr,"EvalMathodUnsigned: unsupported binary op: %d (%s)\n", pf->op, Op2Str(pf->op)); exit(-1); } } /* fill in the answer */ pres->vartype = V_ULLONG; pres->val.u_longint = ret; if (debug) printf("EvalMathopUnsigned %" FS_ULL " %s %" FS_ULL " returns %s\n", varl, Op2Str(pf->op), varr, Res2Str(pres)); return; } static void EvalMathopSigned( tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf) { llong varl; llong varr; struct filter_res res; llong ret; /* grab left hand side */ EvalFilter(ptp,&res,pf->un.binary.left); varl = res.val.longint; /* grab right hand side */ EvalFilter(ptp,&res,pf->un.binary.right); varr = res.val.longint; /* perform the operation */ switch (pf->op) { case OP_PLUS: ret = (varl + varr); break; case OP_MINUS: ret = (varl - varr); break; case OP_TIMES: ret = (varl * varr); break; case OP_DIVIDE: ret = (varl / varr); break; case OP_MOD: ret = (varl % varr); break; case OP_BAND: ret = (varl & varr); break; case OP_BOR: ret = (varl | varr); break; default: { fprintf(stderr,"EvalMathodSigned: unsupported binary op: %d (%s)\n", pf->op, Op2Str(pf->op)); exit(-1); } } /* fill in the answer */ pres->vartype = V_LLONG; pres->val.longint = ret; if (debug) printf("EvalMathopSigned %" FS_LL " %s %" FS_LL " returns %s\n", varl, Op2Str(pf->op), varr, Res2Str(pres)); return; } /* evaluate a leaf-node UNSigned NUMBER */ static void EvalRelopUnsigned( tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf) { u_llong varl; u_llong varr; struct filter_res res; Bool ret; /* grab left hand side */ EvalFilter(ptp,&res,pf->un.binary.left); varl = res.val.u_longint; /* grab right hand side */ EvalFilter(ptp,&res,pf->un.binary.right); varr = res.val.u_longint; /* perform the operation */ switch (pf->op) { case OP_GREATER: ret = (varl > varr); break; case OP_GREATER_EQ: ret = (varl >= varr); break; case OP_LESS: ret = (varl < varr); break; case OP_LESS_EQ: ret = (varl <= varr); break; case OP_EQUAL: ret = (varl == varr); break; case OP_NEQUAL: ret = (varl != varr); break; default: { fprintf(stderr,"EvalUnsigned: unsupported binary op: %d (%s)\n", pf->op, Op2Str(pf->op)); exit(-1); } } /* fill in the answer */ pres->vartype = V_BOOL; pres->val.bool = ret; if (debug) printf("EvalUnsigned %" FS_ULL " %s %" FS_ULL " returns %s\n", varl, Op2Str(pf->op), varr, BOOL2STR(ret)); return; } /* evaluate a leaf-node Signed NUMBER */ static void EvalRelopSigned( tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf) { llong varl; llong varr; struct filter_res res; Bool ret; /* grab left hand side */ EvalFilter(ptp,&res,pf->un.binary.left); varl = res.val.longint; /* grab right hand side */ EvalFilter(ptp,&res,pf->un.binary.right); varr = res.val.longint; switch (pf->op) { case OP_GREATER: ret = (varl > varr); break; case OP_GREATER_EQ: ret = (varl >= varr); break; case OP_LESS: ret = (varl < varr); break; case OP_LESS_EQ: ret = (varl <= varr); break; case OP_EQUAL: ret = (varl == varr); break; case OP_NEQUAL: ret = (varl != varr); break; default: { fprintf(stderr,"EvalSigned: internal error\n"); exit(-1); } } /* fill in the answer */ pres->vartype = V_BOOL; pres->val.bool = ret; if (debug) printf("EvalSigned %" FS_LL " %s %" FS_LL " returns %s\n", varl, Op2Str(pf->op), varr, BOOL2STR(ret)); return; } /* evaluate a leaf-node IPaddress */ static void EvalRelopIpaddr( tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf) { ipaddr *varl; ipaddr *varr; struct filter_res res; int result; Bool ret; /* grab left hand side */ EvalFilter(ptp,&res,pf->un.binary.left); varl = res.val.pipaddr; /* grab right hand side */ EvalFilter(ptp,&res,pf->un.binary.right); varr = res.val.pipaddr; /* compare the 2 addresses */ result = IPcmp(varl,varr); /* always evaluates FALSE unless both same type */ if (result == -2) { if (debug) { printf("EvalIpaddr %s", HostAddr(*varl)); printf("%s fails, different addr types\n", HostAddr(*varr)); } ret = FALSE; } else { switch (pf->op) { case OP_GREATER: ret = (result > 0); break; case OP_GREATER_EQ: ret = (result >= 0); break; case OP_LESS: ret = (result < 0); break; case OP_LESS_EQ: ret = (result <= 0); break; case OP_EQUAL: ret = (result == 0); break; case OP_NEQUAL: ret = (result != 0); break; default: { fprintf(stderr,"EvalIpaddr: internal error\n"); exit(-1); } } } /* fill in the answer */ pres->vartype = V_BOOL; pres->val.bool = ret; if (debug) { printf("EvalIpaddr %s %s", HostAddr(*varl), Op2Str(pf->op)); printf("%s returns %s\n", HostAddr(*varr), BOOL2STR(ret)); } return; } /* evaluate a leaf-node string */ static void EvalRelopString( tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf) { char *varl; char *varr; struct filter_res res; Bool ret; int cmp; /* grab left hand side */ EvalFilter(ptp,&res,pf->un.binary.left); varl = res.val.string; /* grab right hand side */ EvalFilter(ptp,&res,pf->un.binary.right); varr = res.val.string; /* compare the strings */ cmp = strcmp(varl,varr); switch (pf->op) { case OP_GREATER: ret = (cmp > 0); break; case OP_GREATER_EQ: ret = (cmp >= 0); break; case OP_LESS: ret = (cmp < 0); break; case OP_LESS_EQ: ret = (cmp <= 0); break; case OP_EQUAL: ret = (cmp == 0); break; case OP_NEQUAL: ret = (cmp != 0); break; default: { fprintf(stderr,"EvalRelopString: unsupported operating %d (%s)\n", pf->op, Op2Str(pf->op)); exit(-1); } } /* fill in the answer */ pres->vartype = V_BOOL; pres->val.bool = ret; if (debug) printf("EvalString '%s' %s '%s' returns %s\n", varl, Op2Str(pf->op), varr, BOOL2STR(ret)); return; } static void EvalVariable( tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf) { switch (pf->vartype) { case V_CHAR: case V_SHORT: case V_INT: case V_LONG: case V_LLONG: pres->vartype = V_LLONG; pres->val.u_longint = Var2Signed(ptp,pf); break; case V_UCHAR: case V_USHORT: case V_UINT: case V_ULONG: case V_ULLONG: pres->vartype = V_ULLONG; pres->val.longint = Var2Unsigned(ptp,pf); break; case V_STRING: pres->vartype = V_STRING; pres->val.string = Var2String(ptp,pf); break; case V_BOOL: pres->vartype = V_BOOL; pres->val.bool = (Var2Unsigned(ptp,pf) != 0); break; case V_IPADDR: pres->vartype = V_IPADDR; pres->val.pipaddr = Var2Ipaddr(ptp,pf); break; default: fprintf(stderr,"EvalVariable: unknown var type %d (%s)\n", pf->vartype, Vartype2Str(pf->vartype)); exit(-1); } } static void EvalConstant( tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf) { switch (pf->vartype) { case V_CHAR: case V_SHORT: case V_INT: case V_LONG: case V_LLONG: pres->vartype = V_LLONG; pres->val.u_longint = Const2Signed(pf); break; case V_UCHAR: case V_USHORT: case V_UINT: case V_ULONG: case V_ULLONG: pres->vartype = V_LLONG; pres->val.longint = Const2Unsigned(pf); break; case V_STRING: pres->vartype = V_STRING; pres->val.string = pf->un.constant.string; break; case V_BOOL: pres->vartype = V_BOOL; pres->val.bool = (Var2Unsigned(ptp,pf) != 0); break; case V_IPADDR: pres->vartype = V_IPADDR; pres->val.pipaddr = Const2Ipaddr(pf); break; default: fprintf(stderr,"EvalConstant: unknown var type %d (%s)\n", pf->vartype, Vartype2Str(pf->vartype)); } } static void EvalFilter( tcp_pair *ptp, struct filter_res *pres, struct filter_node *pf) { struct filter_res res; if (!pf) { fprintf(stderr,"EvalFilter called with NULL!!!\n"); exit(-1); } /* variables are easy */ if (pf->op == OP_VARIABLE) { EvalVariable(ptp,pres,pf); return; } /* constants are easy */ if (pf->op == OP_CONSTANT) { EvalConstant(ptp,pres,pf); return; } switch (pf->op) { case OP_EQUAL: case OP_NEQUAL: case OP_GREATER: case OP_GREATER_EQ: case OP_LESS: case OP_LESS_EQ: if (pf->un.binary.left->vartype == V_ULLONG) { EvalRelopUnsigned(ptp,&res,pf); pres->vartype = V_BOOL; pres->val.bool = res.val.bool; } else if (pf->un.binary.left->vartype == V_LLONG) { EvalRelopSigned(ptp,&res,pf); pres->vartype = V_BOOL; pres->val.bool = res.val.bool; } else if (pf->un.binary.left->vartype == V_STRING) { EvalRelopString(ptp,&res,pf); pres->vartype = V_LLONG; pres->val.longint = res.val.longint; } else if (pf->un.binary.left->vartype == V_IPADDR) { EvalRelopIpaddr(ptp,&res,pf); pres->vartype = V_BOOL; pres->val.bool = res.val.bool; } else { fprintf(stderr, "EvalFilter: binary op %d (%s) not supported on data type %d (%s)\n", pf->op, Op2Str(pf->op), pf->vartype, Vartype2Str(pf->un.binary.left->vartype)); exit(-1); } break; case OP_PLUS: case OP_MINUS: case OP_TIMES: case OP_DIVIDE: case OP_MOD: case OP_BAND: case OP_BOR: if (pf->un.binary.left->vartype == V_ULLONG) { EvalMathopUnsigned(ptp,&res,pf); pres->vartype = V_ULLONG; pres->val.u_longint = res.val.u_longint; } else if (pf->un.binary.left->vartype == V_LLONG) { EvalMathopSigned(ptp,&res,pf); pres->vartype = V_LLONG; pres->val.longint = res.val.longint; } else { fprintf(stderr, "EvalFilter: binary op %d (%s) not supported on data type %d (%s)\n", pf->op, Op2Str(pf->op), pf->vartype, Vartype2Str(pf->un.binary.left->vartype)); exit(-1); } break; case OP_AND: case OP_OR: if (pf->vartype == V_BOOL) { struct filter_res res1; struct filter_res res2; Bool ret; if (pf->op == OP_OR) { EvalFilter(ptp,&res1,pf->un.binary.left); EvalFilter(ptp,&res2,pf->un.binary.right); ret = res1.val.bool || res2.val.bool; } else { EvalFilter(ptp,&res1,pf->un.binary.left); EvalFilter(ptp,&res2,pf->un.binary.right); ret = res1.val.bool && res2.val.bool; } pres->vartype = V_BOOL; pres->val.bool = ret; } else { fprintf(stderr, "EvalFilter: binary op %d (%s) not supported on data type %d (%s)\n", pf->op, Op2Str(pf->op), pf->vartype, Vartype2Str(pf->un.binary.left->vartype)); exit(-1); } break; case OP_NOT: if (pf->vartype == V_BOOL) { EvalFilter(ptp,&res,pf->un.unary.pf); pres->vartype = V_BOOL; pres->val.bool = !res.val.bool; } else { fprintf(stderr, "EvalFilter: unary operation %d (%s) not supported on data type %d (%s)\n", pf->op, Op2Str(pf->op), pf->vartype, Vartype2Str(pf->vartype)); exit(-1); } break; default: fprintf(stderr, "EvalFilter: operation %d (%s) not supported on data type %d (%s)\n", pf->op,Op2Str(pf->op), pf->vartype,Vartype2Str(pf->vartype)); exit(-1); } if (debug) printf("EvalFilter('%s') returns %s\n", Filter2Str(pf),Res2Str(pres)); return; } Bool PassesFilter( tcp_pair *ptp) { struct filter_res res; Bool ret; /* recurse down the tree */ EvalFilter(ptp,&res,filter_root); ret = res.val.bool; if (debug) printf("PassesFilter('%s<->%s') returns %s\n", ptp->a_endpoint, ptp->b_endpoint, BOOL2STR(ret)); return(ret); } static void HelpFilterVariables(void) { int i; fprintf(stderr,"Filter Variables:\n"); fprintf(stderr," variable name type description\n"); fprintf(stderr," ----------------- -------- -----------------------\n"); for (i=0; i < NUM_FILTERS; ++i) { struct filter_line *pf = &filters[i]; fprintf(stderr," %-17s %-8s %s\n", pf->varname, Vartype2BStr(pf->vartype),pf->descr); } } void HelpFilter(void) { HelpFilterVariables(); fprintf(stderr,"\n\ Filter Syntax:\n\ numbers:\n\ variables:\n\ anything from the above table with a prefix of either 'c_' meaning\n\ the one for the Client or 's_' meaning the value for the Server. If\n\ the prefix is omitted, it means \"either one\" (effectively becoming\n\ \"c_VAR OR s_VAR)\"). As shorthand for a conjunction instead, you can\n\ use the syntax 'b_' (as in b_mss>100), meaning 'B'oth, (effectively\n\ becoming \"c_VAR AND s_VAR)\"). For completeness, 'e_' means 'E'ither,\n\ which is the normal default with no prefix.\n\ constant:\n\ strings: anything in double quotes\n\ booleans: TRUE FALSE\n\ numbers: signed or unsigned constants\n\ arithmetic operations: \n\ any of the operators + - * / %% \n\ performed on 'numbers'. Normal operator precedence\n\ is maintained (or use parens)\n\ relational operators\n\ any of < > = != >= <= applied to 'numbers'\n\ boolean operators\n\ AND, OR, NOT applied to the relational operators above\n\ misc\n\ use parens if you're not sure of the precedence\n\ use parens anyway, you might be smarter than I am! :-)\n\ you'll probably need to put the '-fexpr' expression in single quotes\n\ matched connection numbers are saved in file %s for later processing\n\ with '-o%s' (for graphing, for example). This is helpful, because\n\ all the work is done in one pass of the file, so if you graph while\n\ using a filter, you'll get ALL graphs, not just the ones you want.\n\ Just filter on a first pass, then use the \"-oPF\" flag with graphing\n\ on the second pass\n\ most common synonyms for NOT, AND, and OR also work (!,&&,||,-a,-o)\n\ (for those of us with very poor memories\n\ Examples\n\ tcptrace '-fsegs>10' file\n\ tcptrace '-fc_segs>10 OR s_segs>20 ' file\n\ tcptrace '-f c_segs+10 > s_segs ' file\n\ tcptrace -f'thruput>10000 and segs > 100' file\n\ tcptrace '-fb_segs>10' file\n\ ", PASS_FILTER_FILENAME, PASS_FILTER_FILENAME); } void InstallFilter( struct filter_node *root) { /* result MUST be boolean */ if (root->vartype != V_BOOL) { fprintf(stderr,"Filter expression is not boolean: %s\n", Filter2Str(root)); exit(-1); } filter_root = root; } int filter_getc() { static char *pinput = NULL; int ch; if (pinput == NULL) pinput = exprstr; if (*pinput == '\00') { static int doneyet = 0; if (++doneyet>1) { if (debug > 4) printf("filter_getc() returns EOF\n"); return(EOF); } else { if (debug > 4) printf("filter_getc() returns newline\n"); return('\n'); } } ch = *pinput++; if (debug > 4) printf("filter_getc() returns char '%c'\n", ch); return(ch); } /**************************************************************/ /**************************************************************/ /** **/ /** The following routines are for calculated values **/ /** **/ /**************************************************************/ /**************************************************************/ static u_llong VFuncTput( tcb *ptcb) { tcp_pair *ptp = ptcb->ptp; u_llong tput; double tput_f; double etime; etime = elapsed(ptp->first_time,ptp->last_time); etime /= 1000000.0; /* convert to seconds */ if (etime == 0.0) return(0); tput_f = (double)(ptcb->unique_bytes) / etime; tput = (u_llong)(tput_f+0.5); if (debug) printf("VFuncTput(%s<->%s) = %" FS_ULL "\n", ptcb->ptp->a_endpoint, ptcb->ptp->b_endpoint, tput); return(tput); } u_llong VFuncClntTput( tcp_pair *ptp) { return(VFuncTput(&ptp->a2b)); } u_llong VFuncServTput( tcp_pair *ptp) { return(VFuncTput(&ptp->b2a)); } tcptrace-6.6.7/filter.h0100644001217500001440000001323607756700116014523 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_filter[] = "@(#)$Header: /usr/local/cvs/tcptrace/filter.h,v 5.8 2003/11/19 14:38:06 sdo Exp $"; /* all of the variable types that we understand */ enum vartype { V_ULONG = 1, V_LONG = 2, V_UINT = 3, V_INT = 4, V_USHORT = 5, V_SHORT = 6, V_UCHAR = 7, V_CHAR = 8, V_BOOL = 9, V_STRING = 10, V_ULLONG = 11, V_LLONG = 12, V_IPADDR = 13, /* functions */ V_FUNC =14, /* function returning unsigned */ V_UFUNC =15 /* function returning signed */ }; /* all of the operations that we understand */ enum optype { /* just a constant */ OP_CONSTANT = 101, /* a variable */ OP_VARIABLE = 102, /* BINARY OPs */ OP_AND = 103, OP_OR = 104, OP_EQUAL = 105, OP_NEQUAL = 106, OP_GREATER = 107, OP_GREATER_EQ = 108, OP_LESS = 109, OP_LESS_EQ = 110, /* Unary OPs */ OP_NOT = 111, OP_SIGNED = 112, /* convert unsigned to signed */ /* binary arithmetic */ OP_PLUS = 113, OP_MINUS = 114, OP_TIMES = 115, OP_DIVIDE = 116, OP_MOD = 117, /* bitwise arithmetic */ OP_BAND = 118, OP_BOR = 119 }; /* Constant -- just a big union based on the type */ union Constant { u_llong u_longint; llong longint; Bool bool; char *string; ipaddr *pipaddr; }; /* Variable - keep the name and offset within a tcp_pair */ struct Variable { char *name; u_long offset; Bool fclient; /* from the client or server side? */ enum vartype realtype; }; /* Binary - binary operation */ struct Binary { struct filter_node *left; struct filter_node *right; }; /* Unary - unary operations */ struct Unary { struct filter_node *pf; }; struct filter_node { enum optype op; /* node type */ enum vartype vartype; /* type of the result */ union { struct Unary unary; struct Binary binary; struct Variable variable; union Constant constant; } un; Bool conjunction; struct filter_node *next_var; /* for wildcard variable matches */ }; /* the result of executing a filter node */ struct filter_res { enum vartype vartype; union Constant val; }; /* just a big table of things that we can filter on */ struct filter_line { char *varname; /* name of the variable to match */ enum vartype vartype; /* type of the variable */ void *cl_addr; /* address when in client */ void *sv_addr; /* address when in server */ char *descr; /* brief description */ }; /* filter globals */ extern int filtyydebug; /* externals */ int filtyylex(void); int filtyyparse(void); void filtyyerror(char *error_string, ...); void InstallFilter(struct filter_node *root); int filter_getc(); void PrintFilter(struct filter_node *pn); char *Filter2Str(struct filter_node *pn); struct filter_node *MakeUnaryNode(enum optype op, struct filter_node *pf); struct filter_node *MakeBinaryNode(enum optype op, struct filter_node *pf_left, struct filter_node *pf_right); struct filter_node *MakeVarNode(char *varname); struct filter_node *MakeStringConstNode(char *val); struct filter_node *MakeBoolConstNode(Bool val); struct filter_node *MakeSignedConstNode(llong val); struct filter_node *MakeUnsignedConstNode(u_llong val); struct filter_node *MakeIPaddrConstNode(ipaddr *pipaddr); /* functions for calculated values */ u_llong VFuncClntTput(tcp_pair *ptp); u_llong VFuncServTput(tcp_pair *ptp); tcptrace-6.6.7/filter_vars.h0100644001217500001440000001774407756700117015567 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_filter_vars[] = "@(#)$Header: /usr/local/cvs/tcptrace/filter_vars.h,v 5.11 2003/11/19 14:38:07 sdo Exp $"; /* just a big table of things that we can filter on */ static tcp_pair ptp_dummy; #define PTCB_C_S(field) &ptp_dummy.a2b.field,&ptp_dummy.b2a.field #define PTP(a,b) &ptp_dummy.a,&ptp_dummy.b #define PTPA(a,b) &ptp_dummy.addr_pair.a,&ptp_dummy.addr_pair.b struct filter_line filters[] = { {"hostname", V_STRING, PTP(a_hostname,b_hostname),"FQDN host name (unless -n)"}, {"portname", V_STRING, PTP(a_portname,b_portname),"service name of the port (unless -n)"}, {"port", V_USHORT, PTPA(a_port,b_port),"port NUMBER"}, {"mss", V_INT, PTCB_C_S(mss),"maximum segment size"}, {"f1323_ws", V_BOOL, PTCB_C_S(f1323_ws),"1323 window scaling requested"}, {"f1323_ts", V_BOOL, PTCB_C_S(f1323_ts),"1323 time stampts requested"}, {"fsack_req", V_BOOL, PTCB_C_S(fsack_req),"SACKs requested"}, {"window_scale", V_BOOL, PTCB_C_S(window_scale),"window scale factor"}, {"bad_behavior", V_BOOL, PTCB_C_S(bad_behavior),"bad TCP behavior"}, {"data_bytes", V_ULLONG, PTCB_C_S(data_bytes),"bytes of data"}, {"data_segs", V_ULLONG, PTCB_C_S(data_pkts),"segments of data"}, {"data_segs_push", V_ULLONG, PTCB_C_S(data_pkts_push),"segments with PUSH set"}, {"unique_bytes", V_ULLONG, PTCB_C_S(unique_bytes),"non-retransmitted bytes"}, {"rexmit_bytes", V_ULLONG, PTCB_C_S(rexmit_bytes),"retransmitted bytes"}, {"rexmit_segs", V_ULLONG, PTCB_C_S(rexmit_pkts),"segments w/ retransmitted data"}, {"ack_segs", V_ULLONG, PTCB_C_S(ack_pkts),"segments containing ACK"}, {"pureack_segs", V_ULLONG, PTCB_C_S(pureack_pkts),"segments containing PURE ACK (no data/syn/fin/reset)"}, {"win_max", V_ULONG, PTCB_C_S(win_max),"MAX window advertisement"}, {"win_min", V_ULONG, PTCB_C_S(win_min),"MIN window advertisement"}, {"win_zero_ct", V_ULONG, PTCB_C_S(win_zero_ct),"number of ZERO windows advertised"}, {"min_seq", V_ULONG, PTCB_C_S(min_seq),"smallest sequence number"}, {"max_seq", V_ULONG, PTCB_C_S(max_seq),"largest sequence number"}, {"num_sacks", V_ULONG, PTCB_C_S(num_sacks),"number of ACKs carrying SACKs"}, {"max_sacks", V_ULONG, PTCB_C_S(max_sack_blocks),"most SACK blocks in a single ACK"}, /* synonyms */ {"segs", V_ULLONG, PTCB_C_S(packets),"total segments"}, {"packets", V_ULLONG, PTCB_C_S(packets),"total segments"}, {"syn_count", V_UCHAR, PTCB_C_S(syn_count),"SYNs sent"}, {"fin_count", V_UCHAR, PTCB_C_S(fin_count),"FINs sent"}, {"reset_count", V_UCHAR, PTCB_C_S(reset_count),"RESETs sent"}, {"min_seg_size", V_ULONG, PTCB_C_S(min_seg_size),"smallest amount of data in a segment (not 0)"}, {"max_seg_size", V_ULONG, PTCB_C_S(max_seg_size),"largest amount of data in a segment"}, {"out_order_segs", V_ULLONG, PTCB_C_S(out_order_pkts),"out of order segments"}, {"sacks_sent", V_ULLONG, PTCB_C_S(sacks_sent),"SACKs sent"}, {"ipv6_segs", V_ULONG, PTCB_C_S(ipv6_segments),"number of IPv6 segments sent"}, {"max_idle", V_ULLONG, PTCB_C_S(idle_max),"maximum idle time (usecs)"}, {"num_hw_dups", V_ULONG, PTCB_C_S(num_hardware_dups),"number of hardware-level duplicates"}, {"initwin_bytes", V_ULONG, PTCB_C_S(initialwin_bytes),"number of bytes in initial window"}, {"initwin_segs", V_ULONG, PTCB_C_S(initialwin_segs),"number of segments in initial window"}, {"rtt_min", V_ULONG, PTCB_C_S(rtt_min), "MIN round trip time (usecs)"}, {"rtt_max", V_ULONG, PTCB_C_S(rtt_max), "MAX round trip time (usecs)"}, {"rtt_count", V_ULONG, PTCB_C_S(rtt_count), "number of RTT samples"}, {"rtt_min_last", V_ULONG, PTCB_C_S(rtt_min_last), "MIN round trip time (usecs) (from last rexmit)"}, {"rtt_max_last", V_ULONG, PTCB_C_S(rtt_max_last), "MAX round trip time (usecs) (from last rexmit)"}, {"rtt_count_last", V_ULONG, PTCB_C_S(rtt_count_last), "number of RTT samples (from last rexmit)"}, {"rtt_amback", V_ULLONG, PTCB_C_S(rtt_amback), "number of ambiguous ACKs"}, {"rtt_cumack", V_ULLONG, PTCB_C_S(rtt_cumack), "number of cumulative ACKs"}, {"rtt_unkack", V_ULLONG, PTCB_C_S(rtt_unkack), "number of unknown ACKs"}, {"rtt_dupack", V_ULLONG, PTCB_C_S(rtt_dupack), "number of duplicate ACKs"}, {"rtt_nosample", V_ULLONG, PTCB_C_S(rtt_nosample), "ACKs that generate no valid RTT sample"}, {"rtt_triple_dupack", V_ULLONG, PTCB_C_S(rtt_triple_dupack), "number of triple duplicate ACKs (fast rexmit)"}, {"retr_max", V_ULONG, PTCB_C_S(retr_max), "MAX rexmits of a single segment"}, {"retr_min_tm", V_ULONG, PTCB_C_S(retr_min_tm), "MIN time until rexmit (usecs)"}, {"retr_max_tm", V_ULONG, PTCB_C_S(retr_max_tm), "MAX time until rexmit (usecs)"}, {"trunc_bytes", V_ULLONG, PTCB_C_S(trunc_bytes), "number of bytes not in the file"}, {"trunc_segs", V_ULLONG, PTCB_C_S(trunc_segs), "number of segments not in the file"}, {"num_zwnd_probes", V_ULONG, PTCB_C_S(num_zwnd_probes), "number of zero window probes"}, {"zwnd_probe_bytes", V_ULONG, PTCB_C_S(zwnd_probe_bytes), "number of window probe bytes"}, {"urg_data_pkts", V_ULONG, PTCB_C_S(urg_data_pkts), "Number of packets with URGENT bit set"}, {"urg_data_bytes", V_ULONG, PTCB_C_S(urg_data_bytes), "Number of bytes of urgent data"}, /* HOST IP addresses */ {"hostaddr", V_IPADDR, PTP(addr_pair.a_address, addr_pair.b_address), "IP Address (v4 or v6 in standard textual notation"}, /* computed functions */ /* throughput in bytes/second - 0 for infinite or none */ {"thruput", V_UFUNC, (void *)&VFuncClntTput, (void *)&VFuncServTput, "thruput (bytes/sec)"}, }; #define NUM_FILTERS (sizeof(filters)/sizeof(struct filter_line)) tcptrace-6.6.7/gcache.c0100644001217500001440000005106007756700112014434 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/gcache.c,v 5.7 2003/11/19 14:38:02 sdo Exp $"; /* * gcache.c - generalized cacheing routines */ #include #include "gcache.h" /* Let's use ANSI C rather than old BSD calls... */ #ifndef bzero #define bzero(ptr,nbytes) memset(ptr,0,nbytes) #endif #ifndef bcopy #define bcopy(from_ptr,to_ptr,nbytes) memcpy(to_ptr,from_ptr,nbytes) #endif static int ca_enabled; /* control block for a single cache */ enum cb_status { CB_INUSE=1, CB_FREE=2}; typedef enum cb_status cb_status; struct cacheblk { cb_status cb_status; /* INUSE or FREE */ char cb_name[CA_NAMELEN]; /* name of the cache */ u_short cb_maxent; /* maximum entries */ u_short cb_nument; /* number of entries */ u_short cb_hashsize; /* size of hash table */ u_int cb_maxlife; /* max life of an entry (secs) */ struct cacheentry *cb_cache; /* free nodes for the cache */ struct hashentry *cb_hash; /* the hash table */ tceix cb_freelist; /* list of free cacheentries */ /* statistics variables, mostly for debugging */ u_int cb_lookups; /* # lookups */ u_int cb_hits; /* # hits */ u_int cb_tos; /* # timed out entries */ u_int cb_fulls; /* # removed, full table */ }; /* a single node in the hash table */ struct hashentry { tceix he_ix; }; #define NULL_PHE ((struct hashentry *) 0) #define NULL_IX 0 /* a cached item in the hash list */ enum ce_status {CE_INUSE=11, CE_FREE=12}; typedef enum ce_status ce_status; struct cacheentry { ce_status ce_status; /* INUSE or FREE */ char *ce_keyptr; /* pointer to the key */ tcelen ce_keylen; /* length of the key */ char *ce_resptr; /* pointer to the result */ tcelen ce_reslen; /* length of the result */ thval ce_hash; /* value that was hashed in */ ttstamp ce_tsinsert; /* timestamp - time inserted */ ttstamp ce_tsaccess; /* timestamp - last access */ tceix ce_prev; /* next entry on list */ tceix ce_next; /* prev entry on list */ }; #define NULL_PCE ((struct cacheentry *) 0) /* locally global information */ static struct cacheblk catab[CA_NUMCACHES]; /* useful macros */ #define ISBADCID(cid) ((cid < 0) || (cid > CA_NUMCACHES) || \ (catab[cid].cb_status != CB_INUSE)) #define HASHTOIX(hash,pcb) ((hash) % (pcb->cb_hashsize)) /* debugging hooks */ static int docadebug = 0; static int docaerror = 1; #define CADEBUG if (docadebug) fprintf #define CAERROR if (docaerror) fprintf /* local routines defns */ static char *cagetmem(u_int); static void cadeleteold(struct cacheblk *); static void caclear(struct cacheblk *, tceix); static void cafreemem(void *, u_int); static tceix cagetfree(struct cacheblk *); static tceix cagetindex(struct cacheblk *, char *, tcelen, thval); static thval cahash(char *, tcelen); static int caisold(struct cacheblk *, struct cacheentry *); static void casetsize(struct cacheblk *, int); static void caunlink(struct cacheblk *, tceix); /*************************************************************************/ /** **/ /** GLOBAL ROUTINES **/ /** **/ /*************************************************************************/ /* * ==================================================================== * cainit - initialize the caching tables * ==================================================================== */ int cainit(void) { struct cacheblk *pcb; int cid; for (cid=0; cid < CA_NUMCACHES; ++cid) { pcb = &catab[cid]; bzero(pcb,sizeof(struct cacheblk)); pcb->cb_status = CB_FREE; } ca_enabled = TRUE; return(OK); } /* * ==================================================================== * cacreate - create a new cache * ==================================================================== */ int cacreate( char *name, int nentries, int lifetime) { int cid; tceix ix; struct cacheblk *pcb; struct cacheentry *pce; /* check config limits */ if (nentries >= CA_MAXENTRIES) { CAERROR(stderr,"cacreate(%s,%d,%d): SYSERR, nentries > max (%d)\n", name, nentries, lifetime, CA_MAXENTRIES); return(SYSERR); } for (cid=0; cid < CA_NUMCACHES; ++cid) { pcb = &catab[cid]; if (pcb->cb_status == CB_FREE) break; } if (cid == CA_NUMCACHES) { CAERROR(stderr,"cacreate(%s,%d,%d): SYSERR, no more caches\n", name, nentries, lifetime); return(SYSERR); } bzero(pcb, sizeof(struct cacheblk)); pcb->cb_status = CB_INUSE; #ifdef linux #ifdef strncpy /* stupid Linux (redhat?) bug in macro */ #undef strncpy #endif /* strncpy */ #endif /* linux */ strncpy(pcb->cb_name,name,CA_NAMELEN); pcb->cb_name[CA_NAMELEN-1] = '\00'; pcb->cb_maxent = nentries; casetsize(pcb,nentries); pcb->cb_maxlife = lifetime; /* allocate the cache entries */ /* (0 is reserved as a null pointer, so we allocate from 0 */ /* to maxent, rather than maxent-1) */ pcb->cb_cache = (struct cacheentry *) cagetmem((1+pcb->cb_maxent) * sizeof(struct cacheentry)); bzero(pcb->cb_cache, (1+pcb->cb_maxent) * sizeof(struct cacheentry)); /* put them all on the free list (only forward pointers) */ for (ix=1; ix <= pcb->cb_maxent; ++ix) { pce = &pcb->cb_cache[ix]; pce->ce_status = CE_FREE; pce->ce_next = ix+1; } pcb->cb_cache[pcb->cb_maxent].ce_next = NULL_IX; pcb->cb_freelist = 1; /* allocate the hash table */ pcb->cb_hash = (struct hashentry *) cagetmem(pcb->cb_hashsize * sizeof(struct hashentry)); for (ix=0; ix < pcb->cb_hashsize; ++ix) { pcb->cb_hash[ix].he_ix = NULL_IX; } CADEBUG(stderr,"cacreate(%s,%d,%d) returns cache %d\n", name, nentries, lifetime, cid); return(cid); } /* * ==================================================================== * cadestroy - destroy an existing cache * ==================================================================== */ int cadestroy( int cid) { struct cacheblk *pcb; if (ISBADCID(cid)) { CAERROR(stderr,"cadestroy(%d,...) cid is bad\n", cid); return(SYSERR); } pcb = &catab[cid]; /* free up all the entries */ (void) capurge(cid); /* free up the hash table */ cafreemem(pcb->cb_hash, pcb->cb_hashsize * sizeof(struct hashentry)); /* free up the cached blocks */ cafreemem(pcb->cb_cache, (1+pcb->cb_maxent) * sizeof(struct cacheentry)); /* zero out the table */ bzero(pcb,sizeof(struct cacheblk)); pcb->cb_status = CB_FREE; return(OK); } /* * ==================================================================== * cainsert - insert a new entry into an existing cache * ==================================================================== */ int cainsert( int cid, char *pkey, tcelen keylen, char *pres, tcelen reslen) { struct cacheblk *pcb; struct cacheentry *pce; struct hashentry *phe; thval hash; tceix ixnew; /* check argument validity */ if (ISBADCID(cid)) { CAERROR(stderr,"cainsert(%d,...) cid is bad\n", cid); return(SYSERR); } if ((keylen > CA_MAXKEY) || (reslen > CA_MAXRES)) { CAERROR(stderr,"cainsert: SYSERR, key or result too large\n"); return(SYSERR); } if (!ca_enabled) return(OK); pcb = &catab[cid]; hash = cahash(pkey,keylen); phe = &pcb->cb_hash[HASHTOIX(hash,pcb)]; if ((ixnew = cagetindex(pcb,pkey,keylen,hash)) != NULL_IX) { /* use the old one */ caclear(pcb,ixnew); pce = &pcb->cb_cache[ixnew]; CADEBUG(stderr,"cainsert(%d): reusing cache slot %d, nument:%d\n", cid, ixnew, pcb->cb_nument); } else { /* get a free cacheentry */ ixnew = cagetfree(pcb); pce = &pcb->cb_cache[ixnew]; /* ... and put it at the head of the list */ pce->ce_prev = 0; pce->ce_next = phe->he_ix; pcb->cb_cache[phe->he_ix].ce_prev = ixnew; phe->he_ix = ixnew; CADEBUG(stderr,"cainsert(%d): using new cache slot %d, nument:%d\n", cid, ixnew, pcb->cb_nument); } pce->ce_status = CE_INUSE; pce->ce_hash = hash; pce->ce_keyptr = cagetmem(keylen); pce->ce_keylen = keylen; bcopy(pkey,pce->ce_keyptr,(int)keylen); pce->ce_resptr = cagetmem(reslen); pce->ce_reslen = reslen; bcopy(pres,pce->ce_resptr,(int)reslen); time(&pce->ce_tsinsert); pce->ce_tsaccess = pce->ce_tsinsert; return(OK); } /* * ==================================================================== * calookup - find an entry in the cache given the key, return info * ==================================================================== */ int calookup( int cid, char *pkey, tcelen keylen, char *pres, tcelen *preslen) { struct cacheblk *pcb; struct cacheentry *pce; thval hash; tceix ix; if (ISBADCID(cid)) { CAERROR(stderr,"calookup(%d,...) cid is bad\n", cid); return(SYSERR); } if (!ca_enabled) return(SYSERR); pcb = &catab[cid]; hash = cahash(pkey,keylen); if ((ix = cagetindex(pcb,pkey,keylen,hash)) != NULL_IX) { pce = &pcb->cb_cache[ix]; if (pce->ce_reslen <= *preslen) { time(&pce->ce_tsaccess); bcopy(pce->ce_resptr,pres,(int)pce->ce_reslen); *preslen = pce->ce_reslen; return(OK); } } return(SYSERR); } /* * ==================================================================== * caremove - remove an entry from the cache if it exists * ==================================================================== */ int caremove( int cid, char *pkey, tcelen keylen) { struct cacheblk *pcb; unsigned hash; tceix ix; if (ISBADCID(cid)) { CAERROR(stderr,"caremove(%d,...) cid is bad\n", cid); return(SYSERR); } pcb = &catab[cid]; hash = cahash(pkey,keylen); if ((ix = cagetindex(pcb,pkey,keylen,hash)) != NULL_IX) { CADEBUG(stderr,"caremove(%d): killing entry in slot %d:\n", cid, ix); caunlink(pcb,ix); } return(OK); } /* * ==================================================================== * capurge - remove all entries in an existing cache * ==================================================================== */ int capurge( int cid) { struct cacheblk *pcb; struct cacheentry *pce; struct hashentry *phe; tceix ix; if (ISBADCID(cid)) { CAERROR(stderr,"capurge(%d,...) cid is bad\n", cid); return(SYSERR); } pcb = &catab[cid]; /* free all cached entries */ for (ix=1; ix <= pcb->cb_maxent; ++ix) { pce = &pcb->cb_cache[ix]; if (pce->ce_status == CE_INUSE) caunlink(pcb,ix); pce->ce_status = CE_FREE; } /* clear the hash table */ for (ix=0; ix < pcb->cb_hashsize; ++ix) { phe = &pcb->cb_hash[ix]; bzero(phe,sizeof(struct hashentry)); phe->he_ix = NULL_IX; } pcb->cb_nument = 0; return(OK); } /* * ==================================================================== * cadump - dump contents of the cache structures * ==================================================================== */ void cadump(void) { int cid; int purge; int zero; struct cacheblk *pcb; purge = zero = FALSE; fprintf(stderr,"\nmaxcaches: %d (caching %sabled)\n", CA_NUMCACHES, ca_enabled?"en":"DIS"); fprintf(stderr,"\ ix name maxent nument htsize life tos full finds hits hit%%\n"); fprintf(stderr,"\ == =============== ====== ====== ====== ==== ==== ==== ====== ====== ====\n"); for (cid=0; cid < CA_NUMCACHES; ++cid) { pcb = &catab[cid]; if (pcb->cb_status == CB_FREE) continue; if (purge) capurge(cid); if (zero) { pcb->cb_tos = 0; pcb->cb_fulls = 0; pcb->cb_lookups = 0; pcb->cb_hits = 0; } fprintf(stderr,"%2d %-15s %6d %6d %6d %4d %4d %4d %6d %6d %3d%%", cid, pcb->cb_name, pcb->cb_maxent, pcb->cb_nument, pcb->cb_hashsize, pcb->cb_maxlife, pcb->cb_tos, pcb->cb_fulls, pcb->cb_lookups, pcb->cb_hits, (pcb->cb_lookups)? ((100 * pcb->cb_hits) / pcb->cb_lookups):0); fprintf(stderr,"\n"); } } /*************************************************************************/ /** **/ /** LOCAL FUNCTIONS **/ /** **/ /*************************************************************************/ /* * ==================================================================== * cahash - return the hash value for a key * ==================================================================== */ static thval cahash( char *pkey, tcelen keylen) { int i; thval hval; hval = 0; for (i=0; i < keylen; ++i) hval += *pkey++; return(hval); } /* try to reduce fragmentation */ #define CAMEMSIZE(nb) ((unsigned) (((nb) + 31) & ~31)) /* * ==================================================================== * cagetmem - get memory for a cached entry * ==================================================================== */ static char * cagetmem( u_int nbytes) { char *ret; ret = malloc(CAMEMSIZE(nbytes)); if (!ret) { perror("cagetmem malloc"); exit(-1); } return(ret); } /* * ==================================================================== * cafreemem - free memory from a cached entry * ==================================================================== */ static void cafreemem( void *ptr, u_int nbytes) { free(ptr); } /* * ==================================================================== * cadeleteold - delete the "oldest" cached entry * ==================================================================== */ static void cadeleteold( struct cacheblk *pcb) { struct cacheentry *pce; unsigned oldtime; tceix oldix; tceix ix; /* check everyone against the first entry */ oldix = 1; pce = &pcb->cb_cache[oldix]; oldtime = pce->ce_tsaccess; for (ix=2; ix <= pcb->cb_maxent; ++ix) { pce = &pcb->cb_cache[ix]; if ((pce->ce_status == CE_INUSE) && (pce->ce_tsaccess < oldtime)) { oldix = ix; oldtime = pce->ce_tsaccess; } } /* nuke the oldest one */ pce = &pcb->cb_cache[oldix]; caunlink(pcb,oldix); return; } /* * ==================================================================== * caclear - clear out the given entry, set status to FREE * ==================================================================== */ static void caclear( struct cacheblk *pcb, tceix ix) { struct cacheentry *pce; pce = &pcb->cb_cache[ix]; if (pce->ce_keyptr) cafreemem(pce->ce_keyptr,pce->ce_keylen); if (pce->ce_resptr) cafreemem(pce->ce_resptr,pce->ce_reslen); bzero(pce,sizeof(struct cacheentry)); pce->ce_status = CE_FREE; } /* * ==================================================================== * caisold - return TRUE if the given entry is "too old" * ==================================================================== */ static int caisold( struct cacheblk *pcb, struct cacheentry *pce) { time_t now; if (pcb->cb_maxlife == 0) return(FALSE); time(&now); return ((now - pce->ce_tsaccess) > pcb->cb_maxlife); } /* * ==================================================================== * cagetindex - return the index of a matching entry, or SYSERR * ==================================================================== */ static tceix cagetindex( struct cacheblk *pcb, char *pkey, tcelen keylen, thval hashval) { struct cacheentry *pce; tceix ix; tceix nextix; ++pcb->cb_lookups; ix = pcb->cb_hash[HASHTOIX(hashval,pcb)].he_ix; while (ix != NULL_IX) { pce = &pcb->cb_cache[ix]; nextix = pce->ce_next; CADEBUG(stderr,"cagetindex[%d]: ", ix); if ((pce->ce_hash == hashval) && (pce->ce_keylen == keylen) && (memcmp((void *)pkey,(void *)pce->ce_keyptr,(int) keylen) == 0)) { /* this is a match */ ++pcb->cb_hits; if (caisold(pcb,pce)) { ++pcb->cb_tos; CADEBUG(stderr,"OLD\n"); caunlink(pcb,ix); return(NULL_IX); } else { CADEBUG(stderr,"YES\n"); return(ix); } } CADEBUG(stderr,"NO (%d!=%d, %d!=%d)\n", pce->ce_hash, hashval, pce->ce_keylen, keylen); ix = nextix; } return(NULL_IX); } /* * ==================================================================== * casetsize - set the hash table size * ==================================================================== */ static void casetsize( struct cacheblk *pcb, int nentries) { if (nentries <= 10) pcb->cb_hashsize = 13; else if (nentries <= 25) pcb->cb_hashsize = 29; else if (nentries <= 50) pcb->cb_hashsize = 53; else if (nentries <= 100) pcb->cb_hashsize = 101; else if (nentries <= 200) pcb->cb_hashsize = 213; else /* pcb->cb_hashsize = nentries * 1.25;*/ /* avoid the floating point */ pcb->cb_hashsize = (nentries * 5) >> 2; /* 5 >> 2 == 5 / 4 == 1.25 */ return; } /* * ==================================================================== * cagetfree - return the index of an unused pce. If there aren't any * left, delete an old one and return it. * ==================================================================== */ static tceix cagetfree( struct cacheblk *pcb) { struct cacheentry *pce; tceix ix; /* if the free list is empty, delete the oldest entry */ if (pcb->cb_freelist == NULL_IX) { CADEBUG(stderr,"cagetfree: cache full, deleting old entry, nument:%d\n", pcb->cb_nument); cadeleteold(pcb); ++pcb->cb_fulls; } /* remove the head of the list */ ix = pcb->cb_freelist; pce = &pcb->cb_cache[ix]; pcb->cb_freelist = pce->ce_next; ++pcb->cb_nument; CADEBUG(stderr,"cagetfree: returning slot %d\n", ix); return(ix); } /* * ==================================================================== * caunlink - remove a cached entry from a list (and erase it) * return it to the free list * ==================================================================== */ static void caunlink( struct cacheblk *pcb, tceix ix) { struct cacheentry *pce; struct hashentry *phe; thval hash; pce = &pcb->cb_cache[ix]; hash = pce->ce_hash; phe = &pcb->cb_hash[HASHTOIX(hash,pcb)]; if (pce->ce_prev == NULL_IX) phe->he_ix = pce->ce_next; else pcb->cb_cache[pce->ce_prev].ce_next = pce->ce_next; pcb->cb_cache[pce->ce_next].ce_prev = pce->ce_prev; caclear(pcb,ix); /* return it to the free list */ pce->ce_next = pcb->cb_freelist; pcb->cb_freelist = ix; --pcb->cb_nument; } tcptrace-6.6.7/gcache.h0100644001217500001440000000671507756700117014455 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_gcache[] = "@(#)$Header: /usr/local/cvs/tcptrace/gcache.h,v 5.4 2003/11/19 14:38:07 sdo Exp $"; /* gcache.h -- a general purpose caching mechanism */ /* types used throughout */ typedef u_short tcelen; /* length of a cached entry */ typedef u_short tceix; /* index of a cached entry */ typedef u_int thval; /* type of the hashed value of a key */ typedef time_t ttstamp; /* type of a timestamp */ /* configuration constants */ #define CA_MAXENTRIES 255 /* max entries in a single cache */ #define CA_MAXKEY 500 /* max size of a key */ #define CA_MAXRES 500 /* max size of a result */ #define CA_NAMELEN 15 /* max length of the name of a cache */ #define CA_NUMCACHES 10 /* max caches in the system */ #define BADCID -1 #define ISBADCACHE(cid) ((cid < 0) || (cid > CA_NUMCACHES)) /* definition of the interface routines */ int cacreate(char *, int, int); int cadestroy(int); int cainsert(int, char *, tcelen, char *, tcelen); int calookup(int, char *, tcelen, char *, tcelen *); int capurge(int); int caremove(int, char *, tcelen); void cadump(void); int cainit(void); /* common defines */ #define TRUE 1 #define FALSE 0 #define OK 0 #define SYSERR -1 tcptrace-6.6.7/includes_vms.tlb0100755001217500001440000014350607504527572016276 0ustar mramadasusers% Librarian A09-22bm%.!um%bc  (]Q BPFZENDIAN *IF_ETHER IN_SYSTM#<IPFPCAP:TCP4UDP |em%/*D * *****************************************************************D * * *D * * Copyright Compaq Computer Corporation, 2000 *D * * *D * * The software contained on this media is proprietary to *D * * and embodies the confidential technology of Compaq *D * * Computer Corporation. Possession, use, duplication o r *D * * dissemination of the software and media is authorized only *D * * pursuant to a valid written license from Compaq Computer *D * * Corporation. *D * * *D * * RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure *D * * by the U.S. Government is subject to restrictions as set *D * * forth in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, *D * * or in FAR 52.227-19, as applicable. *D * * *D * ***************************************************************** *//* * HISTORY *//* W * @(#)$RCSfile: includes_vms.tlb,v $ $Revision: 5.1 $ (DEC) $Date: 2002/06/21 04:45:46 $ */ /* *//*5 * (c) Copyright 1990, OPEN SOFTWARE FOUNDATION, INC. * ALL RIGHTS RESERVED *//* * OSF/1 Release 1.0 *//*D * Copyright (c) 1982, 1986 Regents of  the University of California. * All rights reserved. *K * Redistribution and use in source and binary forms are permitted providedI * that: (1) source distributions retain this entire copyright notice andJ * comment, and (2) distributions including binaries display the followingF * acknowledgement: ``This product includes software developed by theC * University of California, Berkeley and its contributors'' in theI * documentation or other materials provided with the distribution and i nI * all advertising materials mentioning features or use of this software.K * Neither the name of the University nor the names of its contributors mayL * be used to endorse or promote products derived from this software without% * specific prior written permission.I * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIEDG * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF8 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** * Base: in_systm.h 7.3 (Berkeley) 6/29/88, * Merged: in_systm.h 7.4 (Berkeley) 6/28/90 */#ifndef _NETINET_IN_SYSTM_H#define _NETINET_IN_SYSTM_H/* * Miscellaneous internetwork! * definitions for include files. */#include #include /* * Network types. *E * Internally the system keeps counters in the headers with the bytesG * in native byte order so that machine instructions will work on them.J * It reverses the bytes if necessary before transmission at each protocolL * level. The n_ types represent the types with the bytes in ``high-ender'' * (big endian) order. */>typedef u_short n_short; /* short as received from the net */Ktypedef u_int n_long; /* long as received from the net */@typedef u_int n_time; /* ms since 00:00 GMT, net byte order */#ifdef _KERNEL9#include "netinet/proto_inet.h" /* Function prototypes */#if MACH:#include /* Dynamic config requires dependency */#endif/*F * Global configuration parameters for Internet. With the exception ofC * INETPRINTFS, these control the default value of kernel variablesG * settable by the system administrator. These variables are int's with, * the names of the #defines, in lower case. */</* GATEWAY turns on IP forwarding and expands ARP tables. */#ifdef GATEWAY#define IPFORWARDING 1#define IPGATEWAY 1#else#define IPFORWARDING 0#define IPGATEWAY 0#endif5/* DIRECTED_BROADCAST makes broadcast addresses match& * only for their proper interface. */#ifdef DIRECTED_BROADCAST#define IPDIRECTED_BROADCAST 1#else#define IPDIRECTED_BROADCAST 0#endif=/* SUBNETSARELOCAL makes subnets appear as directly connected* * for the purpose of max segsize, etc. */#ifndef SUBNETSARELOCAL#define SUBNETSARELOCAL 1#endif?/* TCP_COMPAT_42 makes TCP adjust initial send sequence numbers2 * and keepalives to make 4.2-based systems happy. */#ifndef TCP_COMPAT_42#define TCP_COMPAT_42 1#endif</* IPSENDREDIRECTS enables the sending of ICMP redirects. */#ifndef IPSENDREDIRECTS#define IPSENDREDIRECTS 1#endifH/* INETPRINTFS enables printfs for various errors and/or information. */#ifndef INETPRINTFS#define INETPRINTFS DEBUG#endif#endif /* #ifdef _KERNEL */)#endif /* #ifndef _NETINET_IN_SYSTM_H */ww,gm%/*D * *****************************************************************D * * *D * * Copyright Compaq Computer Corporation, 2000 *D * * *D * * The software contained on this media is proprietary to *D * * and embodies the confidential technology of Compaq *D * * Computer Corporation. Possession, use, duplication or *D * * dissemination of the software and media is authorized only *D * * pursuant to a valid written license from Compaq Computer *D * * Corporation. *D * * *D * * RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure *D * * by the U.S. Government is subject to restrictions as set *D * * forth in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, *D * * or in FAR 52.227-19, as applicable. *D * * *D * ***************************************************************** *//* * HISTORY *//* + * "@(#)endian.h 9.1 (ULTRIX/OSF) 10/21/91" */ /*D * *****************************************************************D * * *D * * Copyright Compaq Computer Corporation, 2000 *D * * *D * * The software contained on this media is proprietary to *D * * and embodies the confidential technology of Compaq *D * * Computer Corporation. Possession, use, duplication or *D * * dissemination of the software and media is authorized only *D * * pursuant to a valid written license from Compaq Computer *D * * Corporation. *D * * *D * * RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure *D * * by the U.S. Government is subject to re strictions as set *D * * forth in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, *D * * or in FAR 52.227-19, as applicable. *D * * *D * ***************************************************************** */I/************************************************************************) * Modification History: alpha/endian.h * * 28-May-91 afd* * Created this file for Alpha/OSF support *J ************************************************************************/#ifndef _MACHINE_ENDIAN_H_#define _MACHINE_ENDIAN_H_#ifdef __cplusplus extern "C" {#endif>#if !defined (_XOPEN_SOURCE_EXTENDED) || defined (_OSF_SOURCE)/* * Definitions for byte order,; * according to byte significance from low address to high. */C#define LITTLE_ENDIAN 1234 /* least-significant byte first (vax) */D#define BIG_ENDIAN 4321 /* most-significant byte first (IBM, net) */H#define PDP_ENDIAN 3412 /* LSB first in word, MSW first in long (pdp) */:/* MIPS may use either endian, compiler tells us which. */ #define BYTE_ORDER LITTLE_ENDIANG#endif /* !defined (_XOPEN_SOURCE_EXTENDED) || defined (_OSF_SOURCE) *//*@ * Macros for network/external number representation conversion. */#ifdef _KERNEL.extern unsigned short nuxi_16(unsigned short);*extern unsigned int nuxi_32(unsigned int);#define ntohl(x) nuxi_32(x)#define ntohs(x) nuxi_16(x)#define htonl(x) nuxi_32(x)#define htons(x) nuxi_16(x)&#define NTOHL(x) (x) = ntohl((u_int)x)(#define NTOHS(x) (x) = ntohs((u_short)x)##if defined(_USE_KERNEL_INTRINSICS) #pragma linkage nuxi_linkage = \K (preserved(r2,r3,r4,r5,r6,r7,r8,r16,r17,r18,r19,r20,r21,r22,r23,r24,r25)))#pragma use_linkage nuxi_linkage(nuxi_16))#pragma use_linkage nuxi_linkage(nuxi_32)#endif#else /* !_KERNEL */#ifdef _XOPEN_SOURCE_EXTENDED#if _XOPEN_SOURCE>=500#include 1extern uint16_t ntohs(uint16_t), htons(uint1 6_t);1extern uint32_t ntohl(uint32_t), htonl(uint32_t); #else /* !_XOPEN_SOURCE>= 500 */#include 4extern in_port_t ntohs(in_port_t), htons(in_port_t);4extern in_addr_t ntohl(in_addr_t), htonl(in_addr_t); #endif /* _XOPEN_SOURCE>= 500 */##else /* !_XOPEN_SOURCE_EXTENDED */Cextern unsigned short ntohs(unsigned short), htons(unsigned short);=extern unsigned int ntohl(unsigned int), htonl(unsigned int);##endif /* _XOPEN_SOURCE_EXTENDED */#endif /* !_KERNEL */#ifdef _!_cplusplus}#endif#endifww im%#ifndef _IF_ETHER_H_#define _IF_ETHER_H_/*F * Structure of a 10Mb/s (or for that matter 100Mb/s) Ethernet header. */struct ether_header { u_char ether_dhost[6]; u_char ether_shost[6]; u_short ether_type;};struct ether_addr { u_char ether_addr_octet[6];};/*G * Note that PUP is <= 1500 and since falls in the range of valid 802.3/ * frames. Hence, PUP is not actually usuable. */0#define ETHERTYPE_PUP " 0x0200 /* PUP protocol */.#define ETHERTYPE_IP 0x0800 /* IP protocol */=#define ETHERTYPE_ARP 0x0806 /* Addr. resolution protocol */>#define ETHERTYPE_LAT 0x6004 /* Local Area Transport (LAT) */5#define ETHERTYPE_DECnet 0x6003 /* Phase IV DECnet */;#define ETHERTYPE_MOPRC 0x6002 /* MOP CCR protocol type */E#define ETHERTYPE_MOPDL 0x6001 /* MOP Downline Load protocol type */@#define ETHERTYPE_LBACK 0x9000 /* MOP loopback protocol type */2#define ETHERTYPE_IPV6 0x86DD /* IPV6 protoco#l *//*G * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have4 * (type-ETHERTYPE_TRAIL)*512 bytes of data followedK * by an ETHER type (as given above) and then the (variable-length) header. */5#define ETHERTYPE_TRAIL 0x1000 /* Trailer packet */#define ETHERTYPE_NTRAILER 16#define ETHERMTU 1500#define ETHERMIN (60-14)/* * Ethernet Bandwidth. */C#define ETHER_BANDWIDTH_10MB 10000000 /* Ethernet - 10Mbs */J#define ETHER_BANDWIDTH_100MB 100000 $000 /* Fast Ethernet - 100Mbs */#endifwwZjm%,/* CMS REPLACEMENT HISTORY, Element IP.H */K/* 2A1 12-MAY-2000 02:29:56 MUGGERIDGE "V51IFT baselevel code freeze" */K/* 2B1 11-MAY-2000 17:01:12 MUGGERIDGE "V51IFT baselevel code freeze" */9/* *2 6-AUG-1999 14:11:20 POUFFARY "Steel update" */K/* 1B1 28-OCT-1998 20:14:15 MUGGERIDGE "V50SSB baselevel code freeze" */K/* 1A1 18-JUN-1998 06:18:07 MUGGERIDGE "V50IFT baselevel code freeze" */O/* *1 30-S%EP-1997 18:24:09 GEMIGNANI "Initial population of IPv6 source" */,/* CMS REPLACEMENT HISTORY, Element IP.H *//* * @DEC_COPYRIGHT@ *//* * HISTORY * $Log: includes_vms.tlb,v $ * HISTORY * Revision 5.1 2002/06/21 04:45:46 alakhian * HISTORY * Added new files: * HISTORY * README.OpenVMS * HISTORY * includes_vms.tlb * HISTORY * mkae_vms.com * HISTORY * snprintf_vms.c * HISTORY * tcptrace.opt * HISTORY * and modified * HISTORY * CHANGES * HISTORY * THANKS * HISTORY * compress.c * HISTORY * gcache.c * HISTORY * ns.c * HISTORY * plotter.c * HISTORY * tcptrace.h * HISTORY * The new files and patches were provided by Matt Muggeridge, and are required * HISTORY * to get tcptrace to run on OpenVMS. All changes are incorporated within * HISTORY * #ifdef __VMS preprocessor directives. * HISTORY *9 * Revision 4.2.16.3 1995/11/15 20:26:43 Ajay_Kachrani3 * Define MINTTL and DEFTTL for settable ipdefttl.) * [1995/11/13 21:22:10 Ajay_Kachrani] *8 * Revision 4.2.16.2 1995/06/30 22:38:10 Mike_Milicia$ * Add MLS secure networking hooks.( * [1995/06/20 22:19:37 Mike_Milicia] * 8 * Revision 4.2.13.2& 1994/08/24 14:20:20 Heather_Gray' * Include in.h to be self-describing.( * [1994/08/24 13:29:52 Heather_Gray] * 6 * Revision 4.2.9.3 1993/10/07 17:54:15 John_Dustin * sterling to gold merge' * [1993/10/04 18:47:51 John_Dustin] * 2 * Revision 4.2.11.3 1993/06/29 18:12:01 SJ_Lee * add #ifndef" * [1993/06/29 17:46:51 SJ_Lee] * 8 * Revision 4.2.11.2 1993/06/23 13:46:05 Heather_Gray0 * Change ip_len and uh_ulen fields to unsigned' * for Host Requirements 'and NFS usage( * [1993/06/22 04:19:13 Heather_Gray] * 8 * Revision 4.2.5.2 1993/04/12 14:03:05 Ajay_Kachrani8 * Fix ANSI bitfields warning when compiled using -std1) * [1993/04/07 19:46:46 Ajay_Kachrani] * ; * Revision 4.2.3.2 1992/01/29 15:24:35 Geraldine_Harter * merged in Silver BL34 * Revision 4.2.1.2 92/01/24 18:10:20 devbld_gsf@ * First AG_BL3 version. Moved from AG baselevel delivery tree.* * [92/01/29 14:59:53 Geraldine_Harter] * ( * Merge from ODE(/TIN: revision 3.1.9.2Q * date: 91/11/14 15:40:37; author: devrcs; state: Exp; lines added/del: 11/1G * sccs rev: 3.2; orig date: 91/11/04 15:50:46; orig author: heather7 * fix for BYTE_ORDER undefined if _KERNEL not defined' * [91/12/04 10:27:03 William_Burns] * + * Revision 4.2 91/09/19 22:47:22 devbld * Adding ODE Headers * * $EndLog$ *//* R * @(#)$RCSfile: includes_vms.tlb,v $ $Revision: 5.1 $ (DEC) $Date: 2002/06/21 04:45:46 $ */ /* *//*5 * (c) Copyr)ight 1990, OPEN SOFTWARE FOUNDATION, INC. * ALL RIGHTS RESERVED *//* * OSF/1 Release 1.0 *//*L * Copyright (C) 1988,1989 Encore Computer Corporation. All Rights Reserved *+ * Property of Encore Computer Corporation.B * This software is made available solely pursuant to the terms ofC * a software license agreement which governs its use. Unauthorized= * duplication, distribution or sale are strictly prohibited. * *//*D * Copyright (c) 1982, 1986 Regents of the Universit *y of California. * All rights reserved. *K * Redistribution and use in source and binary forms are permitted providedI * that: (1) source distributions retain this entire copyright notice andJ * comment, and (2) distributions including binaries display the followingF * acknowledgement: ``This product includes software developed by theC * University of California, Berkeley and its contributors'' in theI * documentation or other materials provided with the distribution and inI * all adv +ertising materials mentioning features or use of this software.K * Neither the name of the University nor the names of its contributors mayL * be used to endorse or promote products derived from this software without% * specific prior written permission.I * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIEDG * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF8 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. *$ * Base: ip.h 7.8 (Berkeley) 2/2,0/89' * Merged: ip.h 7.10 (Berkeley) 6/28/90 *//* * Revision History: * * 4-Nov-91 Heather Gray- * Include endian.h if BYTE_ORDER not defined */#ifndef _NETINET_IP_H#define _NETINET_IP_H#include #include #ifndef BYTE_ORDER#include #endif/*/ * Definitions for internet protocol version 4. * Per RFC 791, September 1981. */#define IPVERSION 4/*5 * Structure of an internet header, naked of opt-ions. *D * Beware: We now correctly declare ip_len and ip_off to be u_short. * */ struct ip {A#if defined(_KERNEL) || defined(_NO_BITFIELDS) || (__STDC__ == 1)1 u_char ip_vhl; /* version and header length */#else #if BYTE_ORDER == LITTLE_ENDIAN % u_char ip_hl:4, /* header length */ ip_v:4; /* version */#endif#if BYTE_ORDER == BIG_ENDIAN  u_char ip_v:4, /* version */ ip_hl:4; /* header length */#endif#endif' u_char ip_tos; /* type of service */% u_s.hort ip_len; /* total length */& u_short ip_id; /* identification */. u_short ip_off; /* fragment offset field *//#define IP_DF 0x4000 /* dont fragment flag */0#define IP_MF 0x2000 /* more fragments flag */$ u_char ip_ttl; /* time to live */ u_char ip_p; /* protocol */! u_short ip_sum; /* checksum */< struct in_addr ip_src,ip_dst; /* source and dest address */};5#define IP_MAXPACKET 65535 /* maximum packet size *//*. * Definitions for IP type of service (ip_tos)/ */#define IPTOS_LOWDELAY 0x10#define IPTOS_THROUGHPUT 0x08#define IPTOS_RELIABILITY 0x04/*D * Definitions for IP precedence (also in ip_tos) (hopefully unused) */##define IPTOS_PREC_NETCONTROL 0xe0'#define IPTOS_PREC_INTERNETCONTROL 0xc0##define IPTOS_PREC_CRITIC_ECP 0xa0%#define IPTOS_PREC_FLASHOVERRIDE 0x80#define IPTOS_PREC_FLASH 0x60"#define IPTOS_PREC_IMMEDIATE 0x40!#define IPTOS_PREC_PRIORITY 0x20 #define IPTOS_PREC_ROUTINE 0x10/* * Definitions for o0ptions. */##define IPOPT_COPIED(o) ((o)&0x80)"#define IPOPT_CLASS(o) ((o)&0x60)##define IPOPT_NUMBER(o) ((o)&0x1f)#define IPOPT_CONTROL 0x00#define IPOPT_RESERVED1 0x20#define IPOPT_DEBMEAS 0x40#define IPOPT_RESERVED2 0x60.#define IPOPT_EOL 0 /* end of option list */(#define IPOPT_NOP 1 /* no operation */.#define IPOPT_RR 7 /* record packet route */%#define IPOPT_TS 68 /* timestamp */4#define IPOPT_SECURITY 130 /* provide s,c,h,tcc */1#define IPOPT_LS1RR 131 /* loose source route */ #if SEC_NETM#define IPOPT_RIPSO_AUX 133 /* RIPSO extended options. */M#define IPOPT_CIPSO 134 /* CIPSO security options. */#endif)#define IPOPT_SATID 136 /* satnet id */2#define IPOPT_SSRR 137 /* strict source route *//*7 * Offsets to fields in options other than EOL and NOP. */(#define IPOPT_OPTVAL 0 /* option ID */*#define IPOPT_OLEN 1 /* option length */3#define IPOPT_OFFSET 2 /* offset w2ithin option */1#define IPOPT_MINOFF 4 /* min value of above *//* * Time stamp option structure. */struct ip_timestamp {! u_char ipt_code; /* IPOPT_TS */4 u_char ipt_len; /* size of structure (variable) */. u_char ipt_ptr; /* index of current entry */A#if defined(_KERNEL) || defined(_NO_BITFIELDS) || (__STDC__ == 1)+ u_char ipt_oflg; /* overflow and flags */#else #if BYTE_ORDER == LITTLE_ENDIAN * u_char ipt_flg:4, /* flags, see below */% ipt_oflw:4; /* overflow c3ounter */#endif#if BYTE_ORDER == BIG_ENDIAN + u_char ipt_oflw:4, /* overflow counter */$ ipt_flg:4; /* flags, see below */#endif#endif union ipt_timestamp { n_long ipt_time[1]; struct ipt_ta { struct in_addr ipt_addr; n_long ipt_time; } ipt_ta[1]; } ipt_timestamp;};/* flag bits for ipt_flg */1#define IPOPT_TS_TSONLY 0 /* timestamps only */<#define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */8#define IPOPT_TS_PRESPEC 3 /* specified modules4 only */*/* bits for security (not byte swapped) */"#define IPOPT_SECUR_UNCLASS 0x0000!#define IPOPT_SECUR_CONFID 0xf135#define IPOPT_SECUR_EFTO 0x789a#define IPOPT_SECUR_MMMM 0xbc4d #define IPOPT_SECUR_RESTR 0xaf13!#define IPOPT_SECUR_SECRET 0xd788$#define IPOPT_SECUR_TOPSECRET 0x6bc5/*& * Internet implementation parameters. */9#define MAXTTL 255 /* maximum time to live (seconds) */L#define MINTTL 1 /* minimum time to live (seconds) */L#define DEFT5TL 64 /* default time to live (rfc1700) */:#define IPFRAGTTL 60 /* time to live for frags, slowhz */4#define IPTTLDEC 1 /* subtracted when forwarding */7#define IP_MSS 576 /* default maximum segment size */#endifww>mm%/*D * *****************************************************************D * * *D * * Copyright Compaq Computer Corporation, 2000 *D * * 6 *D * * The software contained on this media is proprietary to *D * * and embodies the confidential technology of Compaq *D * * Computer Corporation. Possession, use, duplication or *D * * dissemination of the software and media is authorized only *D * * pursuant to a valid written license from Compaq Computer *D * * Corporation. *D * * 7 *D * * RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure *D * * by the U.S. Government is subject to restrictions as set *D * * forth in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, *D * * or in FAR 52.227-19, as applicable. *D * * *D * ***************************************************************** *//* * HISTORY *//* S * @(#)$RCSfile: includes_vms.tlb,v $ $Revision: 5.1 $ (DEC) $Date: 2002/06/21 04:45:46 $ */ /* *//*5 * (c) Copyright 1990, OPEN SOFTWARE FOUNDATION, INC. * ALL RIGHTS RESERVED *//* * OSF/1 Release 1.0 *//*D * Copyright (c) 1982, 1986 Regents of the University of California. * All rights reserved. *K * Redistribution and use in source and binary forms are permitted providedI * that: (1) source distributions retain this entire copyright notice andJ * comment, and (2) distributions includ9ing binaries display the followingF * acknowledgement: ``This product includes software developed by theC * University of California, Berkeley and its contributors'' in theI * documentation or other materials provided with the distribution and inI * all advertising materials mentioning features or use of this software.K * Neither the name of the University nor the names of its contributors mayL * be used to endorse or promote products derived from this software without% * specific prior wr:itten permission.I * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIEDG * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF8 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. *% * Base: udp.h 7.3 (Berkeley) 6/29/88' * Merged: udp.h 7.4 (Berkeley) 6/28/90 */#ifndef _NETINET_UDP_H_#define _NETINET_UDP_H_/* * Udp protocol header. * Per RFC 768, September, 1981. */struct udphdr {% u_short uh_sport; /* source port */* u_s;hort uh_dport; /* destination port */# u_short uh_ulen; /* udp length */% u_short uh_sum; /* udp checksum */};#endifwwwom%/*D * *****************************************************************D * * *D * * Copyright Compaq Computer Corporation, 2000 *D * * *D * * The software contained on this media is proprietary to < *D * * and embodies the confidential technology of Compaq *D * * Computer Corporation. Possession, use, duplication or *D * * dissemination of the software and media is authorized only *D * * pursuant to a valid written license from Compaq Computer *D * * Corporation. *D * * *D * * RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure *D * * by th=e U.S. Government is subject to restrictions as set *D * * forth in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, *D * * or in FAR 52.227-19, as applicable. *D * * *D * ***************************************************************** *//* * HISTORY *//* S * @(#)$RCSfile: includes_vms.tlb,v $ $Revision: 5.1 $ (DEC) $Date: 2002/06/21 04:45:46 $ */ /* *//*5 * (c) Copyright 1990, OPEN >SOFTWARE FOUNDATION, INC. * ALL RIGHTS RESERVED *//* * OSF/1 Release 1.0 *//*L * Copyright (C) 1988,1989 Encore Computer Corporation. All Rights Reserved *+ * Property of Encore Computer Corporation.B * This software is made available solely pursuant to the terms ofC * a software license agreement which governs its use. Unauthorized= * duplication, distribution or sale are strictly prohibited. * *//*D * Copyright (c) 1982, 1986 Regents of the University of California. ? * All rights reserved. *K * Redistribution and use in source and binary forms are permitted providedI * that: (1) source distributions retain this entire copyright notice andJ * comment, and (2) distributions including binaries display the followingF * acknowledgement: ``This product includes software developed by theC * University of California, Berkeley and its contributors'' in theI * documentation or other materials provided with the distribution and inI * all advertising materia @ls mentioning features or use of this software.K * Neither the name of the University nor the names of its contributors mayL * be used to endorse or promote products derived from this software without% * specific prior written permission.I * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIEDG * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF8 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. *% * Base: tcp.h 7.5 (Berkeley) 6/29/88' * MergeAd: tcp.h 7.7 (Berkeley) 6/28/90 */#ifndef _NETINET_TCP_H#define _NETINET_TCP_H#include #ifndef BYTE_ORDER#include #endiftypedef u_int tcp_seq;/* * TCP header. * Per RFC 793, September, 1981. */struct tcphdr {% u_short th_sport; /* source port */* u_short th_dport; /* destination port */( tcp_seq th_seq; /* sequence number *// tcp_seq th_ack; /* acknowledgement number */A#if defined(_KERNEL) || defined(_NO_BITFIELDS) || B(__STDC__ == 1) u_char th_xoff;#else #if BYTE_ORDER == LITTLE_ENDIAN u_char th_x2:4, /* (unused) */ th_off:4; /* data offset */#endif#if BYTE_ORDER == BIG_ENDIAN $ u_char th_off:4, /* data offset */ th_x2:4; /* (unused) */#endif#endif u_char th_flags;#define TH_FIN 0x01#define TH_SYN 0x02#define TH_RST 0x04#define TH_PUSH 0x08#define TH_ACK 0x10#define TH_URG 0x20 u_short th_win; /* window */! u_short th_sum; /* checksum */' u_short th_urp; C /* urgent pointer */};#define TCPOPT_MAX_LEN 40#define TCPOPT_EOL 0#define TCPOPT_NOP 1#define TCPOPT_MAXSEG 2C#define TCPOPT_WINDOW 3 /* rfc 1323 window scale option */H#define TCPOPT_SACK_REQ 4 /* rfc 2018 Sack option requested SYN only */1#define TCPOPT_SACK 5 /* rfc 2018 SACK option */:#define TCPOPT_TS 8 /* rfc 1323 timestamp option *//* * sack defines */D#define TCP_SACK_ELEMENT_LEN 8 /* Sack element have 2 int fields */K#define TCPOPT_SACK_LEN_DOK( len ) ((len>=10) && (((((len-2)/8)*8)+2)==len))/* * timestamp defines */;#define TCPOPT_TS_LEN 10 /* tcp timestamp option length */\#define TCPOLEN_TSTAMP_APPA ((TCPOPT_NOP<<24)|(TCPOPT_NOP<<16)|(TCPOPT_TS<<8)|TCPOPT_TS_LEN)9#define TCPOPT_CREATE_TSOPT(opt, optlen, TSVAL, TSECR) \ { \ int *__tmp=(int*)(opt) ; \* __tmp[0]=htonl(TCPOLEN_TSTAMP_APPA) ; \ __tmp[1]=htonl(TSVAL) ; \ __tmp[2]=htonl(TSECR) ; \ optlen+=TCPOPT_TS_LEN+2 ; \}3#define ETCPOPT_EXTRACT_TSOPT(opt, TSVAL, TSECR) \ { \9 bcopy((caddr_t)(&(opt)[2]), &(TSVAL), sizeof(TSVAL)) ; \ TSVAL=ntohl(TSVAL) ; \= bcopy(&(opt)[2+sizeof(TSVAL)], &(TSECR) , sizeof(TSECR)) ; \ TSECR=ntohl(TSECR) ; \}/*( * Default maximum segment size for TCP.6 * For RFC1122 MUST conformance, this needs to be 536. */#define TCP_MSS 536C#define TCP_MAXWIN 65535 /* largest value for (unscaled) window */;#define TCP_MAX_WINSHIFT 14 /* maximum window shiFft *//** * User options (used with set/getockopt). */C#define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */2#define TCP_MAXSEG 0x02 /* maximum segment size *//* F * Number of retransmissions before dropping connection. Larger than & * TCP_MAXRXTSHIFT or -1 for infinity  */B#define TCP_RPTR2RXT 0x03 /* set repeat count for R2 RXT timer */ F#define TCP_KEEPIDLE 0x04 /* seconds before initial keepalive probe */A#define TCP_KEEPINTVL 0x05 /* seconds between keepalive Gprobes */E#define TCP_KEEPCNT 0x06 /* number of keepalive probes before drop */A#define TCP_KEEPINIT 0x07 /* initial connect timeout (seconds) */A#define TCP_PUSH 0x08 /* set push bit in outbound data packets */D#define TCP_NODELACK 0x09 /* don't delay send to coalesce packets */1#define TCP_TSOPTENA 0x10 /* time stamp option */'#define TCP_PAWS 0x20 /* PAWS option */+#define TCP_SACKENA 0x40 /* SACK enabled */#endifwwoLrm%/*- * Copyright (c) 1993, 1994, 1995, 199 H6, 1997E * The Regents of the University of California. All rights reserved. *E * Redistribution and use in source and binary forms, with or withoutE * modification, are permitted provided that the following conditions * are met:D * 1. Redistributions of source code must retain the above copyrightC * notice, this list of conditions and the following disclaimer.G * 2. Redistributions in binary form must reproduce the above copyrightI * notice, this list of conditions and the foIllowing disclaimer in theJ * documentation and/or other materials provided with the distribution.K * 3. All advertising materials mentioning features or use of this software1 * must display the following acknowledgement:C * This product includes software developed by the Computer Systems5 * Engineering Group at Lawrence Berkeley Laboratory.J * 4. Neither the name of the University nor of the Laboratory may be usedG * to endorse or promote products derived from this software withou Jt( * specific prior written permission. *J * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' ANDH * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THEM * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEK * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLEM * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIALJ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTEK GOODSH * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)M * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTL * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAYI * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *B * @(#) $Header: /usr/local/cvs/tcptrace/includes_vms.tlb,v 5.1 2002/06/21 04:45:46 alakhian Exp $ (LBL) */#ifndef lib_pcap_h#define lib_pcap_h#include #include L#include #include #define PCAP_VERSION_MAJOR 2#define PCAP_VERSION_MINOR 4#define PCAP_ERRBUF_SIZE 256/*3 * Compatibility for systems that have a bpf.h that0 * predates the bpf typedefs for 64-bit support. */#if BPF_RELEASE - 0 < 199406typedef int bpf_int32;typedef u_int bpf_u_int32;#endiftypedef struct pcap pcap_t;)typedef struct pcap_dumper pcap_dumper_t;/*> * The first record in the file contains saved values for some7 * of the flags Mused in the printout phases of tcpdump.F * Many fields here are 32 bit ints so compilers won't insert unwantedH * padding; these files need to be interchangeable across architectures. */struct pcap_file_header { bpf_u_int32 magic; u_short version_major; u_short version_minor;2 bpf_int32 thiszone; /* gmt to local correction */2 bpf_u_int32 sigfigs; /* accuracy of timestamps */@ bpf_u_int32 snaplen; /* max length saved portion of each pkt */3 bpf_u_int32 linktype; /* data link typeN (DLT_*) */};/*F * Each packet in the dump file is prepended with this generic header.B * This gets around the problem of different headers for different * packet interfaces. */struct pcap_pkthdr {$ struct timeval ts; /* time stamp */4 bpf_u_int32 caplen; /* length of portion present */5 bpf_u_int32 len; /* length this packet (off wire) */};/*" * As returned by the pcap_stats() */struct pcap_stat {1 u_int ps_recv; /* number of packets received */0 u_int ps_drop; /O* number of packets dropped */@ u_int ps_ifdrop; /* drops by interface XXX not yet supported */};Btypedef void (*pcap_handler)(u_char *, const struct pcap_pkthdr *, const u_char *);char *pcap_lookupdev(char *);Aint pcap_lookupnet(char *, bpf_u_int32 *, bpf_u_int32 *, char *);6pcap_t *pcap_open_live(char *, int, int, int, char *);0pcap_t *pcap_open_offline(const char *, char *);void pcap_close(pcap_t *);5int pcap_loop(pcap_t *, int, pcap_handler, u_char *);9int pcap_dispatcPh(pcap_t *, int, pcap_handler, u_char *); const u_char*+ pcap_next(pcap_t *, struct pcap_pkthdr *);-int pcap_stats(pcap_t *, struct pcap_stat *);3int pcap_setfilter(pcap_t *, struct bpf_program *);#void pcap_perror(pcap_t *, char *);char *pcap_strerror(int);char *pcap_geterr(pcap_t *);=int pcap_compile(pcap_t *, struct bpf_program *, char *, int, bpf_u_int32); /* XXX */2int pcap_freecode(pcap_t *, struct bpf_program *);int pcap_datalink(pcap_t *);int pcap_snapshot(pcap_tQ *);int pcap_is_swapped(pcap_t *);!int pcap_major_version(pcap_t *);!int pcap_minor_version(pcap_t *); /* XXX */FILE *pcap_file(pcap_t *);int pcap_fileno(pcap_t *);6pcap_dumper_t *pcap_dump_open(pcap_t *, const char *);&void pcap_dump_close(pcap_dumper_t *);Evoid pcap_dump(u_char *, const struct pcap_pkthdr *, const u_char *);(/* XXX this guy lives in the bpf tree */<u_int bpf_filter(struct bpf_insn *, u_char *, u_int, u_int);(char *bpf_image(struct bpf_insn *, int);#endif Rww.!um%/*-? * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997E * The Regents of the University of California. All rights reserved. *A * This code is derived from the Stanford/CMU enet packet filter,C * (net/enet.c) distributed as part of 4.3BSD, and code contributedC * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence  * Berkeley Laboratory. *E * Redistribution and use in source and binary forms, with or withoutE * modification, are per Smitted provided that the following conditions * are met:D * 1. Redistributions of source code must retain the above copyrightC * notice, this list of conditions and the following disclaimer.G * 2. Redistributions in binary form must reproduce the above copyrightI * notice, this list of conditions and the following disclaimer in theJ * documentation and/or other materials provided with the distribution.K * 3. All advertising materials mentioning features or use of this software1 T * must display the following acknowledgement:E * This product includes software developed by the University of2 * California, Berkeley and its contributors.J * 4. Neither the name of the University nor the names of its contributorsK * may be used to endorse or promote products derived from this software0 * without specific prior written permission. *J * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' ANDH * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDINUG, BUT NOT LIMITED TO, THEM * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEK * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLEM * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIALJ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODSH * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)M * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTL * LIABILIVTY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAYI * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *- * @(#)bpf.h 7.1 (Berkeley) 5/7/91 *A * @(#) $Header: /usr/local/cvs/tcptrace/includes_vms.tlb,v 5.1 2002/06/21 04:45:46 alakhian Exp $ (LBL) */#ifndef BPF_MAJOR_VERSION/* BSD style release date */#define BPF_RELEASE 199606typedef int bpf_int32;typedef u_int bpf_u_int32;/*: * Alignment macros. BPF_WORDALIGN rounds up to the next # * eWven multiple of BPF_ALIGNMENT.  */'#define BPF_ALIGNMENT sizeof(bpf_int32)E#define BPF_WORDALIGN(x) (((x)+(BPF_ALIGNMENT-1))&~(BPF_ALIGNMENT-1))#define BPF_MAXINSNS 512#define BPF_MAXBUFSIZE 0x8000#define BPF_MINBUFSIZE 32/* * Structure for BIOCSETF. */struct bpf_program { u_int bf_len; struct bpf_insn *bf_insns;}; /*! * Struct returned by BIOCGSTATS. */struct bpf_stat {1 u_int bs_recv; /* number of packets received */0 u_int bs_drop; /* number o Xf packets dropped */};/*H * Struct return by BIOCVERSION. This represents the version number of D * the filter language described by the instruction encodings below.@ * bpf understands a program iff kernel_major == filter_major &&F * kernel_minor >= filter_minor, that is, if the value returned by theD * running kernel has the same major number and a minor number equalE * equal to or less than the filter being downloaded. Otherwise, theE * results are undefined, meaning an error may be Yreturned or packets * may be accepted haphazardly.5 * It has nothing to do with the source code version. */struct bpf_version { u_short bv_major; u_short bv_minor;};4/* Current version number of filter architecture. */#define BPF_MAJOR_VERSION 1#define BPF_MINOR_VERSION 1/* * BPF ioctls *: * The first set is for compatibility with Sun's pcc style7 * header files. If your using gcc, we assume that you6 * have run fixincludes so the latter set should work. */;#i Zf (defined(sun) || defined(ibm032)) && !defined(__GNUC__)$#define BIOCGBLEN _IOR(B,102, u_int)%#define BIOCSBLEN _IOWR(B,102, u_int)0#define BIOCSETF _IOW(B,103, struct bpf_program)#define BIOCFLUSH _IO(B,104)#define BIOCPROMISC _IO(B,105)##define BIOCGDLT _IOR(B,106, u_int)+#define BIOCGETIF _IOR(B,107, struct ifreq)+#define BIOCSETIF _IOW(B,108, struct ifreq)1#define BIOCSRTIMEOUT _IOW(B,109, struct timeval)1#define BIOCGRTIMEOUT _IOR(B,110, struct timeval)/#define BIOCGSTATS _IO [R(B,111, struct bpf_stat)(#define BIOCIMMEDIATE _IOW(B,112, u_int)3#define BIOCVERSION _IOR(B,113, struct bpf_version)1#define BIOCSTCPF _IOW(B,114, struct bpf_program)1#define BIOCSUDPF _IOW(B,115, struct bpf_program)#else&#define BIOCGBLEN _IOR('B',102, u_int)'#define BIOCSBLEN _IOWR('B',102, u_int)2#define BIOCSETF _IOW('B',103, struct bpf_program)#define BIOCFLUSH _IO('B',104) #define BIOCPROMISC _IO('B',105)%#define BIOCGDLT _IOR('B',106, u_int)-#define BIOCGETIF _IOR('B',107\, struct ifreq)-#define BIOCSETIF _IOW('B',108, struct ifreq)3#define BIOCSRTIMEOUT _IOW('B',109, struct timeval)3#define BIOCGRTIMEOUT _IOR('B',110, struct timeval)1#define BIOCGSTATS _IOR('B',111, struct bpf_stat)*#define BIOCIMMEDIATE _IOW('B',112, u_int)5#define BIOCVERSION _IOR('B',113, struct bpf_version)3#define BIOCSTCPF _IOW('B',114, struct bpf_program)3#define BIOCSUDPF _IOW('B',115, struct bpf_program)#endif/*& * Structure prepended to each packet. */struct bpf_h ]dr {+ struct timeval bh_tstamp; /* time stamp */8 bpf_u_int32 bh_caplen; /* length of captured portion */8 bpf_u_int32 bh_datalen; /* original length of packet */9 u_short bh_hdrlen; /* length of bpf header (this struct" plus alignment padding) */};/*K * Because the structure above is not a multiple of 4 bytes, some compilersN * will insist on inserting padding; hence, sizeof(struct bpf_hdr) won't work.F * Only the kernel needs to know about it; applications use bh_hdrlen. */^ #ifdef KERNEL#define SIZEOF_BPF_HDR 18#endif/* * Data-link level type codes. */4#define DLT_NULL 0 /* no link-layer encapsulation */*#define DLT_EN10MB 1 /* Ethernet (10Mb) */5#define DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */,#define DLT_AX25 3 /* Amateur Radio AX.25 */4#define DLT_PRONET 4 /* Proteon ProNET Token Ring */#define DLT_CHAOS 5 /* Chaos */-#define DLT_IEEE802 6 /* IEEE 802 Networks */!#define DLT_ARCNET 7 /* ARCNET */'#define DLT_SLIP 8 /* Serial Line IP_ */0#define DLT_PPP 9 /* Point-to-point Protocol */#define DLT_FDDI 10 /* FDDI */:#define DLT_ATM_RFC1483 11 /* LLC/SNAP encapsulated atm */ #define DLT_RAW 12 /* raw IP */5#define DLT_SLIP_BSDOS 13 /* BSD/OS Serial Line IP */=#define DLT_PPP_BSDOS 14 /* BSD/OS Point-to-point Protocol *//* * The instruction encondings. *//* instruction classes */'#define BPF_CLASS(code) ((code) & 0x07)#define BPF_LD 0x00#define BPF_LDX 0x01#define BPF_ST 0x02#define BPF_STX `0x03#define BPF_ALU 0x04#define BPF_JMP 0x05#define BPF_RET 0x06#define BPF_MISC 0x07/* ld/ldx fields */&#define BPF_SIZE(code) ((code) & 0x18)#define BPF_W 0x00#define BPF_H 0x08#define BPF_B 0x10&#define BPF_MODE(code) ((code) & 0xe0)#define BPF_IMM 0x00#define BPF_ABS 0x20#define BPF_IND 0x40#define BPF_MEM 0x60#define BPF_LEN 0x80#define BPF_MSH 0xa0/* alu/jmp fields */$#define BPF_OP(code) ((code) & 0xf0)#define BPF_ADD 0x00#defaine BPF_SUB 0x10#define BPF_MUL 0x20#define BPF_DIV 0x30#define BPF_OR 0x40#define BPF_AND 0x50#define BPF_LSH 0x60#define BPF_RSH 0x70#define BPF_NEG 0x80#define BPF_JA 0x00#define BPF_JEQ 0x10#define BPF_JGT 0x20#define BPF_JGE 0x30#define BPF_JSET 0x40%#define BPF_SRC(code) ((code) & 0x08)#define BPF_K 0x00#define BPF_X 0x08&/* ret - BPF_K and BPF_X also apply */&#define BPF_RVAL(code) ((code) & 0x18)#define BPF_A 0x10 /* misc b*/(#define BPF_MISCOP(code) ((code) & 0xf8)#define BPF_TAX 0x00#define BPF_TXA 0x80/*" * The instruction data structure. */struct bpf_insn { u_short code; u_char jt; u_char jf; bpf_int32 k;};/*& * Macros for insn array initializers. */6#define BPF_STMT(code, k) { (u_short)(code), 0, 0, k }@#define BPF_JUMP(code, k, jt, jf) { (u_short)(code), jt, jf, k } #ifdef KERNELextern u_int bpf_filter();extern void bpfattach();extern void bpf_tap();extern void bpf_mtap();#else #if __STDC__Cextern u_int bpf_filter(struct bpf_insn *, u_char *, u_int, u_int);#endif#endif/*B * Number of scratch memory words (for BPF_LD|BPF_MEM and BPF_ST). */#define BPF_MEMWORDS 16#endifwwtcptrace-6.6.7/install-sh0100755001217500001440000001272106631142212015053 0ustar mramadasusers#! /bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 tcptrace-6.6.7/ipv6.c0100644001217500001440000004404010142522531014074 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Nasseef Abukamail * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/ipv6.c,v 5.26 2004/11/04 21:55:37 sdo Exp $"; /* the names of IPv6 extensions that we understand */ char * ipv6_header_name( u_char nextheader) { switch (nextheader) { case IPPROTO_DSTOPTS: return("Destinations options"); case IPPROTO_FRAGMENT: return("Fragment header"); case IPPROTO_HOPOPTS: return("Hop by hop"); case IPPROTO_NONE: return("No next header"); case IPPROTO_ROUTING: return("Routing header"); case IPPROTO_ICMPV6: return("IPv6 ICMP"); case IPPROTO_TCP: return("TCP"); case IPPROTO_UDP: return("UDP"); default: return(""); } } /* given a next header type and a pointer to the header, return a pointer to the next extension header and type */ struct ipv6_ext * ipv6_nextheader( void *pheader0, u_char *pnextheader) { struct ipv6_ext *pheader = pheader0; switch (*pnextheader) { /* nothing follows these... */ case IPPROTO_TCP: case IPPROTO_NONE: case IPPROTO_ICMPV6: case IPPROTO_UDP: return(NULL); /* somebody follows these */ case IPPROTO_HOPOPTS: case IPPROTO_ROUTING: case IPPROTO_DSTOPTS: *pnextheader = pheader->ip6ext_nheader; /* sanity check, if length is 0, terminate */ /* As per RFC 2460 : ip6ext_len specifies the extended header length, in units of 8 octets *not including* the first 8 octets. So ip6ext_len can be 0 and hence, we cannot perform the sanity check any more. Hence commenting out the sanity check - Mani*/ /* if (pheader->ip6ext_len == 0) return(NULL); */ return((struct ipv6_ext *) ((char *)pheader + 8 + (pheader->ip6ext_len)*8)); /* I don't understand them. Just save the type and return a NULL */ default: *pnextheader = pheader->ip6ext_nheader; return(NULL); } } /* * findheader: find and return a pointer to a header. * Skips either ip or ipv6 headers * return values: 0 - found header * 1 - correct protocol, invalid packet, cannot return header * -1 - different protocol, cannot return header */ static int findheader( u_int ipproto, struct ip *pip, void **pphdr, void **pplast) { struct ipv6 *pip6 = (struct ipv6 *)pip; char nextheader; struct ipv6_ext *pheader; void *theheader; /* IPv4 is easy */ if (PIP_ISV4(pip)) { /* make sure it's what we want */ if (pip->ip_p != ipproto) return (-1); /* check the fragment field, if it's not the first fragment, it's useless (offset part of field must be 0 */ if ((ntohs(pip->ip_off)&0x1fff) != 0) { if (debug>1) { printf("findheader: Skipping IPv4 non-initial fragment\n"); if (debug > 2) { printpacket(100,100,NULL,0,pip,*pplast,NULL); } } return (1); } /* OK, it starts here */ theheader = ((char *)pip + 4*IP_HL(pip)); /* adjust plast in accordance with ip_len (really short packets get garbage) */ if (((char *)pip + ntohs(pip->ip_len) - 1) < (char *)(*pplast)) { *pplast = (char *)((char *)pip + ntohs(pip->ip_len)); } #ifdef OLD /* this is better verified when used, the error message is better */ /* make sure the whole header is there */ if ((char *)ptcp + (sizeof struct tcphdr) - 1 > (char *)*pplast) { /* part of the header is missing */ return (1); } #endif *pphdr = theheader; return (0); } /* otherwise, we only understand IPv6 */ if (!PIP_ISV6(pip)) return (-1); /* find the first header */ nextheader = pip6->ip6_nheader; pheader = (struct ipv6_ext *)(pip6+1); /* loop until we find the header we want or give up */ while (1) { /* sanity check, if we're reading bogus header, the length might */ /* be wonky, so make sure before you dereference anything!! */ if ((char *)pheader < (char *)pip) { if (debug>1) printf("findheader: bad extension header math, skipping packet\n"); return (1); } /* make sure we're still within the packet */ /* might be truncated, or might be bad header math */ if ((char *)pheader > (char *)*pplast) { if (debug>3) printf("findheader: packet truncated before finding header\n"); return (1); } /* this is what we want */ if (nextheader == ipproto) { *pphdr = pheader; return (0); } switch (nextheader) { case IPPROTO_TCP: return (-1); /* didn't find it */ case IPPROTO_UDP: return (-1); /* didn't find it */ /* fragmentation */ case IPPROTO_FRAGMENT: { struct ipv6_ext_frag *pfrag = (struct ipv6_ext_frag *)pheader; /* if this isn't the FIRST fragment, there won't be a TCP header anyway */ if ((pfrag->ip6ext_fr_offset&0xfc) != 0) { /* the offset is non-zero */ if (debug>1) printf("findheader: Skipping IPv6 non-initial fragment\n"); return (1); } /* otherwise it's either an entire segment or the first fragment */ nextheader = pfrag->ip6ext_fr_nheader; /* Pass to the next octet following the fragmentation header */ pheader = (struct ipv6_ext *) ((char *)pheader + sizeof(struct ipv6_ext_frag)); break; } /* headers we just skip over */ case IPPROTO_HOPOPTS: case IPPROTO_ROUTING: case IPPROTO_DSTOPTS: nextheader = pheader->ip6ext_nheader; /* As per RFC 2460 : ip6ext_len specifies the extended header length, in units of 8 octets *not including* the first 8 octets. */ pheader = (struct ipv6_ext *) ((char *)pheader + 8 + (pheader->ip6ext_len)*8); break; /* non-tcp protocols, so we're finished. */ case IPPROTO_NONE: case IPPROTO_ICMPV6: return (-1); /* didn't find it */ /* I "think" that we can just skip over it, but better be careful */ default: nextheader = pheader->ip6ext_nheader; pheader = (struct ipv6_ext *) ((char *)pheader + 8 + (pheader->ip6ext_len)*8); break; } /* end switch */ } /* end loop */ /* shouldn't get here, but just in case :-) */ return (-1); } /* Added Aug 31, 2001 -- Avinash. * getroutingheader: return a pointer to the routing header in an ipv6 packet. * Looks through all the IPv6 extension headers for the routing header. * Used while computing the IPv6 checksums. */ int getroutingheader( struct ip *pip, struct ipv6_ext **ppipv6_ext, void **pplast) { int ret_val = findheader(IPPROTO_ROUTING, pip, (void **)ppipv6_ext, pplast); return (ret_val); } /* * gettcp: return a pointer to a tcp header. * Skips either ip or ipv6 headers */ int gettcp( struct ip *pip, struct tcphdr **pptcp, void **pplast) { int ret_val = findheader(IPPROTO_TCP, pip, (void **)pptcp, pplast); return (ret_val); } /* * getudp: return a pointer to a udp header. * Skips either ip or ipv6 headers */ int getudp( struct ip *pip, struct udphdr **ppudp, void **pplast) { int ret_val = findheader(IPPROTO_UDP, pip, (void **)ppudp, pplast); return (ret_val); } /* * gethdrlength: returns the length of the header in the case of ipv4 * returns the length of all the headers in the case of ipv6 */ int gethdrlength (struct ip *pip, void *plast) { int length, nextheader; char *pheader; struct ipv6 *pipv6; if (PIP_ISV6(pip)) { length = 40; pheader = (char *) pip; nextheader = *(pheader + 6); pheader += 40; pipv6 = (struct ipv6 *) pip; while (1) { if (nextheader == IPPROTO_NONE) return length; if (nextheader == IPPROTO_TCP) return length; if (nextheader == IPPROTO_UDP) return length; if (nextheader == IPPROTO_FRAGMENT) { nextheader = *pheader; pheader += 8; length += 8; } if ((nextheader == IPPROTO_HOPOPTS) || (nextheader == IPPROTO_ROUTING) || (nextheader == IPPROTO_DSTOPTS)) { // Thanks to patch sent by Thomas Bohnert // Header length field in these IPv6 extension headers // stores the length of the header in units of 8 bytes, // *without* counting the mandatory 8 bytes nextheader = *pheader; length += (*(pheader+1) + 1) * 8; pheader += (*(pheader+1) + 1) * 8; } // IPv6 encapsulated in IPv6 if (nextheader == IPPROTO_IPV6) { pheader += 40; nextheader=*(pheader+6); length += 40; } if (pheader > (char *)plast) return -1; } } else { return IP_HL(pip) * 4; } } /* * getpayloadlength: returns the length of the packet without the header. */ int getpayloadlength (struct ip *pip, void *plast) { struct ipv6 *pipv6; if (PIP_ISV6(pip)) { pipv6 = (struct ipv6 *) pip; /* how about all headers */ return ntohs(pipv6->ip6_lngth); } return ntohs(pip->ip_len) - (IP_HL(pip) * 4); } #ifdef OLD_THESE_MOVED_TO_TRACE_C /* * ipcopyaddr: copy an IPv4 or IPv6 address * (note - this is obsolete in favor of the inline-able * IP_COPYADDR in tcptrace.h) */ void ip_copyaddr (ipaddr *ptoaddr, ipaddr *pfromaddr) { if (ADDR_ISV6(pfromaddr)) { memcpy(ptoaddr->un.ip6.s6_addr, pfromaddr->un.ip6.s6_addr, 16); ptoaddr->addr_vers = 6; } else { ptoaddr->un.ip4.s_addr = pfromaddr->un.ip4.s_addr; ptoaddr->addr_vers = 4; } } /* * ipsameaddr: test for equality of two IPv4 or IPv6 addresses * (note - this is obsolete in favor of the inline-able * IP_SAMEADDR in tcptrace.h) */ int ip_sameaddr (ipaddr *paddr1, ipaddr *paddr2) { int ret = 0; if (ADDR_ISV6(paddr1)) { if (ADDR_ISV6(paddr2)) ret = (memcmp(paddr1->un.ip6.s6_addr, paddr2->un.ip6.s6_addr,16) == 0); } else { if (ADDR_ISV4(paddr2)) ret = (paddr1->un.ip4.s_addr == paddr2->un.ip4.s_addr); } if (debug > 3) printf("SameAddr(%s(%d),%s(%d)) returns %d\n", HostName(*paddr1), ADDR_VERSION(paddr1), HostName(*paddr2), ADDR_VERSION(paddr2), ret); return ret; } /* * iplowaddr: test if one IPv4 or IPv6 address is lower than the second one * (note - this is obsolete in favor of the inline-able * IP_LOWADDR in tcptrace.h) */ int ip_lowaddr (ipaddr *paddr1, ipaddr *paddr2) { int ret = 0; if (ADDR_ISV6(paddr1)) { if (ADDR_ISV6(paddr2)) ret = (memcmp(paddr1->un.ip6.s6_addr, paddr2->un.ip6.s6_addr,16) < 0); } else { /* already know ADDR_ISV4(paddr1) */ if (ADDR_ISV4(paddr2)) ret = (paddr1->un.ip4.s_addr < paddr2->un.ip4.s_addr); } if (debug > 3) printf("LowAddr(%s(%d),%s(%d)) returns %d\n", HostName(*paddr1), ADDR_VERSION(paddr1), HostName(*paddr2), ADDR_VERSION(paddr2), ret); return ret; } #endif /* OLD_THESE_MOVED_TO_TRACE_C */ #ifndef HAVE_INET_PTON int inet_pton(int af, const char *src, void *dst) { if (af == AF_INET) { /* use standard function */ long answer = inet_addr(src); if (answer != -1) { *((long *)dst) = answer; return(1); } } else if (af == AF_INET6) { /* YUCC - lazy for now, not fully supported */ int shorts[8]; if (sscanf(src,"%x:%x:%x:%x:%x:%x:%x:%x", &shorts[0], &shorts[1], &shorts[2], &shorts[3], &shorts[4], &shorts[5], &shorts[6], &shorts[7]) == 8) { int i; for (i=0; i < 8; ++i) ((u_short *)dst)[i] = (u_short)shorts[i]; return(1); } } /* else, it failed */ return(0); } #endif /* HAVE_INET_PTON */ /* * my_inet_ntop: makes a string address of the 16 byte ipv6 address * We use our own because various machines print them differently * and I wanted them to all be the same */ char * my_inet_ntop(int af, const char *src, char *dst, size_t size) { int i; u_short *src_shorts = (u_short *)src; char *ret = dst; Bool did_shorthand = FALSE; Bool doing_shorthand = FALSE; /* sanity check, this isn't general, but doesn't need to be */ if (size != INET6_ADDRSTRLEN) { fprintf(stderr,"my_inet_ntop: invalid size argument\n"); exit(-1); } /* address is 128 bits == 16 bytes == 8 shorts */ for (i = 0; i < 8; i++) { u_short twobytes = ntohs(src_shorts[i]); /* handle shorthand notation */ if (twobytes == 0) { if (doing_shorthand) { /* just eat it and continue (except last 2 bytes) */ if (i != 7) continue; } else if (!did_shorthand) { /* start shorthand */ doing_shorthand = TRUE; continue; } } /* terminate shorthand (on non-zero or last 2 bytes) */ if (doing_shorthand) { doing_shorthand = FALSE; did_shorthand = TRUE; sprintf(dst, ":"); dst += 1; } sprintf(dst, "%04x:", twobytes); dst += 5; } /* nuke the trailing ':' */ *(dst-1) = '\0'; return(ret); } /* given an IPv4 IP address, return a pointer to a (static) ipaddr struct */ struct ipaddr * IPV4ADDR2ADDR( struct in_addr *addr4) { static struct ipaddr addr; addr.addr_vers = 4; addr.un.ip4.s_addr = addr4->s_addr; return(&addr); } /* given an IPv6 IP address, return a pointer to a (static) ipaddr struct */ struct ipaddr * IPV6ADDR2ADDR( struct in6_addr *addr6) { static struct ipaddr addr; addr.addr_vers = 6; memcpy(&addr.un.ip6.s6_addr,&addr6->s6_addr, 16); return(&addr); } /* given an internet address (IPv4 dotted decimal or IPv6 hex colon), return an "ipaddr" (allocated from heap) */ ipaddr * str2ipaddr( char *str) { ipaddr *pipaddr; /* allocate space */ pipaddr = MallocZ(sizeof(ipaddr)); /* N.B. - uses standard IPv6 facility inet_pton from RFC draft */ if (strchr(str,'.') != NULL) { /* has dots, better be IPv4 */ pipaddr->addr_vers = 4; if (inet_pton(AF_INET, str, &pipaddr->un.ip4.s_addr) != 1) { if (debug) fprintf(stderr,"Address string '%s' unparsable as IPv4\n", str); return(NULL); } } else if (strchr(str,':') != NULL) { /* has colons, better be IPv6 */ pipaddr->addr_vers = 6; if (inet_pton(AF_INET6, str, &pipaddr->un.ip6.s6_addr) != 1) { if (debug) fprintf(stderr,"Address string '%s' unparsable as IPv6\n", str); return(NULL); } } else { if (debug) fprintf(stderr,"Address string '%s' unparsable\n", str); return(NULL); } return(pipaddr); } /* compare two IP addresses */ /* result: */ /* -2: different address types */ /* -1: A < B */ /* 0: A = B */ /* 1: A > B */ int IPcmp( ipaddr *pipA, ipaddr *pipB) { int i; int len = (pipA->addr_vers == 4)?4:6; u_char *left = (u_char *)&pipA->un.ip4; u_char *right = (u_char *)&pipB->un.ip4; /* always returns -2 unless both same type */ if (pipA->addr_vers != pipB->addr_vers) { if (debug>1) { printf("IPcmp %s", HostAddr(*pipA)); printf("%s fails, different addr types\n", HostAddr(*pipB)); } return(-2); } for (i=0; i < len; ++i) { if (left[i] < right[i]) { return(-1); } else if (left[i] > right[i]) { return(1); } /* else ==, keep going */ } /* if we got here, they're the same */ return(0); } /* Added Aug 31, 2001 -- Avinash * computes the total length of all the extension headers */ int total_length_ext_headers( struct ipv6 *pip6) { char nextheader; struct ipv6_ext *pheader; u_int total_length = 0; /* find the first header */ nextheader = pip6->ip6_nheader; pheader = (struct ipv6_ext *)(pip6+1); while(1) { switch(nextheader) { case IPPROTO_HOPOPTS: case IPPROTO_ROUTING: case IPPROTO_DSTOPTS: total_length = 8 + (pheader->ip6ext_len * 8); nextheader = pheader->ip6ext_nheader; pheader = (struct ipv6_ext *) ((char *)pheader + 8 + (pheader->ip6ext_len)*8); break; case IPPROTO_FRAGMENT: total_length += 8; nextheader = pheader->ip6ext_nheader; pheader = (struct ipv6_ext *)((char *)pheader + 8); break; case IPPROTO_NONE: /* End of extension headers */ return(total_length); case IPPROTO_TCP: /* No extension headers */ return(0); default: /* Unknown type */ return(-1); } } } tcptrace-6.6.7/ipv6.h0100644001217500001440000001227107756700117014121 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_ipv6[] = "@(#)$Header: /usr/local/cvs/tcptrace/ipv6.h,v 5.12 2003/11/19 14:38:07 sdo Exp $"; /* * ipv6.h: * * Structures for IPv6 packets * */ #include #ifndef ETHERTYPE_IPV6 #define ETHERTYPE_IPV6 0x86DD /* Ethernet type for ipv6 */ #endif /* just guessing... */ #if !defined(IPPROTO_NONE) && !defined(IPPROTO_FRAGMENT) && !defined(IPPROTO_DSTOPTS) && !defined(INET6_ADDRSTRLEN) /* when IPv6 is more widely/standardly deployed, these constants won't need to be here. In the mean time, here's the stuff we need... */ #define IPV6NOTFOUND /* header types */ #define IPPROTO_HOPOPTS 0 /* Hop by hop header for v6 */ #define IPPROTO_IPV6 41 /* IPv6 encapsulated in IP */ #define IPPROTO_ROUTING 43 /* Routing header for IPv6 */ #define IPPROTO_FRAGMENT 44 /* Fragment header for IPv6 */ #define IPPROTO_ICMPV6 58 /* ICMP for IPv6 */ #define IPPROTO_NONE 59 /* No next header for IPv6 */ #define IPPROTO_DSTOPTS 60 /* Destinations options */ /* other constants we need */ #define INET6_ADDRSTRLEN 46 /* IPv6 Address length in a string format*/ /* this is SOMETIMES already defined */ #ifndef AF_INET6 #define AF_INET6 24 /* Internet Protocol, V6 */ #endif /* AF_INET6 */ /* * IPv6 address data structure. */ #ifdef __WIN32 typedef struct in6_addr { u_char s6_addr[16]; /* IPv6 address */ } in6_addr; #endif /* __WIN32 */ #endif /* notdef IPPROTO_NONE */ /* * IPv6 datagram header */ struct ipv6 { u_int ip6_ver_tc_flabel; /* first 4 bits = version #, next 8 bits = Trafic class, next 20 bits = flow label */ u_short ip6_lngth; /* Payload length */ u_char ip6_nheader; /* Next Header */ u_char ip6_hlimit; /* Hop Limit */ struct in6_addr ip6_saddr; /* Source Address */ struct in6_addr ip6_daddr; /* Destination Address */ }; /* IPv6 extension header format */ struct ipv6_ext { u_char ip6ext_nheader; /* Next Header */ u_char ip6ext_len; /* number of bytes in this header */ u_char ip6ext_data[2]; /* optional data */ }; /* IPv6 fragmentation header */ struct ipv6_ext_frag { u_char ip6ext_fr_nheader; /* Next Header */ u_char ip6ext_fr_res; /* (reserved) */ u_short ip6ext_fr_offset; /* fragment offset(13),res(2),M(1) */ u_long ip6ext_fr_ID; /* ID field */ }; /* tcptrace's IPv6 access routines */ int gettcp(struct ip *pip, struct tcphdr **pptcp, void **pplast); int getudp(struct ip *pip, struct udphdr **ppudp, void **pplast); int getroutingheader(struct ip *pip, struct ipv6_ext **ppipv6_ext, void **pplast); int gethdrlength (struct ip *pip, void *plast); int getpayloadlength (struct ip *pip, void *plast); struct ipv6_ext *ipv6_nextheader(void *pheader0, u_char *pnextheader); char *ipv6_header_name(u_char nextheader); char *my_inet_ntop(int af, const char *src, char *dst, size_t size); int total_length_ext_headers(struct ipv6 *pip6); tcptrace-6.6.7/make_vms.com0100755001217500001440000003230007504527572015367 0ustar mramadasusers$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! Make tcptrace on OpenVMS Operating System. $! $! This file was modified from a "Makefile" file which was produced $! after issuing: "./configure" on a Tru64 UNIX system. $! $! Supported Paramters: $! $! CLEAN - deletes all output files $! DEBUG - turn on debug flags in compile and link $! $! Logicals: $! $! TCPTRACE$VERIFY - if defined, then turn on verify $! $! Use default directory if following logicals are not defined: $! $! MAP$ - location to write map file $! LIS$ - location to write lis files $! OBJ$ - location to write obj files $! EXE$ - location to write exe file $! SRC$ - location of source files $! SHRLIB$ - location of libraries (eg. PCAP.OLB) $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $ on control_y then goto ctrly_handler $ on error then goto error_handler $ if (f$trnlnm("tcptrace$verify") .nes. "") then SAVE_VERIFY = f$verify(1) $! $! Setup operating environment $! $ set := $ set symbol/scope=(nolocal, noglobal) $! $ NETDEF = 0 $ DEFDIR = f$environment("DEFAULT") $ PCAPLIB = DEFDIR - "]" + ".-.PCAP.OBJ]" !!!! Directory of PCAP.OLB !!!! $! $ call define_concealed base_root 'DEFDIR' $ call define_concealed tcptrace_root 'DEFDIR' $! $ if f$trnlnm("src$") .eqs. "" then define src$ base_root:[000000] $ if f$trnlnm("lis$") .eqs. "" then define lis$ base_root:[lis] $ if f$trnlnm("obj$") .eqs. "" then define obj$ base_root:[obj] $ if f$trnlnm("exe$") .eqs. "" then define exe$ base_root:[exe] $ if f$trnlnm("map$") .eqs. "" then define map$ exe$ ! map file in exe dir $! $! Sanity test - make sure SRC$ points to these sources $! $ if f$search("src$:tcptrace.c") .eqs. "" $ then $ write sys$output "" $ write sys$output "Cannot find SRC$:TCPTRACE.C - Verify the logicals are correct" $ write sys$output "" $ write sys$output " SRC$ = ''f$trnlnm(""src$"")'" $ write sys$output " BASE_ROOT = ''f$trnlnm(""base_root"")'" $ write sys$output "" $ goto exit $ endif $! $! Create output directories if needed. $! $ if f$parse("lis$") .eqs. "" then create/dir/log lis$ $ if f$parse("obj$") .eqs. "" then create/dir/log obj$ $ if f$parse("exe$") .eqs. "" then create/dir/log exe$ $! $ if f$trnlnm("shrlib$") .eqs. "" then define shrlib$ 'PCAPLIB' $! $ P1 = f$edit(P1, "COLLAPSE,UPCASE") $ if "''P1'" .eqs. "CLEAN $ then $ write sys$output "Cleaning all output files..." $ set noon $ define/user sys$output nl: $ define/user sys$error nl: $ delete/nolog obj$:*.obj.*, lis$:*.lis.*, exe$:*.exe.*, - map$:*.map.*, exe$:*.dsf.*, obj$:*.opt.* $ set on $ goto exit $ endif $! $! Compiler gets confused with device NET0:, a DECnet device. $! This needs workaround when including files from net, eg. $! $ if f$trnlnm("net") .eqs. "" $ then $ define net src$ ! could be defined as junk $ NETDEF = 1 $ else $ write sys$output "NET is currently defined and will not be redefined" $ write sys$output " NET = ''f$trnlnm(""net"")'" $ endif $! $ ARCH = f$getsyi("ARCH_NAME") $ USER_NAME = f$user() $ SCSNODE = f$getsyi("NODENAME") $ TIME = f$time() $! $! Use of double-quote gets tricky for subsequent symbol substitution! $! $ DEFINES = ",BUILT_USER=""""""''USER_NAME'""""""" + - ",BUILT_HOST=""""""''SCSNODE'""""""" + - ",BUILT_DATE=""""""''TIME'""""""" $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! tcptrace supports reading compressed files with a little help... $! 1) If your system has "gunzip", then uncomment the following line to $! support on-the-fly decompression of ".gz" and ".Z" files... $ DEFINES = DEFINES + ",GUNZIP=""""""gunzip""""""" $! $! $! 2) Otherwise, if your system supports standard Unix "uncompress", $! then uncomment the following line to support on-the-fly $! decompression of ".Z" files... $!DEFINES = DEFINES + ",UNCOMPRESS=""""""uncompress""""""" $! $! $! 3) Also, we assume most systems have the "bunzip2" utility installed, $! if yours doesn't, you'll want to comment out the next line. $!DEFINES = DEFINES + ",BUNZIP2=""""""bunzip2""""""" $! $! $! - we'll do path search on the string you specify. If the program $! isn't in your path, you'll need to give the absolute path name. $! - if you want other formats, see the "compress.h" file. $! $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! If you want to read tcpdump output (which you probably do), $! you'll need the LBL PCAP library. If it's somewhere else, $! just modify the symbol. $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ PCAP_LDLIBS = "shrlib$:pcap/libr" $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! Plug-in modules. $! There's no reason that I can think of to remove them, but $! here they are. Just comment them out to omit them from $! the binary. $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! Experimental HTTP analysis module $! $ DEFINES = DEFINES + ",LOAD_MODULE_HTTP, HTTP_SAFE, HTTP_DUMP_TIMES" $! $! Experimental overall traffic by port module $! $ DEFINES = DEFINES + ",LOAD_MODULE_TRAFFIC" $! $! Experimental traffic data by time slices module $! $ DEFINES = DEFINES + ",LOAD_MODULE_SLICE" $! $! Experimental round trip time graphs $! $ DEFINES = DEFINES + ",LOAD_MODULE_RTTGRAPH" $! $! Experimental tcplib-data generating module $! $!DEFINES += -DLOAD_MODULE_TCPLIB $! $! Experimental module for a friend $! $ DEFINES = DEFINES + ",LOAD_MODULE_COLLIE" $! $! Example module for real-time mode $! $ DEFINES = DEFINES + ",LOAD_MODULE_REALTIME" $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! File formats that we understand. $! The only reason that I can see to remove one is if you don't $! have the PCAP library, in which case you can comment out $! GROK_TCPDUMP and still compile, but then you can't read the $! output from tcpdump. $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! define GROK_SNOOP if you want tcptrace to understand the output $! format of Sun's "snoop" packet sniffer. $ DEFINES = DEFINES + ",GROK_SNOOP" $! $! define GROK_TCPDUMP if you want tcptrace to understand the output $! format format of the LBL tcpdump program (see the file README.tcpdump $! for other options) $ DEFINES = DEFINES +",GROK_TCPDUMP" $! $! define GROK_NETM if you want tcptrace to understand the output $! format of HP's "netm" monitoring system's packet sniffer. $ DEFINES = DEFINES + ",GROK_NETM" $! $! define GROK_ETHERPEEK if you want tcptrace to understand the output $! format of the Macintosh program Etherpeek $!DEFINES = DEFINES + ",GROK_ETHERPEEK" $! $! define GROK_NS if you want tcptrace to understand the output $! format of the LBL network simulator, ns $ DEFINES = DEFINES + ",GROK_NS" $! $! define GROK_NLANR if you want tcptrace to understand the output $! format of the various NLANL tools $! (this doesn't work well yet, not recommended - Sat Dec 19, 1998) $! DEFINES = DEFINES + ",GROK_NLANR" $! $! define GROK_NETSCOUT if you want tcptrace to understand ascii $! formatted netscout output files $ DEFINES = DEFINES + ",GROK_NETSCOUT" $! $! If you get multiple defines for "inet_pton", then uncomment next define $! $! DEFINES = DEFINES + ",HAVE_INET_PTON=1" $! $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! Name of executable and name of foreign command used to run it. $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! Name of executable $ EXEFILE = "tcptrace" $ FOREIGN = "tcpanal" $! $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! You shouldn't need to change anything below this point $! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $ CC = "CC" $ CCOPT = "" $ INCLS = "" $! $ DEFINES = DEFINES + - ", SIZEOF_UNSIGNED_LONG_LONG_INT=8" + - ", SIZEOF_UNSIGNED_LONG_INT=4, SIZEOF_UNSIGNED_INT=4" + - ", SIZEOF_UNSIGNED_SHORT=2, HAVE_MKSTEMP=1" + - ", USE_LLU=1" $ DEFINES = DEFINES - "," ! remove leading , character $ CFLAGS = CCOPT $! $! Standard LIBS $ LDLIBS = PCAP_LDLIBS $! $! Source Files $! $ CFILES="compress, etherpeek, gcache, mfiles, names" + - ", netm, output, plotter, print, rexmit, snoop, nlanr" + - ", tcpdump, tcptrace, thruput, trace, ipv6" + - ", filt_scanner, filt_parser, filter, udp" + - ", ns, netscout, pool, poolaccess" + - ", dstring" $ MODULES=", mod_http, mod_traffic, mod_rttgraph, mod_tcplib, mod_collie" + - ", mod_slice, mod_realtime" MODSUPPORT=", dyncounter" VMS_FILES=", snprintf_vms" $! $! Retreive filt_parser and filt_scanner from flex_bison subdirectory. $! $ if f$search("src$:filt_parser.c") .eqs. "" $ then $ FLEX_BISON = DEFDIR - "]" + ".flex_bison]" $ write sys$output "Retreiving filt_parser and filt_scanner from ''FLEX_BISON'..." $ backup 'FLEX_BISON'filt_parser.c src$ $ backup 'FLEX_BISON'filt_parser.h src$ $ backup 'FLEX_BISON'filt_scanner.c src$ $ endif $! $ OFILES = CFILES + MODULES + MODSUPPORT + VMS_FILES $ OFILES = f$edit(OFILES,"TRIM,COMPRESS") $! $ CC_FILE = "" $ INDEX = 0 $ CC_OPTS = "" $ LINK_OPTS = "" $ if "''P1'" .eqs. "DEBUG" $ then $ write sys$output "Building debug image..." $ CC_OPTS = "/DEBUG/NOOPTIMIZE/LIS=lis$/SHOW=ALL" $ LINK_OPTS = "/DEBUG /DSF=exe$:''EXEFILE'/MAP=map$ /FULL /CROSS" $ endif $! $ cc_loop: $ FILE_NAME = f$edit(f$element(INDEX, ",", OFILES), "COLLAPSE") $ if FILE_NAME .eqs. "," then goto cc_done $ INDEX = INDEX + 1 $ ! $ ! Is file up to date? Compare revision date and time of $ ! OBJ file with C file. (Poor man's dependency checking). $ ! $ OUT_OF_DATE = "TRUE" $ OBJFILE = "obj$:" + FILE_NAME + ".obj" $ if f$search(OBJFILE) .nes. "" $ then $ RDT_C = f$cvtime(f$file_attributes("src$:" + FILE_NAME + ".c", "RDT")) $ RDT_OBJ = f$cvtime(f$file_attributes(OBJFILE, "RDT")) $ if RDT_C .lts. RDT_OBJ then OUT_OF_DATE = "FALSE" $ endif $ if OUT_OF_DATE .eqs. "TRUE" $ then $ CC_FILE = FILE_NAME $ write sys$output "Compiling src$:''CC_FILE'..." $ CC src$:'CC_FILE'+src$:includes_vms/libr - 'CC_OPTS' - /OBJ=obj$ - /WARN=(NOINFORMATIONALS) - /NAMES=AS_IS - /DEFINE=('DEFINES') $ CC_FILE = "" ! only executed if compile is successful $ else $ write sys$output "src$:''FILE_NAME' up to date." $ endif $ goto cc_loop $ cc_done: $! $ link_phase: $! $! Sanity check for link dependencies $! $ if f$search("shrlib$:pcap.olb") .eqs. "" $ then $ write sys$output "" $ write sys$output "Warning - SHRLIB$:PCAP.OLB not found" $ write sys$output "Verify logical SHRLIB$ is correct. Deassign it if needed." $ write sys$output "" $ write sys$output " SHRLIB$ = ''f$trnlnm(""shrlib$"")'" $ write sys$output "" $ goto exit $ endif $ OPTFILE = "src$:" + EXEFILE + ".opt" $ INDEX = 0 $! $ CC_FILE = "version" ! compile this each build $ write sys$output "Compiling src$:''CC_FILE'..." $ CC src$:'CC_FILE' - 'CC_OPTS' - /OBJ=obj$ - /WARN=(NOINFORMATIONALS) - /NAMES=AS_IS - /DEFINE=('DEFINES') $ CC_FILE = "" ! only executed if compile is successful $ write sys$output "Linking exe$:''EXEFILE'..." $ link 'LINK_OPTS' 'OPTFILE'/OPT /EXE=exe$:'EXEFILE' +'LDLIBS' $! $! All done. Create a foreign command to run this EXEFILE. $! $ write sys$output "Success!" $ write sys$output "Foreign command defined as:" $ set symbol/scope=(nolocal,global) ! need to define global symbol $ 'FOREIGN' :== $tcptrace_root:[exe]'EXEFILE'.exe $ show symbol 'FOREIGN' $ set symbol/scope=(nolocal,noglobal) $ write sys$output "Use foreign command ""''FOREIGN'"" to run ""''EXEFILE'""" $ goto exit $! $ file_error: $ write sys$output "Error writing file ''OPTFILE'" $ goto error_handler $! $ ctrly_handler: $ write sys$output " pressed. Exiting. $! $ error_handler: $ ! Assume module being compiled did not complete, so cleanup $ OBJFILE = "obj$:''CC_FILE'.obj" $ if f$search(OBJFILE) .nes. "" $ then $ write sys$output "Cleaning up ''OBJFILE'" $ delete/nolog 'OBJFILE';* $ endif $! $ exit: $ set noon $ if NETDEF .eq. 1 then deassign net $ if (f$type(SAVE_VERIFY) .eqs. "") then exit 1 $ exit 1 + (0 * 'f$verify(SAVE_VERIFY)') $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ define_concealed: $ subroutine $! $! P1 - name of concealed logical to be defined $! P2 - directory specification to become the root $! P3 - optional switches to the "define" command $! $! Contributed by John Gillings, Sydney CSC. $! $ CONC = f$trnlnm(f$parse(P2,,,"DEVICE") - ":") $ if f$locate("<",CONC) .lt. f$length(CONC) $ then $ L="<" $ R=">" $ else $ L="[" $ R="]" $ endif $ TRANS = (f$parse(P2,,,"DEVICE","NO_CONCEAL")+- f$parse(P2,L+"000000"+R,,"DIRECTORY","NO_CONCEAL")) - - (R+L)-("000000"+R)-("."+R)+"*"-".*"-"*"-R+("."+R)-(L+"."+R) $ define/translation_attributes=(terminal,concealed)'P3' 'P1' 'TRANS' $ exit 1 ! success $ endsubroutine tcptrace-6.6.7/mfiles.c0100644001217500001440000002402510126332227014473 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/mfiles.c,v 5.10 2004/09/28 18:59:35 mramadas Exp $"; /* * tcptrace.c - turn protocol monitor traces into xplot * * this set of functions allows a user to open "many files" * dispite the open file max limit. (Uses LRU) * * Author: Shawn Ostermann * Date: Tue Nov 1, 1994 */ #include struct mfile { FILE *stream; char *fname; MFILE *next; MFILE *prev; long fptr; }; /* local static routines */ static void Mcheck(MFILE *pmf); static void Mfopen_internal(MFILE *pmf, char *mode); static void Mf_totail(MFILE *pmf, MFILE *ptail); static void Mf_unlink(MFILE *pmf); static void M_closeold(void); static void M_mkdirp(char *directory); /* head and tail of LRU open file list */ MFILE mf_head; /* LEAST recently used */ MFILE mf_tail; /* MOST recently used */ MFILE mfc_head; /* closed files, LEAST recently closed */ MFILE mfc_tail; /* closed files, MOST recently closed */ void Minit(void) { mf_head.next = &mf_tail; mf_tail.prev = &mf_head; mf_head.fname = "HEAD"; mf_tail.fname = "TAIL"; mfc_head.next = &mfc_tail; mfc_tail.prev = &mfc_head; mfc_head.fname = "CLOSED HEAD"; mfc_tail.fname = "CLOSED TAIL"; } MFILE * Mfopen( char *fname, char *mode) { MFILE *pmf; char *directory; char *prefix; int len; if ((strcmp(mode,"w") != 0) && (strcmp(mode,"a") != 0)){ fprintf(stderr,"Sorry, Mfopen works only for mode \"w\" or \"a\"\n"); exit(-1); } pmf = (MFILE *) MallocZ(sizeof(MFILE)); /* use the directory specified by the user, if requested */ if (output_file_dir == NULL) directory = ""; else { directory = ExpandFormat(output_file_dir); M_mkdirp(directory); } /* attach a filename prefix, if the user asked for one */ if (output_file_prefix == NULL) prefix = ""; else prefix = ExpandFormat(output_file_prefix); len=strlen(fname)+strlen(directory)+strlen(prefix)+2; /* 2: for the slash and null */ pmf->fname = MallocZ(len); snprintf(pmf->fname,len,"%s%s%s%s", directory, (*directory)?"/":"", prefix, fname); // The 'b' in the file mode has no meaning in UNIX systems. // It has meaning in Operating Systems like Windows that // seem to treat text and binary files differently. if (strcmp(mode,"w") == 0) Mfopen_internal(pmf,"wb+"); else if (strcmp(mode,"a") == 0) Mfopen_internal(pmf,"ab+"); else { fprintf(stderr,"Mfopen: internal file mode inconsistancy\n"); exit(10); } /* put at the tail of the LRU list */ Mf_totail(pmf,&mf_tail); return(pmf); } /* not really an mfiles thing, but works even when we're out of fd's */ int Mfpipe( int pipes[2]) { int i; for (i=0; i <= 2; ++i) { if (pipe(pipes) == 0) return(0); if (errno != EMFILE) { perror("pipe"); exit(-1); } M_closeold(); } fprintf(stderr,"mfpipe - internal error, couldn't get pipes?\n"); exit(-1); } int Mfileno( MFILE *pmf) { /* Warning, I'll GIVE you the fd, but I won't guarantee that it'll stay */ /* where you want it if you call my functions back!!! */ Mcheck(pmf); return(fileno(pmf->stream)); } int Mvfprintf( MFILE *pmf, char *format, va_list ap) { int ret; Mcheck(pmf); ret = vfprintf(pmf->stream,format,ap); return(ret); } int Mfprintf( MFILE *pmf, char *format, ...) { va_list ap; int ret; va_start(ap,format); Mcheck(pmf); ret = vfprintf(pmf->stream,format,ap); va_end(ap); return(ret); } long Mftell( MFILE *pmf) { Mcheck(pmf); return(ftell(pmf->stream)); } int Mfseek( MFILE *pmf, long offset, int ptrname) { Mcheck(pmf); return(fseek(pmf->stream, offset, ptrname)); } int Mfwrite( void *buf, u_long size, u_long nitems, MFILE *pmf) { Mcheck(pmf); return(fwrite(buf,size,nitems,pmf->stream)); } int Mfclose( MFILE *pmf) { int ret; if (debug>1) fprintf(stderr,"Mfclose: called for file '%s'\n", pmf->fname); Mcheck(pmf); ret=fclose(pmf->stream); pmf->stream = NULL; return(ret); } int Mfflush( MFILE *pmf) { Mcheck(pmf); return(fflush(pmf->stream)); } static void Mfopen_internal( MFILE *pmf, char *mode) { FILE *stream; stream = fopen(pmf->fname,mode); if (stream == NULL) { if (errno != EMFILE) { perror(pmf->fname); exit(-1); } M_closeold(); /* now, try again */ stream = fopen(pmf->fname,mode); if (stream == NULL) { perror("fopen (second try)"); exit(-1); } } pmf->stream = stream; /* seek back to where we were last time, if this was previously opened */ if (pmf->fptr != 0) { if (fseek(stream, pmf->fptr, SEEK_SET) != 0) { perror("fseek"); exit(-1); } } return; } static void M_closeold(void) { MFILE *closehim; /* OK, close a file we haven't used for a while */ closehim = mf_head.next; closehim->fptr = ftell(closehim->stream); /* remember current position */ fclose(closehim->stream); closehim->stream = NULL; /* put closed file at the tail of the closed LRU list */ Mf_unlink(closehim); Mf_totail(closehim,&mfc_tail); if (debug > 1) fprintf(stderr,"Mfiles: too many files open, closed file '%s'\n", closehim->fname); } static void Mcheck( MFILE *pmf) { /* make sure that it's open */ if (pmf->stream == NULL) { if (debug > 1) fprintf(stderr,"Mcheck: re-opening file '%s'\n", pmf->fname); Mfopen_internal(pmf,"r+"); } /* put at the tail of the LRU list */ if (mf_tail.prev != pmf) { Mf_unlink(pmf); Mf_totail(pmf,&mf_tail); } } #ifdef OLD static void M_printlru(void) { MFILE *pmf; for (pmf = &mf_head; pmf; pmf=pmf->next) fprintf(stderr,"%s ==> ", pmf->fname); fprintf(stderr,"NULL \n"); for (pmf = &mfc_head; pmf; pmf=pmf->next) fprintf(stderr,"%s ==> ", pmf->fname); fprintf(stderr,"NULL \n"); } #endif /* OLD */ static void Mf_unlink( MFILE *pmf) { pmf->prev->next = pmf->next; pmf->next->prev = pmf->prev; } static void Mf_totail( MFILE *pmf, MFILE *ptail) { pmf->next = ptail; pmf->prev = ptail->prev; ptail->prev->next = pmf; ptail->prev = pmf; } /* try to create all of the directories in the argument */ /* like mkdirp() under Solaris, but that apparently isn't standard */ static void M_mkdirp(char *directory) { static dstring_t *pds = NULL; char *pch; char *temp; if (access(directory,W_OK) == 0) { /* it already exists */ return; } /* make a dynamic string to store the path components */ if (pds == NULL) pds = DSNew(); if (debug) fprintf(stderr,"Trying to create directory '%s'\n", directory); /* walk the directory and try to create the components */ pch = directory; while (pch) { pch = strchr(pch,'/'); /* N.B. pch will be null on the last go around */ /* copy that much of the directory */ DSErase(pds); if (pch) DSAppendStringN(pds,directory,(1 + pch - directory)); else DSAppendString(pds,directory); /* last loop */ temp = DSVal(pds); /* try to create it */ if (mkdir(temp,0755) == -1) { /* this will fail with EEXIST if the directory exists, which is fine */ if (errno != EEXIST) { /* couldn't make the directory */ perror(temp); fprintf(stderr, "Unable to create directory '%s' (as part of '%s')\n", temp, directory); exit(-1); } } else { if (debug) fprintf(stderr,"Created directory '%s'\n", temp); } /* if pch is NULL, then we're done and will fall out, else we need to increment pch past the current '/' */ if (pch) ++pch; } } tcptrace-6.6.7/mod_collie.c0100644001217500001440000002276607756700112015343 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED rcsid[] = "$Header: /usr/local/cvs/tcptrace/mod_collie.c,v 5.7 2003/11/19 14:38:02 sdo Exp $"; #ifdef LOAD_MODULE_COLLIE #include "mod_collie.h" /* this module was written as a favor for a friend, but serves as a */ /* useful little example of a quick hack... :-) */ /* additional info kept per connection */ struct conn_info { tcp_pair *ptp; struct conn_info *next; }; static struct conn_info *connhead = NULL; /* additional info kept per UDP pair */ struct uconn_info { udp_pair *pup; struct uconn_info *next; }; static struct uconn_info *uconnhead = NULL; /* locally-global info */ static char *collie_filename = NULL; static Bool print_labels = TRUE; /* local routines */ static struct conn_info *MakeConnRec(void); static struct uconn_info *MakeUDPConnRec(void); static char *collie_name(ipaddr ipaddress); static char *collie_dots(ipaddr ipaddress); static char *collie_time(struct timeval *ptime); static char *collie_date(time_t timestamp); static void ParseArgs(char *argstring); /* Set it up */ int collie_init( int argc, char *argv[]) { int i; int enable=0; char *args = NULL; for (i=1; i < argc; ++i) { if (!argv[i]) continue; /* argument already taken by another module... */ if (strncmp(argv[i],"-x",2) == 0) { if (strncasecmp(argv[i]+2,"collie",sizeof("collie")-1) == 0) { /* I want to be called */ args = argv[i]+(sizeof("-xcollie")-1); enable = 1; argv[i] = NULL; } } } if (!enable) return(0); /* don't call me again */ /* parse any arguments for ME */ ParseArgs(args); /* we don't want the normal output */ printsuppress = TRUE; /* please also include UDP packets */ do_udp = TRUE; return(1); /* TRUE means call collie_read and collie_done later */ } static struct conn_info * MakeConnRec(void) { struct conn_info *pci; pci = MallocZ(sizeof(struct conn_info)); /* chain it in (at head of list) */ pci->next = connhead; connhead = pci; return(pci); } static struct uconn_info * MakeUDPConnRec(void) { struct uconn_info *puci; puci = MallocZ(sizeof(struct uconn_info)); /* chain it in (at head of list) */ puci->next = uconnhead; uconnhead = puci; return(puci); } #define LABEL(str)(print_labels?str:"") #define DESCR(ptr)\ printf("\n"); \ printf("%s%s \n",\ LABEL("Session Start: "),\ collie_time(&(ptr)->first_time));\ printf("%s%s\n",\ LABEL("Session End: "),\ collie_time(&(ptr)->last_time));\ printf("%s%s\n",\ LABEL("Source IP address: "),\ collie_dots((ptr)->addr_pair.a_address));\ printf("%s%u\n",\ LABEL("Source Port: "),\ (unsigned)(ptr)->addr_pair.a_port);\ printf("%s%s\n",\ LABEL("Source Fully Qualified domain name: "),\ collie_name((ptr)->addr_pair.a_address));\ printf("%s%s\n",\ LABEL("Destination IP address: "),\ collie_dots((ptr)->addr_pair.b_address));\ printf("%s%u\n",\ LABEL("Destination Port: "),\ (unsigned)(ptr)->addr_pair.b_port);\ printf("%s%s\n",\ LABEL("Destination Fully Qualified domain name: "),\ collie_name((ptr)->addr_pair.b_address));\ printf("%s%" FS_ULL "\n",\ LABEL("Bytes Transferred Source to Destination: "),\ (ptr)->a2b.data_bytes);\ printf("%s%" FS_ULL "\n",\ LABEL("Bytes Transferred Destination to Source: "),\ (ptr)->b2a.data_bytes);\ printf("%s%" FS_ULL "\n",\ LABEL("Packets Transferred Source to Destination: "),\ (ptr)->a2b.packets);\ printf("%s%" FS_ULL "\n",\ LABEL("Packets Transferred Destination to Source: "),\ (ptr)->b2a.packets); void collie_done(void) { struct conn_info *pci; struct uconn_info *upci; struct stat statbuf; /* check the input file timestamp */ if (stat(collie_filename,&statbuf) != 0) { perror(collie_filename); exit(-1); } /* print meta information */ printf("\n"); printf("%s%s\n", LABEL("Source file: "), collie_filename); printf("%s%s\n", LABEL("File modification timestamp: "), collie_date(statbuf.st_mtime)); printf("%s%s\n", LABEL("First packet: "), collie_time(&first_packet)); printf("%s%s\n", LABEL("Last packet: "), collie_time(&last_packet)); /* print out the TCP connections */ if (print_labels) printf("\nTCP Connections\n"); for (pci=connhead; pci; pci=pci->next) { DESCR(pci->ptp) } /* print out the UDP connections */ if (print_labels) printf("\nUDP Connections\n"); for (upci=uconnhead; upci; upci=upci->next) { DESCR(upci->pup) } } /* called for each new file */ void collie_newfile( char *newfile, u_long filesize, Bool fcompressed) { if (collie_filename == NULL) collie_filename = strdup(newfile); else { fprintf(stderr,"\n\n\ Sorry, as the problem was defined, only a single file can be\n\ processed at a time\n"); exit(-1); } } void collie_usage(void) { printf("\t-xcollie\"[-ln]\tprovide connection summary\n"); printf("\t -l attach labels\n"); printf("\t -n no labels please\n"); } void * collie_newconn( tcp_pair *ptp) { struct conn_info *pci; pci = MakeConnRec(); pci->ptp = ptp; return(pci); } void * collie_newudpconn( udp_pair *pup) { struct uconn_info *puci; puci = MakeUDPConnRec(); puci->pup = pup; return(puci); } /* return the IP address in IPv4 or IPv6 dotted representation */ static char *collie_dots( ipaddr ipaddress) { char *pch; int map = resolve_ipaddresses; resolve_ipaddresses = 0; pch = HostName(ipaddress); resolve_ipaddresses = map; return(pch); } /* convert the IP address to a name */ static char *collie_name( ipaddr ipaddress) { char *pch; int map = resolve_ipaddresses; resolve_ipaddresses = 1; pch = HostName(ipaddress); resolve_ipaddresses = map; return(pch); } /* return a date stamp that we like */ /* Unix format: "Fri Sep 13 00:00:00 1986\n" */ /* 1 2 */ /* 012345678901234567890123456 */ static char * collie_date( time_t timestamp) { struct tm *ptm; char *now; ptm = localtime(×tamp); now = asctime(ptm); /* nuke the newline */ now[24] = '\00'; return(now); } /* return a time stamp that we like */ /* Unix format: "Fri Sep 13 00:00:00 1986\n" */ /* 1 2 */ /* 012345678901234567890123456 */ static char * collie_time( struct timeval *ptime) { char *now; now = ts2ascii(ptime); return(now); } static void ParseArgs(char *argstring) { int argc; char **argv; int i; /* make sure there ARE arguments */ if (!(argstring && *argstring)) return; /* break the string into normal arguments */ StringToArgv(argstring,&argc,&argv); /* check the module args */ for (i=1; i < argc; ++i) { if (debug > 1) printf("Checking argv[%d]:%s\n", i, argv[i]); if (strcmp(argv[i],"-d") == 0) { debug = 1; } else if (strcmp(argv[i],"-l") == 0) { print_labels = TRUE; } else if (strcmp(argv[i],"-n") == 0) { print_labels = FALSE; } else { fprintf(stderr,"Collie module: bad argument '%s'\n", argv[i]); exit(-1); } } } #endif /* LOAD_MODULE_COLLIE */ tcptrace-6.6.7/mod_collie.h0100644001217500001440000000524107756700117015342 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_collie[] = "@(#)$Header: /usr/local/cvs/tcptrace/mod_collie.h,v 5.4 2003/11/19 14:38:07 sdo Exp $"; /* header file for collie.c */ int collie_init(int argc, char *argv[]); void collie_done(void); void collie_usage(void); void *collie_newconn(tcp_pair *ptp); void *collie_newudpconn(udp_pair *pup); void collie_newfile(char *newfile, u_long filesize, Bool fcompressed); tcptrace-6.6.7/mod_http.c0100644001217500001440000012433707756700112015050 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED rcsid[] = "$Header: /usr/local/cvs/tcptrace/mod_http.c,v 5.13 2003/11/19 14:38:02 sdo Exp $"; #ifdef LOAD_MODULE_HTTP #include #include "mod_http.h" #define DEFAULT_SERVER_PORT 80 /* Revised HTTP module with a new HTTP parser provided by Bruce Mah */ /* codes for different message types */ typedef enum { MethodCodeOptions, MethodCodeGet, MethodCodeHead, MethodCodePost, MethodCodePut, MethodCodeDelete, MethodCodeTrace, MethodCodeUnknown } MethodCode; char *MethodCodeString[] = { "OPTIONS", "GET", "HEAD", "POST", "PUT", "DELETE", "TRACE" }; /* info gathered for each GET */ struct get_info { timeval get_time; /* when CLIENT sent GET */ timeval send_time; /* when SERVER sent CONTENT */ timeval lastbyte_time; /* when SERVER sent last byte of CONTENT */ timeval ack_time; /* when CLIENT acked CONTENT */ unsigned request_position; /* byte offset for this request */ unsigned reply_position; /* byte offset for this reply */ MethodCode method; /* HTTP method code */ unsigned response_code; /* HTTP response code */ unsigned content_length; /* as reported by server */ char *get_string; /* content of GET string */ char *content_type; /* MIME type */ struct get_info *next; }; /* linked list of times */ struct time_stamp { timeval thetime; u_long position; struct time_stamp *next; struct time_stamp *prev; }; /* info kept for each client */ static struct client_info { PLOTTER plotter; char *clientname; struct client_info *next; } *client_head = NULL; /* info kept for each connection */ static struct http_info { timeval c_syn_time; /* when CLIENT sent SYN */ timeval s_syn_time; /* when SERVER sent SYN */ timeval c_fin_time; /* when CLIENT sent FIN */ timeval s_fin_time; /* when SERVER sent FIN */ /* client record */ struct client_info *pclient; /* info about the TCP connection */ tcp_pair *ptp; tcb *tcb_client; tcb *tcb_server; /* aggregate statistics for HTTP requests on this connection*/ /* some of this info is available in *tcb_client and *tcb_server */ /* but we keep a copy of it here to keep all useful info in one place */ unsigned total_request_length; unsigned total_reply_length; unsigned total_request_count; unsigned total_reply_count; /* when querries (GETs) were sent by client */ struct time_stamp get_head; struct time_stamp get_tail; /* when answers (CONTENT) were sent by server */ struct time_stamp data_head; struct time_stamp data_tail; /* when answers (CONTENT) were acked by client */ struct time_stamp ack_head; struct time_stamp ack_tail; /* linked list of requests */ struct get_info *gets_head; struct get_info *gets_tail; struct http_info *next; } *httphead = NULL, *httptail = NULL; /* which port are we monitoring?? */ static unsigned httpd_port; /* local routines */ static timeval WhenSent(struct time_stamp *phead, struct time_stamp *ptail, u_long position); static timeval WhenAcked(struct time_stamp *phead, struct time_stamp *ptail, u_long position); static void MFUnMap(MFILE *mf, char *firstbyte); static void MFMap(MFILE *mf, char **firstbyte, char **lastbyte); static void FindGets(struct http_info *ph); static void FindContent(struct http_info *ph); static void HttpGather(struct http_info *ph); static struct http_info *MakeHttpRec(void); static struct get_info *MakeGetRec(struct http_info *ph); static u_long DataOffset(tcb *tcb, seqnum seq); static void AddGetTS(struct http_info *ph, u_long position); static void AddDataTS(struct http_info *ph, u_long position); static void AddAckTS(struct http_info *ph, u_long position); static void AddTS(struct time_stamp *phead, struct time_stamp *ptail, u_long position); static double ts2d(timeval *pt); static void HttpPrintone(MFILE *pmf, struct http_info *ph); static void HttpDoPlot(void); static struct client_info *FindClient(char *clientname); /* useful macros */ #define IS_CLIENT(ptcp) (ntohs((ptcp)->th_dport) == httpd_port) #define IS_SERVER(ptcp) (ntohs((ptcp)->th_dport) != httpd_port) /* Mostly as a module example, here's a plug in that records HTTP info */ int http_init( int argc, char *argv[]) { int i; int enable=0; /* look for "-xhttp[N]" */ for (i=1; i < argc; ++i) { if (!argv[i]) continue; /* argument already taken by another module... */ if (strncmp(argv[i],"-x",2) == 0) { if (strncasecmp(argv[i]+2,"http",4) == 0) { /* I want to be called */ enable = 1; if (isdigit((int)(argv[i][6]))) { httpd_port = atoi(argv[i]+6); } else { httpd_port = DEFAULT_SERVER_PORT; } printf("mod_http: Capturing HTTP traffic (port %d)\n", httpd_port); argv[i] = NULL; } } } if (!enable) return(0); /* don't call me again */ /* init stuff */ /* We need to save the contents for accurate reconstruction of questions */ /* and answers */ save_tcp_data = TRUE; return(1); /* TRUE means call http_read and http_done later */ } /* N.B. first byte is position _1_ */ static u_long DataOffset( tcb *tcb, seqnum seq) { u_long off; /* we're going to be a little lazy and assume that a http connection */ /* can't be longer than 2**32 */ if (seq > tcb->syn) off = seq-tcb->syn; else off = tcb->syn-seq; if (debug>1) fprintf(stderr,"DataOffset: seq is %lu, syn is %lu, offset is %ld\n", seq, tcb->syn, off); return(off); } static struct get_info * MakeGetRec( struct http_info *ph) { struct get_info *pg; pg = MallocZ(sizeof(struct get_info)); /* initialize some fields */ pg->get_string = "- -"; pg->content_type = "-/-"; /* put at the end of the chain */ if (ph->gets_head == NULL) { ph->gets_head = pg; ph->gets_tail = pg; } else { ph->gets_tail->next = pg; ph->gets_tail = pg; } return(pg); } static struct http_info * MakeHttpRec() { struct http_info *ph; ph = MallocZ(sizeof(struct http_info)); ph->get_head.next = &ph->get_tail; ph->get_tail.prev = &ph->get_head; ph->get_tail.position = 0xffffffff; ph->data_head.next = &ph->data_tail; ph->data_tail.prev = &ph->data_head; ph->data_tail.position = 0xffffffff; ph->ack_head.next = &ph->ack_tail; ph->ack_tail.prev = &ph->ack_head; ph->ack_tail.position = 0xffffffff; /* chain it in (at the tail of the list) */ if (httphead == NULL) { httphead = ph; httptail = ph; } else { httptail->next = ph; httptail = ph; } return(ph); } static void AddGetTS( struct http_info *ph, u_long position) { AddTS(&ph->get_head,&ph->get_tail,position); } static void AddDataTS( struct http_info *ph, u_long position) { AddTS(&ph->data_head,&ph->data_tail,position); } static void AddAckTS( struct http_info *ph, u_long position) { AddTS(&ph->ack_head,&ph->ack_tail,position); } /* add a timestamp to the record */ /* HEAD points to the smallest position numbers */ /* TAIL points to the largest position numbers */ static void AddTS( struct time_stamp *phead, struct time_stamp *ptail, u_long position) { struct time_stamp *pts; struct time_stamp *pts_new; pts_new = MallocZ(sizeof(struct time_stamp)); pts_new->thetime = current_time; pts_new->position = position; for (pts = ptail->prev; pts != NULL; pts = pts->prev) { if (position == pts->position) return; /* ignore duplicates */ if (position > pts->position) { /* it goes AFTER this one (pts) */ pts_new->next = pts->next; pts_new->prev = pts; pts->next = pts_new; pts_new->next->prev = pts_new; return; } } /* can't fail, the tail has timestamp 0 */ } static struct client_info * FindClient( char *clientname) { struct client_info *p; for (p=client_head; p; p = p->next) { if (strcmp(clientname,p->clientname)==0) { return(p); } } /* else, make one up */ p = MallocZ(sizeof(struct client_info)); p->next = client_head; client_head = p; p->clientname = strdup(clientname); p->plotter = NO_PLOTTER; return(p); } void http_read( struct ip *pip, /* the packet */ tcp_pair *ptp, /* info I have about this connection */ void *plast, /* past byte in the packet */ void *mod_data) /* module specific info for this connection */ { struct tcphdr *ptcp; unsigned tcp_length; unsigned tcp_data_length; char *pdata; struct http_info *ph = mod_data; /* find the start of the TCP header */ ptcp = (struct tcphdr *) ((char *)pip + 4*IP_HL(pip)); tcp_length = ntohs(pip->ip_len) - (4 * IP_HL(pip)); tcp_data_length = tcp_length - (4 * TH_OFF(ptcp)); /* verify port */ if ((ntohs(ptcp->th_sport) != httpd_port) && (ntohs(ptcp->th_dport) != httpd_port)) return; /* find the data */ pdata = (char *)ptcp + (unsigned)TH_OFF(ptcp)*4; /* for client, record both ACKs and DATA time stamps */ if (ph && IS_CLIENT(ptcp)) { if (tcp_data_length > 0) { AddGetTS(ph,DataOffset(ph->tcb_client,ntohl(ptcp->th_seq))); } if (ACK_SET(ptcp)) { if (debug > 4) printf("Client acks %ld\n", DataOffset(ph->tcb_server,ntohl(ptcp->th_ack))); AddAckTS(ph,DataOffset(ph->tcb_server,ntohl(ptcp->th_ack))); } } /* for server, record DATA time stamps */ if (ph && IS_SERVER(ptcp)) { if (tcp_data_length > 0) { AddDataTS(ph,DataOffset(ph->tcb_server,ntohl(ptcp->th_seq))); if (debug > 5) { printf("Server sends %ld thru %ld\n", DataOffset(ph->tcb_server,ntohl(ptcp->th_seq)), DataOffset(ph->tcb_server,ntohl(ptcp->th_seq))+tcp_data_length-1); } } } /* we also want the time that the FINs were sent */ if (ph && FIN_SET(ptcp)) { if (IS_SERVER(ptcp)) { /* server */ if (ZERO_TIME(&(ph->s_fin_time))) ph->s_fin_time = current_time; } else { /* client */ if (ZERO_TIME(&ph->c_fin_time)) ph->c_fin_time = current_time; } } /* we also want the time that the SYNs were sent */ if (ph && SYN_SET(ptcp)) { if (IS_SERVER(ptcp)) { /* server */ if (ZERO_TIME(&ph->s_syn_time)) ph->s_syn_time = current_time; } else { /* client */ if (ZERO_TIME(&ph->c_syn_time)) ph->c_syn_time = current_time; } } } static double ts2d(timeval *pt) { double d; d = pt->tv_sec; d += (double)pt->tv_usec/1000000; return(d); } static void MFMap( MFILE *mf, char **firstbyte, char **lastbyte) { int fd; char *vaddr; int len; /* find length of file */ if (Mfseek(mf,0,SEEK_END) != 0) { perror("fseek"); exit(-1); } len = Mftell(mf); if (len == 0) { *firstbyte = NULL; *lastbyte = NULL; return; } /* Memory map the entire file */ fd = Mfileno(mf); vaddr = mmap((caddr_t) 0, /* put it anywhere */ len, /* fixed size */ PROT_READ, /* read only */ MAP_PRIVATE, /* won't be sharing... */ fd, /* attach to 'fd' */ (off_t) 0); /* ... offset 0 in 'fd' */ if (vaddr == (char *) -1) { perror("mmap"); exit(-1); } *firstbyte = vaddr; *lastbyte = vaddr+len-1; return; } static void MFUnMap( MFILE *mf, char *firstbyte) { int fd; int len; /* find length of file */ if (Mfseek(mf,0,SEEK_END) != 0) { perror("fseek"); exit(-1); } len = Mftell(mf); /* unmap it */ fd = Mfileno(mf); if (munmap(firstbyte,len) != 0) { perror("munmap"); exit(-1); } return; } static void HttpGather( struct http_info *ph) { while (ph) { if (ph->tcb_client->extr_contents_file && ph->tcb_server->extr_contents_file) { FindGets(ph); FindContent(ph); } ph = ph->next; } } static void PrintTSChain( struct time_stamp *phead, struct time_stamp *ptail) { struct time_stamp *pts; for (pts = phead->next; pts != ptail; pts = pts->next) { printf("Pos: %ld time: %s\n", pts->position, ts2ascii(&pts->thetime)); } } /* when was the byte at offset "position" acked?? */ /* return the timeval for the record of the smallest position >= "position" */ static timeval WhenAcked( struct time_stamp *phead, struct time_stamp *ptail, u_long position) { struct time_stamp *pts; timeval epoch = {0,0}; if (debug > 10) { printf("pos:%ld, Chain:\n", position); PrintTSChain(phead,ptail); } for (pts = phead->next; pts != NULL; pts = pts->next) { /* fprintf(stderr,"Checking pos %ld against %ld\n", */ /* position, pts->position); */ if (pts->position >= position) { /* sent after this one */ return(pts->thetime); } } /* fails if we can't find it */ return(epoch); } /* when was the byte at offset "position" sent?? */ /* return the timeval for the record of the largest position <= "position" */ static timeval WhenSent( struct time_stamp *phead, struct time_stamp *ptail, u_long position) { struct time_stamp *pts; timeval epoch = {0,0}; if (debug > 10) { printf("pos:%ld, Chain:\n", position); PrintTSChain(phead,ptail); } for (pts = ptail->prev; pts != phead; pts = pts->prev) { /* fprintf(stderr,"Checking pos %ld against %ld\n", */ /* position, pts->position); */ if (pts->position <= position) { /* sent after this one */ return(pts->thetime); } } /* fails if we can't find it */ return(epoch); } static void FindContent( struct http_info *ph) { tcb *tcb = ph->tcb_server; MFILE *mf = tcb->extr_contents_file; char *pdata; char *plast; char *pch; char *pch2; struct get_info *pget; char getbuf[1024]; u_long position = 0; unsigned last_position = 0; int done; int i; typedef enum { ContentStateStartHttp, ContentStateFinishHttp, ContentStateFindResponse, ContentStateFindContentLength, ContentStateFinishHeader} StateType; StateType state; pget = ph->gets_head; if ((mf) && (pget)) { state = ContentStateStartHttp; done = 0; /* Memory map the entire file (I hope it's short!) */ MFMap(mf,&pdata,&plast); if (pdata == NULL) { return; } pch = pdata; ph->total_reply_length = (unsigned) (plast - pdata); ph->total_reply_count= 0; while ((!done) && (pch <= (char *) plast)) { switch (state) { /* Start state: Find "HTTP/" that begins a response */ case (ContentStateStartHttp): { if (strncasecmp(pch, "HTTP/", 5) == 0) { /* Found start of a response */ state = ContentStateFinishHttp; position = pch - pdata + 1; pget->reply_position = position; pch += 5; } else { pch++; } } break; /* Finish off HTTP string (version number) by looking for whitespace */ case (ContentStateFinishHttp): { if (*(pch) == ' ') { state = ContentStateFindResponse; } else { pch++; } } break; /* Look for response code by finding non-whitespace. */ case (ContentStateFindResponse): { if (*(pch) != ' ') { pget->response_code = atoi(pch); pch += 3; state = ContentStateFindContentLength; } else { pch++; } } break; /* this state is now misnamed since we pull out other */ /* headers than just content-length now. */ case (ContentStateFindContentLength): { if (strncasecmp(pch, "\r\nContent-Length:", 17) == 0) { /* Got content-length field, ignore rest of header */ pget->content_length = atoi(&(pch[17])); pch += 18; } else if (strncasecmp(pch, "\r\nContent-Type:", 15) == 0) { /* Get content-type field, skipping leading spaces */ pch += 15; while (*pch == ' ') { pch++; } for (i=0,pch2 = pch; ; ++i, ++pch2) { if ((*pch2 == '\n') || (*pch2 == '\r') || (i >= sizeof(getbuf)-1)) { getbuf[i] = '\00'; pch = pch2; /* skip forward */ break; } getbuf[i] = *pch2; } /* If there are any spaces in the Content-Type */ /* field, we need to truncate at that point */ { char *sp; sp = (char *)index(getbuf, ' '); if (sp) { *sp = '\00'; } } pget->content_type = strdup(getbuf); } else if (strncmp(pch, "\r\n\r\n", 4) == 0) { /* No content-length header detected */ /* No increment for pch here, effectively fall through */ /* pget->content_length = 0; */ state = ContentStateFinishHeader; } else { pch++; } } break; /* Skip over the rest of the header */ case (ContentStateFinishHeader): { if (strncmp(pch, "\r\n\r\n", 4) == 0) { /* Found end of header */ pch += 4; /* * At this point, we need to find the end of the * response body. There's a variety of ways to * do this, but in any case, we need to make sure * that pget->content_length, pch, and last_postiion * are all set appropriately. * * See if we can ignore the body. We can do this * for the reply to HEAD, for a 204 (no content), * 205 (reset content), or 304 (not modified). */ if ((pget->method == MethodCodeHead) || (pget->response_code == 204) || (pget->response_code == 205) || (pget->response_code == 304)) { pget->content_length = 0; } /* * Use content-length header if one was present. * XXX is content_length > 0 the right test? */ else if (pget->content_length > 0) { pch += pget->content_length; } /* * No content-length header, so delimit response * by end of file. * * But, make sure we do not have a "\r\n\r\n" string * in the response, because that might indicate the * beginning of a following response. * (Patch from Yufei Wang) */ else { char *start = pch; while (pch <= (char *)plast) { if (strncmp(pch, "\r\n\r\n", 4) == 0) { pch += 4; state = ContentStateStartHttp; break; } else { pch++; } } if (state == ContentStateStartHttp) { pget->content_length = pch - start; } else { /* calculate the content length */ pget->content_length = plast - start + 1; pch = plast + 1; } } /* Set next state and do original tcptrace * processing based on what we learned above. */ state = ContentStateStartHttp; last_position = pch - pdata + 1; /* when was the first byte sent? */ pget->send_time = WhenSent(&ph->data_head,&ph->data_tail,position); /* when was the LAST byte sent? */ pget->lastbyte_time = WhenSent(&ph->data_head,&ph->data_tail,last_position); /* when was the last byte ACKed? */ if (debug > 4) printf("Content length: %d\n", pget->content_length); pget->ack_time = WhenAcked(&ph->ack_head,&ph->ack_tail,last_position); /* increment our counts */ ph->total_reply_count++; /* skip to the next request */ pget = pget->next; if (!pget) { /* no more questions, quit */ done = 1; break; } } else { pch++; } } break; } } MFUnMap(mf,pdata); } else { if (debug > 4) { printf("FindContent() with null server contents"); } } } static char * formatGetString(char * s) { int len = strlen(s); int i = 0; int j = 0; char *buf = (char *)malloc(len); char ascii[2]; while (i < len) { if (s[i] == '%') { ascii[0] = s[i+1]; ascii[1] = s[i+2]; buf[j++] = atoi(ascii); i = i+3; } else { buf[j++] = s[i]; i++; } } buf[j] = 0; return buf; } static void FindGets( struct http_info *ph) { tcb *tcb = ph->tcb_client; MFILE *mf = tcb->extr_contents_file; char *pdata; char *plast; char *pch; char *pch2; struct get_info *pget = NULL; char getbuf[1024]; u_long position = 0; int j; int methodlen; unsigned long long contentLength = 0; typedef enum { GetStateStartMethod, GetStateFinishMethod, GetStateFindContentLength, GetStateFinishHeader } StateType; StateType state; if (mf) { /* Memory map the entire file (I hope it's short!) */ MFMap(mf,&pdata,&plast); if (pdata == NULL) { return; } ph->total_request_length = (unsigned) (plast - pdata); ph->total_request_count = 0; state = GetStateStartMethod; /* search for method string*/ pch = pdata; while (pch <= (char *)plast) { switch (state) { /* Start state: Find access method keyword */ case (GetStateStartMethod): { /* Try to find a word describing a method. These * are all the methods defined in * draft-ietf-http-v11-spec-rev-06 */ MethodCode method = MethodCodeUnknown; methodlen = 0; if (strncasecmp(pch, "options ", 8) == 0) { methodlen = 8; method = MethodCodeOptions; } else if (strncasecmp(pch, "get ", 4) == 0) { methodlen = 4; method = MethodCodeGet; } else if (strncasecmp(pch, "head ", 5) == 0) { methodlen = 5; method = MethodCodeHead; } else if (strncasecmp(pch, "post ", 5) == 0) { methodlen = 5; method = MethodCodePost; } else if (strncasecmp(pch, "put ", 4) == 0) { methodlen = 4; method = MethodCodePut; } else if (strncasecmp(pch, "delete ", 7) == 0) { methodlen = 7; method = MethodCodeDelete; } else if (strncasecmp(pch, "trace ", 6) == 0) { methodlen = 6; method = MethodCodeTrace; } if (methodlen > 0) { /* make a new record for this entry */ pget = MakeGetRec(ph); /* remember where it started */ position = pch - pdata + 1; pget->request_position = position; pget->reply_position = 0; pget->method = method; contentLength = 0; pch += methodlen; state = GetStateFinishMethod; } else { /* Couldn't find a valid method, so increment */ /* and attempt to resynchronize. This shouldn't */ /* happen often. */ pch++; } }; break; case (GetStateFinishMethod): { /* grab the GET string */ for (j=0,pch2 = pch; ; ++j,++pch2) { if ((*pch2 == '\n') || (*pch2 == '\r') || (j >= sizeof(getbuf)-1)) { getbuf[j] = '\00'; pch = pch2; /* skip forward */ state = GetStateFindContentLength; break; } getbuf[j] = *pch2; } pget->get_string = formatGetString(getbuf); /* grab the time stamps */ pget->get_time = WhenSent(&ph->get_head,&ph->get_tail,position); ph->total_request_count++; } break; /* Locate content-length field, if any */ case (GetStateFindContentLength): { if (strncasecmp(pch, "\r\nContent-Length:", 17) == 0) { /* Get content-length field */ contentLength = atoi(&pch[17]); pch += 17; } else if (strncmp(pch, "\r\n\r\n", 4) == 0) { /* No content-length header detected, assume */ /* zero. Fall through (effective). */ /* contentLength = 0; */ state = GetStateFinishHeader; } else { pch++; } } break; case (GetStateFinishHeader): { if (strncmp(pch, "\r\n\r\n", 4) == 0) { /* Found end of header */ pch += 4; /* Find end of response body. */ if (contentLength > 0) { pch += contentLength; } else { /* XXX What if a POST with no content-length? */ } state = GetStateStartMethod; } else { pch++; } } break; } } MFUnMap(mf,pdata); } else { if (debug > 4) { printf("FindGets() with null client contents"); } } } static void HttpDoPlot() { struct http_info *ph; struct get_info *pget; int y_axis = 1000; int ix_color = 0; char buf[100]; struct time_stamp *pts; /* sort by increasing order of TCP connection startup */ /* (makes the graphs look better) */ for (ph=httphead; ph; ph=ph->next) { PLOTTER p = ph->pclient->plotter; tcp_pair *ptp = ph->ptp; tcb a2b, b2a; if (ptp == NULL) continue; a2b = ptp->a2b; b2a = ptp->b2a; ix_color = (ix_color + 1) % NCOLORS; /* find the plotter for this client */ if (p==NO_PLOTTER) { char title[256]; snprintf(title, sizeof(title), "Client %s HTTP trace\n", ph->pclient->clientname); p = ph->pclient->plotter = new_plotter(&ptp->a2b, ph->pclient->clientname, /* file name prefix */ title, /* plot title */ "time", /* X axis */ "URL", /* Y axis */ "_http.xpl"); /* file suffix */ } y_axis += 2; /* plot the TCP connection lifetime */ plotter_perm_color(p,ColorNames[ix_color]); plotter_larrow(p, ph->ptp->first_time, y_axis); plotter_rarrow(p, ph->ptp->last_time, y_axis); plotter_line(p, ph->ptp->first_time, y_axis, ph->ptp->last_time, y_axis); /* label the connection */ plotter_text(p,ph->ptp->first_time,y_axis,"b", (snprintf(buf, sizeof(buf), "%s ==> %s", ph->ptp->a_endpoint, ph->ptp->b_endpoint), buf)); /* mark the data packets */ for (pts=ph->data_head.next; pts->next; pts=pts->next) { plotter_tick(p,pts->thetime,y_axis,'d'); } /* plot the SYN's */ if (!ZERO_TIME(&ph->c_syn_time)) { plotter_tick(p,ph->c_syn_time,y_axis,'u'); plotter_text(p,ph->c_syn_time,y_axis,"a","Clnt SYN"); } if (!ZERO_TIME(&ph->s_syn_time)) { plotter_tick(p,ph->s_syn_time,y_axis,'u'); plotter_text(p,ph->s_syn_time,y_axis,"a","Serv SYN"); } /* plot the FINs */ if (!ZERO_TIME(&ph->c_fin_time)) { plotter_tick(p,ph->c_fin_time,y_axis,'u'); plotter_text(p,ph->c_fin_time,y_axis,"a","Clnt FIN"); } if (!ZERO_TIME(&ph->s_fin_time)) { plotter_tick(p,ph->s_fin_time,y_axis,'u'); plotter_text(p,ph->s_fin_time,y_axis,"a","Serv FIN"); } y_axis += 4; for (pget = ph->gets_head; pget; pget = pget->next) { if (ZERO_TIME(&pget->send_time) || ZERO_TIME(&pget->get_time) || ZERO_TIME(&pget->ack_time)) continue; plotter_temp_color(p,"white"); plotter_text(p, pget->get_time, y_axis, "l", pget->get_string); plotter_diamond(p, pget->get_time, y_axis); plotter_larrow(p, pget->send_time, y_axis); plotter_rarrow(p, pget->lastbyte_time, y_axis); plotter_line(p, pget->send_time, y_axis, pget->lastbyte_time, y_axis); plotter_temp_color(p,"white"); plotter_text(p, pget->lastbyte_time, y_axis, "r", (snprintf(buf, sizeof(buf), "%d",pget->content_length),buf)); plotter_diamond(p, pget->ack_time, y_axis); #ifdef CLUTTERED plotter_temp_color(p,"white"); plotter_text(p, pget->ack_time, y_axis, "b", "ACK"); #endif /* CLUTTERED */ y_axis += 2; } } } static void HttpPrintone( MFILE *pmf, struct http_info *ph) { tcp_pair *ptp = ph->ptp; tcb *pab = &ptp->a2b; tcb *pba = &ptp->b2a; struct get_info *pget = NULL; u_long missing; double etime; if (!ptp) return; printf("%s ==> %s (%s2%s)\n", ptp->a_endpoint, ptp->b_endpoint, ptp->a2b.host_letter, ptp->b2a.host_letter); printf(" Server Syn Time: %s (%.3f)\n", ts2ascii(&ph->s_syn_time), ts2d(&ph->s_syn_time)); printf(" Client Syn Time: %s (%.3f)\n", ts2ascii(&ph->c_syn_time), ts2d(&ph->c_syn_time)); /* From the patch by Yufei Wang * Print "Server Rst Time" if the last segment we saw was a RST * "Server Fin Time" if we saw a FIN * "Server Last Time" if neither FIN/RST was received to indicate * the time the last segment was seen from the * server. */ if ((pba->fin_count == 0) && (pba->reset_count > 0)) { printf(" Server Rst Time: %s (%.3f)\n", ts2ascii(&pba->last_time), ts2d(&pba->last_time)); } else if (pba->fin_count == 0) { printf(" Server Last Time: %s (%.3f)\n", ts2ascii(&pba->last_time), ts2d(&pba->last_time)); } else { printf(" Server Fin Time: %s (%.3f)\n", ts2ascii(&ph->s_fin_time), ts2d(&ph->s_fin_time)); } /* Similarly information is printed out for the Client end-point.*/ if ((pab->fin_count == 0) && (pab->reset_count > 0)) { printf(" Client Rst Time: %s (%.3f)\n", ts2ascii(&pab->last_time), ts2d(&pab->last_time)); } else if (pab->fin_count == 0) { printf(" Client Last Time: %s (%.3f)\n", ts2ascii(&pab->last_time), ts2d(&pab->last_time)); } else { printf(" Client Fin Time: %s (%.3f)\n", ts2ascii(&ph->c_fin_time), ts2d(&ph->c_fin_time)); } #ifdef HTTP_SAFE /* check the SYNs */ if ((pab->syn_count == 0) || (pba->syn_count == 0)) { printf("\ No additional information available, beginning of \ connection (SYNs) were not found in trace file.\n"); return; } /* check if we had RSTs (Patch from Yufei Wang)*/ if ((pab->reset_count > 0) || (pba->reset_count > 0)) { /* Do nothing */ } /* check the FINs */ /* Note from Yufei Wang : If we see a FIN from only one direction, * we shall not panic, but print out information that we have under the * assumption that either a RST was sent in the missing direction or the * FIN segment was lost from packet capture. The information we have * is still worth printing out. Hence we have a "&&" instead of a "||" * in the following condition. */ else if ((pab->fin_count == 0) && (pba->fin_count == 0)) { printf("\ No additional information available, end of \ connection (FINs) were not found in trace file.\n"); return; } #endif /* HTTP_SAFE */ /* see if we got all the bytes */ missing = pab->trunc_bytes + pba->trunc_bytes; /* Patch from Yufei Wang : * Adding in a check to see if the connection were closed with RST/FIN * and calculating the "missing" field appropriately */ if (pab->fin_count > 0) missing += ( (pab->fin - pab->syn -1)- pab->unique_bytes); else if (pab->reset_count > 0) { /* Check to make sure if no segments were observed between SYN and RST * The following check does not work if file is huge and seq space rolled * over - To be fixed - Mani */ if (pab->latest_seq != pab->syn) missing += ( (pab->latest_seq - pab->syn -1) - pab->unique_bytes); } if (pba->fin_count > 0) missing += ( (pba->fin - pba->syn -1)- pba->unique_bytes); else if (pba->reset_count > 0) { /* Check to make sure if no segments were observed between SYN and RST * The following check does not work if file is huge and seq space rolled * over - To be fixed - Mani */ if (pba->latest_seq != pba->syn) missing += ( (pba->latest_seq - pba->syn -1) - pba->unique_bytes); } if (missing != 0) printf("WARNING!!!! Information may be invalid, %ld bytes were not captured\n", missing); #ifdef HTTP_DUMP_TIMES Mfprintf(pmf, "conn %s %s %s2%s %u %u %u %u\n", ptp->a_endpoint, ptp->b_endpoint, ptp->a2b.host_letter, ptp->b2a.host_letter, ph->total_request_length, ph->total_request_count, ph->total_reply_length, ph->total_reply_count); #endif /* HTTP_DUMP_TIMES */ for (pget = ph->gets_head; pget; pget = pget->next) { unsigned request_length = 0; unsigned reply_length = 0; /* Compute request lengths */ if (pget->next) { /* Retrieval following ours, use its position to compute our length */ request_length = pget->next->request_position - pget->request_position; } else { /* Last one in this file, so use the EOF as a delimiter */ request_length = ph->total_request_length - pget->request_position; } /* Compute reply lengths */ if (pget->reply_position == 0) { /* No reply, so length is 0 by definition */ request_length = 0; } else { if ((pget->next) && (pget->next->reply_position > 0)) { /* Retrieval following ours with valid position, so use that to compute length */ reply_length = pget->next->reply_position - pget->reply_position; } else { /* No record following ours, or it didn't have a valid position, so use EOF as delimiter */ reply_length = ph->total_reply_length - pget->reply_position; } } printf(" %s %s\n", MethodCodeString[pget->method], pget->get_string); /* Interpretation of response codes as per RFC 2616 - HTTP/1.1 */ switch (pget->response_code) { /* Informational 1xx */ case 100 : printf("\tResponse Code: %d (Continue)\n", pget->response_code); break; case 101 : printf("\tResponse Code: %d (Switching Protocols)\n", pget->response_code); break; /* Successful 2xx */ case 200 : printf("\tResponse Code: %d (OK)\n", pget->response_code); break; case 201 : printf("\tResponse Code: %d (Created)\n", pget->response_code); break; case 202 : printf("\tResponse Code: %d (Accepted)\n", pget->response_code); break; case 203 : printf("\tResponse Code: %d (Non-Authoritative Information)\n", pget->response_code); break; case 204 : printf("\tResponse Code: %d (No Content)\n", pget->response_code); break; case 205 : printf("\tResponse Code: %d (Reset Content)\n", pget->response_code); break; case 206 : printf("\tResponse Code: %d (Partial Content)\n", pget->response_code); break; /* Redirection 3xx */ case 300 : printf("\tResponse Code: %d (Multiple Choices)\n", pget->response_code); break; case 301 : printf("\tResponse Code: %d (Moved Permanently)\n", pget->response_code); break; case 302 : printf("\tResponse Code: %d (Found)\n", pget->response_code); break; case 303 : printf("\tResponse Code: %d (See Other)\n", pget->response_code); break; case 304 : printf("\tResponse Code: %d (Not Modified)\n", pget->response_code); break; case 305 : printf("\tResponse Code: %d (Use Proxy)\n", pget->response_code); break; case 306 : printf("\tResponse Code: %d (Unused)\n", pget->response_code); break; case 307 : printf("\tResponse Code: %d (Temporary Redirect)\n", pget->response_code); break; /* Client Error 4xx */ case 400 : printf("\tResponse Code: %d (Bad Request)\n", pget->response_code); break; case 401 : printf("\tResponse Code: %d (Unauthorized)\n", pget->response_code); break; case 402 : printf("\tResponse Code: %d (Payment Required)\n", pget->response_code); break; case 403 : printf("\tResponse Code: %d (Forbidden)\n", pget->response_code); break; case 404 : printf("\tResponse Code: %d (Not Found)\n", pget->response_code); break; case 405 : printf("\tResponse Code: %d (Method Not Allowed)\n", pget->response_code); break; case 406 : printf("\tResponse Code: %d (Not Acceptable)\n", pget->response_code); break; case 407 : printf("\tResponse Code: %d (Proxy Authentication Required)\n", pget->response_code); break; case 408 : printf("\tResponse Code: %d (Request Timeout)\n", pget->response_code); break; case 409 : printf("\tResponse Code: %d (Conflict)\n", pget->response_code); break; case 410 : printf("\tResponse Code: %d (Gone)\n", pget->response_code); break; case 411 : printf("\tResponse Code: %d (Length Required)\n", pget->response_code); break; case 412 : printf("\tResponse Code: %d (Precondition Failed)\n", pget->response_code); break; case 413 : printf("\tResponse Code: %d (Request Entity Too Large)\n", pget->response_code); break; case 414 : printf("\tResponse Code: %d (Request-URI Too Long)\n", pget->response_code); break; case 415 : printf("\tResponse Code: %d (Unsupported Media Type)\n", pget->response_code); break; case 416 : printf("\tResponse Code: %d (Requested Range Not Satisfiable)\n", pget->response_code); break; case 417: printf("\tResponse Code: %d (Expectation Failed)\n", pget->response_code); break; /* Server Error 5xx */ case 500 : printf("\tResponse Code: %d (Internal Server Error)\n", pget->response_code); break; case 501 : printf("\tResponse Code: %d (Not Implemented)\n", pget->response_code); break; case 502 : printf("\tResponse Code: %d (Bad Gateway)\n", pget->response_code); break; case 503 : printf("\tResponse Code: %d (Service Unavailable)\n", pget->response_code); break; case 504 : printf("\tResponse Code: %d (Gateway Timeout)\n", pget->response_code); break; case 505 : printf("\tResponse Code: %d (HTTP Version Not Supported)\n", pget->response_code); break; default : printf("\tResponse Code: %d (unknown response code)\n", pget->response_code); } printf("\tRequest Length: %u\n", request_length); printf("\tReply Length: %u\n", reply_length); printf("\tContent Length: %d\n", pget->content_length); printf("\tContent Type : %s\n", pget->content_type); printf("\tTime request sent: %s (%.3f)\n", ts2ascii(&pget->get_time), ts2d(&pget->get_time)); printf("\tTime reply started: %s (%.3f)\n", ts2ascii(&pget->send_time), ts2d(&pget->send_time)); printf("\tTime reply ACKed: %s (%.3f)\n", ts2ascii(&pget->ack_time), ts2d(&pget->ack_time)); /* elapsed time, request started to answer started */ etime = elapsed(pget->get_time,pget->send_time); etime /= 1000; /* us to msecs */ printf("\tElapsed time: %.0f ms (request to first byte sent)\n", etime); /* elapsed time, request started to answer ACKed */ etime = elapsed(pget->get_time,pget->ack_time); etime /= 1000; /* us to msecs */ printf("\tElapsed time: %.0f ms (request to content ACKed)\n", etime); #ifdef HTTP_DUMP_TIMES Mfprintf(pmf,"reqrep %s %s %s2%s %.3f %.3f %.3f %u %u %3d %s %s %s\n", ptp->a_endpoint, ptp->b_endpoint, ptp->a2b.host_letter, ptp->b2a.host_letter, ts2d(&pget->get_time), ts2d(&pget->send_time), ts2d(&pget->ack_time), request_length, reply_length, pget->response_code, MethodCodeString[pget->method], pget->get_string, pget->content_type); #endif /* HTTP_DUMP_TIMES */ } } void http_done(void) { MFILE *pmf = NULL; struct http_info *ph; /* just return if we didn't grab anything */ if (!httphead) return; /* gather up the information */ HttpGather(httphead); #ifdef HTTP_DUMP_TIMES pmf = Mfopen("http.times","w"); #endif /* HTTP_DUMP_TIMES */ printf("Http module output:\n"); for (ph=httphead; ph; ph=ph->next) { HttpPrintone(pmf,ph); } HttpDoPlot(); #ifdef HTTP_DUMP_TIMES Mfclose(pmf); #endif /* HTTP_DUMP_TIMES */ } void http_usage(void) { printf("\t-xHTTP[P]\tprint info about http traffic (on port P, default %d)\n", DEFAULT_SERVER_PORT); } void http_newfile( char *newfile, u_long filesize, Bool fcompressed) { /* just an example, really */ } void * http_newconn( tcp_pair *ptp) { struct http_info *ph; ph = MakeHttpRec(); /* attach tcptrace's info */ ph->ptp = ptp; /* determine the server and client tcb's */ if (ptp->addr_pair.a_port == httpd_port) { ph->tcb_client = &ptp->b2a; ph->tcb_server = &ptp->a2b; } else { ph->tcb_client = &ptp->a2b; ph->tcb_server = &ptp->b2a; } /* attach the client info */ ph->pclient = FindClient(HostName(ptp->addr_pair.a_address)); return(ph); } #endif /* LOAD_MODULE_HTTP */ tcptrace-6.6.7/mod_http.h0100644001217500001440000000526607756700117015061 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_http[] = "@(#)$Header: /usr/local/cvs/tcptrace/mod_http.h,v 5.4 2003/11/19 14:38:07 sdo Exp $"; /* header file for http.c */ int http_init(int argc, char *argv[]); void http_read(struct ip *pip, tcp_pair *ptp, void *plast, void *pmod_data); void http_done(void); void http_usage(void); void http_newfile(char *newfile, u_long filesize, Bool fcompressed); void *http_newconn(tcp_pair *ptp); tcptrace-6.6.7/mod_inbounds.c0100644001217500001440000012673210021711264015700 0ustar mramadasusers/* * Copyright (c) 1994-2004 * Ohio University. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that: (1) source code * distributions retain the above copyright notice and this paragraph * in its entirety, (2) distributions including binary code include * the above copyright notice and this paragraph in its entirety in * the documentation or other materials provided with the * distribution, and (3) all advertising materials mentioning features * or use of this software display the following acknowledgment: * ``This product includes software developed by the Ohio University * Internetworking Research Laboratory.'' Neither the name of the * University nor the names of its contributors may be used to endorse * or promote products derived from this software without specific * prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * * Manikantan Ramadas * mramadas@irg.cs.ohiou.edu */ #ifdef LOAD_MODULE_INBOUNDS #include "tcptrace.h" #include #include #include "mod_inbounds.h" static int inc_cnt=0; static int dointer_cnt=0; static int udp_delconn_cnt=0; // info kept for tcp packets: struct inbounds_tcp_conn_info { timeval first_time; // time of the connection's first packet timeval first_data_time; // time of the connection's first data packet timeval last_time; // time of the connection's last packet timeval last_data_time; // time of the connection's last data packet Bool had_data; Bool closed; // has the connection been closed ? Bool new; // is the connection new ? tcp_pair_addrblock addr_pair; tcp_pair *ptp; u_long a_pkt; /* number of packets from a to b within the time interval */ u_long b_pkt; u_long a_byte; /* number of bytes from a to b within the time interval */ u_long b_byte; u_int qNum; u_int aNum; u_long qSum; u_long aSum; timeval q2aIdle; timeval a2qIdle; Bool dir; /* 0 - question, 1 - answer */ u_long burst_bytes; /* for determining bursts */ tcb *tcb_lastdata; struct inbounds_tcp_conn_info *prev; /* pointer to the next connection */ struct inbounds_tcp_conn_info *next; /* pointer to the next connection */ }; typedef struct inbounds_tcp_conn_info itcinfo; /* structure for udp connections */ struct inbounds_udp_conn_info { timeval first_time; // time of the connection's first packet timeval last_time; // time of the connection's last packet Bool closed; // has the connection been closed ? Bool new; // is the connection new ? udp_pair_addrblock addr_pair; udp_pair *pup; u_long a_pkt; /* number of packets from a to b within the time interval */ u_long b_pkt; u_long a_byte; /* number of bytes from a to b within the time interval */ u_long b_byte; u_int qNum; u_int aNum; u_long qSum; u_long aSum; timeval q2aIdle; timeval a2qIdle; Bool dir; /* 0 - question, 1 - answer */ struct inbounds_udp_conn_info *prev; /* pointer to the next connection */ struct inbounds_udp_conn_info *next; /* pointer to the next connection */ }; typedef struct inbounds_udp_conn_info iucinfo; struct inbounds_info { // times of the last network statistics as it should appear in ideally // for TCP and UDP: timeval last_tcp_scheduled_time; timeval last_udp_scheduled_time; // times when the last network stats actually happened for TCP and UDP: timeval last_tcp_actual_time; timeval last_udp_actual_time; itcinfo *tcp_conn_head; /* head of the list of tcp connections */ itcinfo *tcp_conn_tail; /* tail of the list of tcp connections */ u_short tcp_new_conn; /* number of new connections within the time interval */ u_short tcp_total_conn; // number of currect active connections /* this info is for UDP conn */ iucinfo *udp_conn_head; /* head of the list of udp connections */ iucinfo *udp_conn_tail; /* tail of the list of udp connections */ u_short udp_new_conn; /* number of new connections within the time interval */ u_short udp_total_conn; /* number of currect udp active connections */ }; typedef struct inbounds_info iinfo; struct protocol { u_char ip_p; u_llong count; struct protocol *next; }; #define INBOUNDS_TCP_UPDATE_INTERVAL 60 #define INBOUNDS_UDP_UPDATE_INTERVAL 60 #define INBOUNDS_DEBUG 0 /* debug flag */ #define TCB_CACHE_A2B 0 #define TCB_CACHE_B2A 1 #define UDPHDR_LEN 8 #define UDP_A2B 0 #define UDP_B2A 1 /* global variables */ static iinfo *mod_info; static u_llong tcp_packets = 0; static u_llong udp_packets = 0; static u_llong nontcpudp_packets = 0; static struct protocol *plist = NULL; /* local routines */ static void AllTCPInteractivity(void); static void TCPInteractivity(itcinfo *conn); static void AllUDPInteractivity(void); static void UDPInteractivity(iucinfo *conn); static void PrintUDPCMsg(iucinfo *); static void ClosedUDPConn(); static Bool IsNewBurst(itcinfo *conn, tcb *ptcb, struct tcphdr *tcp, Bool dir); static void ipCheck(struct ip *pip, void *plast); static void tcpCheck(struct ip *pip, tcp_pair *ptcp, void *plast); static void udpCheck(struct ip *pip, udp_pair *pup, void *plast); static itcinfo *Makeitcinfo(void); static iucinfo *Makeiucinfo(void); static void Freeitcinfo(itcinfo *); static void Freeiucinfo(iucinfo *); /* declarations of memory management functions for the module */ static long itcinfo_pool = -1; static long iucinfo_pool = -1; /* tcp packet */ static itcinfo * Makeitcinfo( void) { itcinfo *ptr = NULL; if (itcinfo_pool < 0) { itcinfo_pool = MakeMemPool(sizeof(itcinfo), 0); } ptr = PoolMalloc(itcinfo_pool, sizeof(itcinfo)); return ptr; } /* udp packet */ static iucinfo * Makeiucinfo( void) { iucinfo *ptr = NULL; if (iucinfo_pool < 0) { iucinfo_pool = MakeMemPool(sizeof(iucinfo), 0); } ptr = PoolMalloc(iucinfo_pool, sizeof(iucinfo)); return ptr; } static void Freeitcinfo( itcinfo *ptr) { PoolFree(itcinfo_pool, ptr); } static void Freeiucinfo( iucinfo *ptr) { PoolFree(iucinfo_pool, ptr); } /* Usage message for using the INBOUNDS module */ void inbounds_usage(void) { printf("Use -xinbounds to call INBOUNDS and add -u for UDP conn. analysis\ \n"); } int inbounds_init( int argc, char *argv[]) { int i, fd; int enable=0; /* look for "-xinbounds" */ for (i=1; i < argc; ++i) { if (!argv[i]) continue; /* argument already taken by another module... */ if (strncmp(argv[i],"-x",2) == 0) { if (strncasecmp(argv[i]+2,"inbounds", 8) == 0) { /* I want to be called */ enable = 1; // We *are* running the program in real-time mode run_continuously=TRUE; if(INBOUNDS_DEBUG) fprintf(stderr, "mod_inbounds: Capturing traffic\n"); argv[i] = NULL; } } } if (!enable) return(0); /* don't call me again */ mod_info = (iinfo *)malloc(sizeof(iinfo)); mod_info->last_tcp_scheduled_time = current_time; mod_info->last_tcp_actual_time = current_time; mod_info->last_udp_scheduled_time = current_time; mod_info->last_udp_actual_time = current_time; mod_info->tcp_conn_head = NULL; mod_info->tcp_conn_tail = NULL; mod_info->tcp_new_conn = 0; mod_info->tcp_total_conn = 0; mod_info->udp_conn_head = NULL; mod_info->udp_conn_tail = NULL; mod_info->udp_new_conn = 0; mod_info->udp_total_conn = 0; resolve_ipaddresses = FALSE; resolve_ports = FALSE; return(1); /* TRUE means call other inbounds routines later */ } void inbounds_done(void) { struct protocol *pp; // When we are simulating attack, i.e feed just the attack to this module // un-domment the following section to wash out the attack at the end // to produce 'U' and 'C' messages. if(do_udp) { // iucinfo *udp_conn; ClosedUDPConn(); /* for (udp_conn=mod_info->udp_conn_head; udp_conn!=NULL; udp_conn=udp_conn->next) { if(!udp_conn->closed) { // Assume that its been UDP_REMOVE_LIVE_CONN_INTERVAL // since we had the last message on this connection current_time.tv_sec=udp_conn->last_time.tv_sec+ UDP_REMOVE_LIVE_CONN_INTERVAL; UDPInteractivity(udp_conn); udp_conn->closed=TRUE; PrintUDPCMsg(udp_conn); } }*/ } #ifdef HAVE_LONG_LONG fprintf(stderr, "\nINBOUNDS: TCP packets - %llu\n", tcp_packets); fprintf(stderr, "INBOUNDS: UDP packets - %llu\n", udp_packets); fprintf(stderr, "INBOUNDS: other packets - %llu\n", nontcpudp_packets); #else fprintf(stderr, "\nINBOUNDS: TCP packets - %lu\n", tcp_packets); fprintf(stderr, "INBOUNDS: UDP packets - %lu\n", udp_packets); fprintf(stderr, "INBOUNDS: other packets - %lu\n", nontcpudp_packets); #endif for (pp = plist; pp; pp = pp->next) { #ifdef HAVE_LONG_LONG fprintf(stderr, "\tprotocol: %3u, number: %llu\n", pp->ip_p, pp->count); #else fprintf(stderr, "\tprotocol: %3u, number: %lu\n", pp->ip_p, pp->count); #endif } fprintf(stderr, "\n"); } /* for a new TCP connection */ void * inbounds_tcp_newconn( tcp_pair *ptp) { itcinfo *newConn = Makeitcinfo(); if (mod_info->last_tcp_scheduled_time.tv_sec == 0) { mod_info->last_tcp_scheduled_time = current_time; mod_info->last_tcp_actual_time = current_time; } newConn->first_time = current_time; newConn->first_data_time.tv_sec = 0; newConn->first_data_time.tv_usec = 0; newConn->last_time = current_time; newConn->last_data_time.tv_sec = 0; newConn->last_data_time.tv_usec = 0; newConn->had_data = FALSE; newConn->new = TRUE; newConn->closed = FALSE; newConn->addr_pair = ptp->addr_pair; newConn->ptp = ptp; newConn->a_pkt = 0; newConn->b_pkt = 0; newConn->a_byte = 0; newConn->b_byte = 0; newConn->next = NULL; newConn->prev = NULL; newConn->tcb_lastdata = &ptp->a2b; newConn->qNum = 0; newConn->aNum = 0; newConn->qSum = 0; newConn->aSum = 0; newConn->q2aIdle.tv_sec = 0; newConn->q2aIdle.tv_usec = 0; newConn->a2qIdle.tv_sec = 0; newConn->a2qIdle.tv_usec = 0; newConn->dir = TCB_CACHE_A2B; if (mod_info->tcp_conn_head != NULL) { mod_info->tcp_conn_tail->next = newConn; newConn->prev = mod_info->tcp_conn_tail; mod_info->tcp_conn_tail = newConn; } else { /* the list is empty */ mod_info->tcp_conn_head = newConn; mod_info->tcp_conn_tail = newConn; } mod_info->tcp_total_conn++; return newConn; } /* delete TCP connection */ void inbounds_tcp_deleteconn( tcp_pair *ptp, /* info I have about this connection */ void *mod_data) /* module specific info for this conn*/ { itcinfo *conn = mod_data; Bool done = FALSE; if (conn == mod_info->tcp_conn_head) { mod_info->tcp_conn_head = mod_info->tcp_conn_head->next; if (mod_info->tcp_conn_head) { mod_info->tcp_conn_head->prev = NULL; } done = TRUE; } if (conn == mod_info->tcp_conn_tail) { mod_info->tcp_conn_tail = mod_info->tcp_conn_tail->prev; if (mod_info->tcp_conn_tail) { mod_info->tcp_conn_tail->next = NULL; } done = TRUE; } if (!done) { conn->prev->next = conn->next; conn->next->prev = conn->prev; } Freeitcinfo(conn); return; } /* For TCP packets * If this packet opens a new connections then output the 'O' message. * Grab the information required to generate the update messages. */ void inbounds_tcp_read( struct ip *pip, /* the packet */ tcp_pair *ptp, /* info I have about this connection */ void *plast, /* past byte in the packet */ void *mod_data) /* module specific info for this connection */ { char *tmp; struct tcphdr *tcp;/* TCP header information */ int data_len = 0; /* length of the data cargo in the packet */ itcinfo *conn = mod_data; timeval delta; tcb *ptcb; int dir; int status = 0; double dtime = 0; ++tcp_packets; #ifdef _MONITOR ipCheck(pip, plast); tcpCheck(pip, ptp, plast); #endif /* first, discard any connections that we aren't interested in. */ /* That means that pmodstruct is NULL */ if (conn == NULL) { return; } if (0) { printf("hash %i\t\tclosed %i, a2bfin %i, b2afin %i\n", ptp->addr_pair.hash, conn->closed, ptp->a2b.fin_count, ptp->b2a.fin_count); fflush(stdout); } if (conn->new) { if (ptp->a2b.syn_count > 0) { status = 0; } else if (ptp->b2a.syn_count > 0) { status = 0; conn->dir = TCB_CACHE_B2A; } else { status = 1; if (conn->addr_pair.a_port < conn->addr_pair.b_port) { conn->dir = TCB_CACHE_B2A; } } dtime = current_time.tv_sec + (current_time.tv_usec / 1000000.0); if ((tmp=(char*)calloc(MAX_LINE_LEN,sizeof(char)))==NULL) { fprintf(stderr,"mod_inbounds: calloc() failed\n"); exit(-1); } sprintf(tmp, "O %.6f TCP %s %s %i\n", dtime, ptp->a_endpoint, ptp->b_endpoint, status); if (fwrite(tmp, strlen(tmp), 1, stdout) <= 0) { fprintf(stderr, "Couldn't write to stdout\n"); exit(1); } fflush(stdout); free(tmp); conn->new = FALSE; } /* Setting a pointer to the beginning of the TCP header */ #ifdef IP_IPVHL tcp = (struct tcphdr *) ((char *)pip + (4 * (pip->ip_vhl & 0x0f))); #else tcp = (struct tcphdr *) ((char *)pip + (4 * pip->ip_hl)); #endif /* calculate the amount of user data */ data_len = ntohs(pip->ip_len) - /* size of entire IP packet (and IP header) */ #ifdef IP_IPVHL (4 * (pip->ip_vhl & 0x0f)) - /* less the IP header */ #else (4 * pip->ip_hl) - /* less the IP header */ #endif #ifdef TCP_THXOFF (4 * (tcp->th_xoff >> 4)); /* less the TCP header */ #else (4 * tcp->th_off); /* less the TCP header */ #endif /* see which of the 2 TCB's this goes with */ if (ptp->addr_pair.a_port == ntohs(tcp->th_sport)) { ptcb = &ptp->a2b; dir = TCB_CACHE_A2B; } else { ptcb = &ptp->b2a; dir = TCB_CACHE_B2A; } if (0) printf("INBOUNDS: %s <-> %s; dir = %i ", ptp->a_endpoint, ptp->b_endpoint, dir); if (debug > 2) { printf("conn %s<->%s, my dir=%i, packet's dir=%i; IsNewBurst=", ptp->a_endpoint, ptp->b_endpoint, conn->dir, dir); } if (data_len > 0) { if (tv_lt(conn->first_data_time, conn->first_time)) { conn->first_data_time = current_time; conn->had_data = TRUE; } } /* see if it's a new burst */ if (!conn->closed) { if (((data_len > 0) && (IsNewBurst(conn, ptcb, tcp, dir))) || ((FIN_SET(tcp)) && (FinCount(ptp) == 1)) || (RESET_SET(tcp))) { delta = current_time; tv_sub(&delta, conn->last_data_time); if (FIN_SET(tcp) || RESET_SET(tcp)) { if (conn->had_data) { if (conn->dir == 0) { /* we had a question before */ conn->dir = 1; conn->qNum++; conn->qSum += conn->burst_bytes; tv_add(&conn->q2aIdle, delta); } else { /* we had an answer before */ conn->dir = 0; /* we have question */ conn->aNum++; /* number of complete answers */ conn->aSum += conn->burst_bytes; tv_add(&conn->a2qIdle, delta); } } } else { if (dir == TCB_CACHE_A2B) { conn->dir = 0; /* we have question */ conn->aNum++; /* number of complete answers */ conn->aSum += conn->burst_bytes; tv_add(&conn->a2qIdle, delta); } else { conn->dir = 1; conn->qNum++; conn->qSum += conn->burst_bytes; tv_add(&conn->q2aIdle, delta); } } conn->burst_bytes = 0; if (0) { fprintf(stderr, "%.6f switching direction from %s to %s, idle time is %.6f\n", current_time.tv_sec + (current_time.tv_usec / 1000000.0), (conn->dir == 0) ? "answer" : "question", (conn->dir == 0) ? "question" : "answer", delta.tv_sec + (delta.tv_usec / 100000.0)); } if (debug > 2) printf("true "); } } if (data_len > 0) { conn->last_data_time = current_time; conn->burst_bytes += data_len; } conn->last_time = current_time; status = 0; if (!conn->closed) { if ((FinCount(ptp) >= 1) || (ConnReset(ptp))) { if (0) { fprintf(stderr, "number of questions: %i, number of answers: %i\n", conn->qNum, conn->aNum); } TCPInteractivity(conn); if (dtime == 0) { dtime = current_time.tv_sec + (current_time.tv_usec / 1000000.0); } if ((ptp->a2b.reset_count >=1) || (ptp->b2a.reset_count >= 1)) { status = 1; } if ((tmp=(char*)calloc(MAX_LINE_LEN,sizeof(char)))==NULL) { fprintf(stderr,"mod_inbounds: calloc() failed\n"); exit(-1); } sprintf(tmp, "C %.6f TCP %s %s %i\n", dtime, ptp->a_endpoint, ptp->b_endpoint, status); if (fwrite(tmp, strlen(tmp), 1, stdout) <= 0) { fprintf(stderr, "mod_inbounds: couldn't write to stdout\n" ); exit(1); } fflush(stdout); free(tmp); conn->closed = TRUE; } } if ((elapsed(mod_info->last_tcp_scheduled_time, current_time) / 1000000.0) >= INBOUNDS_TCP_UPDATE_INTERVAL) { AllTCPInteractivity(); } } /* for new UDP connections */ void * inbounds_udp_newconn( udp_pair *pup) { iucinfo *newConn = Makeiucinfo(); inc_cnt++; if(INBOUNDS_DEBUG) printf("mod_inbounds:udp_newconn() \n"); if (mod_info->last_udp_scheduled_time.tv_sec == 0) { mod_info->last_udp_scheduled_time = current_time; mod_info->last_udp_actual_time = current_time; } newConn->first_time = current_time; newConn->last_time = current_time; newConn->new = TRUE; newConn->closed = FALSE; newConn->addr_pair = pup->addr_pair; newConn->pup = pup; newConn->a_pkt = 0; newConn->b_pkt = 0; newConn->a_byte = 0; newConn->b_byte = 0; newConn->next = NULL; newConn->prev = NULL; newConn->qNum = 0; newConn->aNum = 0; newConn->qSum = 0; newConn->aSum = 0; // If this field remains -1, it means // q2aIdle could not be calculated for // INBOUNDS_UDP_UPDATE_INTERVAL. // In that case, we shall print out // q2aIdle as = INBOUNDS_UDP_UPDATE_INTERVAL, i.e. q2a duration is max. newConn->q2aIdle.tv_sec = -1; newConn->q2aIdle.tv_usec = 0; newConn->a2qIdle.tv_sec = -1; newConn->a2qIdle.tv_usec = 0; newConn->dir = UDP_A2B; if (mod_info->udp_conn_head != NULL) { mod_info->udp_conn_tail->next = newConn; newConn->prev = mod_info->udp_conn_tail; mod_info->udp_conn_tail = newConn; } else { mod_info->udp_conn_head = newConn; mod_info->udp_conn_tail = newConn; } mod_info->udp_total_conn++; return newConn; } /* This function is not invoked by tcptrace currently and is here mostly * for the sake of completeness. You may need to fix the module definition * in modules.h and fix tcptrace.c/trace.c to make sure this function gets * invoked (if you need this functionality, of course) - Mani, 4 Mar 2004. */ /* delete timedout UDP connections */ void inbounds_udp_deleteconn( udp_pair *pup, // info I have about this conn. void *mod_data)// module specific info for this //conn. { iucinfo *conn = mod_data; Bool done = FALSE; udp_delconn_cnt++; if(INBOUNDS_DEBUG) printf("mod_inbounds:udp_deleteconn() \n"); if (conn == mod_info->udp_conn_head) { mod_info->udp_conn_head = mod_info->udp_conn_head->next; if (mod_info->udp_conn_head) { mod_info->udp_conn_head->prev = NULL; } done = TRUE; } if (conn == mod_info->udp_conn_tail) { mod_info->udp_conn_tail = mod_info->udp_conn_tail->prev; if (mod_info->udp_conn_tail) { mod_info->udp_conn_tail->next = NULL; } done = TRUE; } if (!done) { conn->prev->next = conn->next; conn->next->prev = conn->prev; } if(!conn->closed) { UDPInteractivity(conn); PrintUDPCMsg(conn); } Freeiucinfo(conn); return; } /* For UDP packets * If this packet opens a new connections then output the 'O' message. * Grab the information required to generate the update messages */ void inbounds_udp_read( struct ip *pip, udp_pair *pup, void *plast, void *mod_data) { char *tmp; struct udphdr *udp; /* UDP header information */ int data_len = 0; /* length of the data cargo in the packet */ iucinfo *conn = mod_data; timeval delta; int dir; int status = 0; double dtime = 0; if(INBOUNDS_DEBUG) printf("mod_inbounds:udp_read() \n"); ++udp_packets; #ifdef _MONITOR ipCheck(pip, plast); udpCheck(pip, pup, plast); #endif /* first, discard any connections that we aren't interested in. */ /* That means that pmodstruct is NULL */ if (conn == NULL || pup == NULL) { if(INBOUNDS_DEBUG) printf("mod_inbounds:udp_read() conn is NULL or pup \n"); return; } if (conn->new) { if(INBOUNDS_DEBUG) printf("mod_inbounds:udp_read() This is new connection\n"); dtime = current_time.tv_sec + (current_time.tv_usec / 1000000.0); if(INBOUNDS_DEBUG) { printf("dtime: %.6f \n",dtime); printf("pup->a_endpoint: %s \n",pup->a_endpoint); printf("pup->b_endpoint: %s \n",pup->b_endpoint); } if ((tmp=(char*)calloc(MAX_LINE_LEN,sizeof(char)))==NULL) { fprintf(stderr,"mod_inbounds: calloc() failed\n"); exit(-1); } sprintf(tmp, "O %.6f UDP %s %s %i\n", dtime, pup->a_endpoint, pup->b_endpoint, status); if (fwrite(tmp, strlen(tmp), 1, stdout) <= 0) { fprintf(stderr, "mod_inbounds: couldn't write to stdout\n"); exit(1); } fflush(stdout); free(tmp); conn->new = FALSE; } if(INBOUNDS_DEBUG) printf("mod_inbounds:udp_read() datalen is being calculated \n"); /* Setting a pointer to the beginning of the TCP header */ #ifdef IP_IPVHL udp = (struct udphdr *) ((char *)pip + (4 * (pip->ip_vhl & 0x0f))); #else udp = (struct udphdr *) ((char *)pip + (4 * pip->ip_hl)); #endif /* calculate the amount of user data */ data_len = ntohs(pip->ip_len) - /* size of entire IP packet (and IP header) */ #ifdef IP_IPVHL (4 * (pip->ip_vhl & 0x0f)) - /* less the IP header */ #else (4 * pip->ip_hl) - /* less the IP header */ #endif UDPHDR_LEN; if(INBOUNDS_DEBUG) printf("mod_inbounds: udp_read() datalen:%d \n",data_len); /* see in which direction this goes with */ if (INBOUNDS_DEBUG) { printf("INBOUNDS: %d \n", pup->addr_pair.a_port); printf("INBOUNDS: %d \n", ntohs(udp->uh_sport)); } // Do anything at all if only we captured the headers fully if(data_len >= 0) { if (pup->addr_pair.a_port == ntohs(udp->uh_sport)) dir = UDP_A2B; else dir = UDP_B2A; /* if (data_len > 0) { // this packet has data in it * if(INBOUNDS_DEBUG) printf("mod_inbounds:udp_read() this packet has data in it\n"); if (tv_lt(conn->first_data_time, conn->first_time)) { conn->first_data_time = current_time; conn->had_data = TRUE; } */ delta=current_time; tv_sub(&delta,conn->last_time); conn->last_time = current_time; if(dir == UDP_A2B) {// this is a question // If what we had before was an answer, we can calculate AQIT if(conn->dir==UDP_B2A) { if(conn->a2qIdle.tv_sec==-1) {// First sample in the last // INBOUNDS_UPDATE_INTERVAL conn->a2qIdle.tv_sec=0.0; conn->a2qIdle.tv_usec=0.0; tv_add(&conn->a2qIdle,delta); } else { tv_add(&conn->a2qIdle,delta); } } conn->dir = UDP_A2B; conn->qNum++; conn->qSum += data_len; } else {// this is an answer // If what we had before was a question, we can calculate QAIT Bool done = FALSE; if(conn->dir==UDP_A2B) { if(conn->q2aIdle.tv_sec==-1) {// First sample in the last // INBOUNDS_UPDATE_INTERVAL conn->q2aIdle.tv_sec=0.0; conn->q2aIdle.tv_usec=0.0; tv_add(&conn->q2aIdle,delta); } else { tv_add(&conn->q2aIdle,delta); } } conn->dir = UDP_B2A; conn->aNum++; conn->aSum += data_len; } } // END: if data_len >= 0 /* Do the interactivity - it has to be done for both TCP and UDP */ if ((elapsed(mod_info->last_udp_scheduled_time, current_time) / 1000000.0) >= INBOUNDS_UDP_UPDATE_INTERVAL) { AllUDPInteractivity(); } if(INBOUNDS_DEBUG) printf("mod_inbounds:udp_read() exiting udp_read \n"); } /* call the respective TCP and UDP routines to print the update messages */ static void AllTCPInteractivity(void) { itcinfo *tcp_conn; if(INBOUNDS_DEBUG) printf("mod_inbounds: in AllTCPInteractivity() \n"); for (tcp_conn = mod_info->tcp_conn_head; tcp_conn != NULL; tcp_conn = tcp_conn->next) { if (!tcp_conn->closed) { TCPInteractivity(tcp_conn); } } mod_info->last_tcp_scheduled_time.tv_sec += INBOUNDS_TCP_UPDATE_INTERVAL; mod_info->last_tcp_actual_time = current_time; } /* calculate and print out interactivity statistics for TCP connections */ static void TCPInteractivity( itcinfo *conn) { char *tmp; double qAvg; double aAvg; double q2aIdle; double a2qIdle; double dtime; double update_interval; timeval first_time; if ((tmp=(char*)calloc(MAX_LINE_LEN,sizeof(char)))==NULL) { fprintf(stderr,"itcptrace : calloc() failed\n"); exit(-1); } if (conn->had_data) { first_time = conn->first_data_time; } else { first_time = conn->first_time; } if (tv_lt(mod_info->last_tcp_actual_time, first_time)) { update_interval = elapsed(conn->first_data_time, current_time) / 1000000.0; /* if this is the first packet belonging to the connection, we don't need to print statistics */ if (update_interval == 0) return; } else { update_interval = elapsed(mod_info->last_tcp_actual_time, current_time) / 1000000.0; } if (update_interval < 1.0) { update_interval = 1.0; } if (conn->qNum != 0) { qAvg = conn->qSum / (double)conn->qNum; } else { qAvg = 0; } if (conn->aNum != 0) { aAvg = conn->aSum / (double)conn->aNum; } else { aAvg = 0; } q2aIdle = (conn->q2aIdle.tv_sec + (conn->q2aIdle.tv_usec / 1000000.0)) / update_interval; a2qIdle = (conn->a2qIdle.tv_sec + (conn->a2qIdle.tv_usec / 1000000.0)) / update_interval ; dtime = current_time.tv_sec + (current_time.tv_usec / 1000000.0); sprintf(tmp, "U %.6f TCP %s %s %.3f %.3f %.3f %.6f %.6f\n", dtime, conn->ptp->a_endpoint, conn->ptp->b_endpoint, (conn->qNum / update_interval), qAvg, aAvg, q2aIdle, a2qIdle); // sprintf(tmp, "U TCP %.3f %.3f %.3f %.3f %.3f %.3f\n", // conn->qSum, conn->qNum, qAvg, // conn->aSum, conn->aNum, aAvg); conn->qNum = 0; conn->aNum = 0; conn->qSum = 0; conn->aSum = 0; conn->q2aIdle.tv_sec = 0; conn->q2aIdle.tv_usec = 0; conn->a2qIdle.tv_sec = 0; conn->a2qIdle.tv_usec = 0; if (fwrite(tmp, strlen(tmp), 1, stdout) <= 0) { fprintf(stderr, "mod_inbounds : couldn't write to stdout\n"); exit(1); } fflush(stdout); free(tmp); } static void AllUDPInteractivity(void) { iucinfo *udp_conn; if(INBOUNDS_DEBUG) printf("mod_inbounds: in AllUDPInteractivity() \n"); if(do_udp) { ClosedUDPConn(); for (udp_conn = mod_info->udp_conn_head; udp_conn != NULL; udp_conn = udp_conn->next) { if (!udp_conn->closed) { UDPInteractivity(udp_conn); } } } mod_info->last_udp_scheduled_time.tv_sec += INBOUNDS_UDP_UPDATE_INTERVAL; mod_info->last_udp_actual_time = current_time; } /* calculate and print out UDP interactivity statistics */ static void UDPInteractivity( iucinfo *conn) { char *tmp; double qAvg; double aAvg; double q2aIdle; double a2qIdle; double dtime; double update_interval; // timeval first_time; // if ((tmp=(char*)calloc(MAX_LINE_LEN,sizeof(char)))==NULL) { fprintf(stderr,"itcptrace : calloc() failed\n"); exit(-1); } if(INBOUNDS_DEBUG) printf("mod_inbounds:UDPDoInteractivity() \n"); if (tv_lt(mod_info->last_udp_actual_time, conn->first_time)) { update_interval = elapsed(conn->first_time, current_time) / 1000000.0; /* if this is the first packet belonging to the connection, * we don't need to print statistics */ if (update_interval == 0) return; } else { update_interval = elapsed(mod_info->last_udp_actual_time, current_time) / 1000000.0; } if (update_interval < 1.0) update_interval = 1.0; if (conn->qNum != 0) qAvg = conn->qSum / (double)conn->qNum; else qAvg = 0; if (conn->aNum != 0) aAvg = conn->aSum / (double)conn->aNum; else aAvg = 0; if(conn->q2aIdle.tv_sec == -1) { // We could not calculate q2aIdle // in the last INBOUNDS_UDP_UPDATE_INTERVAL // as there were no answers q2aIdle=1.0; } else { q2aIdle=(conn->q2aIdle.tv_sec + (conn->q2aIdle.tv_usec / 1000000.0)) /update_interval; } if(conn->a2qIdle.tv_sec == -1) { // We could not calculate a2qIdle // in the last INBOUNDS_UDP_UPDATE_INTERVAL // as there were no questions a2qIdle=1.0; } else { a2qIdle=(conn->a2qIdle.tv_sec + (conn->a2qIdle.tv_usec / 1000000.0)) /update_interval; } dtime = current_time.tv_sec + (current_time.tv_usec / 1000000.0); sprintf(tmp, "U %.6f UDP %s %s %.3f %.3f %.3f %.6f %.6f\n", dtime, conn->pup->a_endpoint, conn->pup->b_endpoint, (conn->qNum / update_interval), qAvg, aAvg, q2aIdle, a2qIdle); conn->qNum = 0; conn->aNum = 0; conn->qSum = 0; conn->aSum = 0; conn->q2aIdle.tv_sec = -1; conn->q2aIdle.tv_usec = 0; conn->a2qIdle.tv_sec = -1; conn->a2qIdle.tv_usec = 0; if (fwrite(tmp, strlen(tmp), 1, stdout) <= 0) { fprintf(stderr, "mod_inbounds : couldn't write to stdout\n"); exit(1); } fflush(stdout); free(tmp); } /* look for timed out UDP connections */ static void ClosedUDPConn() { iucinfo *udp_conn; for (udp_conn = mod_info->udp_conn_head; udp_conn != NULL; udp_conn = udp_conn->next) { if (!udp_conn->closed) { if((elapsed(udp_conn->last_time,current_time)/1000000.0) >= UDP_REMOVE_LIVE_CONN_INTERVAL) { UDPInteractivity(udp_conn); udp_conn->closed = TRUE; PrintUDPCMsg(udp_conn); } } } } /* print the C messages for timed out UDP connections */ static void PrintUDPCMsg(iucinfo *udp_conn) { char tmp[256]; int status = 0; double dtime = 0; dtime = current_time.tv_sec + (current_time.tv_usec / 1000000.0); sprintf(tmp, "C %.6f UDP %s %s %i\n", dtime, udp_conn->pup->a_endpoint, udp_conn->pup->b_endpoint, status); #ifdef _DEBUG printf("%s", tmp); #endif if (fwrite(tmp, strlen(tmp), 1, stdout) <= 0) { fprintf(stderr, "mod_inbounds : couldn't write to stdout\n"); exit(1); } fflush(stdout); } void inbounds_nontcpudp_read( struct ip *pip, void *plast) { struct protocol *last = NULL; struct protocol *current; ++nontcpudp_packets; #ifdef _MONITOR ipCheck(pip, plast); #endif /* _MONITOR */ if (plist == NULL) { plist = (struct protocol *)MallocZ(sizeof(struct protocol)); current = plist; current->count = 1; current->next = NULL; current->ip_p = pip->ip_p; last = current; } else { for (current = plist; current; current = current->next) { if (current->ip_p == pip->ip_p) { current->count++; break; } else { last = current; } } if (current == NULL) { /* protocol is not on our list yet */ current = (struct protocol *)MallocZ(sizeof(struct protocol)); current->ip_p = pip->ip_p; current->count = 1; current->next = NULL; last->next = current; last = current; } } } /* Data is considered a NEW burst if: * 1) All previous data was ACKed * 2) There was intervening data in the other direction * 3) idletime > RTT -- ??? */ static Bool IsNewBurst( itcinfo *conn, tcb *ptcb, struct tcphdr *tcp, Bool dir) { seqnum seq = ntohl(tcp->th_seq); tcb *orig_lastdata; tcb *ptcb_otherdir = ptcb->ptwin; /* remember the last direction the data flowed */ orig_lastdata = conn->tcb_lastdata; conn->tcb_lastdata = ptcb; /* it's only a NEW burst if there was a PREVIOUS burst */ if (conn->burst_bytes == 0) { if (0) printf("%s <-> %s: same dir (no previous)\n", ptcb->ptp->a_endpoint, ptcb->ptp->b_endpoint); return(FALSE); } /* check for old data ACKed */ /* if (SEQ_LESSTHAN(ptcb_otherdir->ack,seq)) { if (0) //(debug > 2) printf("%s <-> %s: same dir (no acks)\n", ptcb->ptp->a_endpoint, ptcb->ptp->b_endpoint); return(FALSE); }*/ /* check for idletime > RTT */ /* { u_long etime_usecs = elapsed(conn->last_data_time, current_time); u_long last_rtt_usecs = ptcb->rtt_last; if ((last_rtt_usecs != 0) && (etime_usecs < last_rtt_usecs)) { if (debug > 2) printf("(idletime) "); return(FALSE); } } */ /* check for intervening data */ if (ptcb == orig_lastdata) { /* no intervening data */ if (0) printf("%s <-> %s: same dir\n", ptcb->ptp->a_endpoint, ptcb->ptp->b_endpoint); return(FALSE); } if (debug) { if (dir == conn->dir) { fprintf(stderr, "WARNING for conn %s<->%s, my dir=%i, packet's dir=%i\n", ptcb->ptp->a_endpoint, ptcb->ptp->b_endpoint, conn->dir, dir); } } if (0) printf("%s <-> %s: diff dir\n", ptcb->ptp->a_endpoint, ptcb->ptp->b_endpoint); return(TRUE); } static void ipCheck( struct ip *pip, void *plast) { /* make sure we have enough of the packet */ if ((unsigned)pip+sizeof(struct ip)-1 > (unsigned)plast) { fprintf(stderr, "INBOUNDS: packet too short for IP details\n"); return; } if (!ip_cksum_valid(pip,plast)) { fprintf(stderr, "INBOUNDS: packet %lu: bad IP checksum\n", pnum); } /* check that IP addresses are different */ if (pip->ip_src.s_addr == pip->ip_dst.s_addr) { fprintf(stderr, "INBOUNDS: packet %lu same source and dest IP addresses %s\n", pnum, inet_ntoa(pip->ip_src)); } /* check that the packet doesn't have private addresses */ /* class A addresses */ if (((unsigned int)(pip->ip_src.s_addr >> 24) == 10) || ((unsigned int)(pip->ip_dst.s_addr >> 24) == 10) || /* class B addresses */ (((unsigned int)(pip->ip_src.s_addr >> 24) == 172) && ((((unsigned int)(pip->ip_src.s_addr >> 16) & 0xff) >= 16) && (((unsigned int)(pip->ip_src.s_addr >> 16) & 0xff) < 32))) || (((unsigned int)(pip->ip_dst.s_addr >> 24) == 172) && ((((unsigned int)(pip->ip_dst.s_addr >> 16) & 0xff) >= 16) && ((((unsigned int)(pip->ip_dst.s_addr >> 16) & 0xff) < 32)))) || /* class C addresses */ (((unsigned int)(pip->ip_src.s_addr >> 24) == 192) && (((unsigned int)(pip->ip_src.s_addr >> 16) & 0xff) == 168)) || (((unsigned int)(pip->ip_dst.s_addr >> 24) == 192) && (((unsigned int)(pip->ip_dst.s_addr >> 16) & 0xff) == 168))) { fprintf(stderr, "INBOUNDS: packet %lu private address %s", pnum, inet_ntoa(pip->ip_src)); fprintf(stderr, " -> %s\n", inet_ntoa(pip->ip_dst)); } /* check that addresses don't violate standards */ if (((unsigned int)(pip->ip_dst.s_addr >> 24) == 0) || ((unsigned int)(pip->ip_src.s_addr >> 24) == 255) || ((unsigned int)(pip->ip_src.s_addr >> 24) == 127) || ((unsigned int)(pip->ip_dst.s_addr >> 24) == 127)) { fprintf(stderr, "INBOUNDS: packet %lu standard violation %s", pnum, inet_ntoa(pip->ip_src)); fprintf(stderr, " -> %s\n", inet_ntoa(pip->ip_dst)); } /* check whether TTL is low */ /* won't do for a while */ /* if ((unsigned int)pip->ip_ttl < 10) { fprintf(stderr, "INBOUNDS: low TTL(%u) for %s -> ", (unsigned int)pip->ip_ttl, inet_ntoa(pip->ip_src)); fprintf(stderr, "%s\n", inet_ntoa(pip->ip_dst)); } */ /* check whether do-not-fragment bit is set */ /* no, too many packets * if (pip->ip_off & IP_DF) { fprintf(stderr, "INBOUNDS: DF bit set for %s", inet_ntoa(pip->ip_src)); fprintf(stderr, "-> %s, size %i bytes\n", inet_ntoa(pip->ip_dst), pip->ip_len); } */ /* check options: packet is not strict source routed */ #ifdef IP_IPVHL if ((pip->ip_vhl & 0x0f) != 5) { #else if (pip->ip_hl != 5) { #endif char *popt = (char *)pip + 20; void *plast_option; /* find the last option in the file */ #ifdef IP_IPVHL plast_option = (char *)pip+4*(pip->ip_vhl & 0x0f)-1; #else plast_option = (char *)pip+4*pip->ip_hl-1; #endif if (plast_option > plast) plast_option = plast; /* truncated shorter than that */ while ((void *)popt <= plast_option) { u_int opt = *popt; u_int len = *(popt+1); /* check for truncated option */ if ((void *)(popt+len-1) > plast) { fprintf(stderr, "INBOUNDS: packet %lu IP option (truncated) in %s", pnum, inet_ntoa(pip->ip_src)); fprintf(stderr, " -> %s\n", inet_ntoa(pip->ip_dst)); continue; } if (opt == 9) { fprintf(stderr, "INBOUNDS: packet %lu strict source route: %s", pnum, inet_ntoa(pip->ip_src)); fprintf(stderr, " -> %s\n", inet_ntoa(pip->ip_dst)); } if (opt == 3) { fprintf(stderr, "INBOUNDS: packet %lu loose source route: %s", pnum, inet_ntoa(pip->ip_src)); fprintf(stderr, " -> %s\n", inet_ntoa(pip->ip_dst)); } if (len <= 0) break; popt += len; } } } static void tcpCheck( struct ip *pip, tcp_pair *ptp, void *plast) { struct tcphdr *ptcp; int dir; Bool valid = TRUE; #ifdef IP_IPVHL if (((unsigned int)pip->ip_len - (unsigned int)(pip->ip_vhl & 0x0f)) < #else if (((unsigned int)pip->ip_len - (unsigned int)pip->ip_hl) < #endif (unsigned int)sizeof(struct tcphdr)) { fprintf(stderr, "INBOUNDS: packet %lu TCP packet too short for TCP header %s", pnum, inet_ntoa(pip->ip_src)); fprintf(stderr, " -> %s\n", inet_ntoa(pip->ip_dst)); } /* check flags */ /* 1) SYN and FIN set */ /* 2) SYN and RST set */ /* 3) SYN and URG set */ /* 4) none set - deprecated */ /* Setting a pointer to the beginning of the TCP header */ #ifdef IP_IPVHL ptcp = (struct tcphdr *) ((char *)pip + (4 * (pip->ip_vhl & 0x0f))); #else ptcp = (struct tcphdr *) ((char *)pip + (4 * pip->ip_hl)); #endif /* verify checksum */ if (!tcp_cksum_valid(pip,ptcp,plast)) { fprintf(stderr, "INBOUNDS: packet %lu invalid TCP checksum\n", pnum); } /* check port numbers */ /* 1) not the same - now deprecated */ /* 2) not zero */ /* if (ptp->addr_pair.a_port == ptp->addr_pair.b_port) { fprintf(stderr, "INBOUNDS: same port numbers %s -> %s\n", ptp->a_endpoint, ptp->b_endpoint); } */ if ((ptp->addr_pair.a_port == 0) || (ptp->addr_pair.b_port == 0)) { fprintf(stderr, "INBOUNDS: packet %lu zero port number(s) %s -> %s\n", pnum, ptp->a_endpoint, ptp->b_endpoint); } /* see which of the 2 TCB's this goes with */ if (ptp->addr_pair.a_port == ntohs(ptcp->th_sport)) { dir = A2B; } else { dir = B2A; } if (SYN_SET(ptcp)) { if (FIN_SET(ptcp)) { fprintf(stderr, "INBOUNDS: packet %lu invalid TCP flags: SYN FIN ", pnum); valid = FALSE; } if (RESET_SET(ptcp)) { if (valid) { fprintf(stderr, "INBOUNDS: packet %lu invalid TCP flags: SYN RST ", pnum); valid = FALSE; } else { fprintf(stderr, "RST "); } } if (URGENT_SET(ptcp)) { if (valid) { fprintf(stderr, "INBOUNDS: packet %lu invalid TCP flags: SYN URG ", pnum); valid = FALSE; } else { fprintf(stderr, "URG "); } } if (PUSH_SET(ptcp)) { if (valid) { fprintf(stderr, "INBOUNDS: packet %lu invalid TCP flags: SYN PSH ", pnum); valid = FALSE; } else { fprintf(stderr, "PSH "); } } if (!valid) { fprintf(stderr, "set in "); if (dir == A2B) fprintf(stderr, "%s -> %s\n", ptp->a_endpoint, ptp->b_endpoint); else fprintf(stderr, "%s -> %s\n", ptp->b_endpoint, ptp->a_endpoint); if (ptp->packets <= 1) { fprintf(stderr, "packet %lu doesn't belong to a conn", pnum); } else { fprintf(stderr, "packet %lu belongs to a conn with %llu packets\n", pnum, ptp->packets); } } } else { if (RESET_SET(ptcp) && FIN_SET(ptcp)) { fprintf(stderr, "INBOUNDS: packet %lu invalid TCP flags: RST FIN set in %s -> %s\n", pnum, (dir == A2B) ? ptp->a_endpoint : ptp->b_endpoint, (dir == A2B) ? ptp->b_endpoint : ptp->a_endpoint); if (ptp->packets <= 1) { fprintf(stderr, "packet %lu doesn't belong to a conn", pnum); } else { fprintf(stderr, "packet belongs to a conn with %llu packets\n", pnum, ptp->packets); } } } #ifdef TCP_THXOFF if ((ptcp->th_xoff & 0x0f) != 0) { fprintf(stderr, "INBOUNDS: packet %lu 4 TCP reserved bits are not zero (0x%01x)\n", pnum, (ptcp->th_xoff & 0x0f)); } #else if (ptcp->th_x2 != 0) { fprintf(stderr, "INBOUNDS: packet %lu 4 TCP reserved bits are not zero (0x%01x)\n", pnum, ptcp->th_x2); } #endif if ((ptcp->th_flags & 0xc0) != 0) { fprintf(stderr, "INBOUNDS: packet %lu upper TCP flag bits are not zero (0x%02x)\n", pnum, ptcp->th_flags); } } static void udpCheck( struct ip *pip, udp_pair *pup, void *plast) { struct udphdr *pudp; int ret; /* look for a UDP header */ ret = getudp(pip, &pudp, &plast); if (ret <= 0) { if (!udp_cksum_valid(pip,pudp,plast)) { fprintf(stderr, "INBOUNDS: packet %lu invalid UDP checksum\n", pnum); } } } #endif /* LOAD_MODULE_INBOUNDS */ tcptrace-6.6.7/mod_inbounds.h0100644001217500001440000000356410021711264015702 0ustar mramadasusers/* * Copyright (c) 1994-2004 * Ohio University. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that: (1) source code * distributions retain the above copyright notice and this paragraph * in its entirety, (2) distributions including binary code include * the above copyright notice and this paragraph in its entirety in * the documentation or other materials provided with the * distribution, and (3) all advertising materials mentioning features * or use of this software display the following acknowledgment: * ``This product includes software developed by the Ohio University * Internetworking Research Laboratory.'' Neither the name of the * University nor the names of its contributors may be used to endorse * or promote products derived from this software without specific * prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu */ #define MAX_LINE_LEN 256 #define UDP_REMOVE_LIVE_CONN_INTERVAL 60 /* header file for inbounds.c */ int inbounds_init(int argc, char *argv[]); void inbounds_tcp_read(struct ip *pip, tcp_pair *ptp, void *plast, void *pmod_data); void inbounds_done(void); void inbounds_usage(void); void inbounds_udp_read(struct ip *pip, udp_pair *pup, void *plast, void *pmodstruct); void inbounds_nontcpudp_read(struct ip *pip, void *plast); void *inbounds_tcp_newconn( tcp_pair *ptp); void inbounds_tcp_deleteconn(tcp_pair *ptp, void *mod_data); void *inbounds_udp_newconn( udp_pair *pup); void inbounds_udp_deleteconn(udp_pair *pup, void *mod_data); tcptrace-6.6.7/mod_realtime.c0100644001217500001440000002460407756700113015670 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Marina Bykova * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/mod_realtime.c,v 5.7 2003/11/19 14:38:03 sdo Exp $"; #ifdef LOAD_MODULE_REALTIME #include #include "mod_realtime.h" /* info kept for all traced packets */ struct realtime_conn_info { timeval first_time; /* time of the connection's first packet */ timeval last_time; /* time of the connection's last packet */ Bool is_closed; /* is the connection has been closed? */ Bool is_new; /* is the connection new? */ tcp_pair_addrblock addr_pair; tcp_pair *ptp; struct realtime_conn_info *prev; /* pointer to the prev connection */ struct realtime_conn_info *next; /* pointer to the next connection */ }; typedef struct realtime_conn_info rtconn; struct realtime_info { timeval last_scheduled_time; /* time of the last network statistics */ /* as it would appear in the ideal case */ timeval last_actual_time; /* time of the last network statistics */ /* when it actually happened */ rtconn *conn_head; /* head of the list of tcp connections */ rtconn *conn_tail; /* tail of the list of tcp connections */ u_long open_conns; /* number of new connections within the time interval */ u_long total_conns; /* number of currect active connections */ }; typedef struct realtime_info rtinfo; struct protocol { u_char ip_p; u_llong count; struct protocol *next; }; const static int realtime_update_interval = 60; /* global variables */ static rtinfo *mod_info; static u_llong tcp_packets = 0; static u_llong udp_packets = 0; static u_llong nontcpudp_packets = 0; static struct protocol *plist = NULL; /* declarations of memory management functions for the module */ static long rtconn_pool = -1; static rtconn * MakeRtconn( void) { rtconn *ptr = NULL; if (rtconn_pool < 0) { rtconn_pool = MakeMemPool(sizeof(rtconn), 0); } ptr = PoolMalloc(rtconn_pool, sizeof(rtconn)); return ptr; } static void FreeRtconn( rtconn *ptr) { PoolFree(rtconn_pool, ptr); } void realtime_usage(void) { printf("\t-xrealtime\tan example module showing how to use real-time tcptrace\n"); } int realtime_init( int argc, char *argv[]) { int i; int enable = 0; /* look for "-xrealtime" */ for (i = 1; i < argc; ++i) { if (!argv[i]) continue; /* argument already taken by another module... */ if (strncmp(argv[i],"-x", 2) == 0) { if (strncasecmp(argv[i] + 2, "realtime", 8) == 0) { /* I want to be called */ enable = 1; fprintf(stderr, "mod_realtime: Capturing traffic\n"); argv[i] = NULL; } } } if (!enable) return(0); /* don't call me again */ mod_info = (rtinfo *)malloc(sizeof(rtinfo)); mod_info->last_scheduled_time = current_time; mod_info->last_actual_time = current_time; mod_info->conn_head = NULL; mod_info->conn_tail = NULL; mod_info->open_conns = 0; mod_info->total_conns = 0; /* DNS lookups are time expensive, we want to disable them in real-time module */ resolve_ipaddresses = FALSE; resolve_ports = FALSE; /* we want to run the program in real-time mode */ run_continuously = TRUE; /* if you want to set a threshold on the number of connections the program * stores, uncomment this with and modify depending on your needs (must be * different for different monitoring points) */ /* conn_num_threshold = TRUE; update_interval = 60; max_conn_num = 20000; */ do_udp = TRUE; return(1); /* TRUE means call other realtime routines later */ } void realtime_done(void) { struct protocol *pp; fprintf(stdout, "\nrealtime: TCP packets - %" FS_ULL "\n", tcp_packets); fprintf(stdout, "realtime: UDP packets - %" FS_ULL "\n", udp_packets); fprintf(stdout, "realtime: other packets - %" FS_ULL "\n", nontcpudp_packets); for (pp = plist; pp; pp = pp->next) fprintf(stdout, "\tprotocol: %3u, number: %" FS_ULL "\n", pp->ip_p, pp->count); fprintf(stdout, "\n"); } void * realtime_newconn( tcp_pair *ptp) { rtconn *new_conn = MakeRtconn(); if (mod_info->last_scheduled_time.tv_sec == 0) { mod_info->last_scheduled_time = current_time; mod_info->last_actual_time = current_time; } new_conn->first_time = current_time; new_conn->last_time = current_time; new_conn->is_new = TRUE; new_conn->is_closed = FALSE; new_conn->addr_pair = ptp->addr_pair; new_conn->ptp = ptp; new_conn->next = NULL; new_conn->prev = NULL; if (mod_info->conn_head != NULL) { mod_info->conn_tail->next = new_conn; new_conn->prev = mod_info->conn_tail; mod_info->conn_tail = new_conn; } else { /* the list is empty */ mod_info->conn_head = new_conn; mod_info->conn_tail = new_conn; } mod_info->total_conns++; mod_info->open_conns++; return new_conn; } void realtime_deleteconn( tcp_pair *ptp, /* info I have about this connection */ void *mod_data) /* module specific info for this conn*/ { rtconn *conn = mod_data; Bool done = FALSE; if (!conn->is_closed) mod_info->open_conns--; if (conn == mod_info->conn_head) { mod_info->conn_head = mod_info->conn_head->next; if (mod_info->conn_head) { mod_info->conn_head->prev = NULL; } done = TRUE; } if (conn == mod_info->conn_tail) { mod_info->conn_tail = mod_info->conn_tail->prev; if (mod_info->conn_tail) { mod_info->conn_tail->next = NULL; } done = TRUE; } if (!done) { conn->prev->next = conn->next; conn->next->prev = conn->prev; } FreeRtconn(conn); return; } void realtime_read( struct ip *pip, /* the packet */ tcp_pair *ptp, /* info I have about this connection */ void *plast, /* past byte in the packet */ void *mod_data) /* module specific info for this connection */ { rtconn *conn = mod_data; double dtime = 0; ++tcp_packets; /* first, discard any connections that we aren't interested in. */ /* That means that pmodstruct is NULL */ if (conn == NULL) { return; } if (conn->is_new) { dtime = current_time.tv_sec + (current_time.tv_usec / 1000000.0); fprintf(stdout, "%.6f %s\t%s new connection\n", dtime, ptp->a_endpoint, ptp->b_endpoint); conn->is_new = FALSE; } conn->last_time = current_time; if (!conn->is_closed) { if ((FinCount(ptp) >= 1) || (ConnReset(ptp))) { if (dtime == 0) { dtime = current_time.tv_sec + (current_time.tv_usec / 1000000.0); } fprintf(stdout, "%.6f %s\t%s connection closes (had %" FS_ULL " packets)\n", dtime, ptp->a_endpoint, ptp->b_endpoint, ptp->packets); conn->is_closed = TRUE; mod_info->open_conns--; } } if ((elapsed(mod_info->last_scheduled_time, current_time) / 1000000.0) >= realtime_update_interval) { if (dtime == 0) { dtime = current_time.tv_sec + (current_time.tv_usec / 1000000.0); } fprintf(stdout, "%.6f number of open connections is %lu\n", dtime, mod_info->open_conns); mod_info->last_scheduled_time.tv_sec += realtime_update_interval; mod_info->last_actual_time = current_time; } } void realtime_udp_read( struct ip *pip, udp_pair *pup, void *plast, void *pmodstruct) { ++udp_packets; } void realtime_nontcpudp_read( struct ip *pip, void *plast) { struct protocol *last = NULL; struct protocol *current; ++nontcpudp_packets; if (plist == NULL) { plist = (struct protocol *)MallocZ(sizeof(struct protocol)); current = plist; current->count = 1; current->next = NULL; current->ip_p = pip->ip_p; last = current; } else { for (current = plist; current; current = current->next) { if (current->ip_p == pip->ip_p) { current->count++; break; } else { last = current; } } if (current == NULL) { /* protocol is not on our list yet */ current = (struct protocol *)MallocZ(sizeof(struct protocol)); current->ip_p = pip->ip_p; current->count = 1; current->next = NULL; last->next = current; last = current; } } } #endif /* LOAD_MODULE_REALTIME */ tcptrace-6.6.7/mod_realtime.h0100644001217500001440000000550407756700117015677 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Marina Bykova * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_realtime[] = "@(#)$Header: /usr/local/cvs/tcptrace/mod_realtime.h,v 5.4 2003/11/19 14:38:07 sdo Exp $"; /* header file for mod_realtime.c */ int realtime_init(int argc, char *argv[]); void realtime_read(struct ip *pip, tcp_pair *ptp, void *plast, void *pmod_data); void realtime_done(void); void realtime_usage(void); void realtime_udp_read(struct ip *pip, udp_pair *pup, void *plast, void *pmodstruct); void realtime_nontcpudp_read(struct ip *pip, void *plast); void *realtime_newconn( tcp_pair *ptp); void realtime_deleteconn(tcp_pair *ptp, void *mod_data); tcptrace-6.6.7/mod_rttgraph.c0100644001217500001440000002675407756700113015731 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED rcsid[] = "$Header: /usr/local/cvs/tcptrace/mod_rttgraph.c,v 5.8 2003/11/19 14:38:03 sdo Exp $"; #ifdef LOAD_MODULE_RTTGRAPH #include #include "mod_rttgraph.h" /* a histogram structure */ struct hist { u_long num_buckets; u_long num_samples; u_long *buckets; u_long z; }; #define NUM_SLICES 10 struct hist3d { struct hist rtt; struct hist rtt_diff_slices[NUM_SLICES+1]; }; struct samples { u_long num_samples; u_long max_samples; u_short max; u_short min; u_short *samples; }; /* what we keep for each tcb */ struct rtt_tcb { tcb *ptcb; struct samples samples; }; /* info kept for each connection */ static struct rttgraph_info { tcp_pair *ptp; struct rtt_tcb a2b; struct rtt_tcb b2a; struct rttgraph_info *next; } *rttgraphhead = NULL, *rttgraphtail = NULL; /* local routines */ static struct rttgraph_info *MakeRttgraphRec(); static void MakeBuckets(struct hist *phist, u_int num_buckets); static void AddSample(struct samples *psamp, u_short sample); static void PlotHist(MFILE *f,struct hist *phist); static void PlotOne(struct rttgraph_info *prttg); /* Mostly as a module example, here's a plug in that records RTTGRAPH info */ int rttgraph_init( int argc, char *argv[]) { int i; int enable=0; /* look for "-xrttgraph[N]" */ for (i=1; i < argc; ++i) { if (!argv[i]) continue; /* argument already taken by another module... */ if (strncmp(argv[i],"-x",2) == 0) { if (strncasecmp(argv[i]+2,"rttgraph",4) == 0) { /* I want to be called */ enable = 1; printf("mod_rttgraph: Capturing RTTGRAPH traffic\n"); argv[i] = NULL; } } } if (!enable) return(0); /* don't call me again */ return(1); /* TRUE means call rttgraph_read and rttgraph_done later */ } static void MakeBuckets( struct hist *phist, u_int num_buckets) { u_long *new_ptr; ++num_buckets; /* 0-based arrays */ if (num_buckets <= phist->num_buckets) return; /* nothing to do */ /* round num_buckets up to multiple of 100 */ if ((num_buckets % 100) != 0) { num_buckets = 100 * ((num_buckets+99)/100); } /* either create the space or expand it */ if (phist->buckets) { new_ptr = ReallocZ(phist->buckets, phist->num_buckets * sizeof(u_long), num_buckets * sizeof(u_long)); } else { new_ptr = MallocZ(num_buckets * sizeof(u_long)); } /* remember what we did */ phist->num_buckets = num_buckets; phist->buckets = new_ptr; } static void AddSample( struct samples *psamp, u_short sample) { /* printf("AddSample(%d) called\n", sample); */ /* make sure we have enough space */ if ((psamp->num_samples+2) > (psamp->max_samples)) { u_long new_samples = psamp->max_samples + 100; u_short *new_ptr; if (psamp->samples) { new_ptr = ReallocZ(psamp->samples, psamp->max_samples * sizeof(u_short), new_samples * sizeof(u_short)); } else { new_ptr = MallocZ(new_samples * sizeof(u_short)); } psamp->max_samples = new_samples; psamp->samples = new_ptr; } /* remember what we did */ psamp->samples[psamp->num_samples++] = sample; if (sample > psamp->max) psamp->max = sample; if (sample < psamp->max) psamp->min = sample; } static struct rttgraph_info * MakeRttgraphRec() { struct rttgraph_info *prttg; prttg = MallocZ(sizeof(struct rttgraph_info)); /* (...leave the samples pointer NULL until first needed) */ prttg->a2b.samples.max_samples = 0; prttg->a2b.samples.max = 0; prttg->a2b.samples.min = USHRT_MAX; prttg->b2a.samples.max_samples = 0; prttg->b2a.samples.max = 0; prttg->b2a.samples.min = USHRT_MAX; /* chain it in (at the tail of the list) */ if (rttgraphhead == NULL) { rttgraphhead = prttg; rttgraphtail = prttg; } else { rttgraphtail->next = prttg; rttgraphtail = prttg; } return(prttg); } void rttgraph_read( struct ip *pip, /* the packet */ tcp_pair *ptp, /* info I have about this connection */ void *plast, /* past byte in the packet */ void *mod_data) /* module specific info for this connection */ { struct tcphdr *ptcp; struct rttgraph_info *prttg = mod_data; struct rtt_tcb *prtcb; tcb *ptcb; double rtt_us; u_long rtt_ms; /* find the start of the TCP header */ ptcp = (struct tcphdr *) ((char *)pip + 4*IP_HL(pip)); /* make sure there we could have a RTT sample */ if (!ACK_SET(ptcp)) return; /* no RTT info */ /* see which direction it is, if we don't know yet */ ptcb = ptp2ptcb(ptp,pip,ptcp); if (ptcb == prttg->a2b.ptcb) prtcb = &prttg->a2b; else if (ptcb == prttg->b2a.ptcb) prtcb = &prttg->b2a; else { fprintf(stderr, "rttgraph_read: INTERNAL error (can't kind tcb)!!\n"); exit(1); } /* grab the RTT */ rtt_us = prtcb->ptcb->rtt_last; if (rtt_us == 0.0) return; /* not a valid sample */ /* convert to ms buckets */ rtt_ms = (u_long) (rtt_us / 1000.0); if (debug && (rtt_ms == 0)) printf("rtt_ms is 0, rtt_us was %f\n", rtt_us); /* add in the sample RTT */ AddSample(&prtcb->samples, rtt_ms); } static void DoHist( struct samples *psamp) { int i; struct hist3d hist3d; MFILE *f; u_long sum; int slice; int base_z; int slice_size; if (psamp->num_samples == 0) return; printf("Samples: %lu\n", psamp->num_samples); printf("Min: %u\n", psamp->min); printf("Max: %u\n", psamp->max); /* init */ hist3d.rtt.num_buckets = 0; memset(&hist3d.rtt,'\00',sizeof(struct hist)); MakeBuckets(&hist3d.rtt, psamp->num_samples); for (i=0; i < NUM_SLICES; ++i) { memset(&hist3d.rtt_diff_slices[i],'\00',sizeof(struct hist)); MakeBuckets(&hist3d.rtt_diff_slices[i], psamp->num_samples); } /* calculate the global histogram */ for (i=0; i < psamp->num_samples; ++i) { u_short rtt = psamp->samples[i]; ++hist3d.rtt.buckets[rtt]; ++hist3d.rtt.num_samples; } /* find the slices, same amount of data in each slice */ sum = 0; slice = 0; base_z = 0; slice_size = psamp->num_samples / NUM_SLICES; for (i=0; i < psamp->num_samples; ++i) { u_short count = hist3d.rtt.buckets[i]; sum += count; if (sum > slice_size) { hist3d.rtt_diff_slices[slice].z = base_z; ++slice; sum = 0; base_z = i+1; } } for (; slice < NUM_SLICES; ++slice) hist3d.rtt_diff_slices[slice].z = ULONG_MAX; /* add the slice data */ for (i=1; i < psamp->num_samples; ++i) { u_short rtt = psamp->samples[i]; u_short prev_rtt = psamp->samples[i-1]; /* see which slice holds the prev_rtt */ for (slice = NUM_SLICES-1; slice >= 0; --slice) { if (prev_rtt > hist3d.rtt_diff_slices[slice].z) break; } ++hist3d.rtt_diff_slices[slice].buckets[rtt]; ++hist3d.rtt_diff_slices[slice].num_samples; } if ((f = Mfopen("rtt.dat","w")) == NULL) { perror("rtt.dat"); exit (1); } printf("Total Histogram\n"); hist3d.rtt.z = -1; PlotHist(f,&hist3d.rtt); Mfclose(f); if ((f = Mfopen("rtt3d.dat","w")) == NULL) { perror("rtt.dat"); exit (1); } for (i=0; i < NUM_SLICES; ++i) { struct hist *phist = &hist3d.rtt_diff_slices[i]; printf("Slice %d Histogram - base: %lu ms\n", i, phist->z); PlotHist(f,phist); } /* plot the "connections" */ #ifdef BROKEN for (i=0; i < psamp->max; i+=10) { for (slice=0; slice < NUM_SLICES; ++slice) { struct hist *phist = &hist3d.rtt_diff_slices[slice]; u_long count = phist->buckets[i]; float percent = (float)count / phist->num_samples; if (phist->num_samples == 0) continue; fprintf(f,"%4d %lu %.2f\n", i, phist->z, 100 * percent); } fprintf(f,"\n"); } #endif /* BROKEN */ Mfclose(f); } static void PlotHist( MFILE *f, struct hist *phist) { int ms; int z = phist->z; if (phist->buckets == NULL) return; printf(" %lu samples\n", phist->num_samples); for (ms=0; ms < phist->num_buckets; ++ms) { u_long count = phist->buckets[ms]; float percent; if (count == 0 || phist->num_samples == 0) continue; percent = (float)count / phist->num_samples; printf(" %4d %5lu %5.2f\n", ms, count, 100 * percent); if (z == -1) Mfprintf(f,"%4d %.2f\n", ms, 100 * percent); else Mfprintf(f,"%4d %d %.2f\n", ms, z, 100 * percent); } Mfprintf(f,"\n"); } static void PlotOne( struct rttgraph_info *prttg) { tcp_pair *ptp = prttg->ptp; printf("%s ==> %s (%s2%s)\n", ptp->a_endpoint, ptp->b_endpoint, ptp->a2b.host_letter, ptp->b2a.host_letter); DoHist(&prttg->a2b.samples); printf("%s ==> %s (%s2%s)\n", ptp->b_endpoint, ptp->a_endpoint, ptp->b2a.host_letter, ptp->a2b.host_letter); DoHist(&prttg->b2a.samples); } void rttgraph_done(void) { struct rttgraph_info *prttg; for (prttg=rttgraphhead; prttg; prttg=prttg->next) { PlotOne(prttg); } } void rttgraph_usage(void) { printf("\t-xrttgraph\tprint info about rttgraph traffic\n"); } void * rttgraph_newconn( tcp_pair *ptp) { struct rttgraph_info *prttg; prttg = MakeRttgraphRec(); prttg->ptp = ptp; prttg->a2b.ptcb = &ptp->a2b; prttg->b2a.ptcb = &ptp->b2a; return(prttg); } #endif /* LOAD_MODULE_RTTGRAPH */ tcptrace-6.6.7/mod_rttgraph.h0100644001217500001440000000522107756700117015724 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_rttgraph[] = "@(#)$Header: /usr/local/cvs/tcptrace/mod_rttgraph.h,v 5.4 2003/11/19 14:38:07 sdo Exp $"; /* header file for rttgraph.c */ int rttgraph_init(int argc, char *argv[]); void rttgraph_read(struct ip *pip, tcp_pair *ptp, void *plast, void *pmod_data); void rttgraph_done(void); void rttgraph_usage(void); void *rttgraph_newconn(tcp_pair *ptp); tcptrace-6.6.7/mod_slice.c0100644001217500001440000002325307756700113015164 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED rcsid[] = "$Header: /usr/local/cvs/tcptrace/mod_slice.c,v 1.5 2003/11/19 14:38:03 sdo Exp $"; #ifdef LOAD_MODULE_SLICE #include "mod_slice.h" /* name of the file that slice data is dumped into */ #define SLICE_FILENAME "slice.dat" /* time and date formats */ enum t_time_format {tf_long=1, tf_brief=2, tf_unix=3, tf_unix_long=4}; /* argument flags */ static float slice_interval = 15.0; /* 15 seconds by default */ static timeval tv_slice_interval; static enum t_time_format time_format = tf_brief; /* local debugging flag */ static int ldebug = 0; /* info that I keep about each connection */ struct conn_info { u_long last_rexmits; /* for detecting rexmits */ u_long last_active_slice; /* for checking activity */ }; /* counters that we keep for each interval */ static struct slice_counters { /* active conns */ u_long n_active; /* connection opens/closes */ u_long n_opens; /* bytes/segments (including rexmits) */ u_long n_bytes; u_long n_segs; /* bytes/segments that are rexmitted */ u_long n_rexmit_bytes; u_long n_rexmit_segs; } info; /* local routines */ static void AgeSlice(timeval *); static void ParseArgs(char *argstring); /* globals */ static u_long slice_number = 1; /* while slice interval are we in? */ /* Set things up */ int slice_init( int argc, char *argv[]) { int i; int enable=0; char *args = NULL; for (i=1; i < argc; ++i) { if (!argv[i]) continue; /* argument already taken by another module... */ if (strncmp(argv[i],"-x",2) == 0) { if (strncasecmp(argv[i]+2,"slice",sizeof("slice")-1) == 0) { /* I want to be called */ args = argv[i]+(sizeof("-xslice")-1); enable = 1; argv[i] = NULL; } } } if (!enable) return(0); /* don't call me again */ /* parse the encoded args */ ParseArgs(args); /* turn the slice interval into a timeval */ tv_slice_interval.tv_sec = (int)slice_interval; tv_slice_interval.tv_usec = 1000000 * (slice_interval - tv_slice_interval.tv_sec); /* tell them what's happening */ printf("mod_slice: generating data in %.3fsec slices to file %s\n", slice_interval, SLICE_FILENAME); if (ldebug) printf("Slice interval tv: %u.%06u\n", (unsigned)tv_slice_interval.tv_sec, (unsigned)tv_slice_interval.tv_usec); /* init the graphs and etc... */ AgeSlice(NULL); return(1); /* TRUE means call slice_read and slice_done later */ } void slice_read( struct ip *pip, /* the packet */ tcp_pair *ptp, /* info I have about this connection */ void *plast, /* past byte in the packet */ void *mod_data) /* connection info for this one */ { u_long bytes = ntohs(pip->ip_len); static timeval next_time = {0,0}; struct conn_info *pci = mod_data; int was_rexmit = 0; /* if this is the first packet, determine the END of the slice */ if (ZERO_TIME(&next_time)) { next_time = current_time; tv_add(&next_time, tv_slice_interval); } /* if we've gone over our interval, print out data so far */ while (tv_ge(current_time,next_time)) { /* output a line */ AgeSlice(&next_time); /* when does the next interval start? */ tv_add(&next_time, tv_slice_interval); } /* see if it was a retransmission */ if (pci->last_rexmits != ptp->a2b.rexmit_pkts+ptp->b2a.rexmit_pkts) { pci->last_rexmits = ptp->a2b.rexmit_pkts+ptp->b2a.rexmit_pkts; was_rexmit = 1; } /* add to total data counters */ ++info.n_segs; info.n_bytes += bytes; if (was_rexmit) { info.n_rexmit_segs += 1; info.n_rexmit_bytes += bytes; } /* if it hasn't already been active in this slice interval, count it*/ /* (avoids having to zero lots of counters!) */ if (pci->last_active_slice != slice_number) { pci->last_active_slice = slice_number; ++info.n_active; } } static void AgeSlice( timeval *pnow) { char *pch_now; static MFILE *pmf = NULL; /* first time doesn't count */ if (pnow == NULL) { /* open the output file */ pmf = Mfopen(SLICE_FILENAME,"w"); /* print the headers */ Mfprintf(pmf,"\ %s segs bytes rexsegs rexbytes new active\n\ %s -------- -------- -------- -------- -------- --------\n", (time_format == tf_long)? "date ": (time_format == tf_brief)? "date ": (time_format == tf_unix)? "date ": (time_format == tf_unix_long)? "date ":"UNKNOWN", (time_format == tf_long)? "-------------------------------": (time_format == tf_brief)? "---------------": (time_format == tf_unix)? "---------": (time_format == tf_unix_long)? "----------------":"UNKNOWN" ); return; } /* format the current time */ pch_now = ts2ascii(pnow); if (time_format == tf_brief) { /* remove the year */ pch_now[26] = '\00'; /* remove the month and stuff */ pch_now += 11; /* strlen("Fri Jan 12 ") */ } /* print the stats collected */ switch(time_format) { case tf_long: case tf_brief: Mfprintf(pmf, "%s", pch_now); break; case tf_unix: Mfprintf(pmf, "%8lu", pnow->tv_sec); break; case tf_unix_long: Mfprintf(pmf, "%8lu.%06u", pnow->tv_sec, pnow->tv_usec); break; } Mfprintf(pmf, " %8lu %8lu %8lu %8lu %8lu %8lu\n", info.n_segs, info.n_bytes, info.n_rexmit_segs, info.n_rexmit_bytes, info.n_opens, info.n_active); /* zero out the counters */ memset(&info, 0, sizeof(info)); /* new slice interval */ ++slice_number; } void slice_done(void) { /* print the last few packets */ AgeSlice(¤t_time); } void * slice_newconn( tcp_pair *ptp) { struct conn_info *pci; ++info.n_opens; pci = MallocZ(sizeof(struct conn_info)); return(pci); } void slice_usage(void) { printf("\ \t-xslice\"[ARGS]\"\tprint data info in slices\n\ \t module argument format:\n\ \t -iS set slice interval to S (float) seconds, default 15.0\n\ \t -d enable local debugging in this module\n\ \t -tb specify time and date 'briefly'\n\ \t -tl specify time and date in long, 'Unix Format'\n\ \t -tu specify time and date as a Unix timestamp (secs)\n\ \t -tU specify time and date as a Unix timestamp (secs.usecs)\n\ "); } static void ParseArgs(char *argstring) { int argc; char **argv; int i; /* make sure there ARE arguments */ if (!(argstring && *argstring)) return; /* break the string into normal arguments */ StringToArgv(argstring,&argc,&argv); /* check the module args */ for (i=1; i < argc; ++i) { float interval; if (ldebug > 1) printf("Checking argv[%d]: '%s'\n", i, argv[i]); if (strcmp(argv[i],"-d") == 0) { ++ldebug; } else if (strncmp(argv[i],"-t",2) == 0) { switch (argv[i][2]) { case 'u': time_format = tf_unix; break; case 'U': time_format = tf_unix_long; break; case 'l': time_format = tf_long; break; case 'b': time_format = tf_brief; break; default: fprintf(stderr,"Bad -t option ('%s') for slice module\n", argv[i]); slice_usage(); exit(-1); } } else if (sscanf(argv[i],"-i%f", &interval) == 1) { slice_interval = interval; if (ldebug) printf("mod_slice: setting slice interval to %.3f seconds\n", slice_interval); } else { fprintf(stderr,"Slice module: bad argument '%s'\n", argv[i]); exit(-1); } } } #endif /* LOAD_MODULE_SLICE */ tcptrace-6.6.7/mod_slice.h0100644001217500001440000000522007756700117015167 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. All rights reserved. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_slice[] = "@(#)$Header: /usr/local/cvs/tcptrace/mod_slice.h,v 1.3 2003/11/19 14:38:07 sdo Exp $"; /* header file for slice.c */ int slice_init(int argc, char *argv[]); void slice_read(struct ip *pip, tcp_pair *ptp, void *plast, void *pmod_data); void slice_done(void); void slice_usage(void); void *slice_newconn(tcp_pair *ptp); tcptrace-6.6.7/mod_tcplib.c0100644001217500001440000031671507756700113015352 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Original Author: Eric Helvey * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ehelvey@cs.ohiou.edu * http://www.tcptrace.org/ * Extensively Modified: Shawn Ostermann */ #include "tcptrace.h" static char const GCC_UNUSED rcsid[] = "$Header: /usr/local/cvs/tcptrace/mod_tcplib.c,v 5.32 2003/11/19 14:38:03 sdo Exp $"; #ifdef LOAD_MODULE_TCPLIB /**************************************************************************** * * Module Title: Mod_TCPLib * * Author: Eric Helvey * * Purpose: To generate data files needed by TCPLib and TrafGen. * ****************************************************************************/ #include "mod_tcplib.h" #include "dyncounter.h" /* reading old files is problematic and I never use it anyway!!! it probably doesn't work anymore. sdo - Thu Aug 5, 1999 */ #undef READ_OLD_FILES /* we're no longer interested in the old phone/conv columns */ #undef INCLUDE_PHONE_CONV /* Local global variables */ /* different types of "directions" */ #define NUM_DIRECTION_TYPES 4 enum t_dtype {LOCAL = 0, INCOMING = 1, OUTGOING = 2, REMOTE = 3}; static char *dtype_names[NUM_DIRECTION_TYPES] = {"local","incoming","outgoing", "remote"}; /* structure to keep track of "inside" */ struct insidenode { ipaddr min; ipaddr max; struct insidenode *next; } *inside_head = NULL; #define LOCAL_ONLY (inside_head == NULL) /* for the parallelism hack */ #define BURST_KEY_MAGIC 0x49524720 /* 'I' 'R' 'G' '' */ struct burstkey { unsigned long magic; /* MUST be BURST_KEY_MAGIC */ unsigned long nbytes; /* bytes in burst (INCLUDING this struct) */ unsigned char key; /* one character key to return */ unsigned char unused[3]; /* (explicit padding) */ unsigned long groupnum; /* for keeping track of parallel HTTP */ }; #ifdef BROKEN char *BREAKDOWN_APPS_NAMES[] = { "app 1", "app 2", "app 3", "app 4", "app 5", "app 6", "app 7", "app 8" }; #endif /* BROKEN */ /* for VM efficiency, we pull the info that we want out of the tcptrace structures into THIS structure (or large files thrash) */ typedef struct module_conninfo_tcb { /* cached connection type (incoming, remote, etc) */ enum t_dtype dtype; /* cached data bytes */ u_llong data_bytes; /* * FTP: number of data connections against this control conn * HTTP: * NNTP: number of bursts * HTTP: number of bursts */ u_long numitems; /* burst info */ u_long burst_bytes; /* size of the current burst */ struct burstdata *pburst; /* was the last segment PUSHed? */ Bool last_seg_pushed; /* Thu Aug 26, 1999 - not used */ /* last time new data was sent */ timeval last_data_time; /* link back to REAL information */ tcb *ptcb; /* previous connection of same type */ struct module_conninfo *prev_dtype_all;/* for ALL app types */ struct module_conninfo *prev_dtype_byapp; /* just for THIS app type */ } module_conninfo_tcb; /* structure that this module keeps for each connection */ #define TCB_CACHE_A2B 0 #define TCB_CACHE_B2A 1 #define LOOP_OVER_BOTH_TCBS(var) var=TCB_CACHE_A2B; var<=TCB_CACHE_B2A; ++var typedef struct module_conninfo { /* cached info */ struct module_conninfo_tcb tcb_cache[2]; /* this connection should be ignored for breakdown/convarrival */ Bool ignore_conn; /* breakdown type */ short btype; /* cached copy of address pair */ tcp_pair_addrblock addr_pair; /* link back to the tcb's */ tcp_pair *ptp; /* time of connection start */ timeval first_time; timeval last_time; /* previous connection in linked list of all connections */ struct module_conninfo *prev; /* for parallel http sessions */ struct parallelism *pparallelism; /* unidirectional conns ignored totally */ Bool unidirectional_http; /* for determining bursts */ tcb *tcb_lastdata; /* to determine parallelism in conns, trafgen encodes a group number in the data */ u_long http_groupnum; /* next connection in linked list by endpoint pairs */ struct module_conninfo *next_pair; } module_conninfo; module_conninfo *module_conninfo_tail = NULL; /* data structure to store endpoint pairs */ typedef struct endpoint_pair { /* endpoint identification */ tcp_pair_addrblock addr_pair; /* linked list of connections using that pair */ module_conninfo *pmchead; /* next address pair */ struct endpoint_pair *pepnext; } endpoint_pair; #define ENDPOINT_PAIR_HASHSIZE 1023 /* for tracking burst data */ struct burstdata { dyn_counter nitems; /* total items (bursts) in connection */ dyn_counter size; /* size of the items */ dyn_counter idletime; /* idle time between bursts */ }; /* for tracking number of connections */ struct parallelism { Bool counted[NUM_DIRECTION_TYPES]; /* have we already accumulated this? */ /* (in each of the 4 directions) */ Bool persistant[2]; /* is this persistant (for each TCB) */ u_short maxparallel; /* maximum degree of parallelism */ u_long ttlitems[2]; /* across entire group (each dir) */ }; static struct tcplibstats { /* telnet packet sizes */ dyn_counter telnet_pktsize; /* telnet interarrival times */ dyn_counter telnet_interarrival; /* conversation interarrival times */ dyn_counter conv_interarrival_all; /* protocol-specific interarrival times */ dyn_counter conv_interarrival_byapp[NUM_APPS]; /* conversation duration */ dyn_counter conv_duration; /* for the interval breakdowns */ int interval_count; timeval last_interval; int tcplib_breakdown_interval[NUM_APPS]; /* histogram files */ MFILE *hist_file; /* for NNTP, we track: */ /* # items per connection */ /* idletime between items */ /* burst size */ struct burstdata nntp_bursts; /* for HTTP1.0, we track: */ /* # items per connection */ /* # connections */ /* idletime between items */ /* burst size */ struct burstdata http_P_bursts; dyn_counter http_P_maxconns; /* max degree of concurrency */ dyn_counter http_P_ttlitems; /* ttl items across whole parallel group */ dyn_counter http_P_persistant; /* which parallel groups are persistant */ /* for HTTP1.1, we track: */ /* # items per connection */ /* idletime between items */ /* burst size */ struct burstdata http_S_bursts; /* telnet packet sizes */ dyn_counter throughput; int throughput_bytes; } *global_pstats[NUM_DIRECTION_TYPES] = {NULL}; /* local debugging flag */ static int ldebug = 0; /* parallelism for our TRAFGEN files */ static Bool trafgen_generated = FALSE; /* offset for all ports */ static int ipport_offset = 0; /* the name of the directory (prefix) for the output */ static char *output_dir = DEFAULT_TCPLIB_DATADIR; /* the name of the current tcptrace input file */ static char *current_file = NULL; /* characters to print in interval breakdown file */ static const char breakdown_hash_char[] = { 'S', 'N', 'T', 'F', 'H', 'f'}; /* FTP endpoints hash table */ endpoint_pair *ftp_endpoints[ENDPOINT_PAIR_HASHSIZE]; /* HTTP endpoints hash table */ endpoint_pair *http_endpoints[ENDPOINT_PAIR_HASHSIZE]; /* internal types */ typedef Bool (*f_testinside) (module_conninfo *pmc, module_conninfo_tcb *ptcbc); /* various statistics and counters */ static u_long debug_newconn_counter; /* total conns */ static u_long debug_newconn_badport; /* a port we don't want */ static u_long debug_newconn_goodport; /* we want the port */ static u_long debug_newconn_ftp_data_heuristic; /* merely ASSUMED to be ftp data */ static u_llong debug_total_bytes; /* total "bytes" accepted */ /* parallel http counters */ static u_long debug_http_total; /* all HTTP conns */ static u_long debug_http_parallel; /* parallel HTTP, not counted in breakdown/conv */ static u_long debug_http_single; static u_long debug_http_groups; static u_long debug_http_slaves; static u_long debug_http_uni_conns; /* data in at most one direction, ignored */ static u_llong debug_http_uni_bytes; /* data in at most one direction, ignored */ static u_long debug_http_persistant; static u_long debug_http_nonpersistant; /* conns by type */ static u_long conntype_counter[NUM_DIRECTION_TYPES]; /* both flows have data */ static u_long conntype_duplex_counter[NUM_DIRECTION_TYPES]; /* this flow has data, twin is empty */ static u_long conntype_uni_counter[NUM_DIRECTION_TYPES]; /* this flow has NO data, twin is NOT empty */ static u_long conntype_nodata_counter[NUM_DIRECTION_TYPES]; /* neither this flow OR its twin has data */ static u_long conntype_noplex_counter[NUM_DIRECTION_TYPES]; /* Function Prototypes */ static void ParseArgs(char *argstring); static int breakdown_type(tcp_pair *ptp); static void do_final_breakdown(char* filename, f_testinside p_tester, struct tcplibstats *pstats); static void do_all_final_breakdowns(void); static void do_all_conv_arrivals(void); static void do_tcplib_final_converse(char *filename, char *protocol, dyn_counter psizes); static void do_tcplib_next_converse(module_conninfo_tcb *ptcbc, module_conninfo *pmc); static void do_tcplib_conv_duration(char *filename, dyn_counter psizes); static void do_tcplib_next_duration(module_conninfo_tcb *ptcbc, module_conninfo *pmc); static void tcplib_cleanup_bursts(void); static void tcplib_save_bursts(void); static Bool is_parallel_http(module_conninfo *pmc_new); static void tcplib_filter_http_uni(void); /* prototypes for connection-type determination */ static Bool is_ftp_ctrl_port(portnum port); static Bool is_ftp_data_port(portnum port); static Bool is_http_port(portnum port); static Bool is_nntp_port(portnum port); static Bool is_smtp_port(portnum port); static Bool is_telnet_port(portnum port); /* shorthand */ #define is_ftp_ctrl_conn(pmc) (pmc->btype == TCPLIBPORT_FTPCTRL) #define is_ftp_data_conn(pmc) (pmc->btype == TCPLIBPORT_FTPDATA) #define is_http_conn(pmc) (pmc->btype == TCPLIBPORT_HTTP) #define is_nntp_conn(pmc) (pmc->btype == TCPLIBPORT_NNTP) #define is_smtp_conn(pmc) (pmc->btype == TCPLIBPORT_SMTP) #define is_telnet_conn(pmc) (pmc->btype == TCPLIBPORT_TELNET) static char* namedfile(char *localsuffix, char * file); static void setup_breakdown(void); static void tcplib_add_telnet_interarrival(tcp_pair *ptp, module_conninfo *pmc, dyn_counter *psizes); static void tcplib_add_telnet_packetsize(struct tcplibstats *pstats, int length); static void tcplib_do_ftp_control_size(char *filename, f_testinside p_tester); static void tcplib_do_ftp_itemsize(char *filename, f_testinside p_tester); static void tcplib_do_ftp_numitems(char *filename, f_testinside p_tester); static void tcplib_do_smtp_itemsize(char *filename, f_testinside p_tester); static void tcplib_do_telnet_duration(char *filename, f_testinside p_tester); static void tcplib_do_telnet_interarrival(char *filename, f_testinside p_tester); static void tcplib_do_telnet_packetsize(char *filename, f_testinside p_tester); static void tcplib_init_setup(void); static void update_breakdown(tcp_pair *ptp, struct tcplibstats *pstats); module_conninfo *FindPrevConnection(module_conninfo *pmc, enum t_dtype dtype, int app_type); static char *FormatBrief(tcp_pair *ptp,tcb *ptcb); static char *FormatAddrBrief(tcp_pair_addrblock *addr_pair); static void ModuleConnFillcache(void); /* prototypes for determining "insideness" */ static void DefineInside(char *iplist); static Bool IsInside(ipaddr *pipaddr); static Bool TestOutgoing(module_conninfo*, module_conninfo_tcb *ptcbc); static Bool TestIncoming(module_conninfo*, module_conninfo_tcb *ptcbc); static Bool TestLocal(module_conninfo*, module_conninfo_tcb *ptcbc); static Bool TestRemote(module_conninfo*, module_conninfo_tcb *ptcbc); static int InsideBytes(module_conninfo*, f_testinside); static enum t_dtype traffic_type(module_conninfo *pmc, module_conninfo_tcb *ptcbc); /* prototypes for endpoint pairs */ static void TrackEndpoints(module_conninfo *pmc); static hash EndpointHash(tcp_pair_addrblock *addr_pair); static hash IPHash(ipaddr *paddr); static Bool SameEndpoints(tcp_pair_addrblock *paddr_pair1, tcp_pair_addrblock *paddr_pair2); static struct module_conninfo_tcb *MostRecentFtpControl(endpoint_pair *pep); static Bool CouldBeFtpData(tcp_pair *ptp); static void AddEndpointPair(endpoint_pair *hashtable[], module_conninfo *pmc); static endpoint_pair *FindEndpointPair(endpoint_pair *hashtable[], tcp_pair_addrblock *paddr_pair); static Bool IsNewBurst(module_conninfo *pmc, tcb *ptcb, module_conninfo_tcb *ptcbc, struct tcphdr *tcp); /* various helper routines used by many others -- sdo */ static Bool ActiveConn(module_conninfo *pmc); static Bool RecentlyActiveConn(module_conninfo *pmc); static void tcplib_do_GENERIC_itemsize( char *filename, int btype, f_testinside p_tester, int bucketsize); static void tcplib_do_GENERIC_burstsize( char *filename, dyn_counter counter); static void tcplib_do_GENERIC_P_maxconns( char *filename, dyn_counter counter); static void tcplib_do_GENERIC_nitems( char *filename, dyn_counter counter); static void tcplib_do_GENERIC_idletime( char *filename, dyn_counter counter); static void StoreCounters(char *filename, char *header1, char *header2, int bucketsize, dyn_counter psizes); #ifdef READ_OLD_FILES static dyn_counter ReadOldFile(char *filename, int bucketsize, int maxlegal, dyn_counter psizes); #endif /* READ_OLD_FILES */ /* First section is comprised of functions that TCPTrace will call * for all modules. */ /*************************************************************************** * * Function Name: tcplib_init * * Returns: TRUE/FALSE whether or not the tcplib module for tcptrace * has been requested on the command line. * * Purpose: To parse the command line arguments for the tcplib module's * command line flags, return whether or not to run the module, * and to set up the local global variables needed to generate * the tcplib data files. * * Called by: LoadModules() in tcptrace.c * * ****************************************************************************/ int tcplib_init( int argc, /* Number of command line arguments */ char *argv[] /* Command line arguments */ ) { int i; /* Runner for command line arguments */ int enable = 0; /* Do we turn on this module, or not? */ char *args = NULL; for(i = 0; i < argc; i++) { if (!argv[i]) continue; /* See if they want to use us */ if ((argv[i] != NULL) && (strncmp(argv[i], "-xtcplib", 8) == 0)) { /* Calling the Tcplib part */ enable = 1; args = argv[i]+(sizeof("-xtcplib")-1); printf("Capturing TCPLib traffic\n"); /* We free this argument so that no other modules * or the main program mis-interprets this flag. */ argv[i] = NULL; continue; } } /* If enable is not true, then all tcplib functions will * be ignored during this run of the program. */ if (!enable) return(0); /* don't call me again */ /* parse the encoded args */ ParseArgs(args); /* init internal data */ tcplib_init_setup(); /* don't care for detailed output! */ printsuppress = TRUE; return TRUE; } /* wants strings of the form IP1-IP2 */ static struct insidenode * DefineInsideRange( char *ip_pair) { char *pdash; struct insidenode *pnode; ipaddr *paddr; char *paddr1; char *paddr2; if (ldebug>2) printf("DefineInsideRange('%s') called\n", ip_pair); pdash = strchr(ip_pair,'-'); if (pdash == NULL) { /* just one address, treat it as a range */ paddr1 = ip_pair; paddr2 = ip_pair; } else { /* a pair */ *pdash = '\00'; paddr1 = ip_pair; paddr2 = pdash+1; } pnode = MallocZ(sizeof(struct insidenode)); paddr = str2ipaddr(paddr1); if (paddr == NULL) { fprintf(stderr,"invalid IP address: '%s'\n", paddr1); exit(-1); } pnode->min = *paddr; paddr = str2ipaddr(paddr2); if (paddr == NULL) { fprintf(stderr,"invalid IP address: '%s'\n", paddr2); exit(-1); } pnode->max = *paddr; return(pnode); } static struct insidenode * DefineInsideRecurse( char *iplist) { char *pcomma; struct insidenode *left; /* find commas and recurse */ pcomma = strchr(iplist,','); if (pcomma) { *pcomma = '\00'; left = DefineInsideRecurse(iplist); left->next = DefineInsideRecurse(pcomma+1); return(left); } else { /* just one term left */ return(DefineInsideRange(iplist)); } } static void DefineInside( char *iplist) { if (ldebug>2) printf("DefineInside(%s) called\n", iplist); inside_head = DefineInsideRecurse(iplist); if (ldebug) { struct insidenode *phead; printf("DefineInside: result:\n "); for (phead=inside_head; phead; phead=phead->next) { printf("(%s <= addr", HostAddr(phead->min)); printf(" <= %s)", HostAddr(phead->max)); if (phead->next) printf(" OR "); } printf("\n"); } } static Bool IsInside( ipaddr *paddr) { struct insidenode *phead; /* if use didn't specify "inside", then EVERYTHING is "inside" */ if (LOCAL_ONLY) return(TRUE); for (phead = inside_head; phead; phead=phead->next) { int cmp1 = IPcmp(&phead->min, paddr); int cmp2 = IPcmp(&phead->max, paddr); if ((cmp1 == -2) || (cmp2 == -2)) { /* not all the same address type, fail */ return(FALSE); } if ((cmp1 <= 0) && /* min <= addr */ (cmp2 >= 0)) /* max >= addr */ return(TRUE); } return(FALSE); } static Bool TestOutgoing( module_conninfo *pmc, module_conninfo_tcb *ptcbc) { if (ptcbc == &pmc->tcb_cache[TCB_CACHE_A2B]) return( IsInside(&pmc->addr_pair.a_address) && !IsInside(&pmc->addr_pair.b_address)); else return( IsInside(&pmc->addr_pair.b_address) && !IsInside(&pmc->addr_pair.a_address)); } static Bool TestIncoming( module_conninfo *pmc, module_conninfo_tcb *ptcbc) { if (ptcbc == &pmc->tcb_cache[TCB_CACHE_A2B]) return(!IsInside(&pmc->addr_pair.a_address) && IsInside(&pmc->addr_pair.b_address)); else return(!IsInside(&pmc->addr_pair.b_address) && IsInside(&pmc->addr_pair.a_address)); } static Bool TestLocal( module_conninfo *pmc, module_conninfo_tcb *ptcbc) { return(IsInside(&pmc->addr_pair.a_address) && IsInside(&pmc->addr_pair.b_address)); } static Bool TestRemote( module_conninfo *pmc, module_conninfo_tcb *ptcbc) { return(!IsInside(&pmc->addr_pair.a_address) && !IsInside(&pmc->addr_pair.b_address)); } static int InsideBytes( module_conninfo *pmc, f_testinside p_tester) /* function to test "insideness" */ { int temp = 0; int dir; for (LOOP_OVER_BOTH_TCBS(dir)) { /* if "p_tester" likes this side of the connection, count the bytes */ if ((*p_tester)(pmc, &pmc->tcb_cache[dir])) temp += pmc->tcb_cache[dir].data_bytes; } return(temp); } static void ParseArgs(char *argstring) { int argc; char **argv; int i; /* make sure there ARE arguments */ if (!(argstring && *argstring)) return; /* break the string into normal arguments */ StringToArgv(argstring,&argc,&argv); /* check the module args */ for (i=1; i < argc; ++i) { /* The "-o####" flag sets the offset that we're going * to consider for tcplib data files. The reason is that * for verification purposes, when trafgen creates traffic * it sends it to non-standard ports. So, in order to get * a data set from generated traffic, we'd have to remove * the offset. The -o allows us to do that. */ if (argv[i] && !strncmp(argv[i], "-o", 2)) { ipport_offset = atoi(argv[i]+2); if (!ipport_offset) { fprintf(stderr, "\ Invalid argument to flag \"-o\".\n\ Must be integer value greater than 0.\n"); exit(1); } printf("TCPLib port offset - %d\n", ipport_offset); } /* The "-iIPs" gives the definition of "inside". When it's used, * we divide the the data into four sets: * data.incoming: * for all data flowing from "inside" to "outside" * data.outgoing: * for all data flowing from "outside" to "inside" * data.local: * for all data flowing from "inside" to "inside" * data.remote: * for all data flowing from "outside" to "outside" * (probably an error) */ else if (argv[i] && !strncmp(argv[i], "-i", 2)) { if (!isdigit((int)*(argv[i]+2))) { fprintf(stderr,"-i requires IP address list\n"); tcplib_usage(); exit(-1); } DefineInside(argv[i]+2); } /* parallelism hack */ else if (argv[i] && !strncmp(argv[i], "-H", 2)) { trafgen_generated = TRUE; } /* local debugging flag */ else if (argv[i] && !strncmp(argv[i], "-d", 2)) { ++ldebug; } /* We will probably need to add another flag here to * specify the directory in which to place the data * files. And here it is. */ else if (argv[i] && !strncmp(argv[i], "-D", 2)) { char *pdir = argv[i]+2; if (!pdir) { fprintf(stderr,"argument -DDIR requires directory name\n"); exit(-1); } output_dir = strdup(pdir); printf("TCPLib output directory - %sdata\n", output_dir); } /* ... else invalid */ else { fprintf(stderr,"tcplib module: bad argument '%s'\n", argv[i]); exit(-1); } } } static void tcplib_save_bursts() { int dtype; module_conninfo *pmc; int non_parallel = 0; char *filename; tcplib_cleanup_bursts(); /* accumulate parallelism stats */ for (dtype=0; dtype < NUM_DIRECTION_TYPES; ++dtype) { non_parallel = 0; for (pmc = module_conninfo_tail; pmc; pmc = pmc->prev) { struct parallelism *pp = pmc->pparallelism; int dir; /* make sure it's http */ if (!is_http_conn(pmc)) continue; /* ignore unidirectional */ if (pmc->unidirectional_http) continue; /* check each TCB */ for (LOOP_OVER_BOTH_TCBS(dir)) { module_conninfo_tcb *ptcbc = &pmc->tcb_cache[dir]; /* make sure it's -- the right direction -- and parallel -- not already counted */ if (ptcbc->dtype != dtype) continue; if (pp == NULL) { ++non_parallel; continue; } if (pp->counted[dtype]) continue; /* count the max connections */ AddToCounter(&global_pstats[dtype]->http_P_maxconns, pp->maxparallel, 1, 1); /* count the ttl items in the parallel group */ AddToCounter(&global_pstats[dtype]->http_P_ttlitems, pp->ttlitems[dir], 1, GRAN_NUMITEMS); /* binary counter, one sample of either: */ /* 1: NOT persistant */ /* 2: persistant */ AddToCounter(&global_pstats[dtype]->http_P_persistant, pp->persistant[dir]?2:1, 1, 1); /* debugging */ if (pp->persistant[dir]) ++debug_http_persistant; else ++debug_http_nonpersistant; /* don't count it again! */ pmc->pparallelism->counted[dtype] = TRUE; } } /* add the NON-parallel HTTP to the counter */ AddToCounter(&global_pstats[dtype]->http_P_maxconns, 1, non_parallel, 1); } /* write all the counters */ for (dtype=0; dtype < NUM_DIRECTION_TYPES; ++dtype) { if (ldebug>1) printf("tcplib: running burstsizes (%s)\n", dtype_names[dtype]); /* ---------------------*/ /* Burstsize */ /* ---------------------*/ /* HTTP 1.0 */ filename = namedfile(dtype_names[dtype],TCPLIB_HTTP_P_BURSTSIZE_FILE); tcplib_do_GENERIC_burstsize(filename, global_pstats[dtype]->http_P_bursts.size); /* HTTP 1.1 */ filename = namedfile(dtype_names[dtype],TCPLIB_HTTP_S_BURSTSIZE_FILE); tcplib_do_GENERIC_burstsize(filename, global_pstats[dtype]->http_S_bursts.size); /* NNTP */ filename = namedfile(dtype_names[dtype],TCPLIB_NNTP_BURSTSIZE_FILE); tcplib_do_GENERIC_burstsize(filename, global_pstats[dtype]->nntp_bursts.size); /* ---------------------*/ /* Total parallel items */ /* ---------------------*/ /* HTTP 1.0 */ filename = namedfile(dtype_names[dtype],TCPLIB_HTTP_P_TTLITEMS_FILE); tcplib_do_GENERIC_nitems(filename, global_pstats[dtype]->http_P_ttlitems); /* ---------------------*/ /* Num Items in Burst */ /* ---------------------*/ /* HTTP 1.1 */ filename = namedfile(dtype_names[dtype],TCPLIB_HTTP_S_NITEMS_FILE); tcplib_do_GENERIC_nitems(filename, global_pstats[dtype]->http_S_bursts.nitems); /* NNTP */ filename = namedfile(dtype_names[dtype],TCPLIB_NNTP_NITEMS_FILE); tcplib_do_GENERIC_nitems(filename, global_pstats[dtype]->nntp_bursts.nitems); /* ---------------------*/ /* Idletime */ /* ---------------------*/ /* HTTP 1.0 */ filename = namedfile(dtype_names[dtype],TCPLIB_HTTP_P_IDLETIME_FILE); tcplib_do_GENERIC_idletime(filename, global_pstats[dtype]->http_P_bursts.idletime); /* HTTP 1.1 */ filename = namedfile(dtype_names[dtype],TCPLIB_HTTP_S_IDLETIME_FILE); tcplib_do_GENERIC_idletime(filename, global_pstats[dtype]->http_S_bursts.idletime); /* NNTP */ filename = namedfile(dtype_names[dtype],TCPLIB_NNTP_IDLETIME_FILE); tcplib_do_GENERIC_idletime(filename, global_pstats[dtype]->nntp_bursts.idletime); /* store the counters */ filename = namedfile(dtype_names[dtype],TCPLIB_HTTP_P_MAXCONNS_FILE); tcplib_do_GENERIC_P_maxconns(filename, global_pstats[dtype]->http_P_maxconns); /* store the persistance */ filename = namedfile(dtype_names[dtype],TCPLIB_HTTP_P_PERSIST_FILE); tcplib_do_GENERIC_nitems(filename, global_pstats[dtype]->http_P_persistant); if (LOCAL_ONLY) break; } } /*************************************************************************** * * Function Name: tcplib_done * * Returns: Nothing * * Purpose: This function runs after all the packets have been read in * and filed. The functions that tcplib_done calls are the ones * that generate the data files. * * Called by: FinishModules() in tcptrace.c * * ****************************************************************************/ static void RunAllFour( void (*f_runme) (char *,f_testinside), char *thefile) { char *filename; filename = namedfile("local",thefile); (*f_runme)(filename,TestLocal); if (LOCAL_ONLY) return; /* none of the rest will match anyway */ filename = namedfile("incoming",thefile); (*f_runme)(filename,TestIncoming); filename = namedfile("outgoing",thefile); (*f_runme)(filename,TestOutgoing); filename = namedfile("remote",thefile); (*f_runme)(filename,TestRemote); } void tcplib_done() { char *filename; int i; /* fill the info cache */ if (ldebug) printf("tcplib: completing data structure\n"); ModuleConnFillcache(); /* do TELNET */ if (ldebug) printf("tcplib: running telnet\n"); RunAllFour(tcplib_do_telnet_packetsize,TCPLIB_TELNET_PACKETSIZE_FILE); RunAllFour(tcplib_do_telnet_interarrival,TCPLIB_TELNET_INTERARRIVAL_FILE); RunAllFour(tcplib_do_telnet_duration,TCPLIB_TELNET_DURATION_FILE); /* do FTP */ if (ldebug) printf("tcplib: running ftp\n"); RunAllFour(tcplib_do_ftp_control_size,TCPLIB_FTP_CTRLSIZE_FILE); RunAllFour(tcplib_do_ftp_itemsize,TCPLIB_FTP_ITEMSIZE_FILE); RunAllFour(tcplib_do_ftp_numitems,TCPLIB_FTP_NITEMS_FILE); /* do SMTP */ if (ldebug) printf("tcplib: running smtp\n"); RunAllFour(tcplib_do_smtp_itemsize,TCPLIB_SMTP_ITEMSIZE_FILE); /* do NNTP */ if (ldebug) printf("tcplib: running nntp\n"); /* do HTTP */ if (ldebug) printf("tcplib: running http\n"); /* filter out the unidirectional HTTP (server pushes) */ tcplib_filter_http_uni(); /* for efficiency, do all burst size stuff together */ if (ldebug) printf("tcplib: running burstsizes\n"); tcplib_save_bursts(); /* do the breakdown stuff */ if (ldebug) printf("tcplib: running breakdowns\n"); do_all_final_breakdowns(); /* do the conversation interrival time */ if (ldebug) printf("tcplib: running conversation interarrival times\n"); do_all_conv_arrivals(); for (i=0; i < NUM_DIRECTION_TYPES; ++i) { if (ldebug>1) printf("tcplib: running conversation arrivals (%s)\n", dtype_names[i]); filename = namedfile(dtype_names[i],TCPLIB_NEXT_CONVERSE_FILE); do_tcplib_final_converse(filename, "total", global_pstats[i]->conv_interarrival_all); #ifdef BROKEN /* do the application-specific tables for Mark */ for (j=0; j < NUM_APPS; ++j) { char new_filename[128]; char *app_name = BREAKDOWN_APPS_NAMES[j]; snprintf(new_filename,sizeof(new_filename),"%s_%s", filename, app_name); do_tcplib_final_converse(new_filename, app_name, global_pstats[i]->conv_interarrival_byapp[j]); } #endif /* BROKEN */ /* do conversation durations */ filename = namedfile(dtype_names[i],TCPLIB_CONV_DURATION_FILE); do_tcplib_conv_duration(filename, global_pstats[i]->conv_duration); if (LOCAL_ONLY) break; } /* print stats */ debug_http_single = debug_http_total - debug_http_parallel; printf("tcplib: total connections seen: %lu (%lu accepted, %lu bad port)\n", debug_newconn_counter, debug_newconn_goodport, debug_newconn_badport); printf("tcplib: total bytes seen: %" FS_ULL "\n", debug_total_bytes); printf("tcplib: %lu random connections accepted under FTP data heuristic\n", debug_newconn_ftp_data_heuristic); printf("tcplib: %lu HTTP conns (%lu parallel, %lu single)\n", debug_http_total, debug_http_parallel, debug_http_single); printf("tcplib: %lu HTTP conns (%lu single, %lu leaders, %lu slaves)\n", debug_http_total, debug_http_single, debug_http_groups, debug_http_slaves); printf("tcplib: %lu groups (%lu persistant ||, %lu nonpersistant ||)\n", debug_http_groups, debug_http_persistant, debug_http_nonpersistant); printf("tcplib: %lu (%.2f%%) unidir. HTTP conns (%" FS_ULL " bytes, %.2f%%) ignored\n", debug_http_uni_conns, 100.0 * ((float)debug_http_uni_conns / (float)(debug_newconn_counter + debug_http_uni_conns)), debug_http_uni_bytes, 100.0 * ((float)debug_http_uni_bytes / (float)(debug_total_bytes + debug_http_uni_bytes))); for (i=0; i < NUM_DIRECTION_TYPES; ++i) { printf(" Flows of type %-8s %5lu (%lu duplex, %lu noplex, %lu unidir, %lu nodata)\n", dtype_names[i], conntype_counter[i], conntype_duplex_counter[i], conntype_noplex_counter[i], conntype_uni_counter[i], conntype_nodata_counter[i]); } /* dump HTTP groups for debugging */ { module_conninfo *pmc; printf("Group Numbers for HTTP conns\n"); for (pmc = module_conninfo_tail; pmc; pmc = pmc->prev) { tcb *ptcb = pmc->tcb_cache[TCB_CACHE_A2B].ptcb; if (pmc->btype != TCPLIBPORT_HTTP) continue; if (pmc->unidirectional_http) continue; printf("%s: %30s\tGROUPNUM %5lu\tdata %" FS_ULL ":%" FS_ULL "\n", ts2ascii(&ptcb->ptp->first_time), FormatBrief(ptcb->ptp, ptcb), pmc->http_groupnum, pmc->tcb_cache[0].data_bytes, pmc->tcb_cache[1].data_bytes); } printf("Unidirectional HTTP conns (ignored)\n"); for (pmc = module_conninfo_tail; pmc; pmc = pmc->prev) { tcb *ptcb = pmc->tcb_cache[TCB_CACHE_A2B].ptcb; if (pmc->btype != TCPLIBPORT_HTTP) continue; if (!pmc->unidirectional_http) continue; printf("%s: %30s\tGROUPNUM %5lu\tdata %" FS_ULL ":%" FS_ULL "\n", ts2ascii(&ptcb->ptp->first_time), FormatBrief(ptcb->ptp, ptcb), pmc->http_groupnum, pmc->tcb_cache[0].data_bytes, pmc->tcb_cache[1].data_bytes); } } return; } /*************************************************************************** * * Function Name: tcplib_read * * Returns: Nothing * * Purpose: This function is called each time a packet is read in by * tcptrace. tcplib_read examines the packet, and keeps track * of certain information about the packet based on the packet's * source and/or destination ports. * * Called by: ModulesPerPacket() in tcptrace.c * * ****************************************************************************/ void tcplib_read( struct ip *pip, /* The packet */ tcp_pair *ptp, /* The pair of hosts - basically the conversation */ void *plast, /* Unused here */ void *pmodstruct /* Nebulous structure used to hold data that the module * feels is important. */ ) { struct tcphdr *tcp; /* TCP header information */ int data_len = 0; /* Length of the data cargo in the packet, and * the period of time between the last two packets * in a conversation */ tcb *ptcb; module_conninfo_tcb *ptcbc; struct tcplibstats *pstats; module_conninfo *pmc = pmodstruct; enum t_dtype dtype; int dir; /* first, discard any connections that we aren't interested in. */ /* That means that pmodstruct is NULL */ if (pmc == NULL) { return; } /* Setting a pointer to the beginning of the TCP header */ tcp = (struct tcphdr *) ((char *)pip + (4 * IP_HL(pip))); /* calculate the amount of user data */ data_len = pip->ip_len - /* size of entire IP packet (and IP header) */ (4 * IP_HL(pip)) - /* less the IP header */ (4 * TH_OFF(tcp)); /* less the TCP header */ /* stats */ debug_total_bytes += data_len; /* see which of the 2 TCB's this goes with */ if (ptp->addr_pair.a_port == ntohs(tcp->th_sport)) { ptcb = &ptp->a2b; dir = TCB_CACHE_A2B; } else { ptcb = &ptp->b2a; dir = TCB_CACHE_B2A; } ptcbc = &pmc->tcb_cache[dir]; /* see where to keep the stats */ dtype = traffic_type(pmc,ptcbc); pstats = global_pstats[dtype]; /* Let's do the telnet packet sizes. Telnet packets are the only * ones where we actually care about the sizes of individual packets. * All the other connection types are a "send as fast as possible" * kind of setup where the packet sizes are always optimal. Because * of this, we need the size of each and every telnet packet that * comes our way. */ if (is_telnet_conn(pmc)) { if (data_len > 0) { if (ldebug>2) printf("read: adding %d byte telnet packet to %s\n", data_len, dtype_names[dtype]); tcplib_add_telnet_packetsize(pstats,data_len); } } /* Here's where we'd need to do telnet interarrival times. The * same basic scenario applies with telnet packet interarrival * times. Because telnet type traffic is "stop and go", we need * to be able to model how long the "stops" are. So we measure * the time in between successive packets in a single telnet * conversation. */ if (is_telnet_conn(pmc)) { tcplib_add_telnet_interarrival( ptp, pmc, &pstats->telnet_interarrival); } /* keep track of bytes/second too */ if (data_len > 0) { static timeval last_time = {0,0}; unsigned etime; /* accumulate total bytes */ pstats->throughput_bytes += data_len; /* elapsed time in milliseconds */ etime = (int)(elapsed(last_time, current_time)/1000.0); /* every 15 seconds, gather throughput stats */ if (etime > 15000) { AddToCounter(&pstats->throughput, pstats->throughput_bytes, etime, 1024); pstats->throughput_bytes = 0; last_time = current_time; } } /* create data for traffic breakdown over time file */ /* (sdo - only count packets with DATA) */ if (data_len > 0) { int a2b_btype = pmc->btype; if (a2b_btype != TCPLIBPORT_NONE) { pstats->tcplib_breakdown_interval[a2b_btype] += ptp->a2b.data_bytes; } } /* if it's http and we don't already know that it's parallel, and this is the first data, and we're looking at trafgen data, check the group number encoded in the data stream */ if (is_http_conn(pmc) && trafgen_generated && (ptcb->data_bytes == data_len) && data_len >= sizeof(struct burstkey)) { u_char *pdata = (u_char *)tcp + TH_OFF(tcp)*4; int available = (char *)plast - (char *)pdata + 1; struct burstkey *pburst; if (0) printf("Looking for burst key (in %d bytes of data, %d bytes available)\n", data_len, available); /* see where the burst key should be */ pburst = (void *) pdata; if (pburst->magic == BURST_KEY_MAGIC) { pmc->http_groupnum = ntohl(pburst->groupnum); if (ldebug>1) printf("FOUND BURST KEY in %s, group num is %lu!\n", FormatBrief(ptcb->ptp, ptcb), pmc->http_groupnum); /* check for parallelism */ if (is_parallel_http(pmc)) { pmc->ignore_conn = TRUE; } } } /* DATA Burst checking (NNTP and HTTP only) */ if ((data_len > 0) && (is_nntp_conn(pmc) || is_http_conn(pmc))) { /* see if it's a new burst */ if (IsNewBurst(pmc, ptcb, ptcbc, tcp)) { int etime; if (ldebug > 1) printf("New burst starts at time %s for %s\n", ts2ascii(¤t_time), FormatBrief(pmc->ptp,ptcb)); /* count the PREVIOUS burst item */ /* NB: the last is counted in tcplib_cleanup_bursts() */ ++ptcbc->numitems; /* special burst handling for HTTP */ if (is_http_conn(pmc) && pmc->pparallelism) { struct parallelism *pp = pmc->pparallelism; if (ptcbc->numitems > 1) { pp->persistant[dir] = TRUE; } /* add to total bursts in parallel group */ ++pp->ttlitems[dir]; } /* accumulate burst size stats */ if (ldebug>1) printf("Adding burst size %ld to %s\n", ptcbc->burst_bytes, FormatBrief(pmc->ptp,ptcb)); AddToCounter(&ptcbc->pburst->size, ptcbc->burst_bytes, 1, GRAN_BURSTSIZE); /* reset counter for next burst */ ptcbc->burst_bytes = 0; /* determine idle time (elapsed time in milliseconds) */ etime = (int)(elapsed(ptcbc->last_data_time, current_time)/1000.0); /* accumulate idletime stats */ /* version 2.0 - Thu Aug 26, 1999, subtract the RTT */ /* use rtt_last, RTT of last "good ack" */ if (ptcb->rtt_last > 0.0) { int last_good_rtt = ptcb->rtt_last / 1000.0; #ifdef OLD printf("last_good: %d (%f), etime_0: %d etime_1: %d\n", last_good_rtt, ptcb->rtt_last, etime, etime-last_good_rtt); #endif /* OLD */ etime -= last_good_rtt; if (etime >= 0) AddToCounter(&ptcbc->pburst->idletime, etime, 1, GRAN_BURSTIDLETIME); } } /* accumulate size of current burst */ ptcbc->burst_bytes += data_len; /* remember when the last data was sent (for idletime) */ ptcbc->last_data_time = current_time; } /* This is just a sanity check to make sure that we've got at least * one time, and that our breakdown section is working on the same * file that we are. */ data_len = (current_time.tv_sec - pstats->last_interval.tv_sec); if (data_len >= TIMER_VAL) { update_breakdown(ptp, pstats); } /* analysis done, remember the last packet and PUSH status */ pmc->last_time = current_time; ptcbc->last_seg_pushed = PUSH_SET(tcp); return; } /****************************************************************** * * fill the tcb cache, make the 'previous' linked lists * ******************************************************************/ static void ModuleConnFillcache( void) { module_conninfo *pmc; enum t_dtype dtype; int dir; /* fill the cache */ for (pmc = module_conninfo_tail; pmc ; pmc=pmc->prev) { tcp_pair *ptp = pmc->ptp; /* shorthand */ int a2b_bytes = ptp->a2b.data_bytes; int b2a_bytes = ptp->b2a.data_bytes; /* both sides byte counters */ pmc->tcb_cache[TCB_CACHE_A2B].data_bytes = a2b_bytes; pmc->tcb_cache[TCB_CACHE_B2A].data_bytes = b2a_bytes; /* debugging stats */ if ((a2b_bytes == 0) && (b2a_bytes == 0)) { /* no bytes at all */ ++conntype_noplex_counter[pmc->tcb_cache[TCB_CACHE_A2B].dtype]; ++conntype_noplex_counter[pmc->tcb_cache[TCB_CACHE_B2A].dtype]; } else if ((a2b_bytes != 0) && (b2a_bytes == 0)) { /* only A2B has bytes */ ++conntype_uni_counter[pmc->tcb_cache[TCB_CACHE_A2B].dtype]; ++conntype_nodata_counter[pmc->tcb_cache[TCB_CACHE_B2A].dtype]; } else if ((a2b_bytes == 0) && (b2a_bytes != 0)) { /* only B2A has bytes */ ++conntype_nodata_counter[pmc->tcb_cache[TCB_CACHE_A2B].dtype]; ++conntype_uni_counter[pmc->tcb_cache[TCB_CACHE_B2A].dtype]; } else { /* both sides have bytes */ ++conntype_duplex_counter[pmc->tcb_cache[TCB_CACHE_A2B].dtype]; ++conntype_duplex_counter[pmc->tcb_cache[TCB_CACHE_B2A].dtype]; } /* globals */ pmc->last_time = ptp->last_time; } for (dtype = LOCAL; dtype <= REMOTE; ++dtype) { /* do the A sides, then the B sides */ for (LOOP_OVER_BOTH_TCBS(dir)) { int app; if (ldebug>1) printf(" Making previous for %s, side %s\n", dtype_names[dir], (dir==TCB_CACHE_A2B)?"A":"B"); /* do conversation interravial calculations by app */ for (app=-1; app <= NUM_APPS; ++app) { /* note: app==-1 means ALL apps */ for (pmc = module_conninfo_tail; pmc ; ) { module_conninfo_tcb *ptcbc = &pmc->tcb_cache[dir]; /* if app != -1, we just want SOME of them */ if ((app != -1) && (pmc->btype != app)) { /* don't want this one, try the next one */ pmc = pmc->prev; continue; } if (ptcbc->dtype == dtype) { module_conninfo *prev = FindPrevConnection(pmc,dtype,app); if (app == -1) ptcbc->prev_dtype_all = prev; else ptcbc->prev_dtype_byapp = prev; pmc = prev; } else { pmc = pmc->prev; } } } } } } /****************************************************************** * * to improve efficiency, we try to keep all of these on the * same virual pages * ******************************************************************/ static module_conninfo * NewModuleConn() { #define CACHE_SIZE 128 static module_conninfo *pcache[CACHE_SIZE]; static int num_cached = 0; module_conninfo *p; if (num_cached == 0) { int i; char *ptmp; ptmp = MallocZ(CACHE_SIZE*sizeof(module_conninfo)); for (i=0; i < CACHE_SIZE; ++i) { pcache[i] = (module_conninfo *)ptmp; ptmp += sizeof(module_conninfo); } num_cached = CACHE_SIZE; } /* grab one from the cache and return it */ p = pcache[--num_cached]; return(p); } /*************************************************************************** * * Function Name: tcplib_newconn * * Returns: The time of this connection. This becomes the pmodstruct that * is returned with each call to tcplib_read. * * Purpose: To setup and handle new connections. * * Called by: ModulesPerConn() in tcptrace.c * * ****************************************************************************/ void * tcplib_newconn( tcp_pair *ptp) /* This conversation */ { int btype; /* breakdown type */ module_conninfo *pmc; /* Pointer to a timeval structure. The * timeval structure becomes the time of * the last connection. The pmc * is tcptrace's way of allowing modules * to keep track of information about * connections */ /* trafgen only uses a few ports... */ if (trafgen_generated) { u_short server_port = ptp->addr_pair.b_port; if ((server_port < ipport_offset+IPPORT_FTP_DATA) || (server_port > ipport_offset+IPPORT_NNTP)) { ++debug_newconn_badport; return(NULL); } } /* verify that it's a connection we're interested in! */ ++debug_newconn_counter; btype = breakdown_type(ptp); if (btype == TCPLIBPORT_NONE) { ++debug_newconn_badport; return(NULL); /* so we won't get it back in tcplib_read() */ } else { /* else, it's acceptable, count it */ ++debug_newconn_goodport; } /* create the connection-specific data structure */ pmc = NewModuleConn(); pmc->first_time = current_time; pmc->ptp = ptp; pmc->tcb_cache[TCB_CACHE_A2B].ptcb = &ptp->a2b; pmc->tcb_cache[TCB_CACHE_B2A].ptcb = &ptp->b2a; /* cache the address info */ pmc->addr_pair = ptp->addr_pair; /* determine its "insideness" */ pmc->tcb_cache[TCB_CACHE_A2B].dtype = traffic_type(pmc, &pmc->tcb_cache[TCB_CACHE_A2B]); pmc->tcb_cache[TCB_CACHE_B2A].dtype = traffic_type(pmc, &pmc->tcb_cache[TCB_CACHE_B2A]); ++conntype_counter[pmc->tcb_cache[TCB_CACHE_A2B].dtype]; ++conntype_counter[pmc->tcb_cache[TCB_CACHE_B2A].dtype]; /* determine the breakdown type */ pmc->btype = btype; /* chain it in */ pmc->prev = module_conninfo_tail; module_conninfo_tail = pmc; /* setup the burst counter shorthand */ if ((btype == TCPLIBPORT_NNTP) || (btype == TCPLIBPORT_HTTP)) { module_conninfo_tcb *ptcbc; struct tcplibstats *pstats; int dir; /* printf("NewConn, saw btype %d for %s\n", btype, */ /* FormatBrief(ptp)); */ for (LOOP_OVER_BOTH_TCBS(dir)) { ptcbc = &pmc->tcb_cache[dir]; pstats = global_pstats[ptcbc->dtype]; if (btype == TCPLIBPORT_NNTP) { ptcbc->pburst = &pstats->nntp_bursts; } else if (btype == TCPLIBPORT_HTTP) { /* assume 1.1 unless we see parallelism later */ ptcbc->pburst = &pstats->http_S_bursts; } ptcbc->last_data_time = current_time; } } /* debugging counter */ if (btype == TCPLIBPORT_HTTP) ++debug_http_total; /* add to list of endpoints we track */ TrackEndpoints(pmc); /* if it's NOT trafgen generated and it's HTTP, check if it's parallel */ if (is_http_conn(pmc) && !trafgen_generated) { if (is_parallel_http(pmc)) { pmc->ignore_conn = TRUE; } } return (pmc); } /*************************************************************************** * * Function Name: tcplib_newfile * * Returns: Nothing * * Purpose: This function is called by tcptrace every time that a new * trace file is opened. tcplib_newfile basically sets up a new * line in the breakdown file, so that we can get a picture of * the traffic distribution for a single trace. * * Called by: ModulesPerFile() in tcptrace.c * * ****************************************************************************/ void tcplib_newfile( char *filename, /* Name of the file just opened. */ u_long filesize, Bool fcompressed ) { static int first_file = TRUE; /* If this isn't the first file that we've seen this run, then * we want to run do_final_breakdown on the file we ran BEFORE * this one. */ if (!first_file) { do_all_final_breakdowns(); free(current_file); } else { /* If this is the first file we've seen, then we just want to * record the name of this file, and do nothing until the file * is done. */ printf("%s", filename); first_file = FALSE; } /* remember the current file name */ current_file = (char *) strdup(filename); setup_breakdown(); return; } /*************************************************************************** * * Function Name: tcplib_usage * * Returns: Nothing * * Purpose: To print out usage instructions for this module. * * Called by: ListModules() in tcptrace.c * * ****************************************************************************/ void tcplib_usage() { printf("\ \t-xtcplib\"[ARGS]\"\tgenerate tcplib-format data files from trace\n"); printf("\ \t -oN set port offset to N, default is 0\n\ \t for example, we normally find telnet at 23, but\n\ \t if it's at 9023, then use \"-o9000\"\n\ \t -iIPLIST\n\ \t define the IP addresses which are \"inside\". Format allows\n\ \t ranges and commas, as in:\n\ \t -i128.1.0.0-128.2.255.255\n\ \t -i128.1.0.0-128.2.255.255,192.10.1.0-192.10.2.240\n\ \t -H use hacks to find data from trafgen-generated files\n\ \t -DDIR store the results in directory DIR, default is \"data\"\n\ "); } /* End of the tcptrace standard function section */ /*************************************************************************** * * Function Name: tcplib_init_setup * * Returns: Nothing * * Purpose: To setup and initialize the tcplib module's set of * global variables. * * Called by: tcplib_init() in mod_tcplib.c * * ****************************************************************************/ static void tcplib_init_setup(void) { int i; /* Loop Counter */ enum t_dtype ix; struct tcplibstats *pstats; /* We need to save the contents in order to piece together the answers * later on * * sdo - so why does Eric turn it OFF? */ save_tcp_data = FALSE; for (ix = LOCAL; ix <= REMOTE; ++ix) { /* create the big data structure */ global_pstats[ix] = pstats = MallocZ(sizeof(struct tcplibstats)); for(i = 0; i < NUM_APPS; i++) { pstats->tcplib_breakdown_interval[i] = 0; } } setup_breakdown(); return; } /*************************************************************************** * * Function Name: setup_breakdown * * Returns: Nothing * * Purpose: To open the traffic breakdown graph file, and to set the * interval count. * * Called by: tcplib_init_setup() in mod_tcplib.c * tcplib_newfile() in mod_tcplib.c * * ****************************************************************************/ static void setup_breakdown(void) { int ix; for (ix = LOCAL; ix <= REMOTE; ++ix) { struct tcplibstats *pstats = global_pstats[ix]; char *prefix = dtype_names[ix]; char *filename = namedfile(prefix,TCPLIB_BREAKDOWN_GRAPH_FILE); if (!(pstats->hist_file = Mfopen(filename, "w"))) { perror(filename); exit(1); } pstats->interval_count = 0; } } /*************************************************************************** * * Function Name: update_breakdown * * Returns: Nothing * * Purpose: To create a file containing a kind of histogram of traffic * seen in this file. The histogram would contain one row per * a set # of seconds, and would display one characteristic * character per a specified number of bytes. * * Called by: tcplib_read() in mod_tcplib.c * * ****************************************************************************/ static void update_breakdown( tcp_pair *ptp, /* This conversation */ struct tcplibstats *pstats) { int i; /* Looping variable */ int count; /* Displays the interval number. A new histogram line is displayed * at TIMER_VALUE seconds. */ Mfprintf(pstats->hist_file, "%d\t", pstats->interval_count); /* Display some characters for each type of traffic */ for(i = 0; i < NUM_APPS; i++) { struct tcplibstats *pstats = global_pstats[LOCAL]; /* We'll be displaying one character per BREAKDOWN_HASH number of bytes */ count = (pstats->tcplib_breakdown_interval[i] / BREAKDOWN_HASH) + 1; /* If there was actually NO traffic of that type, then we don't * want to display any characters. But if there was a little bit * of traffic, even much less than BREAKDOWN_HASH, we want to * acknowledge it. */ if (!pstats->tcplib_breakdown_interval[i]) count--; /* Print one hash char per count. */ while(count > 0) { Mfprintf(pstats->hist_file, "%c", breakdown_hash_char[i]); count--; } } /* After we've done all the applications, end the line */ Mfprintf(pstats->hist_file, "\n"); /* Zero out the counters */ for(i = 0; i < NUM_APPS; i++) { pstats->tcplib_breakdown_interval[i] = 0; } /* Update the breakdown interval */ pstats->interval_count++; /* Update the time that the last breakdown interval occurred. */ pstats->last_interval = current_time; } /*************************************************************************** * * Function Name: namedfile * * Returns: Relative path name attached to output file name. * * Purpose: The namedfile uses the -D command line argument to take a data * directory and puts it together with its default file name to * come up with the file name needed for output. * * Called by: do_final_breakdown() in mod_tcplib.c * do_tcplib_final_converse() in mod_tcplib.c * tcplib_do_telnet_duration() in mod_tcplib.c * tcplib_do_telnet_interarrival() in mod_tcplib.c * tcplib_do_telnet_pktsize() in mod_tcplib.c * tcplib_do_ftp_itemsize() in mod_tcplib.c * tcplib_do_ftp_control_size() in mod_tcplib.c * tcplib_do_smtp_itemsize() in mod_tcplib.c * tcplib_do_nntp_itemsize() in mod_tcplib.c * tcplib_do_http_itemsize() in mod_tcplib.c * ****************************************************************************/ static char * namedfile( char * localsuffix, char * real) /* Default file name for the output file */ { char directory[256]; static char buffer[256]; /* Buffer to store the full file name */ if (!LOCAL_ONLY) snprintf(directory,sizeof(directory),"%s_%s", output_dir, localsuffix); else snprintf(directory,sizeof(directory),"%s", output_dir); /* try to CREATE the directory if it doesn't exist */ if (access(directory,F_OK) != 0) { if (mkdir(directory,0755) != 0) { perror(directory); exit(-1); } if (ldebug>1) printf("Created directory '%s'\n", directory); } snprintf(buffer,sizeof(buffer),"%s/%s", directory, real); return buffer; } /*************************************************************************** * * Function Name: do_final_breakdown * * Returns: Nothing * * Purpose: To generate the final breakdown file. More specifically, to * generate the one line in the breakdown file associated with * the input file that is currently being traced. * * Called by: tcplib_done() in mod_tcplib.c * tcplib_newfile() in mod_tcplib.c * * ****************************************************************************/ static void do_final_breakdown( char *filename, f_testinside p_tester, struct tcplibstats *pstats) { module_conninfo *pmc; MFILE* fil; /* File descriptor for the traffic breakdown file */ long file_pos; /* Offset within the traffic breakdown file */ u_long num_parallel_http = 0; /* This is the header for the traffic breakdown file. It follows the * basic format of the original TCPLib breakdown file, but has been * modified to accomodate the additions that were made to TCPLib */ #ifdef INCLUDE_PHONE_CONV char *header = "stub\tsmtp\tnntp\ttelnet\tftp\thttp\tphone\tconv\n"; #else /* INCLUDE_PHONE_CONV */ char *header = "stub smtp\tnntp\ttelnet\tftp\thttp\n"; #endif /* INCLUDE_PHONE_CONV */ if (!(fil = Mfopen(filename, "a"))) { perror("Opening Breakdown File"); exit(1); } Mfseek(fil, 0, SEEK_END); file_pos = Mftell(fil); /* Basically, we're checking to see if this file has already been * used. We have the capability to both start a new set of data * based on a trace file, or we have the ability to incorporate one * trace file's data into the data from another trace. This would * have the effect of creating a hybrid traffic pattern, that matches * neither of the sources, but shares characteristics of both. */ if (file_pos < strlen(header)) { Mfprintf(fil, "%s", header); } /* We only do this next part if we actually have a file name. In * earlier revisions, sending a NULL filename signified the end of * all trace files. At this point, a NULL file name has no useful * purpose, so we ignore it completely. */ if (current_file) { int bad_port = 0; int no_data = 0; int bad_dir = 0; /* for protocol breakdowns */ int breakdown_protocol[NUM_APPS] = {0}; /* The breakdown file line associated with each trace file is * prefaced with the trace file's name. This was part of the * original TCPLib format. */ Mfprintf(fil, "%-16s ", current_file); /* count the connections of each protocol type */ for (pmc = module_conninfo_tail; pmc ; pmc = pmc->prev) { int protocol_type; module_conninfo_tcb *ptcbc; /* check the protocol type */ protocol_type = pmc->btype; if (protocol_type == TCPLIBPORT_NONE) { ++bad_port; continue; /* not interested, loop to next conn */ } /* count the parallel HTTP separately */ if (pmc->ignore_conn) { if (protocol_type == TCPLIBPORT_HTTP) { ++num_parallel_http; continue; } } /* see if we want A->B */ ptcbc = &pmc->tcb_cache[TCB_CACHE_A2B]; if ((*p_tester)(pmc, ptcbc)) { /* count it if there's data */ if (ptcbc->data_bytes > 0) { if (pmc->ignore_conn && is_http_conn(pmc)) ++num_parallel_http; else ++breakdown_protocol[protocol_type]; } else { ++no_data; } } else { /* see if we want B->A */ ptcbc = &pmc->tcb_cache[TCB_CACHE_B2A]; if ((*p_tester)(pmc, ptcbc)) { /* count it if there's data */ if (ptcbc->data_bytes > 0) { if (pmc->ignore_conn && is_http_conn(pmc)) ++num_parallel_http; else ++breakdown_protocol[protocol_type]; } else { ++no_data; } } else { ++bad_dir; } } } /* Print out each of the columns we like */ /* SMTP */ Mfprintf(fil, "%.4f\t", ((float)breakdown_protocol[TCPLIBPORT_SMTP])/ num_tcp_pairs); /* NNTP */ Mfprintf(fil, "%.4f\t", ((float)breakdown_protocol[TCPLIBPORT_NNTP])/ num_tcp_pairs); /* TELNET */ Mfprintf(fil, "%.4f\t", ((float)breakdown_protocol[TCPLIBPORT_TELNET])/ num_tcp_pairs); /* FTP */ Mfprintf(fil, "%.4f\t", ((float)breakdown_protocol[TCPLIBPORT_FTPCTRL])/ num_tcp_pairs); /* HTTP */ Mfprintf(fil, "%.4f\t", ((float)breakdown_protocol[TCPLIBPORT_HTTP])/ num_tcp_pairs); #ifdef UNDEF /* FTP Data */ Mfprintf(fil, "%.4f\t", ((float)breakdown_protocol[TCPLIBPORT_FTPDATA])/ num_tcp_pairs); /* Parallel HTTP */ Mfprintf(fil, "%.4f\t", ((float)num_parallel_http)/ num_tcp_pairs); #endif /* UNDEF */ #ifdef INCLUDE_PHONE_CONV /* Place holders for phone and converstation intervals. The * phone type was never fully developed in the original TCPLib * implementation. At the current time, we don't consider * phone type conversations. The placeholder for conversation * intervals allows us to use TCPLib's existing setup for * aquiring statistics. Without a placeholder in the * breakdown file, TCPLib won't recognize this particular * item, and in the generation of statistically equivalent * traffic patterns, the interval between converstaions is of * utmost importance, especially as far as the scalability of * traffic is concerned. */ Mfprintf(fil, "%.4f\t%.4f", (float)0, (float)0); #endif /* INCLUDE_PHONE_CONV */ Mfprintf(fil, "\n"); } Mfclose(fil); Mfclose(pstats->hist_file); } static void do_all_final_breakdowns(void) { char *filename; filename = namedfile("local",TCPLIB_BREAKDOWN_FILE); do_final_breakdown(filename, TestLocal, global_pstats[LOCAL]); if (LOCAL_ONLY) return; /* none of the rest will match anyway */ filename = namedfile("incoming",TCPLIB_BREAKDOWN_FILE); do_final_breakdown(filename, TestIncoming, global_pstats[INCOMING]); filename = namedfile("outgoing",TCPLIB_BREAKDOWN_FILE); do_final_breakdown(filename, TestOutgoing, global_pstats[OUTGOING]); filename = namedfile("remote",TCPLIB_BREAKDOWN_FILE); do_final_breakdown(filename, TestRemote, global_pstats[REMOTE]); } /*************************************************************************** * * Function Name: breakdown_type * * Returns: The generic type of connection associated with "port" * * Purpose: To convert the port given to the function to the appropriate * TCPLib type port. As we come across other ports that have the * same basic characteristics as TCPLib type, we can just add * them here. * * Called by: tcplib_read() in mod_tcplib.c * do_final_breakdown() in mod_tcplib.c * * ****************************************************************************/ static int breakdown_type( tcp_pair *ptp) { /* shorthand */ portnum porta = ptp->addr_pair.a_port; portnum portb = ptp->addr_pair.b_port; if (is_telnet_port(porta) || is_telnet_port(portb)) return(TCPLIBPORT_TELNET); if (is_ftp_ctrl_port(porta) || is_ftp_ctrl_port(portb)) return(TCPLIBPORT_FTPCTRL); if (is_smtp_port(porta) || is_smtp_port(portb)) return(TCPLIBPORT_SMTP); if (is_nntp_port(porta) || is_nntp_port(portb)) return(TCPLIBPORT_NNTP); if (is_http_port(porta) || is_http_port(portb)) return(TCPLIBPORT_HTTP); if (is_ftp_data_port(porta) || is_ftp_data_port(portb) || CouldBeFtpData(ptp)) return(TCPLIBPORT_FTPDATA); return TCPLIBPORT_NONE; } /* End Breakdown Stuff */ /* Begin Next Conversation Stuff */ /*************************************************************************** * * Function Name: do_tcplib_next_converse * * Returns: Nothing * * Purpose: This function takes a new conversation and deals with the time * between successive conversations. If an entry in the breakdown * table already exists with that particular time, then the counter * is simply incremented. If not, then a new table is made with a * space for the new table item. We're using arrays, but a change * might be made to use a linked list before too long. * * Called by: tcplib_newconn() in mod_tcplib.c * * ****************************************************************************/ static void do_tcplib_next_converse( module_conninfo_tcb *ptcbc, module_conninfo *pmc) { struct tcplibstats *pstats; module_conninfo *pmc_previous; enum t_dtype dtype; int etime; /* Time difference between the first packet in this * conversation and the first packet in the previous * conversation. Basically, this is the time between * new conversations. */ /* see where to keep the stats */ dtype = traffic_type(pmc, ptcbc); pstats = global_pstats[dtype]; if (ldebug>2) { printf("do_tcplib_next_converse: %s, %s\n", FormatBrief(pmc->ptp, ptcbc->ptcb), dtype_names[dtype]); } /* sdo - Wed Jun 16, 1999 */ /* new method, search backward to find the previous connection that had */ /* data flowing in the same "direction" and then use the difference */ /* between the starting times of those two connections as the conn */ /* interrival time */ /* sdo - Fri Jul 9, 1999 (information already computed in Fillcache) */ /* FIRST, do conversation interarrivals for ALL conns */ if (ptcbc->prev_dtype_all != NULL) { pmc_previous = ptcbc->prev_dtype_all; /* elapsed time since that previous connection started */ etime = (int)(elapsed(pmc_previous->first_time, pmc->first_time)/1000.0); /* convert us to ms */ /* keep stats */ AddToCounter(&pstats->conv_interarrival_all, etime, 1, 1); } /* THEN, do conversation interarrivals by APP type */ if (ptcbc->prev_dtype_byapp != NULL) { pmc_previous = ptcbc->prev_dtype_byapp; /* elapsed time since that previous connection started */ etime = (int)(elapsed(pmc_previous->first_time, pmc->first_time)/1000.0); /* convert us to ms */ /* keep stats */ AddToCounter(&pstats->conv_interarrival_byapp[pmc->btype], etime, 1, 1); } return; } /* End of the breakdown section */ /* return the previous connection that passes data in the direction */ /* given in "dtype" and has app type apptype (or -1 for any) */ module_conninfo * FindPrevConnection( module_conninfo *pmc, enum t_dtype dtype, int app_type) { module_conninfo_tcb *ptcbc; int count = 0; /* loop back further in time */ for (pmc = pmc->prev; pmc; pmc = pmc->prev) { int dir; /* ignore FTP Data and parallel HTTP */ if (pmc->ignore_conn) continue; for (LOOP_OVER_BOTH_TCBS(dir)) { ptcbc = &pmc->tcb_cache[dir]; if ((app_type != -1) && (app_type != pmc->btype)) { /* skip it, wrong app */ } if (ptcbc->dtype == dtype) { if (ptcbc->data_bytes != 0) return(pmc); } if (ldebug) ++count; } } if (ldebug > 1) printf("FindPrevConnection %s returned NULL, took %d searches\n", dtype_names[dtype], count); return(NULL); } /*************************************************************************** * * Function Name: do_tcplib_final_converse * * Returns: Nothing * * Purpose: To generate a new line in the breakdown file which shows the * conversation percentages viewed in the file that is currently * open, but has just been ended. * * Called by: tcplib_done() in mod_tcplib.c * * ****************************************************************************/ static void do_tcplib_final_converse( char *filename, char *protocol, dyn_counter psizes) { const int bucketsize = GRAN_CONVARRIVAL; char title[80]; #ifdef READ_OLD_FILES /* sdo - OK, pstats->conv_interarrival already has the counts we */ /* made. First, include anything from an existing file. */ psizes = ReadOldFile(filename, bucketsize, 0, psizes); #endif /* READ_OLD_FILES */ /* generate the graph title of the table */ snprintf(title,sizeof(title),"Conversation Interval Time (ms) - %s", protocol); /* Now, dump out the combined data */ StoreCounters(filename,title, "% Interarrivals", bucketsize, psizes); return; } static void do_tcplib_conv_duration( char *filename, dyn_counter psizes) { const int bucketsize = GRAN_CONVDURATION; #ifdef READ_OLD_FILES psizes = ReadOldFile(filename, bucketsize, 0, psizes); #endif /* READ_OLD_FILES */ /* Now, dump out the combined data */ StoreCounters(filename,"Conversation Duration (ms)", "% Conversations", bucketsize, psizes); return; } static void do_tcplib_next_duration( module_conninfo_tcb *ptcbc, module_conninfo *pmc) { struct tcplibstats *pstats; enum t_dtype dtype; int etime; /* Time difference between the first packet in this * conversation and the last packet */ /* see where to keep the stats */ dtype = traffic_type(pmc, ptcbc); pstats = global_pstats[dtype]; if (ldebug>2) { printf("do_tcplib_next_duration: %s, %s\n", FormatBrief(pmc->ptp, ptcbc->ptcb), dtype_names[dtype]); } /* elapsed time since that previous connection started */ etime = (int)(elapsed(pmc->first_time, pmc->last_time)/1000.0); /* convert us to ms */ /* keep stats */ AddToCounter(&pstats->conv_duration, etime, 1, GRAN_CONVDURATION); return; } /* End Next Conversation Stuff */ /* Begin Telnet stuff */ /*************************************************************************** * * Function Name: is_telnet_port * * Returns: TRUE/FALSE whether a given port is a telnet/login type port. * * Purpose: To accept a port number and determine whenter or not the port * would exhibit the characteristics of a telnet/login port. * * Called by: tcplib_read() in mod_tcplib.c * tcplib_do_telnet_duration() in mod_tcplib.c * tcplib_add_telnet_interval() in mod_tcplib.c * ****************************************************************************/ Bool is_telnet_port( portnum port) /* The port we're looking at */ { port -= ipport_offset; switch(port) { case IPPORT_LOGIN: case IPPORT_KLOGIN: case IPPORT_OLDLOGIN: case IPPORT_FLN_SPX: case IPPORT_UUCP_LOGIN: case IPPORT_KLOGIN2: case IPPORT_NLOGIN: case IPPORT_TELNET: /* case IPPORT_SSH: */ /* not considered safe to assume -- sdo */ return TRUE; break; default: return FALSE; } } /*************************************************************************** * * Function Name: tcplib_do_telnet_duration * * Returns: Nothing * * Purpose: To collect information about the duration of a telnet * conversation, and merge this information with data from * previous runs of this module, if such data exists. * * Called by: tcplib_do_telnet() in mod_tcplib.c * * ****************************************************************************/ void tcplib_do_telnet_duration( char *filename, /* where to store the output */ f_testinside p_tester) /* functions to test "insideness" */ { dyn_counter psizes = NULL; const int bucketsize = GRAN_TELNET_DURATION; module_conninfo *pmc; #ifdef READ_OLD_FILES /* This section reads in the data from the existing telnet duration * file in preparation for merging with the current data. */ psizes = ReadOldFile(filename, bucketsize, 0, psizes); #endif /* READ_OLD_FILES */ /* Fill the array with the current data */ for (pmc = module_conninfo_tail; pmc; pmc=pmc->prev) { /* if there wasn't data flowing in this direction, skip it */ if (InsideBytes(pmc,p_tester) == 0) continue; /* Only work this for telnet connections */ if (is_telnet_conn(pmc)) { /* convert the time difference to ms */ int temp = (int)( elapsed(pmc->first_time, pmc->last_time)/1000.0); /* convert us to ms */ /* increment the number of instances at this time. */ AddToCounter(&psizes, temp, 1, bucketsize); } } /* Output data to the file */ StoreCounters(filename,"Duration (ms)", "% Conversations", bucketsize,psizes); /* free the dynamic memory */ DestroyCounters(&psizes); } /*************************************************************************** * * Function Name: do_all_conv_arrivals * * Returns: Nothing * * Purpose: collect all the conversation interarrival times * * Called by: tcplib_done mod_tcplib.c * * ****************************************************************************/ void do_all_conv_arrivals() { module_conninfo *pmc; if (ldebug>1) printf("do_all_conv_arrivals: there are %d tcp pairs\n", num_tcp_pairs); /* process each connection */ for (pmc = module_conninfo_tail; pmc; pmc=pmc->prev) { int dir; if (ldebug>2) { static int count = 0; printf("do_all_conv_arrivals: processing pmc %d: %p\n", ++count, pmc); } /* ignore unidirectional HTTP */ if (is_http_conn(pmc) && pmc->unidirectional_http) continue; for (LOOP_OVER_BOTH_TCBS(dir)) { if (pmc->tcb_cache[dir].data_bytes != 0) { do_tcplib_next_converse(&pmc->tcb_cache[dir], pmc); do_tcplib_next_duration(&pmc->tcb_cache[dir], pmc); } } } } /*************************************************************************** * * Function Name: tcplib_add_telnet_interarrival * * Returns: Nothing * * Purpose: This function takes the current packet and computes the time * between the current packet and the previous packet. This value * is then added to the list of telnet interarrivals. These values * will be used at a later time. * * Called by: tcplib_read() in mod_tcplib.c * * ****************************************************************************/ void tcplib_add_telnet_interarrival( tcp_pair *ptp, /* This conversation */ module_conninfo *pmc, dyn_counter *psizes) { int temp = 0; /* time differential between packets */ /* Basically, I need the current time AND the time of the previous * packet BOTH right now. As far as I can see, this function * won't get called until the previous packet time has already * been overwritten by the current time. This makes obtaining * interarrival times more difficult. */ /* Answer - changed the original program. We added the pmstruct thing * to the original TCPTrace which allows a module to store information * about a connection. Quite handy. Thanks, Dr. Ostermann */ /* First packet has no interarrival time */ if (tv_same(ptp->last_time,ptp->first_time)) { /* If this is the first packet we've seen, nothing to do. * We'll be able to get some data the next * time. */ return; } /* Determining the time difference in ms */ temp = (int)(elapsed(pmc->last_time, current_time)/1000.0); /* us to ms */ /* We're going to set an artificial maximum for telnet interarrivals * for the case when someone (like me) would open a telnet session * and just leave it open and not do anything on it for minutes or * hours, or in some cases days. Keeping track of the exact time * for a connection like that is not worth the effort, so we just * set a ceiling and if it's over the ceiling, we make it the * ceiling. */ if (temp > MAX_TEL_INTER_COUNT - 1) temp = MAX_TEL_INTER_COUNT - 1; /* In this case, we know for a fact that we don't have a value of * temp that larger than the array, so we just increment the count */ (void) AddToCounter(psizes, temp, 1, 1); return; } /*************************************************************************** * * Function Name: tcplib_do_telnet_interarrival * * Returns: Nothing * * Purpose: To model integrate the old data for telnet interarrival times * with the data gathered during this execution of the program. * * Called by: tcplib_do_telnet() in mod_tcplib.c * * ****************************************************************************/ void tcplib_do_telnet_interarrival( char *filename, /* where to store the output */ f_testinside p_tester) /* stuck with the interface :-( */ { const int bucketsize = GRAN_TELNET_ARRIVAL; dyn_counter psizes = NULL; /* ugly interface conversion :-( */ if (p_tester == TestIncoming) psizes = global_pstats[INCOMING]->telnet_interarrival; else if (p_tester == TestOutgoing) psizes = global_pstats[OUTGOING]->telnet_interarrival; else if (p_tester == TestLocal) psizes = global_pstats[LOCAL]->telnet_interarrival; else if (p_tester == TestRemote) psizes = global_pstats[REMOTE]->telnet_interarrival; else { fprintf(stderr, "tcplib_do_telnet_interarrival: internal inconsistancy!\n"); exit(-1); } #ifdef READ_OLD_FILES /* add in the data from the old run (if it exists) */ psizes = ReadOldFile(filename, bucketsize, MAX_TEL_INTER_COUNT, psizes); #endif /* READ_OLD_FILES */ /* Dumping the data out to the data file */ StoreCounters(filename, "Interarrival Time (ms)", "% Interarrivals", bucketsize,psizes); } /*************************************************************************** * * Function Name: tcplib_do_telnet_packetsize * * Returns: Nothing * * Purpose: To take the data on telnet packet sizes measured during this * run of the program, merge them with any existing data, and * drop a data file. * * Called by: tcplib_do_telnet() in mod_tcplib.c * * ****************************************************************************/ void tcplib_do_telnet_packetsize( char *filename, /* where to store the output */ f_testinside p_tester) /* stuck with the interface :-( */ { const int bucketsize = GRAN_TELNET_PACKETSIZE; dyn_counter psizes = NULL; /* ugly interface conversion :-( */ if (p_tester == TestIncoming) psizes = global_pstats[INCOMING]->telnet_pktsize; else if (p_tester == TestOutgoing) psizes = global_pstats[OUTGOING]->telnet_pktsize; else if (p_tester == TestLocal) psizes = global_pstats[LOCAL]->telnet_pktsize; else if (p_tester == TestRemote) psizes = global_pstats[REMOTE]->telnet_pktsize; else { fprintf(stderr, "tcplib_do_telnet_packetsize: internal inconsistancy!\n"); exit(-1); } #ifdef READ_OLD_FILES /* In this section, we're reading in from the previous data file, * applying the data contained there to the data set that we've * acquired during this run, and then dumping the merged data set * back out to the data file */ psizes = ReadOldFile(filename, bucketsize, 0, psizes); #endif /* READ_OLD_FILES */ /* Dumping the data out to the data file */ StoreCounters(filename, "Packet Size (bytes)", "% Packets", bucketsize,psizes); } /*************************************************************************** * * Function Name: tcplib_add_telnet_packetsize * * Returns: Nothing * * Purpose: Takes a length as acquired from a telnet packet data size and * increments the count of the telnet packet size table by one for * entry which corresponds to that length. If the packet size is * larger than the allocated table allows, we truncate the packet * size. * * Called by: tcplib_read() in mod_tcplib.c * * ****************************************************************************/ void tcplib_add_telnet_packetsize( struct tcplibstats *pstats, int length) /* The length of the packet to be added to the table */ { /* Incrementing the table */ AddToCounter(&pstats->telnet_pktsize, length, 1, 1); } /* End Telnet Stuff */ /* Begin FTP Stuff */ /*************************************************************************** * * Function Name: is_ftp_ctrl_conn * * Returns: Boolean value * * Purpose: To determine if the connection is an FTP control port. * * Called by: tcplib_do_ftp_control_size() in mod_tcplib.c * ****************************************************************************/ Bool is_ftp_ctrl_port( portnum port) { port -= ipport_offset; return (port == IPPORT_FTP_CONTROL); } Bool is_ftp_data_port( portnum port) { port -= ipport_offset; return (port == IPPORT_FTP_DATA); } /*************************************************************************** * * Function Name: tcplib_do_ftp_itemsize * * Returns: Nothing * * Purpose: To generate the ftp.itemsize data file from the information * collected on ftp transfer sizes. This function also integrates * new data with old data, if any old data exists. * * Called by: tcplib_do_ftp() in mod_tcplib.c * ****************************************************************************/ void tcplib_do_ftp_itemsize( char *filename, /* where to store the output */ f_testinside p_tester) /* functions to test "insideness" */ { const int bucketsize = GRAN_FTP_ITEMSIZE; tcplib_do_GENERIC_itemsize(filename, TCPLIBPORT_FTPDATA, p_tester, bucketsize); } void tcplib_do_ftp_numitems( char *filename, /* where to store the output */ f_testinside p_tester) /* functions to test "insideness" */ { int bucketsize = GRAN_NUMITEMS; module_conninfo *pmc; dyn_counter psizes = NULL; #ifdef READ_OLD_FILES /* If an old data file exists, open it, read in its contents * and store them until they are integrated with the current * data */ psizes = ReadOldFile(filename, bucketsize, 0, psizes); #endif /* READ_OLD_FILES */ /* fill out the array with data from the current connections */ for (pmc = module_conninfo_tail; pmc; pmc = pmc->prev) { /* We only need the stats if it's the right port */ if (is_ftp_ctrl_conn(pmc)) { if ((*p_tester)(pmc, &pmc->tcb_cache[TCB_CACHE_A2B])) { if (ldebug && (pmc->tcb_cache[TCB_CACHE_A2B].numitems == 0)) printf("numitems: control %s has NONE\n", FormatBrief(pmc->ptp, NULL)); AddToCounter(&psizes, pmc->tcb_cache[TCB_CACHE_A2B].numitems, 1, 1); } } } /* store all the data (old and new) into the file */ StoreCounters(filename,"Total Articles", "% Conversation", bucketsize,psizes); /* free the dynamic memory */ DestroyCounters(&psizes); } static void tcplib_do_ftp_control_size( char *filename, /* where to store the output */ f_testinside p_tester) /* functions to test "insideness" */ { const int bucketsize = GRAN_FTP_CTRLSIZE; tcplib_do_GENERIC_itemsize(filename, TCPLIBPORT_FTPCTRL, p_tester, bucketsize); } /* End of FTP Stuff */ /* Begin SMTP Stuff */ static Bool is_smtp_port( portnum port) { port -= ipport_offset; return (port == IPPORT_SMTP); } static void tcplib_do_smtp_itemsize( char *filename, /* where to store the output */ f_testinside p_tester) /* functions to test "insideness" */ { const int bucketsize = GRAN_SMTP_ITEMSIZE; tcplib_do_GENERIC_itemsize(filename, TCPLIBPORT_SMTP, p_tester, bucketsize); } /* Done SMTP Stuff */ /* Begin NNTP Stuff */ static Bool is_nntp_port( portnum port) { port -= ipport_offset; return (port == IPPORT_NNTP); } /* Done NNTP Stuff */ /* Begin HTTP Stuff */ static Bool is_http_port( portnum port) { port -= ipport_offset; return ((port == IPPORT_HTTP) || (port == IPPORT_HTTPS)); } /*************************************************************************** ** ** Support Routines ** ***************************************************************************/ /*************************************************************************** * * StoreCounters -- store a dyncounter structure into a file * this get's a little interesting because of the way tcplib works * for example, given the simple table * 1 0.3333 * 2 0.6667 * 3 1.0000 * tcplib will generate integer samples (from a random test): * 1 66756 0.6676 0.6676 * 2 33244 0.3324 1.0000 * * as another example, given the simple table (same as before except * for the first line) * 0 0.0000 * 1 0.3333 * 2 0.6667 * 3 1.0000 * tcplib will generate integer samples (from a random test): * 0 33609 0.3361 0.3361 * 1 33044 0.3304 0.6665 * 2 33347 0.3335 1.0000 * SO... if we really want 1/3 1's, 2's, and 3's, we need the table: * 1 0.0000 * 2 0.3333 * 3 0.6667 * 4 1.0000 * and a random test gives us * 1 33609 0.3361 0.3361 * 2 33044 0.3304 0.6665 * 3 33347 0.3335 1.0000 * which is exactly what we wanted. * * ... therefore, for each counter, we store counter+GRANULARITY * in the table, and also store a 0.0000 value for the FIRST entry * **************************************************************************/ static void StoreCounters( char *filename, char *header1, char *header2, int bucketsize, dyn_counter psizes) { MFILE *fil; int running_total = 0; int lines = 0; if (ldebug>1) printf("Saving data for file '%s'\n", filename); /* verify bucketsize, but not needed anymore */ if (bucketsize != GetGran(psizes)) { /* probably because the counter was never used */ if (GetTotalCounter(psizes) != 0) { fprintf(stderr,"StoreCounters: bad bucketsize (%s)\n", filename); exit(-1); } } if (!(fil = Mfopen(filename, "w"))) { perror(filename); exit(1); } Mfprintf(fil, "%s\t%s\tRunning Sum\tCounts\n", header1, header2); if (psizes == NULL) { if (ldebug>1) printf(" (No data for file '%s')\n", filename); } else { int cookie = 0; int first = TRUE; while (1) { u_long ix; int value; u_long count; u_long total_counter = GetTotalCounter(psizes); u_long gran = GetGran(psizes); if (NextCounter(&psizes, &cookie, &ix, &count) == 0) break; value = ix; running_total += count; if (count) { if (first) { /* see comments above! */ Mfprintf(fil, "%.3f\t%.4f\t%d\t%d\n", (float)(value), 0.0, 0, 0); first = FALSE; } Mfprintf(fil, "%.3f\t%.4f\t%d\t%lu\n", (float)(value+gran), (float)running_total/(float)total_counter, running_total, count); ++lines; } } } Mfclose(fil); if (ldebug>1) printf(" Stored %d values into %d lines of '%s'\n", running_total, lines, filename); } #ifdef READ_OLD_FILES static dyn_counter ReadOldFile( char *filename, int bucketsize, int maxlegal, /* upper limit on array IX (or 0) */ dyn_counter psizes) { FILE* old; /* File pointer for old data file */ float bytes; int count; int linesread = 0; /* If the an old data file exists, open it, read in its contents * and store them until they are integrated with the current * data */ if ((old = fopen(filename, "r"))) { char buffer[256]; /* read and discard the first line */ fgets(buffer, sizeof(buffer)-1, old); /* Read in each line in the file and pick out the pieces of */ /* the file. Store each important piece is psizes */ /* format is: Total Bytes % Conversations Running Sum Counts 5.000 0.0278 1 1 170.000 0.1111 4 3 */ /* (we only need the 1st and 4th fields) */ while (fscanf(old, "%f\t%*f\t%*d\t%d\n", &bytes, &count) == 4) { ++linesread; if ((maxlegal != 0) && (bytes > maxlegal)) bytes = maxlegal; AddToCounter(&psizes, (((int)bytes)/bucketsize), count); } if (ldebug>2) { if (psizes && (linesread > 0)) printf("Read data from old file '%s' (%lu values)\n", filename, TotalCounter(psizes)); else printf("Old data file '%s' had no data\n", filename); } fclose(old); } return(psizes); } #endif /* READ_OLD_FILES */ /* all of the itemsize routines look like this */ static void tcplib_do_GENERIC_itemsize( char *filename, /* where to store the output */ int btype, f_testinside p_tester, /* functions to test "insideness" */ int bucketsize) /* how much data to group together */ { module_conninfo *pmc; dyn_counter psizes = NULL; #ifdef READ_OLD_FILES /* If an old data file exists, open it, read in its contents * and store them until they are integrated with the current * data */ psizes = ReadOldFile(filename, bucketsize, 0, psizes); #endif /* READ_OLD_FILES */ /* fill out the array with data from the current connections */ for (pmc = module_conninfo_tail; pmc; pmc = pmc->prev) { /* We only need the stats if it's the right breakdown type */ if (pmc->btype == btype) { int nbytes = InsideBytes(pmc,p_tester); /* if there's no DATA, don't count it! (sdo change!) */ if (nbytes != 0) AddToCounter(&psizes, nbytes, 1, bucketsize); } } /* store all the data (old and new) into the file */ StoreCounters(filename,"Article Size (bytes)", "% Articles", bucketsize,psizes); /* free the dynamic memory */ DestroyCounters(&psizes); } /* cleanup all the burstsize counters */ /* called for HTTP_P, HTTP_S, and NNTP */ static void tcplib_cleanup_bursts() { module_conninfo *pmc; /* all but the last burst was ALREADY recorded, so we just clean up any burst that might be left */ for (pmc = module_conninfo_tail; pmc; pmc = pmc->prev) { int dir; for (LOOP_OVER_BOTH_TCBS(dir)) { module_conninfo_tcb *ptcbc = &pmc->tcb_cache[dir]; /* check for burst data */ if (ptcbc->pburst == NULL) continue; /* count the LAST burst */ if (ptcbc->burst_bytes != 0) { ++ptcbc->numitems; } /* add the last burst into the ttl for the parallel stream */ if (ptcbc->burst_bytes != 0) { struct parallelism *pp = pmc->pparallelism; if (pp) { ++pp->ttlitems[dir]; } } if (ptcbc->burst_bytes != 0) { AddToCounter(&ptcbc->pburst->size, ptcbc->burst_bytes, 1, GRAN_BURSTSIZE); } if (ptcbc->numitems != 0) { AddToCounter(&ptcbc->pburst->nitems, ptcbc->numitems, 1,GRAN_NUMITEMS); } } } } /* both ftp and nntp look the same */ static void tcplib_do_GENERIC_burstsize( char *filename, /* where to store the output */ dyn_counter counter) { int bucketsize = GRAN_BURSTSIZE; /* store all the data (old and new) into the file */ StoreCounters(filename,"Burst Size", "% Bursts", bucketsize, counter); } static void tcplib_do_GENERIC_P_maxconns( char *filename, /* where to store the output */ dyn_counter counter) { int bucketsize = GRAN_MAXCONNS; /* store all the data (old and new) into the file */ StoreCounters(filename,"Max Conns", "% Streams", bucketsize, counter); } static void tcplib_do_GENERIC_nitems( char *filename, /* where to store the output */ dyn_counter counter) { int bucketsize = GRAN_NUMITEMS; /* store all the data (old and new) into the file */ StoreCounters(filename,"Num Items", "% Conns", bucketsize, counter); } /* both ftp and nntp look the same */ static void tcplib_do_GENERIC_idletime( char *filename, /* where to store the output */ dyn_counter counter) { int bucketsize = GRAN_BURSTIDLETIME; /* store all the data (old and new) into the file */ StoreCounters(filename,"Idle Time", "% Bursts", bucketsize, counter); } static enum t_dtype traffic_type( module_conninfo *pmc, module_conninfo_tcb *ptcbc) { if (TestLocal(pmc,ptcbc)) return(LOCAL); if (TestIncoming(pmc,ptcbc)) return(INCOMING); if (TestOutgoing(pmc,ptcbc)) return(OUTGOING); if (TestRemote(pmc,ptcbc)) return(REMOTE); fprintf(stderr,"Internal error in traffic_type\n"); exit(-1); } static char * FormatBrief( tcp_pair *ptp, tcb *ptcb) { tcb *pab = &ptp->a2b; tcb *pba = &ptp->b2a; static char infobuf[100]; if (ptcb == pba) snprintf(infobuf,sizeof(infobuf),"%s - %s (%s2%s)", ptp->b_endpoint, ptp->a_endpoint, pba->host_letter, pab->host_letter); else snprintf(infobuf,sizeof(infobuf),"%s - %s (%s2%s)", ptp->a_endpoint, ptp->b_endpoint, pab->host_letter, pba->host_letter); return(infobuf); } static char * FormatAddrBrief( tcp_pair_addrblock *paddr_pair) { static char infobuf[100]; char infobuf1[100]; char infobuf2[100]; snprintf(infobuf1,sizeof(infobuf1),"%s", HostName(paddr_pair->a_address)); snprintf(infobuf2,sizeof(infobuf2),"%s", HostName(paddr_pair->b_address)); snprintf(infobuf,sizeof(infobuf),"%s - %s", infobuf1, infobuf2); return(infobuf); } /* find a connection pair */ static endpoint_pair * FindEndpointPair( endpoint_pair *hashtable[], tcp_pair_addrblock *paddr_pair) { endpoint_pair **ppep_head; endpoint_pair *pep_search; /* find the correct hash bucket */ ppep_head = &hashtable[EndpointHash(paddr_pair)]; /* search the bucket for the correct pair */ for (pep_search = *ppep_head; pep_search; pep_search = pep_search->pepnext) { /* see if it's the same connection */ if (SameEndpoints(&pep_search->addr_pair, paddr_pair)) return(pep_search); } /* after loop, pep_search is NON-NULL if we found it */ return(NULL); } /* add a connection to the list of all connections on that address pair */ static void AddEndpointPair( endpoint_pair *hashtable[], module_conninfo *pmc) { endpoint_pair **ppep_head; endpoint_pair *pep_search; /* search the bucket for the correct pair */ ppep_head = &hashtable[EndpointHash(&pmc->addr_pair)]; pep_search = FindEndpointPair(hashtable,&pmc->addr_pair); if (pep_search == NULL) { /* not found, create it */ pep_search = MallocZ(sizeof(endpoint_pair)); /* fill in the address info */ pep_search->addr_pair = pmc->ptp->addr_pair; /* put at the front of the bucket */ pep_search->pepnext = *ppep_head; *ppep_head = pep_search; } /* put the new connection at the front of the list for this endpoint pair */ pmc->next_pair = pep_search->pmchead; pep_search->pmchead = pmc; if (ldebug>1) { printf("\nEndpoint pair bucket\n"); /* for each thing on the bucket list */ for (pep_search = *ppep_head; pep_search; pep_search = pep_search->pepnext) { module_conninfo *pmc; printf(" %s:\n", FormatAddrBrief(&pep_search->addr_pair)); /* for each connection on that pair */ for (pmc = pep_search->pmchead; pmc; pmc = pmc->next_pair) { printf(" %u <-> %u\n", pmc->addr_pair.a_port, pmc->addr_pair.b_port); } } } } /* remove unidirectional conns from consideration */ static void tcplib_filter_http_uni() { module_conninfo *pmc; for (pmc = module_conninfo_tail; pmc; pmc = pmc->prev) { if ((pmc->tcb_cache[0].data_bytes == 0) || (pmc->tcb_cache[1].data_bytes == 0)) { /* unidirectional (or no data at all) */ pmc->unidirectional_http = TRUE; /* update counters */ ++debug_http_uni_conns; debug_http_uni_bytes += pmc->tcb_cache[0].data_bytes + pmc->tcb_cache[1].data_bytes; /* UNDO other counters */ --debug_http_total; if (pmc->pparallelism && (pmc->pparallelism->maxparallel > 1)) { --pmc->pparallelism->maxparallel; --debug_http_parallel; /* if this is NOT the last one, decrement slave count */ if (pmc->pparallelism->maxparallel > 0) { --debug_http_slaves; } else { /* nobody left, empty group */ --debug_http_groups; } } /* persistance is OK, as those are already ignored in tcplib_save_bursts */ } } } static Bool is_parallel_http( module_conninfo *pmc_new) { endpoint_pair *pep; module_conninfo *pmc; struct parallelism *pp = NULL; int dir; int parallel_conns = 0; u_long parent_groupnum = 0; /* see if there are any other connections on these endpoints */ pep = FindEndpointPair(http_endpoints, &pmc_new->addr_pair); /* if none, we're done */ if (pep == NULL) return(FALSE); /* search that pep chain for PARALLEL conns */ for (pmc = pep->pmchead; pmc; pmc = pmc->next_pair) { /* for efficiency, as we search we remove old, inactive entries */ /* NOTE that this is the NEXT entry, not current */ if (pmc->next_pair) { if (!RecentlyActiveConn(pmc->next_pair)) { /* remove it (by linking around it) */ pmc->next_pair = pmc->next_pair->next_pair; } } /* if it's ME or it's not ACTIVE, skip it */ if ((pmc_new == pmc) || !RecentlyActiveConn(pmc)) continue; if (trafgen_generated) { /* burst key group nums must also be the same */ if (pmc_new->http_groupnum != pmc->http_groupnum) { continue; /* skip it */ } } /* OK, it's ACTIVE */ /* mark it as parallel if not already done */ if (pmc->pparallelism == NULL) { pmc->pparallelism = MallocZ(sizeof(struct parallelism)); /* if HE isn't marked, then he must be the "parent", and this must be a new group */ ++debug_http_groups; ++debug_http_parallel; /* if this isn't trafgen-generated, give it a group number */ /* (mostly for debugging) */ if (!trafgen_generated) { static u_long groupnum = 0; parent_groupnum = ++groupnum; pmc->http_groupnum = parent_groupnum; } /* switch its stats to parallel */ for (LOOP_OVER_BOTH_TCBS(dir)) { module_conninfo_tcb *ptcbc = &pmc->tcb_cache[dir]; struct tcplibstats *pstats = global_pstats[ptcbc->dtype]; ptcbc->pburst = &pstats->http_P_bursts; } } else { /* it's already known to be parallel, so he's my brother */ if (!trafgen_generated) { parent_groupnum = pmc->http_groupnum; } } /* remember the parallel struct for these connections */ pp = pmc->pparallelism; /* sanity check, if we've already found one, it better be */ /* the same as this one!! */ if ((pp != NULL) && (pp != pmc->pparallelism)) { fprintf(stderr,"FindParallelHttp: bad data structure!!\n"); exit(-1); } /* found one more */ ++parallel_conns; } /* if we didn't find any, we're done */ if (parallel_conns == 0) return(FALSE); /* mark ME as parallel too */ ++debug_http_slaves; ++debug_http_parallel; for (LOOP_OVER_BOTH_TCBS(dir)) { module_conninfo_tcb *ptcbc = &pmc_new->tcb_cache[dir]; struct tcplibstats *pstats = global_pstats[ptcbc->dtype]; ptcbc->pburst = &pstats->http_P_bursts; } /* printf("FindParallel, marking as parallel %s\n", */ /* FormatBrief(pmc_new->ptp)); */ /* if this isn't trafgen generated, take the group number */ pmc_new->http_groupnum = parent_groupnum; /* update stats on this parallel system */ pmc_new->pparallelism = pp; ++parallel_conns; /* include ME */ /* update maximum parallelism, if required */ if (parallel_conns > pmc_new->pparallelism->maxparallel) pmc_new->pparallelism->maxparallel = parallel_conns; /* this _IS_ parallel */ return(TRUE); } static void TrackEndpoints( module_conninfo *pmc) { /* remember the endpoints (ftp and HTTP) */ if (is_ftp_ctrl_conn(pmc)) { AddEndpointPair(ftp_endpoints,pmc); } else if (is_http_conn(pmc)) { AddEndpointPair(http_endpoints,pmc); } /* if it's an FTP data connection, find the control conn */ if (is_ftp_data_conn(pmc)) { endpoint_pair *pep; /* for FTP Data, we ignore this one */ pmc->ignore_conn = TRUE; pep = FindEndpointPair(ftp_endpoints, &pmc->addr_pair); if (pep) { /* "charge" this new DATA connection to the most recently-active ftp control connection */ struct module_conninfo_tcb *tcbc_control; tcbc_control = MostRecentFtpControl(pep); ++tcbc_control->numitems; if (ldebug>1) { printf("Charging ftp data to %s, count %lu\n", FormatBrief(tcbc_control->ptcb->ptp, tcbc_control->ptcb), tcbc_control->numitems); } } else { if (ldebug>1) fprintf(stderr,"WARNING: no FTP control conn for %s???\n", FormatBrief(pmc->ptp, NULL)); } } } /* could this connection be an FTP data connection that's NOT on port 21? */ static Bool CouldBeFtpData( tcp_pair *ptp) { endpoint_pair *pep; struct module_conninfo_tcb *ptcbc; /* make sure NEITHER port is reserved */ if (ptp->addr_pair.a_port < 1024 || ptp->addr_pair.b_port < 1024) return(FALSE); /* see if there's any active FTP control connection on these endpoints... */ pep = FindEndpointPair(ftp_endpoints,&ptp->addr_pair); if (pep == NULL) return(FALSE); /* find the most recent FTP control connection */ ptcbc = MostRecentFtpControl(pep); if (pep == NULL) return(FALSE); /* OK, I guess it COULD be... */ ++debug_newconn_ftp_data_heuristic; return(TRUE); } /* find the TCB (client side) for the most recently-active control connection on this pair of endpoints */ static module_conninfo_tcb * MostRecentFtpControl( endpoint_pair *pep) { struct module_conninfo *pmc; static module_conninfo_tcb *tcbc_newest = NULL; tcb *tcb_newest; timeval time_newest; if (pep->pmchead == NULL) { /* None at all, that's odd... */ fprintf(stderr,"MostRecentFtpControl: unexpected empty list \n"); exit(-1); } /* search the rest looking for something newer */ for (pmc = pep->pmchead; pmc; pmc = pmc->next_pair) { tcb *ptcb_client = &pmc->ptp->a2b; /* if it's not "active", we're not interested */ if (!ActiveConn(pmc)) continue; /* have we found anyone yet? */ if (tcbc_newest == NULL) { tcb_newest = &pmc->ptp->a2b; tcbc_newest = &pmc->tcb_cache[TCB_CACHE_A2B]; time_newest = tcb_newest->last_data_time; } else if (tv_gt(ptcb_client->last_data_time, time_newest)) { /* this is "most recent" */ tcb_newest = ptcb_client; tcbc_newest = &pmc->tcb_cache[TCB_CACHE_A2B]; time_newest = ptcb_client->last_data_time; } } return(tcbc_newest); } static hash IPHash( ipaddr *paddr) { hash hval = 0; int i; if (ADDR_ISV4(paddr)) { /* V4 */ hval = paddr->un.ip4.s_addr; } else if (ADDR_ISV6(paddr)) { /* V6 */ for (i=0; i < 16; ++i) hval += paddr->un.ip6.s6_addr[i]; } else { /* address type unknown */ fprintf(stderr,"Unknown IP address type %d encountered\n", ADDR_VERSION(paddr)); exit(-1); } return(hval); } static hash EndpointHash( tcp_pair_addrblock *addr_pair) { hash hval; hval = IPHash(&addr_pair->a_address) + IPHash(&addr_pair->b_address); return(hval % ENDPOINT_PAIR_HASHSIZE); } static Bool SameEndpoints( tcp_pair_addrblock *pap1, tcp_pair_addrblock *pap2) { if (IPcmp(&pap1->a_address,&pap2->a_address) == 0) { if (IPcmp(&pap1->b_address,&pap2->b_address) == 0) { return(TRUE); } } else if (IPcmp(&pap1->a_address,&pap2->b_address) == 0) { if (IPcmp(&pap1->b_address,&pap2->a_address) == 0) { return(TRUE); } } return(FALSE); } /* Data is considered a NEW burst if: * 1) All previous data was ACKed * 2) There was intervening data in the other direction * 3) idletime > RTT */ static Bool IsNewBurst( module_conninfo *pmc, tcb *ptcb, module_conninfo_tcb *ptcbc, struct tcphdr *tcp) { seqnum seq = ntohl(tcp->th_seq); tcb *orig_lastdata; tcb *ptcb_otherdir = ptcb->ptwin; /* remember the last direction the data flowed */ orig_lastdata = pmc->tcb_lastdata; pmc->tcb_lastdata = ptcb; if (graph_tsg) { plotter_perm_color(ptcb->tsg_plotter, "green"); plotter_text(ptcb->tsg_plotter, current_time, seq, "a", "?"); } /* it's only a NEW burst if there was a PREVIOUS burst */ if (ptcbc->burst_bytes == 0) { if (graph_tsg) plotter_text(ptcb->tsg_plotter, current_time, seq, "b", "==0"); return(FALSE); } /* check for old data ACKed */ if (SEQ_LESSTHAN(ptcb_otherdir->ack,seq)) { /* not ACKed */ if (graph_tsg) plotter_text(ptcb->tsg_plotter, current_time, seq, "b", "noack"); return(FALSE); } /* check for idletime > RTT */ { u_long etime_usecs = elapsed(ptcbc->last_data_time, current_time); u_long last_rtt_usecs = ptcb->rtt_last; if ((last_rtt_usecs != 0) && (etime_usecs < last_rtt_usecs)) { if (graph_tsg) { char buf[100]; snprintf(buf,sizeof(buf),"short (%ld < %ld)", etime_usecs, last_rtt_usecs); plotter_text(ptcb->tsg_plotter, current_time, seq, "b", buf); } return(FALSE); } } /* check for intervening data */ if (ptcb == orig_lastdata) { /* no intervening data */ if (graph_tsg) plotter_text(ptcb->tsg_plotter, current_time, seq, "b", "!data"); return(FALSE); } /* ... else, it's a new burst */ if (graph_tsg) { plotter_perm_color(ptcb->tsg_plotter, "magenta"); plotter_text(ptcb->tsg_plotter, current_time, seq, "r", "YES!!"); } return(TRUE); } /* is this connection "active" */ /* 1: not reset */ /* 2: either 0 or 1 fins */ static Bool ActiveConn( module_conninfo *pmc) { if (FinCount(pmc->ptp) > 1) return(FALSE); if (ConnReset(pmc->ptp)) return(FALSE); return(TRUE); } /* is this connection "parallel" */ /* 1: ActiveConn() */ /* 2: last packets sent "recently" (defined as within 10 seconds) */ static Bool RecentlyActiveConn( module_conninfo *pmc) { int dir; if (ActiveConn(pmc)) return(TRUE); for (LOOP_OVER_BOTH_TCBS(dir)) { timeval last_packet = pmc->tcb_cache[dir].ptcb->last_time; /* elapsed time from last packet (in MICROseconds) */ if (elapsed(last_packet,current_time) < 10*US_PER_SEC) { /* 10 seconds for now, hope it works! */ return(TRUE); } } return(FALSE); } #endif /* LOAD_MODULE_TCPLIB */ tcptrace-6.6.7/mod_tcplib.h0100644001217500001440000001255507756700117015356 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Eric Helvey * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ehelvey@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_tcplib[] = "@(#)$Header: /usr/local/cvs/tcptrace/mod_tcplib.h,v 5.9 2003/11/19 14:38:07 sdo Exp $"; /* header file for mod_tcplib.c */ int tcplib_init(int argc, char *argv[]); void tcplib_read(struct ip *pip, tcp_pair *ptp, void *plast, void *pmodstruct); void tcplib_done(void); void tcplib_usage(void); void tcplib_newfile(char *filename, u_long filesize, Bool fcompressed); void * tcplib_newconn(tcp_pair *ptp); /* various ports that we need to find */ #define IPPORT_FTP_DATA 20 #define IPPORT_FTP_CONTROL 21 #define IPPORT_SSH 22 #define IPPORT_TELNET 23 #define IPPORT_SMTP 25 #define IPPORT_OLDLOGIN 49 #define IPPORT_HTTP 80 /* normal */ #define IPPORT_NNTP 119 #define IPPORT_FLN_SPX 221 #define IPPORT_HTTPS 443 /* secure */ #define IPPORT_LOGIN 513 #define IPPORT_UUCP_LOGIN 541 #define IPPORT_KLOGIN 542 #define IPPORT_KLOGIN2 543 #define IPPORT_NLOGIN 758 #define IPPORT_NFS 2049 /* internal breakdown types */ #define NUM_APPS 6 #define TCPLIBPORT_SMTP 0 #define TCPLIBPORT_NNTP 1 #define TCPLIBPORT_TELNET 2 #define TCPLIBPORT_FTPCTRL 3 #define TCPLIBPORT_HTTP 4 #define TCPLIBPORT_FTPDATA 5 #define TCPLIBPORT_NONE -1 #define MAX_TEL_INTER_COUNT 1500000 #define TIMER_VAL 60 #define BREAKDOWN_HASH 1000000 /* data file names */ #define DEFAULT_TCPLIB_DATADIR "data" #define TCPLIB_TELNET_DURATION_FILE "telnet.duration" #define TCPLIB_TELNET_PACKETSIZE_FILE "telnet.pktsize" #define TCPLIB_TELNET_INTERARRIVAL_FILE "telnet.interarrival" #define TCPLIB_FTP_ITEMSIZE_FILE "ftp.itemsize" #define TCPLIB_FTP_NITEMS_FILE "ftp.nitems" #define TCPLIB_FTP_CTRLSIZE_FILE "ftp.ctlsize" #define TCPLIB_SMTP_ITEMSIZE_FILE "smtp.itemsize" #define TCPLIB_NNTP_BURSTSIZE_FILE "nntp.burstsize" #define TCPLIB_NNTP_NITEMS_FILE "nntp.nitems" #define TCPLIB_NNTP_IDLETIME_FILE "nntp.idletime" #define TCPLIB_BREAKDOWN_FILE "breakdown" #define TCPLIB_BREAKDOWN_GRAPH_FILE "breakdown_hist" #define TCPLIB_NEXT_CONVERSE_FILE "conv.conv_time" #define TCPLIB_CONV_DURATION_FILE "conv.duration" /* parallel HTTP */ #define TCPLIB_HTTP_P_IDLETIME_FILE "http_P.idletime" #define TCPLIB_HTTP_P_BURSTSIZE_FILE "http_P.burstsize" #define TCPLIB_HTTP_P_MAXCONNS_FILE "http_P.maxconns" #define TCPLIB_HTTP_P_TTLITEMS_FILE "http_P.ttlitems" #define TCPLIB_HTTP_P_PERSIST_FILE "http_P.persistant" /* single stream HTTP */ #define TCPLIB_HTTP_S_BURSTSIZE_FILE "http_S.burstsize" #define TCPLIB_HTTP_S_IDLETIME_FILE "http_S.idletime" #define TCPLIB_HTTP_S_NITEMS_FILE "http_S.nitems" /* the granulatity that we store counters */ #define GRAN_BURSTSIZE 256 /* bytes */ #define GRAN_BURSTIDLETIME 10 /* ms */ #define GRAN_CONVDURATION 10 /* ms */ #define GRAN_CONVARRIVAL 1 /* ms */ #define GRAN_TELNET_DURATION 10 /* ms */ #define GRAN_TELNET_ARRIVAL 1 /* ms */ #define GRAN_TELNET_PACKETSIZE 1 /* bytes */ #define GRAN_FTP_ITEMSIZE 256 /* bytes */ #define GRAN_FTP_CTRLSIZE 10 /* bytes */ #define GRAN_SMTP_ITEMSIZE 10 /* bytes */ #define GRAN_NUMITEMS 1 /* items */ #define GRAN_NUMCONNS 1 /* items */ #define GRAN_MAXCONNS 1 /* items */ /* for debugging */ /* #undef GRAN_BURSTSIZE */ /* #define GRAN_BURSTSIZE 1 */ tcptrace-6.6.7/mod_traffic.c0100644001217500001440000010723307756700113015504 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED rcsid[] = "$Header: /usr/local/cvs/tcptrace/mod_traffic.c,v 5.16 2003/11/19 14:38:03 sdo Exp $"; #ifdef LOAD_MODULE_TRAFFIC #include "mod_traffic.h" /* info kept for each (active) port */ struct traffic_info { /* which port */ u_short port; /* interval byte counters */ PLINE line_nbytes; u_long nbytes; u_long ttlbytes; /* interval packet counters */ PLINE line_npackets; u_long npackets; u_long ttlpackets; /* active connections */ PLINE line_nactive; u_long nactive; u_long ttlactive; /* idle connections */ PLINE line_nidle; u_long nidle; u_long ttlidle; /* open connections */ PLINE line_nopen; u_long nopen; u_long ttlopen; /* instantaneous open connections */ PLINE line_niopen; u_long n_i_open; u_long ttl_i_open; /* long-duration connections */ PLINE line_nlong; u_long nlong; u_long ttllong; /* pureacks */ PLINE line_pureacks; u_long npureacks; u_long ttlpureacks; /* which color is used for plotting */ char *color; /* linked list of the one's we're using */ struct traffic_info *next; }; static struct traffic_info *traffichead = NULL; #define NUM_PORTS 65536 static struct traffic_info **ports; /* [NUM_PORTS] */ #define EXCLUDE_PORT ((void *)(-1)) #define INCLUDE_PORT (NULL) /* name of the file that port data is dumped into */ #define PORT_FILENAME "traffic_byport.dat" #define STATS_FILENAME "traffic_stats.dat" /* additional info kept per connection */ struct conn_info { Bool wasactive; /* was this connection active over the interval? */ Bool wasopen; /* was this this connection EVER open? */ Bool isopen; /* is this connection open now? */ Bool islong; /* is this a long-duration connection? */ Bool halfopen; /* for half open conns */ struct traffic_info *pti1; /* pointer to the port info for this one */ struct traffic_info *pti2; /* pointer to the port info for this one */ struct conn_info *next; /* next in the chain */ u_int last_dupacks; /* last value of dupacks I saw */ u_int last_rexmits; /* last value of rexmits I saw */ u_int last_rtts; /* last value of rtt counters I saw */ }; static struct conn_info *connhead = NULL; /* plotter files that we keep open */ static PLOTTER plotter_bytes; static PLOTTER plotter_packets; static PLOTTER plotter_active; static PLOTTER plotter_idle; static PLOTTER plotter_open; static PLOTTER plotter_openclose; static PLOTTER plotter_i_open; static PLOTTER plotter_loss; static PLOTTER plotter_long; static PLOTTER plotter_rtt; static PLOTTER plotter_halfopen; static PLOTTER plotter_pureacks; static PLOTTER plotter_data; #define PLOTTER_BYTES_FILENAME "traffic_bytes.xpl" #define PLOTTER_PACKETS_FILENAME "traffic_packets.xpl" #define PLOTTER_ACTIVE_FILENAME "traffic_active.xpl" #define PLOTTER_OPEN_FILENAME "traffic_open.xpl" #define PLOTTER_OPENCLOSE_FILENAME "traffic_openclose.xpl" #define PLOTTER_I_OPEN_FILENAME "traffic_i_open.xpl" #define PLOTTER_LOSS_FILENAME "traffic_loss.xpl" #define PLOTTER_LONG_FILENAME "traffic_long.xpl" #define PLOTTER_RTT_FILENAME "traffic_rtt.xpl" #define PLOTTER_HALFOPEN_FILENAME "traffic_halfopen.xpl" #define PLOTTER_PUREACKS_FILENAME "traffic_pureacks.xpl" #define PLOTTER_IDLE_FILENAME "traffic_idle.xpl" #define PLOTTER_DATA_FILENAME "traffic_data.xpl" /* argument flags */ static float age_interval = 15.0; /* 15 seconds by default */ static Bool doplot_bytes = FALSE; static Bool doplot_packets = FALSE; static Bool doplot_active = FALSE; static Bool doplot_open = FALSE; static Bool doplot_openclose = FALSE; static Bool doplot_i_open = FALSE; static Bool doplot_loss = FALSE; static Bool doplot_long = FALSE; static Bool doplot_rtt = FALSE; static Bool doplot_halfopen = FALSE; static Bool doplot_pureacks = FALSE; static Bool doplot_idle = FALSE; static Bool doplot_data = FALSE; static int longconn_duration = 60; /* local routines */ static struct traffic_info *MakeTrafficRec(u_short port); static void MakeTrafficLines(struct traffic_info *pti); static struct conn_info *MakeConnRec(void); static void AgeTraffic(void); static struct traffic_info *FindPort(u_short port); static void IncludePorts(unsigned firstport, unsigned lastport); static void ExcludePorts(unsigned firstport, unsigned lastport); static void CheckPortNum(unsigned portnum); static char *PortName(int port); static void ParseArgs(char *argstring); static void DoplotIOpen(int port, Bool fopen); /* info for opens and closes graphs */ static PLINE line_num_closes; static PLINE line_num_opens; static PLINE line_open_conns; static PLINE line_num_halfopens; static int num_closes = 0; static int num_opens = 0; static int ttl_num_opens = 0; static int ttl_num_closes = 0; static int open_conns = 0; static int num_halfopens = 0; /* info for total byte counters */ static PLINE line_data_nonrexmit; static PLINE line_data_all; static u_llong data_nbytes_nonrexmit; static u_llong data_nbytes_all; /* info for the loss events graph */ static PLINE line_dupacks; static PLINE line_rexmits; static u_long dupacks; static u_long ttl_dupacks; static u_long rexmits; static u_long ttl_rexmits; /* info for the RTT graph */ static PLINE line_rtt_avg; static PLINE line_rtt_min; static PLINE line_rtt_max; static float rtt_ttl; /* in msecs */ static float ttl_rtt_ttl; /* in msecs */ static int rtt_min = -1; /* in msecs */ static int rtt_max = -1; /* in msecs */ static int rtt_samples; static int ttl_rtt_samples; static u_int rtt_minvalid = 0; /* minimum RTT to consider (ms) */ static u_int rtt_maxvalid = 0xffffffff; /* maximum RTT to consider (ms) */ /* local debugging flag */ static int ldebug = 0; static void CheckPortNum( unsigned portnum) { if (portnum >= NUM_PORTS) { fprintf(stderr,"mod_traffic: Invalid port number '%d'\n", portnum); traffic_usage(); exit(-1); } } static void ExcludePorts( unsigned firstport, unsigned lastport) { CheckPortNum(firstport); CheckPortNum(lastport); if (ldebug) printf("mod_traffic: excluding ports [%d-%d]\n", firstport, lastport); while (firstport <= lastport) ports[firstport++] = EXCLUDE_PORT; } static void IncludePorts( unsigned firstport, unsigned lastport) { CheckPortNum(firstport); CheckPortNum(lastport); if (ldebug) printf("mod_traffic: including ports [%d-%d]\n", firstport, lastport); while (firstport <= lastport) ports[firstport++] = INCLUDE_PORT; } /* Mostly as a module example, here's a plug in that records TRAFFIC info */ int traffic_init( int argc, char *argv[]) { int i; int enable=0; char *args = NULL; for (i=1; i < argc; ++i) { if (!argv[i]) continue; /* argument already taken by another module... */ if (strncmp(argv[i],"-x",2) == 0) { if (strncasecmp(argv[i]+2,"traffic",sizeof("traffic")-1) == 0) { /* I want to be called */ args = argv[i]+(sizeof("-xtraffic")-1); enable = 1; printf("mod_traffic: characterizing traffic\n"); argv[i] = NULL; } } } if (!enable) return(0); /* don't call me again */ /* init the data storage structure */ ports = MallocZ(NUM_PORTS*sizeof(struct traffic_info *)); ports[0] = MakeTrafficRec(0); /* parse the encoded args */ ParseArgs(args); /* open the output files */ if (doplot_packets) plotter_packets = new_plotter(NULL, PLOTTER_PACKETS_FILENAME, "packets per second over time by port", "time","packets/second", NULL); if (doplot_bytes) plotter_bytes = new_plotter(NULL, PLOTTER_BYTES_FILENAME, "bytes per second over time by port", "time","bytes/second", NULL); if (doplot_active) plotter_active = new_plotter(NULL, PLOTTER_ACTIVE_FILENAME, "active connections over time by port", "time","active connections", NULL); if (doplot_idle) plotter_idle = new_plotter(NULL, PLOTTER_IDLE_FILENAME, "idle connections over time by port", "time","idle connections", NULL); if (doplot_open) plotter_open = new_plotter(NULL, PLOTTER_OPEN_FILENAME, "open connections over time by port", "time","open connections", NULL); if (doplot_i_open) plotter_i_open = new_plotter(NULL, PLOTTER_I_OPEN_FILENAME, "open connections over time by port - instantaneous", "time","number of connections", NULL); if (doplot_openclose) { plotter_openclose = new_plotter(NULL, PLOTTER_OPENCLOSE_FILENAME, "connections opened and closed over time", "time","number of connections", NULL); line_num_opens = new_line(plotter_openclose, "Number Opens", "green"); line_num_closes = new_line(plotter_openclose, "Number Closes", "red"); line_open_conns = new_line(plotter_openclose, "Total Open", "blue"); } if (doplot_halfopen) { plotter_halfopen = new_plotter(NULL, PLOTTER_HALFOPEN_FILENAME, "half open connections over time", "time","number of half open connections", NULL); line_num_halfopens = new_line(plotter_halfopen, "Halfopen Conns", "green"); } if (doplot_pureacks) { plotter_pureacks = new_plotter(NULL, PLOTTER_PUREACKS_FILENAME, "pure acks (no data) per second over time", "time","pureacks/second", NULL); } if (doplot_loss) { plotter_loss = new_plotter(NULL, PLOTTER_LOSS_FILENAME, "packet loss per second over time", "time","events/second", NULL); line_dupacks = new_line(plotter_loss, "Triple Dupacks", "yellow"); line_rexmits = new_line(plotter_loss, "Retransmits", "blue"); } if (doplot_rtt) { plotter_rtt = new_plotter(NULL, PLOTTER_RTT_FILENAME, "RTT over time", "time","RTT (msecs)", NULL); line_rtt_min = new_line(plotter_rtt, "Min RTT", "green"); line_rtt_max = new_line(plotter_rtt, "Max RTT", "red"); line_rtt_avg = new_line(plotter_rtt, "Average RTT", "blue"); } if (doplot_data) { plotter_data = new_plotter(NULL, PLOTTER_DATA_FILENAME, "Total Data Sent Over Time", "time","total bytes", NULL); line_data_all = new_line(plotter_data, "All Data", "blue"); line_data_nonrexmit = new_line(plotter_data, "Non-Rexmitted Data", "red"); } if (doplot_long) { char title[100]; snprintf(title,sizeof(title),"connections still open after %d seconds\n", longconn_duration); plotter_long = new_plotter(NULL, PLOTTER_LONG_FILENAME, title, "time","number of connections", NULL); } /* we don't want the normal output */ printsuppress = TRUE; /* create any lines that I want to draw */ MakeTrafficLines(ports[0]); /* init the graphs and etc... */ AgeTraffic(); return(1); /* TRUE means call traffic_read and traffic_done later */ } /* return the record for traffic on this port */ static struct traffic_info * FindPort( u_short port) { struct traffic_info *pti; /* port "0" means "all", but we don't need to treat it as a special case */ /* see what's there now */ pti = ports[port]; /* see if it's "excluded" */ if ((port != 0) && (pti == EXCLUDE_PORT)) return(NULL); /* make a new one if there's a NULL there */ if (!pti) { pti = MakeTrafficRec(port); /* create any lines that I want to draw */ MakeTrafficLines(pti); } return(pti); } static struct traffic_info * MakeTrafficRec( u_short port) { struct traffic_info *pti; pti = MallocZ(sizeof(struct traffic_info)); if (ldebug>10) printf("MakeTrafficRec(%d) called\n", (int)port); /* init */ pti->port = port; /* chain it in (at head of list) */ pti->next = traffichead; traffichead = pti; /* add to lookup array */ ports[port] = pti; return(pti); } static void MakeTrafficLines( struct traffic_info *pti) { char *portname; static int nextcolor = 0; /* map port number to name for printing */ portname = (pti->port==0)?"total":strdup(PortName(pti->port)); /* pick color */ pti->color = ColorNames[nextcolor % NCOLORS]; ++nextcolor; /* create the lines that we sometimes use */ if (doplot_bytes) pti->line_nbytes = new_line(plotter_bytes, portname, pti->color); if (doplot_packets) pti->line_npackets = new_line(plotter_packets, portname, pti->color); if (doplot_active) pti->line_nactive = new_line(plotter_active, portname, pti->color); if (doplot_idle) pti->line_nidle = new_line(plotter_idle, portname, pti->color); if (doplot_open) pti->line_nopen = new_line(plotter_open, portname, pti->color); if (doplot_long) pti->line_nlong = new_line(plotter_long, portname, pti->color); if (doplot_i_open) pti->line_niopen = new_line(plotter_i_open, portname, pti->color); if (doplot_pureacks) pti->line_pureacks = new_line(plotter_pureacks, portname, pti->color); } static struct conn_info * MakeConnRec(void) { struct conn_info *pci; pci = MallocZ(sizeof(struct conn_info)); /* chain it in (at head of list) */ pci->next = connhead; connhead = pci; return(pci); } void traffic_read( struct ip *pip, /* the packet */ tcp_pair *ptp, /* info I have about this connection */ void *plast, /* past byte in the packet */ void *mod_data) /* connection info for this one */ { struct tcphdr *ptcp = (struct tcphdr *) ((char *)pip + 4*IP_HL(pip)); struct traffic_info *pti1 = FindPort(ntohs(ptcp->th_sport)); struct traffic_info *pti2 = FindPort(ntohs(ptcp->th_dport)); u_long bytes = ntohs(pip->ip_len); static timeval last_time = {0,0}; struct conn_info *pci = mod_data; int was_rexmit = 0; /* if neither port is interesting, then ignore this one */ if (!pti1 && !pti2) { return; } /* OK, this connection is now active */ pci->wasactive = 1; /* check to see if it's really "open" (traffic in both directions) */ if (!pci->wasopen) { if ((ptp->a2b.packets > 0) && (ptp->b2a.packets > 0)) { /* bidirectional: OK, we'll call it open */ pci->wasopen = 1; pci->isopen = 1; ++num_opens; ++ttl_num_opens; ++open_conns; /* instantaneous opens and closes */ if (doplot_i_open) { DoplotIOpen(ntohs(ptcp->th_dport), TRUE); DoplotIOpen(ntohs(ptcp->th_sport), TRUE); DoplotIOpen(0, TRUE); } } } /* add to port-specific counters */ if (pti1) { pti1->nbytes += bytes; pti1->npackets += 1; } if (pti2) { pti2->nbytes += bytes; pti2->npackets += 1; } /* add to GLOBAL counters */ ports[0]->nbytes += bytes; ports[0]->npackets += 1; ports[0]->npureacks += 1; /* see if we're closing it */ if (RESET_SET(ptcp) || (FIN_SET(ptcp) && /* find in BOTH directions */ ((ptp->a2b.fin_count>0) && (ptp->b2a.fin_count>0)))) { if (pci->isopen) { pci->isopen = 0; ++num_closes; --open_conns; /* instantaneous opens and closes */ if (doplot_i_open) { DoplotIOpen(ntohs(ptcp->th_dport), FALSE); DoplotIOpen(ntohs(ptcp->th_sport), FALSE); DoplotIOpen(0, FALSE); } } } /* half open conns */ if (FIN_SET(ptcp)) { if ((ptp->a2b.fin_count>0) && (ptp->b2a.fin_count>0)) { if (pci->halfopen) { /* fully closed now */ --num_halfopens; pci->halfopen = 0; } } else if (!pci->halfopen) { /* half open now */ ++num_halfopens; pci->halfopen = 1; } } /* check losses */ if (pci->last_dupacks != ptp->a2b.rtt_triple_dupack+ ptp->b2a.rtt_triple_dupack) { pci->last_dupacks = ptp->a2b.rtt_triple_dupack+ ptp->b2a.rtt_triple_dupack; ++dupacks; ++ttl_dupacks; } if (pci->last_rexmits != ptp->a2b.rexmit_pkts+ptp->b2a.rexmit_pkts) { pci->last_rexmits = ptp->a2b.rexmit_pkts+ptp->b2a.rexmit_pkts; was_rexmit = 1; ++rexmits; ++ttl_rexmits; } /* add to total data counters */ data_nbytes_all += bytes; if (!was_rexmit) data_nbytes_nonrexmit += bytes; /* RTT stats */ if (ACK_SET(ptcp)) { tcb *ptcb; int rtt; /* see which of the 2 TCB's this goes with */ if (ptp->addr_pair.a_port == ntohs(ptcp->th_dport)) ptcb = &ptp->a2b; else ptcb = &ptp->b2a; /* check the rtt counter of the last sample */ rtt = ptcb->rtt_last / 1000.0; if ((pci->last_rtts != ptcb->rtt_count + ptcb->rtt_amback) && (ptcb->rtt_last != 0.0) && (rtt > rtt_minvalid) && (rtt <= rtt_maxvalid)) { /* sample is only valid when one of these counters is higher */ pci->last_rtts = ptcb->rtt_count + ptcb->rtt_amback; /* keep stats */ rtt_ttl += rtt; ttl_rtt_ttl += rtt; ++rtt_samples; ++ttl_rtt_samples; /* also, remember min and max */ if ((rtt_max == -1) || (rtt_max < rtt)) rtt_max = rtt; if ((rtt_min == -1) || (rtt_min > rtt)) rtt_min = rtt; if (ldebug > 9) printf("Rtt: %d, min:%d, max:%d\n", rtt, rtt_min, rtt_max); } } /* see if this is now "long duration" */ if (!pci->islong) { int etime_msecs = elapsed(ptp->first_time,current_time); if (etime_msecs/1000000 > longconn_duration) { pci->islong = 1; } } /* count "pure acks" (no data) */ if (ACK_SET(ptcp)) { int tcp_length, tcp_data_length; tcp_length = getpayloadlength(pip, plast); tcp_data_length = tcp_length - (4 * TH_OFF(ptcp)); if (tcp_data_length == 0) { if (pti1) { ++pti1->npureacks; } if (pti2) { ++pti2->npureacks; } } } /* determine elapsed time and age the samples */ if (elapsed(last_time,current_time)/1000000.0 > age_interval) { AgeTraffic(); last_time = current_time; } } static char * PortName( int port) { static char buf[20]; if (port == 0) return("total"); snprintf(buf,sizeof(buf),"%d",port); return(buf); } static void AgeTraffic(void) { struct traffic_info *pti; struct conn_info *pci; static timeval last_time = {0,0}; float etime; int ups; /* units per second */ /* first time doesn't count */ if (ZERO_TIME(&last_time)) { last_time = current_time; return; } /* check elapsed time */ etime = elapsed(last_time, current_time); if (ldebug>1) printf("AgeTraffic called, elapsed time is %.3f seconds\n", etime/1000000); if (etime == 0.0) return; /* roll the open/active/long connections into the port records */ for (pci=connhead; pci; pci=pci->next) { if (pci->wasactive) { if (pci->pti1) ++pci->pti1->nactive; if (pci->pti2) ++pci->pti2->nactive; pci->wasactive = 0; ++ports[0]->nactive; } if (pci->isopen) { if (pci->pti1) ++pci->pti1->nopen; if (pci->pti2) ++pci->pti2->nopen; ++ports[0]->nopen; if (pci->islong) { if (pci->pti1) ++pci->pti1->nlong; if (pci->pti2) ++pci->pti2->nlong; ++ports[0]->nlong; } if (!pci->wasactive) { /* open and !active ==> IDLE */ if (pci->pti1) ++pci->pti1->nidle; if (pci->pti2) ++pci->pti2->nidle; ++ports[0]->nidle; } } } /* ============================================================ */ /* plot halfopen conns */ if (doplot_halfopen) { /* draw lines */ extend_line(line_num_halfopens,current_time, num_halfopens); } /* ============================================================ */ /* plot connection activity */ /* opens */ if (doplot_openclose) { /* draw lines */ extend_line(line_num_opens,current_time, num_opens); extend_line(line_num_closes,current_time, num_closes); extend_line(line_open_conns,current_time, open_conns); /* reset interval counters */ // Counting ttl_num_opens instantaneously as and when num_opens is incremented, // so that ttl_num_opens is printed properly in traffic_stats.dat even // when the -C(openclose) option is not given. // Hence commenting off the following line. - Mani, 4 Aug 2003. // ttl_num_opens += num_opens; ttl_num_closes += num_closes; num_opens = 0; num_closes = 0; } /* ============================================================ */ /* report of loss events */ if (doplot_loss) { /* convert to events/second */ /* sdo bugfix - Wed May 12, 1999 - round UP!! */ dupacks = (dupacks+age_interval-1)/age_interval; rexmits = (rexmits+age_interval-1)/age_interval; /* draw lines */ extend_line(line_dupacks,current_time, dupacks); extend_line(line_rexmits,current_time, rexmits); /* reset interval counters */ dupacks = 0; rexmits = 0; } /* ============================================================ */ /* report of RTT */ if (doplot_rtt && (rtt_samples > 0)) { int rtt_avg; /* convert to average rtt */ rtt_avg = (int)((rtt_ttl/(float)rtt_samples)); /* draw lines */ extend_line(line_rtt_avg, current_time, rtt_avg); if (rtt_min != -1) extend_line(line_rtt_min, current_time, rtt_min); if (rtt_max != -1) extend_line(line_rtt_max, current_time, rtt_max); /* reset interval counters */ rtt_ttl = 0; rtt_samples = 0; rtt_min = -1; rtt_max = -1; } /* ============================================================ */ /* report of total data */ if (doplot_data) { extend_line(line_data_all, current_time, data_nbytes_all); extend_line(line_data_nonrexmit, current_time, data_nbytes_nonrexmit); } /* ============================================================ */ /* print them out */ for (pti=traffichead; pti; pti=pti->next) { if (ldebug>1) printf(" Aging Port %u bytes: %lu packets: %lu\n", pti->port, pti->nbytes, pti->npackets); /* plot bytes */ if (doplot_bytes) { /* convert to units per second */ ups = (int)((float)pti->nbytes * 1000000.0 / etime); /* plot it */ extend_line(pti->line_nbytes,current_time, ups); } /* plot packets */ if (doplot_packets) { /* convert to units per second */ ups = (int)((float)pti->npackets * 1000000.0 / etime); /* plot it */ extend_line(pti->line_npackets,current_time, ups); } /* plot active connections */ if (doplot_active) { /* plot it */ extend_line(pti->line_nactive,current_time, pti->nactive); } /* plot idle connections */ if (doplot_idle) { /* plot it */ extend_line(pti->line_nidle,current_time, pti->nidle); } /* plot open connections */ if (doplot_open) { /* plot it */ extend_line(pti->line_nopen,current_time, pti->nopen); } /* plot long-duration */ if (doplot_long) { extend_line(pti->line_nlong,current_time, pti->nlong); } /* plot pureacks */ if (doplot_pureacks) { /* convert to units per second */ ups = (int)((float)pti->npureacks * 1000000.0 / etime); extend_line(pti->line_pureacks, current_time, ups); } } /* zero them out */ for (pti=traffichead; pti; pti=pti->next) { pti->ttlbytes += pti->nbytes; pti->ttlpackets += pti->npackets; pti->ttlpureacks += pti->npureacks; pti->nbytes = 0; pti->nlong = 0; pti->npackets = 0; pti->nactive = 0; pti->nidle = 0; pti->nopen = 0; pti->npureacks = 0; } last_time = current_time; } void traffic_done(void) { struct traffic_info *pti; struct conn_info *pci; double etime = elapsed(first_packet,last_packet); int etime_secs = etime / 1000000.0; MFILE *pmf; int i; /* roll the active connections into the port records */ for (pci=connhead; pci; pci=pci->next) { if (pci->pti1) ++pci->pti1->ttlactive; if (pci->pti2) ++pci->pti2->ttlactive; ++ports[0]->ttlactive; } AgeTraffic(); pmf = Mfopen(PORT_FILENAME,"w"); printf("Dumping port statistics into file %s\n", PORT_FILENAME); /* dump out the data */ Mfprintf(pmf,"Overall totals by port\n"); for (i=0; i < NUM_PORTS; ++i) { pti = ports[i]; if ((pti != EXCLUDE_PORT) && (pti != INCLUDE_PORT)) { if (i == 0) Mfprintf(pmf,"TOTAL "); else Mfprintf(pmf,"Port %5u ", pti->port); Mfprintf(pmf,"\ bytes: %12lu pkts: %10lu conns: %8lu tput: %8lu B/s\n", pti->ttlbytes, pti->ttlpackets, pti->ttlactive, pti->ttlbytes / etime_secs); } } Mfclose(pmf); /* dump specific stats */ pmf = Mfopen(STATS_FILENAME,"w"); printf("Dumping overall statistics into file %s\n", STATS_FILENAME); pti = ports[0]; Mfprintf(pmf, "\n\nOverall Statistics over %d seconds (%s):\n", etime_secs, elapsed2str(etime)); /* ttl bytes */ Mfprintf(pmf, "%" FS_ULL " ttl bytes sent, %.3f bytes/second\n", data_nbytes_all, (float)data_nbytes_all / ((float)etime_secs)); /* ttl bytes (nonrexmit)*/ Mfprintf(pmf, "%" FS_ULL " ttl non-rexmit bytes sent, %.3f bytes/second\n", data_nbytes_nonrexmit, (float)data_nbytes_nonrexmit / ((float)etime_secs)); /* ttl bytes (nonrexmit)*/ Mfprintf(pmf, "%" FS_ULL " ttl rexmit bytes sent, %.3f bytes/second\n", data_nbytes_all - data_nbytes_nonrexmit, (float)(data_nbytes_all - data_nbytes_nonrexmit) / ((float)etime_secs)); /* ttl packets */ Mfprintf(pmf, "%u packets sent, %.3f packets/second\n", pti->ttlpackets, (float)pti->ttlpackets / ((float)etime_secs)); /* connections opened */ Mfprintf(pmf, "%u connections opened, %.3f conns/second\n", ttl_num_opens, (float)ttl_num_opens / ((float)etime_secs)); /* dupacks */ Mfprintf(pmf, "%u dupacks sent, %.3f dupacks/second\n", ttl_dupacks, (float)ttl_dupacks / ((float)etime_secs)); /* rexmits */ Mfprintf(pmf, "%u rexmits sent, %.3f rexmits/second\n", ttl_rexmits, (float)ttl_rexmits / ((float)etime_secs)); /* RTT */ Mfprintf(pmf, "average RTT: %.3f msecs\n", ttl_rtt_ttl / (float)ttl_rtt_samples); Mfclose(pmf); printf("Plotting performed at %.3f second intervals\n", age_interval); } void * traffic_newconn( tcp_pair *ptp) { struct conn_info *pci; pci = MakeConnRec(); pci->pti1 = FindPort(ptp->addr_pair.a_port); pci->pti2 = FindPort(ptp->addr_pair.b_port); return(pci); } void traffic_usage(void) { printf("\t-xtraffic\"[ARGS]\"\tprint info about overall traffic\n"); printf("\ \t module argument format:\n\ \t -iS set statistics interval to S (float) seconds, default 15.0\n\ \t -pP include information on port P\n\ \t -pP1-P2 include information on ports in the range [P1-P2]\n\ \t -p-P exclude information on port P\n\ \t -p-P1-P2 exclude information on ports in the range [P1-P2]\n\ \t -pSPEC,SPEC commas chain together specs\n\ \t -G generate all graphs\n\ \t -A generate the 'active connections' graph\n\ \t -B generate the 'bytes per second' graph\n\ \t -C generate the 'opens and closes' graph\n\ \t -H generate the 'halfopen connections' graph\n\ \t -K generate the 'pure acKs/second' graph\n\ \t -L generate the 'losses per second' graph\n\ \t -O generate the 'open connections' graph\n\ \t -I generate the 'instantaneous open connections' graph\n\ \t -P generate the 'packets per second' graph\n\ \t -Q generate the 'idle (Quiet) connections' graph\n\ \t -R[MIN[-MAX]]generate the 'round trip time' graph\n\ \t with args, ignore samples outside MIN to MAX (in ms)\n\ \t -T generate the 'total data' graph\n\ \t -D[SECS] generate the 'long duration connection' graph\n\ \t default definition of 'long' is 60 seconds\n\ \t -d enable local debugging in this module\n\ \t Examples\n\ \t -xtraffic\" -p23\" only port 23\n\ \t -xtraffic\" -p1-1023\" only ports 1-1023\n\ \t -xtraffic\"-p1-1023,-10-20 -L -O\" only ports 1-1023, but exclude ports 10-20\n\ \t With no ports specification, all ports are gathered. With ANY\n\ \t spec, all ports are initially EXCLUDED\n\ "); } static void ParseArgs(char *argstring) { int argc; char **argv; static int excluded = 0; int i; char *pch; /* make sure there ARE arguments */ if (!(argstring && *argstring)) return; /* break the string into normal arguments */ StringToArgv(argstring,&argc,&argv); /* check the module args */ for (i=1; i < argc; ++i) { float interval; if (ldebug > 1) printf("Checking argv[%d]: '%s'\n", i, argv[i]); if (strcmp(argv[i],"-d") == 0) { ++ldebug; } else if (sscanf(argv[i],"-i%f", &interval) == 1) { age_interval = interval; if (ldebug) printf("mod_traffic: setting age interval to %.3f seconds\n", age_interval); } else if (strcmp(argv[i],"-G") == 0) { doplot_active = TRUE; doplot_idle = TRUE; doplot_data = TRUE; doplot_bytes = TRUE; doplot_loss = TRUE; doplot_long = TRUE; doplot_open = TRUE; doplot_halfopen = TRUE; doplot_openclose = TRUE; doplot_i_open = TRUE; doplot_packets = TRUE; doplot_pureacks = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating all graphs\n"); } else if (strcmp(argv[i],"-A") == 0) { doplot_active = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'active' graph into '%s'\n", PLOTTER_ACTIVE_FILENAME); } else if (strcmp(argv[i],"-B") == 0) { doplot_bytes = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'bytes' graph into '%s'\n", PLOTTER_BYTES_FILENAME); } else if (strcmp(argv[i],"-H") == 0) { doplot_halfopen = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'halfopen' graph into '%s'\n", PLOTTER_HALFOPEN_FILENAME); } else if (strcmp(argv[i],"-Q") == 0) { doplot_idle = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'idle' graph into '%s'\n", PLOTTER_IDLE_FILENAME); } else if (strcmp(argv[i],"-K") == 0) { doplot_pureacks = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'pureacks' graph into '%s'\n", PLOTTER_PUREACKS_FILENAME); } else if (strcmp(argv[i],"-L") == 0) { doplot_loss = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'loss' graph into '%s'\n", PLOTTER_LOSS_FILENAME); } else if (strcmp(argv[i],"-T") == 0) { doplot_data = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'total data' graph into '%s'\n", PLOTTER_DATA_FILENAME); } else if (strncmp(argv[i],"-D",2) == 0) { doplot_long = TRUE; if (strlen(argv[i]) > 2) { /* grab the number */ longconn_duration = atoi(argv[i]+2); if (longconn_duration <= 0) { fprintf(stderr,"bad time value for -LN '%s'\n", argv[i]); exit(-1); } } if (ldebug) fprintf(stderr, "mod_traffic: generating 'long duration' graph (%d secs) into '%s'\n", longconn_duration, PLOTTER_LONG_FILENAME); } else if (strcmp(argv[i],"-O") == 0) { doplot_open = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'open' graph into '%s'\n", PLOTTER_OPEN_FILENAME); } else if (strcmp(argv[i],"-C") == 0) { doplot_openclose = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'openclose' graph into '%s'\n", PLOTTER_OPENCLOSE_FILENAME); } else if (strcmp(argv[i],"-I") == 0) { doplot_i_open = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'instantaneous openclose' graph into '%s'\n", PLOTTER_I_OPEN_FILENAME); } else if (strcmp(argv[i],"-P") == 0) { doplot_packets = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'packets' graph into '%s'\n", PLOTTER_PACKETS_FILENAME); } else if (strncmp(argv[i],"-R",2) == 0) { int nargs; doplot_rtt = TRUE; if (ldebug) fprintf(stderr, "mod_traffic: generating 'rtt' graph into '%s'\n", PLOTTER_RTT_FILENAME); /* check for valid RTT range args */ nargs = sscanf(argv[i],"-R%d-%d", &rtt_minvalid, &rtt_maxvalid); switch (nargs) { case 2: { /* 2 args is min and max */ /* sanity check */ if (rtt_maxvalid <= rtt_minvalid) { fprintf(stderr, "mod_traffic: Out of order min-max range for -R '%s'\n", argv[i]); traffic_usage(); exit(-1); } break; } case 1: { /* 1 args in min rtt */ /* sanity check */ if (rtt_maxvalid <= rtt_minvalid) { fprintf(stderr, "mod_traffic: Out of order min-max range for -R '%s'\n", argv[i]); traffic_usage(); exit(-1); } break; } case 0: /* no args, that's OK */ case -1: /* (means the same as 0) */ break; default: /* illegal args */ fprintf(stderr, "mod_traffic: Invalid min-max range for -R '%s'\n", argv[i]); traffic_usage(); exit(-1); break; } } else if (strncmp(argv[i],"-p",2) == 0) { pch = argv[i]+2; while (pch && *pch) { char *pch_next; unsigned port1, port2; if ((pch_next = strchr(pch,',')) != NULL) { *pch_next = '\00'; ++pch_next; } if (!excluded) { ExcludePorts(1,NUM_PORTS-1); excluded = 1; } if (sscanf(pch,"-%u-%u", &port1, &port2) == 2) { ExcludePorts(port1,port2); } else if (sscanf(pch,"%u-%u", &port1, &port2) == 2) { IncludePorts(port1,port2); } else if (sscanf(pch,"-%u", &port1) == 1) { ExcludePorts(port1,port1); } else if (sscanf(pch,"%u", &port1) == 1) { IncludePorts(port1,port1); } else { fprintf(stderr,"mod_traffic: Invalid port specification string '%s'\n", pch); traffic_usage(); exit(-1); } pch = pch_next; } } else { fprintf(stderr,"Traffic module: bad argument '%s'\n", argv[i]); exit(-1); } } } static void DoplotIOpen(int port, Bool fopen) { struct traffic_info *pti; /* just for this port */ if ((pti = FindPort(port)) == NULL) return; if (fopen) ++pti->n_i_open; else --pti->n_i_open; extend_line(pti->line_niopen, current_time, pti->n_i_open); } #endif /* LOAD_MODULE_TRAFFIC */ tcptrace-6.6.7/mod_traffic.h0100644001217500001440000000521207756700117015507 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_traffic[] = "@(#)$Header: /usr/local/cvs/tcptrace/mod_traffic.h,v 5.4 2003/11/19 14:38:07 sdo Exp $"; /* header file for traffic.c */ int traffic_init(int argc, char *argv[]); void traffic_read(struct ip *pip, tcp_pair *ptp, void *plast, void *pmod_data); void traffic_done(void); void traffic_usage(void); void *traffic_newconn(tcp_pair *ptp); tcptrace-6.6.7/modules.h0100644001217500001440000002646610021711264014700 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_modules[] = "$Header: /usr/local/cvs/tcptrace/modules.h,v 5.7 2004/03/04 20:33:56 mramadas Exp $"; /* * modules.h -- Definitions for plug-in modules */ /* For a registered module, enter its info into the following structures */ struct module { /* is this module being called? */ Bool module_inuse; /* The SHORT name of the module, just for debugging */ char *module_name; /* The LONG description of the module, just for debugging */ char *module_descr; /* Init routine, called immediately at start-up time */ /* I'll pass you the argc and argv from the program invocation, */ /* delete any args you want (just make the pointer NULL) */ /* If you return TRUE, I'll call the other functions later, else */ /* I won't. */ int (*module_init) (int argc, char *argv[]); /* TCP Reading routine, for each packet grabbed, I'll pass you the */ /* TCP structure and the IP packet itself (in */ /* host byte order). */ void (*module_read) ( struct ip *pip, /* the packet */ tcp_pair *ptp, /* info I have about this connection */ void *plast, /* pointer to last byte */ void *pmodstruct); /* module-specific structure */ /* Finish up routine. Called after tcpdump is finished printing. */ void (*module_done) (void); /* Usage message additions */ void (*module_usage)(void); /* If you want to be called as each file is processed */ void (*module_newfile)( char *filename, /* the name of the current file */ u_long filesize, /* number of bytes in file (might be compressed) */ Bool fcompressed); /* is the file compressed? */ /* If you want to be called for each new connection */ /* If you want to attach a module-specifi structure to this */ /* tcp_pair, return its address and I'll hand it back to */ /* you with each read, otherwise return NULL */ void *(*module_newconn)( tcp_pair *ptp); /* info I have about this connection */ /* UDP Reading routine, for each packet grabbed, I'll pass you the */ /* UDP structure and the IP packet itself (in */ /* host byte order). */ void (*module_udp_read) ( struct ip *pip, /* the packet */ udp_pair *pup, /* info I have about this connection */ void *plast, /* pointer to last byte */ void *pmodstruct); /* module-specific structure */ /* If you want to be called for each new UDP connection */ /* If you want to attach a module-specifi structure to this */ /* udp_pair, return its address and I'll hand it back to */ /* you with each read, otherwise return NULL */ void *(*module_udp_newconn)( udp_pair *ptp); /* info I have about this connection */ /* Called for non-tcp packets. Tcptrace ignores them, but you */ /* might want them */ void (*module_nontcpudp_read) ( struct ip *pip, /* the packet */ void *plast); /* pointer to last byte */ /* Called for old TCP connections when they are deleted by */ /* the real-time version of the program */ void (*module_deleteconn) ( tcp_pair *ptp, /* info I have about this connection */ void *pmodstruct); /* module-specific structure */ }; /* module-specific header file (needs to give prototypes for the routines below) */ #ifdef LOAD_MODULE_HTTP #include "mod_http.h" /* for the HTTP package */ #endif /* LOAD_MODULE_HTTP */ #ifdef LOAD_MODULE_TCPLIB #include "mod_tcplib.h" /* for the TCPLIB package */ #endif /* LOAD_MODULE_TCPLIB */ #ifdef LOAD_MODULE_TRAFFIC #include "mod_traffic.h" /* for the traffic package */ #endif /* LOAD_MODULE_TRAFFIC */ #ifdef LOAD_MODULE_RTTGRAPH #include "mod_rttgraph.h" /* for the rttgraph package */ #endif /* LOAD_MODULE_RTTGRAPH */ #ifdef LOAD_MODULE_COLLIE #include "mod_collie.h" /* for the collie package */ #endif /* LOAD_MODULE_COLLIE */ #ifdef LOAD_MODULE_SLICE #include "mod_slice.h" /* for the slice package */ #endif /* LOAD_MODULE_SLICE */ #ifdef LOAD_MODULE_REALTIME #include "mod_realtime.h" /* for the example real-time package */ #endif /* LOAD_MODULE_REALTIME */ #ifdef LOAD_MODULE_INBOUNDS #include "mod_inbounds.h" /* include the INBOUNDS module */ #endif /* LOAD_MODULE_INBOUNDS */ /* declare (install) the various module routines */ struct module modules[] = { #ifdef LOAD_MODULE_HTTP /* this example is for the HTTP module */ {TRUE, /* make FALSE if you don't want to call it at all */ "http", /* name of the module */ "Http analysis package", /* description of the module */ http_init, /* routine to call to init the module */ http_read, /* routine to pass each TCP segment */ http_done, /* routine to call at program end */ http_usage, /* routine to call to print module usage */ http_newfile, /* routine to call on each new file */ http_newconn, /* routine to call on each new connection */ NULL, NULL, NULL, NULL}, /* not interested in non-tcp */ #endif /* LOAD_MODULE_HTTP */ /* list other modules here ... */ #ifdef LOAD_MODULE_TCPLIB /* this example is for the TCPLIB module */ {TRUE, /* make FALSE if you don't want to call it at all */ "tcplib", /* name of the module */ "TCPLib analysis package", /* description of the module */ tcplib_init, /* routine to call to init the module */ tcplib_read, /* routine to pass each TCP segment */ tcplib_done, /* routine to call at program end */ tcplib_usage, /* routine to call to print module usage */ tcplib_newfile, /* routine to call on each new file */ tcplib_newconn, /* routine to call on each new connection */ NULL, NULL, NULL, NULL}, /* not interested in non-tcp */ #endif /* LOAD_MODULE_TCPLIB */ #ifdef LOAD_MODULE_TRAFFIC /* ttl traffic analysis */ {TRUE, /* make FALSE if you don't want to call it at all */ "traffic", "traffic analysis package", traffic_init, traffic_read, traffic_done, traffic_usage, NULL, traffic_newconn, NULL, NULL, NULL, NULL}, #endif /* LOAD_MODULE_TRAFFIC */ #ifdef LOAD_MODULE_SLICE /* ttl slice analysis */ {TRUE, /* make FALSE if you don't want to call it at all */ "slice", "traffic efficiency data by time slices", slice_init, slice_read, slice_done, slice_usage, NULL, slice_newconn, NULL, NULL, NULL, NULL}, #endif /* LOAD_MODULE_SLICE */ #ifdef LOAD_MODULE_RTTGRAPH {TRUE, /* make FALSE if you don't want to call it at all */ "rttgraph", "round trip time analysis graphs", rttgraph_init, /* routine to call to init the module */ rttgraph_read, /* routine to pass each TCP segment */ rttgraph_done, /* routine to call at program end */ rttgraph_usage, /* routine to call to print module usage */ NULL, /* routine to call on each new file */ rttgraph_newconn, /* routine to call on each new connection */ NULL, NULL, NULL, NULL}, /* not interested in non-tcp */ #endif /* LOAD_MODULE_TRAFFIC */ #ifdef LOAD_MODULE_COLLIE /* ttl collie analysis */ {TRUE, /* make FALSE if you don't want to call it at all */ "collie", "connection summary package", collie_init, NULL /* read */, collie_done, collie_usage, collie_newfile, collie_newconn, NULL, collie_newudpconn, NULL, NULL}, #endif /* LOAD_MODULE_COLLIE */ #ifdef LOAD_MODULE_REALTIME {TRUE, /* make FALSE if you don't want to call it at all */ "realtime", /* name of the module */ "example real-time package",/* description of the module */ realtime_init, /* routine to call to init the module */ realtime_read, /* routine to pass each TCP segment */ realtime_done, /* routine to call at program end */ realtime_usage, /* routine to call to print module usage */ NULL, /* routine to call on each new file */ realtime_newconn, /* routine to call on each new connection */ realtime_udp_read, /* routine to pass each UDP segment */ NULL, /* routine to call on each new UDP conn */ realtime_nontcpudp_read, /* routine to pass each non-tcp and non-udp packets*/ realtime_deleteconn}, #endif /* LOAD_MODULE_REALTIME */ #ifdef LOAD_MODULE_INBOUNDS {TRUE, /* make FALSE if you don't want to call it at all */ "inbounds", /* name of the module */ "INBOUNDS analysis package",/* description of the module */ inbounds_init, /* routine to call to init the module */ inbounds_tcp_read, /* routine to pass each TCP segment */ inbounds_done, /* routine to call at program end */ inbounds_usage, /* routine to call to print module usage */ NULL, /* routine to call on each new file */ inbounds_tcp_newconn, /* routine to call on each new connection */ inbounds_udp_read, /* routine to pass each UDP segment */ inbounds_udp_newconn, /* routine to call on each new UDP conn */ inbounds_nontcpudp_read, /* routine to pass each non-tcp and non-udp packets*/ inbounds_tcp_deleteconn}, /* routine to remove TCP connections */ #endif /* LOAD_MODULE_INBOUNDS */ }; #define NUM_MODULES (sizeof(modules) / sizeof(struct module)) tcptrace-6.6.7/names.c0100644001217500001440000001373307756700113014333 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/names.c,v 5.9 2003/11/19 14:38:03 sdo Exp $"; /* * name.c -- name binding stuff * * Author: Shawn Ostermann * Date: Tue Nov 1, 1994 */ #include "gcache.h" /* local routines */ char * ServiceName( portnum port) { static int cache = -1; tcelen len; struct servent *pse; static char port_buf[20]; char *sb_port; if (!resolve_ports) { snprintf(port_buf,sizeof(port_buf),"%hu",port); return(port_buf); } /* only small numbers have names */ if (port > 1023) { snprintf(port_buf,sizeof(port_buf),"%hu",port); return(port_buf); } /* check the cache */ if (cache == -1) { cache = cacreate("service",250,0); } len = sizeof(port_buf); if (debug > 2) fprintf(stderr,"Searching cache for service %d='%s'\n", port, port_buf); if (calookup(cache, (char *) &port, (tcelen) sizeof(port), (char *) port_buf, &len) == OK) { if (debug > 2) fprintf(stderr,"Found service %d='%s' in cache\n", port, port_buf); return(port_buf); } /* get port name as a string */ pse = getservbyport(port,"tcp"); if (pse != NULL) { sb_port = pse->s_name; } else { snprintf(port_buf,sizeof(port_buf),"%d",port); sb_port = port_buf; } if (debug > 2) fprintf(stderr,"Putting service %d='%s' in cache\n", port, sb_port); cainsert(cache, (char *) &port, (tcelen) sizeof(port), (char *) sb_port, (tcelen) (strlen(sb_port)+1)); return(sb_port); } /* turn an ipaddr into a printable format */ /* N.B. - result comes from static memory, save it before calling back! */ char * HostAddr( ipaddr ipaddress) { char *adr; if (ADDR_ISV6(&ipaddress)) { static char adrv6[INET6_ADDRSTRLEN]; my_inet_ntop(AF_INET6,(char *) ipaddress.un.ip6.s6_addr, adrv6, INET6_ADDRSTRLEN); adr = adrv6; } else { adr = inet_ntoa(ipaddress.un.ip4); } return(adr); } char * HostName( ipaddr ipaddress) { tcelen len; static int cache = -1; struct hostent *phe; char *sb_host; static char name_buf[100]; char *adr; adr = HostAddr(ipaddress); if (!resolve_ipaddresses) { return(adr); } /* check the cache */ if (cache == -1) { cache = cacreate("host",250,0); } len = sizeof(name_buf); if (debug > 2) fprintf(stderr,"Searching cache for host '%s'\n", adr); if (calookup(cache, (char *) &ipaddress, (tcelen) sizeof(ipaddress), (char *) name_buf, &len) == OK) { if (debug > 2) fprintf(stderr,"Found host %s='%s' in cache\n", adr, name_buf); return(name_buf); } if (ADDR_ISV6(&ipaddress)) phe = gethostbyaddr ((char *)&ipaddress.un.ip6, sizeof(ipaddress.un.ip6), AF_INET6); else phe = gethostbyaddr((char *)&ipaddress.un.ip4, sizeof(ipaddress.un.ip4), AF_INET); if (phe != NULL) { sb_host = phe->h_name; } else { sb_host = adr; } if (use_short_names) { char *pdot; if ((pdot = strchr(sb_host,'.')) != NULL) { *pdot = '\00'; /* chop off the end */ } } if (debug > 2) fprintf(stderr,"Putting host %s='%s' in cache\n", adr, sb_host); cainsert(cache, (char *) &ipaddress, (tcelen)sizeof(ipaddress), (char *) sb_host, (tcelen)(strlen(sb_host)+1)); return(sb_host); } char * EndpointName( ipaddr ipaddress, portnum port) { static char name_buf[100]; char *sb_host; char *sb_port; sb_host = HostName(ipaddress); sb_port = ServiceName(port); snprintf(name_buf,sizeof(name_buf),"%s:%s", sb_host, sb_port); return(name_buf); } tcptrace-6.6.7/netm.c0100644001217500001440000001570707756700113014176 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/netm.c,v 5.6 2003/11/19 14:38:03 sdo Exp $"; /* * netm.c - NetMetrix specific file reading stuff */ #ifdef GROK_NETM #define NETM_DUMP_OFFSET 0x1000 /* Defining SYS_STDIN which is fp for Windows and stdin for all other systems */ #ifdef __WIN32 static FILE *fp; #define SYS_STDIN fp #else #define SYS_STDIN stdin #endif /* __WIN32 */ /* netm file header format */ struct netm_header { int netm_key; int version; }; #define NETM_VERSION_OLD 3 #define NETM_VERSION_NEW 4 #define NETM_KEY 0x6476 /* netm packet header format */ struct netm_packet_header_old { int unused1; int unused2; int tstamp_secs; int tstamp_usecs; int tlen; int len; }; struct netm_packet_header { int unused1; int tstamp_secs; int tstamp_usecs; int unused2; int unused3; int len; int tlen; /* truncated length */ int unused5; }; /* netm packet header format */ int netm_oldversion; /* static buffers for reading */ static struct ether_header *pep; static int *pip_buf; /* currently only works for ETHERNET */ static int pread_netm( struct timeval *ptime, int *plen, int *ptlen, void **pphys, int *pphystype, struct ip **ppip, void **pplast) { int packlen; int rlen; struct netm_packet_header hdr; int len; int hlen; while (1) { hlen = netm_oldversion? (sizeof(struct netm_packet_header_old)): (sizeof(struct netm_packet_header)); /* read the netm packet header */ if ((rlen=fread(&hdr,1,hlen,SYS_STDIN)) != hlen) { if (rlen != 0) fprintf(stderr,"Bad netm header\n"); return(0); } packlen = ntohl(hdr.tlen); /* round up to multiple of 4 bytes */ len = (packlen + 3) & ~0x3; /* read the ethernet header */ rlen=fread(pep,1,sizeof(struct ether_header),SYS_STDIN); if (rlen != sizeof(struct ether_header)) { fprintf(stderr,"Couldn't read ether header\n"); return(0); } /* read the rest of the packet */ len -= sizeof(struct ether_header); if (len >= IP_MAXPACKET) { /* sanity check */ fprintf(stderr, "pread_netm: invalid next packet, IP len is %d, return EOF\n", len); return(0); } if ((rlen=fread(pip_buf,1,len,SYS_STDIN)) != len) { if (rlen != 0) if (debug) fprintf(stderr, "Couldn't read %d more bytes, skipping last packet\n", len); return(0); } if (netm_oldversion) { void *ptr; struct netm_packet_header_old *pho; ptr=&hdr; pho = (struct netm_packet_header_old *) ptr; ptime->tv_sec = ntohl(pho->tstamp_secs); ptime->tv_usec = ntohl(pho->tstamp_usecs); *plen = ntohl(pho->len); *ptlen = ntohl(pho->tlen); } else { ptime->tv_sec = ntohl(hdr.tstamp_secs); ptime->tv_usec = ntohl(hdr.tstamp_usecs); *plen = ntohl(hdr.len); *ptlen = ntohl(hdr.tlen); } *ppip = (struct ip *) pip_buf; *pplast = (char *)pip_buf+packlen-sizeof(struct ether_header)-1; /* last byte in the IP packet */ *pphys = pep; *pphystype = PHYS_ETHER; /* if it's not IP, then skip it */ if ((ntohs(pep->ether_type) != ETHERTYPE_IP) && (ntohs(pep->ether_type) != ETHERTYPE_IPV6)) { if (debug > 2) fprintf(stderr,"pread_netm: not an IP packet\n"); continue; } return(1); } } /* is the input file a NetMetrix format file?? */ pread_f *is_netm(char *filename) { struct netm_header nhdr; int rlen; #ifdef __WIN32 if((fp = fopen(filename, "r")) == NULL) { perror(filename); exit(-1); } #endif /* __WIN32 */ /* read the netm file header */ if ((rlen=fread(&nhdr,1,sizeof(nhdr),SYS_STDIN)) != sizeof(nhdr)) { rewind(SYS_STDIN); return(NULL); } rewind(SYS_STDIN); /* convert to local byte order */ nhdr.netm_key = ntohl(nhdr.netm_key); nhdr.version = ntohl(nhdr.version); /* check for NETM */ if (nhdr.netm_key != NETM_KEY) { return(NULL); } /* check version */ if (nhdr.version == NETM_VERSION_OLD) netm_oldversion = 1; else if (nhdr.version == NETM_VERSION_NEW) netm_oldversion = 0; else { fprintf(stderr,"Bad NETM file header version: %d\n", nhdr.version); return(NULL); } if (debug) printf("NETM file version: %d\n", nhdr.version); /* ignore the header at the top */ if (fseek(SYS_STDIN,NETM_DUMP_OFFSET,SEEK_SET) == -1) { perror("NETM lseek"); exit(-1); } /* OK, it's mine. Init some stuff */ pep = MallocZ(sizeof(struct ether_header)); pip_buf = MallocZ(IP_MAXPACKET); return(pread_netm); } #endif /* GROK_NETM */ tcptrace-6.6.7/netscout.c0100644001217500001440000002037307756700114015073 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/netscout.c,v 5.8 2003/11/19 14:38:04 sdo Exp $"; /* * netscout.c - NetScout 5.5.1 Ascii file decode * * This file submitted by Al.Broscius@msdw.com * */ #include #include #include #ifdef GROK_NETSCOUT #ifdef linux #ifdef strncpy /* problem with macro won't let this file compile */ #undef strncpy #endif /* strncpy */ #endif /* linux */ /* Defining SYS_STDIN which is fp for Windows and stdin for all other systems */ #ifdef __WIN32 static FILE *fp; #define SYS_STDIN fp #else #define SYS_STDIN stdin #endif /* __WIN32 */ /* static buffers for reading */ static int *pep_buf; static int *pip_buf; /* file header format */ struct netscout_header { tt_int32 pagenum; char filename[255]; }; /* netm packet header format */ struct netscout_packet_header { tt_int32 FrameNum; tt_int32 Size; tt_int32 tstamp_secs; tt_int32 tstamp_msecs; tt_int32 tlen; tt_int32 len; }; /* currently only works for ETHERNET */ static int pread_netscout( struct timeval *ptime, int *plen, int *ptlen, void **pphys, int *pphystype, struct ip **ppip, void **pplast) { char * retval; char buffer_string[256]; char month[256]; int day, hour, minute, sec, msec; struct tm tmval; int byte0, byte1, byte2,byte3,byte4,byte5,byte6,byte7, byte8,byte9,byte10,byte11,byte12,byte13,byte14,byte15; int index; /* Look for Frame line to signal start of packet */ if((retval = fgets (buffer_string, 255, SYS_STDIN)) == NULL) { return 0; } while(strstr(buffer_string, "Frame") == NULL) { if((retval = fgets (buffer_string, 255, SYS_STDIN)) == NULL) { return 0; } } /* recover the size of the captured packet header */ sscanf(strlen("Size") + strstr(buffer_string, "Size"), "%d", ptlen); *plen = 62; *pplast = (char *) pip_buf+48; /* recover the timestamp */ sscanf(strlen("Time") + strstr(buffer_string, "Time"), "%s %d %d:%d:%d.%d", month, &day, &hour, &minute, &sec, &msec); tmval.tm_sec = sec; tmval.tm_min = minute; tmval.tm_hour = hour; tmval.tm_mday = day; tmval.tm_mon = (strlen(strstr("DecNovOctSepAugJulJunMayAprMarFebJan", month)) / 3) - 1; tmval.tm_year = 1999-1900; tmval.tm_isdst = -1; ptime->tv_sec = mktime(&tmval); ptime->tv_usec = msec * 1000; /* Claim that the packets came from an Ethernet */ *pphystype = PHYS_ETHER; /* Look for 00000: line to signal first row of packet data */ if((retval = fgets (buffer_string, 255, SYS_STDIN)) == NULL) { return 0; } while(strstr(buffer_string, "00000:") == NULL) { if((retval = fgets (buffer_string, 255, SYS_STDIN)) == NULL) { return 0; } } index = 0; sscanf(strstr(buffer_string,":") + 1, "%x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x", &byte0, &byte1, &byte2,&byte3,&byte4,&byte5,&byte6,&byte7, &byte8,&byte9,&byte10,&byte11,&byte12,&byte13,&byte14,&byte15); pep_buf[index++] =ntohl(byte0<<24|byte1<<16|byte2<<8|byte3); pep_buf[index++] =ntohl(byte4<<24|byte5<<16|byte6<<8|byte7); pep_buf[index++] =ntohl(byte8<<24|byte9<<16|byte10<<8|byte11); pep_buf[index++] =ntohl(byte12<<24|byte13<<16|byte14<<8|byte15); /* Look for 00016: line to signal first row of packet data */ if((retval = fgets (buffer_string, 255, SYS_STDIN)) == NULL) { return 0; } while(strstr(buffer_string, "00016:") == NULL) { if((retval = fgets (buffer_string, 255, SYS_STDIN)) == NULL) { return 0; } } sscanf(strstr(buffer_string,":") + 1, "%x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x", &byte0, &byte1, &byte2,&byte3,&byte4,&byte5,&byte6,&byte7, &byte8,&byte9,&byte10,&byte11,&byte12,&byte13,&byte14,&byte15); pep_buf[index++] =ntohl(byte0<<24|byte1<<16|byte2<<8|byte3); pep_buf[index++] =ntohl(byte4<<24|byte5<<16|byte6<<8|byte7); pep_buf[index++] =ntohl(byte8<<24|byte9<<16|byte10<<8|byte11); pep_buf[index++] =ntohl(byte12<<24|byte13<<16|byte14<<8|byte15); /* Look for 00032: line to signal first row of packet data */ if((retval = fgets (buffer_string, 255, SYS_STDIN)) == NULL) { return 0; } while(strstr(buffer_string, "00032:") == NULL) { if((retval = fgets (buffer_string, 255, SYS_STDIN)) == NULL) { return 0; } } sscanf(strstr(buffer_string,":") + 1, "%x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x", &byte0, &byte1, &byte2,&byte3,&byte4,&byte5,&byte6,&byte7, &byte8,&byte9,&byte10,&byte11,&byte12,&byte13,&byte14,&byte15); pep_buf[index++] =ntohl(byte0<<24|byte1<<16|byte2<<8|byte3); pep_buf[index++] =ntohl(byte4<<24|byte5<<16|byte6<<8|byte7); pep_buf[index++] =ntohl(byte8<<24|byte9<<16|byte10<<8|byte11); pep_buf[index++] =ntohl(byte12<<24|byte13<<16|byte14<<8|byte15); memcpy((char *) pip_buf, (char *) pep_buf + 14, 48); *ppip = (struct ip *) pip_buf; return 1; } /* is the input file a NetScout format file?? */ pread_f *is_netscout(char *filename) { struct netscout_header nhdr; char * retval; char buffer_string[256]; #ifdef __WIN32 if((fp = fopen(filename, "r")) == NULL) { perror(filename); exit(-1); } #endif /* __WIN32 */ /* read the netscout file header */ retval = fgets (buffer_string, 255, SYS_STDIN); if(strstr(buffer_string, "Page" ) != NULL) { retval = fgets (buffer_string, 255, SYS_STDIN); if(strstr(buffer_string, "Protocol Decode Output") != NULL) { fflush(stdout); retval = fgets (buffer_string, 255, SYS_STDIN); if(strstr(buffer_string, "Packets from the file:") != NULL) { strncpy((char *) &(nhdr.filename[0]), buffer_string, strlen("Packets from the file:")); } } } else { rewind(SYS_STDIN); return(NULL); } /* OK, it's mine. Init some stuff */ pep_buf = MallocZ(IP_MAXPACKET); pip_buf = MallocZ(IP_MAXPACKET); return(pread_netscout); } #endif /* GROK_NETSCOUT */ tcptrace-6.6.7/nlanr.c0100644001217500001440000001721007756700114014335 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/nlanr.c,v 1.7 2003/11/19 14:38:04 sdo Exp $"; /* * nlanr - TSH specific file reading stuff */ /* TSH header format: * 0 1 2 3 * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 0 | timestamp (seconds) | Time * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 1 | interface # | timestamp (microseconds) | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 2 |Version| IHL |Type of Service| Total Length | IP * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 3 | Identification |Flags| Fragment Offset | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 4 | Time to Live | Protocol | Header Checksum | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 5 | Source Address | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 6 | Destination Address | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 7 | Source Port | Destination Port | TCP * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 8 | Sequence Number | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 9 | Acknowledgment Number | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | Data | |U|A|P|R|S|F| | * 10 | Offset| Reserved |R|C|S|S|Y|I| Window | * | | |G|K|H|T|N|N| | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ */ #ifdef GROK_NLANR /* Defining SYS_STDIN which is fp for Windows and stdin for all other systems */ #ifdef __WIN32 static FILE *fp; #define SYS_STDIN fp #else #define SYS_STDIN stdin #endif /* __WIN32 */ /* information necessary to understand NLANL Tsh output */ #define TSH_DUMP_OFFSET 16 struct tsh_packet_header { unsigned int ts_secs; #ifdef _BIT_FIELDS_LTOH unsigned int interface_id:8; unsigned int ts_usecs:24; #else unsigned int ts_usecs:24; unsigned int interface_id:8; #endif }; struct tsh_frame { struct tsh_packet_header tph; struct ip ip_header; struct tcphdr tcp_header; /* just the first 16 bytes present */ }; /* static buffers for reading */ static struct ether_header *pep; /* return the next packet header */ /* currently only works for ETHERNET */ static int pread_nlanr( struct timeval *ptime, int *plen, int *ptlen, void **pphys, int *pphystype, struct ip **ppip, void **pplast) { int rlen; static struct tsh_frame hdr; int packlen = sizeof(struct ip) + sizeof(struct tcphdr); int hlen = 44; /* read the next frames */ if ((rlen=fread(&hdr,1,hlen,SYS_STDIN)) != hlen) { if (debug && (rlen != 0)) fprintf(stderr,"Bad tsh packet header (len:%d)\n", rlen); return(0); } /* grab the time */ ptime->tv_sec = hdr.tph.ts_secs; ptime->tv_usec = hdr.tph.ts_usecs; /* truncated length is just an IP header and a TCP header */ *ptlen = packlen; /* original length is from the IP header */ *plen = hdr.ip_header.ip_len; /* Here's the IP/TCP stuff */ *ppip = &hdr.ip_header; /* Here's the last byte of the packet */ *pplast = (char *)(*ppip)+packlen-1; /* here's the (pseudo) ethernet header */ *pphys = pep; *pphystype = PHYS_ETHER; return(1); } /* * is_nlanr() is the input file in tsh format?? */ pread_f *is_nlanr(char *filename) { struct tsh_frame tf; int rlen; #ifdef __WIN32 if((fp = fopen(filename, "r")) == NULL) { perror(filename); exit(-1); } #endif /* __WIN32 */ /* tsh is a little hard because there's no magic number */ /* read the tsh file header */ if ((rlen=fread(&tf,1,sizeof(tf),SYS_STDIN)) != sizeof(tf)) { /* not even a full frame */ rewind(SYS_STDIN); return(NULL); } rewind(SYS_STDIN); if (debug) { printf("nlanr tsh ts_secs: %d\n", tf.tph.ts_secs); printf("nlanr tsh ts_usecs: %d\n", tf.tph.ts_usecs); printf("nlanr tsh interface: %d\n", tf.tph.interface_id); printf("nlanr sizeof(tf): %d\n", sizeof(tf)); printf("nlanr sizeof(tph): %d\n", sizeof(tf.tph)); if (debug > 1) PrintRawDataHex("NLANR TSH header",&tf,(char *)&tf+39); } /* quick heuristics */ if (((tf.ip_header.ip_v != 4) && (tf.ip_header.ip_v != 6)) ) { return(NULL); } /* OK, let's hope it's a tsh file */ /* there's no physical header present, so make up one */ pep = MallocZ(sizeof(struct ether_header)); pep->ether_type = htons(ETHERTYPE_IP); if (debug) fprintf(stderr,"TSH format, interface ID %d\n", tf.tph.interface_id); return(pread_nlanr); } #endif /* GROK_NLANR */ tcptrace-6.6.7/ns.c0100644001217500001440000002752307756700114013653 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; /* * Kevin Lahey (kml@patheticgeek.net) */ static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/ns.c,v 1.18 2003/11/19 14:38:04 sdo Exp $"; /* * ns.c - ns specific file reading stuff */ #ifdef GROK_NS /* Defining SYS_STDIN which is fp for Windows and stdin for all other systems */ #ifdef __WIN32 static FILE *fp; #define SYS_STDIN fp #else #define SYS_STDIN stdin #endif /* __WIN32 */ /* static buffers for reading */ static struct ether_header *pep; static int *pip_buf; static struct ip *ipb; static struct tcphdr *tcpb; /* for debugging */ static unsigned linenum; /* return the next packet header */ /* currently only works for ETHERNET */ static int pread_ns( struct timeval *ptime, int *plen, int *ptlen, void **pphys, int *pphystype, struct ip **ppip, void **pplast) { static int packlen = 0; double c, d, e; while (1) { /* read the packet info */ char tt; double timestamp; int junk; char type[16]; char flags[16]; int iteration; int seq; int is_ack; int is_tcp; int rlen; char myline[128]; char *isend; ++linenum; isend = fgets(myline, 128, SYS_STDIN); if (isend == NULL) { // end of file return(0); } /* correct NS output line would have 14 fields: */ rlen = sscanf(myline, "%c %lg %d %d %s %d %s %d %d.%hu %d.%hu %d %hu", &tt, ×tamp, &junk, &junk, type, plen, flags, &iteration, &ipb->ip_src.s_addr, &tcpb->th_sport, &ipb->ip_dst.s_addr, &tcpb->th_dport, &seq, &ipb->ip_id); /* if we can't match all 14 fields, we give up on the file */ if (rlen != 14 && rlen != 18) { fprintf(stderr,"Bad NS packet header in line %u only [%d] arguments can be matched expected 14 or 18 \n", linenum, rlen); return(0); } // find out who put in this line of code, because I'd love // to know what their reasoning was //tcpb->th_sport = tcpb->th_dport = iteration; is_tcp = strcmp(type, "tcp") == 0; is_ack = strcmp(type, "ack") == 0; /* if it's not a TCP data segment or ACK, discard and try again */ if (!is_tcp && !is_ack) continue; if ((!ns_hdrs && is_tcp) || (ns_hdrs && packlen ==0)) *plen = *plen + sizeof(struct ip) + sizeof(struct tcphdr); if (packlen == 0 && is_tcp) packlen = *plen - sizeof(struct ip) - sizeof(struct tcphdr); if (ns_hdrs && is_tcp) packlen = *plen- sizeof(struct ip) - sizeof(struct tcphdr); if (is_ack) /* this is explicitly for SACK that creates packets > 40 Bytes*/ *plen = 40; ipb->ip_len = htons(*plen); if (is_tcp) { tcpb->th_seq = htonl(packlen * seq); tcpb->th_ack = 0; } else { tcpb->th_seq = 0; tcpb->th_ack = htonl(packlen * (seq + 1)); } /* make up a reasonable IPv4 packet header */ #ifdef __VMS ipb->ip_vhl = 0x0405; /* no options, normal length of 20 */ #else ipb->ip_hl = 5; /* no options, normal length of 20 */ ipb->ip_v = 4; /* IPv4 */ #endif ipb->ip_tos = 0; ipb->ip_off = 0; ipb->ip_ttl = 64; /* nice round number */ ipb->ip_p = 6; /* TCP */ ipb->ip_sum = 0; /* IP checksum, hope it doesn't get checked! */ ipb->ip_id = htons(ipb->ip_id); /* is the transport "ECN-Capable"? */ if (strchr(flags, 'N') != NULL) ipb->ip_tos |= IPTOS_ECT; /* was the "Experienced Congestion" bit set? */ if (strchr(flags, 'E') != NULL) ipb->ip_tos |= IPTOS_CE; /* make up a reasonable TCP segment header */ #ifdef __VMS tcpb->th_xoff = 0x50; /* no options, normal length of 20 */ #else tcpb->th_off = 5; /* no options, normal length of 20 */ tcpb->th_x2 = 0; #endif tcpb->th_flags = TH_ACK; /* sdo: what about first SYN?? */ tcpb->th_sum = 0; tcpb->th_urp = 0; tcpb->th_win = htons(65535); /* x2 *was* reserved, now used for ECN bits */ if (strchr(flags, 'C') != NULL) #ifdef __VMS tcpb->th_xoff |= TH_ECN_ECHO; #else tcpb->th_x2 |= TH_ECN_ECHO; #endif if (strchr(flags, 'A') != NULL) #ifdef __VMS tcpb->th_xoff |= TH_CWR; #else tcpb->th_x2 |= TH_CWR; #endif /* convert floating point timestamp to (tv_sec,tv_usec) */ c = floor(timestamp); ptime->tv_sec = c; d = timestamp - (double) ptime->tv_sec; e = d * 1000000.0; ptime->tv_usec = e; *ptlen = *plen; *ppip = (struct ip *) pip_buf; *pplast = (char *)pip_buf + *plen; *pphys = pep; *pphystype = PHYS_ETHER; /* printf("timestamp %g, type %s, plen %d, seq %d, id %d\n", timestamp, type, *plen, seq, ipb->ip_id); */ return(1); } } int pread_ns_fulltcp( struct timeval *ptime, int *plen, int *ptlen, void **pphys, int *pphystype, struct ip **ppip, void **pplast) { double c, d, e; while (1) { /* read the packet info */ char tt; double timestamp; int junk; unsigned short junkshort; char type[16]; char flags[16]; int iteration; int seqno; int ackno; int hdrlen; int is_ack; int is_tcp; int pflags; int rlen; char myline[128]; char *isend; ++linenum; isend = fgets(myline, 128, SYS_STDIN); if (isend == NULL) { // end of file return 0; } /* correct NS output line would have 14 fields if show_tcphdr_ is 0: */ /* For Full TCP this changes to 18 fields when show_tcp is 1*/ rlen = sscanf(myline, "%c %lg %d %d %s %d %s %d %d.%hu %d.%hu %d %hu %d 0x%x %u %hu", &tt, ×tamp, &junk, &junk, type, plen, flags, &iteration, &ipb->ip_src.s_addr, &tcpb->th_sport, &ipb->ip_dst.s_addr, &tcpb->th_dport, &seqno, &ipb->ip_id, &ackno, &pflags, &hdrlen, &junkshort); /* if we can't match all 18 fields, we give up on the file */ if (rlen != 18) { fprintf(stderr, "\"%s\"\n", myline); fprintf(stderr,"Bad NS packet header in line %u only [%d] arguments can be matched expected 14 or 18 \n", linenum, rlen); fprintf(stderr,"Is this a Full Tcp Header?\n"); return(0); } //tcpb->th_sport = tcpb->th_dport = iteration; is_tcp = strcmp(type, "tcp") == 0; is_ack = strcmp(type, "ack") == 0; /* if it's not a TCP data segment or ACK, discard and try again */ if (!is_tcp && !is_ack) continue; /* we have biger header than 40 Bytes (SACK?) */ if (hdrlen > sizeof(struct ip) + sizeof(struct tcphdr)){ *plen -= (hdrlen - (sizeof(struct ip) + sizeof(struct tcphdr))); } ipb->ip_len = htons(*plen); tcpb->th_seq = htonl(seqno); tcpb->th_ack = htonl(ackno); /* make up a reasonable IPv4 packet header */ ipb->ip_hl = 5; /* no options, normal length of 20 */ ipb->ip_v = 4; /* IPv4 */ ipb->ip_tos = 0; ipb->ip_off = 0; ipb->ip_ttl = 64; /* nice round number */ ipb->ip_p = 6; /* TCP */ ipb->ip_sum = 0; /* IP checksum, hope it doesn't get checked! */ ipb->ip_id = ipb->ip_id; /* is the transport "ECN-Capable"? */ if (strchr(flags, 'N') != NULL) ipb->ip_tos |= IPTOS_ECT; /* was the "Experienced Congestion" bit set? */ if (strchr(flags, 'E') != NULL) ipb->ip_tos |= IPTOS_CE; /* make up a reasonable TCP segment header */ tcpb->th_off = 5; /* no options, normal length of 20 */ tcpb->th_flags = pflags; /* sdo: what about first SYN?? */ tcpb->th_x2 = 0; tcpb->th_sum = 0; tcpb->th_urp = 0; tcpb->th_win = htons(65535); /* x2 *was* reserved, now used for ECN bits */ if (strchr(flags, 'C') != NULL) tcpb->th_x2 |= TH_ECN_ECHO; if (strchr(flags, 'A') != NULL) tcpb->th_x2 |= TH_CWR; /* convert floating point timestamp to (tv_sec,tv_usec) */ c = floor(timestamp); ptime->tv_sec = c; d = timestamp - (double) ptime->tv_sec; e = d * 1000000.0; ptime->tv_usec = e; *ptlen = *plen; *ppip = (struct ip *) pip_buf; *pplast = (char *)pip_buf + *plen; *pphys = pep; *pphystype = PHYS_ETHER; /* printf("timestamp %g, type %s, plen %d, seq %d, id %d, ack %d, 0x%x %d \n", timestamp, type, *plen, seqno, ipb->ip_id,ackno,pflags,hdrlen); */ return(1); } return(0); } /* * is_ns() is the input file in ns format?? */ pread_f *is_ns(char *filename) { int rlen; char tt; int junk; double junkd; char junks[20]; unsigned short junkshort; int hdrlen = 0; int pflags = 0; char myline[128]; // read into this line and then parse for values #ifdef __WIN32 if((fp = fopen(filename, "r")) == NULL) { perror(filename); exit(-1); } #endif /* __WIN32 */ fgets(myline, 128, SYS_STDIN); rlen = sscanf(myline, "%c %lg %d %d %s %d %s %d %d.%hu %d.%hu %d %hu %d 0x%x %u %hu", &tt, &junkd, &junk, &junk, (char *)&junks, &junk, (char *)&junks, &junk, &junk, &junkshort, &junk, &junkshort, &junk, &junkshort, &junk, &pflags, &hdrlen, &junkshort); if ((rlen = getc(SYS_STDIN)) == EOF) { return(NULL); } else { if (ungetc(rlen, SYS_STDIN) == EOF) return NULL; } switch (tt) { case '+': case '-': case 'h': case 'r': case 'd': break; default: return(NULL); } /* OK, it's mine. Init some stuff */ pep = MallocZ(sizeof(struct ether_header)); pip_buf = MallocZ(IP_MAXPACKET); ipb = (struct ip *) pip_buf; tcpb = (struct tcphdr *) (ipb + 1); /* Set up the stuff that shouldn't change */ pep->ether_type = ETHERTYPE_IP; /* init line count (we might be called several times, must be done here) */ linenum = 0; /* Lets check if it is FullTCP or not*/ if (hdrlen || pflags){ /*it is FullTCP */ /* printf("Full TCP \n"); */ rewind(SYS_STDIN); return(pread_ns_fulltcp); } else{ /*Regular TCP (with or without tcpheaders activated */ return(pread_ns); } } #endif /* GROK_NS */ tcptrace-6.6.7/output.c0100644001217500001440000010655507756700114014576 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/output.c,v 5.25 2003/11/19 14:38:04 sdo Exp $"; #include "gcache.h" /* local routines */ static double Average(double, int); static double Stdev(double, double, int); static void StatLineP(char *, char *, char *, void *, void *); static void StatLineI_L(char *, char *, u_long, u_long); #ifdef HAVE_LONG_LONG static void StatLineI_LL(char *, char *, u_llong, u_llong); static void StatLineFieldL(char *, char *, char *, u_llong, int); #endif /* HAVE_LONG_LONG */ static void StatLineF(char *, char *, char *, double, double); static void StatLineField(char *, char *, char *, u_long, int); static void StatLineFieldF(char *, char *, char *, double, int); static void StatLineOne(char *, char *, char *); static char *FormatBrief(tcp_pair *ptp); static char *UDPFormatBrief(udp_pair *pup); /* locally global variables*/ static u_int sv_print_count = 0; static u_int sv_expected_count = 0; /* global variables */ char *sp; /* Separator used for long output with -separated-values */ /* to support some of the counters being long long on some platforms, use this */ /* macro... */ #ifdef HAVE_LONG_LONG #define StatLineI(label,units,ul1,ul2) \ (sizeof((ul1)) == SIZEOF_UNSIGNED_LONG_LONG_INT)?\ StatLineI_LL((label),(units),(ul1),(ul2)):\ StatLineI_L ((label),(units),(ul1),(ul2)) #else /* HAVE_LONG_LONG */ #define StatLineI StatLineI_L #endif /* HAVE_LONG_LONG */ u_int SynCount( tcp_pair *ptp) { tcb *pab = &ptp->a2b; tcb *pba = &ptp->b2a; return(((pab->syn_count >= 1)?1:0) + ((pba->syn_count >= 1)?1:0)); } u_int FinCount( tcp_pair *ptp) { tcb *pab = &ptp->a2b; tcb *pba = &ptp->b2a; return(((pab->fin_count >= 1)?1:0) + ((pba->fin_count >= 1)?1:0)); } int ConnComplete( tcp_pair *ptp) { return(SynCount(ptp) >= 2 && FinCount(ptp) >= 2); } int ConnReset( tcp_pair *ptp) { return(ptp->a2b.reset_count + ptp->b2a.reset_count != 0); } static double Average( double sum, int count) { return((double) sum / ((double)count+.0001)); } static double Stdev( double sum, double sum2, int n) { double term; double term1; double term2; double retval; if (n<=2) return(0.0); term1 = sum2; term2 = (sum * sum) / (double)n; term = term1-term2; term /= (double)(n-1); retval = sqrt(term); /* printf("Stdev(%f,%f,%d) is %f\n", sum,sum2,n,retval); */ return(retval); } static char * FormatBrief( tcp_pair *ptp) { tcb *pab = &ptp->a2b; tcb *pba = &ptp->b2a; static char infobuf[100]; snprintf(infobuf,sizeof(infobuf),"%s - %s (%s2%s)", ptp->a_endpoint, ptp->b_endpoint, pab->host_letter, pba->host_letter); return(infobuf); } void PrintTrace( tcp_pair *ptp) { double etime; u_long etime_secs; u_long etime_usecs; double etime_data1; double etime_data2; tcb *pab = &ptp->a2b; tcb *pba = &ptp->b2a; char *host1 = pab->host_letter; char *host2 = pba->host_letter; char bufl[40],bufr[40]; /* counters to use for seq. space wrap around calculations */ u_llong stream_length_pab=0, stream_length_pba=0; u_long pab_last, pba_last; /* Reset the counter for each connection */ sv_print_count = 1; /* The first field (conn_#) gets printed in trace.c */ /* calculate elapsed time */ etime = elapsed(ptp->first_time,ptp->last_time); etime_secs = etime / 1000000.0; etime_usecs = 1000000 * (etime/1000000.0 - (double)etime_secs); /* Check if comma-separated-values or tab-separated-values * has been requested. */ if(csv || tsv || (sv != NULL)) { fprintf(stdout,"%s%s%s%s%s%s%s%s", ptp->a_hostname, sp, ptp->b_hostname, sp, ptp->a_portname, sp, ptp->b_portname, sp); sv_print_count += 4; /* Print the start and end times. In other words, * print the time of the first and the last packet */ fprintf(stdout,"%ld.%ld %s %ld.%ld %s", (long)ptp->first_time.tv_sec, (long)ptp->first_time.tv_usec, sp, (long)ptp->last_time.tv_sec, (long)ptp->last_time.tv_usec, sp); sv_print_count += 2; } else { fprintf(stdout,"\thost %-4s %s\n", (snprintf(bufl,sizeof(bufl),"%s:", host1),bufl), ptp->a_endpoint); fprintf(stdout,"\thost %-4s %s\n", (snprintf(bufl,sizeof(bufl),"%s:", host2),bufl), ptp->b_endpoint); fprintf(stdout,"\tcomplete conn: %s", ConnReset(ptp)?"RESET":( ConnComplete(ptp)?"yes":"no")); if (ConnComplete(ptp)) fprintf(stdout,"\n"); else fprintf(stdout,"\t(SYNs: %u) (FINs: %u)\n", SynCount(ptp), FinCount(ptp)); fprintf(stdout,"\tfirst packet: %s\n", ts2ascii(&ptp->first_time)); fprintf(stdout,"\tlast packet: %s\n", ts2ascii(&ptp->last_time)); fprintf(stdout,"\telapsed time: %s\n", elapsed2str(etime)); fprintf(stdout,"\ttotal packets: %" FS_ULL "\n", ptp->packets); fprintf(stdout,"\tfilename: %s\n", ptp->filename); fprintf(stdout," %s->%s: %s->%s:\n", host1,host2,host2,host1); } StatLineI("total packets","", pab->packets, pba->packets); if (pab->reset_count || pba->reset_count || csv || tsv || (sv != NULL)) StatLineI("resets sent","", pab->reset_count, pba->reset_count); StatLineI("ack pkts sent","", pab->ack_pkts, pba->ack_pkts); StatLineI("pure acks sent","", pab->pureack_pkts, pba->pureack_pkts); StatLineI("sack pkts sent","", pab->num_sacks, pba->num_sacks); StatLineI("dsack pkts sent","", pab->num_dsacks, pba->num_dsacks); StatLineI("max sack blks/ack","", pab->max_sack_blocks, pba->max_sack_blocks); StatLineI("unique bytes sent","", pab->unique_bytes, pba->unique_bytes); StatLineI("actual data pkts","", pab->data_pkts, pba->data_pkts); StatLineI("actual data bytes","", pab->data_bytes, pba->data_bytes); StatLineI("rexmt data pkts","", pab->rexmit_pkts, pba->rexmit_pkts); StatLineI("rexmt data bytes","", pab->rexmit_bytes, pba->rexmit_bytes); StatLineI("zwnd probe pkts","", pab->num_zwnd_probes, pba->num_zwnd_probes); StatLineI("zwnd probe bytes","", pab->zwnd_probe_bytes, pba->zwnd_probe_bytes); StatLineI("outoforder pkts","", pab->out_order_pkts, pba->out_order_pkts); StatLineI("pushed data pkts","", pab->data_pkts_push, pba->data_pkts_push); StatLineP("SYN/FIN pkts sent","","%s", (snprintf(bufl,sizeof(bufl),"%d/%d", pab->syn_count, pab->fin_count),bufl), (snprintf(bufr,sizeof(bufr),"%d/%d", pba->syn_count, pba->fin_count),bufr)); if (pab->f1323_ws || pba->f1323_ws || pab->f1323_ts || pba->f1323_ts || csv || tsv || (sv != NULL)) { StatLineP("req 1323 ws/ts","","%s", (snprintf(bufl,sizeof(bufl),"%c/%c", pab->f1323_ws?'Y':'N',pab->f1323_ts?'Y':'N'),bufl), (snprintf(bufr,sizeof(bufr),"%c/%c", pba->f1323_ws?'Y':'N',pba->f1323_ts?'Y':'N'),bufr)); } if (pab->f1323_ws || pba->f1323_ws || csv || tsv || (sv != NULL)) { StatLineI("adv wind scale","", (u_long)pab->window_scale, (u_long)pba->window_scale); } if (pab->fsack_req || pba->fsack_req || csv || tsv || (sv != NULL)) { StatLineP("req sack","","%s", pab->fsack_req?"Y":"N", pba->fsack_req?"Y":"N"); StatLineI("sacks sent","", pab->sacks_sent, pba->sacks_sent); } StatLineI("urgent data pkts", "pkts", pab->urg_data_pkts, pba->urg_data_pkts); StatLineI("urgent data bytes", "bytes", pab->urg_data_bytes, pba->urg_data_bytes); StatLineI("mss requested","bytes", pab->mss, pba->mss); StatLineI("max segm size","bytes", pab->max_seg_size, pba->max_seg_size); StatLineI("min segm size","bytes", pab->min_seg_size, pba->min_seg_size); StatLineI("avg segm size","bytes", (int)((double)pab->data_bytes / ((double)pab->data_pkts+.001)), (int)((double)pba->data_bytes / ((double)pba->data_pkts+.001))); StatLineI("max win adv","bytes", pab->win_max, pba->win_max); StatLineI("min win adv","bytes", pab->win_min, pba->win_min); StatLineI("zero win adv","times", pab->win_zero_ct, pba->win_zero_ct); // Average window advertisement is calculated only for window scaled pkts // if we have seen this connection using window scaling. // Otherwise, it is just the regular way of dividing the sum of // all window advertisements by the total number of packets. if (pab->window_stats_updated_for_scaling && pba->window_stats_updated_for_scaling) StatLineI("avg win adv","bytes", pab->win_scaled_pkts==0?0: (pab->win_tot/pab->win_scaled_pkts), pba->win_scaled_pkts==0?0: (pba->win_tot/pba->win_scaled_pkts)); else StatLineI("avg win adv","bytes", pab->packets==0?0:pab->win_tot/pab->packets, pba->packets==0?0:pba->win_tot/pba->packets); if (print_owin) { StatLineI("max owin","bytes", pab->owin_max, pba->owin_max); StatLineI("min non-zero owin","bytes", pab->owin_min, pba->owin_min); StatLineI("avg owin","bytes", pab->owin_count==0?0:pab->owin_tot/pab->owin_count, pba->owin_count==0?0:pba->owin_tot/pba->owin_count); if (etime == 0.0) { StatLineP("wavg owin", "", "%s", "NA", "NA"); } else { StatLineI("wavg owin","bytes", (u_llong)(pab->owin_wavg/((double)etime/1000000)), (u_llong)(pba->owin_wavg/((double)etime/1000000))); } } StatLineI("initial window","bytes", pab->initialwin_bytes, pba->initialwin_bytes); StatLineI("initial window","pkts", pab->initialwin_segs, pba->initialwin_segs); /* compare to theoretical length of the stream (not just what we saw) using the SYN and FIN * Seq. Space wrap around calculations: * Calculate stream length using last_seq_num seen, first_seq_num * seen and wrap_count. * first_seq_num = syn * If reset_set, last_seq_num = latest_seq * else last_seq_num = fin */ pab_last = (pab->reset_count>0)?pab->latest_seq:pab->fin; pba_last = (pba->reset_count>0)?pba->latest_seq:pba->fin; /* calculating stream length for direction pab */ if ((pab->syn_count > 0) && (pab->fin_count > 0)) { if (pab->seq_wrap_count > 0) { if (pab_last > pab->syn) { stream_length_pab = pab_last + (MAX_32 * pab->seq_wrap_count) - pab->syn - 1; } else { stream_length_pab = pab_last + (MAX_32 * (pab->seq_wrap_count+1)) - pab->syn - 1; } } else { if (pab_last > pab->syn) { stream_length_pab = pab_last - pab->syn - 1; } else { stream_length_pab = MAX_32 + pab_last - pab->syn - 1; } } } /* calculating stream length for direction pba */ if ((pba->syn_count > 0) && (pba->fin_count > 0)) { if (pba->seq_wrap_count > 0) { if (pba_last > pba->syn) { stream_length_pba = pba_last + (MAX_32 * pba->seq_wrap_count) - pba->syn - 1; } else { stream_length_pba = pba_last + (MAX_32 * (pba->seq_wrap_count+1)) - pba->syn - 1; } } else { if (pba_last > pba->syn) { stream_length_pba = pba_last - pba->syn - 1; } else { stream_length_pba = MAX_32 + pba_last - pba->syn - 1; } } } /* print out values */ if ((pab->fin_count > 0) && (pab->syn_count > 0)) { char *format = "%8" FS_ULL; StatLineFieldL("ttl stream length", "bytes", format, stream_length_pab, 0); } else { StatLineField("ttl stream length", "", "%s", (u_long)"NA", 0); } if ((pba->fin_count > 0) && (pba->syn_count > 0)) { char *format = "%8" FS_ULL; StatLineFieldL("ttl stream length", "bytes", format, stream_length_pba, 1); } else { StatLineField("ttl stream length", "", "%s", (u_long)"NA", 1); } if ((pab->fin_count > 0) && (pab->syn_count > 0)) { char *format = "%8" FS_ULL; StatLineFieldL("missed data", "bytes", format, (stream_length_pab - pab->unique_bytes), 0); } else { StatLineField("missed data", "", "%s", (u_long)"NA", 0); } if ((pba->fin_count > 0) && (pba->syn_count > 0)) { char *format = "%8" FS_ULL; StatLineFieldL("missed data", "bytes", format, (stream_length_pba - pba->unique_bytes), 1); } else { StatLineField("missed data", "", "%s", (u_long)"NA", 1); } /* tell how much data was NOT captured in the files */ StatLineI("truncated data","bytes", pab->trunc_bytes, pba->trunc_bytes); StatLineI("truncated packets","pkts", pab->trunc_segs, pba->trunc_segs); /* stats on just the data */ etime_data1 = elapsed(pab->first_data_time, pab->last_data_time); /* in usecs */ etime_data2 = elapsed(pba->first_data_time, pba->last_data_time); /* in usecs */ /* fix from Rob Austein */ StatLineF("data xmit time","secs","%7.3f", etime_data1 / 1000000.0, etime_data2 / 1000000.0); StatLineP("idletime max","ms","%s", ZERO_TIME(&pab->last_time)?"NA": (snprintf(bufl,sizeof(bufl),"%8.1f",(double)pab->idle_max/1000.0),bufl), ZERO_TIME(&pba->last_time)?"NA": (snprintf(bufr,sizeof(bufr),"%8.1f",(double)pba->idle_max/1000.0),bufr)); if ((pab->num_hardware_dups != 0) || (pba->num_hardware_dups != 0) || csv || tsv || (sv != NULL)) { StatLineI("hardware dups","segs", pab->num_hardware_dups, pba->num_hardware_dups); if(!(csv || tsv || (sv != NULL))) fprintf(stdout, " ** WARNING: presence of hardware duplicates makes these figures suspect!\n"); } /* do the throughput calcs */ etime /= 1000000.0; /* convert to seconds */ if (etime == 0.0) StatLineP("throughput","","%s","NA","NA"); else StatLineF("throughput","Bps","%8.0f", (double) (pab->unique_bytes) / etime, (double) (pba->unique_bytes) / etime); if (print_rtt) { if(!(csv || tsv || (sv != NULL))) fprintf(stdout,"\n"); StatLineI("RTT samples","", pab->rtt_count, pba->rtt_count); StatLineF("RTT min","ms","%8.1f", (double)pab->rtt_min/1000.0, (double)pba->rtt_min/1000.0); StatLineF("RTT max","ms","%8.1f", (double)pab->rtt_max/1000.0, (double)pba->rtt_max/1000.0); StatLineF("RTT avg","ms","%8.1f", Average(pab->rtt_sum, pab->rtt_count) / 1000.0, Average(pba->rtt_sum, pba->rtt_count) / 1000.0); StatLineF("RTT stdev","ms","%8.1f", Stdev(pab->rtt_sum, pab->rtt_sum2, pab->rtt_count) / 1000.0, Stdev(pba->rtt_sum, pba->rtt_sum2, pba->rtt_count) / 1000.0); if(!(csv || tsv || (sv != NULL))) fprintf(stdout,"\n"); StatLineF("RTT from 3WHS","ms","%8.1f", (double)pab->rtt_3WHS/1000.0, (double)pba->rtt_3WHS/1000.0); if(!(csv || tsv || (sv != NULL))) fprintf(stdout,"\n"); StatLineI("RTT full_sz smpls","", pab->rtt_full_count, pba->rtt_full_count); StatLineF("RTT full_sz min","ms","%8.1f", (double)pab->rtt_full_min/1000.0, (double)pba->rtt_full_min/1000.0); StatLineF("RTT full_sz max","ms","%8.1f", (double)pab->rtt_full_max/1000.0, (double)pba->rtt_full_max/1000.0); StatLineF("RTT full_sz avg","ms","%8.1f", Average(pab->rtt_full_sum, pab->rtt_full_count) / 1000.0, Average(pba->rtt_full_sum, pba->rtt_full_count) / 1000.0); StatLineF("RTT full_sz stdev","ms","%8.1f", Stdev(pab->rtt_full_sum, pab->rtt_full_sum2, pab->rtt_full_count) / 1000.0, Stdev(pba->rtt_full_sum, pba->rtt_full_sum2, pba->rtt_full_count) / 1000.0); if(!(csv || tsv || (sv != NULL))) fprintf(stdout,"\n"); StatLineI("post-loss acks","", pab->rtt_nosample, pba->rtt_nosample); if (pab->rtt_amback || pba->rtt_amback || csv || tsv || (sv != NULL)) { if(!(csv || tsv || (sv != NULL))) fprintf(stdout, "\ \t For the following 5 RTT statistics, only ACKs for\n\ \t multiply-transmitted segments (ambiguous ACKs) were\n\ \t considered. Times are taken from the last instance\n\ \t of a segment.\n\ "); StatLineI("ambiguous acks","", pab->rtt_amback, pba->rtt_amback); StatLineF("RTT min (last)","ms","%8.1f", (double)pab->rtt_min_last/1000.0, (double)pba->rtt_min_last/1000.0); StatLineF("RTT max (last)","ms","%8.1f", (double)pab->rtt_max_last/1000.0, (double)pba->rtt_max_last/1000.0); StatLineF("RTT avg (last)","ms","%8.1f", Average(pab->rtt_sum_last, pab->rtt_count_last) / 1000.0, Average(pba->rtt_sum_last, pba->rtt_count_last) / 1000.0); StatLineF("RTT sdv (last)","ms","%8.1f", Stdev(pab->rtt_sum_last, pab->rtt_sum2_last, pab->rtt_count_last) / 1000.0, Stdev(pba->rtt_sum_last, pba->rtt_sum2_last, pba->rtt_count_last) / 1000.0); } StatLineI("segs cum acked","", pab->rtt_cumack, pba->rtt_cumack); StatLineI("duplicate acks","", pab->rtt_dupack, pba->rtt_dupack); StatLineI("triple dupacks","", pab->rtt_triple_dupack, pba->rtt_triple_dupack); if (debug) StatLineI("unknown acks:","", pab->rtt_unkack, pba->rtt_unkack); StatLineI("max # retrans","", pab->retr_max, pba->retr_max); StatLineF("min retr time","ms","%8.1f", (double)((double)pab->retr_min_tm/1000.0), (double)((double)pba->retr_min_tm/1000.0)); StatLineF("max retr time","ms","%8.1f", (double)((double)pab->retr_max_tm/1000.0), (double)((double)pba->retr_max_tm/1000.0)); StatLineF("avg retr time","ms","%8.1f", Average(pab->retr_tm_sum, pab->retr_tm_count) / 1000.0, Average(pba->retr_tm_sum, pba->retr_tm_count) / 1000.0); StatLineF("sdv retr time","ms","%8.1f", Stdev(pab->retr_tm_sum, pab->retr_tm_sum2, pab->retr_tm_count) / 1000.0, Stdev(pba->retr_tm_sum, pba->retr_tm_sum2, pba->retr_tm_count) / 1000.0); } if(csv || tsv || (sv != NULL)) { printf("\n"); /* Error checking: print an error message if the count of printed fields * doesn't correspond to the actual fields expected. */ if(sv_print_count != sv_expected_count) { fprintf(stderr, "output.c: Count of printed fields does not correspond to count of header fields for long output with comma/tab/-separated values.\n"); fprintf(stderr,"sv_print_count=%u, sv_expected_count=%u\n", sv_print_count, sv_expected_count); exit(-1); } } } void PrintBrief( tcp_pair *ptp) { tcb *pab = &ptp->a2b; tcb *pba = &ptp->b2a; static int max_width = -1; /* determine the maximum connection name width to make it nice */ if (max_width == -1) { int ix; int len; tcp_pair *tmp_ptp; for (ix = 0; ix <= num_tcp_pairs; ++ix) { tmp_ptp = ttp[ix]; if (tmp_ptp->ignore_pair) continue; len = strlen(FormatBrief(tmp_ptp)); if (len > max_width) max_width = len; } if (debug > 2) fprintf(stderr,"Max name width: %d\n", max_width); } if (TRUE) { /* new version */ fprintf(stdout,"%*s", -max_width, FormatBrief(ptp)); fprintf(stdout," %4" FS_ULL ">", pab->packets); fprintf(stdout," %4" FS_ULL "<", pba->packets); } else { /* old version */ fprintf(stdout,"%s <==> %s", ptp->a_endpoint, ptp->b_endpoint); fprintf(stdout," %s2%s:%"FS_ULL, pab->host_letter, pba->host_letter, pab->packets); fprintf(stdout," %s2%s:%"FS_ULL, pba->host_letter, pab->host_letter, pba->packets); } if (ConnComplete(ptp)) fprintf(stdout," (complete)"); if (ConnReset(ptp)) fprintf(stdout," (reset)"); if ((ptp->a2b.packets == 0) || (ptp->b2a.packets == 0)) fprintf(stdout," (unidirectional)"); fprintf(stdout,"\n"); /* warning for hardware duplicates */ if (pab->num_hardware_dups != 0) { fprintf(stdout, " ** Warning, %s2%s: detected %lu hardware duplicate(s) (same seq # and IP ID)\n", pab->host_letter, pba->host_letter, pab->num_hardware_dups); } if (pba->num_hardware_dups != 0) { fprintf(stdout, " ** Warning, %s2%s: detected %lu hardware duplicate(s) (same seq # and IP ID)\n", pba->host_letter, pab->host_letter, pba->num_hardware_dups); } } void UDPPrintTrace( udp_pair *pup) { double etime; u_long etime_secs; u_long etime_usecs; ucb *pab = &pup->a2b; ucb *pba = &pup->b2a; char *host1 = pab->host_letter; char *host2 = pba->host_letter; char bufl[40]; fprintf(stdout,"\thost %-4s %s\n", (snprintf(bufl,sizeof(bufl),"%s:", host1),bufl), pup->a_endpoint); fprintf(stdout,"\thost %-4s %s\n", (snprintf(bufl,sizeof(bufl),"%s:", host2),bufl), pup->b_endpoint); fprintf(stdout,"\n"); fprintf(stdout,"\tfirst packet: %s\n", ts2ascii(&pup->first_time)); fprintf(stdout,"\tlast packet: %s\n", ts2ascii(&pup->last_time)); etime = elapsed(pup->first_time,pup->last_time); etime_secs = etime / 1000000.0; etime_usecs = 1000000 * (etime/1000000.0 - (double)etime_secs); fprintf(stdout,"\telapsed time: %s\n", elapsed2str(etime)); fprintf(stdout,"\ttotal packets: %" FS_ULL "\n", pup->packets); fprintf(stdout,"\tfilename: %s\n", pup->filename); fprintf(stdout," %s->%s: %s->%s:\n", host1,host2,host2,host1); StatLineI("total packets","", pab->packets, pba->packets); StatLineI("data bytes sent","", pab->data_bytes, pba->data_bytes); /* do the throughput calcs */ etime /= 1000000.0; /* convert to seconds */ if (etime == 0.0) StatLineP("throughput","","%s","NA","NA"); else StatLineF("throughput","Bps","%8.0f", (double) (pab->data_bytes) / etime, (double) (pba->data_bytes) / etime); } /* with pointer args */ static void StatLineP( char *label, char *units, char *format, void *argleft, void *argright) { StatLineField(label,units,format,(u_long)argleft,0); StatLineField(label,units,format,(u_long)argright,1); } /* with u_long args */ static void StatLineI_L( char *label, char *units, u_long argleft, u_long argright) { char *format = "%8lu"; StatLineField(label,units,format,argleft,0); StatLineField(label,units,format,argright,1); } #ifdef HAVE_LONG_LONG /* with u_llong (long long) args, if supported */ static void StatLineI_LL( char *label, char *units, u_llong argleft, u_llong argright) { char *format = "%8" FS_ULL; StatLineFieldL(label,units,format,argleft,0); StatLineFieldL(label,units,format,argright,1); } static void StatLineFieldL( char *label, char *units, char *format, u_llong arg, int f_rightside) { /* bug fix: Theo Snelleman */ /* "The biggest number possible is 18446744073709551615 (20 digits) and is too big for valbuf[20] ('\0' is the 21th character)." */ /* it was originally an array of [20] */ char valbuf[21]; /* determine the value to print */ snprintf(valbuf,sizeof(valbuf),format,arg); /* print the field */ if(!(csv || tsv || (sv != NULL))) printf(" "); StatLineOne(label, units, valbuf); if (f_rightside && !(csv || tsv || (sv != NULL))) printf("\n"); } #endif /* HAVE_LONG_LONG */ static void StatLineF( char *label, char *units, char *format, double argleft, double argright) { StatLineFieldF(label,units,format,argleft,0); StatLineFieldF(label,units,format,argright,1); } static void StatLineField( char *label, char *units, char *format, u_long arg, int f_rightside) { char valbuf[20]; /* determine the value to print */ snprintf(valbuf,sizeof(valbuf),format,arg); /* print the field */ if(!(csv || tsv || (sv != NULL))) printf(" "); StatLineOne(label, units, valbuf); if (f_rightside && !(csv || tsv || (sv != NULL))) printf("\n"); } static void StatLineFieldF( char *label, char *units, char *format, double arg, int f_rightside) { int printable; char valbuf[20]; /* see if the float argument is printable */ printable = finite(arg); /* determine the value to print */ if (printable) snprintf(valbuf,sizeof(valbuf),format,arg); /* print the field */ if(!(csv || tsv || (sv != NULL))) printf(" "); if (printable) StatLineOne(label, units, valbuf); else StatLineOne(label, "", "NA"); if (f_rightside && !(csv || tsv || (sv != NULL))) printf("\n"); } static void StatLineOne( char *label, char *units, char *value) { char labbuf[20]; /* format the label */ snprintf(labbuf,sizeof(labbuf), "%s:", label); /* print the field */ if(csv || tsv || (sv != NULL)) { printf("%15s%s", value, sp); /* Count the fields printed until this point. Used as a guard with the * -separated-values option to ensure correct alignment of headers * and field values. */ sv_print_count++; } else printf("%-18s %9s %-5s", labbuf, value, units); } char * elapsed2str( double etime) { static char buf[80]; u_long etime_secs; u_long etime_usecs; etime_secs = etime / 1000000.0; etime_usecs = 1000000 * (etime/1000000.0 - (double)etime_secs); snprintf(buf,sizeof(buf),"%lu:%02lu:%02lu.%06lu", etime_secs / (60 * 60), etime_secs % (60 * 60) / 60, (etime_secs % (60 * 60)) % 60, etime_usecs); return(buf); } void UDPPrintBrief( udp_pair *pup) { ucb *pab = &pup->a2b; ucb *pba = &pup->b2a; static int max_width = -1; /* determine the maximum connection name width to make it nice */ if (max_width == -1) { int ix; int len; udp_pair *tmp_pup; for (ix = 0; ix <= num_udp_pairs; ++ix) { tmp_pup = utp[ix]; len = strlen(UDPFormatBrief(tmp_pup)); if (len > max_width) max_width = len; } if (debug > 2) fprintf(stderr,"Max name width: %d\n", max_width); } /* new version */ fprintf(stdout,"%*s", -max_width, UDPFormatBrief(pup)); fprintf(stdout," %4" FS_ULL ">", pab->packets); fprintf(stdout," %4" FS_ULL "<", pba->packets); fprintf(stdout,"\n"); } static char * UDPFormatBrief( udp_pair *pup) { ucb *pab = &pup->a2b; ucb *pba = &pup->b2a; static char infobuf[100]; snprintf(infobuf,sizeof(infobuf),"%s - %s (%s2%s)", pup->a_endpoint, pup->b_endpoint, pab->host_letter, pba->host_letter); return(infobuf); } /* Print the header if comma-separated-values or tab-separated-values * has been requested. */ void PrintSVHeader( void) { /* NOTE: If you have added new fields of output to be printed in * PrintTrace(), make sure you update the header-list here too, so that the * new field you have added also has a header in the --csv/--tsv/--sv * output. */ /* Headers for long output requested with comma/tab/-separated- values * Split up into two headers, since the OWIN stats printed when the * -lW option is given, generates fields of output that get printed in the * middle of the output generated with just the -l option. */ char *svHeader1[] = { "conn_#" , "host_a" , "host_b", "port_a" , "port_b", "first_packet" , "last_packet", "total_packets_a2b" , "total_packets_b2a", "resets_sent_a2b" , "resets_sent_b2a", "ack_pkts_sent_a2b" , "ack_pkts_sent_b2a", "pure_acks_sent_a2b" , "pure_acks_sent_b2a", "sack_pkts_sent_a2b" , "sack_pkts_sent_b2a", "dsack_pkts_sent_a2b" , "dsack_pkts_sent_b2a", "max_sack_blks/ack_a2b" , "max_sack_blks/ack_b2a", "unique_bytes_sent_a2b" , "unique_bytes_sent_b2a", "actual_data_pkts_a2b" , "actual_data_pkts_b2a", "actual_data_bytes_a2b" , "actual_data_bytes_b2a", "rexmt_data_pkts_a2b" , "rexmt_data_pkts_b2a", "rexmt_data_bytes_a2b" , "rexmt_data_bytes_b2a", "zwnd_probe_pkts_a2b" , "zwnd_probe_pkts_b2a", "zwnd_probe_bytes_a2b" , "zwnd_probe_bytes_b2a", "outoforder_pkts_a2b" , "outoforder_pkts_b2a", "pushed_data_pkts_a2b" , "pushed_data_pkts_b2a", "SYN/FIN_pkts_sent_a2b" , "SYN/FIN_pkts_sent_b2a", "req_1323_ws/ts_a2b" , "req_1323_ws/ts_b2a", "adv_wind_scale_a2b" , "adv_wind_scale_b2a", "req_sack_a2b" , "req_sack_b2a", "sacks_sent_a2b" , "sacks_sent_b2a", "urgent_data_pkts_a2b" , "urgent_data_pkts_b2a", "urgent_data_bytes_a2b" , "urgent_data_bytes_b2a", "mss_requested_a2b" , "mss_requested_b2a", "max_segm_size_a2b" , "max_segm_size_b2a", "min_segm_size_a2b" , "min_segm_size_b2a", "avg_segm_size_a2b" , "avg_segm_size_b2a", "max_win_adv_a2b" , "max_win_adv_b2a", "min_win_adv_a2b" , "min_win_adv_b2a", "zero_win_adv_a2b" , "zero_win_adv_b2a", "avg_win_adv_a2b" , "avg_win_adv_b2a" }; #define SV_HEADER1_COLUMN_COUNT (sizeof(svHeader1)/sizeof(char*)) char *svHeader2[] = { "initial_window_bytes_a2b" , "initial_window_bytes_b2a", "initial_window_pkts_a2b" , "initial_window_pkts_b2a", "ttl_stream_length_a2b" , "ttl_stream_length_b2a", "missed_data_a2b" , "missed_data_b2a", "truncated_data_a2b" , "truncated_data_b2a", "truncated_packets_a2b" , "truncated_packets_b2a", "data_xmit_time_a2b" , "data_xmit_time_b2a", "idletime_max_a2b" , "idletime_max_b2a", "hardware_dups_a2b" , "hardware_dups_b2a", "throughput_a2b" , "throughput_b2a" }; #define SV_HEADER2_COLUMN_COUNT (sizeof(svHeader2)/sizeof(char*)) /* Headers to be printed if the OWIN stats are requested. */ char *svOWINHeader[] = { "max_owin_a2b" , "max_owin_b2a", "min_non-zero_owin_a2b" , "min_non-zero_owin_b2a", "avg_owin_a2b" , "avg_owin_b2a", "wavg_owin_a2b" , "wavg_owin_b2a" }; #define SV_OWIN_HEADER_COLUMN_COUNT (sizeof(svOWINHeader)/sizeof(char*)) /* Headers for RTT, to be printed for long output requested with * comma/tab/-separated- values. */ char *svRTTHeader[] = { "RTT_samples_a2b" , "RTT_samples_b2a", "RTT_min_a2b" , "RTT_min_b2a", "RTT_max_a2b" , "RTT_max_b2a", "RTT_avg_a2b" , "RTT_avg_b2a", "RTT_stdev_a2b" , "RTT_stdev_b2a", "RTT_from_3WHS_a2b" , "RTT_from_3WHS_b2a", "RTT_full_sz_smpls_a2b" , "RTT_full_sz_smpls_b2a", "RTT_full_sz_min_a2b" , "RTT_full_sz_min_b2a", "RTT_full_sz_max_a2b" , "RTT_full_sz_max_b2a", "RTT_full_sz_avg_a2b" , "RTT_full_sz_avg_b2a", "RTT full_sz_stdev_a2b" , "RTT_full_sz_stdev_b2a", "post-loss_acks_a2b" , "post-loss_acks_b2a", "ambiguous_acks_a2b" , "ambiguous_acks_b2a", "RTT_min_(last)_a2b" , "RTT_min_(last)_b2a", "RTT_max_(last)_a2b" , "RTT_max_(last)_b2a", "RTT_avg_(last)_a2b" , "RTT_avg_(last)_b2a", "RTT_sdv_(last)_a2b" , "RTT_sdv_(last)_b2a", "segs_cum_acked_a2b" , "segs_cum_acked_b2a", "duplicate_acks_a2b" , "duplicate_acks_b2a", "triple_dupacks_a2b" , "triple_dupacks_b2a", "max_#_retrans_a2b" , "max_#_retrans_b2a", "min_retr_time_a2b" , "min_retr_time_b2a", "max_retr_time_a2b" , "max_retr_time_b2a", "avg_retr_time_a2b" , "avg_retr_time_b2a", "sdv_retr_time_a2b" , "sdv_retr_time_b2a" }; #define SV_RTT_HEADER_COLUMN_COUNT (sizeof(svRTTHeader)/sizeof(char*)) /* Local Variables */ u_int i = 0; /* Counter */ /* Set the separator */ if(csv || tsv) { /* Initialize the separator buffer */ sp = (char *)malloc(sizeof(char *) * 2); memset(sp, 0, sizeof(sp)); /* Set it */ if(csv) snprintf(sp, sizeof(sp), ","); else if(tsv) snprintf(sp, sizeof(sp), "\t"); } else if (sv != NULL) { /* Look for escape sequence and remove the extra '\', * the shell puts it in there. * We will do this only for the escape sequence '\t' since that is * the only useful one, else the user probably meant something * else and things get messy. */ if(strncmp(sv, "\\t", 2) == 0) { /* Initialize the separator buffer and set it */ sp = (char *)malloc(sizeof(char *) * 2); memset(sp, 0, sizeof(sp)); snprintf(sp, sizeof(sp), "\t"); } else /* Just use the string the user has provided */ sp = strdup(sv); } /* Print the column headings (the field names) */ for (i=0; i3) { fprintf(stderr,"SV_HEADER_COUNT : -l alone = %d\n", \ (int)(SV_HEADER1_COLUMN_COUNT + SV_HEADER2_COLUMN_COUNT)); fprintf(stderr," : -W alone = %d\n", \ (int)SV_OWIN_HEADER_COLUMN_COUNT); fprintf(stderr," : -r alone = %d\n", \ (int)SV_RTT_HEADER_COLUMN_COUNT); fprintf(stderr,"sv_expected_count=%u\n",sv_expected_count); } } tcptrace-6.6.7/plotter.c0100644001217500001440000004717307756700114014727 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/plotter.c,v 5.18 2003/11/19 14:38:04 sdo Exp $"; /* info that I keep about each plotter */ struct plotter_info { MFILE *fplot; /* the file that hold the plot */ tcb *p2plast; /* the TCB that this goes with (if any) */ timeval zerotime; /* first time stamp in this plot (see -z) */ char *filename; /* redundant copy of name for debugging */ Bool header_done; /* Flag indicating plotter header written to file */ Bool axis_switched; /* Switch x & y axis types. * (Needed for Time Line Charts, * Default = FALSE) */ char *title; /* Plotter title */ char *xlabel; /* Plotter x-axis label */ char *ylabel; /* Plotter y-axis label */ }; /* locally global parameters */ static int max_plotters; static PLOTTER plotter_ix = NO_PLOTTER; static char *temp_color = NULL; static struct plotter_info *pplotters; /* local routine declarations */ static char *xp_timestamp(PLOTTER pl, struct timeval time); static char *TSGPlotName(tcb *plast, PLOTTER, char *suffix); static void DoPlot(PLOTTER pl, char *fmt, ...); static void WritePlotHeader(PLOTTER pl); static void CallDoPlot(PLOTTER pl, char *plot_cmd, int plot_argc, ...); /* * Return a string suitable for use as a timestamp in the xplot output. * sdo fix: originally, we were just plotting to the accuracy of 1/10 ms * this was mostly to help keep the .xpl files from being too large. However, * on faster networks this just isn't enough, so we'll now use all 6 digits * of the microsecond counter. Note that there's no guarantee that the * timestamps are really all that accurate! */ static char * xp_timestamp( PLOTTER pl, struct timeval time) { static char bufs[4][20]; /* several of them for multiple calls in one printf */ static int bufix = 0; unsigned secs; unsigned usecs; unsigned decimal; char *pbuf; struct plotter_info *ppi; ppi = &pplotters[pl]; /* see if we're graphing from "0" OR if the axis type is switched */ if (graph_time_zero || ppi->axis_switched) { if (ZERO_TIME(&ppi->zerotime)) { /* set "zero point" */ ppi->zerotime = time; } /* (in)sanity check */ if (tv_lt(time,ppi->zerotime)) { fprintf(stderr,"Internal error in plotting (plot file '%s')...\n\ ZERO-based X-axis plotting requested and elements are not plotted in\n\ increasing time order. Try without the '-z' flag\n", ppi->filename); /* exit(-5); */ time.tv_sec = time.tv_usec = 0; } else { /* computer offset from first plotter point */ tv_sub(&time, ppi->zerotime); } } /* calculate time components */ secs = time.tv_sec; usecs = time.tv_usec; decimal = usecs; /* use one of 4 rotating static buffers (for multiple calls per printf) */ bufix = (bufix+1)%4; pbuf = bufs[bufix]; snprintf(pbuf,sizeof(bufs[bufix]),"%u.%06u",secs,decimal); return(pbuf); } void plot_init(void) { max_plotters = 256; /* just a default, make more on the fly */ pplotters = MallocZ(max_plotters * sizeof(struct plotter_info)); } static void plotter_makemore(void) { int new_max_plotters = max_plotters * 4; if (debug) fprintf(stderr,"plotter: making more space for %d total plotters\n", new_max_plotters); /* reallocate the memory to make more space */ pplotters = ReallocZ(pplotters, max_plotters * sizeof(struct plotter_info), new_max_plotters * sizeof(struct plotter_info)); max_plotters = new_max_plotters; } /* max number of letters in endpoint name */ /* (8 allows 26**8 different endpoints (209,000,000,000) probably plenty for now!!!!!) */ /* #define MAX_HOSTLETTER_LEN 8 Moving this definition to tcptrace.h so other modules can use it. */ char * HostLetter( llong ix) { static char name[MAX_HOSTLETTER_LEN+1]; static char *pname; /* basically, just convert to base 26 */ pname = &name[sizeof(name)-1]; *pname-- = '\00'; while (pname >= name) { unsigned digit = ix % 26; *pname-- = 'a'+digit; ix = (ix / 26) - 1; if (ix == -1) return(pname+1); } fprintf(stderr,"Fatal, too many hosts to name (max length %d)\n\nNOTE:\nIf you are using gcc version 2.95.3, then this may be a compiler bug. This particular version\nis known to generate incorrect assembly code when used with CCOPT=-O2.\nSuggested fixes are:\n 1. Update gcc to the latest version and recompile tcptrace.\n 2. Use the same version of gcc, but edit the tcptrace Makefile, setting CCOPT=-O instead of\n CCOPT=-O2, and then recompile tcptrace.\nEither of these steps should hopefully fix the problem.\n\n", MAX_HOSTLETTER_LEN); exit(-1); return(NULL); /* NOTREACHED */ } char * NextHostLetter(void) { static llong count = 0; return(HostLetter(count++)); } static char * TSGPlotName( tcb *plast, PLOTTER pl, char *suffix) { static char filename[25]; snprintf(filename,sizeof(filename),"%s2%s%s", plast->host_letter, plast->ptwin->host_letter, suffix); return(filename); } static void DoPlot( PLOTTER pl, char *fmt, ...) { va_list ap; MFILE *f = NULL; struct plotter_info *ppi; va_start(ap,fmt); /* if (!graph_tsg) */ /* return; */ if (pl == NO_PLOTTER) { va_end(ap); return; } if (pl > plotter_ix) { fprintf(stderr,"Illegal plotter: %d\n", pl); exit(-1); } ppi = &pplotters[pl]; if ((f = ppi->fplot) == NULL) { va_end(ap); return; } /* Write the plotter header if not already written */ if(!ppi->header_done) WritePlotHeader(pl); Mvfprintf(f,fmt,ap); if (temp_color) { Mfprintf(f," %s",temp_color); temp_color = NULL; } Mfprintf (f,"\n"); va_end(ap); return; } PLOTTER new_plotter( tcb *plast, char *filename, /* if NULL, use default name from plast */ char *title, char *xlabel, char *ylabel, char *suffix) { PLOTTER pl; MFILE *f; struct plotter_info *ppi; ++plotter_ix; if (plotter_ix >= max_plotters) { plotter_makemore(); } pl = plotter_ix; ppi = &pplotters[pl]; if (filename == NULL) filename = TSGPlotName(plast,pl,suffix); else if (suffix != NULL) { char buf[100]; snprintf(buf,sizeof(buf),"%s%s", filename, suffix); filename = buf; } if (debug) fprintf(stderr,"Plotter %d file is '%s'\n", pl, filename); if ((f = Mfopen(filename,"w")) == NULL) { perror(filename); return(NO_PLOTTER); } ppi->fplot = f; ppi->p2plast = plast; ppi->filename = strdup(filename); ppi->axis_switched = FALSE; ppi->header_done = FALSE; /* Save these fields to be writtn to the plotter header later in DoPlot() */ ppi->title = strdup(title); ppi->xlabel = strdup(xlabel); ppi->ylabel = strdup(ylabel); return(pl); } void plotter_done(void) { PLOTTER pl; MFILE *f; char *fname; static struct dstring *xplot_cmd_buff=NULL; if(plotter_ix>0) { if(xplot_all_files) { xplot_cmd_buff=DSNew(); DSAppendString(xplot_cmd_buff,"xplot"); DSAppendString(xplot_cmd_buff," "); if(xplot_args!=NULL) { DSAppendString(xplot_cmd_buff,xplot_args); DSAppendString(xplot_cmd_buff," "); } } } for (pl = 0; pl <= plotter_ix; ++pl) { struct plotter_info *ppi = &pplotters[pl]; if ((f = ppi->fplot) == NULL) continue; /* Write the plotter header if not already written */ if(!ppi->header_done) WritePlotHeader(pl); if (!ignore_non_comp || ((ppi->p2plast != NULL) && (ConnComplete(ppi->p2plast->ptp)))) { Mfprintf(f,"go\n"); Mfclose(f); } else { fname = ppi->p2plast->tsg_plotfile; if (debug) fprintf(stderr,"Removing incomplete plot file '%s'\n", fname); Mfclose(f); if (unlink(fname) != 0) perror(fname); } if(xplot_all_files){ if(output_file_dir!=NULL) { DSAppendString(xplot_cmd_buff,output_file_dir); DSAppendString(xplot_cmd_buff,"/"); } DSAppendString(xplot_cmd_buff,ppi->filename); DSAppendString(xplot_cmd_buff," "); } } if(plotter_ix>0) { if(xplot_all_files) { fprintf(stdout,"%s\n",DSVal(xplot_cmd_buff)); system(DSVal(xplot_cmd_buff)); DSDestroy(&xplot_cmd_buff); } } } void plotter_temp_color( PLOTTER pl, char *color) { if (colorplot) temp_color = color; } void plotter_perm_color( PLOTTER pl, char *color) { if (colorplot) CallDoPlot(pl, color, 0); } void plotter_line( PLOTTER pl, struct timeval t1, u_long x1, struct timeval t2, u_long x2) { CallDoPlot(pl,"line", 4, t1, x1, t2, x2); } void plotter_dline( PLOTTER pl, struct timeval t1, u_long x1, struct timeval t2, u_long x2) { CallDoPlot(pl,"dline", 4, t1, x1, t2, x2); } void plotter_diamond( PLOTTER pl, struct timeval t, u_long x) { CallDoPlot(pl,"diamond", 2, t, x); } void plotter_dot( PLOTTER pl, struct timeval t, u_long x) { CallDoPlot(pl,"dot", 2, t, x); } void plotter_plus( PLOTTER pl, struct timeval t, u_long x) { CallDoPlot(pl,"plus", 2, t, x); } void plotter_box( PLOTTER pl, struct timeval t, u_long x) { CallDoPlot(pl,"box", 2, t, x); } void plotter_arrow( PLOTTER pl, struct timeval t, u_long x, char dir) { char arrow_type[7]; snprintf(arrow_type, sizeof(arrow_type), "%carrow", dir); CallDoPlot(pl, arrow_type, 2, t, x); } void plotter_uarrow( PLOTTER pl, struct timeval t, u_long x) { plotter_arrow(pl,t,x,'u'); } void plotter_darrow( PLOTTER pl, struct timeval t, u_long x) { plotter_arrow(pl,t,x,'d'); } void plotter_rarrow( PLOTTER pl, struct timeval t, u_long x) { plotter_arrow(pl,t,x,'r'); } void plotter_larrow( PLOTTER pl, struct timeval t, u_long x) { plotter_arrow(pl,t,x,'l'); } void plotter_tick( PLOTTER pl, struct timeval t, u_long x, char dir) { char tick_type[6]; snprintf(tick_type, sizeof(tick_type), "%ctick", dir); CallDoPlot(pl, tick_type, 2, t, x); } void plotter_dtick( PLOTTER pl, struct timeval t, u_long x) { plotter_tick(pl,t,x,'d'); } void plotter_utick( PLOTTER pl, struct timeval t, u_long x) { plotter_tick(pl,t,x,'u'); } void plotter_ltick( PLOTTER pl, struct timeval t, u_long x) { plotter_tick(pl,t,x,'l'); } void plotter_rtick( PLOTTER pl, struct timeval t, u_long x) { plotter_tick(pl,t,x,'r'); } void plotter_htick( PLOTTER pl, struct timeval t, u_long x) { plotter_tick(pl,t,x,'h'); } void plotter_vtick( PLOTTER pl, struct timeval t, u_long x) { plotter_tick(pl,t,x,'v'); } /* don't plot ANYTHING, just make sure ZERO point is set! */ void plotter_nothing( PLOTTER pl, struct timeval t) { char *ret; ret = xp_timestamp(pl,t); if (debug > 10) printf("plotter_nothing(%s) gets '%s'\n", ts2ascii(&t), ret); } void plotter_text( PLOTTER pl, struct timeval t, u_long x, char *where, char *str) { char text_type[6]; snprintf(text_type, sizeof(text_type), "%stext", where); CallDoPlot(pl, text_type, 2, t, x); /* fix by Bill Fenner - Wed Feb 5, 1997, thanks */ /* This is a little ugly. Text commands take 2 lines. */ /* A temporary color could have been */ /* inserted after that line, but would NOT be inserted after */ /* the next line, so we'll be OK. I can't think of a better */ /* way right now, and this works fine (famous last words) */ CallDoPlot(pl, str, 0); } void plotter_invisible( PLOTTER pl, struct timeval t, u_long x) { CallDoPlot(pl,"invisible", 2, t, x); } /* high-level line-drawing package */ struct pl_line { char *color; char *label; int last_y; timeval last_time; PLOTTER plotter; Bool labelled; }; PLINE new_line( PLOTTER plotter, char *label, char *color) { struct pl_line *pl; pl = MallocZ(sizeof(struct pl_line)); pl->plotter = plotter; pl->label = label; pl->color = color; return(pl); } void extend_line( PLINE pline, timeval xval, int yval) { PLOTTER p; if (!pline) return; p = pline->plotter; #ifdef OLD /* attach a label to the first non-zero point */ if (!pline->labelled) { if (yval != 0) { plotter_temp_color(p, pline->color); plotter_text(p, xval, yval, "l", pline->label); pline->labelled = 1; } } #endif /* attach a label midway on the first line segment above 0 */ /* for whom the second point is NOT 0 */ if (!pline->labelled) { if ((yval != 0) && (!ZERO_TIME(&pline->last_time))) { timeval tv_elapsed; timeval tv_avg; int avg_yval; /* computer elapsed time for these 2 points */ tv_elapsed = xval; tv_sub(&tv_elapsed,pline->last_time); /* divide elapsed time by 2 */ tv_elapsed.tv_sec /= 2; tv_elapsed.tv_usec /= 2; /* add 1/2 of the elapsed time to the oldest point */ /* (giving us the average time) */ tv_avg = pline->last_time; tv_add(&tv_avg, tv_elapsed); /* average the Y values */ avg_yval = (1 + pline->last_y+yval)/2; /* (rounding UP, please) */ /* draw the label */ plotter_temp_color(p, pline->color); plotter_text(p, tv_avg, avg_yval, "l", pline->label); /* remember that it's been done */ pline->labelled = 1; } } /* draw a dot at the current point */ plotter_perm_color(p, pline->color); plotter_dot(p, xval, yval); /* if this isn't the FIRST point, connect with a line */ if (!ZERO_TIME(&pline->last_time)) { plotter_line(p, xval, yval, pline->last_time, pline->last_y); } /* remember this point for the next line segment */ pline->last_time = xval; pline->last_y = yval; } /* This function may be called with 0, 2 or 4 arguments depending on plot command. */ static void CallDoPlot( PLOTTER pl, char *plot_cmd, int plot_argc, ...) { struct timeval t1; u_long x1 = 0; struct timeval t2; u_long x2 = 0; va_list ap; struct plotter_info *ppi; char fmt[200]; if (pl == NO_PLOTTER) return; if (pl > plotter_ix) { fprintf(stderr,"Illegal plotter: %d\n", pl); exit(-1); } ppi = &pplotters[pl]; /* Get the arguments from the variable list */ va_start(ap, plot_argc); if(plot_argc > 0) { t1 = va_arg(ap, struct timeval); x1 = va_arg(ap, u_long); } if(plot_argc > 2) { t2 = va_arg(ap, struct timeval); x2 = va_arg(ap, u_long); } va_end(ap); memset(fmt, 0, sizeof(fmt)); if(ppi->axis_switched) { switch(plot_argc) { case 0: snprintf(fmt, sizeof(fmt), "%s", plot_cmd); DoPlot(pl, fmt); break; case 2: snprintf(fmt, sizeof(fmt), "%s %%u -%%s", plot_cmd); DoPlot(pl, fmt, x1, xp_timestamp(pl,t1)); break; case 4: snprintf(fmt, sizeof(fmt), "%s %%u -%%s %%u -%%s", plot_cmd); DoPlot(pl, fmt, x1, xp_timestamp(pl,t1), x2, xp_timestamp(pl,t2)); break; default: fprintf(stderr, "CallDoPlot: Illegal number of arguments (%d)\n", plot_argc); } } else { switch(plot_argc) { case 0: snprintf(fmt, sizeof(fmt), "%s", plot_cmd); DoPlot(pl, fmt); break; case 2: snprintf(fmt, sizeof(fmt), "%s %%s %%u", plot_cmd); DoPlot(pl, fmt, xp_timestamp(pl,t1), x1); break; case 4: snprintf(fmt, sizeof(fmt), "%s %%s %%u %%s %%u", plot_cmd); DoPlot(pl, fmt, xp_timestamp(pl,t1), x1, xp_timestamp(pl,t2), x2); break; default: fprintf(stderr, "CallDoPlot: Illegal number of arguments (%d)\n", plot_argc); } } return; } static void WritePlotHeader( PLOTTER pl) { MFILE *f = NULL; struct plotter_info *ppi; if (pl == NO_PLOTTER) return; if (pl > plotter_ix) { fprintf(stderr,"Illegal plotter: %d\n", pl); exit(-1); } ppi = &pplotters[pl]; if ((f = ppi->fplot) == NULL) return; if(ppi->axis_switched) { /* Header for the Time Line Charts */ Mfprintf(f,"%s %s\n", "unsigned", "dtime"); } else { /* Header for all other plots */ /* graph coordinates... */ /* X coord is timeval unless graph_time_zero is true */ /* Y is signed except when it's a sequence number */ /* ugly hack -- unsigned makes the graphs hard to work with and is only needed for the time sequence graphs */ /* suggestion by Michele Clark at UNC - make them double instead */ Mfprintf(f,"%s %s\n", graph_time_zero?"dtime":"timeval", ((strcmp(ppi->ylabel,"sequence number") == 0)&&(!graph_seq_zero))? "double":"signed"); } if (show_title) { if (xplot_title_prefix) Mfprintf(f,"title\n%s %s\n", ExpandFormat(xplot_title_prefix), ppi->title); else Mfprintf(f,"title\n%s\n", ppi->title); } Mfprintf(f,"xlabel\n%s\n", ppi->xlabel); Mfprintf(f,"ylabel\n%s\n", ppi->ylabel); /* Indicate that the header has now been written to the plotter file */ ppi->header_done = TRUE; return; } /* Switch the x and y axis type (Needed for Time Line Charts. Default = FLASE) */ void plotter_switch_axis( PLOTTER pl, Bool flag) { struct plotter_info *ppi = &pplotters[pl]; ppi->axis_switched = flag; } tcptrace-6.6.7/pool.c0100644001217500001440000003602407756700114014200 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Marina Bykova * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/pool.c,v 5.6 2003/11/19 14:38:04 sdo Exp $"; /*#include */ #include #include #include #include #include #include "pool.h" #ifndef _BASIC_POOL_H #define _BASIC_POOL_H struct Block { struct Block *next; }; struct Pool { unsigned int block_size; /* size of a memory block */ unsigned int block_no; /* number of block in the pool */ struct Block *list; /* pointer to a list of free blocks */ short sorted; /* whether list of blocks should be sorted */ }; #define DFLT_POOLS_NUM 10 /* default number of pools */ #define DFLT_BLOCKS_NUM 16 /* default number of blocks in free list */ #define RESIZE_TIMES 2 /* by how many times we need to increase table * size for each memory pool */ /* global variables */ static struct Pool *pools = NULL; /* table of memory pools */ static unsigned table_size = 0; /* size of the pool table */ static int pool_num = 0; /* number of existing memory pools */ /* local routines */ static void *PoolValloc(const int, const unsigned, unsigned *); static struct Block *MakeList(const int, void *, const unsigned); static int PoolRealloc(const int, const unsigned); static void PoolInsertList(const int, struct Block *); /* * MakeMemPool - given a block size, create a new memory pool for * such blocks of memory. Returns pool number or -1 * in case an error occures. * NOTE: pool numbers start with 0, so that zero pool number * is valid. */ int MakeMemPool( const unsigned bsize, /* block size for a pool */ const int sorted)/* if non-zero, tells to sort linked list of free blocks */ { void *buffer = NULL; unsigned buffer_size = 0; unsigned old_table_size = 0; struct Pool *tmp_pools = NULL; /* a pointer to memory pools */ if (0) { printf("MakeMemPool(%0x) called\n", bsize); } /* if pool table doesn't exist yet, create it */ if (pools == NULL) { table_size = DFLT_POOLS_NUM; pools = (struct Pool *)malloc(sizeof(struct Pool)*table_size); if (pools == NULL) { fprintf(stderr, "MakeMemPool: cannot allocate memory for pool table: "); fprintf(stderr, "malloc failed\n"); exit(1); } memset((void *)pools, '\00', sizeof(struct Pool)*table_size); } /* if the table exists but we are out of free space in it * make it bigger */ else if (table_size == pool_num) { old_table_size = table_size; table_size = old_table_size * RESIZE_TIMES; if ((tmp_pools = (struct Pool *)realloc((void *)pools, table_size*sizeof(struct Pool))) == NULL) { fprintf(stderr, "MakeMemPool: Cannot allocate memory: realloc failed\n"); exit(1); } else { pools = tmp_pools; } memset(pools+(old_table_size*sizeof(struct Pool)), '\00', (table_size-old_table_size)*sizeof(struct Pool)); } pools[pool_num].block_size = bsize; buffer = PoolValloc(pool_num, DFLT_BLOCKS_NUM, &buffer_size); if (buffer == NULL) { fprintf(stderr, "MakeMemPool: Cannot allocate memory: PoolValloc failed\n"); exit(1); } pools[pool_num].list = MakeList(pool_num, buffer, buffer_size); if (sorted) { pools[pool_num].sorted = 1; } pool_num++; return (pool_num - 1); } /* * PoolMalloc - given by pool id and number of blocks, give a block * of memory for that number of units. * If successful, returns a pointer, or NULL otherwise */ void * PoolMalloc( const int poolid, /* pool id */ const unsigned bytes)/* size of the block (in bytes) */ { unsigned counter = 0; struct Block *block = NULL; struct Block *next = NULL; struct Block *prev = NULL; struct Block *tmp_prev = NULL; void *buffer = NULL; unsigned buffer_size = 0; struct Block *new_list = NULL; unsigned bnumber; if (0) { printf("PoolMalloc(%0x, %0x) called.. ", poolid, bytes); } if ((poolid >= pool_num) || (poolid < 0)) { fprintf(stderr, "PoolMalloc: wrong poolid\n"); exit(1); } if (bytes == 0) { exit(1); } if ((bytes % pools[poolid].block_size) != 0) { /* not a whole number of structures */ fprintf(stderr, "PoolMalloc: cannot allocate '%i' bytes ", bytes); fprintf(stderr, "for this memory pool\n"); exit(1); } bnumber = bytes / pools[poolid].block_size; if (pools[poolid].block_no < bnumber) { if (PoolRealloc(poolid, bnumber) < 0) { fprintf(stderr, "PoolMalloc: cannot allocate enough memory, PoolRealloc failed\n"); } } if (bnumber > 1) { /* search for right place and give that number of blocks */ block = pools[poolid].list; /* go through the linked list of block searching for bnumber of *contigious blocks */ while ((block != NULL) && (counter != bnumber)) { next = block->next; /* count number of contigious blocks */ for (counter = 1; counter < bnumber; counter++) { if ((block + pools[poolid].block_size*counter) == next) { tmp_prev = next; next = next->next; } else {/* the block is not contigious, start over */ block = next; prev = tmp_prev; break; } } } if (block == NULL) {/* continious bytes not found */ /* call valloc for the block */ buffer = PoolValloc(poolid, bnumber, &buffer_size); if (buffer == NULL) { fprintf(stderr, "PoolMalloc: Cannot allocate memory: PoolValloc failed\n"); exit(1); } new_list = MakeList(poolid, buffer, buffer_size); block = new_list; /* save needed number of blocks and add the rest to the linked-list * of free blocks */ for (counter = 0; counter < bnumber; counter++) { new_list = new_list->next; } PoolInsertList(poolid, new_list); } else {/* block of continious memory is found */ if (block == pools[poolid].list) { pools[poolid].list = next; } else { prev->next = next; } } /* reset memory and return the block */ memset(block, '\00', pools[poolid].block_size*bnumber); pools[poolid].block_no -= bnumber; return block; } else {/* only memory for 1 structure is requested */ /* no need of searching, give the first block in the list */ block = pools[poolid].list; pools[poolid].list = block->next; memset(block, '\00', pools[poolid].block_size); pools[poolid].block_no--; return block; } } /* * PoolValloc - given a pool number and number of blocks we want to use, * allocate memory at the pagesize boundary for at least that * number of blocks. Returns a buffer of bsize (contents of * bsize will be rewritten */ static void * PoolValloc( const int poolid, /* pool id */ const unsigned bnumber, /* we will get at least bnumber of blocks */ unsigned *bsize) /* size of the returned buffer */ { unsigned pagesize; void *buffer = NULL; unsigned buffer_size = 0; if (0) { printf("PoolValloc(%0x, %0x) called\n", poolid, bnumber); } /* find out how many memory pages we need and allocate such amount * of memory */ #if defined(PAGESIZE) /* there's "supposed" to be a constant... */ pagesize = PAGESIZE; #elif defined(_SC_PAGESIZE) /* but maybe we can get it from the system... */ pagesize = sysconf(_SC_PAGESIZE); #else /* if all else fails, just guess 8k, close enough */ pagesize = 8*1024; #endif buffer_size = (ceil(pools[poolid].block_size * bnumber / (float)pagesize)) * pagesize; #ifdef HAVE_VALLOC buffer = (void *)valloc(buffer_size); #else /* HAVE_VALLOC */ #ifdef HAVE_MEMALIGN buffer = (void *)memalign(buffer_size, pagesize); #else /* HAVE_MEMALIGN */ buffer = (void *)malloc(buffer_size); #endif /* HAVE_MEMALOGN */ #endif /* HAVE_VALLOC */ if (buffer == NULL) { fprintf(stderr, "PoolValloc: cannot allocate memory: valloc "); fprintf(stderr, "(or equivalent function) failed\n"); exit(1); } memset(buffer, '\00', buffer_size); /* increase number of available blocks for the pool */ pools[poolid].block_no += floor(buffer_size/(float)pools[poolid].block_size); (*bsize) = buffer_size; return buffer; } /* * MakeList - given by a pool id, buffer, and buffer's size, make a linked * list of free memory blocks for that pool. * Breaks the buffer into peaces, makes a linked list, and return * pointer to the list. */ static struct Block * MakeList( const int poolid, /* pool id */ void *buffer, /* a buffer to be restructured */ const unsigned buffer_size) /* the buffer's size */ { struct Block *block = NULL; struct Block *next = NULL; if (0) { printf("MakeList(%0x, %p, %0x) called\n", poolid, buffer, buffer_size); } block = (struct Block *)buffer; /* make a linked list of free memory blocks */ do { next = (struct Block *)((char *)block + pools[poolid].block_size); block->next = next; block = next; } while ((char *)next <= ((char *)buffer + buffer_size - (pools[poolid].block_size*2))); block->next = NULL; return (struct Block *)buffer; } /* * PoolRealloc - given by a poolid and number of blocks, allocate memory * on pagesize boundary for at least that number of blocks, * insert new blocks into the pool's linked list of free blocks. * If successful, returns 0, or -1 otherwise. */ static int PoolRealloc( const int poolid, const unsigned bnumber) { void *buffer = NULL; unsigned buffer_size; struct Block *new_list = NULL; if (0) { printf("PoolRealloc(%0x, %0x) called\n", poolid, bnumber); } /* allocate space first */ buffer = PoolValloc(poolid, bnumber, &buffer_size); if (buffer == NULL) { fprintf(stderr, "PoolRealloc: Cannot allocate memory: PoolValloc failed\n"); exit(1); } /* build a linked list from the buffer */ new_list = MakeList(poolid, buffer, buffer_size); /* insert the list */ if (pools[poolid].list == NULL) { pools[poolid].list = new_list; } else { PoolInsertList(poolid, new_list); } return 0; } /* * PoolInsertList - given by a pool id and a linked list, insert the list * into the pool's linked list of free blocks. */ static void PoolInsertList( const int poolid, struct Block *new_list) { struct Block *block = NULL; struct Block *next = NULL; if (0) { printf("PoolInsertList(%0x, %p) called\n", poolid, new_list); } if (new_list == NULL) { return; } block = pools[poolid].list; if (pools[poolid].sorted) { /* search for a place to insert new linked list into * the pool's linked list and insert it */ if (block > new_list) {/* new list is to inserted at the head */ next = block; pools[poolid].list = new_list; block = new_list; } else {/* search for right place for insertion */ while ((block->next < new_list) && (block->next != NULL)) { block = block->next; } next = block->next; block->next = new_list; } /* go til the end of the linked-list being inseted and add the rest * of the old linked-list to the end of it */ for (; block->next != NULL; block = block->next) ; block->next = next; } else {/* not sorted */ /* prepend new linked list to the previous list */ block = new_list; while (block->next) block = block->next; block->next = pools[poolid].list; pools[poolid].list = new_list; } } /* * PoolFree - given by a pool id and a pointer, free that block of memory * from the pool. */ void PoolFree( const int poolid, void *ptr) { struct Block *block; struct Block *b, *n; if (0) { printf("PoolFree(%0x, %p) called\n", poolid, ptr); fflush(stdout); } /* check poolid first */ if ((poolid >= pool_num) || (poolid < 0)) { return; } if (!ptr) return; memset(ptr, '\00', pools[poolid].block_size); block = (struct Block *)ptr; if (0) { /* this part was used for debugging. slows down dramatically */ for (b = pools[poolid].list; b; b = b->next) { if (b == block) { fprintf(stderr, "WARNING! PoolFree(%0x, %p) is called for already freed block of memory\n", poolid, ptr); return; } } } /* linked list for that pool id is empty */ if (pools[poolid].list == NULL) { block->next = NULL; pools[poolid].list = block; return; } /* insert block into correct locatioin */ if (pools[poolid].sorted) {/* sorted linked list */ if (block < pools[poolid].list) { block->next = pools[poolid].list; pools[poolid].list = block; } else { b = pools[poolid].list; while ((b->next < block) && (b->next != NULL)) { b = b->next; } /* insert after b */ n = b->next; b->next = block; block->next = n; } } else {/* not sorted */ /* insert into begining of the linked list */ block->next = pools[poolid].list; pools[poolid].list = block; } pools[poolid].block_no++; } #endif tcptrace-6.6.7/pool.h0100644001217500001440000000511407756700120014176 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Marina Bykova * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * http://www.tcptrace.org/ */ #ifndef _POOL_H #define _POOL_H static char const GCC_UNUSED rcsid_pool[] = "@(#)$Header: /usr/local/cvs/tcptrace/pool.h,v 5.4 2003/11/19 14:38:08 sdo Exp $"; extern int debug; int MakeMemPool(const unsigned bsize, const int sorted); void *PoolMalloc(const int poolid, const unsigned bytes); void PoolFree(const int poolid, void *prt); #endif tcptrace-6.6.7/poolaccess.c0100644001217500001440000001131107756700114015352 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Marina Bykova * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/poolaccess.c,v 5.5 2003/11/19 14:38:04 sdo Exp $"; static long tcp_pair_pool = -1; static long udp_pair_pool = -1; static long seqspace_pool = -1; static long ptp_snap_pool = -1; static long ptp_ptr_pool = -1; static long segment_pool = -1; static long quadrant_pool = -1; tcp_pair * MakeTcpPair( void) { tcp_pair *ptr = NULL; if (tcp_pair_pool < 0) { tcp_pair_pool = MakeMemPool(sizeof(tcp_pair), 0); } ptr = PoolMalloc(tcp_pair_pool, sizeof(tcp_pair)); return ptr; } void FreeTcpPair( tcp_pair *ptr) { PoolFree(tcp_pair_pool, ptr); } udp_pair * MakeUdpPair( void) { udp_pair *ptr = NULL; if (udp_pair_pool < 0) { udp_pair_pool = MakeMemPool(sizeof(udp_pair), 0); } ptr = PoolMalloc(udp_pair_pool, sizeof(udp_pair)); return ptr; } void FreeUdpPair( udp_pair *ptr) { PoolFree(udp_pair_pool, ptr); } seqspace * MakeSeqspace( void) { seqspace *ptr = NULL; if (seqspace_pool < 0) { seqspace_pool = MakeMemPool(sizeof(seqspace), 0); } ptr = PoolMalloc(seqspace_pool, sizeof(seqspace)); return ptr; } void FreeSeqspace( seqspace *ptr) { PoolFree(seqspace_pool, ptr); } ptp_snap * MakePtpSnap( void) { ptp_snap *ptr = NULL; if (ptp_snap_pool < 0) { ptp_snap_pool = MakeMemPool(sizeof(ptp_snap), 0); } ptr = PoolMalloc(ptp_snap_pool, sizeof(ptp_snap)); return ptr; } void FreePtpSnap( ptp_snap *ptr) { PoolFree(ptp_snap_pool, ptr); } ptp_ptr * MakePtpPtr( void) { ptp_ptr *ptr = NULL; if (ptp_ptr_pool < 0) { ptp_ptr_pool = MakeMemPool(sizeof(ptp_ptr), 0); } ptr = PoolMalloc(ptp_ptr_pool, sizeof(ptp_ptr)); return ptr; } void FreePtpPtr( ptp_ptr *ptr) { PoolFree(ptp_ptr_pool, ptr); } segment * MakeSegment( void) { segment *ptr = NULL; if (segment_pool < 0) { segment_pool = MakeMemPool(sizeof(segment), 0); } ptr = PoolMalloc(segment_pool, sizeof(segment)); return ptr; } void FreeSegment( segment *ptr) { PoolFree(segment_pool, ptr); } quadrant * MakeQuadrant( void) { quadrant *ptr = NULL; if (quadrant_pool < 0) { quadrant_pool = MakeMemPool(sizeof(quadrant), 0); } ptr = PoolMalloc(quadrant_pool, sizeof(quadrant)); return ptr; } void FreeQuadrant( quadrant *ptr) { PoolFree(quadrant_pool, ptr); } tcptrace-6.6.7/print.c0100644001217500001440000005032707756700115014366 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/print.c,v 5.27 2003/11/19 14:38:05 sdo Exp $"; /* * print.c -- packet printing routines */ /* local routines */ static void printeth_packet(struct ether_header *); static void printip_packet(struct ip *, void *plast); static void printtcp_packet(struct ip *, void *plast, tcb *tcb); static void printudp_packet(struct ip *, void *plast); static char *ParenServiceName(portnum); static char *ParenHostName(struct ipaddr addr); static void printipv4(struct ip *pip, void *plast); static void printipv6(struct ipv6 *pipv6, void *plast); static char *ipv6addr2str(struct in6_addr addr); static void printipv4_opt_addrs(char *popt, int ptr, int len); static char *PrintSeqRep(tcb *ptcb, u_long seq); /* Resulting string format: "Fri Sep 13 00:00:00.123456 1986" */ /* 1 2 3 */ /* 0123456789012345678901234567890 */ char * ts2ascii( struct timeval *ptime) { static char buf[32]; struct tm *ptm; char *now; int decimal; if (ZERO_TIME(ptime)) return(" "); ptm = localtime((time_t *)&ptime->tv_sec); now = asctime(ptm); /* splice in the microseconds */ now[19] = '\00'; /* decimal = (ptime->tv_usec + 50) / 100;*/ /* for 4 digits */ decimal = ptime->tv_usec; /* for 6 digits */ now[24] = '\00'; /* nuke the newline */ snprintf(buf,sizeof(buf), "%s.%06d %s", now, decimal, &now[20]); return(buf); } /* same as ts2ascii, but no year */ char * ts2ascii_date( struct timeval *ptime) { static char buf[30]; struct tm *ptm; char *now; int decimal; if (ZERO_TIME(ptime)) return(" "); ptm = localtime((time_t *)&ptime->tv_sec); now = asctime(ptm); now[24] = '\00'; /* decimal = (ptime->tv_usec + 50) / 100;*/ /* for 4 digits */ decimal = ptime->tv_usec; /* for 6 digits */ snprintf(buf,sizeof(buf), "%s.%06d", now, decimal); return(buf); } static void printeth_packet( struct ether_header *pep) { printf("\tETH Srce: %s\n", Ether_Ntoa((struct ether_addr *)&pep->ether_shost)); printf("\tETH Dest: %s\n", Ether_Ntoa((struct ether_addr *)&pep->ether_dhost)); printf( hex?"\t Type: 0x%x %s\n":"\t Type: %d %s\n", ntohs(pep->ether_type), (ntohs(pep->ether_type) == ETHERTYPE_IP)?"(IP)": (ntohs(pep->ether_type) == ETHERTYPE_IPV6)?"(IPv6)": (ntohs(pep->ether_type) == ETHERTYPE_ARP)?"(ARP)": (ntohs(pep->ether_type) == ETHERTYPE_REVARP)?"(RARP)": ""); } static void printip_packet( struct ip *pip, void *plast) { /* print an ipv6 header */ if (PIP_ISV6(pip)) { if ((char *)pip+sizeof(struct ipv6)-1 > (char *)plast) { if (warn_printtrunc) printf("\t[packet truncated too short for IP details]\n"); ++ctrunc; return; } printipv6((struct ipv6 *)pip, plast); return; } if (PIP_ISV4(pip)) { /* make sure we have enough of the packet */ if ((char *)pip+sizeof(struct ip)-1 > (char *)plast) { if (warn_printtrunc) printf("\t[packet truncated too short for IP details]\n"); ++ctrunc; return; } printipv4(pip, plast); return; } /* unknown type */ printf("Unknown IP version %d\n", PIP_VERS(pip)); } static void printipv4( struct ip *pip, void *plast) { u_short offset; Bool mf; /* make sure we have enough of the packet */ if ((char *)pip+sizeof(struct ip)-1 > (char *)plast) { if (warn_printtrunc) printf("\t[packet truncated too short for IP details]\n"); ++ctrunc; return; } printf("\tIP VERS: %d\n", IP_V(pip)); printf("\tIP Srce: %s %s\n", inet_ntoa(pip->ip_src), ParenHostName(*IPV4ADDR2ADDR(&pip->ip_src))); printf("\tIP Dest: %s %s\n", inet_ntoa(pip->ip_dst), ParenHostName(*IPV4ADDR2ADDR(&pip->ip_dst))); printf( hex?"\t Type: 0x%x %s\n":"\t Type: %d %s\n", pip->ip_p, (pip->ip_p == IPPROTO_UDP)?"(UDP)": (pip->ip_p == IPPROTO_TCP)?"(TCP)": (pip->ip_p == IPPROTO_ICMP)?"(ICMP)": (pip->ip_p == IPPROTO_IGMP)?"(IGMP)": (pip->ip_p == IPPROTO_EGP)?"(EGP)": ""); printf("\t HLEN: %d\n", IP_HL(pip)*4); printf("\t TTL: %d\n", pip->ip_ttl); printf("\t LEN: %d\n", ntohs(pip->ip_len)); printf("\t ID: %d\n", ntohs(pip->ip_id)); printf("\t CKSUM: 0x%04x", ntohs(pip->ip_sum)); if (verify_checksums) printf(" (%s)", ip_cksum_valid(pip,plast)?"CORRECT":"WRONG"); printf("\n"); /* fragmentation stuff */ offset = ntohs(pip->ip_off) << 3; mf = (ntohs(pip->ip_off) & IP_MF) != 0; if ((offset == 0) && (!mf)) { printf("\t OFFSET: 0x%04x", ntohs(pip->ip_off)); } else { printf("\t OFFSET: 0x%04x (frag: %d bytes at offset %u - %s)", ntohs(pip->ip_off), ntohs(pip->ip_len)-IP_HL(pip)*4, offset, mf?"More Frags":"Last Frag"); } if ((ntohs(pip->ip_off) & IP_DF) != 0) printf(" Don't Fragment\n"); /* don't fragment */ /* print IP options if there are any */ if (IP_HL(pip) != 5) { char *popt = (char *)pip + 20; void *plast_option; /* find the last option in the file */ plast_option = (char *)pip+4*IP_HL(pip)-1; if (plast_option > plast) plast_option = plast; /* truncated shorter than that */ printf("\t Options: %d bytes\n", 4*IP_HL(pip)-20); while ((char *)popt <= (char *)plast_option) { u_int opt = *popt; u_int len = *(popt+1); u_int ptr = *(popt+2); int optcopy = (opt&0x80); int optclass = (opt&0x60)>>5; int optnum = (opt&0x1f); /* check for truncated option */ if ((void *)(popt+len-1) > plast) { printf("\t IP option (truncated)\n"); break; } printf("\t IP option %d (copy:%c class:%s number:%d)\n", opt, optcopy==0?'N':'Y', optclass==0?"ctrl": optclass==1?"reserved1": optclass==2?"debug": optclass==3?"reserved3":"unknown", optnum); switch(opt) { case 3: printf("\t Loose source route: len: %d ptr:%d\n", len, ptr); printipv4_opt_addrs(popt, ptr, len); break; case 7: printf("\t Record Route: len: %d ptr:%d\n", len, ptr); printipv4_opt_addrs(popt, ptr, len); break; case 9: printf("\t Strict source route: len: %d ptr:%d\n", len, ptr); printipv4_opt_addrs(popt, ptr, len); break; case 4: printf("\t Timestamps: len: %d ptr:%d\n", len, ptr); break; case 0: printf("\t EOL\n"); len = 1; break; case 1: printf("\t PADDING\n"); len = 1; break; default: printf("\t Unknown Option %d, len: %d\n", opt, len); break; } if (len <= 0) break; popt += len; } } printf("\n"); } /* print out the little table in the source route and record route options */ static void printipv4_opt_addrs( char *popt, int ptr, int len) { struct in_addr ina; int nptr; int i; for (nptr=4,i=1;nptr < len; nptr += 4,++i) { memcpy(&ina.s_addr,popt+nptr-1,4); if (nptr < ptr) printf("\t %d: %-15s %s\n", i, inet_ntoa(ina), HostName(*IPV4ADDR2ADDR(&ina))); else printf("\t %d: xxxxxxxxxxx\n", i); } } static void printtcp_packet( struct ip *pip, void *plast, tcb *thisdir) { unsigned tcp_length; unsigned tcp_data_length; struct tcphdr *ptcp; int i; u_char *pdata; struct ipv6 *pipv6; tcb *otherdir = NULL; /* find the tcp header */ if (gettcp(pip, &ptcp, &plast)) return; /* not TCP or bad TCP packet */ /* make sure we have enough of the packet */ if ((char *)ptcp+sizeof(struct tcphdr)-1 > (char *)plast) { if (warn_printtrunc) printf("\t[packet truncated too short for TCP details]\n"); ++ctrunc; return; } /* calculate data length */ if (PIP_ISV6(pip)) { pipv6 = (struct ipv6 *) pip; tcp_length = ntohs(pipv6->ip6_lngth); } else { tcp_length = ntohs(pip->ip_len) - (4 * IP_HL(pip)); } tcp_data_length = tcp_length - (4 * TH_OFF(ptcp)); /* find the tcb's (if available) */ if (thisdir) otherdir = thisdir->ptwin; printf("\tTCP SPRT: %u %s\n", ntohs(ptcp->th_sport), ParenServiceName(ntohs(ptcp->th_sport))); printf("\t DPRT: %u %s\n", ntohs(ptcp->th_dport), ParenServiceName(ntohs(ptcp->th_dport))); printf("\t FLG: %c%c%c%c%c%c%c%c (0x%02x)\n", FLAG6_SET(ptcp)? '?':' ', FLAG7_SET(ptcp)? '?':' ', URGENT_SET(ptcp)?'U':'-', ACK_SET(ptcp)? 'A':'-', PUSH_SET(ptcp)? 'P':'-', RESET_SET(ptcp)? 'R':'-', SYN_SET(ptcp)? 'S':'-', FIN_SET(ptcp)? 'F':'-', ptcp->th_flags); printf("\t SEQ: %s\n", PrintSeqRep(thisdir, ntohl(ptcp->th_seq))); printf("\t ACK: %s\n", PrintSeqRep(otherdir, ntohl(ptcp->th_ack))); printf("\t WIN: %u\n", ntohs(ptcp->th_win)); printf("\t HLEN: %u", TH_OFF(ptcp)*4); if ((char *)ptcp + TH_OFF(ptcp)*4 - 1 > (char *)plast) { /* not all there */ printf(" (only %lu bytes in dump file)", (u_long)((char *)plast - (char *)ptcp + 1)); } printf("\n"); if (TH_X2(ptcp) != 0) { printf("\t MBZ: 0x%01x (these are supposed to be zero!)\n", TH_X2(ptcp)); } printf("\t CKSUM: 0x%04x", ntohs(ptcp->th_sum)); pdata = (u_char *)ptcp + TH_OFF(ptcp)*4; if (verify_checksums) { if ((char *)pdata + tcp_data_length > ((char *)plast+1)) printf(" (too short to verify)"); else printf(" (%s)", tcp_cksum_valid(pip,ptcp,plast)?"CORRECT":"WRONG"); } printf("\n"); printf("\t DLEN: %u", tcp_data_length); if ((tcp_data_length != 0) && ((char *)pdata + tcp_data_length > ((char *)plast+1))) { int available = (char *)plast - (char *)pdata + 1; if (available > 1) printf(" (only %lu bytes in dump file)", (u_long)((char *)plast - (char *)pdata + 1)); else printf(" (none of it in dump file)"); } printf("\n"); if (TH_OFF(ptcp) != 5) { struct tcp_options *ptcpo; printf("\t OPTS: %lu bytes", (unsigned long)(TH_OFF(ptcp)*4) - sizeof(struct tcphdr)); if ((char *)ptcp + TH_OFF(ptcp)*4 - 1 > (char *)plast) { /* not all opts were stored */ u_long available = 1 + (char *)plast - ((char *)ptcp + sizeof(struct tcphdr)); if (available > 1) printf(" (%lu bytes in file)", available); else printf(" (none of it in dump file)"); } printf("\t"); ptcpo = ParseOptions(ptcp,plast); if (ptcpo->mss != -1) printf(" MSS(%d)", ptcpo->mss); if (ptcpo->ws != -1) printf(" WS(%d)", ptcpo->ws); if (ptcpo->tsval != -1) { printf(" TS(%ld,%ld)", ptcpo->tsval, ptcpo->tsecr); } if (ptcpo->sack_req) { printf(" SACKREQ"); } if (ptcpo->sack_count >= 0) { printf(" SACKS(%d)", ptcpo->sack_count); for (i=0; i < ptcpo->sack_count; ++i) { printf("[%s-", PrintSeqRep(otherdir, (u_long)ptcpo->sacks[i].sack_left)); printf("%s]", PrintSeqRep(otherdir, (u_long)ptcpo->sacks[i].sack_right)); } } if (ptcpo->echo_req != -1) printf(" ECHO(%lu)", ptcpo->echo_req); if (ptcpo->echo_repl != -1) printf(" ECHOREPL(%lu)", ptcpo->echo_repl); if (ptcpo->cc != -1) printf(" CC(%lu)", ptcpo->cc); if (ptcpo->ccnew != -1) printf(" CCNEW(%lu)", ptcpo->ccnew); if (ptcpo->ccecho != -1) printf(" CCECHO(%lu)", ptcpo->ccecho); for (i=0; i < ptcpo->unknown_count; ++i) { if (i < MAX_UNKNOWN) { printf(" UNKN(op:%d,len:%d)", ptcpo->unknowns[i].unkn_opt, ptcpo->unknowns[i].unkn_len); } else { printf("... more unsaved unknowns\n"); break; } } printf("\n"); } if (tcp_data_length > 0) { if (dump_packet_data) { char *ptcp_data = (char *)ptcp + (4 * TH_OFF(ptcp)); PrintRawData(" data", ptcp_data, plast, TRUE); } else { printf("\t data: %u bytes\n", tcp_data_length); } } } static void printudp_packet( struct ip *pip, void *plast) { struct udphdr *pudp; unsigned udp_length; unsigned udp_data_length; u_char *pdata; /* find the udp header */ if (getudp(pip, &pudp, &plast)) return; /* not UDP or bad UDP packet */ /* make sure we have enough of the packet */ if ((char *)pudp+sizeof(struct udphdr)-1 > (char *)plast) { if (warn_printtrunc) printf("\t[packet truncated too short for UDP details]\n"); ++ctrunc; return; } printf("\tUDP SPRT: %u %s\n", ntohs(pudp->uh_sport), ParenServiceName(ntohs(pudp->uh_sport))); printf("\t DPRT: %u %s\n", ntohs(pudp->uh_dport), ParenServiceName(ntohs(pudp->uh_dport))); pdata = (u_char *)pudp + sizeof(struct udphdr); udp_length = ntohs(pudp->uh_ulen); udp_data_length = udp_length - sizeof(struct udphdr); printf("\t UCKSUM: 0x%04x", ntohs(pudp->uh_sum)); pdata = (u_char *)pudp + sizeof(struct udphdr); if (verify_checksums) { if ((char *)pdata + udp_data_length > ((char *)plast+1)) printf(" (too short to verify)"); else printf(" (%s)", udp_cksum_valid(pip,pudp,plast)?"CORRECT":"WRONG"); } printf("\n"); printf("\t DLEN: %u", ntohs(pudp->uh_ulen)); if ((char *)pdata + ntohs(pudp->uh_ulen) > ((char *)plast+1)) printf(" (only %lu bytes in dump file)\n", (u_long)((char *)plast - (char *)pdata + 1)); if (ntohs(pudp->uh_ulen) > 0) { if (dump_packet_data) PrintRawData(" data", pdata, plast, TRUE); } } void printpacket( int len, int tlen, void *phys, int phystype, struct ip *pip, void *plast, tcb *tcb) { if (len == 0) /* original length unknown */ printf("\tSaved Length: %d\n", tlen); else if (len == tlen) printf("\tPacket Length: %d\n", len); else printf("\tPacket Length: %d (saved length %d)\n", len,tlen); printf("\tCollected: %s\n", ts2ascii(¤t_time)); if (phys) { switch(phystype) { case PHYS_ETHER: printeth_packet(phys); break; default: printf("\tPhysical layer: %d (not understood)\n", phystype); break; } } /* it's always supposed to be an IP packet */ printip_packet(pip,plast); /* this will fail if it's not TCP */ printtcp_packet(pip,plast,tcb); /* this will fail if it's not UDP */ printudp_packet(pip,plast); } static char * ParenServiceName( portnum port) { char *pname; static char buf[80]; pname = ServiceName(port); if (!pname || isdigit((int)(*pname))) return(""); snprintf(buf,sizeof(buf),"(%s)",pname); return(buf); } static char * ParenHostName( struct ipaddr addr) { char *pname; static char buf[80]; pname = HostName(addr); if (!pname || isdigit((int)(*pname))) return(""); snprintf(buf,sizeof(buf),"(%s)",pname); return(buf); } void PrintRawData( char *label, void *pfirst, void *plast, Bool octal) /* hex or octal? */ { int lcount = 0; int count = (char *)plast - (char *)pfirst + 1; u_char *pch = pfirst; if (count <= 0) return; printf("========================================\n"); printf("%s (%d bytes):\n", label, count); while (pch <= (u_char *) plast) { if ((*pch == '\r') && (*(pch+1) == '\n')) { printf("\n"); ++pch; lcount = 0; } else if (isprint(*pch)) { putchar(*pch); lcount+=1; } else { if (octal) { printf("\\%03o", *pch); lcount+=4; } else { printf("0x%02x", *pch); lcount+=4; } } if (lcount > 70) { printf("\\\n"); lcount = 0; } ++pch; } if (lcount != 0) printf("\\\n"); printf("========================================\n"); } void PrintRawDataHex( char *label, void *pfirst, void *plast) { PrintRawData(label,pfirst,plast,FALSE); } static void printipv6( struct ipv6 *pipv6, void *plast) { int ver = (ntohl(pipv6->ip6_ver_tc_flabel) & 0xF0000000) >> 28; int tc = (ntohl(pipv6->ip6_ver_tc_flabel) & 0x0F000000) >> 24; struct ipv6_ext *pheader; u_char nextheader; printf("\tIP Vers: %d\n", ver); printf("\tIP Srce: %s\n", ipv6addr2str(pipv6->ip6_saddr)); printf("\tIP Dest: %s\n", ipv6addr2str(pipv6->ip6_daddr)); printf("\t Class: %d\n", tc); printf("\t Flow: %d\n", (ntohl(pipv6->ip6_ver_tc_flabel) & 0x00FFFFFF)); printf("\t PLEN: %d\n", ntohs(pipv6->ip6_lngth)); printf("\t NXTH: %u (%s)\n", pipv6->ip6_nheader, ipv6_header_name(pipv6->ip6_nheader)); printf("\t HLIM: %u\n", pipv6->ip6_hlimit); /* walk the extension headers */ nextheader = pipv6->ip6_nheader; pheader = (struct ipv6_ext *)(pipv6+1); while (pheader) { u_char old_nextheader = nextheader; pheader = ipv6_nextheader(pheader,&nextheader); /* if there isn't a "next", then this isn't an extension header */ if (pheader) { printf("\tIPv6 Extension Header Type %d (%s)\n", old_nextheader, ipv6_header_name(old_nextheader)); /* FIXME - want to give details, but I need some examples first! */ /* (hint to users!!!...) */ } } } /* * ipv6addr2str: return the string rep. of an ipv6 address */ static char * ipv6addr2str( struct in6_addr addr) { static char adr[INET6_ADDRSTRLEN]; my_inet_ntop(AF_INET6, (char *)&addr, (char *)adr, INET6_ADDRSTRLEN); return(adr); } /* Shawn's version... */ /* Lots of machines HAVE this, but they give slightly different formats */ /* and it messes up my cross-platform testing. I'll just do it the */ /* "one true" way! :-) */ char * Ether_Ntoa (struct ether_addr *e) { unsigned char *pe; static char buf[30]; pe = (unsigned char *) e; snprintf(buf,sizeof(buf),"%02x:%02x:%02x:%02x:%02x:%02x", pe[0], pe[1], pe[2], pe[3], pe[4], pe[5]); return(buf); } /* represent the sequence numbers absolute or relative to 0 */ /* N.B.: will fail will sequence space wraps around more than once */ static char * PrintSeqRep( tcb *ptcb, u_long seq) { static char buf[20]; if (ptcb && print_seq_zero && (ptcb->syn_count>0)) { /* Relative form */ sprintf(buf,hex?"0x%08lx(R)":"%lu(R)", seq - ptcb->syn); } else { /* Absolute form */ sprintf(buf,hex?"0x%08lx":"%lu",seq); } return(buf); } tcptrace-6.6.7/rexmit.c0100644001217500001440000005173607756700115014547 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/rexmit.c,v 5.14 2003/11/19 14:38:05 sdo Exp $"; /* * rexmit.c -- Determine if a segment is a retransmit and perform RTT stats * * Author: Sita Menon * Computer Science Department * Ohio University * Date: Tue Nov 1, 1994 */ /* This function rexmit() checks to see if a particular packet is a retransmit. It returns 0 if it isn't a retransmit and returns the number of bytes retransmitted if it is a retransmit - considering the fact that it might be a partial retransmit. It can also keep track of packets that come out of order. */ /* locally global variables*/ /* local routine definitions*/ static void insert_seg_between (quadrant *, segment *, segment *, segment *); static void collapse_quad (quadrant *); static segment *create_seg (seqnum, seglen); static quadrant *whichquad (seqspace *, seqnum); static quadrant *create_quadrant (void); static int addseg (tcb *, quadrant *, seqnum, seglen, Bool *); static void rtt_retrans (tcb *, segment *); static enum t_ack rtt_ackin (tcb *, segment *, Bool rexmit); static void dump_rtt_sample (tcb *, segment *, double); static void graph_rtt_sample (tcb *, segment *, unsigned long); /* * rexmit: is the specified segment a retransmit? * returns: number of retransmitted bytes in segment, 0 if not a rexmit * *pout_order to to TRUE if segment is out of order */ int rexmit (tcb * ptcb, seqnum seq, seglen len, Bool * pout_order) { seqspace *sspace = ptcb->ss; seqnum seq_last = seq + len - 1; quadrant *pquad; int rexlen = 0; /* unless told otherwise, it's IN order */ *pout_order = FALSE; /* see which quadrant it starts in */ pquad = whichquad (sspace, seq); /* add the new segment into the segment database */ if (BOUNDARY (seq, seq_last)) { /* lives in two different quadrants (can't be > 2) */ seqnum seq1, seq2; u_long len1, len2; /* in first quadrant */ seq1 = seq; len1 = LAST_SEQ (QUADNUM (seq1)) - seq1 + 1; rexlen = addseg (ptcb, pquad, seq1, len1, pout_order); /* in second quadrant */ seq2 = FIRST_SEQ (QUADNUM (seq_last)); len2 = len - len1; rexlen += addseg (ptcb, pquad->next, seq2, len2, pout_order); } else { rexlen = addseg (ptcb, pquad, seq, len, pout_order); } return (rexlen); } /********************************************************************/ static int addseg (tcb * ptcb, quadrant * pquad, seqnum thisseg_firstbyte, seglen len, Bool * pout_order) { seqnum thisseg_lastbyte = thisseg_firstbyte + len - 1; segment *pseg; segment *pseg_new; int rexlen = 0; Bool split = FALSE; /* check each segment in the segment list */ pseg = pquad->seglist_head; /* (optimize expected case, it just goes at the end) */ if (pquad->seglist_tail && (thisseg_firstbyte > pquad->seglist_tail->seq_lastbyte)) pseg = NULL; for (; pseg != NULL; pseg = pseg->next) { if (thisseg_firstbyte > pseg->seq_lastbyte) { /* goes beyond this one */ continue; } if (thisseg_firstbyte < pseg->seq_firstbyte) { /* starts BEFORE this recorded segment */ /* if it also FINISHES before this segment, then it's */ /* out of order (otherwise it's a resend the collapsed */ /* multiple segments into one */ if (thisseg_lastbyte < pseg->seq_lastbyte) *pout_order = TRUE; /* make a new segment record for it */ pseg_new = create_seg (thisseg_firstbyte, len); insert_seg_between (pquad, pseg_new, pseg->prev, pseg); /* see if we overlap the next segment in the list */ if (thisseg_lastbyte < pseg->seq_firstbyte) { /* we don't overlap, so we're done */ return (rexlen); } else { /* overlap him, split myself in 2 */ /* adjust new piece to mate with old piece */ pseg_new->seq_lastbyte = pseg->seq_firstbyte - 1; /* pretend to be just the second half of this segment */ pseg_new->seq_lastbyte = pseg->seq_firstbyte - 1; thisseg_firstbyte = pseg->seq_firstbyte; len = thisseg_lastbyte - thisseg_firstbyte + 1; /* fall through */ } } /* no ELSE, we might have fallen through */ if (thisseg_firstbyte >= pseg->seq_firstbyte) { /* starts within this recorded sequence */ ++pseg->retrans; if (!split) rtt_retrans (ptcb, pseg); /* must be a retransmission */ if (thisseg_lastbyte <= pseg->seq_lastbyte) { /* entirely contained within this sequence */ rexlen += len; return (rexlen); } /* else */ /* we extend beyond this sequence, split ourself in 2 */ /* (pretend to be just the second half of this segment) */ split = TRUE; rexlen += pseg->seq_lastbyte - thisseg_firstbyte + 1; thisseg_firstbyte = pseg->seq_lastbyte + 1; len = thisseg_lastbyte - thisseg_firstbyte + 1; } } /* if we got to the end, then it doesn't go BEFORE anybody, */ /* tack it onto the end */ pseg_new = create_seg (thisseg_firstbyte, len); insert_seg_between (pquad, pseg_new, pquad->seglist_tail, NULL); return (rexlen); } /**********************************************************************/ static segment * create_seg (seqnum seq, seglen len) { segment *pseg; pseg = (segment *) MallocZ (sizeof (segment)); pseg->time = current_time; pseg->seq_firstbyte = seq; pseg->seq_lastbyte = seq + len - 1; return (pseg); } /**********************************************************************/ static quadrant * create_quadrant (void) { quadrant *pquad; pquad = (quadrant *) MallocZ (sizeof (quadrant)); return (pquad); } /********************************************************************/ static quadrant * whichquad (seqspace * sspace, seqnum seq) { quadnum qid = QUADNUM (seq); quadrant *pquad; int qix; int qix_next; int qix_opposite; int qix_prev; /* optimize expected case, it's all set up correctly already */ qix = qid - 1; if ((pquad = sspace->pquad[qix]) && pquad->next && pquad->prev) return (pquad); /* determine indices of "neighbor" quadrants */ qix_next = (qix + 1) % 4; qix_opposite = (qix + 2) % 4; qix_prev = (qix + 3) % 4; /* make sure that THIS quadrant exists */ if (sspace->pquad[qix] == NULL) { sspace->pquad[qix] = create_quadrant (); } /* make sure that the quadrant AFTER this one exists */ if (sspace->pquad[qix_next] == NULL) { sspace->pquad[qix_next] = create_quadrant (); } /* make sure that the quadrant BEFORE this one exists */ if (sspace->pquad[qix_prev] == NULL) { sspace->pquad[qix_prev] = create_quadrant (); } /* clear out the opposite side, we don't need it anymore */ if (sspace->pquad[qix_opposite] != NULL) { freequad (&sspace->pquad[qix_opposite]); sspace->pquad[qix_opposite] = NULL; } /* set all the pointers */ sspace->pquad[qix]->prev = sspace->pquad[qix_prev]; sspace->pquad[qix]->next = sspace->pquad[qix_next]; sspace->pquad[qix_next]->prev = sspace->pquad[qix]; sspace->pquad[qix_prev]->next = sspace->pquad[qix]; sspace->pquad[qix_next]->next = NULL; sspace->pquad[qix_prev]->prev = NULL; return (sspace->pquad[qix]); } /*********************************************************************/ static void collapse_quad (quadrant * pquad) { Bool freed; segment *pseg; segment *tmpseg; if ((pquad == NULL) || (pquad->seglist_head == NULL)) return; pseg = pquad->seglist_head; while (pseg != NULL) { freed = FALSE; if (pseg->next == NULL) break; /* if this segment has not been ACKed, then neither have the */ /* ones that follow, so no need to continue */ if (!pseg->acked) break; /* if this segment and the next one have both been ACKed and they */ /* "fit together", then collapse them into one (larger) segment */ if (pseg->acked && pseg->next->acked && (pseg->seq_lastbyte + 1 == pseg->next->seq_firstbyte)) { pseg->seq_lastbyte = pseg->next->seq_lastbyte; /* the new ACK count is the ACK count of the later segment */ pseg->acked = pseg->next->acked; /* the new "transmit time" is the greater of the two */ if (tv_gt (pseg->next->time, pseg->time)) pseg->time = pseg->next->time; tmpseg = pseg->next; pseg->next = pseg->next->next; if (pseg->next != NULL) pseg->next->prev = pseg; if (tmpseg == pquad->seglist_tail) pquad->seglist_tail = pseg; free (tmpseg); freed = TRUE; } if (!freed) pseg = pseg->next; /* else, see if the next one also can be collapsed into me */ } /* see if the quadrant is now "full" */ if ((pquad->seglist_head->seq_lastbyte - pquad->seglist_head->seq_firstbyte + 1) == QUADSIZE) { pquad->full = TRUE; } } static void insert_seg_between (quadrant * pquad, segment * pseg_new, segment * pseg_before, segment * pseg_after) { /* fix forward pointers */ pseg_new->next = pseg_after; if (pseg_after != NULL) { pseg_after->prev = pseg_new; } else { /* I'm the tail of the list */ pquad->seglist_tail = pseg_new; } /* fix backward pointers */ pseg_new->prev = pseg_before; if (pseg_before != NULL) { pseg_before->next = pseg_new; } else { /* I'm the head of the list */ pquad->seglist_head = pseg_new; } } static enum t_ack rtt_ackin (tcb * ptcb, segment * pseg, Bool rexmit_prev) { double etime_rtt; enum t_ack ret; u_long current_size = 0; /* how long did it take */ etime_rtt = elapsed (pseg->time, current_time); if (rexmit_prev) { /* first, check for the situation in which the segment being ACKed */ /* was sent a while ago, and we've been piddling around */ /* retransmitting lost segments that came before it */ ptcb->rtt_last = 0.0; /* don't use this sample, it's very long */ etime_rtt = 0.0; ++ptcb->rtt_nosample; /* no sample, even though not ambig */ ret = NOSAMP; } else if (pseg->retrans == 0) { ptcb->rtt_last = etime_rtt; if ((ptcb->rtt_min == 0) || (ptcb->rtt_min > etime_rtt)) ptcb->rtt_min = etime_rtt; if (ptcb->rtt_max < etime_rtt) ptcb->rtt_max = etime_rtt; ptcb->rtt_sum += etime_rtt; ptcb->rtt_sum2 += etime_rtt * etime_rtt; ++ptcb->rtt_count; /* Collecting stats for full size segments */ /* Calculate the current_size of the segment, taking care of possible sequence space wrap around */ if (pseg->seq_lastbyte > pseg->seq_firstbyte) current_size = pseg->seq_lastbyte - pseg->seq_firstbyte + 1; else /* MAX_32 is 0x1,0000,0000 So we don't need the "+ 1" while calculating the size here */ current_size = (MAX_32 - pseg->seq_firstbyte) + pseg->seq_lastbyte; if (!ptcb->rtt_full_size || (ptcb->rtt_full_size < current_size)) { /* Found a bigger segment.. Reset all stats. */ ptcb->rtt_full_size = current_size; ptcb->rtt_full_min = etime_rtt; ptcb->rtt_full_max = etime_rtt; ptcb->rtt_full_sum = etime_rtt; ptcb->rtt_full_sum2 = (etime_rtt * etime_rtt); ptcb->rtt_full_count = 1; } else if (ptcb->rtt_full_size == current_size) { ++ptcb->rtt_full_count; if ((ptcb->rtt_full_min == 0) || (ptcb->rtt_full_min > etime_rtt)) ptcb->rtt_full_min = etime_rtt; if (ptcb->rtt_full_max < etime_rtt) ptcb->rtt_full_max = etime_rtt; ptcb->rtt_full_sum += etime_rtt; ptcb->rtt_full_sum2 += (etime_rtt * etime_rtt); } ret = NORMAL; } else { /* retrans, can't use it */ if ((ptcb->rtt_min_last == 0) || (ptcb->rtt_min_last > etime_rtt)) ptcb->rtt_min_last = etime_rtt; if (ptcb->rtt_max_last < etime_rtt) ptcb->rtt_max_last = etime_rtt; ptcb->rtt_sum_last += etime_rtt; ptcb->rtt_sum2_last += etime_rtt * etime_rtt; ++ptcb->rtt_count_last; ++ptcb->rtt_amback; /* ambiguous ACK */ /* numbers not useful for plotting/dumping */ ptcb->rtt_last = 0.0; etime_rtt = 0.0; ret = AMBIG; } /* dump RTT samples, if asked */ if (dump_rtt && (etime_rtt != 0.0)) { dump_rtt_sample (ptcb, pseg, etime_rtt); } /* plot RTT samples, if asked */ if (graph_rtt && (pseg->retrans == 0)) { graph_rtt_sample (ptcb, pseg, etime_rtt); } return (ret); } static void rtt_retrans (tcb * ptcb, segment * pseg) { double etime; if (!pseg->acked) { /* if it was acked, then it's been collapsed and these */ /* are no longer meaningful */ etime = elapsed (pseg->time, current_time); if (pseg->retrans > ptcb->retr_max) ptcb->retr_max = pseg->retrans; if (etime > ptcb->retr_max_tm) ptcb->retr_max_tm = etime; if ((ptcb->retr_min_tm == 0) || (etime < ptcb->retr_min_tm)) ptcb->retr_min_tm = etime; ptcb->retr_tm_sum += etime; ptcb->retr_tm_sum2 += etime * etime; ++ptcb->retr_tm_count; } pseg->time = current_time; } enum t_ack ack_in (tcb * ptcb, seqnum ack, unsigned tcp_data_length, u_long eff_win) { quadrant *pquad; quadrant *pquad_prev; segment *pseg; Bool changed_one = FALSE; Bool intervening_xmits = FALSE; timeval last_xmit = { 0, 0 }; enum t_ack ret = 0; enum dup_ack_handling { BSD_VERSION = 1, /* Handling of duplicate ack's based on the specifications of BSD code */ LEGACY_VERSION = 2 /* Handling of duplicate ack's according to the old versions of "tcptrace" */ }; enum dup_ack_handling dup_ack_type; /* default type is the code based on BSD specifications */ /* check each segment in the segment list for the PREVIOUS quadrant */ pquad = whichquad (ptcb->ss, ack); pquad_prev = pquad->prev; for (pseg = pquad_prev->seglist_head; pseg != NULL; pseg = pseg->next) { if (!pseg->acked) { ++pseg->acked; changed_one = TRUE; ++ptcb->rtt_cumack; /* keep track of the newest transmission */ if (tv_gt (pseg->time, last_xmit)) last_xmit = pseg->time; } } if (changed_one) collapse_quad (pquad_prev); /* check each segment in the segment list for the CURRENT quadrant */ changed_one = FALSE; for (pseg = pquad->seglist_head; pseg != NULL; pseg = pseg->next) { if (ack <= pseg->seq_firstbyte) { /* doesn't cover anything else on the list */ break; } /* keep track of the newest transmission */ if (tv_gt (pseg->time, last_xmit)) last_xmit = pseg->time; /* (ELSE) ACK covers this sequence */ if (pseg->acked) { /* default will be the BSD version, it can be changed by giving '--turn_off_BSD_dupack' switch */ dup_ack_type = (dup_ack_handling) ? BSD_VERSION : LEGACY_VERSION; /* default type is the specifications based on BSD code */ switch (dup_ack_type) { case LEGACY_VERSION: if (ack == (pseg->seq_lastbyte + 1)) { ++pseg->acked; /* already acked this one */ ++ptcb->rtt_dupack; /* one more duplicate ack */ ret = CUMUL; if (pseg->acked == 4) { /* some people say these CAN'T have data */ if ((tcp_data_length == 0) || triple_dupack_allows_data) { ++ptcb->rtt_triple_dupack; ret = TRIPLE; } } } break; case BSD_VERSION: /* For an acknowledgement to be considered as duplicate ACK in BSD version, following rules must be followed: 1) the received segment should contain the biggest ACK TCP has seen, 2) the length of the segment containing dup ack should be 0, 3) advertised window in this segment should not change, 4) and there must be some outstanding data */ if ((ack == (pseg->seq_lastbyte + 1)) && (ack == ptcb->ptwin->ack) && (tcp_data_length == 0) && (eff_win == ptcb->ptwin->win_last) && (ptcb->owin_tot > 0)) { ++ptcb->rtt_dupack; ret = CUMUL; /* already acked this one */ ++pseg->acked; if (pseg->acked == 4) { ++ptcb->rtt_triple_dupack; ret = TRIPLE; } } else pseg->acked = 1; /* received segment is not pure duplicate acknowledgement */ } continue; } /* ELSE !acked */ ++pseg->acked; changed_one = TRUE; if (ack == (pseg->seq_lastbyte + 1)) { /* if ANY preceding segment was xmitted after this one, the the RTT sample is invalid */ intervening_xmits = (tv_gt (last_xmit, pseg->time)); ret = rtt_ackin (ptcb, pseg, intervening_xmits); } else { /* cumulatively ACKed */ ++ptcb->rtt_cumack; ret = CUMUL; } } if (changed_one) collapse_quad (pquad); return (ret); } void freequad (quadrant ** ppquad) { segment *pseg; segment *pseg_next; pseg = (*ppquad)->seglist_head; while (pseg && pseg->next) { pseg_next = pseg->next; free (pseg); pseg = pseg_next; } if (pseg) free (pseg); free (*ppquad); *ppquad = NULL; } /* dump RTT samples in milliseconds */ static void dump_rtt_sample (tcb * ptcb, segment * pseg, double etime_rtt) { /* if the FILE is "-1", couldn't open file */ if (ptcb->rtt_dump_file == (MFILE *) - 1) { return; } /* if the FILE is NULL, open file */ if (ptcb->rtt_dump_file == (MFILE *) NULL) { MFILE *f; static char filename[15]; snprintf (filename, sizeof (filename), "%s2%s%s", ptcb->host_letter, ptcb->ptwin->host_letter, RTT_DUMP_FILE_EXTENSION); if ((f = Mfopen (filename, "w")) == NULL) { perror (filename); ptcb->rtt_dump_file = (MFILE *) - 1; } if (debug) fprintf (stderr, "RTT Sample file is '%s'\n", filename); ptcb->rtt_dump_file = f; } Mfprintf (ptcb->rtt_dump_file, "%lu %lu\n", pseg->seq_firstbyte, (int) (etime_rtt / 1000) /* convert from us to ms */ ); } /* graph RTT samples in milliseconds */ static void graph_rtt_sample (tcb * ptcb, segment * pseg, unsigned long etime_rtt) { char title[210]; /* if the FILE is NULL, open file */ if (ptcb->rtt_plotter == NO_PLOTTER) { char *name_from, *name_to; if (ptcb == &ptcb->ptp->a2b) { name_from = ptcb->ptp->a_endpoint; name_to = ptcb->ptp->b_endpoint; } else { name_from = ptcb->ptp->b_endpoint; name_to = ptcb->ptp->a_endpoint; } snprintf (title, sizeof (title), "%s_==>_%s (rtt samples)", name_from, name_to); ptcb->rtt_plotter = new_plotter (ptcb, NULL, title, "time", "rtt (ms)", RTT_GRAPH_FILE_EXTENSION); plotter_perm_color (ptcb->rtt_plotter, "red"); if (graph_time_zero) { /* set graph zero points */ plotter_nothing (ptcb->rtt_plotter, current_time); } ptcb->rtt_line = new_line (ptcb->rtt_plotter, "rtt", "red"); } if (etime_rtt <= 1) return; extend_line (ptcb->rtt_line, current_time, (int) (etime_rtt / 1000)); } Bool IsRTO(tcb *ptcb, seqnum s) { quadrant *pquad = whichquad(ptcb->ss,s); segment *pseg; for (pseg = pquad->seglist_head; pseg != NULL; pseg = pseg->next) { if (s == (pseg->seq_lastbyte+1)) { if (pseg->acked < 4) return TRUE; else return FALSE; } } return TRUE; } tcptrace-6.6.7/snoop.c0100644001217500001440000003013307756700115014361 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/snoop.c,v 5.15 2003/11/19 14:38:05 sdo Exp $"; /* * snoop.c - SNOOP specific file reading stuff * ipv6 addition by Nasseef Abukamail */ #ifdef GROK_SNOOP /* Defining SYS_STDIN which is fp for Windows and stdin for all other systems */ #ifdef __WIN32 static FILE *fp; #define SYS_STDIN fp #else #define SYS_STDIN stdin #endif /* __WIN32 */ /* information necessary to understand Solaris Snoop output */ struct snoop_file_header { char format_name[8]; /* should be "snoop\0\0\0" */ tt_uint32 snoop_version; /* current version is "2" */ tt_uint32 mac_type; /* hardware type */ }; /* snoop hardware types that we understand */ /* from sys/dlpi.h */ /* -- added prefix SNOOP_ to avoid name clash */ #define SNOOP_DL_ETHER 0x4 /* Ethernet Bus */ #define SNOOP_DL_FDDI 0x08 /* Fiber Distributed data interface */ #define SNOOP_DL_ATM 0x12 /* from Sun's "atmsnoop" */ struct snoop_packet_header { tt_uint32 len; tt_uint32 tlen; tt_uint32 blen; tt_uint32 unused3; tt_uint32 secs; tt_uint32 usecs; }; /* static buffers for reading */ static struct ether_header *pep; static int *pip_buf; static int snoop_mac_type; /* (Courtesy Jeffrey Semke, Pittsburgh Supercomputing Center) */ /* locate ip within FDDI according to RFC 1188 */ static int find_ip_fddi(char* buf, int iplen) { char* ptr, *ptr2; int i; u_char pattern[] = {0xAA, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00}; #define FDDIPATTERNLEN 7 ptr = ptr2 = buf; for (i=0; i < FDDIPATTERNLEN; i++) { ptr2 = memchr(ptr,pattern[i],(iplen - (int)(ptr - buf))); if (!ptr2) return (-1); if (i && (ptr2 != ptr)) { ptr2 = ptr2 - i - 1; i = -1; } ptr = ptr2 + 1; } return (ptr2 - buf + 1); } /* return the next packet header */ /* currently only works for ETHERNET and FDDI */ static int pread_snoop( struct timeval *ptime, int *plen, int *ptlen, void **pphys, int *pphystype, struct ip **ppip, void **pplast) { int packlen; int rlen; int len; struct snoop_packet_header hdr; int hlen; while (1) { hlen = sizeof(struct snoop_packet_header); /* read the packet header */ if ((rlen=fread(&hdr,1,hlen,SYS_STDIN)) != hlen) { if (rlen != 0) fprintf(stderr,"Bad snoop packet header\n"); return(0); } /* convert some stuff to host byte order */ hdr.tlen = ntohl(hdr.tlen); hdr.len = ntohl(hdr.len); hdr.blen = ntohl(hdr.blen); hdr.secs = ntohl(hdr.secs); hdr.usecs = ntohl(hdr.usecs); /* truncated packet length */ packlen = hdr.tlen; /* bug fix from Brian Utterback */ /* "blen" is the "total length of the packet", header+data+padding */ len = hdr.blen - hlen; if (snoop_mac_type == SNOOP_DL_ETHER) { /* read the ethernet header */ rlen=fread(pep,1,sizeof(struct ether_header),SYS_STDIN); if (rlen != sizeof(struct ether_header)) { fprintf(stderr,"Couldn't read ether header\n"); return(0); } /* read the rest of the packet */ len -= sizeof(struct ether_header); if (len >= IP_MAXPACKET) { /* sanity check */ fprintf(stderr, "pread_snoop: invalid next packet, IP len is %d, return EOF\n", len); return(0); } /* add VLAN support for John Tysko */ if ((ntohs(pep->ether_type) == ETHERTYPE_VLAN) && (len >= 4)){ struct { tt_uint16 vlan_num; tt_uint16 vlan_proto; } vlanh; /* adjust packet length */ len -= 4; /* read the vlan header */ if ((rlen=fread(&vlanh,1,sizeof(vlanh),SYS_STDIN)) != sizeof(vlanh)) { perror("pread_snoop: seek past vlan header"); } if ((ntohs(vlanh.vlan_proto) == ETHERTYPE_IP) || (ntohs(vlanh.vlan_proto) == ETHERTYPE_IPV6)) { /* make it appear to have been IP all along */ /* (note that both fields are still in N.B.O. */ pep->ether_type = vlanh.vlan_proto; if (debug > 2) printf("Removing VLAN header (vlan:%x)\n", vlanh.vlan_num); } else { if (debug > 2) printf("Skipping a VLAN packet (num:%x proto:%x)\n", vlanh.vlan_num, vlanh.vlan_proto); } } /* if it's not IP, then skip it */ if ((ntohs(pep->ether_type) != ETHERTYPE_IP) && (ntohs(pep->ether_type) != ETHERTYPE_IPV6)) { if (debug > 2) fprintf(stderr, "pread_snoop: not an IP packet (ethertype 0x%x)\n", ntohs(pep->ether_type)); /* discard the remainder */ /* N.B. fseek won't work - it could be a pipe! */ if ((rlen=fread(pip_buf,1,len,SYS_STDIN)) != len) { perror("pread_snoop: seek past non-IP"); } continue; } if ((rlen=fread(pip_buf,1,len,SYS_STDIN)) != len) { if (rlen != 0 && debug) fprintf(stderr, "Couldn't read %d more bytes, skipping last packet\n", len); return(0); } *ppip = (struct ip *) pip_buf; /* last byte in the IP packet */ *pplast = (char *)pip_buf+packlen-sizeof(struct ether_header)-1; } else if (snoop_mac_type == SNOOP_DL_FDDI) { /* FDDI is different */ int offset; /* read in the whole frame and search for IP header */ /* (assumes sizeof(fddi frame) < IP_MAXPACKET, should be true) */ if ((rlen=fread(pip_buf,1,len,SYS_STDIN)) != len) { if (debug && rlen != 0) fprintf(stderr, "Couldn't read %d more bytes, skipping last packet\n", len); return(0); } /* find the offset of the IP header inside the FDDI frame */ if ((offset = find_ip_fddi((void *)pip_buf,len)) == -1) { /* not found */ if (debug) printf("snoop.c: couldn't find next IP within FDDI\n"); return(-1); } /* copy to avoid alignment problems later (yucc) */ /* (we use memmove to make overlaps work) */ memmove(pip_buf,(char *)pip_buf+offset,len-offset); /* point to first and last char in IP packet */ *ppip = (struct ip *) ((void *)pip_buf); *pplast = (char *)pip_buf+len-offset-1; /* assume it's IP (else find_ip_fddi would have failed) */ pep->ether_type = htons(ETHERTYPE_IP); } else if (snoop_mac_type == SNOOP_DL_ATM) { /* there's a 12 byte header that we don't care about */ /* the last 2 of those 12 bytes are the packet type */ /* we don't care about hardware header, so we just discard */ struct atm_header { u_char junk[10]; u_short type; } atm_header; /* grab the 12-byte header */ rlen=fread(&atm_header,1,sizeof(struct atm_header),SYS_STDIN); if (rlen != sizeof(struct atm_header)) { fprintf(stderr,"Couldn't read ATM header\n"); return(0); } /* fill in the ethernet type */ /* we'll just assume that they're both in the same network byte order */ pep->ether_type = atm_header.type; /* read the rest of the packet */ len -= sizeof(struct atm_header); if (len >= IP_MAXPACKET) { /* sanity check */ fprintf(stderr, "pread_snoop: invalid next packet, IP len is %d, return EOF\n", len); return(0); } /* if it's not IP, then skip it */ if ((ntohs(pep->ether_type) != ETHERTYPE_IP) && (ntohs(pep->ether_type) != ETHERTYPE_IPV6)) { if (debug > 2) fprintf(stderr, "pread_snoop: not an IP packet (ethertype 0x%x)\n", ntohs(pep->ether_type)); /* discard the remainder */ /* N.B. fseek won't work - it could be a pipe! */ if ((rlen=fread(pip_buf,1,len,SYS_STDIN)) != len) { perror("pread_snoop: seek past non-IP"); } continue; } if ((rlen=fread(pip_buf,1,len,SYS_STDIN)) != len) { if (rlen != 0 && debug) fprintf(stderr, "Couldn't read %d more bytes, skipping last packet\n", len); return(0); } *ppip = (struct ip *) pip_buf; /* last byte in the IP packet */ *pplast = (char *)pip_buf+packlen-sizeof(struct ether_header)-1; } else { printf("snoop hardware type %d not understood\n", snoop_mac_type); exit(-1); } /* save pointer to physical header (always ethernet) */ *pphys = pep; *pphystype = PHYS_ETHER; ptime->tv_sec = hdr.secs; ptime->tv_usec = hdr.usecs; *plen = hdr.len; *ptlen = hdr.tlen; return(1); } } /* * is_snoop() is the input file in snoop format?? */ pread_f *is_snoop(char *filename) { struct snoop_file_header buf; int rlen; #ifdef __WIN32 if((fp = fopen(filename, "r")) == NULL) { perror(filename); exit(-1); } #endif /* __WIN32 */ /* read the snoop file header */ if ((rlen=fread(&buf,1,sizeof(buf),SYS_STDIN)) != sizeof(buf)) { rewind(SYS_STDIN); return(NULL); } /* first 8 characters should be "snoop\0\0\0" */ if (strcmp(buf.format_name,"snoop") != 0) return(NULL); /* OK, it's a snoop file */ /* convert some stuff to host byte order */ buf.snoop_version = ntohl(buf.snoop_version); buf.mac_type = ntohl(buf.mac_type); /* sanity check on snoop version */ if (debug) { printf("Snoop version: %ld\n", buf.snoop_version); } if (buf.snoop_version != 2) { printf("\ Warning! snoop file is version %ld.\n\ Tcptrace is only known to work with version 2\n", buf.snoop_version); } /* sanity check on hardware type */ snoop_mac_type = buf.mac_type; switch (buf.mac_type) { case SNOOP_DL_ETHER: if (debug) printf("Snoop hw type: %ld (Ethernet)\n", buf.mac_type); break; case SNOOP_DL_FDDI: if (debug) printf("Snoop hw type: %ld (FDDI)\n", buf.mac_type); break; case SNOOP_DL_ATM: if (debug) printf("Snoop hw type: %ld (ATM)\n", buf.mac_type); break; default: if (debug) printf("Snoop hw type: %ld (unknown)\n", buf.mac_type); printf("snoop hardware type %ld not understood\n", buf.mac_type); exit(-1); } /* OK, it's mine. Init some stuff */ pep = MallocZ(sizeof(struct ether_header)); pip_buf = MallocZ(IP_MAXPACKET); return(pread_snoop); } #endif /* GROK_SNOOP */ tcptrace-6.6.7/snprintf_vms.c0100644001217500001440000000032507504527572015760 0ustar mramadasusers#include #include int snprintf_vms(char *str, size_t len, const char *fmt, ...) { va_list ap; int n; va_start(ap, fmt); n = vsprintf(str, fmt, ap); va_end(ap); return n; } tcptrace-6.6.7/tcpdump.c0100644001217500001440000003430210131321002014650 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/tcpdump.c,v 5.24 2004/10/07 20:07:30 mramadas Exp $"; #include #ifdef GROK_TCPDUMP #include "tcpdump.h" #include /* external ref, in case missing in older version */ extern int pcap_offline_read(void *, int, pcap_handler, u_char *); /* global pointer, the pcap info header */ static pcap_t *pcap; /* Interaction with pcap */ static struct ether_header eth_header; #define EH_SIZE sizeof(struct ether_header) static char *ip_buf; /* [IP_MAXPACKET] */ static struct pcap_pkthdr *callback_phdr; static void *callback_plast; static int callback( char *user, struct pcap_pkthdr *phdr, char *buf) { int type; int iplen; static int offset = -1; struct vlanh{ tt_uint16 vlan_num; tt_uint16 vlan_proto; } *vlanhptr; iplen = phdr->caplen; if (iplen > IP_MAXPACKET) iplen = IP_MAXPACKET; type = pcap_datalink(pcap); /* remember the stuff we always save */ callback_phdr = phdr; /* kindof ugly, but about the only way to make them fit together :-( */ switch (type) { case 100: /* for some reason, the windows version of tcpdump is using */ /* this. It looks just like ethernet to me */ case PCAP_DLT_EN10MB: offset = find_ip_eth(buf); /* Here we check if we are dealing with Straight Ethernet encapsulation or PPPoE */ memcpy(ð_header, buf, EH_SIZE); /* save ether header */ switch (offset) { case EH_SIZE: /* straight Ethernet encapsulation */ memcpy((char *)ip_buf,buf+offset,iplen-offset); callback_plast = ip_buf+iplen-offset-1; break; case PPPOE_SIZE: /* PPPoE encapsulation */ /* we use a fake ether type here */ eth_header.ether_type = htons(ETHERTYPE_IP); memcpy((char *)ip_buf,buf+offset,iplen-offset); callback_plast = ip_buf+iplen-offset-1; break; case -1: /* Not an IP packet */ /* Let's check if it is a VLAN header that * caused us to receive -1, and if we had an IP * packet buried inside */ if (eth_header.ether_type == htons(ETHERTYPE_VLAN)) { vlanhptr=(struct vlanh*) (buf+EH_SIZE); if ( (ntohs(vlanhptr->vlan_proto) == ETHERTYPE_IP) || (ntohs(vlanhptr->vlan_proto) == ETHERTYPE_IPV6) ) { offset=EH_SIZE+sizeof(struct vlanh); memcpy((char *)ip_buf,buf+offset,iplen-offset); callback_plast = ip_buf+iplen-offset-1; /* Set ethernet type as whatever followed the dumb * VLAN header to prevent the rest of the code * from ignoring us. */ eth_header.ether_type=vlanhptr->vlan_proto; break; } } return (-1); default: /* should not be used, but we never know ... */ return (-1); } break; case PCAP_DLT_IEEE802: /* just pretend it's "normal" ethernet */ offset = 14; /* 22 bytes of IEEE cruft */ memcpy(ð_header,buf,EH_SIZE); /* save ether header */ memcpy(ip_buf,buf+offset,iplen-offset); callback_plast = (char *)ip_buf+iplen-offset-1; break; case PCAP_DLT_SLIP: memcpy(ip_buf,buf+16,iplen-16); callback_plast = (char *)ip_buf+iplen-16-1; break; case PCAP_DLT_PPP: /* deals with raw PPP and also with HDLC PPP frames */ offset = find_ip_ppp(buf); if (offset < 0) /* Not an IP packet */ return (-1); memcpy((char *)ip_buf,buf+offset,iplen-offset); callback_plast = ip_buf+iplen-offset-1; break; case PCAP_DLT_FDDI: if (offset < 0) offset = find_ip_fddi(buf,iplen); if (offset < 0) return(-1); memcpy((char *)ip_buf,buf+offset,iplen-offset); callback_plast = ip_buf+iplen-offset-1; break; case PCAP_DLT_NULL: /* no phys header attached */ offset = 4; memcpy((char *)ip_buf,buf+offset,iplen-offset); callback_plast = ip_buf+iplen-offset-1; break; case PCAP_DLT_ATM_RFC1483: /* ATM RFC1483 - LLC/SNAP ecapsulated atm */ memcpy((char*)ip_buf,buf+8,iplen-8); callback_plast = ip_buf+iplen-8-1; break; case PCAP_DLT_RAW: /* raw IP */ offset = 0; memcpy((char *)ip_buf,buf+offset,iplen-offset); callback_plast = ip_buf+iplen-offset-1; break; case PCAP_DLT_LINUX_SLL: /* linux cooked socket */ offset = 16; memcpy((char *)ip_buf, buf+offset, iplen-offset); callback_plast = ip_buf+iplen-offset-1; break; // Patch sent by Brandon Eisenamann to passby 802.11, LLC/SNAP // and Prism2 headers to get to the IP packet. case PCAP_DLT_IEEE802_11: offset=24+8;// 802.11 header + LLC/SNAP header memcpy((char *)ip_buf, buf+offset, iplen-offset); callback_plast = ip_buf+iplen-offset-1; break; case PCAP_DLT_IEEE802_11_RADIO: offset=64+24;//WLAN header + 802.11 header memcpy(ð_header,buf,EH_SIZE); // save ethernet header memcpy((char *)ip_buf, buf+offset, iplen-offset); callback_plast = ip_buf+iplen-offset-1; break; case PCAP_DLT_PRISM2: offset=144+24+8; // PRISM2+IEEE 802.11+ LLC/SNAP headers memcpy((char *)ip_buf, buf+offset, iplen-offset); callback_plast = ip_buf+iplen-offset-1; break; case PCAP_DLT_C_HDLC: offset=4; memcpy((char *)ip_buf, buf+offset, iplen-offset); callback_plast = (char *)ip_buf+iplen-offset-1; break; default: fprintf(stderr,"Don't understand link-level format (%d)\n", type); exit(1); } return(0); } /* currently only works for ETHERNET and FDDI */ static int pread_tcpdump( struct timeval *ptime, int *plen, int *ptlen, void **pphys, int *pphystype, struct ip **ppip, void **pplast) { int ret; while (1) { if ((ret = pcap_offline_read(pcap,1,(pcap_handler)callback,0)) != 1) { /* prob EOF */ if (ret == -1) { char *error; error = pcap_geterr(pcap); if (error && *error) fprintf(stderr,"PCAP error: '%s'\n",pcap_geterr(pcap)); /* else, it's just EOF */ } return(0); } /* at least one tcpdump implementation (AIX) seems to be */ /* storing NANOseconds in the usecs field of the timestamp. */ /* This confuses EVERYTHING. Try to compensate. */ { static Bool bogus_nanoseconds = FALSE; if ((callback_phdr->ts.tv_usec >= US_PER_SEC) || (bogus_nanoseconds)) { if (!bogus_nanoseconds) { fprintf(stderr, "tcpdump: attempting to adapt to bogus nanosecond timestamps\n"); bogus_nanoseconds = TRUE; } callback_phdr->ts.tv_usec /= 1000; } } /* fill in all of the return values */ *pphys = ð_header;/* everything assumed to be ethernet */ *pphystype = PHYS_ETHER; /* everything assumed to be ethernet */ *ppip = (struct ip *) ip_buf; *pplast = callback_plast; /* last byte in IP packet */ /* (copying time structure in 2 steps to avoid RedHat brain damage) */ ptime->tv_usec = callback_phdr->ts.tv_usec; ptime->tv_sec = callback_phdr->ts.tv_sec; *plen = callback_phdr->len; *ptlen = callback_phdr->caplen; /* if it's not IP, then skip it */ if ((ntohs(eth_header.ether_type) != ETHERTYPE_IP) && (ntohs(eth_header.ether_type) != ETHERTYPE_IPV6)) { if (debug > 2) fprintf(stderr,"pread_tcpdump: not an IP packet\n"); continue; } return(1); } } pread_f *is_tcpdump(char *filename) { char errbuf[100]; char *physname = ""; int type; #ifdef __WIN32 if ((pcap = pcap_open_offline(filename, errbuf)) == NULL) { #else if ((pcap = pcap_open_offline("-", errbuf)) == NULL) { #endif /* __WIN32 */ if (debug > 2) fprintf(stderr,"PCAP said: '%s'\n", errbuf); rewind(stdin); return(NULL); } if (debug) { printf("Using 'pcap' version of tcpdump\n"); if (debug > 1) { printf("\tversion_major: %d\n", pcap_major_version(pcap)); printf("\tversion_minor: %d\n", pcap_minor_version(pcap)); printf("\tsnaplen: %d\n", pcap_snapshot(pcap)); printf("\tlinktype: %d\n", pcap_datalink(pcap)); printf("\tswapped: %d\n", pcap_is_swapped(pcap)); } } /* check the phys type (pretend everything is ethernet) */ memset(ð_header,0,EH_SIZE); switch (type = pcap_datalink(pcap)) { case 100: case PCAP_DLT_EN10MB: /* OK, we understand this one */ physname = "Ethernet"; break; case PCAP_DLT_IEEE802: /* just pretend it's normal ethernet */ physname = "Ethernet"; break; case PCAP_DLT_SLIP: eth_header.ether_type = htons(ETHERTYPE_IP); physname = "Slip"; break; case PCAP_DLT_PPP: eth_header.ether_type = htons(ETHERTYPE_IP); physname = "PPP or HDLC PPP"; break; case PCAP_DLT_FDDI: eth_header.ether_type = htons(ETHERTYPE_IP); physname = "FDDI"; break; case PCAP_DLT_NULL: eth_header.ether_type = htons(ETHERTYPE_IP); physname = "NULL"; break; case PCAP_DLT_ATM_RFC1483: eth_header.ether_type = htons(ETHERTYPE_IP); physname = "ATM, LLC/SNAP encapsulated"; break; case PCAP_DLT_RAW: eth_header.ether_type = htons(ETHERTYPE_IP); physname = "RAW_IP"; break; case PCAP_DLT_LINUX_SLL: /* linux cooked socket type */ eth_header.ether_type = htons(ETHERTYPE_IP); physname = "Linux Cooked Socket"; break; case PCAP_DLT_IEEE802_11: eth_header.ether_type = htons(ETHERTYPE_IP); physname = "IEEE802_11"; break; case PCAP_DLT_IEEE802_11_RADIO: eth_header.ether_type = htons(ETHERTYPE_IP); physname = "IEEE802_11_RADIO"; break; case PCAP_DLT_PRISM2: eth_header.ether_type = htons(ETHERTYPE_IP); physname = "PRISM2"; break; case PCAP_DLT_C_HDLC: eth_header.ether_type = htons(ETHERTYPE_IP); physname = "Cisco HDLC"; break; default: fprintf(stderr,"tcptrace did not understand link format (%d)!\n",type); fprintf(stderr, "\t If you can give us a capture file with this link format\n\ \t or even better, a patch to decipher this format, we shall add it in, \n\ \t in a future release.\n"); rewind(stdin); return(NULL); } if (debug) fprintf(stderr,"Tcpdump format, physical type is %d (%s)\n", type, physname); /* set up some stuff */ ip_buf = MallocZ(IP_MAXPACKET); return(pread_tcpdump); } /* support for writing a new pcap file */ void PcapSavePacket( char *filename, struct ip *pip, void *plast) { static MFILE *f_savefile = NULL; struct pcap_pkthdr phdr; int wlen; if (f_savefile == NULL) { struct pcap_file_header fhdr; /* try to open the file */ if ((f_savefile = Mfopen(filename, "w")) == NULL) { perror(filename); exit(-1); } /* make up the header info it wants */ /* this comes from version 2.4, no pcap routine handy :-( */ fhdr.magic = TCPDUMP_MAGIC; fhdr.version_major = PCAP_VERSION_MAJOR; fhdr.version_minor = PCAP_VERSION_MINOR; fhdr.thiszone = 0; /* don't have this info, just make it up */ fhdr.snaplen = 1000000; /* don't have this info, just make it up */ fhdr.linktype = PCAP_DLT_EN10MB; /* always Ethernet (10Mb) */ fhdr.sigfigs = 0; /* write the header */ Mfwrite((char *)&fhdr, sizeof(fhdr), 1, f_savefile); if (debug) fprintf(stderr,"Created pcap save file '%s'\n", filename); } /* create the packet header */ /* (copying time structure in 2 steps to avoid RedHat brain damage) */ phdr.ts.tv_sec = current_time.tv_sec; phdr.ts.tv_usec = current_time.tv_usec; phdr.caplen = (char *)plast - (char *)pip + 1; phdr.caplen += EH_SIZE; /* add in the ether header */ phdr.len = EH_SIZE + ntohs(PIP_LEN(pip)); /* probably this */ /* write the packet header */ Mfwrite(&phdr, sizeof(phdr), 1, f_savefile); /* write a (bogus) ethernet header */ memset(ð_header,0,EH_SIZE); eth_header.ether_type = htons(ETHERTYPE_IP); Mfwrite(ð_header, sizeof(eth_header), 1, f_savefile); /* write the IP/TCP parts */ wlen = phdr.caplen - EH_SIZE; /* remove the ether header */ Mfwrite(pip, wlen, 1, f_savefile); } #else /* GROK_TCPDUMP */ void PcapSavePacket( char *filename, struct ip *pip, void *plast) { fprintf(stderr,"\ Sorry, packet writing only supported with the pcap library\n\ compiled into the program (See GROK_TCPDUMP)\n"); exit(-2); } #endif /* GROK_TCPDUMP */ tcptrace-6.6.7/tcpdump.h0100644001217500001440000002126707756700120014710 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ /* Added FDDI support 9/96 Jeffrey Semke, Pittsburgh Supercomputing Center */ static char const GCC_UNUSED rcsid_tcpdump[] = "@(#)$Header: /usr/local/cvs/tcptrace/tcpdump.h,v 5.11 2003/11/19 14:38:08 sdo Exp $"; #define SWAPLONG(y) \ ((((y)&0xff)<<24) | (((y)&0xff00)<<8) | (((y)&0xff0000)>>8) | (((y)>>24)&0xff)) #define SWAPSHORT(y) \ ( (((y)&0xff)<<8) | (((y)&0xff00)>>8) ) /* (from bpf.h) * Data-link level type codes. */ /* Note - Tue Feb 13, 2001 We're having trouble with the standard DLT_type because some OS versions, insist on renumbering these to different values. To avoid the problem, we're hijacking the types a little and adding the PCAP_ prefix. The constants all correspond to the "true" pcap numbers, so this should fix the problem */ /* currently supported */ #define PCAP_DLT_NULL 0 /* no link-layer encapsulation */ #define PCAP_DLT_EN10MB 1 /* Ethernet (10Mb) */ #define PCAP_DLT_IEEE802 6 /* IEEE 802 Networks */ #define PCAP_DLT_SLIP 8 /* Serial Line IP */ #define PCAP_DLT_PPP 9 /* Point-to-Point Protocol */ #define PCAP_DLT_FDDI 10 /* FDDI */ #define PCAP_DLT_ATM_RFC1483 11 /* LLC/SNAP encapsulated atm */ #define PCAP_DLT_RAW 12 /* raw IP */ #define PCAP_DLT_C_HDLC 104 /* Cisco HDLC */ #define PCAP_DLT_IEEE802_11 105 /* IEEE 802.11 wireless */ #define PCAP_DLT_LINUX_SLL 113 /* Linux cooked socket */ #define PCAP_DLT_PRISM2 119 /* Prism2 raw capture header */ #define PCAP_DLT_IEEE802_11_RADIO 127 /* 802.11 plus WLAN header */ /* NOT currently supported */ /* (mostly because I don't have an example file, send me one...) */ #define PCAP_DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */ #define PCAP_DLT_AX25 3 /* Amateur Radio AX.25 */ #define PCAP_DLT_PRONET 4 /* Proteon ProNET Token Ring */ #define PCAP_DLT_CHAOS 5 /* Chaos */ #define PCAP_DLT_ARCNET 7 /* ARCNET */ #define PCAP_DLT_SLIP_BSDOS 13 /* BSD/OS Serial Line IP */ #define PCAP_DLT_PPP_BSDOS 14 /* BSD/OS Point-to-point Protocol */ /* tcpdump file header */ #define TCPDUMP_MAGIC 0xa1b2c3d4 struct dump_file_header { u_int magic; u_short version_major; u_short version_minor; int thiszone; /* gmt to local correction */ u_int sigfigs; /* accuracy of timestamps */ u_int snaplen; /* max length saved portion of each pkt */ u_int linktype; /* data link type (PCAP_DLT_*) */ }; /* * Each packet in the dump file is prepended with this generic header. * This gets around the problem of different headers for different * packet interfaces. */ struct packet_header { u_int ts_secs; /* time stamp -- seconds */ u_int ts_usecs; /* time stamp -- useconds */ u_int caplen; /* length of portion present */ u_int len; /* length of this packet (off wire) */ }; #ifdef BY_HAND static void swap_hdr(struct dump_file_header *pdfh) { pdfh->version_major = SWAPSHORT(pdfh->version_major); pdfh->version_minor = SWAPSHORT(pdfh->version_minor); pdfh->thiszone = SWAPLONG(pdfh->thiszone); pdfh->sigfigs = SWAPLONG(pdfh->sigfigs); pdfh->snaplen = SWAPLONG(pdfh->snaplen); pdfh->linktype = SWAPLONG(pdfh->linktype); } static void swap_phdr(struct packet_header *pph) { pph->caplen = SWAPLONG(pph->caplen); pph->len = SWAPLONG(pph->len); pph->ts_secs = SWAPLONG(pph->ts_secs); pph->ts_usecs = SWAPLONG(pph->ts_usecs); } #endif /* BY_HAND */ /* (Courtesy Jeffrey Semke, Pittsburgh Supercomputing Center) */ /* locate ip within FDDI according to RFC 1188 */ static int find_ip_fddi(char* buf, int iplen) { char* ptr, *ptr2; int i; u_char pattern[] = {0xAA, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00}; #define FDDIPATTERNLEN 7 ptr = ptr2 = buf; for (i=0; i < FDDIPATTERNLEN; i++) { ptr2 = memchr(ptr,pattern[i],(iplen - (int)(ptr - buf))); if (!ptr2) return (-1); if (i && (ptr2 != ptr)) { ptr2 = ptr2 - i - 1; i = -1; } ptr = ptr2 + 1; } return (ptr2 - buf + 1); } /* This function determine the offset for the IP packet in an Ethernet frame */ /* We handle two cases : straight Ethernet encapsulation or PPPoE encapsulation */ /* Written by Yann Samama (ysamama@nortelnetworks.com) on july 18th, 2003 */ static int find_ip_eth(char* buf) { unsigned short ppp_proto_type; /* the protocol type field of the PPP header */ unsigned short eth_proto_type; /* the protocol type field of the Ethernet header */ int offset = -1; /* the calculated offset that this function will return */ memcpy(ð_proto_type, buf+12, 2); eth_proto_type = ntohs(eth_proto_type); switch (eth_proto_type) { case ETHERTYPE_IPV6: /* it's pure IPv6 over ethernet */ offset = 14; break; case ETHERTYPE_IP: /* it's pure IPv4 over ethernet */ offset = 14; break; case ETHERTYPE_PPPOE_SESSION: /* it's a PPPoE session */ memcpy(&ppp_proto_type, buf+20, 2); ppp_proto_type = ntohs(ppp_proto_type); if (ppp_proto_type == 0x0021) /* it's IP over PPPoE */ offset = PPPOE_SIZE; break; default: /* well, this is not an IP packet */ offset = -1; break; } return offset; } /* This function determine the offset for the IP packet in a PPP or HDLC PPP frame */ /* Written by Yann Samama (ysamama@nortelnetworks.com) on june 19th, 2003 */ static int find_ip_ppp(char* buf) { unsigned char ppp_byte0; /* the first byte of the PPP frame */ unsigned short ppp_proto_type; /* the protocol type field of the PPP header */ int offset = -1; /* the calculated offset that this function will return */ memcpy(&ppp_byte0, buf, 1); switch (ppp_byte0) { case 0xff: /* It is HDLC PPP encapsulation (2 bytes for HDLC and 2 bytes for PPP) */ memcpy(&ppp_proto_type, buf+2, 2); ppp_proto_type = ntohs(ppp_proto_type); if (ppp_proto_type == 0x21) /* That means HDLC PPP is encapsulating IP */ offset = 4; else /* That means PPP is *NOT* encapsulating IP */ offset = -1; break; case 0x21: /* It is raw PPP encapsulation of IP with compressed (1 byte) protocol field */ offset = 1; break; case 0x00: /* It is raw PPP encapsulation */ memcpy(&ppp_proto_type, buf, 2); ppp_proto_type = ntohs(ppp_proto_type); if (ppp_proto_type == 0x21) /* It is raw PPP encapsulation of IP with uncompressed (2 bytes) protocol field */ offset = 2; else /* That means PPP is *NOT* encapsulating IP */ offset = -1; break; default: /* There is certainly not an IP packet there ...*/ offset = -1; break; } return offset; } tcptrace-6.6.7/tcptrace.c0100644001217500001440000023774510127347512015044 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/tcptrace.c,v 5.59 2004/10/01 21:42:34 mramadas Exp $"; #include "file_formats.h" #include "modules.h" #include "version.h" /* version information */ char *tcptrace_version = VERSION; /* local routines */ static void Args(void); static void ModulesPerNonTCPUDP(struct ip *pip, void *plast); static void ModulesPerPacket(struct ip *pip, tcp_pair *ptp, void *plast); static void ModulesPerUDPPacket(struct ip *pip, udp_pair *pup, void *plast); static void ModulesPerConn(tcp_pair *ptp); static void ModulesPerUDPConn(udp_pair *pup); static void ModulesPerFile(char *filename); static void DumpFlags(void); static void ExplainOutput(void); static void FinishModules(void); static void Formats(void); static void Help(char *harg); static void Hints(void); static void ListModules(void); static void UsageModules(void); static void LoadModules(int argc, char *argv[]); static void CheckArguments(int *pargc, char *argv[]); static void ParseArgs(char *argsource, int *pargc, char *argv[]); static int ParseExtendedOpt(char *argsource, char *arg); static void ParseExtendedBool(char *argsource, char *arg); static void ParseExtendedVar(char *argsource, char *arg); static void ProcessFile(char *filename); static void QuitSig(int signum); static void Usage(void); static void BadArg(char *argsource, char *format, ...); static void Version(void); static char *FileToBuf(char *filename); /* option flags and default values */ Bool colorplot = TRUE; Bool dump_rtt = FALSE; Bool graph_rtt = FALSE; Bool graph_tput = FALSE; Bool graph_tsg = FALSE; Bool graph_segsize = FALSE; Bool graph_owin = FALSE; Bool graph_tline = FALSE; Bool hex = TRUE; Bool ignore_non_comp = FALSE; Bool dump_packet_data = FALSE; Bool print_rtt = FALSE; Bool print_owin = FALSE; Bool printbrief = TRUE; Bool printsuppress = FALSE; Bool printem = FALSE; Bool printallofem = FALSE; Bool printticks = FALSE; Bool warn_ooo = FALSE; Bool warn_printtrunc = FALSE; Bool warn_printbadmbz = FALSE; Bool warn_printhwdups = FALSE; Bool warn_printbadcsum = FALSE; Bool warn_printbad_syn_fin_seq = FALSE; Bool docheck_hw_dups = TRUE; Bool save_tcp_data = FALSE; Bool graph_time_zero = FALSE; Bool graph_seq_zero = FALSE; Bool print_seq_zero = FALSE; Bool graph_zero_len_pkts = TRUE; Bool plot_tput_instant = TRUE; Bool filter_output = FALSE; Bool show_title = TRUE; Bool show_rwinline = TRUE; Bool do_udp = FALSE; Bool resolve_ipaddresses = TRUE; Bool resolve_ports = TRUE; Bool verify_checksums = FALSE; Bool triple_dupack_allows_data = FALSE; Bool run_continuously = FALSE; Bool xplot_all_files = FALSE; Bool conn_num_threshold = FALSE; Bool ns_hdrs = TRUE; Bool dup_ack_handling = TRUE; Bool csv = FALSE; Bool tsv = FALSE; u_long remove_live_conn_interval = REMOVE_LIVE_CONN_INTERVAL; u_long nonreal_live_conn_interval = NONREAL_LIVE_CONN_INTERVAL; u_long remove_closed_conn_interval = REMOVE_CLOSED_CONN_INTERVAL; u_long update_interval = UPDATE_INTERVAL; u_long max_conn_num = MAX_CONN_NUM; int debug = 0; u_long beginpnum = 0; u_long endpnum = 0; u_long pnum = 0; u_long ctrunc = 0; u_long bad_ip_checksums = 0; u_long bad_tcp_checksums = 0; u_long bad_udp_checksums = 0; /* extended variables with values */ char *output_file_dir = NULL; char *output_file_prefix = NULL; char *xplot_title_prefix = NULL; char *xplot_args = NULL; char *sv = NULL; /* globals */ struct timeval current_time; int num_modules = 0; char *ColorNames[NCOLORS] = {"green", "red", "blue", "yellow", "purple", "orange", "magenta", "pink"}; char *comment; /* locally global variables */ static u_long filesize = 0; char **filenames = NULL; int num_files = 0; u_int numfiles; char *cur_filename; static char *progname; char *output_filename = NULL; static char *update_interval_st = NULL; static char *max_conn_num_st = NULL; static char *live_conn_interval_st = NULL; static char *nonreal_conn_interval_st = NULL; static char *closed_conn_interval_st = NULL; /* for elapsed processing time */ struct timeval wallclock_start; struct timeval wallclock_finished; /* first and last packet timestamp */ timeval first_packet = {0,0}; timeval last_packet = {0,0}; /* extended boolean options */ static struct ext_bool_op { char *bool_optname; Bool *bool_popt; Bool bool_default; char *bool_descr; } extended_bools[] = { {"showsacks", &show_sacks, TRUE, "show SACK blocks on time sequence graphs"}, {"showrexmit", &show_rexmit, TRUE, "mark retransmits on time sequence graphs"}, {"showoutorder", &show_out_order, TRUE, "mark out-of-order on time sequence graphs"}, {"showzerowindow", &show_zero_window, TRUE, "mark zero windows on time sequence graphs"}, {"showurg", &show_urg, TRUE, "mark packets with URGENT bit set on the time sequence graphs"}, {"showrttdongles", &show_rtt_dongles, TRUE, "mark non-RTT-generating ACKs with special symbols"}, {"showdupack3", &show_triple_dupack, TRUE, "mark triple dupacks on time sequence graphs"}, {"showzerolensegs", &graph_zero_len_pkts, TRUE, "show zero length packets on time sequence graphs"}, {"showzwndprobes", &show_zwnd_probes, TRUE, "show zero window probe packets on time sequence graphs"}, {"showtitle", &show_title, TRUE, "show title on the graphs"}, {"showrwinline", &show_rwinline, TRUE, "show yellow receive-window line in owin graphs"}, {"res_addr", &resolve_ipaddresses, TRUE, "resolve IP addresses into names (may be slow)"}, {"res_port", &resolve_ports, TRUE, "resolve port numbers into names"}, {"checksum", &verify_checksums, TRUE, "verify IP and TCP checksums"}, {"dupack3_data", &triple_dupack_allows_data, TRUE, "count a duplicate ACK carrying data as a triple dupack"}, {"check_hwdups", &docheck_hw_dups, TRUE, "check for 'hardware' dups"}, {"warn_ooo", &warn_ooo, TRUE, "print warnings when packets timestamps are out of order"}, {"warn_printtrunc", &warn_printtrunc, TRUE, "print warnings when packets are too short to analyze"}, {"warn_printbadmbz", &warn_printbadmbz, TRUE, "print warnings when MustBeZero TCP fields are NOT 0"}, {"warn_printhwdups", &warn_printhwdups, TRUE, "print warnings for hardware duplicates"}, {"warn_printbadcsum", &warn_printbadcsum, TRUE, "print warnings when packets with bad checksums"}, {"warn_printbad_syn_fin_seq", &warn_printbad_syn_fin_seq, TRUE, "print warnings when SYNs or FINs rexmitted with different sequence numbers"}, {"dump_packet_data", &dump_packet_data, TRUE, "print all packets AND dump the TCP/UDP data"}, {"continuous", &run_continuously, TRUE, "run continuously and don't provide a summary"}, {"print_seq_zero", &print_seq_zero, TRUE, "print sequence numbers as offset from initial sequence number"}, {"limit_conn_num", &conn_num_threshold, TRUE, "limit the maximum number of connections kept at a time in real-time mode"}, {"xplot_all_files", &xplot_all_files, TRUE, "display all generated xplot files at the end"}, {"ns_hdrs", &ns_hdrs, TRUE, "assume that ns has the useHeaders_flag true (uses IP+TCP headers)"}, {"csv", &csv, TRUE, "display the long output as comma separated values"}, {"tsv", &tsv, TRUE, "display the long output as tab separated values"}, {"turn_off_BSD_dupack", &dup_ack_handling, FALSE, "turn of the BSD version of the duplicate ack handling"}, }; #define NUM_EXTENDED_BOOLS (sizeof(extended_bools) / sizeof(struct ext_bool_op)) /* extended variable verification routines */ static u_long VerifyPositive(char *varname, char *value); static void VerifyUpdateInt(char *varname, char *value); static void VerifyMaxConnNum(char *varname, char *value); static void VerifyLiveConnInt(char *varname, char *value); static void VerifyNonrealLiveConnInt(char *varname, char*value); static void VerifyClosedConnInt(char *varname, char *value); /* extended variable options */ /* they must all be strings */ static struct ext_var_op { char *var_optname; /* what it's called when you set it */ char **var_popt; /* the variable itself */ void (*var_verify)(char *varname, char *value); /* function to call to verify that the value is OK (if non-null) */ char *var_descr; /* variable description */ } extended_vars[] = { {"output_dir", &output_file_dir, NULL, "directory where all output files are placed"}, {"output_prefix", &output_file_prefix, NULL, "prefix all output files with this string"}, {"xplot_title_prefix", &xplot_title_prefix, NULL, "prefix to place in the titles of all xplot files"}, {"update_interval", &update_interval_st, VerifyUpdateInt, "time interval for updates in real-time mode"}, {"max_conn_num", &max_conn_num_st, VerifyMaxConnNum, "maximum number of connections to keep at a time in real-time mode"}, {"remove_live_conn_interval", &live_conn_interval_st, VerifyLiveConnInt, "idle time after which an open connection is removed in real-time mode"}, {"endpoint_reuse_interval", &nonreal_conn_interval_st, VerifyNonrealLiveConnInt, "time interval of inactivity after which an open connection is considered closed"}, {"remove_closed_conn_interval", &closed_conn_interval_st, VerifyClosedConnInt, "time interval after which a closed connection is removed in real-time mode"}, {"xplot_args", &xplot_args, NULL, "arguments to pass to xplot, if we are calling xplot from here"}, {"sv", &sv, NULL, "separator to use for long output with -separated-values"}, }; #define NUM_EXTENDED_VARS (sizeof(extended_vars) / sizeof(struct ext_var_op)) // Extended option verification routines static void Ignore(char *argsource, char *opt); static void GrabOnly(char *argsource, char *opt); static void IgnoreUDP(char *argsource, char *opt); static void GrabOnlyUDP(char *argsource, char *opt); // Extended options to allow --iudp and --oudp to be able to // specifically ignore or output UDP connections. // For sake of clarity, options --itcp and --otcp shall also be added // to do the same job done by -i and -o options currently. static struct ext_opt { char *opt_name; // what it is called void (*opt_func) (char *argsource, char *opt); char *opt_descr; } extended_options[] = { {"iTCP",Ignore,"ignore specific TCP connections, same as -i"}, {"oTCP",GrabOnly,"only specific TCP connections, same as -o"}, {"iUDP",IgnoreUDP,"ignore specific UDP connections"}, {"oUDP",GrabOnlyUDP,"only specific UDP connections"} }; #define NUM_EXTENDED_OPTIONS (sizeof(extended_options)/sizeof(struct ext_opt)) static void Help( char *harg) { if (harg && *harg && strncmp(harg,"arg",3) == 0) { Args(); } else if (harg && *harg && strncmp(harg,"xarg",3) == 0) { UsageModules(); } else if (harg && *harg && strncmp(harg,"filt",4) == 0) { HelpFilter(); } else if (harg && *harg && strncmp(harg,"conf",4) == 0) { Formats(); CompFormats(); ListModules(); } else if (harg && *harg && strncmp(harg,"out",3) == 0) { ExplainOutput(); } else if (harg && *harg && ((strncmp(harg,"hint",4) == 0) || (strncmp(harg,"int",3) == 0))) { Hints(); } else { fprintf(stderr,"\ For help on specific topics, try: \n\ -hargs tell me about the program's arguments \n\ -hxargs tell me about the module arguments \n\ -hconfig tell me about the configuration of this binary \n\ -houtput explain what the output means \n\ -hfilter output filtering help \n\ -hhints usage hints \n"); } fprintf(stderr,"\n"); Version(); exit(0); } static void BadArg( char *argsource, char *format, ...) { va_list ap; fprintf(stderr,"Argument error"); if (argsource) fprintf(stderr," (from %s)", argsource); fprintf(stderr,": "); va_start(ap,format); vfprintf(stderr,format,ap); va_end(ap); Usage(); } static void Usage(void) { fprintf(stderr,"usage: %s [args...]* dumpfile [more files]*\n", progname); Help(NULL); exit(-2); } static void ExplainOutput(void) { fprintf(stderr,"\n\ OK, here's a sample output (using -l) and what each line means:\n\ \n\ 1 connection traced:\n\ #### how many distinct TCP connections did I see pieces of\n\ 13 packets seen, 13 TCP packets traced\n\ #### how many packets did I see, how many did I trace\n\ connection 1:\n\ #### I'll give you a separate block for each connection,\n\ #### here's the first one\n\ host a: 132.235.3.133:1084\n\ host b: 132.235.1.2:79 \n\ #### Each connection has two hosts. To shorten output\n\ #### and file names, I just give them letters.\n\ #### Connection 1 has hosts 'a' and 'b', connection 2\n\ #### has hosts 'c' and 'd', etc.\n\ complete conn: yes\n\ #### Did I see the starting FINs and closing SYNs? Was it reset?\n\ first packet: Wed Jul 20 16:40:30.688114\n\ #### At what time did I see the first packet from this connection?\n\ last packet: Wed Jul 20 16:40:41.126372\n\ #### At what time did I see the last packet from this connection?\n\ elapsed time: 0:00:10.438257\n\ #### Elapsed time, first packet to last packet\n\ total packets: 13\n\ #### total packets this connection\n\ \n\ #### ... Now, there's two columns of output (TCP is\n\ #### duplex) one for each direction of packets.\n\ #### I'll just explain one column...\n\ a->b: b->a:\n\ total packets: 7 total packets: 6\n\ #### packets sent in each direction\n\ ack pkts sent: 6 ack pkts sent: 6\n\ #### how many of the packets contained a valid ACK\n\ unique bytes sent: 11 unique bytes sent: 1152\n\ #### how many data bytes were sent (not counting retransmissions)\n\ actual data pkts: 2 actual data pkts: 1\n\ #### how many packets did I see that contained any amount of data\n\ actual data bytes: 11 actual data bytes: 1152\n\ #### how many data bytes did I see (including retransmissions)\n\ rexmt data pkts: 0 rexmt data pkts: 0\n\ #### how many data packets were retransmissions\n\ rexmt data bytes: 0 rexmt data bytes: 0\n\ #### how many bytes were retransmissions\n\ outoforder pkts: 0 outoforder pkts: 0\n\ #### how many packets were out of order (or I didn't see the first transmit!)\n\ SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1\n\ #### how many SYNs and FINs were sent in each direction\n\ mss requested: 1460 bytes mss requested: 1460 bytes\n\ #### What what the requested Maximum Segment Size\n\ max segm size: 9 bytes max segm size: 1152 bytes\n\ #### What was the largest segment that I saw\n\ min segm size: 2 bytes min segm size: 1152 bytes\n\ #### What was the smallest segment that I saw\n\ avg segm size: 5 bytes avg segm size: 1150 bytes\n\ #### What was the average segment that I saw\n\ max win adv: 4096 bytes max win adv: 4096 bytes\n\ #### What was the largest window advertisement that I sent\n\ min win adv: 4096 bytes min win adv: 4085 bytes\n\ #### What was the smallest window advertisement that I sent\n\ zero win adv: 0 times zero win adv: 0 times\n\ #### How many times did I sent a zero-sized window advertisement\n\ avg win adv: 4096 bytes avg win adv: 4092 bytes\n\ #### What was the average window advertisement that I sent\n\ initial window: 9 bytes initial window: 1152 bytes\n\ #### How many bytes in the first window (before the first ACK)\n\ initial window: 1 pkts initial window: 1 pkts\n\ #### How many packets in the first window (before the first ACK)\n\ throughput: 1 Bps throughput: 110 Bps\n\ #### What was the data throughput (Bytes/second)\n\ ttl stream length: 11 bytes ttl stream length: 1152 bytes\n\ #### What was the total length of the stream (from FIN to SYN)\n\ #### Note that this might be larger than unique data bytes because\n\ #### I might not have captured every segment!!!\n\ missed data: 0 bytes missed data: 0 bytes\n\ #### How many bytes of data were in the stream that I didn't see?\n\ RTT samples: 2 RTT samples: 1\n\ #### How many ACK's could I use to get an RTT sample\n\ RTT min: 45.9 ms RTT min: 19.4 ms\n\ #### What was the smallest RTT that I saw\n\ RTT max: 199.0 ms RTT max: 19.4 ms\n\ #### What was the largest RTT that I saw\n\ RTT avg: 122.5 ms RTT avg: 19.4 ms\n\ #### What was the average RTT that I saw\n\ RTT stdev: 0.0 ms RTT stdev: 0.0 ms\n\ #### What was the standard deviation of the RTT that I saw\n\ segs cum acked: 0 segs cum acked: 0\n\ #### How many segments were cumulatively ACKed (the ACK that I saw\n\ #### was for a later segment. Might be a lost ACK or a delayed ACK\n\ duplicate acks: 2 duplicate acks: 0\n\ #### How many duplicate ACKs did I see\n\ max # retrans: 0 max # retrans: 0\n\ #### What was the most number of times that a single segment\n\ #### was retransmitted\n\ min retr time: 0.0 ms min retr time: 0.0 ms\n\ #### What was the minimum time between retransmissions of a\n\ #### single segment\n\ max retr time: 0.0 ms max retr time: 0.0 ms\n\ #### What was the maximum time between retransmissions of a\n\ #### single segment\n\ avg retr time: 0.0 ms avg retr time: 0.0 ms\n\ #### What was the average time between retransmissions of a\n\ #### single segment\n\ sdv retr time: 0.0 ms sdv retr time: 0.0 ms\n\ #### What was the stdev between retransmissions of a\n\ #### single segment\n\ "); } static void Hints(void) { fprintf(stderr,"\n\ Hints (in no particular order):\n\ For the first run through a file, just use \"tcptrace file\" to see\n\ what's there\n\ For large files, use \"-t\" and I'll give you progress feedback as I go\n\ If there's a lot of hosts, particularly if they're non-local, use \"-n\"\n\ to disable address to name mapping which can be very slow\n\ If you're graphing results and only want the information for a few conns,\n\ from a large file, use the -o flag, as in \"tcptrace -o3,4,5 -o8-11\" to\n\ only process connections 3,4,5, and 8 through 11.\n\ Alternately, the '-oFILE' option allows you to write the connection\n\ list into a file using some other program (or the file PF from -f)\n\ Make sure the snap length in the packet grabber is big enough.\n\ Ethernet headers are 14 bytes, as are several others\n\ IPv4 headers are at least 20 bytes, but can be as large as 64 bytes\n\ TCP headers are at least 20 bytes, but can be as large as 64 bytes\n\ Therefore, if you want to be SURE that you see all of the options,\n\ make sure that you set the snap length to 14+64+64=142 bytes. If\n\ I'm not sure, I usually use 128 bytes. If you're SURE that there are no\n\ options (TCP usually has some), you still need at least 54 bytes.\n\ Compress trace files using gzip, I can uncompress them on the fly\n\ Stuff arguments that you always use into either the tcptrace resource file\n\ ($HOME/%s) or the envariable %s. If you need to turn\n\ them off again from the command line, you can use\n\ the \"+\" option flag.\n\ ", TCPTRACE_RC_FILE, TCPTRACE_ENVARIABLE); } static void Args(void) { int i; fprintf(stderr,"\n\ Note: these options are first read from the file $HOME/%s\n\ (if it exists), and then from the environment variable %s\n\ (if it exists), and finally from the command line\n\ ", TCPTRACE_RC_FILE, TCPTRACE_ENVARIABLE); fprintf(stderr,"\n\ Output format options\n\ -b brief output format\n\ -l long output format\n\ -r print rtt statistics (slower for large files)\n\ -W report on estimated congestion window (not generally useful)\n\ -q no output (if you just want modules output)\n\ Graphing options\n\ -T create throughput graph[s], (average over 10 segments, see -A)\n\ -R create rtt sample graph[s]\n\ -S create time sequence graph[s]\n\ -N create owin graph[s] (_o_utstanding data on _N_etwork)\n\ -F create segsize graph[s]\n\ -L create time line graph[s]\n\ -G create ALL graphs\n\ Output format detail options\n\ -D print in decimal\n\ -X print in hexadecimal\n\ -n don't resolve host or service names (much faster)\n\ -s use short names (list \"picard.cs.ohiou.edu\" as just \"picard\")\n\ Connection filtering options\n\ -iN ignore connection N (can use multiple times)\n\ -oN[-M] only connection N (or N through M). Arg can be used many times.\n\ If N is a file rather than a number, read list from file instead.\n\ -c ignore non-complete connections (didn't see syn's and fin's)\n\ -BN first segment number to analyze (default 1)\n\ -EN last segment number to analyze (default last in file)\n\ Graphing detail options\n\ -C produce color plot[s]\n\ -M produce monochrome (b/w) plot[s]\n\ -AN Average N segments for throughput graphs, default is 10\n\ -z zero axis options\n\ -z plot time axis from 0 rather than wall clock time (backward compat)\n\ -zx plot time axis from 0 rather than wall clock time\n\ -zy plot sequence numbers from 0 (time sequence graphs only)\n\ -zxy plot both axes from 0\n\ -y omit the (yellow) instantaneous throughput points in tput graph\n\ Misc options\n\ -Z dump raw rtt sample times to file[s]\n\ -p print all packet contents (can be very long)\n\ -P print packet contents for selected connections\n\ -t 'tick' off the packet numbers as a progress indication\n\ -fEXPR output filtering (see -hfilter)\n\ -v print version information and exit\n\ -w print various warning messages\n\ -d whistle while you work (enable debug, use -d -d for more output)\n\ -e extract contents of each TCP stream into file\n\ -h print help messages\n\ -u perform (minimal) UDP analysis too\n\ -Ofile dump matched packets to tcpdump file 'file'\n\ +[v] reverse the setting of the -[v] flag (for booleans)\n\ Dump File Names\n\ Anything else in the arguments is taken to be one or more filenames.\n\ The files can be compressed, see compress.h for configuration.\n\ If the dump file name is 'stdin', then we read from standard input\n\ rather than from a file\n\ "); fprintf(stderr,"\nExtended boolean options\n"); fprintf(stderr," (unambiguous prefixes also work)\n"); for (i=0; i < NUM_EXTENDED_BOOLS; ++i) { struct ext_bool_op *pbop = &extended_bools[i]; fprintf(stderr," --%-20s %s %s\n", pbop->bool_optname, pbop->bool_descr, (*pbop->bool_popt == pbop->bool_default)?"(default)":""); fprintf(stderr," --no%-18s DON'T %s %s\n", pbop->bool_optname, pbop->bool_descr, (*pbop->bool_popt != pbop->bool_default)?"(default)":""); } fprintf(stderr,"\nExtended variable options\n"); fprintf(stderr," (unambiguous prefixes also work)\n"); for (i=0; i < NUM_EXTENDED_VARS; ++i) { char buf[256]; /* plenty large, but checked below with strncpy */ struct ext_var_op *pvop = &extended_vars[i]; strncpy(buf,pvop->var_optname,sizeof(buf)-10); strcat(buf,"=\"STR\""); fprintf(stderr," --%-20s %s (default: '%s')\n", buf, pvop->var_descr, (*pvop->var_popt)?*pvop->var_popt:""); } fprintf(stderr,"\n\ Module options\n\ -xMODULE_SPECIFIC (see -hxargs for details)\n\ "); } static void Version(void) { fprintf(stderr,"Version: %s\n", tcptrace_version); fprintf(stderr," Compiled by '%s' at '%s' on machine '%s'\n", built_bywhom, built_when, built_where); } static void Formats(void) { int i; fprintf(stderr,"Supported Input File Formats:\n"); for (i=0; i < NUM_FILE_FORMATS; ++i) fprintf(stderr,"\t%-15s %s\n", file_formats[i].format_name, file_formats[i].format_descr); fprintf(stderr, "Try the tethereal program from the ethereal project to see if\n" "it can understand this capture format. If so, you may use \n" "tethereal to convert it to a tcpdump format file as in :\n" "\t tethereal -r inputfile -w outputfile\n" "and feed the outputfile to tcptrace\n"); } static void ListModules(void) { int i; fprintf(stderr,"Included Modules:\n"); for (i=0; i < NUM_MODULES; ++i) { fprintf(stderr," %-15s %s\n", modules[i].module_name, modules[i].module_descr); /* if (modules[i].module_usage) { */ /* fprintf(stderr," usage:\n"); */ /* (*modules[i].module_usage)(); */ /* } */ } } static void UsageModules(void) { int i; for (i=0; i < NUM_MODULES; ++i) { fprintf(stderr," Module %s:\n", modules[i].module_name); if (modules[i].module_usage) { fprintf(stderr," usage:\n"); (*modules[i].module_usage)(); } } } int main( int argc, char *argv[]) { int i; double etime; if (argc == 1) Help(NULL); /* initialize internals */ trace_init(); udptrace_init(); plot_init(); /* let modules start first */ LoadModules(argc,argv); /* parse the flags */ CheckArguments(&argc,argv); /* Used with -separated-values, * prints a '#' before each header line if --csv/--tsv is requested. */ comment = (char *)malloc(sizeof(char *) * 2); memset(comment, 0, sizeof(comment)); if(csv || tsv || (sv != NULL)) snprintf(comment, sizeof(comment), "#"); /* optional UDP */ // if (do_udp) // udptrace_init(); // if (run_continuously) { // trace_init(); //} /* get starting wallclock time */ gettimeofday(&wallclock_start, NULL); num_files = argc; printf("%s%d arg%s remaining, starting with '%s'\n", comment, num_files, num_files>1?"s":"", filenames[0]); if (debug>1) DumpFlags(); /* knock, knock... */ printf("%s%s\n\n", comment, VERSION); /* read each file in turn */ numfiles = argc; for (i=0; i < argc; ++i) { if (debug || (numfiles > 1)) { if (argc > 1) printf("%sRunning file '%s' (%d of %d)\n", comment, filenames[i], i+1, numfiles); else printf("%sRunning file '%s'\n", comment, filenames[i]); } /* do the real work */ ProcessFile(filenames[i]); } /* clean up output */ if (printticks) printf("\n"); /* get ending wallclock time */ gettimeofday(&wallclock_finished, NULL); /* general output */ fprintf(stdout, "%s%lu packets seen, %lu TCP packets traced", comment, pnum, tcp_trace_count); if (do_udp) fprintf(stdout,", %lu UDP packets traced", udp_trace_count); fprintf(stdout,"\n"); /* processing time */ etime = elapsed(wallclock_start,wallclock_finished); fprintf(stdout, "%selapsed wallclock time: %s, %d pkts/sec analyzed\n", comment, elapsed2str(etime), (int)((double)pnum/(etime/1000000))); /* actual tracefile times */ etime = elapsed(first_packet,last_packet); fprintf(stdout,"%strace %s elapsed time: %s\n", comment, (num_files==1)?"file":"files", elapsed2str(etime)); if (debug) { fprintf(stdout,"%s\tfirst packet: %s\n", comment, ts2ascii(&first_packet)); fprintf(stdout,"%s\tlast packet: %s\n", comment, ts2ascii(&last_packet)); } if (verify_checksums) { fprintf(stdout,"%sbad IP checksums: %ld\n", comment, bad_ip_checksums); fprintf(stdout,"%sbad TCP checksums: %ld\n", comment, bad_tcp_checksums); if (do_udp) fprintf(stdout,"%sbad UDP checksums: %ld\n", comment, bad_udp_checksums); } /* close files, cleanup, and etc... */ trace_done(); udptrace_done(); FinishModules(); plotter_done(); exit(0); } static void ProcessFile( char *filename) { pread_f *ppread; int ret; struct ip *pip; struct tcphdr *ptcp; int phystype; void *phys; /* physical transport header */ tcp_pair *ptp; int fix; int len; int tlen; void *plast; struct stat str_stat; long int location = 0; u_long fpnum = 0; Bool is_stdin = 0; static int file_count = 0; /* share the current file name */ cur_filename = filename; #ifdef __WIN32 /* If the file is compressed, exit (Windows version does not support compressed dump files) */ if (CompOpenHeader(filename) == (FILE *)-1) { exit(-1); } #else /* open the file header */ if (CompOpenHeader(filename) == NULL) { exit(-1); } #endif /* __WIN32 */ /* see how big the file is */ if (FileIsStdin(filename)) { filesize = 1; is_stdin = 1; } else { if (stat(filename,&str_stat) != 0) { perror("stat"); exit(1); } filesize = str_stat.st_size; } /* determine which input file format it is... */ ppread = NULL; if (debug>1) printf("NUM_FILE_FORMATS: %u\n", (unsigned)NUM_FILE_FORMATS); for (fix=0; fix < NUM_FILE_FORMATS; ++fix) { if (debug) fprintf(stderr,"Checking for file format '%s' (%s)\n", file_formats[fix].format_name, file_formats[fix].format_descr); rewind(stdin); ppread = (*file_formats[fix].test_func)(filename); if (ppread) { if (debug) fprintf(stderr,"File format is '%s' (%s)\n", file_formats[fix].format_name, file_formats[fix].format_descr); break; } else if (debug) { fprintf(stderr,"File format is NOT '%s'\n", file_formats[fix].format_name); } } /* if we haven't found a reader, then we can't continue */ if (ppread == NULL) { int count = 0; fprintf(stderr,"Unknown input file format\n"); Formats(); /* check for ASCII, a common problem */ rewind(stdin); while (1) { int ch; if ((ch = getchar()) == EOF) break; if (!isprint(ch)) break; if (++count >= 20) { /* first 20 are all ASCII */ fprintf(stderr,"\ \n\nHmmmm.... this sure looks like an ASCII input file to me.\n\ The first %d characters are all printable ASCII characters. All of the\n\ packet grabbing formats that I understand output BINARY files that I\n\ like to read. Could it be that you've tried to give me the readable \n\ output instead? For example, with tcpdump, you need to use:\n\ \t tcpdump -w outfile.dmp ; tcptrace outfile.dmp\n\ rather than:\n\ \t tcpdump > outfile ; tcptrace outfile\n\n\ ", count); exit(1); } } exit(1); } #ifndef __WIN32 /* open the file for processing */ if (CompOpenFile(filename) == NULL) { exit(-1); } #endif /* __WIN32 */ /* how big is it.... (possibly compressed) */ if (debug) { /* print file size */ printf("Trace file size: %lu bytes\n", filesize); } location = 0; /* inform the modules, if they care... */ ModulesPerFile(filename); /* count the files */ ++file_count; /* read each packet */ while (1) { /* read the next packet */ ret = (*ppread)(¤t_time,&len,&tlen,&phys,&phystype,&pip,&plast); if (ret == 0) /* EOF */ break; /* update global and per-file packet counters */ ++pnum; /* global */ ++fpnum; /* local to this file */ /* in case only a subset analysis was requested */ if (pnum < beginpnum) continue; if ((endpnum != 0) && (pnum > endpnum)) { --pnum; --fpnum; break; } /* check for re-ordered packets */ if (!ZERO_TIME(&last_packet)) { if (elapsed(last_packet , current_time) < 0) { /* out of order */ if ((file_count > 1) && (fpnum == 1)) { fprintf(stderr, "\ Warning, first packet in file %s comes BEFORE the last packet\n\ in the previous file. That will likely confuse the program, please\n\ order the files in time if you have trouble\n", filename); } else { static int warned = 0; if (warn_ooo) { fprintf(stderr, "\ Warning, packet %ld in file %s comes BEFORE the previous packet\n\ That will likely confuse the program, so be careful!\n", fpnum, filename); } else if (!warned) { fprintf(stderr, "\ Packets in file %s are out of order.\n\ That will likely confuse the program, so be careful!\n", filename); } warned = 1; } } } /* install signal handler */ if (fpnum == 1) { signal(SIGINT,QuitSig); } /* progress counters */ if (!printem && !printallofem && printticks) { if (CompIsCompressed()) location += tlen; /* just guess... */ if (((fpnum < 100) && (fpnum % 10 == 0)) || ((fpnum < 1000) && (fpnum % 100 == 0)) || ((fpnum < 10000) && (fpnum % 1000 == 0)) || ((fpnum >= 10000) && (fpnum % 10000 == 0))) { unsigned frac; if (debug) fprintf(stderr, "%s: ", cur_filename); if (is_stdin) { fprintf(stderr ,"%lu", fpnum); } else if (CompIsCompressed()) { frac = location/(filesize/100); if (frac <= 100) fprintf(stderr ,"%lu ~%u%% (compressed)", fpnum, frac); else fprintf(stderr ,"%lu ~100%% + %u%% (compressed)", fpnum, frac-100); } else { location = ftell(stdin); frac = location/(filesize/100); fprintf(stderr ,"%lu %u%%", fpnum, frac); } /* print elapsed time */ { double etime = elapsed(first_packet,last_packet); fprintf(stderr," (%s)", elapsed2str(etime)); } /* carriage return (but not newline) */ fprintf(stderr ,"\r"); } fflush(stderr); } /* quick sanity check, better be an IPv4/v6 packet */ if (!PIP_ISV4(pip) && !PIP_ISV6(pip)) { static Bool warned = FALSE; if (!warned) { fprintf(stderr, "Warning: saw at least one non-ip packet\n"); warned = TRUE; } if (debug) fprintf(stderr, "Skipping packet %lu, not an IPv4/v6 packet (version:%d)\n", pnum,IP_V(pip)); continue; } /* another sanity check, only understand ETHERNET right now */ if (phystype != PHYS_ETHER) { static int not_ether = 0; ++not_ether; if (not_ether == 5) { fprintf(stderr, "More non-ethernet packets skipped (last warning)\n"); fprintf(stderr, "\n\ If you'll send me a trace and offer to help, I can add support\n\ for other packet types, I just don't have a place to test them\n\n"); } else if (not_ether < 5) { fprintf(stderr, "Skipping packet %lu, not an ethernet packet\n", pnum); } /* else, just shut up */ continue; } /* print the packet, if requested */ if (printallofem || dump_packet_data) { printf("Packet %lu\n", pnum); printpacket(len,tlen,phys,phystype,pip,plast,NULL); } /* keep track of global times */ if (ZERO_TIME(&first_packet)) first_packet = current_time; last_packet = current_time; /* verify IP checksums, if requested */ if (verify_checksums) { if (!ip_cksum_valid(pip,plast)) { ++bad_ip_checksums; if (warn_printbadcsum) fprintf(stderr, "packet %lu: bad IP checksum\n", pnum); continue; } } /* find the start of the TCP header */ ret = gettcp (pip, &ptcp, &plast); /* if that failed, it's not TCP */ if (ret < 0) { udp_pair *pup; struct udphdr *pudp; /* look for a UDP header */ ret = getudp(pip, &pudp, &plast); if (do_udp && (ret == 0)) { pup = udpdotrace(pip,pudp,plast); /* verify UDP checksums, if requested */ if (verify_checksums) { if (!udp_cksum_valid(pip,pudp,plast)) { ++bad_udp_checksums; if (warn_printbadcsum) fprintf(stderr, "packet %lu: bad UDP checksum\n", pnum); continue; } } /* if it's a new connection, tell the modules */ if (pup && pup->packets == 1) ModulesPerUDPConn(pup); /* also, pass the packet to any modules defined */ ModulesPerUDPPacket(pip,pup,plast); } else if (ret < 0) { /* neither UDP not TCP */ ModulesPerNonTCPUDP(pip,plast); } continue; } else if (ret > 0) { /* not a valid TCP packet */ continue; } /* verify TCP checksums, if requested */ if (verify_checksums) { if (!tcp_cksum_valid(pip,ptcp,plast)) { ++bad_tcp_checksums; if (warn_printbadcsum) fprintf(stderr, "packet %lu: bad TCP checksum\n", pnum); continue; } } /* perform TCP packet analysis */ ptp = dotrace(pip,ptcp,plast); /* if it wasn't "interesting", we return NULL here */ if (ptp == NULL) continue; /* unless this connection is being ignored, tell the modules */ /* about it */ if (!ptp->ignore_pair) { /* if it's a new connection, tell the modules */ if (ptp->packets == 1) ModulesPerConn(ptp); /* also, pass the packet to any modules defined */ ModulesPerPacket(pip,ptp,plast); } /* for efficiency, only allow a signal every 1000 packets */ /* (otherwise the system call overhead will kill us) */ if (pnum % 1000 == 0) { sigset_t mask; sigemptyset(&mask); sigaddset(&mask,SIGINT); sigprocmask(SIG_UNBLOCK, &mask, NULL); /* signal can happen EXACTLY HERE, when data structures are consistant */ sigprocmask(SIG_BLOCK, &mask, NULL); } } /* set ^C back to the default */ /* (so we can kill the output if needed) */ { sigset_t mask; sigemptyset(&mask); sigaddset(&mask,SIGINT); sigprocmask(SIG_UNBLOCK, &mask, NULL); signal(SIGINT,SIG_DFL); } /* close the input file */ CompCloseFile(filename); } static void QuitSig( int signum) { printf("%c\n\n", 7); /* BELL */ printf("Terminating processing early on signal %d\n", signum); printf("Partial result after processing %lu packets:\n\n\n", pnum); FinishModules(); plotter_done(); trace_done(); udptrace_done(); exit(1); } void * MallocZ( int nbytes) { char *ptr; ptr = malloc(nbytes); if (ptr == NULL) { perror("Malloc failed, fatal\n"); fprintf(stderr,"\ when memory allocation fails, it's either because:\n\ 1) You're out of swap space, talk to your local sysadmin about making more\n\ (look for system commands 'swap' or 'swapon' for quick fixes)\n\ 2) The amount of memory that your OS gives each process is too little\n\ That's a system configuration issue that you'll need to discuss\n\ with the system administrator\n\ "); exit(2); } memset(ptr,'\00',nbytes); /* BZERO */ return(ptr); } void * ReallocZ( void *oldptr, int obytes, int nbytes) { char *ptr; ptr = realloc(oldptr,nbytes); if (ptr == NULL) { fprintf(stderr, "Realloc failed (%d bytes --> %d bytes), fatal\n", obytes, nbytes); perror("realloc"); exit(2); } if (obytes < nbytes) { memset((char *)ptr+obytes,'\00',nbytes-obytes); /* BZERO */ } return(ptr); } static void Ignore( char *argsource, char *opt) { char *o_arg; /* next part of arg is a filename or number list */ if (*opt == '\00') { BadArg(argsource, "Expected filename or number list *immediately* after -i / --iTCP\n"); } if (run_continuously) { fprintf(stderr, "Warning: cannot ignore connections in continuous mode\n"); } /* option is a list of connection numbers separated by commas */ /* option can be immediately "here" or given as a file name */ if (isdigit((int)(*opt))) // --iTCP1 case o_arg=opt; else { /* it's in a file */ /* open the file */ o_arg = FileToBuf(opt); /* if that fails, it's a command line error */ if (o_arg == NULL) BadArg(argsource, "Expected filename or number list *immediately* after -i/--iTCP\n"); } /* wherever we got it, o_arg is a connection list */ while (o_arg && *o_arg) { int num1,num2; if (sscanf(o_arg,"%d-%d",&num1,&num2) == 2) { /* process range */ if (num2 <= num1) { BadArg(argsource, "-iX-Y / --iTCPX-Y, must have X 1) printf("setting IgnoreConn(%d)\n", num1); IgnoreConn(num1++); } } else if (sscanf(o_arg,"%d",&num1) == 1) { /* single argument */ if (debug) printf("setting IgnoreConn(%d)\n", num1); IgnoreConn(num1); } else { /* error */ BadArg(argsource, "Don't understand conn number starting at '%s'\n", o_arg); } /* look for the next comma */ o_arg = strchr(o_arg,','); if (o_arg) ++o_arg; } } static void GrabOnly( char *argsource, char *opt) { char *o_arg; /* next part of arg is a filename or number list */ if (*opt == '\00') { BadArg(argsource, "Expected filename or number list *immediately* after -o / --oTCP\n"); } if (run_continuously) { fprintf(stderr, "Warning: cannot 'grab-only' connections in continuous mode\n"); } /* option is a list of connection numbers separated by commas */ /* option can be immediately "here" or given as a file name */ if (isdigit((int)(*opt))) { /* list is on the command line */ o_arg = opt; } else { /* it's in a file */ /* open the file */ o_arg = FileToBuf(opt); /* if that fails, it's a command line error */ if (o_arg == NULL) { BadArg(argsource,"Expected filename or number list *immediately* after -o / --oTCP\n"); } } /* wherever we got it, o_arg is a connection list */ while (o_arg && *o_arg) { int num1,num2; if (sscanf(o_arg,"%d-%d",&num1,&num2) == 2) { /* process range */ if (num2 <= num1) { BadArg(argsource, "-oX-Y / --oTCPX-Y, must have X 1) printf("setting OnlyConn(%d)\n", num1); OnlyConn(num1++); } } else if (sscanf(o_arg,"%d",&num1) == 1) { /* single argument */ if (debug) printf("setting OnlyConn(%d)\n", num1); OnlyConn(num1); } else { /* error */ BadArg(argsource, "Don't understand conn number starting at '%s'\n", o_arg); } /* look for the next comma */ o_arg = strchr(o_arg,','); if (o_arg) ++o_arg; } } static void IgnoreUDP( char *argsource, char *opt) { char *o_arg; /* next part of arg is a filename or number list */ if (*opt == '\00') { BadArg(argsource, "Expected filename or number list *immediately* after --iUDP\n"); } if (run_continuously) { fprintf(stderr, "Warning: cannot ignore UDP connections in continuous mode\n"); } /* option is a list of connection numbers separated by commas */ /* option can be immediately "here" or given as a file name */ if (isdigit((int)(*opt))) // --iUDP1 case o_arg=opt; else { /* it's in a file */ /* open the file */ o_arg = FileToBuf(opt); /* if that fails, it's a command line error */ if (o_arg == NULL) BadArg(argsource, "Expected filename or number list *immediately* after --iUDP\n"); } /* wherever we got it, o_arg is a connection list */ while (o_arg && *o_arg) { int num1,num2; if (sscanf(o_arg,"%d-%d",&num1,&num2) == 2) { /* process range */ if (num2 <= num1) { BadArg(argsource, "--iUDPX-Y, must have X 1) printf("setting IgnoreUDPConn(%d)\n", num1); IgnoreUDPConn(num1++); } } else if (sscanf(o_arg,"%d",&num1) == 1) { /* single argument */ if (debug) printf("setting IgnoreUDPConn(%d)\n", num1); IgnoreUDPConn(num1); } else { /* error */ BadArg(argsource, "Don't understand conn number starting at '%s'\n", o_arg); } /* look for the next comma */ o_arg = strchr(o_arg,','); if (o_arg) ++o_arg; } } static void GrabOnlyUDP( char *argsource, char *opt) { char *o_arg; /* next part of arg is a filename or number list */ if (*opt == '\00') { BadArg(argsource,"Expected filename or number list *immediately* after --oUDP\n"); } if (run_continuously) { fprintf(stderr, "Warning: cannot 'grab-only' UDP connections in continuous mode\n"); } /* option is a list of connection numbers separated by commas */ /* option can be immediately "here" or given as a file name */ if (isdigit((int)(*opt))) { /* list is on the command line */ o_arg = opt; } else { /* it's in a file */ /* open the file */ o_arg = FileToBuf(opt); /* if that fails, it's a command line error */ if (o_arg == NULL) { BadArg(argsource,"Expected filename or number list *immediately* after --oUDP\n"); } } /* wherever we got it, o_arg is a connection list */ while (o_arg && *o_arg) { int num1,num2; if (sscanf(o_arg,"%d-%d",&num1,&num2) == 2) { /* process range */ if (num2 <= num1) { BadArg(argsource, "--oUDPX-Y, must have X 1) printf("setting OnlyUDPConn(%d)\n", num1); OnlyUDPConn(num1++); } } else if (sscanf(o_arg,"%d",&num1) == 1) { /* single argument */ if (debug) printf("setting OnlyUDPConn(%d)\n", num1); OnlyUDPConn(num1); } else { /* error */ BadArg(argsource, "Don't understand conn number starting at '%s'\n", o_arg); } /* look for the next comma */ o_arg = strchr(o_arg,','); if (o_arg) ++o_arg; } } /* convert a buffer to an argc,argv[] pair */ void StringToArgv( char *buf, int *pargc, char ***pargv) { char **argv; int nargs = 0; /* discard the original string, use a copy */ buf = strdup(buf); /* (very pessimistically) make the argv array */ argv = malloc(sizeof(char *) * ((strlen(buf)/2)+1)); /* skip leading blanks */ while ((*buf != '\00') && (isspace((int)*buf))) { if (debug > 10) printf("skipping isspace('%c')\n", *buf); ++buf; } /* break into args */ for (nargs = 1; *buf != '\00'; ++nargs) { char *stringend; argv[nargs] = buf; /* search for separator */ while ((*buf != '\00') && (!isspace((int)*buf))) { if (debug > 10) printf("'%c' (%d) is NOT a space\n", *buf, (int)*buf); ++buf; } stringend = buf; /* skip spaces */ while ((*buf != '\00') && (isspace((int)*buf))) { if (debug > 10) printf("'%c' (%d) IS a space\n", *buf, (int)*buf); ++buf; } *stringend = '\00'; /* terminate the previous string */ if (debug) printf(" argv[%d] = '%s'\n", nargs, argv[nargs]); } *pargc = nargs; *pargv = argv; } static void CheckArguments( int *pargc, char *argv[]) { char *home; char *envariable; char *rc_path = NULL; char *rc_buf = NULL; /* remember the name of the program for errors... */ progname = argv[0]; /* first, we read from the config file, "~/.tcptracerc" */ if ((home = getenv("HOME")) != NULL) { struct stat statbuf; int rc_len=strlen(home)+strlen(TCPTRACE_RC_FILE)+2; rc_path = malloc(rc_len); snprintf(rc_path,rc_len, "%s/%s", home, TCPTRACE_RC_FILE); if (debug>1) printf("Looking for resource file '%s'\n", rc_path); if (stat(rc_path,&statbuf) != 0) { rc_path = NULL; } else { int argc; char **argv; char *pch_file; char *pch_new; char *file_buf; if (debug>1) printf("resource file %s exists\n", rc_path); /* read the file into a buffer */ rc_buf = file_buf = FileToBuf(rc_path); /* if it exists but can't be read, that's a fatal error */ if (rc_buf == NULL) { fprintf(stderr, "Couldn't read resource file '%s'\n", rc_path); fprintf(stderr, "(either make the file readable or change its name)\n"); exit(-1); } /* make a new buffer to hold the converted string */ pch_file = rc_buf; rc_buf = pch_new = MallocZ(strlen(file_buf)+3); /* loop until end of string */ while (*pch_file) { if (*pch_file == '\n') { /* turn newlines into spaces */ *pch_new++ = ' '; ++pch_file; } else if (*pch_file == '#') { /* skip over the '#' */ ++pch_file; /* remove comments (until NULL or newline) */ while ((*pch_file != '\00') && (*pch_file != '\n')) { ++pch_file; } /* insert a space */ *pch_new++ = ' '; } else { /* just copy the characters */ *pch_new++ = *pch_file++; } } /* append a NULL to pch_new */ *pch_new = '\00'; if (debug>2) printf("Resource file string: '%s'\n", rc_buf); /* we're finished with the original buffer, but need to keep pch_new */ free(file_buf); /* parse those args */ StringToArgv(rc_buf,&argc,&argv); ParseArgs(TCPTRACE_RC_FILE, &argc, argv); } } /* next, we read from the environment variable "TCPTRACEOPTS" */ if ((envariable = getenv(TCPTRACE_ENVARIABLE)) != NULL) { int argc; char **argv; if (debug) printf("envariable %s contains:\n\t'%s'\n", TCPTRACE_ENVARIABLE, envariable); StringToArgv(envariable,&argc,&argv); ParseArgs(TCPTRACE_ENVARIABLE, &argc, argv); } /* lastly, we read the command line arguments */ ParseArgs("command line",pargc,argv); /* make sure we found the files */ if (filenames == NULL) { BadArg(NULL,"must specify at least one file name\n"); } /* if debugging is on, tell what was in the ENV and rc file */ if (debug) { if (rc_path) printf("Flags from %s: '%s'\n", rc_path, rc_buf); if (envariable) printf("envariable %s contains: '%s'\n", TCPTRACE_ENVARIABLE, envariable); } if (rc_buf) free(rc_buf); /* heuristic, I set "-t" in my config file, but they don't work inside */ /* emacs shell windows, which is a pain. If the terminal looks like EMACS, */ /* then turn OFF ticks! */ if (printticks) { char *TERM = getenv("TERM"); /* allow emacs and Emacs */ if ((TERM != NULL) && ((strstr(TERM,"emacs") != NULL) || (strstr(TERM,"Emacs") != NULL))) { printf("Disabling ticks for EMACS shell window\n"); printticks = 0; } } } // these extended options are table driven, to make it easier to // add more later without messing them up. // Initially they include --iTCP, --iUDP to ignore TCP, UDP connections // and --oTCP, --oUDP to output only TCP, UDP connections. static int ParseExtendedOpt( char *argsource, char *arg) { int i; struct ext_opt *popt_found = NULL; char *argtext,*opt=NULL; int arglen; /* there must be at least SOME text there */ if (strcmp(arg,"--") == 0) BadArg(argsource, "Void extended filter argument\n"); /* find just the arg text */ argtext = arg+2; arglen = strlen(argtext); /* search for a match on each extended boolean opt */ for (i=0; i < NUM_EXTENDED_OPTIONS; ++i) { struct ext_opt *popt = &extended_options[i]; if (strncasecmp(argtext,popt->opt_name, strlen(popt->opt_name)) == 0 ) { popt_found = popt; opt=argtext+strlen(popt->opt_name); break; } } /* if we never found a match, it's an error */ if (popt_found == NULL) return 0; (*popt_found->opt_func)(argsource,opt); return 1; } /* these extended boolean options are table driven, to make it easier to add more later without messing them up */ static void ParseExtendedBool( char *argsource, char *arg) { int i; struct ext_bool_op *pbop_found = NULL; struct ext_bool_op *pbop_prefix = NULL; Bool prefix_ambig = FALSE; Bool negative_arg_prefix; char *argtext; int arglen; /* there must be at least SOME text there */ if ((strcmp(arg,"--") == 0) || (strcmp(arg,"--no") == 0)) BadArg(argsource, "Void extended boolean argument\n"); /* find just the arg text */ if (strncmp(arg,"--no",4) == 0) { argtext = arg+4; negative_arg_prefix = TRUE; } else { argtext = arg+2; negative_arg_prefix = FALSE; } arglen = strlen(argtext); /* search for a match on each extended boolean arg */ for (i=0; i < NUM_EXTENDED_BOOLS; ++i) { struct ext_bool_op *pbop = &extended_bools[i]; /* check for the default value flag */ if (strcmp(argtext,pbop->bool_optname) == 0) { pbop_found = pbop; break; } /* check for a prefix match */ if (strncmp(argtext,pbop->bool_optname,arglen) == 0) { if (pbop_prefix == NULL) pbop_prefix = pbop; else prefix_ambig = TRUE; } } /* if we never found a match, it's an error */ if ((pbop_found == NULL) && (pbop_prefix == NULL)) BadArg(argsource, "Unknown extended boolean argument '%s' (see -hargs)\n", arg); /* if the prefix is UNambiguous, that's good enough */ if ((pbop_prefix != NULL) && (!prefix_ambig)) pbop_found = pbop_prefix; /* either exact match or good prefix, do it */ if (pbop_found != NULL) { if (negative_arg_prefix) *pbop_found->bool_popt = !pbop_found->bool_default; else *pbop_found->bool_popt = pbop_found->bool_default; if (debug>2) fprintf(stderr,"Set boolean variable '%s' to '%s'\n", argtext, BOOL2STR(*pbop_found->bool_popt)); return; } /* ... else ambiguous prefix */ fprintf(stderr,"Extended boolean arg '%s' is ambiguous, it matches:\n", arg); for (i=0; i < NUM_EXTENDED_BOOLS; ++i) { struct ext_bool_op *pbop = &extended_bools[i]; if (strncmp(argtext,pbop->bool_optname,arglen) == 0) fprintf(stderr," %s%s - %s%s\n", negative_arg_prefix?"no":"", pbop->bool_optname, negative_arg_prefix?"DON'T ":"", pbop->bool_descr); } BadArg(argsource, "Ambiguous extended argument '%s'\n", arg); return; } /* these extended variable options are table driven, to make it easier to add more later without messing them up */ /* note: the format is of the form --output_dir=string */ /* note2: if the string was quoted as --output_dir="this directory" then those quotes were removed by the shell */ static void ParseExtendedVar( char *argsource, char *arg_in) { int i; struct ext_var_op *pvop_found = NULL; struct ext_var_op *pvop_prefix = NULL; Bool prefix_ambig = FALSE; char *pequals; char *argname; /* the variable name itself */ char *argval; /* the part just beyond the equal sign */ int arglen; char *arg; /* we're going to modify the argument to split it in half, we we'd better make a copy first */ /* note that the only way out of this routine is through BadArg(), which just exits, or the single return() below, so this isn't a memory leak*/ arg = strdup(arg_in); /* there must be at least SOME text there */ if ((strcmp(arg,"--") == 0)) BadArg(argsource, "Void extended variable argument\n"); /* find the '=' sign, it MUST be there */ /* (can't really happen, because the '=' forced us to this routine */ pequals=strchr(arg,'='); if (!pequals) BadArg(argsource, "Extended variable argument with no assignment \n"); /* break the arg in half at the '=' sign (located above) */ argname = arg+2; argval = pequals+1; *pequals = '\00'; /* split the string here */ /* --output_dir=test */ /* ^ argname = 1002 */ /* ^ argval = 1013 */ /* therefore length = argval(1013)-argname(1002)-1 (10) */ arglen = argval - argname - 1; /* search for a match in the extended variable table */ for (i=0; i < NUM_EXTENDED_VARS; ++i) { struct ext_var_op *pvop = &extended_vars[i]; /* check for an exact match */ if (strcmp(argname,pvop->var_optname) == 0) { pvop_found = pvop; break; } /* check for a prefix match */ if (strncmp(argname,pvop->var_optname,arglen) == 0) { if (pvop_prefix == NULL) pvop_prefix = pvop; else prefix_ambig = TRUE; /* already found one */ } } /* if we never found a match, it's an error */ if ((pvop_found == NULL) && (pvop_prefix == NULL)) BadArg(argsource, "Unknown extended variable argument '%s' (see -hargs)\n", arg); /* if the prefix is UNambiguous, that's good enough */ if ((pvop_prefix != NULL) && (!prefix_ambig)) pvop_found = pvop_prefix; /* either exact match or good prefix, do it */ if (pvop_found != NULL) { *pvop_found->var_popt = strdup(argval); if (debug>2) fprintf(stderr,"Set extended variable '%s' to '%s'\n", argname, *pvop_found->var_popt); if (pvop_found->var_verify) { /* call the verification routine */ if (debug>2) fprintf(stderr,"verifying extended variable '%s'\n", argname); (*pvop_found->var_verify)(argname,*pvop_found->var_popt); } free(arg); return; } /* ... else ambiguous prefix */ fprintf(stderr,"Extended variable arg '%s' is ambiguous, it matches:\n", arg); for (i=0; i < NUM_EXTENDED_VARS; ++i) { struct ext_var_op *pvop = &extended_vars[i]; if (strncmp(argname,pvop->var_optname,arglen) == 0) fprintf(stderr," %s - %s\n", pvop->var_optname, pvop->var_descr); } BadArg(argsource, "Ambiguous extended variable argument '%s'\n", arg); /* never returns */ } static u_long VerifyPositive( char *varname, char *value) { int i, ivalue = 0; for (i = 0; i < strlen(value); i++) { if (!isdigit((int)value[i])) { fprintf(stderr, "Value '%s' is not valid for variable '%s'\n", value, varname); exit(1); } } ivalue = atoi(value); if (ivalue <= 0) { fprintf(stderr, "Value '%s' is not valid for variable '%s'\n", value, varname); exit(1); } return (u_long)ivalue; } static void VerifyUpdateInt( char *varname, char *value) { update_interval = VerifyPositive(varname, value); } static void VerifyMaxConnNum( char *varname, char *value) { max_conn_num = VerifyPositive(varname, value); conn_num_threshold = TRUE; } static void VerifyLiveConnInt( char *varname, char *value) { remove_live_conn_interval = VerifyPositive(varname, value); } static void VerifyNonrealLiveConnInt( char *varname, char *value) { nonreal_live_conn_interval = VerifyPositive(varname, value); } static void VerifyClosedConnInt( char *varname, char *value) { remove_closed_conn_interval = VerifyPositive(varname, value); } static void ParseArgs( char *argsource, int *pargc, char *argv[]) { int i; int saw_i_or_o = 0; /* parse the args */ for (i=1; i < *pargc; ++i) { /* modules might have stolen args... */ if (argv[i] == NULL) continue; // Arguments beginning with "--" could be an extended option // as in --iUDP2 , --iTCP3-5, --oUDP5-9,19 etc // or they could be the regular extended variables or booleans. if (strncmp(argv[i],"--",2) == 0) { if (ParseExtendedOpt(argsource,argv[i])) continue; else { if (strchr(argv[i],'=') != NULL) ParseExtendedVar(argsource, argv[i]); else ParseExtendedBool(argsource, argv[i]); continue; } } if (*argv[i] == '-') { if (argv[i][1] == '\00') /* just a '-' */ Usage(); while (*(++argv[i])) switch (*argv[i]) { case 'A': if (isdigit((int)(*(argv[i]+1)))) thru_interval = atoi(argv[i]+1); else BadArg(argsource, "-A number missing\n"); if (thru_interval <= 0) BadArg(argsource, "-A must be > 1\n"); *(argv[i]+1) = '\00'; break; case 'B': if (isdigit((int)(*(argv[i]+1)))) beginpnum = atoi(argv[i]+1); else BadArg(argsource, "-B number missing\n"); if (beginpnum < 0) BadArg(argsource, "-B must be >= 0\n"); *(argv[i]+1) = '\00'; break; case 'C': colorplot = TRUE; break; case 'D': hex = FALSE; break; case 'E': if (isdigit((int)(*(argv[i]+1)))) endpnum = atoi(argv[i]+1); else BadArg(argsource, "-E number missing\n"); if (beginpnum < 0) BadArg(argsource, "-E must be >= 0\n"); *(argv[i]+1) = '\00'; break; case 'F': graph_segsize = TRUE; break; case 'G': graph_tput = TRUE; graph_tsg = TRUE; graph_rtt = TRUE; graph_owin = TRUE; graph_segsize = TRUE; graph_tline = TRUE; break; case 'L': graph_tline = TRUE; fprintf(stderr, "\nWarning: You have chosen the option '-L' to plot Time Line Graphs.\n This option is yet under development and may not reflect accurate results.\n Please take a look at the file README.tline_graphs for more details.\n\n"); break; case 'M': colorplot = FALSE; break; case 'N': graph_owin = TRUE; break; case 'O': if (*(argv[i]+1)) { /* -Ofile */ output_filename = strdup(argv[i]+1); *(argv[i]+1) = '\00'; } else { /* maybe -O file */ BadArg(argsource, "-Ofile requires a file name\n"); } break; case 'P': printem = TRUE; break; case 'R': graph_rtt = TRUE; break; case 'S': graph_tsg = TRUE; break; case 'T': graph_tput = TRUE; break; case 'W': print_owin = TRUE; break; case 'X': hex = TRUE; break; case 'Z': dump_rtt = TRUE; break; case 'b': printbrief = TRUE; break; case 'c': ignore_non_comp = TRUE; break; case 'd': ++debug; break; case 'e': save_tcp_data = TRUE; break; case 'f': filter_output = TRUE; if (*(argv[i]+1)) { /* -fEXPR */ ParseFilter(argv[i]+1); *(argv[i]+1) = '\00'; } else { /* -f EXPR */ BadArg(argsource, "-f requires a filter\n"); } break; case 'h': Help(argv[i]+1); *(argv[i]+1) = '\00'; break; case 'i': Ignore(argsource,argv[i]+1); /* { int conn = -1; if (run_continuously) { fprintf(stderr, "Warning: cannot ignore connections in continuous mode\n"); } else else { if (isdigit((int)(*(argv[i]+1)))) conn = atoi(argv[i]+1); else BadArg(argsource, "-i number missing\n"); if (conn < 0) BadArg(argsource, "-i must be >= 0\n"); ++saw_i_or_o; gIgnoreConn(conn); } }*/ *(argv[i]+1) = '\00'; break; case 'l': printbrief = FALSE; break; case 'm': BadArg(argsource, "-m option is obsolete (no longer necessary)\n"); *(argv[i]+1) = '\00'; break; case 'n': resolve_ipaddresses = FALSE; resolve_ports = FALSE; break; case 'o': if (run_continuously) { fprintf(stderr, "Warning: cannot use 'grab only' flag in continuous mode\n"); } else { ++saw_i_or_o; GrabOnly(argsource,argv[i]+1); } *(argv[i]+1) = '\00'; break; case 'p': printallofem = TRUE; break; case 'q': printsuppress = TRUE; break; case 'r': print_rtt = TRUE; break; case 's': use_short_names = TRUE; break; case 't': printticks = TRUE; break; case 'u': do_udp = TRUE; break; case 'v': Version(); exit(0); break; case 'w': warn_printtrunc = TRUE; warn_printbadmbz = TRUE; warn_printhwdups = TRUE; warn_printbadcsum = TRUE; warn_printbad_syn_fin_seq = TRUE; warn_ooo = TRUE; break; case 'x': BadArg(argsource, "unknown module option (-x...)\n"); break; case 'y': plot_tput_instant = FALSE; break; case 'z': if (strcmp(argv[i],"z") == 0) { /* backward compat, just zero the time */ graph_time_zero = TRUE; } else if (strcasecmp(argv[i],"zx") == 0) { graph_time_zero = TRUE; } else if (strcasecmp(argv[i],"zy") == 0) { graph_seq_zero = TRUE; } else if ((strcasecmp(argv[i],"zxy") == 0) || (strcasecmp(argv[i],"zyx") == 0)) { /* set BOTH to zero */ graph_time_zero = TRUE; graph_seq_zero = TRUE; } else { BadArg(argsource, "only -z -zx -zy and -zxy are legal\n"); } *(argv[i]+1) = '\00'; break; default: BadArg(argsource, "option '%c' not understood\n", *argv[i]); } } else if (*argv[i] == '+') { /* a few of them have a REVERSE flag too */ if (argv[i][1] == '\00') /* just a '+' */ Usage(); while (*(++argv[i])) switch (*argv[i]) { case 'C': colorplot = !TRUE; break; case 'D': hex = !FALSE; break; case 'F': graph_segsize = !TRUE; break; case 'L': graph_tline = !TRUE; break; case 'M': colorplot = !FALSE; break; case 'N': graph_owin = !TRUE; break; case 'P': printem = !TRUE; break; case 'R': graph_rtt = !TRUE; break; case 'S': graph_tsg = !TRUE; break; case 'T': graph_tput = !TRUE; break; case 'W': print_owin = !TRUE; break; case 'X': hex = !TRUE; break; case 'Z': dump_rtt = !TRUE; break; case 'b': printbrief = !TRUE; break; case 'c': ignore_non_comp = !TRUE; break; case 'e': save_tcp_data = FALSE; break; case 'l': printbrief = !FALSE; break; case 'n': resolve_ipaddresses = !FALSE; resolve_ports = !FALSE; break; case 'p': printallofem = !TRUE; break; case 'q': printsuppress = !TRUE; break; case 'r': print_rtt = !TRUE; break; case 's': use_short_names = !TRUE; break; case 't': printticks = !TRUE; break; case 'u': do_udp = !TRUE; break; case 'w': warn_printtrunc = !TRUE; warn_printbadmbz = !TRUE; warn_printhwdups = !TRUE; warn_printbadcsum = !TRUE; warn_ooo = !TRUE; break; case 'y': plot_tput_instant = !plot_tput_instant; break; case 'z': if (strcmp(argv[i],"z") == 0) { /* backward compat, just zero the time */ graph_time_zero = !TRUE; } else if (strcasecmp(argv[i],"zx") == 0) { graph_time_zero = !TRUE; } else if (strcasecmp(argv[i],"zy") == 0) { graph_seq_zero = !TRUE; } else if ((strcasecmp(argv[i],"zxy") == 0) || (strcasecmp(argv[i],"zyx") == 0)) { /* set BOTH to zero */ graph_time_zero = !TRUE; graph_seq_zero = !TRUE; } else { BadArg(argsource, "only +z +zx +zy and +zxy are legal\n"); } *(argv[i]+1) = '\00'; break; default: Usage(); } } else { filenames = &argv[i]; *pargc -= i; return; } } return; } static void DumpFlags(void) { int i; fprintf(stderr,"printbrief: %s\n", BOOL2STR(printbrief)); fprintf(stderr,"printsuppress: %s\n", BOOL2STR(printsuppress)); fprintf(stderr,"print_rtt: %s\n", BOOL2STR(print_rtt)); fprintf(stderr,"graph rtt: %s\n", BOOL2STR(graph_rtt)); fprintf(stderr,"graph tput: %s\n", BOOL2STR(graph_tput)); fprintf(stderr,"graph tsg: %s\n", BOOL2STR(graph_tsg)); fprintf(stderr,"graph segsize: %s\n", BOOL2STR(graph_segsize)); fprintf(stderr,"graph owin: %s\n", BOOL2STR(graph_owin)); fprintf(stderr,"graph tline: %s\n", BOOL2STR(graph_tline)); fprintf(stderr,"plotem: %s\n", colorplot?"(color)":"(b/w)"); fprintf(stderr,"hex printing: %s\n", BOOL2STR(hex)); fprintf(stderr,"ignore_non_comp: %s\n", BOOL2STR(ignore_non_comp)); fprintf(stderr,"printem: %s\n", BOOL2STR(printem)); fprintf(stderr,"printallofem: %s\n", BOOL2STR(printallofem)); fprintf(stderr,"printticks: %s\n", BOOL2STR(printticks)); fprintf(stderr,"use_short_names: %s\n", BOOL2STR(use_short_names)); fprintf(stderr,"save_tcp_data: %s\n", BOOL2STR(save_tcp_data)); fprintf(stderr,"graph_time_zero: %s\n", BOOL2STR(graph_time_zero)); fprintf(stderr,"graph_seq_zero: %s\n", BOOL2STR(graph_seq_zero)); fprintf(stderr,"beginning pnum: %lu\n", beginpnum); fprintf(stderr,"ending pnum: %lu\n", endpnum); fprintf(stderr,"throughput intvl: %d\n", thru_interval); fprintf(stderr,"NS simulator hdrs:%s\n", BOOL2STR(ns_hdrs)); fprintf(stderr,"number modules: %u\n", (unsigned)NUM_MODULES); fprintf(stderr,"debug: %s\n", BOOL2STR(debug)); /* print out the stuff controlled by the extended boolean args */ for (i=0; i < NUM_EXTENDED_BOOLS; ++i) { struct ext_bool_op *pbop = &extended_bools[i]; char buf[100]; snprintf(buf,sizeof(buf),"%s:", pbop->bool_optname); fprintf(stderr,"%-18s%s\n", buf, BOOL2STR(*pbop->bool_popt)); } /* print out the stuff controlled by the extended variable args */ for (i=0; i < NUM_EXTENDED_VARS; ++i) { struct ext_var_op *bvop = &extended_vars[i]; char buf[100]; snprintf(buf,sizeof(buf),"%s:", bvop->var_optname); fprintf(stderr,"%-18s%s\n", buf, (*bvop->var_popt)?*bvop->var_popt:""); } } static void LoadModules( int argc, char *argv[]) { int i; int enable; for (i=0; i < NUM_MODULES; ++i) { ++num_modules; if (debug) fprintf(stderr,"Initializing module \"%s\"\n", modules[i].module_name); enable = (*modules[i].module_init)(argc,argv); if (enable) { if (debug) fprintf(stderr,"Module \"%s\" enabled\n", modules[i].module_name); modules[i].module_inuse = TRUE; } else { if (debug) fprintf(stderr,"Module \"%s\" not active\n", modules[i].module_name); modules[i].module_inuse = FALSE; } } } static void FinishModules(void) { int i; for (i=0; i < NUM_MODULES; ++i) { if (!modules[i].module_inuse) continue; /* might be disabled */ if (modules[i].module_done == NULL) continue; /* might not have a cleanup */ if (debug) fprintf(stderr,"Calling cleanup for module \"%s\"\n", modules[i].module_name); (*modules[i].module_done)(); } } static void ModulesPerConn( tcp_pair *ptp) { int i; void *pmodstruct; for (i=0; i < NUM_MODULES; ++i) { if (!modules[i].module_inuse) continue; /* might be disabled */ if (modules[i].module_newconn == NULL) continue; /* they might not care */ if (debug>3) fprintf(stderr,"Calling newconn routine for module \"%s\"\n", modules[i].module_name); pmodstruct = (*modules[i].module_newconn)(ptp); if (pmodstruct) { /* make sure the array is there */ if (!ptp->pmod_info) { ptp->pmod_info = MallocZ(num_modules * sizeof(void *)); } /* remember this structure */ ptp->pmod_info[i] = pmodstruct; } } } void ModulesPerOldConn( tcp_pair *ptp) { int i; for (i=0; i < NUM_MODULES; ++i) { if (!modules[i].module_inuse) continue; /* might be disabled */ if (modules[i].module_deleteconn == NULL) continue; /* they might not care */ if (debug>3) fprintf(stderr,"Calling delete conn routine for module \"%s\"\n", modules[i].module_name); (*modules[i].module_deleteconn)(ptp, ptp->pmod_info?ptp->pmod_info[i]:NULL); } } static void ModulesPerUDPConn( udp_pair *pup) { int i; void *pmodstruct; for (i=0; i < NUM_MODULES; ++i) { if (!modules[i].module_inuse) continue; /* might be disabled */ if (modules[i].module_udp_newconn == NULL) continue; /* they might not care */ if (debug>3) fprintf(stderr,"Calling UDP newconn routine for module \"%s\"\n", modules[i].module_name); pmodstruct = (*modules[i].module_udp_newconn)(pup); if (pmodstruct) { /* make sure the array is there */ if (!pup->pmod_info) { pup->pmod_info = MallocZ(num_modules * sizeof(void *)); } /* remember this structure */ pup->pmod_info[i] = pmodstruct; } } } static void ModulesPerNonTCPUDP( struct ip *pip, void *plast) { int i; for (i=0; i < NUM_MODULES; ++i) { if (!modules[i].module_inuse) continue; /* might be disabled */ if (modules[i].module_nontcpudp_read == NULL) continue; /* they might not care */ if (debug>3) fprintf(stderr,"Calling nontcp routine for module \"%s\"\n", modules[i].module_name); (*modules[i].module_nontcpudp_read)(pip,plast); } } static void ModulesPerPacket( struct ip *pip, tcp_pair *ptp, void *plast) { int i; for (i=0; i < NUM_MODULES; ++i) { if (!modules[i].module_inuse) continue; /* might be disabled */ if (modules[i].module_read == NULL) continue; /* they might not care */ if (debug>3) fprintf(stderr,"Calling read routine for module \"%s\"\n", modules[i].module_name); (*modules[i].module_read)(pip,ptp,plast, ptp->pmod_info?ptp->pmod_info[i]:NULL); } } static void ModulesPerUDPPacket( struct ip *pip, udp_pair *pup, void *plast) { int i; for (i=0; i < NUM_MODULES; ++i) { if (!modules[i].module_inuse) continue; /* might be disabled */ if (modules[i].module_udp_read == NULL) continue; /* they might not care */ if (debug>3) fprintf(stderr,"Calling read routine for module \"%s\"\n", modules[i].module_name); (*modules[i].module_udp_read)(pip,pup,plast, pup->pmod_info?pup->pmod_info[i]:NULL); } } static void ModulesPerFile( char *filename) { int i; for (i=0; i < NUM_MODULES; ++i) { if (!modules[i].module_inuse) continue; /* might be disabled */ if (modules[i].module_newfile == NULL) continue; /* they might not care */ if (debug>3) fprintf(stderr,"Calling newfile routine for module \"%s\"\n", modules[i].module_name); (*modules[i].module_newfile)(filename,filesize,CompIsCompressed()); } } /* the memcpy() function that gcc likes to stuff into the program has alignment problems, so here's MY version. It's only used for small stuff, so the copy should be "cheap", but we can't be too fancy due to alignment boo boos */ void * MemCpy(void *vp1, void *vp2, size_t n) { char *p1 = vp1; char *p2 = vp2; while (n-->0) *p1++=*p2++; return(vp1); } /* read from a file, store contents into NULL-terminated string */ /* memory returned must be "free"ed to be reclaimed */ static char * FileToBuf( char *filename) { FILE *f; struct stat str_stat; int filesize; char *buffer; /* open the file */ if ((f = fopen(filename,"r")) == NULL) { fprintf(stderr,"Open of '%s' failed\n", filename); perror(filename); return(NULL); } /* determine the file length */ if (fstat(fileno(f),&str_stat) != 0) { perror("fstat"); exit(1); } filesize = str_stat.st_size; /* make a big-enough buffer */ buffer = MallocZ(filesize+2); /* with room to NULL terminate */ /* read the file into the buffer */ if (fread(buffer,1,filesize,f) != filesize) { perror("fread"); exit(1); } fclose(f); /* put a NULL at the end */ buffer[filesize] = '\00'; if (debug > 1) printf("Read %d characters from resource '%s': '%s'\n", filesize, filename, buffer); /* somebody else will "free" it */ return(buffer); } /* ExpandFormat: Expand the string in "format" and return the result string The return value rotates between one of two static strings (to avoid malloc overhead), but if you need more than two at a time, you'll need to make a copy. Expansions are performed as follows: %f basename of the current input file %d execution date, standard unix output, spaces ==> underscores %t execution time & date, standard unix output, spaces ==> underscores %D execution date, format "1-14-1963" */ char * ExpandFormat(const char *format) { static struct dstring *pds1 = NULL; static struct dstring *pds2 = NULL; static struct dstring *pds = NULL; /* init the strings */ if (pds1 == NULL) { pds1 = DSNew(); pds2 = DSNew(); } /* alternate between them */ pds = (pds == pds1)?pds2:pds1; /* erase the previous contents */ DSErase(pds); if (debug>2) fprintf(stderr,"Trying to expand string '%s'\n", format); while (*format) { if (strncmp(format,"%f",2) == 0) { /* basename of current file (after the last slash) */ char *filename = cur_filename; char *ptr; /* find the last '/' in the file */ ptr = strrchr(filename,'/'); if (ptr) ++ptr; /* the base of the filename is one past the slash */ else ptr = filename; /* no directory, just use the file */ DSAppendString(pds,ptr); format += 2; } else if (strncmp(format,"%D",2) == 0) { /* current wallclock date (1-14-1963) */ time_t now; struct tm *ptm; char buf[32]; /* get the current time, broken apart */ time(&now); ptm = localtime((time_t *)&wallclock_start.tv_sec); snprintf(buf,sizeof(buf),"%d-%d-%d", ptm->tm_mon+1, ptm->tm_mday, 1900 + ptm->tm_year); DSAppendString(pds,buf); format += 2; } else if ((strncmp(format,"%d",2) == 0) || (strncmp(format,"%t",2) == 0)) { /* current wallclock date, unix format */ time_t now; char *pbuf; char *pch; /* get the current time in unix format */ /* Fri Sep 13 00:00:00 1986\n\0 */ /* 1 2 */ /* 0123456789012345678901234 5 */ time(&now); pbuf = ctime(&now); pbuf[24] = '\00'; /* nuke the newline */ /* spaces to underscores */ for (pch = pbuf; *pch; ++pch) if (*pch == ' ') *pch = '_'; if (strncmp(format,"%d",2) == 0) /* the whole thing */ DSAppendString(pds,pbuf); else { /* just the date */ pbuf[11] = '\00'; DSAppendString(pds,pbuf); DSAppendString(pds,pbuf+20); } format += 2; } else { /* no formatting, just copy one character */ DSAppendChar(pds,*format); ++format; } } return(DSVal(pds)); } tcptrace-6.6.7/tcptrace.h0100644001217500001440000011230110142522532015017 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ /* * * The newest gcc (3.3) is much pickier about the unused variables that * we define for Copyright and RCSid, so this will shut it up. * */ #ifdef __GNUC__ #define GCC_UNUSED __attribute__((unused)) #else #define GCC_UNUSED #endif static char const GCC_UNUSED rcsid_tcptrace[] = "@(#)$Header: /usr/local/cvs/tcptrace/tcptrace.h,v 5.78 2004/11/04 21:55:38 sdo Exp $"; #include #include #include #include #include #include #include #include #include #if __FreeBSD__ >= 2 #include #if __FreeBSD_version >= 300000 #include #endif #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* IPv6 support */ #include "ipv6.h" /* dynamic string support */ #include "dstring.h" /* memory allocation routines */ #include "pool.h" /* we want LONG LONG in some places */ #if SIZEOF_UNSIGNED_LONG_LONG_INT >= 8 #define HAVE_LONG_LONG typedef unsigned long long int u_llong; typedef long long int llong; /* Thanks to MacOSX, they use %qu to print unsigned long long ints */ /* There is a test to see if we need to use %qu or %llu to print these variables */ /* The test is located in configure.in */ #ifdef USE_LLU #define FS_ULL "llu" /* For most systems use llu */ #define FS_LL "lld" /* For most systems use ll */ #else /* USE_LLU */ #define FS_ULL "qu" /* MacOSX use qu */ #define FS_LL "qd" /* MacOSX use qd */ #endif /* USE_LLU */ #else /* LONG LONG */ typedef unsigned long int u_llong; typedef long int llong; #define FS_ULL "lu" /* No long long unsigned, so use lu */ #define FS_LL "ld" /* No long long ints, so use ld */ #endif /* LONG LONG */ /* plotter information */ typedef int PLOTTER; #define NO_PLOTTER -1 #define NCOLORS 8 extern char *ColorNames[NCOLORS]; /* {"green", "red", "blue", "yellow", "purple", "orange", "magenta", "pink"}; */ typedef struct pl_line *PLINE; /* max number of letters in endpoint name */ /* (8 allows 26**8 different endpoints (209,000,000,000) probably plenty for now!!!!!) */ #define MAX_HOSTLETTER_LEN 8 /* several places in the code NEED numbers of a specific size. */ /* since the definitions aren't standard across everything we're */ /* trying to support, the types are gathered up here */ /* specifically, we need: tt_uint32 unsigned 32 bit tt_uint16 unsigned 16 bit tt_int32 signed 32 bit tt_int16 signed 16 bit */ /* first, do the 32 bit ones */ #if SIZEOF_UNSIGNED_LONG_INT == 4 typedef unsigned long tt_uint32; typedef long tt_int32; #else #if SIZEOF_UNSIGNED_INT == 4 typedef unsigned int tt_uint32; typedef int tt_int32; #else OOPS: Please insert an appropriate 32-bit unsigned type here! OOPS: Please insert an appropriate 32-bit signed type here! #endif /* SIZEOF_UNSIGNED_INT == 4 */ #endif /* SIZEOF_UNSIGNED_LONG_INT == 4 */ /* first, do the 16 bit ones */ #if SIZEOF_UNSIGNED_INT == 2 typedef unsigned int tt_uint16; typedef int tt_int16; #else #if SIZEOF_UNSIGNED_SHORT == 2 typedef unsigned short tt_uint16; typedef short tt_int16; #else OOPS: Please insert an appropriate 16-bit unsigned type here! OOPS: Please insert an appropriate 16-bit signed type here! #endif /* SIZEOF_UNSIGNED_INT == 4 */ #endif /* SIZEOF_UNSIGNED_LONG_INT == 4 */ /* type for a TCP sequence number, ACK, FIN, or SYN */ /* This type MUST be a 32-bit unsigned number */ typedef tt_uint32 seqnum; /* length of a segment */ typedef u_long seglen; /* type for a quadrant number */ typedef u_char quadnum; /* 1,2,3,4 */ /* type for a TCP port number */ typedef u_short portnum; /* type for an IP address */ /* IP address can be either IPv4 or IPv6 */ typedef struct ipaddr { u_char addr_vers; /* 4 or 6 */ union { struct in_addr ip4; struct in6_addr ip6; } un; } ipaddr; #ifndef __VMS /* some machines (TRUE64 for one) handle the 4-bit TCP/IP fields differently, so this macro simplifies life */ #define IP_HL(pip) ((pip)->ip_hl) #define IP_V(pip) ((pip)->ip_v) #define TH_X2(ptcp) ((ptcp)->th_x2) #define TH_OFF(ptcp) ((ptcp)->th_off) /* some systems (darwin at least) use this for something else */ #else /* One alternative looks like this: */ #define IP_HL(pip) ((pip)->ip_vhl&0xf) #define IP_V(pip) ((pip)->ip_vhl>>4) #define TH_X2(ptcp) ((ptcp)->th_xoff&0xf) #define TH_OFF(ptcp) ((ptcp)->th_xoff>>4) #endif #undef TH_FLAGS #define TH_FLAGS(ptcp) ((ptcp)->th_flags) /* type for a timestamp */ typedef struct timeval timeval; #define ZERO_TIME(ptv)(((ptv)->tv_sec == 0) && ((ptv)->tv_usec == 0)) /* type for a Boolean */ typedef u_char Bool; #define TRUE 1 #define FALSE 0 #define BOOL2STR(b) (b)?"TRUE":"FALSE" /* ACK types */ enum t_ack {NORMAL = 1, /* no retransmits, just advance */ AMBIG = 2, /* segment ACKed was rexmitted */ CUMUL = 3, /* doesn't advance */ TRIPLE = 4, /* triple dupack */ NOSAMP = 5}; /* covers retransmitted segs, no rtt sample */ /* type for an internal file pointer */ typedef struct mfile MFILE; /* file name information */ extern char **filenames; /* all the files on the cmd line */ extern char *cur_filename; /* the current file */ /* first and last packet timestamp */ extern timeval first_packet; extern timeval last_packet; /* counters */ extern u_long tcp_trace_count; extern u_long udp_trace_count; typedef struct segment { seqnum seq_firstbyte; /* seqnumber of first byte */ seqnum seq_lastbyte; /* seqnumber of last byte */ u_char retrans; /* retransmit count */ u_int acked; /* how MANY times has has it been acked? */ timeval time; /* time the segment was sent */ struct segment *next; struct segment *prev; } segment; typedef struct quadrant { segment *seglist_head; segment *seglist_tail; Bool full; struct quadrant *prev; struct quadrant *next; } quadrant; typedef struct seqspace { quadrant *pquad[4]; } seqspace; typedef struct tcb { /* parent pointer */ struct stcp_pair *ptp; struct tcb *ptwin; /* TCP information */ seqnum ack; seqnum seq; seqnum syn; seqnum fin; seqnum windowend; timeval time; /* TCP options */ u_int mss; Bool f1323_ws; /* did he request 1323 window scaling? */ Bool f1323_ts; /* did he request 1323 timestamps? */ Bool fsack_req; /* did he request SACKs? */ u_char window_scale; /* If we are using window scaling, have we adjusted the win_min field from the non-scaled window size that appeared in the SYN packet?? */ Bool window_stats_updated_for_scaling; u_llong win_scaled_pkts; /* Used to calculate avg win adv */ /* statistics added */ u_llong data_bytes; u_llong data_pkts; u_llong data_pkts_push; u_llong unique_bytes; /* bytes sent (-FIN/SYN), excluding rexmits */ u_llong rexmit_bytes; u_llong rexmit_pkts; u_llong ack_pkts; u_llong pureack_pkts; /* mallman - pure acks, no data */ u_long win_max; u_long win_min; u_llong win_tot; u_long win_last; /* last advertised window size*/ u_long win_zero_ct; u_llong packets; u_char syn_count; u_char fin_count; u_char reset_count; /* resets SENT */ u_long min_seg_size; u_long max_seg_size; u_llong out_order_pkts; /* out of order packets */ u_llong sacks_sent; /* sacks returned */ u_long ipv6_segments; /* how many segments were ipv6? */ /* stats on urgent data */ u_long urg_data_bytes; u_long urg_data_pkts; /* Statistics to store the number of Zero window probes seen and the total number of bytes spent for it. */ u_long num_zwnd_probes; u_long zwnd_probe_bytes; /* stats on sequence numbers */ seqnum min_seq; /* smallest seq number seen */ seqnum max_seq; /* largest seq number seen */ seqnum latest_seq; /* most recent seq number seen */ /* stats on sequence space wrap arounds */ u_int quad1, quad2, quad3, quad4; /* was every quadrant visited */ u_int seq_wrap_count; /* wrap count */ /* hardware duplicate detection */ #define SEGS_TO_REMEMBER 8 struct str_hardware_dups { seqnum hwdup_seq; /* sequence number */ u_short hwdup_id; /* IP ID */ u_long hwdup_packnum; /* packet number */ } hardware_dups[SEGS_TO_REMEMBER]; u_long num_hardware_dups; u_char hardware_dups_ix; /* did I detect any "bad" tcp behavior? */ /* at present, this means: */ /* - SYNs retransmitted with different sequence numbers */ /* - FINs retransmitted with different sequence numbers */ Bool bad_behavior; /* added for initial window stats (for Mallman) */ u_long initialwin_bytes; /* initial window (in bytes) */ u_long initialwin_segs; /* initial window (in segments) */ Bool data_acked; /* has any non-SYN data been acked? */ /* added for (estimated) congestions window stats (for Mallman) */ u_long owin_max; u_long owin_min; u_llong owin_tot; u_llong owin_wavg; /* weighted owin */ u_llong owin_count; u_long previous_owin_sample; timeval previous_owin_sample_time; /* RTT stats for singly-transmitted segments */ double rtt_last; /* RTT as of last good ACK (microseconds) */ u_long rtt_min; u_long rtt_max; double rtt_sum; /* for averages */ double rtt_sum2; /* sum of squares, for stdev */ u_long rtt_count; /* for averages */ /* RTT stats for multiply-transmitted segments */ u_long rtt_min_last; u_long rtt_max_last; double rtt_sum_last; /* from last transmission, for averages */ double rtt_sum2_last; /* sum of squares, for stdev */ u_long rtt_count_last; /* from last transmission, for averages */ /* To keep track of stats for FULL SIZE segments Simple heuristic : We shall treat the largest packet, so far seen as the "full size" packet and collect stats. accordingly. Upon seeing a bigger packet, we flush all stats. collected incorrectly and begin all over again */ u_long rtt_full_size; u_long rtt_full_min; u_long rtt_full_max; double rtt_full_sum; /* for averages */ double rtt_full_sum2; /* sum of squares for stdev */ u_long rtt_full_count; /* for averages */ u_long rtt_3WHS; /* rtt value used to seed RTO timers */ /* ACK Counters */ u_llong rtt_amback; /* ambiguous ACK */ u_llong rtt_cumack; /* segments only cumulativly ACKed */ u_llong rtt_nosample; /* segments ACKED, but after retransmission */ /* of earlier segments, so sample isn't */ /* valid */ u_llong rtt_unkack; /* unknown ACKs ??? */ u_llong rtt_dupack; /* duplicate ACKs */ u_llong rtt_triple_dupack; /* triple duplicate ACKs */ /* retransmission information */ seqspace *ss; /* the sequence space*/ u_long retr_max; /* maximum retransmissions ct */ u_long retr_min_tm; /* minimum retransmissions time */ u_long retr_max_tm; /* maximum retransmissions time */ double retr_tm_sum; /* for averages */ double retr_tm_sum2; /* sum of squares, for stdev */ u_long retr_tm_count; /* for averages */ /* Instantaneous throughput info */ timeval thru_firsttime; /* time of first packet this interval */ u_long thru_bytes; /* number of bytes this interval */ u_long thru_pkts; /* number of packets this interval */ PLOTTER thru_plotter; /* throughput data dump file */ timeval thru_lasttime; /* time of previous segment */ PLINE thru_avg_line; /* average throughput line */ PLINE thru_inst_line; /* instantaneous throughput line */ /* data transfer time stamps - mallman */ timeval first_data_time; timeval last_data_time; /* Time Sequence Graph info for this one */ PLOTTER tsg_plotter; char *tsg_plotfile; /* Time Line Graph */ PLOTTER tline_plotter; /* Dumped RTT samples */ MFILE *rtt_dump_file; /* Extracted stream contents */ MFILE *extr_contents_file; u_llong trunc_bytes; /* data bytes not see due to trace file truncation */ u_llong trunc_segs; /* segments with trunc'd bytes */ seqnum extr_lastseq; /* last sequence number we stored */ seqnum extr_initseq; /* initial sequence number (same as SYN unless we missed it) */ /* RTT Graph info for this one */ PLOTTER rtt_plotter; PLINE rtt_line; /* Segment size graph */ PLOTTER segsize_plotter; PLINE segsize_line; PLINE segsize_avg_line; /* Congestion window graph */ PLOTTER owin_plotter; PLINE owin_line; PLINE rwin_line; PLINE owin_avg_line; PLINE owin_wavg_line; /* for tracking unidirectional idle time */ timeval last_time; /* last packet SENT from this side */ u_llong idle_max; /* maximum idle time observed (usecs) */ /* for looking for interesting SACK blocks */ u_long num_sacks; u_long max_sack_blocks; u_long num_dsacks; /* for computing LEAST (see FAQ) */ enum tcp_strains { TCP_RENO, TCP_SACK, TCP_DSACK } tcp_strain; u_long LEAST; char in_rto; u_long recovered, recovered_orig, rto_segment, lastackno; u_long event_retrans, event_dupacks; /* host name letter(s) */ char *host_letter; } tcb; typedef u_short hash; typedef struct { ipaddr a_address; ipaddr b_address; portnum a_port; portnum b_port; hash hash; } tcp_pair_addrblock; struct stcp_pair { /* are we ignoring this one?? */ Bool ignore_pair; /* inactive (previous instance of current connection */ Bool inactive; /* endpoint identification */ tcp_pair_addrblock addr_pair; /* connection naming information */ char *a_hostname; char *b_hostname; char *a_portname; char *b_portname; char *a_endpoint; char *b_endpoint; /* connection information */ timeval first_time; timeval last_time; u_llong packets; tcb a2b; tcb b2a; /* module-specific structures, if requested */ void **pmod_info; /* which file this connection is from */ char *filename; }; typedef struct stcp_pair tcp_pair; typedef struct tcphdr tcphdr; extern int num_tcp_pairs; /* how many pairs are in use */ extern tcp_pair **ttp; /* array of pointers to allocated pairs */ /* Wed Aug 20, 2003 - Ramani*/ /* Prior to version 6.4.11, the data structure for storing the snapshots of connections was a hashtable with linked lists. But this might lead to a worst case scenario when many connections hash to the same hash table entry. In such a case, searching for the connections degrades to searching a linked list with a worst case complexity of O(number of connections in list). Hence the new version implements an AVL tree in place of linked list leading to a worst case complexity of O(ln(number of connections in tree)). The modified data structure was tested with dumpfiles containing lots of connections. A comparison of the profiles suggests an improvement in the time spent in the dotrace function. Even though the AVL tree implementation involves balancing the tree, since most of the accesses involve searching the data structure, AVL tree performs MUCH better than linked list. The algorithms for AVL tree implementation are based on those explained in "Data Structures and Program Design in C by Robert L.Kruse, Bruce P.Leung, Clovis L.Tondo". The source code for AVL tree implementation is from the Institute of Applied Iconoclasm who put up the source code at . We thank Georg for the source code whose mail address has been mentioned as */ /* Data structures for AVL tree */ /* Which of a given node's subtrees is higher in the AVL tree */ enum AVLSKEW { EQUAL1, LEFT, RIGHT }; /* Did an insertion/deletion succeed and if we need to balance the AVL tree */ enum AVLRES { OK, BALANCE }; /* Tue Nov 17, 1998 */ /* prior to version 5.13, we kept a hash table of all of the connections. */ /* The most recently-accessed connections move to the front of the bucket */ /* linked list. Unfortunately, when reading thousands of connections on */ /* a machine with limited physical memory, this worked poorly. Every time */ /* a new connection opened, we had to search the entire bucket, which */ /* pulled all of the paged-out connections back into memory. The new */ /* system keeps a quick snapshot of the connection (ptp_snap) in the */ /* hash table. We only retrieve the connection record if the snapshot */ /* matches. The result is that it works MUCH better when memory is low. */ typedef struct ptp_snap { enum AVLSKEW skew; /* Skew of the AVL tree node */ tcp_pair_addrblock addr_pair; /* just a copy */ struct ptp_snap *left, *right; /* Left and right trees of the AVL node */ void *ptp; } ptp_snap; typedef struct ptp_ptr { struct ptp_ptr *next; struct ptp_ptr *prev; struct ptp_snap *from; tcp_pair *ptp; } ptp_ptr; #define NONREAL_LIVE_CONN_INTERVAL 4*60 /* 4 minutes */ #define REMOVE_LIVE_CONN_INTERVAL 8*3600 /* 8 hours */ #define REMOVE_CLOSED_CONN_INTERVAL 8*60 /* 8 minutes */ #define UPDATE_INTERVAL 30 /* 30 seconds */ #define MAX_CONN_NUM 50000 /* max number of connections */ /* for continuous mode */ /* minimal support for UDP "connections" */ typedef struct ucb { /* parent pointer */ struct sudp_pair *pup; struct ucb *ptwin; /* statistics added */ u_llong data_bytes; u_llong packets; u_long min_dg_size; u_long max_dg_size; /* host name letter(s) */ char *host_letter; } ucb; typedef tcp_pair_addrblock udp_pair_addrblock; struct sudp_pair { /* Are we ignoring this 'connection' ? */ Bool ignore_pair; /* endpoint identification */ udp_pair_addrblock addr_pair; /* connection naming information */ char *a_hostname; char *b_hostname; char *a_portname; char *b_portname; char *a_endpoint; char *b_endpoint; /* connection information */ timeval first_time; timeval last_time; u_llong packets; ucb a2b; ucb b2a; /* module-specific structures, if requested */ void **pmod_info; /* which file this connection is from */ char *filename; /* linked list of usage */ struct sudp_pair *next; }; typedef struct sudp_pair udp_pair; typedef struct udphdr udphdr; extern int num_udp_pairs; /* how many pairs are in use */ extern udp_pair **utp; /* array of pointers to allocated pairs */ /* option flags */ extern Bool colorplot; extern Bool dump_rtt; extern Bool graph_rtt; extern Bool graph_tput; extern Bool graph_tsg; extern Bool graph_segsize; extern Bool graph_owin; extern Bool graph_tline; extern Bool hex; extern Bool ignore_non_comp; extern Bool resolve_ipaddresses; extern Bool resolve_ports; extern Bool triple_dupack_allows_data; extern Bool verify_checksums; extern Bool print_rtt; extern Bool print_owin; extern Bool printbrief; extern Bool printsuppress; extern Bool printem; extern Bool printallofem; extern Bool printticks; extern Bool dump_packet_data; extern Bool warn_ooo; extern Bool warn_printtrunc; extern Bool warn_printbadmbz; extern Bool warn_printhwdups; extern Bool warn_printbad_syn_fin_seq; extern Bool show_out_order; extern Bool show_rexmit; extern Bool show_zero_window; extern Bool show_urg; extern Bool show_sacks; extern Bool show_rtt_dongles; extern Bool show_triple_dupack; extern Bool show_zwnd_probes; extern Bool use_short_names; extern Bool save_tcp_data; extern Bool graph_time_zero; extern Bool graph_seq_zero; extern Bool print_seq_zero; extern Bool graph_zero_len_pkts; extern Bool plot_tput_instant; extern Bool filter_output; extern Bool do_udp; extern Bool show_title; extern Bool show_rwinline; extern Bool docheck_hw_dups; /* constants for real-time (continuous) mode */ extern Bool run_continuously; extern Bool conn_num_threshold; extern Bool xplot_all_files; extern Bool ns_hdrs; extern Bool dup_ack_handling; extern Bool csv; extern Bool tsv; extern u_long remove_live_conn_interval; extern u_long nonreal_live_conn_interval; extern u_long remove_closed_conn_interval; extern u_long update_interval; extern u_long max_conn_num; extern int debug; extern int thru_interval; extern u_long pnum; /* extended variables with values */ extern char *output_file_dir; extern char *output_file_prefix; extern char *xplot_title_prefix; extern char *xplot_args; extern char *sv; extern char *sp; /* Separator used for long output with -separated-values */ /* Used to comment out header lines of the long output * when -separated-values is requested */ extern char *comment; extern u_long ctrunc; extern timeval current_time; extern char *output_filename; /* first and last packet timestamp */ extern timeval first_packet; extern timeval last_packet; #define MAX_NAME 20 /* external routine decls */ double sqrt(double x); void free(void *); int finite(double); /* note that many machines have an ether_ntoa, but the output differs, as does the prototype, so we'll include our own and change the name to avoid conflicts with local prototypes if they exist and differ */ char *Ether_Ntoa(struct ether_addr *e); /* global routine decls */ void *MallocZ(int); void *ReallocZ(void *oldptr, int obytes, int nbytes); void trace_init(void); void trace_done(void); void seglist_init(tcb *); void printpacket(int, int, void *, int, struct ip *, void *plast, tcb *tcb); void plotter_vtick(PLOTTER, timeval, u_long); void plotter_utick(PLOTTER, timeval, u_long); void plotter_uarrow(PLOTTER, timeval, u_long); void plotter_tick(PLOTTER, timeval, u_long, char); void plotter_text(PLOTTER, timeval, u_long, char *, char *); void plotter_temp_color(PLOTTER, char *color); void plotter_ltick(PLOTTER, timeval, u_long); void plotter_rtick(PLOTTER, timeval, u_long); void plotter_rarrow(PLOTTER, timeval, u_long); void plotter_plus(PLOTTER, timeval, u_long); void plotter_perm_color(PLOTTER, char *color); void plotter_line(PLOTTER, timeval, u_long, timeval, u_long); void plotter_larrow(PLOTTER, timeval, u_long); void plotter_htick(PLOTTER, timeval, u_long); void plotter_dtick(PLOTTER, timeval, u_long); void plotter_dot(PLOTTER, timeval, u_long); void plotter_done(void); void plotter_dline(PLOTTER, timeval, u_long, timeval, u_long); void plotter_diamond(PLOTTER, timeval, u_long); void plotter_darrow(PLOTTER, timeval, u_long); void plotter_box(PLOTTER, timeval, u_long); void plotter_arrow(PLOTTER, timeval, u_long, char); void plotter_nothing(PLOTTER, timeval); void plotter_invisible(PLOTTER, timeval, u_long); void plotter_switch_axis(PLOTTER, Bool); void plot_init(void); tcp_pair *dotrace(struct ip *, struct tcphdr *ptcp, void *plast); void PrintRawData(char *label, void *pfirst, void *plast, Bool octal); void PrintRawDataHex(char *label, void *pfirst, void *plast); void PrintTrace(tcp_pair *); void UDPPrintTrace(udp_pair *); void PrintSVHeader(void); void PrintBrief(tcp_pair *); void UDPPrintBrief(udp_pair *); void OnlyConn(int); void IgnoreConn(int); void OnlyUDPConn(int); void IgnoreUDPConn(int); double elapsed(timeval, timeval); void tv_sub(struct timeval *plhs, struct timeval rhs); void tv_add(struct timeval *plhs, struct timeval rhs); int tv_cmp(struct timeval lhs, struct timeval rhs); Bool tv_same(struct timeval lhs, struct timeval rhs); char *elapsed2str(double etime); int ConnReset(tcp_pair *); int ConnComplete(tcp_pair *); u_int SynCount(tcp_pair *ptp); u_int FinCount(tcp_pair *ptp); char *ts2ascii(timeval *); char *ts2ascii_date(timeval *); char *ServiceName(portnum); char *HostName(ipaddr); char *HostAddr(ipaddr); char *HostLetter(llong); char *NextHostLetter(void); char *EndpointName(ipaddr,portnum); PLOTTER new_plotter(tcb *plast, char *filename, char *title, char *xlabel, char *ylabel, char *suffix); int rexmit(tcb *, seqnum, seglen, Bool *); enum t_ack ack_in(tcb *, seqnum, unsigned tcp_data_length, u_long eff_win); Bool IsRTO(tcb *ptcb, seqnum s); void DoThru(tcb *ptcb, int nbytes); struct mfile *Mfopen(char *fname, char *mode); void Minit(void); int Mfileno(MFILE *pmf); int Mvfprintf(MFILE *pmf, char *format, va_list ap); int Mfwrite(void *buf, u_long size, u_long nitems, MFILE *pmf); long Mftell(MFILE *pmf); int Mfseek(MFILE *pmf, long offset, int ptrname); int Mfprintf(MFILE *pmf, char *format, ...); int Mfflush(MFILE *pmf); int Mfclose(MFILE *pmf); int Mfpipe(int pipes[2]); struct tcp_options *ParseOptions(struct tcphdr *ptcp, void *plast); FILE *CompOpenHeader(char *filename); FILE *CompOpenFile(char *filename); void CompCloseFile(char *filename); void CompFormats(void); int CompIsCompressed(void); Bool FileIsStdin(char *filename); struct tcb *ptp2ptcb(tcp_pair *ptp, struct ip *pip, struct tcphdr *ptcp); void PcapSavePacket(char *filename, struct ip *pip, void *plast); void StringToArgv(char *buf, int *pargc, char ***pargv); void CopyAddr(tcp_pair_addrblock *, struct ip *pip,portnum,portnum); int WhichDir(tcp_pair_addrblock *, tcp_pair_addrblock *); int SameConn(tcp_pair_addrblock *, tcp_pair_addrblock *, int *); Bool ip_cksum_valid(struct ip *pip, void *plast); Bool tcp_cksum_valid(struct ip *pip, struct tcphdr *ptcp, void *plast); Bool udp_cksum_valid(struct ip *pip, struct udphdr *pudp, void *plast); ipaddr *str2ipaddr(char *str); int IPcmp(ipaddr *pipA, ipaddr *pipB); void ModulesPerOldConn(tcp_pair *ptp); /* Memory allocation routines with page boundaries */ tcp_pair *MakeTcpPair(void); void FreeTcpPair(tcp_pair *ptr); udp_pair *MakeUdpPair(void); void FreeUdpPair(udp_pair *ptr); seqspace *MakeSeqspace(void); void FreeSeqspace(seqspace *ptr); ptp_snap *MakePtpSnap(void); void FreePtpSnap(ptp_snap *ptr); segment *MakeSegment(void); void FreeSegment(segment *ptr); quadrant *MakeQuadrant(void); void FreeQuadrant(quadrant *ptr); ptp_ptr *MakePtpPtr(void); void FreePtpPtr(ptp_ptr *ptr); void freequad(quadrant **); /* AVL tree support routines */ enum AVLRES SnapInsert(ptp_snap **n, ptp_snap *new_node); enum AVLRES SnapRemove(ptp_snap **n, tcp_pair_addrblock address); int AVL_WhichDir(tcp_pair_addrblock *ptpa1, tcp_pair_addrblock *ptpa2); /* high-level line drawing */ PLINE new_line(PLOTTER pl, char *label, char *color); void extend_line(PLINE pline, timeval xval, int yval); /* UDP support routines */ void udptrace_init(void); void udptrace_done(void); udp_pair *udpdotrace(struct ip *pip, struct udphdr *pudp, void *plast); /* filter routines */ void HelpFilter(void); void ParseFilter(char *expr); Bool PassesFilter(tcp_pair *ptp); /* simple string expansion for file names, directories, etc */ char *ExpandFormat(const char *format); /* TCP flags macros */ #define SYN_SET(ptcp)((ptcp)->th_flags & TH_SYN) #define FIN_SET(ptcp)((ptcp)->th_flags & TH_FIN) #define ACK_SET(ptcp)((ptcp)->th_flags & TH_ACK) #define RESET_SET(ptcp)((ptcp)->th_flags & TH_RST) #define PUSH_SET(ptcp)((ptcp)->th_flags & TH_PUSH) #define URGENT_SET(ptcp)((ptcp)->th_flags & TH_URG) #define FLAG6_SET(ptcp)((ptcp)->th_flags & 0x40) #define FLAG7_SET(ptcp)((ptcp)->th_flags & 0x80) /* Changed the following macros to reflect the correct position of bits as specified in RFC 2481 and draft-ietf-tsvwg-ecn-04.txt */ /* #define CWR_SET(ptcp) (TH_X2((ptcp)) & TH_CWR) #define ECN_ECHO_SET(ptcp)(TH_X2((ptcp)) & TH_ECN_ECHO) */ #define CWR_SET(ptcp) (TH_FLAGS((ptcp)) & TH_CWR) #define ECN_ECHO_SET(ptcp) (TH_FLAGS((ptcp)) & TH_ECN_ECHO) /* connection directions */ #define A2B 1 #define B2A -1 /* If the AVL node is to left or right in the AVL tree */ /* Words "LEFT" and "RIGHT" have already been taken in an enum * above. Let us call them LT, RT just not to make it ambiguous for ourselves * or the compiler or both :-) */ #define LT -2 #define RT 2 /*macros for maintaining the seqspace used for rexmit*/ #define QUADSIZE (0x40000000) #define QUADNUM(seq) ((seq>>30)+1) #define IN_Q1(seq) (QUADNUM(seq)==1) #define IN_Q2(seq) (QUADNUM(seq)==2) #define IN_Q3(seq) (QUADNUM(seq)==3) #define IN_Q4(seq) (QUADNUM(seq)==4) #define FIRST_SEQ(quadnum) (QUADSIZE*(quadnum-1)) #define LAST_SEQ(quadnum) ((QUADSIZE*quadnum)-1) /* bug fix by Priya */ #define BOUNDARY(beg,fin) (QUADNUM((beg)) != QUADNUM((fin))) /* physical layers currently understood */ #define PHYS_ETHER 1 #define PHYS_FDDI 2 /* * SEQCMP - sequence space comparator * This handles sequence space wrap-around. Overlow/Underflow makes * the result below correct ( -, 0, + ) for any a, b in the sequence * space. Results: result implies * - a < b * 0 a = b * + a > b */ #define SEQCMP(a, b) ((long)(a) - (long)(b)) #define SEQ_LESSTHAN(a, b) (SEQCMP(a,b) < 0) #define SEQ_GREATERTHAN(a, b) (SEQCMP(a,b) > 0) /* SACK TCP options (not an RFC yet, mostly from draft and RFC 1072) */ /* I'm assuming, for now, that the draft version is correct */ /* sdo -- Tue Aug 20, 1996 */ #define TCPOPT_SACK_PERM 4 /* sack-permitted option */ #define TCPOPT_SACK 5 /* sack attached option */ #define MAX_SACKS 10 /* max number of sacks per segment (rfc1072) */ typedef struct sack_block { seqnum sack_left; /* left edge */ seqnum sack_right; /* right edge */ } sack_block; #define MAX_UNKNOWN 16 typedef struct opt_unknown { u_char unkn_opt; u_char unkn_len; } opt_unknown; /* RFC 1323 TCP options (not usually in tcp.h yet) */ #define TCPOPT_WS 3 /* window scaling */ #define TCPOPT_TS 8 /* timestamp */ /* other options... */ #define TCPOPT_ECHO 6 /* echo (rfc1072) */ #define TCPOPT_ECHOREPLY 7 /* echo (rfc1072) */ #define TCPOPT_TIMESTAMP 8 /* timestamps (rfc1323) */ #define TCPOPT_CC 11 /* T/TCP CC options (rfc1644) */ #define TCPOPT_CCNEW 12 /* T/TCP CC options (rfc1644) */ #define TCPOPT_CCECHO 13 /* T/TCP CC options (rfc1644) */ /* RFC 2481 (ECN) IP and TCP flags (not usually defined yet) */ #define IPTOS_ECT 0x02 /* ECN-Capable Transport */ #define IPTOS_CE 0x01 /* Experienced Congestion */ // Modified the following macros to reflect the // correct bit positions for CWR and ECE as specified in // RFC 2481 and the latest draft: draft-ietf-tsvwg-ecn-04.txt. // The bits CWR and ECE are actually the most significant // bits in the TCP flags octet respectively. /*#define TH_ECN_ECHO 0x02 */ /* Used by receiver to echo CE bit */ /*#define TH_CWR 0x01 */ /* Congestion Window Reduced */ #define TH_CWR 0x80 /* Used by sender to indicate congestion window size reduction. */ #define TH_ECN_ECHO 0x40 /* Used by receiver to echo CE bit. */ /* some compilers seem to want to make "char" unsigned by default, */ /* which is breaking stuff. Rather than introduce (more) ugly */ /* machine dependencies, I'm going to FORCE some chars to be */ /* signed... */ typedef signed char s_char; struct tcp_options { short mss; /* maximum segment size */ s_char ws; /* window scale (1323) */ long tsval; /* Time Stamp Val (1323) */ long tsecr; /* Time Stamp Echo Reply (1323) */ Bool sack_req; /* sacks requested */ s_char sack_count; /* sack count in this packet */ sack_block sacks[MAX_SACKS]; /* sack blocks */ /* echo request and reply */ /* assume that value of -1 means unused (?) */ u_long echo_req; u_long echo_repl; /* T/TCP stuff */ /* assume that value of -1 means unused (?) */ u_long cc; u_long ccnew; u_long ccecho; /* record the stuff we don't understand, too */ char unknown_count; /* number of unknown options */ opt_unknown unknowns[MAX_UNKNOWN]; /* unknown options */ }; /* * File extensions to use * */ #define RTT_DUMP_FILE_EXTENSION "_rttraw.dat" #define RTT_GRAPH_FILE_EXTENSION "_rtt.xpl" #define PLOT_FILE_EXTENSION "_tsg.xpl" #define SEGSIZE_FILE_EXTENSION "_ssize.xpl" #define OWIN_FILE_EXTENSION "_owin.xpl" #define TLINE_FILE_EXTENSION "_tline.xpl" #define THROUGHPUT_FILE_EXTENSION "_tput.xpl" #define CONTENTS_FILE_EXTENSION "_contents.dat" /* name of file to store filtered output into */ #define PASS_FILTER_FILENAME "PF" /* name of the resource file */ #define TCPTRACE_RC_FILE ".tcptracerc" /* name of the argument envariable */ #define TCPTRACE_ENVARIABLE "TCPTRACEOPTS" /* packet-reading options... */ /* the type for a packet reading routine */ typedef int pread_f(struct timeval *, int *, int *, void **, int *, struct ip **, void **); /* give the prototypes for the is_GLORP() routines supported */ #ifdef GROK_SNOOP pread_f *is_snoop(char *); #endif /* GROK_SNOOP */ #ifdef GROK_NETM pread_f *is_netm(char *); #endif /* GROK_NETM */ #ifdef GROK_TCPDUMP pread_f *is_tcpdump(char *); #endif /* GROK_TCPDUMP */ #ifdef GROK_ETHERPEEK pread_f *is_EP(char *); #endif /* GROK_ETHERPEEK */ #ifdef GROK_NS pread_f *is_ns(char *); #endif /* GROK_NS */ #ifdef GROK_NLANR pread_f *is_nlanr(char *); #endif /* GROK_NLANR */ #ifdef GROK_NETSCOUT pread_f *is_netscout(char *); #endif /* GROK_NETSCOUT */ #ifdef GROK_ERF pread_f *is_erf(char *); #endif /* GROK_ERF */ #ifndef __VMS /* I've had problems with the memcpy function that gcc stuffs into the program and alignment problems. This should fix it! */ void *MemCpy(void *p1, void *p2, size_t n); /* in tcptrace.c */ #define memcpy(p1,p2,n) MemCpy(p1,p2,n) #endif /* __VMS */ #ifdef __VMS #define snprintf snprintf_vms int snprintf_vms(char *str, size_t len, const char *fmt, ...); #endif /* * timeval compare macros */ #define tv_ge(lhs,rhs) (tv_cmp((lhs),(rhs)) >= 0) #define tv_gt(lhs,rhs) (tv_cmp((lhs),(rhs)) > 0) #define tv_le(lhs,rhs) (tv_cmp((lhs),(rhs)) <= 0) #define tv_lt(lhs,rhs) (tv_cmp((lhs),(rhs)) < 0) #define tv_eq(lhs,rhs) (tv_cmp((lhs),(rhs)) == 0) /* handy constants */ #define US_PER_SEC 1000000 /* microseconds per second */ #define MS_PER_SEC 1000 /* milliseconds per second */ /* * Macros to simplify access to IPv4/IPv6 header fields */ #define PIP_VERS(pip) (IP_V((struct ip *)(pip))) #define PIP_ISV6(pip) (PIP_VERS(pip) == 6) #define PIP_ISV4(pip) (PIP_VERS(pip) == 4) #define PIP_V6(pip) ((struct ipv6 *)(pip)) #define PIP_V4(pip) ((struct ip *)(pip)) #define PIP_EITHERFIELD(pip,fld4,fld6) \ (PIP_ISV4(pip)?(PIP_V4(pip)->fld4):(PIP_V6(pip)->fld6)) #define PIP_LEN(pip) (PIP_EITHERFIELD(pip,ip_len,ip6_lngth)) /* * Macros to simplify access to IPv4/IPv6 addresses */ #define ADDR_VERSION(paddr) ((paddr)->addr_vers) #define ADDR_ISV4(paddr) (ADDR_VERSION((paddr)) == 4) #define ADDR_ISV6(paddr) (ADDR_VERSION((paddr)) == 6) struct ipaddr *IPV4ADDR2ADDR(struct in_addr *addr4); struct ipaddr *IPV6ADDR2ADDR(struct in6_addr *addr6); /* * Macros to check for congestion experienced bits */ #define IP_CE(pip) (((struct ip *)(pip))->ip_tos & IPTOS_CE) #define IP_ECT(pip) (((struct ip *)(pip))->ip_tos & IPTOS_ECT) /* * fixes for various systems that aren't exactly like Solaris */ #ifndef IP_MAXPACKET #define IP_MAXPACKET 65535 #endif /* IP_MAXPACKET */ /* max 32 bit number */ #define MAX_32 (0x100000000LL) #ifndef ETHERTYPE_REVARP #define ETHERTYPE_REVARP 0x8035 #endif /* ETHERTYPE_REVARP */ #ifndef ETHERTYPE_VLAN #define ETHERTYPE_VLAN 0x8100 #endif /* 802.1Q Virtual LAN */ /* support for PPPoE encapsulation added by Yann Samama (ysamama@nortelnetworks.com)*/ #ifndef ETHERTYPE_PPPOE_SESSION #define ETHERTYPE_PPPOE_SESSION 0x8864 #endif /* PPPoE ether type */ #ifndef PPPOE_SIZE #define PPPOE_SIZE 22 #endif /* PPPOE header size */ tcptrace-6.6.7/tcptrace.man0100644001217500001440000002373107643143010015355 0ustar mramadasusers.TH tcptrace 1 "14 Oct 2002" .SH NAME tcptrace - a TCP connection analysis tool .SH SYNOPSIS .B tcptrace [options] filename .SH DESCRIPTION tcptrace takes a tcpdump file specified on the command line (or from standard input) and produces a summarization of the connections. .SH "OPTIONS" .I Output format options .TP 5 .B \-b brief output format .TP 5 .B \-l long output format .TP 5 .B \-r print rtt statistics (slower for large files) .TP 5 .B \-W report on estimated congestion window (not generally useful) .TP 5 .B \-q no output (if you just want modules output) .PP .I Graphing options .TP 5 .B \-T create throughput graph[s], (average over 10 segments, see -A) .TP 5 .B \-R create rtt sample graph[s] .TP 5 .B \-S create time sequence graph[s] .TP 5 .B \-N create owin graph[s] (_o_utstanding data on _N_etwork) .TP 5 .B \-F create segsize graph[s] .TP 5 .B \-G create ALL graphs .PP .I Output format detail options .TP 5 .B \-D print in decimal .TP 5 .B \-X print in hexadecimal .TP 5 .B \-n don't resolve host or service names (much faster) .TP 5 .B \-s use short names (list "picard.cs.ohiou.edu" as just "picard") .PP .I Connection filtering options .TP 5 .B \-iN ignore connection N (can use multiple times) .TP 5 .B \-oN[-M] only connection N (or N through M). Arg can be used many times. In N is a file rather than a number, read list from file instead. .TP 5 .B \-c ignore non-complete connections (didn't see syn's and fin's) .TP 5 .B \-BN first segment number to analyze (default 1) .TP 5 .B \-EN last segment number to analyze (default last in file) .PP .I Graphing detail options .TP 5 .B \-C produce color plot[s] .TP 5 .B \-M produce monochrome (b/w) plot[s] .TP 5 .B \-AN Average N segments for throughput graphs, default is 10 .TP 5 .B \-z zero axis options: .TP 5 .B \-z plot time axis from 0 rather than wall clock time (backward compat) .TP 5 .B \-zx plot time axis from 0 rather than wall clock time .TP 5 .B \-zy plot sequence numbers from 0 (time sequence graphs only) .TP 5 .B \-zxy plot both axes from 0 .TP 5 .B \-y omit the (yellow) instantaneous throughput points in tput graph .PP .I Misc options .TP 5 .B \-Z dump raw rtt sample times to file[s] .TP 5 .B \-p print all packet contents (can be very long) .TP 5 .B \-P print packet contents for selected connections .TP 5 .B \-t \'tick' off the packet numbers as a progress indication .TP 5 .B \-v print version information and exit .TP 5 .B \-w print various warning messages .TP 5 .B \-d whistle while you work (enable debug, use -d -d for more output) .TP 5 .B \-e extract contents of each TCP stream into file .TP 5 .B \-h print help messages .TP 5 .B \-u print minimal UDP information too .TP 5 .B \-Ofile dump matched packets to tcpdump file 'file' .TP 5 .B \+[v] reverse the setting of the -[v] flag (for booleans) .PP .I Extended boolean options (unambiguous prefixes also work) .TP 5 .B \--showsacks show SACK blocks on time sequence graphs (default) .TP 5 .B \--noshowsacks DON'T show SACK blocks on time sequence graphs .TP 5 .B \--showrexmit mark retransmits on time sequence graphs (default) .TP 5 .B \--noshowrexmit DON'T mark retransmits on time sequence graphs .TP 5 .B \--showoutorder mark out-of-order on time sequence graphs (default) .TP 5 .B \--noshowoutorder DON'T mark out-of-order on time sequence graphs .TP 5 .B \--showzerowindow mark zero windows on time sequence graphs (default) .TP 5 .B \--noshowzerowindow DON'T mark zero windows on time sequence graphs .TP 5 .B \--showurg mark packets with URGENT bit set on the time sequence graphs (default) .TP 5 .B \--noshowurg DON'T mark packets with URGENT bit set on the time sequence graphs .TP 5 .B \--showrttdongles mark non-RTT-generating ACKs with special symbols .TP 5 .B \--noshowrttdongles DON'T mark non-RTT-generating ACKs with special symbols (default) .TP 5 .B \--showdupack3 mark triple dupacks on time sequence graphs (default) .TP 5 .B \--noshowdupack3 DON'T mark triple dupacks on time sequence graphs .TP 5 .B \--showzerolensegs show zero length packets on time sequence graphs (default) .TP 5 .B \--noshowzerolensegs DON'T show zero length packets on time sequence graphs .TP 5 .B \--showzwndprobes show zero window probe packets on time sequence graphs (default) .TP 5 .B \--noshowzwndprobes DON'T show zero window probe packets on time sequence graphs .TP 5 .B \--showtitle show title on the graphs (default) .TP 5 .B \--noshowtitle DON'T show title on the graphs .TP 5 .B \--res_addr resolve IP addresses into names (may be slow) (default) .TP 5 .B \--nores_addr DON'T resolve IP addresses into names (may be slow) .TP 5 .B \--res_port resolve port numbers into names (default) .TP 5 .B \--nores_port DON'T resolve port numbers into names .TP 5 .B \--checksum verify IP and TCP checksums .TP 5 .B \--nochecksum DON'T verify IP and TCP checksums (default) .TP 5 .B \--dupack3_data count a duplicate ACK carrying data as a triple dupack .TP 5 .B \--nodupack3_data DON'T count a duplicate ACK carrying data as a triple dupack (default) .TP 5 .B \--check_hwdups check for 'hardware' dups (default) .TP 5 .B \--nocheck_hwdups DON'T check for 'hardware' dups .TP 5 .B \--warn_ooo print warnings when packets timestamps are out of order .TP 5 .B \--nowarn_ooo DON'T print warnings when packets timestamps are out of order (default) .TP 5 .B \--warn_printtrunc print warnings when packets are too short to analyze .TP 5 .B \--nowarn_printtrunc DON'T print warnings when packets are too short to analyze (default) .TP 5 .B \--warn_printbadmbz print warnings when MustBeZero TCP fields are NOT 0 .TP 5 .B \--nowarn_printbadmbz DON'T print warnings when MustBeZero TCP fields are NOT 0 (default) .TP 5 .B \--warn_printhwdups print warnings for hardware duplicates .TP 5 .B \--nowarn_printhwdups DON'T print warnings for hardware duplicates (default) .TP 5 .B \--warn_printbadcsum print warnings when packets with bad checksums .TP 5 .B \--nowarn_printbadcsum DON'T print warnings when packets with bad checksums (default) .TP 5 .B \--warn_printbad_syn_fin_seq print warnings when SYNs or FINs rexmitted with different sequence numbers .TP 5 .B \--nowarn_printbad_syn_fin_seq DON'T print warnings when SYNs or FINs rexmitted with different sequence numbers (default) .TP 5 .B \--dump_packet_data print all packets AND dump the TCP/UDP data .TP 5 .B \--nodump_packet_data DON'T print all packets AND dump the TCP/UDP data (default) .TP 5 .B \--continuous run continuously and don't provide a summary .TP 5 .B \--nocontinuous DON'T run continuously and don't provide a summary (default) .TP 5 .B \--print_seq_zero print sequence numbers as offset from initial sequence number .TP 5 .B \--noprint_seq_zero DON'T print sequence numbers as offset from initial sequence number (default) .TP 5 .B \--limit_conn_num limit the maximum number of connections kept at a time in real-time mode .TP 5 .B \--nolimit_conn_num DON'T limit the maximum number of connections kept at a time in real-time mode (default) .TP 5 .B \--xplot_all_files display all generated xplot files at the end .TP 5 .B \--noxplot_all_files DON'T display all generated xplot files at the end (default) .TP 5 .B \--ns_hdrs assume that ns has the useHeaders_flag true (uses IP+TCP headers) (default) .TP 5 .B \--nons_hdrs DON'T assume that ns has the useHeaders_flag true (uses IP+TCP headers) .TP 5 .B \--csv display the long output as comma separated values .TP 5 .B \--nocsv DON'T display the long output as comma separated values (default) .TP 5 .B \--tsv display the long output as tab separated values .TP 5 .B \--notsv DON'T display the long output as tab separated values (default) .PP .I Extended variable options (unambiguous prefixes also work) .TP 5 .B \--output_dir=``STR'' directory where all output files are placed (default: '') .TP 5 .B \--output_prefix=``STR'' prefix all output files with this string (default: '') .TP 5 .B \--xplot_title_prefix=``STR'' prefix to place in the titles of all xplot files (default: '') .TP 5 .B \--update_interval=``STR'' time interval for updates in real-time mode (default: '') .TP 5 .B \--max_conn_num=``STR'' maximum number of connections to keep at a time in real-time mode (default: '') .TP 5 .B \--remove_live_conn_interval=``STR'' idle time after which an open connection is removed in real-time mode (default: '') .TP 5 .B \--remove_closed_conn_interval=``STR'' time interval after which a closed connection is removed in real-time mode (default: '') .TP 5 .B \--xplot_args=``STR'' arguments to pass to xplot, if we are calling xplot from here (default: '') .TP 5 .B \--sv=``STR'' separator to use for long output with -separated-values (default: '') .PP .I Included Modules .TP 5 http Http analysis package .TP 5 tcplib TCPLib analysis package .TP 5 traffic traffic analysis package .TP 5 slice traffic efficiency data by time slices .TP 5 rttgraph round trip time analysis graphs .TP 5 collie connection summary package .TP 5 realtime example real-time package .PP For module-specific options, please use `tcptrace -hxargs` .I Filter Variables: .PP Please use 'tcptrace -hfilter' for the complete listing of filter variables. .I Filter Syntax: .PP Please use 'tcptrace -hfilter' for filter syntax. .PP .SH ENVIRONMENT Options are first read from the file $HOME/.tcptracerc (if it exists), and then from the environment variable TCPTRACEOPTS (if it exists), and finally from the command line. .SH AUTHOR Shawn Ostermann (ostermann@cs.ohiou.edu) .SH CREDITS Thanks to Mark Foster (mafoster@george.arc.nasa.gov) for writing this manual page. Thanks to Avinash Lakhiani (alakhian@irg.cs.ohiou.edu) for updating it. .SH FILES Dump File Names .br Trailing (unrecognized) arguments are taken to be one or more filenames. The files can be compressed, see compress.h for configuration. If the dump file name is 'stdin', then we read from standard input rather than from a file. .SH SEE ALSO .TP 8 .B xplot an interactive tool for examining .xpl files output by tcptrace. .TP 8 .B jPlot a Java version of xplot. tcptrace-6.6.7/tcptrace.opt0100755001217500001440000000074307504527572015424 0ustar mramadasusersobj$:version obj$:compress obj$:etherpeek obj$:gcache obj$:mfiles obj$:names obj$:netm obj$:output obj$:plotter obj$:print obj$:rexmit obj$:snoop obj$:nlanr obj$:tcpdump obj$:tcptrace obj$:thruput obj$:trace obj$:ipv6 obj$:filt_scanner obj$:filt_parser obj$:filter obj$:udp obj$:ns obj$:netscout obj$:pool obj$:poolaccess obj$:dstring obj$:mod_http obj$:mod_traffic obj$:mod_rttgraph obj$:mod_tcplib obj$:mod_collie obj$:mod_slice obj$:mod_realtime obj$:dyncounter obj$:snprintf_vms tcptrace-6.6.7/thruput.c0100644001217500001440000001214007756700115014734 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/thruput.c,v 5.5 2003/11/19 14:38:05 sdo Exp $"; void DoThru( tcb *ptcb, int nbytes) { double etime; double thruput; char *myname, *hisname; /* init, if not already done */ if (ZERO_TIME(&ptcb->thru_firsttime)) { char title[210]; ptcb->thru_firsttime = current_time; ptcb->thru_lasttime = current_time; ptcb->thru_pkts = 1; ptcb->thru_bytes = nbytes; /* bug fix from Michele Clark - UNC */ if (&ptcb->ptp->a2b == ptcb) { myname = ptcb->ptp->a_endpoint; hisname = ptcb->ptp->b_endpoint; } else { myname = ptcb->ptp->b_endpoint; hisname = ptcb->ptp->a_endpoint; } /* create the plotter file */ snprintf(title,sizeof(title),"%s_==>_%s (throughput)", myname, hisname); ptcb->thru_plotter = new_plotter(ptcb,NULL,title, "time","thruput (bytes/sec)", THROUGHPUT_FILE_EXTENSION); if (graph_time_zero) { /* set graph zero points */ plotter_nothing(ptcb->thru_plotter, current_time); } /* create lines for average and instantaneous values */ ptcb->thru_avg_line = new_line(ptcb->thru_plotter, "avg. tput", "blue"); ptcb->thru_inst_line = new_line(ptcb->thru_plotter, "inst. tput", "red"); return; } /* if no data, then nothing to do */ if (nbytes == 0) return; /* see if we should output the stats yet */ if (ptcb->thru_pkts+1 >= thru_interval) { /* compute stats for this interval */ etime = elapsed(ptcb->thru_firsttime,current_time); if (etime == 0.0) etime = 1000; /* ick, what if "no time" has passed?? */ thruput = (double) ptcb->thru_bytes / ((double) etime / 1000000.0); /* instantaneous plot */ extend_line(ptcb->thru_inst_line, current_time, (int) thruput); /* compute stats for connection lifetime */ etime = elapsed(ptcb->ptp->first_time,current_time); if (etime == 0.0) etime = 1000; /* ick, what if "no time" has passed?? */ thruput = (double) ptcb->data_bytes / ((double) etime / 1000000.0); /* long-term average */ extend_line(ptcb->thru_avg_line, current_time, (int) thruput); /* reset stats for this interval */ ptcb->thru_firsttime = current_time; ptcb->thru_pkts = 0; ptcb->thru_bytes = 0; } /* immediate value in yellow ticks */ if (plot_tput_instant) { etime = elapsed(ptcb->thru_lasttime,current_time); if (etime == 0.0) etime = 1000; /* ick, what if "no time" has passed?? */ thruput = (double) nbytes / ((double) etime / 1000000.0); plotter_temp_color(ptcb->thru_plotter,"yellow"); plotter_dot(ptcb->thru_plotter, current_time, (int) thruput); } /* add in the latest packet */ ptcb->thru_lasttime = current_time; ++ptcb->thru_pkts; ptcb->thru_bytes += nbytes; } tcptrace-6.6.7/trace.c0100644001217500001440000031630110142530247014313 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/trace.c,v 5.74 2004/11/04 22:43:51 mramadas Exp $"; #include "gcache.h" /* locally global variables */ static int tcp_packet_count = 0; static int search_count = 0; static int active_conn_count = 0; static int closed_conn_count = 0; static Bool *ignore_pairs = NULL;/* which ones will we ignore */ static Bool bottom_letters = 0; /* I don't use this anymore */ static Bool more_conns_ignored = FALSE; static double sample_elapsed_time=0; /* to keep track of owin samples */ static double total_elapsed_time=0; /* to keep track of owin samples */ static int num_removed_tcp_pairs = 0; static int tline_left = 0; /* left and right time lines for the time line charts */ static int tline_right = 0; /* provided globals */ int num_tcp_pairs = -1; /* how many pairs we've allocated */ tcp_pair **ttp = NULL; /* array of pointers to allocated pairs */ int max_tcp_pairs = 64; /* initial value, automatically increases */ u_long tcp_trace_count = 0; /* local routine definitions */ static tcp_pair *NewTTP(struct ip *, struct tcphdr *); static tcp_pair *FindTTP(struct ip *, struct tcphdr *, int *, ptp_ptr **); static void MoreTcpPairs(int num_needed); static void ExtractContents(u_long seq, u_long tcp_data_bytes, u_long saved_data_bytes, void *pdata, tcb *ptcb); static Bool check_hw_dups(u_short id, seqnum seq, tcb *ptcb); static u_long SeqRep(tcb *ptcb, u_long seq); static void UpdateConnLists(ptp_ptr *tcp_ptr, struct tcphdr *ptcp); static void UpdateConnList(ptp_ptr *tcp_ptr, const Bool valid, ptp_ptr **conn_list_head, ptp_ptr **conn_list_tail); static void RemoveOldConns(ptp_ptr **conn_list_head, ptp_ptr **conn_list_tail, const unsigned expire_interval, const Bool num_conn_check, int *conn_count); static void RemoveConn(const ptp_ptr *tcp_ptr); static void RemoveTcpPair(const ptp_ptr *tcp_ptr); static Bool MissingData(tcp_pair *ptp); /* options */ Bool show_zero_window = TRUE; Bool show_rexmit = TRUE; Bool show_out_order = TRUE; Bool show_sacks = TRUE; Bool show_rtt_dongles = FALSE; Bool show_triple_dupack = TRUE; Bool show_zwnd_probes = TRUE; Bool nonames = FALSE; Bool use_short_names = FALSE; Bool show_urg = TRUE; int thru_interval = 10; /* in segments */ /* what colors to use */ /* choose from: "green" "red" "blue" "yellow" "purple" "orange" "magenta" "pink" */ char *window_color = "yellow"; char *ack_color = "green"; char *sack_color = "purple"; char *data_color = "white"; char *retrans_color = "red"; char *hw_dup_color = "blue"; char *out_order_color = "pink"; char *text_color = "magenta"; char *default_color = "white"; char *synfin_color = "orange"; char *push_color = "white"; /* top arrow for PUSHed segments */ char *ecn_color = "yellow"; char *urg_color = "red"; char *probe_color = "orange"; char *a2b_seg_color = "green"; /* colors for segments on the time line chart */ char *b2a_seg_color = "yellow"; /* ack diamond dongle colors */ char *ackdongle_nosample_color = "blue"; char *ackdongle_ambig_color = "red"; /* * ipcopyaddr: copy an IPv4 or IPv6 address */ static inline void IP_COPYADDR (ipaddr *ptoaddr, ipaddr *pfromaddr) { if (ADDR_ISV6(pfromaddr)) { memcpy(ptoaddr->un.ip6.s6_addr, pfromaddr->un.ip6.s6_addr, 16); ptoaddr->addr_vers = 6; } else { ptoaddr->un.ip4.s_addr = pfromaddr->un.ip4.s_addr; ptoaddr->addr_vers = 4; } } /* * ipsameaddr: test for equality of two IPv4 or IPv6 addresses */ static inline int IP_SAMEADDR (ipaddr *paddr1, ipaddr *paddr2) { int ret = 0; if (ADDR_ISV4(paddr1)) { if (ADDR_ISV4(paddr2)) ret = (paddr1->un.ip4.s_addr == paddr2->un.ip4.s_addr); } else { /* already know ADDR_ISV6(paddr1) */ if (ADDR_ISV6(paddr2)) ret = (memcmp(paddr1->un.ip6.s6_addr, paddr2->un.ip6.s6_addr,16) == 0); } if (debug > 3) printf("SameAddr(%s(%d),%s(%d)) returns %d\n", HostName(*paddr1), ADDR_VERSION(paddr1), HostName(*paddr2), ADDR_VERSION(paddr2), ret); return ret; } /* * iplowaddr: test if one IPv4 or IPv6 address is lower than the second one */ static inline int IP_LOWADDR (ipaddr *paddr1, ipaddr *paddr2) { int ret = 0; if (ADDR_ISV6(paddr1)) { if (ADDR_ISV6(paddr2)) ret = (memcmp(paddr1->un.ip6.s6_addr, paddr2->un.ip6.s6_addr,16) < 0); } else { /* already know ADDR_ISV4(paddr1) */ if (ADDR_ISV4(paddr2)) ret = (paddr1->un.ip4.s_addr < paddr2->un.ip4.s_addr); } if (debug > 3) printf("LowAddr(%s(%d),%s(%d)) returns %d\n", HostName(*paddr1), ADDR_VERSION(paddr1), HostName(*paddr2), ADDR_VERSION(paddr2), ret); return ret; } /* return elapsed time in microseconds */ /* (time2 - time1) */ double elapsed( struct timeval time1, struct timeval time2) { struct timeval etime; /*sanity check, some of the files have packets out of order */ if (tv_lt(time2,time1)) { return(0.0); } if (0) { fprintf(stderr,"elapsed(%s,", ts2ascii(&time1)); fprintf(stderr,"%s) is ", ts2ascii(&time2)); } etime = time2; tv_sub(&etime, time1); if (0) fprintf(stderr,"\n\t%s \n", ts2ascii(&etime)); return((double)etime.tv_sec * 1000000 + (double)etime.tv_usec); } /* subtract the rhs from the lhs, result in lhs */ void tv_sub(struct timeval *plhs, struct timeval rhs) { /* sanity check, lhs MUST BE more than rhs */ if (tv_lt(*plhs,rhs)) { fprintf(stderr,"tvsub(%s,", ts2ascii(plhs)); fprintf(stderr,"%s) bad timestamp order!\n", ts2ascii(&rhs)); /* exit(-1); */ plhs->tv_sec = plhs->tv_usec = 0; return; } if (plhs->tv_usec >= rhs.tv_usec) { plhs->tv_usec -= rhs.tv_usec; } else if (plhs->tv_usec < rhs.tv_usec) { plhs->tv_usec += US_PER_SEC - rhs.tv_usec; plhs->tv_sec -= 1; } plhs->tv_sec -= rhs.tv_sec; } /* add the RHS to the LHS, answer in *plhs */ void tv_add(struct timeval *plhs, struct timeval rhs) { plhs->tv_sec += rhs.tv_sec; plhs->tv_usec += rhs.tv_usec; if (plhs->tv_usec >= US_PER_SEC) { plhs->tv_usec -= US_PER_SEC; plhs->tv_sec += 1; } } /* are the 2 times the same? */ Bool tv_same(struct timeval lhs, struct timeval rhs) { return((lhs.tv_sec == rhs.tv_sec) && (lhs.tv_usec == rhs.tv_usec)); } /* 1: lhs > rhs */ /* 0: lhs == rhs */ /* -1: lhs < rhs */ int tv_cmp(struct timeval lhs, struct timeval rhs) { if (lhs.tv_sec > rhs.tv_sec) { return(1); } if (lhs.tv_sec < rhs.tv_sec) { return(-1); } /* ... else, seconds are the same */ if (lhs.tv_usec > rhs.tv_usec) return(1); else if (lhs.tv_usec == rhs.tv_usec) return(0); else return(-1); } /* copy the IP addresses and port numbers into an addrblock structure */ /* in addition to copying the address, we also create a HASH value */ /* which is based on BOTH IP addresses and port numbers. It allows */ /* faster comparisons most of the time */ void CopyAddr( tcp_pair_addrblock *ptpa, struct ip *pip, portnum port1, portnum port2) { ptpa->a_port = port1; ptpa->b_port = port2; if (PIP_ISV4(pip)) { /* V4 */ IP_COPYADDR(&ptpa->a_address, IPV4ADDR2ADDR(&pip->ip_src)); IP_COPYADDR(&ptpa->b_address, IPV4ADDR2ADDR(&pip->ip_dst)); /* fill in the hashed address */ ptpa->hash = ptpa->a_address.un.ip4.s_addr + ptpa->b_address.un.ip4.s_addr + ptpa->a_port + ptpa->b_port; } else { /* V6 */ int i; struct ipv6 *pip6 = (struct ipv6 *)pip; IP_COPYADDR(&ptpa->a_address, IPV6ADDR2ADDR(&pip6->ip6_saddr)); IP_COPYADDR(&ptpa->b_address, IPV6ADDR2ADDR(&pip6->ip6_daddr)); /* fill in the hashed address */ ptpa->hash = ptpa->a_port + ptpa->b_port; for (i=0; i < 16; ++i) { ptpa->hash += ptpa->a_address.un.ip6.s6_addr[i]; ptpa->hash += ptpa->b_address.un.ip6.s6_addr[i]; } } if (debug > 3) printf("Hash of (%s:%d,%s:%d) is %d\n", HostName(ptpa->a_address), ptpa->a_port, HostName(ptpa->b_address), ptpa->b_port, ptpa->hash); } /* * This function tells us which way to go (Left or Right) in search for our * matching 4-tuple {IP1:port1; IP2:port2} in the AVL tree hash-bucket. * * It returns LT or RT depending on if we had to go left or right in the AVL Tree to * find our exact 4-tuple match, if it existed in the tree. * If the exact 4-tuple is found, it returns 0. */ int AVL_WhichDir( tcp_pair_addrblock *ptpa1, tcp_pair_addrblock *ptpa2) { /* * Here is our algorithm. If ptpa1={x1:p1; x2:p2} and ptpa2={y1:q1; y2:q2} * we choose X1=min(x1,x2) and X2=max(x1,x2); Similarly for Y1, Y2. * P1=port associated with X1, i.e. it is p1 if x1 LEFT; X1>Y1 => RIGHT; X1==Y1 => Continue down * * Compare (X2, Y2)? ; X2 LEFT; X2>Y2 => RIGHT; X2==Y2 => Continue down * * Compare (P1, Q1)? ; P1 LEFT; P1>Q1 => RIGHT; P1==Q1 => Continue down * * Compare (P2, Q2)? ; P2 LEFT; P2>Q2 => RIGHT; * * If P2==Q2, then this connection should have matched the A2B or B2A catch * from WhichDir() */ ipaddr *X1, *X2, *Y1, *Y2; int P1, P2, Q1, Q2; if (IP_LOWADDR(&(ptpa1->a_address), &(ptpa1->b_address))) { X1=&ptpa1->a_address; P1=ptpa1->a_port; X2=&ptpa1->b_address; P2=ptpa1->b_port; } else { X1=&ptpa1->b_address; P1=ptpa1->b_port; X2=&ptpa1->a_address; P2=ptpa1->a_port; } if (IP_LOWADDR(&(ptpa2->a_address), &(ptpa2->b_address))) { Y1=&ptpa2->a_address; Q1=ptpa2->a_port; Y2=&ptpa2->b_address; Q2=ptpa2->b_port; } else { Y1=&ptpa2->b_address; Q1=ptpa2->b_port; Y2=&ptpa2->a_address; Q2=ptpa2->a_port; } // Optimization suggested by Dr.Ostermann. Check the ports first. if (P1a_address), &(ptpa2->a_address))) if (IP_SAMEADDR(&(ptpa1->b_address), &(ptpa2->b_address))) if ((ptpa1->a_port == ptpa2->a_port)) if ((ptpa1->b_port == ptpa2->b_port)) return(A2B); /* reverse of first packet */ if (IP_SAMEADDR(&(ptpa1->a_address), &(ptpa2->b_address))) if (IP_SAMEADDR(&(ptpa1->b_address), &(ptpa2->a_address))) if ((ptpa1->a_port == ptpa2->b_port)) if ((ptpa1->b_port == ptpa2->a_port)) return(B2A); #else /* BROKEN_COMPILER */ /* same as first packet */ if (IP_SAMEADDR(&(ptpa1->a_address), &(ptpa2->a_address)) && IP_SAMEADDR(&(ptpa1->b_address), &(ptpa2->b_address)) && (ptpa1->a_port == ptpa2->a_port) && (ptpa1->b_port == ptpa2->b_port)) return(A2B); /* reverse of first packet */ if (IP_SAMEADDR(&(ptpa1->a_address), &(ptpa2->b_address)) && IP_SAMEADDR(&(ptpa1->b_address), &(ptpa2->a_address)) && (ptpa1->a_port == ptpa2->b_port) && (ptpa1->b_port == ptpa2->a_port)) return(B2A); #endif /* BROKEN_COMPILER */ /* different connection */ return(0); } int SameConn( tcp_pair_addrblock *ptpa1, tcp_pair_addrblock *ptpa2, int *pdir) { /* if the hash values are different, they can't be the same */ if (ptpa1->hash != ptpa2->hash) return(0); /* OK, they hash the same, are they REALLY the same function */ *pdir = WhichDir(ptpa1,ptpa2); return(*pdir != 0); } static tcp_pair * NewTTP( struct ip *pip, struct tcphdr *ptcp) { char title[210]; tcp_pair *ptp; if (0) { printf("trace.c:NewTTP() calling MakeTcpPair()\n"); } ptp = MakeTcpPair(); ++num_tcp_pairs; if (!run_continuously) { /* make a new one, if possible */ if ((num_tcp_pairs+1) >= max_tcp_pairs) { MoreTcpPairs(num_tcp_pairs+1); } /* create a new TCP pair record and remember where you put it */ ttp[num_tcp_pairs] = ptp; ptp->ignore_pair = ignore_pairs[num_tcp_pairs]; } /* grab the address from this packet */ CopyAddr(&ptp->addr_pair, pip, ntohs(ptcp->th_sport), ntohs(ptcp->th_dport)); ptp->a2b.time.tv_sec = -1; ptp->b2a.time.tv_sec = -1; ptp->a2b.host_letter = strdup(NextHostLetter()); ptp->b2a.host_letter = strdup(NextHostLetter()); ptp->a2b.ptp = ptp; ptp->b2a.ptp = ptp; ptp->a2b.ptwin = &ptp->b2a; ptp->b2a.ptwin = &ptp->a2b; /* fill in connection name fields */ ptp->a_hostname = strdup(HostName(ptp->addr_pair.a_address)); ptp->a_portname = strdup(ServiceName(ptp->addr_pair.a_port)); ptp->a_endpoint = strdup(EndpointName(ptp->addr_pair.a_address, ptp->addr_pair.a_port)); ptp->b_hostname = strdup(HostName(ptp->addr_pair.b_address)); ptp->b_portname = strdup(ServiceName(ptp->addr_pair.b_port)); ptp->b_endpoint = strdup(EndpointName(ptp->addr_pair.b_address, ptp->addr_pair.b_port)); /* make the initial guess that each side is a reno tcp */ /* this might actually be a poor thing to do in the sense that we could be looking at a Tahoe trace ... but the only side effect for the moment is that the LEAST estimate may be busted, although it very well may not be */ ptp->a2b.tcp_strain = TCP_RENO; ptp->b2a.tcp_strain = TCP_RENO; ptp->a2b.LEAST = ptp->b2a.LEAST = 0; ptp->a2b.in_rto = ptp->b2a.in_rto = FALSE; /* init time sequence graphs */ ptp->a2b.tsg_plotter = ptp->b2a.tsg_plotter = NO_PLOTTER; if (graph_tsg && !ptp->ignore_pair) { if (!ignore_non_comp || (SYN_SET(ptcp))) { snprintf(title,sizeof(title),"%s_==>_%s (time sequence graph)", ptp->a_endpoint, ptp->b_endpoint); ptp->a2b.tsg_plotter = new_plotter(&ptp->a2b,NULL,title, graph_time_zero?"relative time":"time", graph_seq_zero?"sequence offset":"sequence number", PLOT_FILE_EXTENSION); snprintf(title,sizeof(title),"%s_==>_%s (time sequence graph)", ptp->b_endpoint, ptp->a_endpoint); ptp->b2a.tsg_plotter = new_plotter(&ptp->b2a,NULL,title, graph_time_zero?"relative time":"time", graph_seq_zero?"sequence offset":"sequence number", PLOT_FILE_EXTENSION); if (graph_time_zero) { /* set graph zero points */ plotter_nothing(ptp->a2b.tsg_plotter, current_time); plotter_nothing(ptp->b2a.tsg_plotter, current_time); } } } /* init owin graphs */ ptp->a2b.owin_plotter = ptp->b2a.owin_plotter = NO_PLOTTER; if (graph_owin && !ptp->ignore_pair) { if (!ignore_non_comp || (SYN_SET(ptcp))) { snprintf(title,sizeof(title),"%s_==>_%s (outstanding data)", ptp->a_endpoint, ptp->b_endpoint); ptp->a2b.owin_plotter = new_plotter(&ptp->a2b,NULL,title, graph_time_zero?"relative time":"time", "Outstanding Data (bytes)", OWIN_FILE_EXTENSION); snprintf(title,sizeof(title),"%s_==>_%s (outstanding data)", ptp->b_endpoint, ptp->a_endpoint); ptp->b2a.owin_plotter = new_plotter(&ptp->b2a,NULL,title, graph_time_zero?"relative time":"time", "Outstanding Data (bytes)", OWIN_FILE_EXTENSION); if (graph_time_zero) { /* set graph zero points */ plotter_nothing(ptp->a2b.owin_plotter, current_time); plotter_nothing(ptp->b2a.owin_plotter, current_time); } ptp->a2b.owin_line = new_line(ptp->a2b.owin_plotter, "owin", "red"); ptp->b2a.owin_line = new_line(ptp->b2a.owin_plotter, "owin", "red"); if (show_rwinline) { ptp->a2b.rwin_line = new_line(ptp->a2b.owin_plotter, "rwin", "yellow"); ptp->b2a.rwin_line = new_line(ptp->b2a.owin_plotter, "rwin", "yellow"); } ptp->a2b.owin_avg_line = new_line(ptp->a2b.owin_plotter, "avg owin", "blue"); ptp->b2a.owin_avg_line = new_line(ptp->b2a.owin_plotter, "avg owin", "blue"); ptp->a2b.owin_wavg_line = new_line(ptp->a2b.owin_plotter, "wavg owin", "green"); ptp->b2a.owin_wavg_line = new_line(ptp->b2a.owin_plotter, "wavg owin", "green"); } } /* init time line graphs (Avinash, 2 July 2002) */ ptp->a2b.tline_plotter = ptp->b2a.tline_plotter = NO_PLOTTER; if (graph_tline && !ptp->ignore_pair) { if (!ignore_non_comp || (SYN_SET(ptcp))) { /* We don't want the standard a2b type name so we will specify * a filename of type a_b when we call new_plotter. */ char filename[25]; snprintf(filename,sizeof(filename),"%s_%s", ptp->a2b.host_letter, ptp->a2b.ptwin->host_letter); snprintf(title,sizeof(title),"%s_==>_%s (time line graph)", ptp->a_endpoint, ptp->b_endpoint); /* We will keep both the plotters the same since we want all * segments going in either direction to be plotted on the same * graph */ ptp->a2b.tline_plotter = ptp->b2a.tline_plotter = new_plotter(&ptp->a2b,filename,title, "segments", "relative time", TLINE_FILE_EXTENSION); /* Switch the x & y axis types. * The default is x - timeval, y - unsigned, * we need x - unsigned, y - dtime. * Both the plotters are the same so we will * only call this function once. */ plotter_switch_axis(ptp->a2b.tline_plotter, TRUE); /* set graph zero points */ plotter_nothing(ptp->a2b.tline_plotter, current_time); plotter_nothing(ptp->b2a.tline_plotter, current_time); /* Some graph initializations * Generating a drawing space between x=0-100. * The time lines will be at x=40 for source, x=60 for destination. * Rest of the area on either sides will be used to print segment * information. * * seg info |----->| * |<-----| seg info */ tline_left = 40; tline_right = 60; plotter_invisible(ptp->a2b.tline_plotter, current_time, 0); plotter_invisible(ptp->a2b.tline_plotter, current_time, 100); } } /* init segment size graphs */ ptp->a2b.segsize_plotter = ptp->b2a.segsize_plotter = NO_PLOTTER; if (graph_segsize && !ptp->ignore_pair) { snprintf(title,sizeof(title),"%s_==>_%s (segment size graph)", ptp->a_endpoint, ptp->b_endpoint); ptp->a2b.segsize_plotter = new_plotter(&ptp->a2b,NULL,title, graph_time_zero?"relative time":"time", "segment size (bytes)", SEGSIZE_FILE_EXTENSION); snprintf(title,sizeof(title),"%s_==>_%s (segment size graph)", ptp->b_endpoint, ptp->a_endpoint); ptp->b2a.segsize_plotter = new_plotter(&ptp->b2a,NULL,title, graph_time_zero?"relative time":"time", "segment size (bytes)", SEGSIZE_FILE_EXTENSION); if (graph_time_zero) { /* set graph zero points */ plotter_nothing(ptp->a2b.segsize_plotter, current_time); plotter_nothing(ptp->b2a.segsize_plotter, current_time); } ptp->a2b.segsize_line = new_line(ptp->a2b.segsize_plotter, "segsize", "red"); ptp->b2a.segsize_line = new_line(ptp->b2a.segsize_plotter, "segsize", "red"); ptp->a2b.segsize_avg_line = new_line(ptp->a2b.segsize_plotter, "avg segsize", "blue"); ptp->b2a.segsize_avg_line = new_line(ptp->b2a.segsize_plotter, "avg segsize", "blue"); } /* init RTT graphs */ ptp->a2b.rtt_plotter = ptp->b2a.rtt_plotter = NO_PLOTTER; ptp->a2b.ss = MakeSeqspace(); ptp->b2a.ss = MakeSeqspace(); ptp->filename = cur_filename; return(ptp); } /* connection records are stored in a hash table. Buckets are linked */ /* lists sorted by most recent access. */ #ifdef SMALL_TABLE #define HASH_TABLE_SIZE 1021 /* oughta be prime */ #else /* SMALL_TABLE */ #define HASH_TABLE_SIZE 4099 /* oughta be prime */ #endif /* SMALL_TABLE */ static ptp_snap *ptp_hashtable[HASH_TABLE_SIZE] = {NULL}; /* search efficiency data (optional) */ /* one entry per hash table bucket */ struct search_efficiency { unsigned num_connections; unsigned max_connections; unsigned max_depth; unsigned num_searches; unsigned num_comparisons; }; static struct search_efficiency hashtable_efficiency[HASH_TABLE_SIZE]; /* double linked-lists of live and closed connections */ static ptp_ptr *live_conn_list_head = NULL; static ptp_ptr *live_conn_list_tail = NULL; static ptp_ptr *closed_conn_list_head = NULL; static ptp_ptr *closed_conn_list_tail = NULL; static timeval last_update_time = {0, 0}; static tcp_pair * FindTTP( struct ip *pip, struct tcphdr *ptcp, int *pdir, ptp_ptr **tcp_ptr) { ptp_snap **pptph_head = NULL; ptp_snap *ptph; tcp_pair_addrblock tp_in; struct search_efficiency *pse = NULL; unsigned depth = 0; int dir, conn_status; hash hval; *tcp_ptr = NULL; if (debug > 10) { printf("trace.c: FindTTP() called\n"); } /* grab the address from this packet */ CopyAddr(&tp_in, pip, ntohs(ptcp->th_sport), ntohs(ptcp->th_dport)); /* grab the hash value (already computed by CopyAddr) */ hval = tp_in.hash % HASH_TABLE_SIZE; pptph_head = &ptp_hashtable[hval]; if (debug) { /* search efficiency checking */ pse = &hashtable_efficiency[hval]; } if (pse) { /* search efficiency instrumentation */ depth = 0; ++pse->num_searches; } for (ptph = *pptph_head; ptph; ) { if (debug) { /* search efficiency instrumentation */ ++search_count; if (pse) { ++depth; ++pse->num_comparisons; } } /* See if the current node in the AVL tree hash-bucket * is the exact same connection as ourselves, * either in A2B or B2A directions. */ dir = WhichDir(&tp_in, &ptph->addr_pair); if (dir == A2B || dir == B2A) { /* OK, this looks good, suck it into memory */ tcb *thisdir; tcb *otherdir; tcp_pair *ptp; if (run_continuously) { ptp_ptr *ptr = (ptp_ptr *)ptph->ptp; ptp = ptr->ptp; } else { ptp = (tcp_pair *)ptph->ptp; } /* figure out which direction this packet is going */ if (dir == A2B) { thisdir = &ptp->a2b; otherdir = &ptp->b2a; } else { thisdir = &ptp->b2a; otherdir = &ptp->a2b; } /* check for "inactive" */ /* (this shouldn't happen anymore, they aren't on the list */ if (ptp->inactive) { if (!run_continuously) continue; else { *tcp_ptr = (ptp_ptr *)ptph->ptp; return ((*tcp_ptr)->ptp); } } /* Fri Oct 16, 1998 */ /* note: original heuristic was not sufficient. Bugs */ /* were pointed out by Brian Utterback and later by */ /* myself and Mark Allman */ if (!run_continuously) { /* check for NEW connection on these same endpoints */ /* 1) At least 4 minutes idle time */ /* OR */ /* 2) heuristic (we might miss some) either: */ /* this packet has a SYN */ /* last conn saw both FINs and/or RSTs */ /* SYN sequence number outside last window (rfc 1122) */ /* (or less than initial Sequence, */ /* for wrap around trouble) - Tue Nov 3, 1998*/ /* OR */ /* 3) this is a SYN, last had a SYN, seq numbers differ */ /* if so, mark it INACTIVE and skip from now on */ if (0 && SYN_SET(ptcp)) { /* better keep this debugging around, it keeps breaking */ printf("elapsed: %f sec\n", elapsed(ptp->last_time,current_time)/1000000); printf("SYN_SET: %d\n", SYN_SET(ptcp)); printf("a2b.fin_count: %d\n", ptp->a2b.fin_count); printf("b2a.fin_count: %d\n", ptp->b2a.fin_count); printf("a2b.reset_count: %d\n", ptp->a2b.reset_count); printf("b2a.reset_count: %d\n", ptp->b2a.reset_count); printf("dir: %d (%s)\n", dir, dir==A2B?"A2B":"B2A"); printf("seq: %lu \n", (u_long)ntohl(ptcp->th_seq)); printf("winend: %lu \n", otherdir->windowend); printf("syn: %lu \n", otherdir->syn); printf("SEQ_GREATERTHAN winend: %d\n", SEQ_GREATERTHAN(ntohl(ptcp->th_seq),otherdir->windowend)); printf("SEQ_LESSTHAN init syn: %d\n", SEQ_LESSTHAN(ntohl(ptcp->th_seq),thisdir->syn)); } if (/* rule 1 */ (elapsed(ptp->last_time,current_time)/1000000 > nonreal_live_conn_interval)//(4*60)) - Using nonreal_live_conn_interval instead of the 4 mins heuristic || /* rule 2 */ ((SYN_SET(ptcp)) && (((thisdir->fin_count >= 1) || (otherdir->fin_count >= 1)) || ((thisdir->reset_count >= 1) || (otherdir->reset_count >= 1))) && (SEQ_GREATERTHAN(ntohl(ptcp->th_seq),otherdir->windowend) || SEQ_LESSTHAN(ntohl(ptcp->th_seq),thisdir->syn))) || /* rule 3 */ (SYN_SET(ptcp) && (thisdir->syn_count > 1) && (thisdir->syn != ntohl(ptcp->th_seq)))) { if (debug>1) { printf("%s: Marking %p %s<->%s INACTIVE (idle: %f sec)\n", ts2ascii(¤t_time), ptp, ptp->a_endpoint, ptp->b_endpoint, elapsed(ptp->last_time, current_time)/1000000); if (debug > 3) PrintTrace(ptp); } /* we won't need this one anymore, remove it from the */ /* hash table so we won't have to skip over it */ ptp->inactive = TRUE; if (debug > 4) printf("Removing connection from hashtable:\ FindTTP() calling SnapRemove()\n"); /* Removes connection snapshot from AVL tree */ SnapRemove(pptph_head, ptph->addr_pair); break; } } if (run_continuously) (*tcp_ptr) = (ptp_ptr *)ptph->ptp; *pdir = dir; return (ptp); } else { // WhichDir returned 0, meaning if it exists, it's deeper conn_status = AVL_WhichDir(&tp_in,&ptph->addr_pair); if (conn_status == LT) ptph = ptph->left; else if (conn_status == RT) ptph = ptph->right; else if (!conn_status) { fprintf(stderr, "WARNING!! AVL_WhichDir() should not return 0 if\n" "\tWhichDir() didn't return A2B or B2A previously\n"); break; } } } /* Didn't find it, make a new one, if possible */ if (0) { printf("trace.c:FindTTP() calling MakePtpSnap()\n"); } ptph = MakePtpSnap(); if (run_continuously) { ptp_ptr *ptr = (ptp_ptr *)MakePtpPtr(); ptr->prev = NULL; if (live_conn_list_head == NULL) { ptr->next = NULL; live_conn_list_head = ptr; live_conn_list_tail = ptr; } else { ptr->next = live_conn_list_head; live_conn_list_head->prev = ptr; live_conn_list_head = ptr; } ptr->from = ptph; ptr->ptp = NewTTP(pip, ptcp); ptph->addr_pair = ptr->ptp->addr_pair; ptph->ptp = (void *)ptr; if (conn_num_threshold) { active_conn_count++; if (active_conn_count > max_conn_num) { ptp_ptr *last_ptr = live_conn_list_tail; live_conn_list_tail = last_ptr->prev; live_conn_list_tail->next = NULL; RemoveConn(last_ptr); num_removed_tcp_pairs++; active_conn_count--; FreePtpPtr(last_ptr); } } } else { tcp_pair *tmp = NewTTP(pip,ptcp); ptph->addr_pair = tmp->addr_pair; ptph->ptp = tmp; } /* To insert the new connection snapshot into the AVL tree */ if (debug > 4) printf("Inserting connection into hashtable:\ FindTTP() calling SnapInsert() \n"); SnapInsert(pptph_head, ptph); if (pse) { /* search efficiency instrumentation */ ++pse->num_connections; if (depth > pse->max_depth) pse->max_depth = depth; if (pse->num_connections > pse->max_connections) pse->max_connections = pse->num_connections; } *pdir = A2B; if (run_continuously) { *tcp_ptr = (ptp_ptr *)ptph->ptp; return ((*tcp_ptr)->ptp); } else return (tcp_pair *)(ptph->ptp); } static void UpdateConnLists( ptp_ptr *tcp_ptr, struct tcphdr *ptcp) { time_t real_time; static int minutes = 0; if (0) { printf("trace.c: UpdateConnLists() called\n"); } if ((FinCount(tcp_ptr->ptp) > 0) || (ConnReset(tcp_ptr->ptp))) { /* we have FIN or RST */ if (!tcp_ptr->ptp->inactive) { /* this is the only FIN or new RST - remove from list of active conns */ if (debug > 6) { printf("UpdateConnLists: removing conn from list of active conns\n"); } UpdateConnList(tcp_ptr, FALSE, &live_conn_list_head, &live_conn_list_tail); tcp_ptr->ptp->inactive = TRUE; if (conn_num_threshold) { active_conn_count--; closed_conn_count++; if (closed_conn_count > max_conn_num) { ptp_ptr *last_ptr = closed_conn_list_tail; closed_conn_list_tail = last_ptr->prev; closed_conn_list_tail->next = NULL; RemoveConn(last_ptr); num_removed_tcp_pairs++; closed_conn_count--; FreePtpPtr(last_ptr); } } /* put entry into the list of inactive connections */ if (closed_conn_list_head) { tcp_ptr->next = closed_conn_list_head; tcp_ptr->prev = NULL; closed_conn_list_head->prev = tcp_ptr; closed_conn_list_head = tcp_ptr; } else { tcp_ptr->next = NULL; tcp_ptr->prev = NULL; closed_conn_list_head = tcp_ptr; closed_conn_list_tail = tcp_ptr; } } else { /* update the list of closed connecitons */ UpdateConnList(tcp_ptr, TRUE, &closed_conn_list_head, &closed_conn_list_tail); } } else {/* don't have FIN(s)/RST */ /* update only list of active connections */ if (tcp_ptr->ptp->inactive == TRUE) { printf("WARNING!!! con is inactive, ptr=%p, con=%p, fin=%i, rst=%i\n", tcp_ptr, tcp_ptr->ptp, FinCount(tcp_ptr->ptp), ConnReset(tcp_ptr->ptp)); printf("a2b.reset_count=%i, b2a.reset_count=%i, RESET_SET(tcph)=%i\n", tcp_ptr->ptp->a2b.reset_count, tcp_ptr->ptp->b2a.reset_count, RESET_SET(ptcp)); } UpdateConnList(tcp_ptr, TRUE, &live_conn_list_head, &live_conn_list_tail); } /* if we haven't updated the structures for at least update_interval number * of seconds, update list of connections and hash table */ if ((elapsed(last_update_time, current_time) / 1000000) >= update_interval) { real_time = time(&real_time); if (debug > 10) fprintf(stderr, "%3i program time: %i\tcurrent time: %i\tdifference: %i\n", ++minutes, (int)current_time.tv_sec, (int)real_time, (int)(real_time - current_time.tv_sec)); if (conn_num_threshold) { RemoveOldConns(&live_conn_list_head, &live_conn_list_tail, remove_live_conn_interval, TRUE, &active_conn_count); RemoveOldConns(&closed_conn_list_head, &closed_conn_list_tail, remove_closed_conn_interval, TRUE, &closed_conn_count); } else { RemoveOldConns(&live_conn_list_head, &live_conn_list_tail, remove_live_conn_interval, FALSE, 0); RemoveOldConns(&closed_conn_list_head, &closed_conn_list_tail, remove_closed_conn_interval, FALSE, 0); } last_update_time = current_time; } } static void UpdateConnList( ptp_ptr *tcp_ptr, const Bool valid, ptp_ptr **conn_list_head, ptp_ptr **conn_list_tail) { ptp_ptr *ptr_prev; ptp_ptr *ptr_next; if (0) { printf("UpdateConnList() called\n"); } if (tcp_ptr == (*conn_list_head)) { if (valid) { return; } else { *conn_list_head = tcp_ptr->next; if ((*conn_list_tail) == tcp_ptr) *conn_list_tail = NULL; else (*conn_list_head)->prev = NULL; return; } } ptr_prev = tcp_ptr->prev; ptr_next = tcp_ptr->next; ptr_prev->next = ptr_next; if (ptr_next) ptr_next->prev = ptr_prev; if (tcp_ptr == (*conn_list_tail)) *conn_list_tail = ptr_prev; if (valid) { tcp_ptr->next = (*conn_list_head); tcp_ptr->prev = NULL; (*conn_list_head)->prev = tcp_ptr; *conn_list_head = tcp_ptr; } return; } static void RemoveOldConns( ptp_ptr **conn_list_head, ptp_ptr **conn_list_tail, const unsigned expire_interval, const Bool num_conn_check, int *conn_count) { ptp_ptr *ptr; ptp_ptr *prev_ptr; if (0) { printf("trace.c: RemoveOldConns() called\n"); } if ((*conn_list_tail) == NULL) { return; } ptr = (*conn_list_tail); prev_ptr = ptr->prev; for (; prev_ptr != NULL; ptr = prev_ptr, prev_ptr = ptr->prev) { if ((elapsed(ptr->ptp->last_time, current_time) / 1000000) >= expire_interval) { /* if the connection is old enough, remove the snap from the linked-list and the hash_table */ ptr->prev->next = NULL; *conn_list_tail = ptr->prev; RemoveConn(ptr); num_removed_tcp_pairs++; if (0) { printf("trace.c:RemoveOldConns() calling FreePtpSnap()\n"); } FreePtpPtr(ptr); if (num_conn_check) --(*conn_count); } else { break; } } if (((*conn_list_head)->ptp->last_time.tv_sec != 0) && ((elapsed((*conn_list_head)->ptp->last_time, current_time) / 1000000) >= expire_interval)) { *conn_list_head = NULL; *conn_list_tail = NULL; RemoveConn(ptr); num_removed_tcp_pairs++; FreePtpPtr(ptr); if (num_conn_check) --(*conn_count); } } /* remove tcp pair from the hash table */ static void RemoveConn( const ptp_ptr *tcp_ptr) { hash hval; if (0) { printf("trace.c: RemoveConn(%p %s<->%s) called\n", tcp_ptr->ptp, tcp_ptr->ptp->a_endpoint, tcp_ptr->ptp->b_endpoint); } ModulesPerOldConn(tcp_ptr->ptp); hval = tcp_ptr->ptp->addr_pair.hash % HASH_TABLE_SIZE; /* Remove the connection snapshot from AVL tree */ if (debug > 4) printf("Removing connection from hashtable:\ RemoveConn() calling SnapRemove()\n"); SnapRemove(&ptp_hashtable[hval], tcp_ptr->ptp->addr_pair); RemoveTcpPair(tcp_ptr); } static void RemoveTcpPair( const ptp_ptr *tcp_ptr) { int i = 0; tcp_pair *ptp = tcp_ptr->ptp; if (0) { printf("trace.c: RemoveTcpPair(%p) called\n", tcp_ptr->ptp); } free(ptp->a2b.host_letter); free(ptp->b2a.host_letter); free(ptp->a_hostname); free(ptp->a_portname); free(ptp->a_endpoint); free(ptp->b_hostname); free(ptp->b_portname); free(ptp->b_endpoint); if (ptp->a2b.owin_line) { free(ptp->a2b.owin_line); } if (show_rwinline) { if (ptp->a2b.rwin_line) { free(ptp->a2b.rwin_line); } } if (ptp->a2b.owin_avg_line) { free(ptp->a2b.owin_avg_line); } if (ptp->a2b.owin_wavg_line) { free(ptp->a2b.owin_avg_line); } if (ptp->b2a.owin_line) { free(ptp->b2a.owin_line); } if (show_rwinline) { if (ptp->b2a.rwin_line) { free(ptp->b2a.rwin_line); } } if (ptp->b2a.owin_avg_line) { free(ptp->b2a.owin_avg_line); } if (ptp->b2a.owin_wavg_line) { free(ptp->b2a.owin_wavg_line); } if (ptp->a2b.segsize_line) { free(ptp->a2b.segsize_line); } if (ptp->a2b.segsize_avg_line) { free(ptp->a2b.segsize_avg_line); } if (ptp->b2a.segsize_line) { free(ptp->b2a.segsize_line); } if (ptp->b2a.segsize_avg_line) { free(ptp->b2a.segsize_avg_line); } if (ptp->a2b.ss) { for (i = 0; i < 4; i++) { if (ptp->a2b.ss->pquad[i] != NULL) { freequad(&ptp->a2b.ss->pquad[i]); } } FreeSeqspace(ptp->a2b.ss); } if (ptp->b2a.ss) { for (i = 0; i < 4; i++) { if (ptp->b2a.ss->pquad[i] != NULL) { freequad(&ptp->b2a.ss->pquad[i]); } } FreeSeqspace(ptp->b2a.ss); } FreeTcpPair(ptp); } tcp_pair * dotrace( struct ip *pip, struct tcphdr *ptcp, void *plast) { struct tcp_options *ptcpo; tcp_pair *ptp_save; int tcp_length; int tcp_data_length; u_long start; u_long end; tcb *thisdir; tcb *otherdir; tcp_pair tp_in; PLOTTER to_tsgpl; PLOTTER from_tsgpl; PLOTTER tlinepl; int dir; Bool retrans; Bool probe; Bool hw_dup = FALSE; /* duplicate at the hardware level */ Bool ecn_ce = FALSE; Bool ecn_echo = FALSE; Bool cwr = FALSE; Bool urg = FALSE; int retrans_num_bytes; Bool out_order; /* out of order */ u_short th_sport; /* source port */ u_short th_dport; /* destination port */ tcp_seq th_seq; /* sequence number */ tcp_seq th_ack; /* acknowledgement number */ u_short th_win; /* window */ u_long eff_win; /* window after scaling */ u_short th_urp; /* URGENT pointer */ short ip_len; /* total length */ enum t_ack ack_type=NORMAL; /* how should we draw the ACK */ seqnum old_this_windowend; /* for graphing */ ptp_ptr *tcp_ptr = NULL; /* make sure we have enough of the packet */ if ((char *)ptcp + sizeof(struct tcphdr)-1 > (char *)plast) { if (warn_printtrunc) fprintf(stderr, "TCP packet %lu truncated too short to trace, ignored\n", pnum); ++ctrunc; return(NULL); } /* convert interesting fields to local byte order */ th_seq = ntohl(ptcp->th_seq); th_ack = ntohl(ptcp->th_ack); th_sport = ntohs(ptcp->th_sport); th_dport = ntohs(ptcp->th_dport); th_win = ntohs(ptcp->th_win); th_urp = ntohs(ptcp->th_urp); ip_len = gethdrlength(pip, plast) + getpayloadlength(pip,plast); /* make sure this is one of the connections we want */ ptp_save = FindTTP(pip,ptcp,&dir, &tcp_ptr); ++tcp_packet_count; if (ptp_save == NULL) { return(NULL); } ++tcp_trace_count; if (run_continuously && (tcp_ptr == NULL)) { fprintf(stderr, "Did not initialize tcp pair pointer\n"); exit(1); } /* do time stats */ if (ZERO_TIME(&ptp_save->first_time)) { ptp_save->first_time = current_time; } ptp_save->last_time = current_time; /* bug fix: it's legal to have the same end points reused. The */ /* program uses a heuristic of looking at the elapsed time from */ /* the last packet on the previous instance and the number of FINs */ /* in the last instance. If we don't increment the fin_count */ /* before bailing out in "ignore_pair" below, this heuristic breaks */ /* figure out which direction this packet is going */ if (dir == A2B) { thisdir = &ptp_save->a2b; otherdir = &ptp_save->b2a; } else { thisdir = &ptp_save->b2a; otherdir = &ptp_save->a2b; } /* meta connection stats */ if (SYN_SET(ptcp)) ++thisdir->syn_count; if (RESET_SET(ptcp)) ++thisdir->reset_count; if (FIN_SET(ptcp)) ++thisdir->fin_count; /* end bug fix */ /* compute the "effective window", which is the advertised window */ /* with scaling */ if (ACK_SET(ptcp) || SYN_SET(ptcp)) { eff_win = (u_long) th_win; /* N.B., the window_scale stored for the connection DURING 3way */ /* handshaking is the REQUESTED scale. It's only valid if both */ /* sides request scaling. AFTER we've seen both SYNs, that field */ /* is reset (above) to contain zero. Note that if we */ /* DIDN'T see the SYNs, the windows will be off. */ /* Jamshid: Remember that the window is never scaled in SYN */ /* packets, as per RFC 1323. */ if (thisdir->f1323_ws && otherdir->f1323_ws && !SYN_SET(ptcp)) eff_win <<= thisdir->window_scale; } else { eff_win = 0; } /* idle-time stats */ if (!ZERO_TIME(&thisdir->last_time)) { u_llong itime = elapsed(thisdir->last_time,current_time); if (itime > thisdir->idle_max) thisdir->idle_max = itime; } thisdir->last_time = current_time; /* calculate data length */ tcp_length = getpayloadlength(pip, plast); tcp_data_length = tcp_length - (4 * TH_OFF(ptcp)); /* calc. data range */ start = th_seq; end = start + tcp_data_length; /* seq. space wrap around stats */ /* If all four quadrants have been visited and the current packet * is in the same quadrant as the syn, check if latest seq. num is * wrapping past the syn. If it is, increment wrap_count */ if ((thisdir->quad1 && thisdir->quad2 && thisdir->quad3 && thisdir->quad4)) { if ((IN_Q1(thisdir->syn) && (IN_Q1(end))) || (IN_Q2(thisdir->syn) && (IN_Q2(end))) || ((IN_Q3(thisdir->syn) && (IN_Q3(end))) || ((IN_Q4(thisdir->syn) && (IN_Q4(end)))))) { if (end >= thisdir->syn) { if (debug>1) fprintf(stderr, "\nWARNING : sequence space wrapped around here \n"); thisdir->seq_wrap_count++; thisdir->quad1=0; thisdir->quad2=0; thisdir->quad3=0; thisdir->quad4=0; } } } /* Mark the visited quadrants */ if (!thisdir->quad1) { if (IN_Q1(start) || IN_Q1(end)) thisdir->quad1=1; } if (!thisdir->quad2) { if (IN_Q2(start) || IN_Q2(end)) thisdir->quad2=1; } if (!thisdir->quad3) { if (IN_Q3(start) || IN_Q3(end)) thisdir->quad3=1; } if (!thisdir->quad4) { if (IN_Q4(start) || IN_Q4(end)) thisdir->quad4=1; } /* record sequence limits */ if (SYN_SET(ptcp)) { /* error checking - better not change! */ if ((thisdir->syn_count > 1) && (thisdir->syn != start)) { /* it changed, that shouldn't happen! */ if (warn_printbad_syn_fin_seq) fprintf(stderr, "\ %s->%s: rexmitted SYN had diff. seqnum! (was %lu, now %lu, etime: %d sec)\n", thisdir->host_letter,thisdir->ptwin->host_letter, thisdir->syn, start, (int)(elapsed(ptp_save->first_time,current_time)/1000000)); thisdir->bad_behavior = TRUE; } thisdir->syn = start; otherdir->ack = start; /* bug fix for Rob Austein */ } if (FIN_SET(ptcp)) { /* bug fix, if there's data here too, we need to bump up the FIN */ /* (psc data file shows example) */ u_long fin = start + tcp_data_length; /* error checking - better not change! */ if ((thisdir->fin_count > 1) && (thisdir->fin != fin)) { /* it changed, that shouldn't happen! */ if (warn_printbad_syn_fin_seq) fprintf(stderr, "\ %s->%s: rexmitted FIN had diff. seqnum! (was %lu, now %lu, etime: %d sec)\n", thisdir->host_letter,thisdir->ptwin->host_letter, thisdir->fin, fin, (int)(elapsed(ptp_save->first_time,current_time)/1000000)); thisdir->bad_behavior = TRUE; } thisdir->fin = fin; } /* "ONLY" bug fix - Wed Feb 24, 1999 */ /* the tcp-splicing heuristic needs "windowend", which was only being */ /* calculated BELOW the "only" point below. Move that part of the */ /* calculation up here! */ /* remember the OLD window end for graphing */ /* (bug fix - Thu Aug 12, 1999) */ old_this_windowend = thisdir->windowend; if (ACK_SET(ptcp)) { thisdir->windowend = th_ack + eff_win; } /* end bugfix */ /***********************************************************************/ /***********************************************************************/ /* if we're ignoring this connection, do no further processing */ /***********************************************************************/ /***********************************************************************/ if (ptp_save->ignore_pair) { return(ptp_save); } /* save to a file if requested */ if (output_filename) { PcapSavePacket(output_filename,pip,plast); } /* now, print it if requested */ if (printem && !printallofem) { printf("Packet %lu\n", pnum); printpacket(0, /* original length not available */ (char *)plast - (char *)pip + 1, NULL,0, /* physical stuff not known here */ pip,plast,thisdir); } /* grab the address from this packet */ CopyAddr(&tp_in.addr_pair, pip, th_sport, th_dport); /* simple bookkeeping */ if (PIP_ISV6(pip)) { ++thisdir->ipv6_segments; } /* plotter shorthand */ to_tsgpl = otherdir->tsg_plotter; from_tsgpl = thisdir->tsg_plotter; /* plotter shorthand (NOTE: we are using one plotter for both directions) */ tlinepl = thisdir->tline_plotter; /* check the options */ ptcpo = ParseOptions(ptcp,plast); if (ptcpo->mss != -1) thisdir->mss = ptcpo->mss; if (ptcpo->ws != -1) { thisdir->window_scale = ptcpo->ws; thisdir->f1323_ws = TRUE; } if (ptcpo->tsval != -1) { thisdir->f1323_ts = TRUE; } /* NOW, unless BOTH sides asked for window scaling in their SYN */ /* segments, we aren't using window scaling */ if (!SYN_SET(ptcp) && ((!thisdir->f1323_ws) || (!otherdir->f1323_ws))) { thisdir->window_scale = otherdir->window_scale = 0; } /* check sacks */ if (ptcpo->sack_req) { thisdir->fsack_req = 1; } if (ptcpo->sack_count > 0) { ++thisdir->sacks_sent; } /* unless both sides advertised sack, we shouldn't see them, otherwise we hope they actually send them */ if (!SYN_SET(ptcp) && (thisdir->fsack_req && otherdir->fsack_req)) { thisdir->tcp_strain = otherdir->tcp_strain = TCP_SACK; } /* do data stats */ urg = FALSE; if (tcp_data_length > 0) { thisdir->data_pkts += 1; if (PUSH_SET(ptcp)) thisdir->data_pkts_push += 1; thisdir->data_bytes += tcp_data_length; if (URGENT_SET(ptcp)) { /* Checking if URGENT bit is set */ urg = TRUE; thisdir->urg_data_pkts += 1; thisdir->urg_data_bytes += th_urp; } if (tcp_data_length > thisdir->max_seg_size) thisdir->max_seg_size = tcp_data_length; if ((thisdir->min_seg_size == 0) || (tcp_data_length < thisdir->min_seg_size)) thisdir->min_seg_size = tcp_data_length; /* record first and last times for data (Mallman) */ if (ZERO_TIME(&thisdir->first_data_time)) thisdir->first_data_time = current_time; thisdir->last_data_time = current_time; } /* total packets stats */ ++ptp_save->packets; ++thisdir->packets; /* If we are using window scaling, update the win_scaled_pkts counter */ if (thisdir->window_stats_updated_for_scaling) ++thisdir->win_scaled_pkts; /* instantaneous throughput stats */ if (graph_tput) { DoThru(thisdir,tcp_data_length); } /* segment size graphs */ if ((tcp_data_length > 0) && (thisdir->segsize_plotter != NO_PLOTTER)) { extend_line(thisdir->segsize_line, current_time, tcp_data_length); extend_line(thisdir->segsize_avg_line, current_time, thisdir->data_bytes / thisdir->data_pkts); } /* sequence number stats */ if ((thisdir->min_seq == 0) && (start != 0)) { thisdir->min_seq = start; /* first byte in this segment */ thisdir->max_seq = end; /* last byte in this segment */ } if (SEQ_GREATERTHAN (end,thisdir->max_seq)) { thisdir->max_seq = end; } thisdir->latest_seq = end; /* check for hardware duplicates */ /* only works for IPv4, IPv6 has no mandatory ID field */ if (PIP_ISV4(pip) && docheck_hw_dups) hw_dup = check_hw_dups(pip->ip_id, th_seq, thisdir); /* Kevin Lahey's ECN code */ /* only works for IPv4 */ if (PIP_ISV4(pip)) { ecn_ce = IP_ECT(pip) && IP_CE(pip); } cwr = CWR_SET(ptcp); ecn_echo = ECN_ECHO_SET(ptcp); /* save the stream contents, if requested */ if (tcp_data_length > 0) { u_char *pdata = (u_char *)ptcp + TH_OFF(ptcp)*4; u_long saved; u_long missing; saved = tcp_data_length; if ((char *)pdata + tcp_data_length > ((char *)plast+1)) saved = (char *)plast - (char *)pdata + 1; /* see what's missing */ missing = tcp_data_length - saved; if (missing > 0) { thisdir->trunc_bytes += missing; ++thisdir->trunc_segs; } if (save_tcp_data) ExtractContents(start,tcp_data_length,saved,pdata,thisdir); } /* do rexmit stats */ retrans = FALSE; probe = FALSE; out_order = FALSE; retrans_num_bytes = 0; if (SYN_SET(ptcp) || FIN_SET(ptcp) || tcp_data_length > 0) { int len = tcp_data_length; int retrans_cnt=0; if (SYN_SET(ptcp)) ++len; if (FIN_SET(ptcp)) ++len; /* Don't consider for rexmit, if the send window is 0 */ /* We are probably doing window probing.. */ /* Patch from Ulisses Alonso Camaro : Not treat the SYN segments * as probes, even though a zero window was advertised from the * opposite direction */ if( (otherdir->win_last==0) && (otherdir->packets > 0) && /* Patch from Ulisses Alonso Camaro : Not treat the SYN segments * as probes, even though a zero window was advertised from the * opposite direction */ (!SYN_SET(ptcp)) ) { probe=TRUE; thisdir->num_zwnd_probes++; thisdir->zwnd_probe_bytes += tcp_data_length; } else retrans_cnt = retrans_num_bytes = rexmit(thisdir,start, len, &out_order); if (out_order) ++thisdir->out_order_pkts; /* count anything NOT retransmitted as "unique" */ /* exclude SYN and FIN */ if (SYN_SET(ptcp)) { /* don't count the SYN as data */ --len; /* if the SYN was rexmitted, then don't count it */ if (thisdir->syn_count > 1) --retrans_cnt; } if (FIN_SET(ptcp)) { /* don't count the FIN as data */ --len; /* if the FIN was rexmitted, then don't count it */ if (thisdir->fin_count > 1) --retrans_cnt; } if (!probe){ if(retrans_cnt < len) thisdir->unique_bytes += (len - retrans_cnt); } } /* do rtt stats */ if (ACK_SET(ptcp)) { ack_type = ack_in(otherdir,th_ack,tcp_data_length,eff_win); if ( (th_ack == (otherdir->syn+1)) && (otherdir->syn_count == 1) ) otherdir->rtt_3WHS=otherdir->rtt_last; /* otherdir->rtt_last was set in the call to ack_in() */ otherdir->lastackno = th_ack; } /* LEAST */ if (thisdir->tcp_strain == TCP_RENO) { if (thisdir->in_rto && tcp_data_length > 0) { if (retrans_num_bytes>0 && th_seq < thisdir->recovered) thisdir->event_retrans++; if (IsRTO(thisdir, th_seq)) { thisdir->recovered = thisdir->recovered_orig = thisdir->seq; thisdir->rto_segment = th_seq; } if (!(retrans_num_bytes>0) && thisdir->ack <= thisdir->recovered_orig) thisdir->recovered = th_seq; } if (otherdir->in_rto && ACK_SET(ptcp)) { if (th_ack > otherdir->recovered) { otherdir->LEAST -= (otherdir->event_dupacks < otherdir->event_retrans)? otherdir->event_dupacks:otherdir->event_retrans; otherdir->in_rto = FALSE; } else if (th_ack == otherdir->lastackno && th_ack >= otherdir->rto_segment) otherdir->event_dupacks++; } } /* plot out-of-order segments, if asked */ if (out_order && (from_tsgpl != NO_PLOTTER) && show_out_order) { plotter_perm_color(from_tsgpl, out_order_color); plotter_text(from_tsgpl, current_time, SeqRep(thisdir,end), "a", "O"); if (bottom_letters) plotter_text(from_tsgpl, current_time, SeqRep(thisdir,thisdir->min_seq)-1500, "c", "O"); } /* stats for rexmitted data */ if (retrans_num_bytes>0) { retrans = TRUE; /* for reno LEAST estimate */ if (thisdir->tcp_strain == TCP_RENO && !thisdir->in_rto && IsRTO(thisdir, th_seq)) { thisdir->in_rto = TRUE; thisdir->recovered = thisdir->recovered_orig = thisdir->seq; thisdir->rto_segment = th_seq; thisdir->event_retrans = 1; thisdir->event_dupacks = 0; } thisdir->rexmit_pkts += 1; thisdir->LEAST++; thisdir->rexmit_bytes += retrans_num_bytes; /* don't color the SYNs and FINs, it's confusing, we'll do them */ /* differently below... */ if (!(FIN_SET(ptcp)||SYN_SET(ptcp)) && from_tsgpl != NO_PLOTTER && show_rexmit) { plotter_perm_color(from_tsgpl, retrans_color); plotter_text(from_tsgpl, current_time, SeqRep(thisdir,end), "a", hw_dup?"HD":"R"); if (bottom_letters) plotter_text(from_tsgpl, current_time, SeqRep(thisdir,thisdir->min_seq)-1500, "c", hw_dup?"HD":"R"); } } else { thisdir->seq = end; } if(probe) { if(from_tsgpl != NO_PLOTTER && show_zwnd_probes){ plotter_perm_color(from_tsgpl,probe_color); plotter_text(from_tsgpl,current_time,SeqRep (thisdir,end), "b", "P"); } } /* draw the packet */ if (from_tsgpl != NO_PLOTTER) { plotter_perm_color(from_tsgpl, data_color); if (SYN_SET(ptcp)) { /* SYN */ /* if we're using time offsets from zero, it's easier if */ /* both graphs (a2b and b2a) start at the same point. That */ /* will only happen if the "left-most" graphic is in the */ /* same place in both. To make sure, mark the SYNs */ /* as a green dot in the other direction */ if (ACK_SET(ptcp)) { plotter_temp_color(from_tsgpl, ack_color); plotter_dot(from_tsgpl, ptp_save->first_time, SeqRep(thisdir,start)); } plotter_perm_color(from_tsgpl, hw_dup?hw_dup_color: retrans_num_bytes>0?retrans_color: synfin_color); plotter_diamond(from_tsgpl, current_time, SeqRep(thisdir,start)); plotter_text(from_tsgpl, current_time, SeqRep(thisdir,start+1), "a", hw_dup?"HD SYN": retrans_num_bytes>0?"R SYN": "SYN"); plotter_uarrow(from_tsgpl, current_time, SeqRep(thisdir,start+1)); plotter_line(from_tsgpl, current_time, SeqRep(thisdir,start), current_time, SeqRep(thisdir,start+1)); } else if (FIN_SET(ptcp)) { /* FIN */ /* Wed Sep 18, 2002 - bugfix * Check if data is present in the last packet. * We will draw the data bytes with the normal color * and then change the color for the last byte of FIN. */ if(tcp_data_length > 0) { /* DATA + FIN */ /* Data - default color */ plotter_darrow(from_tsgpl, current_time, SeqRep(thisdir,start)); plotter_line(from_tsgpl, current_time, SeqRep(thisdir,start), current_time, SeqRep(thisdir,end)); /* FIN - synfin color */ plotter_perm_color(from_tsgpl, hw_dup?hw_dup_color: retrans_num_bytes>0?retrans_color: synfin_color); } else { /* Only FIN */ /* FIN - synfin color */ plotter_perm_color(from_tsgpl, hw_dup?hw_dup_color: retrans_num_bytes>0?retrans_color: synfin_color); plotter_darrow(from_tsgpl, current_time, SeqRep(thisdir,end)); } plotter_line(from_tsgpl, current_time, SeqRep(thisdir,end), current_time, SeqRep(thisdir,end+1)); plotter_box(from_tsgpl, current_time, SeqRep(thisdir,end+1)); plotter_text(from_tsgpl, current_time, SeqRep(thisdir,end+1), "a", hw_dup?"HD FIN": retrans_num_bytes>0?"R FIN": "FIN"); } else if (tcp_data_length > 0) { /* DATA */ if (hw_dup) { plotter_perm_color(from_tsgpl, hw_dup_color); } else if (retrans) { plotter_perm_color(from_tsgpl, retrans_color); } plotter_darrow(from_tsgpl, current_time, SeqRep(thisdir,start)); if (PUSH_SET(ptcp)) { /* colored diamond is PUSH */ plotter_temp_color(from_tsgpl, push_color); plotter_diamond(from_tsgpl, current_time, SeqRep(thisdir,end)); plotter_temp_color(from_tsgpl, push_color); plotter_dot(from_tsgpl, current_time, SeqRep(thisdir,end)); } else { plotter_uarrow(from_tsgpl, current_time, SeqRep(thisdir,end)); } plotter_line(from_tsgpl, current_time, SeqRep(thisdir,start), current_time, SeqRep(thisdir,end)); } else if (tcp_data_length == 0) { /* for Brian Utterback */ if (graph_zero_len_pkts) { /* draw zero-length packets */ /* shows up as an X, really two arrow heads */ plotter_darrow(from_tsgpl, current_time, SeqRep(thisdir,start)); plotter_uarrow(from_tsgpl, current_time, SeqRep(thisdir,start)); } } /* Kevin Lahey's code */ /* XXX: can this overwrite other labels!? */ if (cwr || ecn_ce) { plotter_perm_color(from_tsgpl, ecn_color); plotter_diamond(from_tsgpl, current_time, SeqRep(thisdir,start)); plotter_text(from_tsgpl, current_time, SeqRep(thisdir, start), "a", cwr ? (ecn_ce ? "CWR CE" : "CWR") : "CE"); } } /* Plotting URGENT data */ if(urg) { if(from_tsgpl != NO_PLOTTER && show_urg){ plotter_perm_color(from_tsgpl,urg_color); plotter_text(from_tsgpl,current_time,SeqRep (thisdir,end), "a", "U"); } } /* graph time line */ /* Since the axis types have been switched specially for these graphs, * x is actually used as y and y as x * -Avinash. * * NOTE: This code is lacking about a 1000 lines of intellegence that is needed * ----- to draw these graphs correctly. I have left it in here as the starting * point to work on. Whoever is working on this project would want to clean * up this file trace.c (based on the patches in the README.tline_graphs * file), and continue development as a seperate module. We started this * project thinking it is easy to draw these graphs, and then realized that * it is infact quite a complicated task. All this works with a -L option at * command line. */ if (tlinepl != NO_PLOTTER) { char buf1[200]; char buf2[50]; static seqnum a2b_first_seqnum = 0; static seqnum b2a_first_seqnum = 0; /* 1/3rd rtt. Since we have the timestamps only on one side, we calculate the * arrrival/departure time of the segments on the other side by adding/subtracting * 1/3rd rtt. We assume that it takes 1/3rd time for the segment to travel in * either direction, and 1/3rd time for processing. * We also skew the calculated times so that the acks are not seen before the * segments actually arrive. */ struct timeval one3rd_rtt; struct timeval copy_current_time; /* Make a copy of the current time (Needed for calculations) */ copy_current_time.tv_sec = current_time.tv_sec; copy_current_time.tv_usec = current_time.tv_usec; /* Compute 1/3rd rtt */ one3rd_rtt.tv_sec = 0; one3rd_rtt.tv_usec = thisdir->rtt_last/3; /* Adjust seconds and microseconds */ while(one3rd_rtt.tv_usec >= US_PER_SEC) { one3rd_rtt.tv_usec -= US_PER_SEC; one3rd_rtt.tv_sec += 1; } /* Initializations */ memset(&buf1, 0, sizeof(buf1)); memset(&buf2, 0, sizeof(buf2)); /* Segment information */ /* Check the flags */ if(SYN_SET(ptcp)) strncat(buf1, "SYN ", 4); if(FIN_SET(ptcp)) strncat(buf1, "FIN ", 4); if(RESET_SET(ptcp)) strncat(buf1, "RST ", 4); if(PUSH_SET(ptcp)) strncat(buf1, "PSH ", 4); if(URGENT_SET(ptcp)) strncat(buf1, "URG ", 4); /* Write the sequence numbers */ if(dir == A2B) { /* Use relative sequence numbers after the first segment in either direction */ snprintf(buf2, sizeof(buf2), "%lu:%lu(%lu) ", (start - a2b_first_seqnum), (end - a2b_first_seqnum), (end-start)); strncat(buf1, buf2, strlen(buf2)); if(a2b_first_seqnum == 0 && !SYN_SET(ptcp)) // Don't use relative sequence numbers until handshake is complete. a2b_first_seqnum = thisdir->min_seq; }else if(dir == B2A) { /* Use relative sequence numbers after the first segment in either direction */ snprintf(buf2, sizeof(buf2), "%lu:%lu(%lu) ", (start - b2a_first_seqnum), (end - b2a_first_seqnum), (end-start)); strncat(buf1, buf2, strlen(buf2)); if(b2a_first_seqnum == 0 && !SYN_SET(ptcp)) b2a_first_seqnum = thisdir->min_seq; } /* Acknowledgements */ if(ACK_SET(ptcp)) { memset(&buf2, 0, sizeof(buf2)); if(dir == A2B) snprintf(buf2, sizeof(buf2), "ack %lu ", (th_ack - b2a_first_seqnum)); else if(dir == B2A) snprintf(buf2, sizeof(buf2), "ack %lu ", (th_ack - a2b_first_seqnum)); strncat(buf1, buf2, strlen(buf2)); } /* Advertised Window */ memset(&buf2, 0, sizeof(buf2)); snprintf(buf2, sizeof(buf2), "win %lu ", eff_win); strncat(buf1, buf2, strlen(buf2)); /* Retransmits */ if(retrans) { memset(&buf2, 0, sizeof(buf2)); snprintf(buf2, sizeof(buf2), "R "); strncat(buf1, buf2, strlen(buf2)); } /* Hardware Duplicates */ if(hw_dup) { memset(&buf2, 0, sizeof(buf2)); snprintf(buf2, sizeof(buf2), "HD "); strncat(buf1, buf2, strlen(buf2)); } /* Draw the segment ------>/<------- */ if(dir == A2B) { tv_add(©_current_time, one3rd_rtt); plotter_line(tlinepl, ptp_save->first_time, tline_left, copy_current_time, tline_left); plotter_line(tlinepl, ptp_save->first_time, tline_right, copy_current_time, tline_right); if(SYN_SET(ptcp)|| FIN_SET(ptcp) || RESET_SET(ptcp)) plotter_perm_color(tlinepl, synfin_color); else plotter_perm_color(tlinepl, a2b_seg_color); plotter_line(tlinepl, current_time, tline_left, copy_current_time, tline_right); plotter_rarrow(tlinepl, copy_current_time, tline_right); plotter_perm_color(tlinepl, default_color); plotter_text(tlinepl, current_time, tline_left, "l", buf1); } else if(dir == B2A) { tv_sub(©_current_time, one3rd_rtt); plotter_line(tlinepl, ptp_save->first_time, tline_left, copy_current_time, tline_left); plotter_line(tlinepl, ptp_save->first_time, tline_right, copy_current_time, tline_right); if(SYN_SET(ptcp)|| FIN_SET(ptcp) || RESET_SET(ptcp)) plotter_perm_color(tlinepl, synfin_color); else plotter_perm_color(tlinepl, b2a_seg_color); plotter_line(tlinepl, copy_current_time, tline_right, current_time, tline_left); plotter_larrow(tlinepl, current_time, tline_left); plotter_perm_color(tlinepl, default_color); plotter_text(tlinepl, copy_current_time, tline_right, "r", buf1); } } /* check for RESET */ if (RESET_SET(ptcp)) { u_long plot_at; /* if there's an ACK in this packet, plot it there */ /* otherwise, plot it at the last valid ACK we have */ if (ACK_SET(ptcp)) plot_at = th_ack; else plot_at = thisdir->ack; if (to_tsgpl != NO_PLOTTER) { plotter_temp_color(to_tsgpl, text_color); plotter_text(to_tsgpl, current_time, SeqRep(otherdir,plot_at), "a", "RST_IN"); } if (from_tsgpl != NO_PLOTTER) { plotter_temp_color(from_tsgpl, text_color); plotter_text(from_tsgpl, current_time, SeqRep(thisdir,start), "a", "RST_OUT"); } if (ACK_SET(ptcp)) ++thisdir->ack_pkts; if (run_continuously) { UpdateConnLists(tcp_ptr, ptcp); } return(ptp_save); } /* do window stats (include first SYN too!) */ thisdir->win_last=eff_win; if (ACK_SET(ptcp) || SYN_SET(ptcp)) { if (eff_win > thisdir->win_max) thisdir->win_max = eff_win; /* If we *are* going to use window scaling, * i.e., if we saw both SYN segments of the connection requesting * window scaling, we flush out all the window stats we gathered till * now from the SYN segments. * * o We set the flag window_stats_updated_for_scaling to TRUE * o Set win_min and win_max to the value found in this first * window-scaled segment * o Reset win_tot value too, as this is used to calculate the * average window advertisement seen in this direction at the end * o We also use the field win_scaled_pkts for this purpose, so that * in the end we calculate * * avg_win_adv = win_tot/win_scaled_pkts // Refer output.c * * Note : for a connection that doesn't use window scaling, * * avg_win_adv = win_tot/packets // Refer again to output.c */ if ( (eff_win>0) && ( thisdir->f1323_ws && otherdir->f1323_ws && !SYN_SET(ptcp) && !thisdir->window_stats_updated_for_scaling ) ) { thisdir->window_stats_updated_for_scaling=TRUE; thisdir->win_min = thisdir->win_max = eff_win; thisdir->win_tot = 0; thisdir->win_scaled_pkts = 1; } else if ((eff_win > 0) && ((thisdir->win_min == 0) || (eff_win < thisdir->win_min))) thisdir->win_min = eff_win; /* Add the window advertisement to win_tot */ thisdir->win_tot += eff_win; } /* draw the ack and win in the other plotter */ if (ACK_SET(ptcp)) { seqnum ack = th_ack; u_long winend; winend = ack + eff_win; if (eff_win == 0) { ++thisdir->win_zero_ct; if (to_tsgpl != NO_PLOTTER && show_zero_window) { plotter_temp_color(to_tsgpl, text_color); plotter_text(to_tsgpl, current_time, SeqRep(otherdir,winend), "a", "Z"); if (bottom_letters) { plotter_temp_color(to_tsgpl, text_color); plotter_text(to_tsgpl, current_time, SeqRep(otherdir,otherdir->min_seq)-1500, "a", "Z"); } } } ++thisdir->ack_pkts; if ((tcp_data_length == 0) && !SYN_SET(ptcp) && !FIN_SET(ptcp) && !RESET_SET(ptcp)) { ++thisdir->pureack_pkts; } if (to_tsgpl != NO_PLOTTER && thisdir->time.tv_sec != -1) { plotter_perm_color(to_tsgpl, ack_color); plotter_line(to_tsgpl, thisdir->time, SeqRep(otherdir,thisdir->ack), current_time, SeqRep(otherdir,thisdir->ack)); if (thisdir->ack != ack) { plotter_line(to_tsgpl, current_time, SeqRep(otherdir,thisdir->ack), current_time, SeqRep(otherdir,ack)); if (show_rtt_dongles) { /* draw dongles for "interesting" acks */ switch (ack_type) { case NORMAL: /* normal case */ /* no dongle */ break; case CUMUL: /* cumulative */ /* won't happen, not plotted here */ break; case TRIPLE: /* triple dupacks */ /* won't happen, not plotted here */ break; case AMBIG: /* ambiguous */ plotter_temp_color(to_tsgpl, ackdongle_ambig_color); plotter_diamond(to_tsgpl, current_time, SeqRep(otherdir,ack)); break; case NOSAMP: /* acks retransmitted stuff cumulatively */ plotter_temp_color(to_tsgpl, ackdongle_nosample_color); plotter_diamond(to_tsgpl, current_time, SeqRep(otherdir,ack)); break; } } } else { plotter_dtick(to_tsgpl, current_time, SeqRep(otherdir,ack)); if (show_triple_dupack && (ack_type == TRIPLE)) { plotter_text(to_tsgpl, current_time, SeqRep(otherdir,ack), "a", "3"); /* '3' is for triple dupack */ } } /* Kevin Lahey's code */ if (ecn_echo && !SYN_SET(ptcp)) { plotter_perm_color(to_tsgpl, ecn_color); plotter_diamond(to_tsgpl, current_time, SeqRep(otherdir, ack)); } plotter_perm_color(to_tsgpl, window_color); plotter_line(to_tsgpl, thisdir->time, SeqRep(otherdir,old_this_windowend), current_time, SeqRep(otherdir,old_this_windowend)); if (old_this_windowend != winend) { plotter_line(to_tsgpl, current_time, SeqRep(otherdir,old_this_windowend), current_time, SeqRep(otherdir,winend)); } else { plotter_utick(to_tsgpl, current_time, SeqRep(otherdir,winend)); } } /* track the most sack blocks in a single ack */ if (ptcpo->sack_count > 0) { ++thisdir->num_sacks; if (ptcpo->sack_count > thisdir->max_sack_blocks) thisdir->max_sack_blocks = ptcpo->sack_count; /* also see if any of them are DSACKS - weddy */ /* eventually may come back and fix this, what if we+++++ didn't see all the rexmits and so LEAST wesn't set high enough, now it's too low */ /* case 1, first block under cumack */ if (ptcpo->sacks[0].sack_right <= th_ack) { thisdir->num_dsacks++; if (otherdir->LEAST > 0) otherdir->LEAST--; /* case 2, first block inside second */ } else if (ptcpo->sack_count > 1) { if (ptcpo->sacks[0].sack_right <= ptcpo->sacks[1].sack_right && ptcpo->sacks[0].sack_left >= ptcpo->sacks[1].sack_left) { thisdir->num_dsacks++; if (otherdir->LEAST > 0) otherdir->LEAST--; /* case 3, first and second block overlap */ } else if ((ptcpo->sacks[0].sack_left <= ptcpo->sacks[1].sack_left && ptcpo->sacks[0].sack_right > ptcpo->sacks[1].sack_left) || (ptcpo->sacks[0].sack_right >= ptcpo->sacks[1].sack_right && ptcpo->sacks[0].sack_left < ptcpo->sacks[1].sack_right)) { thisdir->num_dsacks++; if (otherdir->LEAST > 0) otherdir->LEAST--; } } /* if we saw any dsacks from the other guy, we'll assume he did it on purpose and is a dsack tcp */ if (thisdir->num_dsacks > 0) thisdir->tcp_strain = TCP_DSACK; } /* draw sacks, if appropriate */ if (to_tsgpl != NO_PLOTTER && show_sacks && (ptcpo->sack_count > 0)) { int scount; seqnum sack_top = ptcpo->sacks[0].sack_right; plotter_perm_color(to_tsgpl, sack_color); for (scount = 0; scount < ptcpo->sack_count; ++scount) { plotter_line(to_tsgpl, current_time, SeqRep(otherdir,ptcpo->sacks[scount].sack_left), current_time, SeqRep(otherdir,ptcpo->sacks[scount].sack_right)); /* make it easier to read multiple sacks by making them look like |-----| (sideways) */ plotter_htick(to_tsgpl, current_time, SeqRep(otherdir,ptcpo->sacks[scount].sack_left)); plotter_htick(to_tsgpl, current_time, SeqRep(otherdir,ptcpo->sacks[scount].sack_right)); /* if there's more than one, label the order */ /* purple number to the right of the top ("right" edge) */ if (ptcpo->sack_count > 1) { char buf[5]; /* can't be more than 1 digit! */ snprintf(buf,sizeof(buf),"%u",scount+1); /* 1-base, rather than 0-base */ plotter_text(to_tsgpl, current_time, SeqRep(otherdir,ptcpo->sacks[scount].sack_right), "r", buf); } /* maintain the highest SACK so we can label them all at once */ if (SEQ_GREATERTHAN(ptcpo->sacks[scount].sack_right, sack_top)) sack_top = ptcpo->sacks[scount].sack_right; } /* change - just draw the 'S' above the highest one */ plotter_text(to_tsgpl, current_time, SeqRep(otherdir,sack_top), "a", "S"); /* 'S' is for Sack */ } thisdir->time = current_time; thisdir->ack = ack; /* thisdir->windowend = winend; (moved above "only" point) */ } /* end ACK_SET(ptcp) */ /* do stats for initial window (first slow start) */ /* (if there's data in this and we've NEVER seen */ /* an ACK coming back from the other side) */ /* this is for Mark Allman for slow start testing -- Mon Mar 10, 1997 */ if (!otherdir->data_acked && ACK_SET(ptcp) && ((otherdir->syn+1) != th_ack)) { otherdir->data_acked = TRUE; } if ((tcp_data_length > 0) && (!thisdir->data_acked)) { if (!retrans) { /* don't count it if it was retransmitted */ thisdir->initialwin_bytes += tcp_data_length; thisdir->initialwin_segs += 1; } } /* do stats for congestion window (estimated) */ /* estimate the congestion window as the number of outstanding */ /* un-acked bytes */ if (!SYN_SET(ptcp) && !out_order && !retrans) { u_long owin; /* If there has been no ack from the other direction, owin is just * bytes in this pkt. */ if (otherdir->ack == 0){ owin = end - start ; } else { /* ack always acks 'received + 1' bytes, so subtract 1 * for owin */ owin = end - (otherdir->ack - 1); } if (owin > thisdir->owin_max) thisdir->owin_max = owin; if ((owin > 0) && ((thisdir->owin_min == 0) || (owin < thisdir->owin_min))) thisdir->owin_min = owin; thisdir->owin_tot += owin; thisdir->owin_count++; /* adding mark's suggestion of weighted owin */ if (thisdir->previous_owin_sample_time.tv_sec == 0) { /* if this is first ever sample for thisdir */ thisdir->previous_owin_sample_time = thisdir->last_time; thisdir->previous_owin_sample = owin; } else { /* weight each owin sample with the duration that it exists for */ sample_elapsed_time = (elapsed(thisdir->previous_owin_sample_time, ptp_save->last_time))/1000000; total_elapsed_time = (elapsed(ptp_save->first_time, ptp_save->last_time))/1000000; thisdir->owin_wavg += (u_llong)((thisdir->previous_owin_sample) * sample_elapsed_time); /* graph owin_wavg */ if (thisdir->owin_plotter != NO_PLOTTER) { extend_line(thisdir->owin_wavg_line, thisdir->previous_owin_sample_time, (total_elapsed_time)?((u_llong)((thisdir->owin_wavg)/total_elapsed_time)):0); } thisdir->previous_owin_sample_time = thisdir->last_time; thisdir->previous_owin_sample = owin; } /* graph owin */ if (thisdir->owin_plotter != NO_PLOTTER) { extend_line(thisdir->owin_line, current_time, owin); if (show_rwinline) { extend_line(thisdir->rwin_line, current_time, otherdir->win_last); } extend_line(thisdir->owin_avg_line, current_time, (thisdir->owin_count?(thisdir->owin_tot/thisdir->owin_count):0)); } } if (run_continuously) { UpdateConnLists(tcp_ptr, ptcp); } return(ptp_save); } void trace_done(void) { tcp_pair *ptp; FILE *f_passfilter = NULL; int ix; static int count = 0; Bool incomplete_pkt_capture = FALSE; if (!run_continuously) { if (!printsuppress) { if (tcp_trace_count == 0) { fprintf(stdout,"%sno traced TCP packets\n", comment); return; } else { fprintf(stdout,"%sTCP connection info:\n", comment); } } if (!printbrief) fprintf(stdout,"%s%d TCP %s traced:\n", comment, num_tcp_pairs + 1, num_tcp_pairs==0?"connection":"connections"); if (ctrunc > 0) { fprintf(stdout, "%s*** %lu packets were too short to process at some point\n", comment, ctrunc); if (!warn_printtrunc) fprintf(stdout,"%s\t(use -w option to show details)\n", comment); } /* generate statistics for data storage efficiency */ if (debug>1) { int h; int occupied_buckets = 0; int max_bucket_occupancy = 0; int max_searches = 0; int max_depth = 0; int max_comparisons = 0; float max_searches_compare = 0.0; fprintf(stdout,"%sTotal searches: %u\n", comment, tcp_packet_count); fprintf(stdout,"%s Total comparisons: %u\n", comment, search_count); fprintf(stdout,"%s Average compares/search: %.2f\n", comment, (float)search_count / (float)tcp_packet_count); fprintf(stdout,"%sHash table size: %u\n", comment, HASH_TABLE_SIZE); for (h=0; h < HASH_TABLE_SIZE; ++h) { struct search_efficiency *pse = &hashtable_efficiency[h]; float searches_compare; if (pse->num_connections > 0) ++occupied_buckets; if (pse->max_connections > max_bucket_occupancy) max_bucket_occupancy = pse->max_connections; if (pse->num_searches > max_searches) max_searches = pse->num_searches; if (pse->num_comparisons > max_comparisons) max_comparisons = pse->num_comparisons; if (pse->max_depth > max_depth) max_depth = pse->max_depth; searches_compare = (float) pse->num_comparisons / (float) pse->num_searches; if (searches_compare > max_searches_compare) max_searches_compare = searches_compare; } fprintf(stdout,"%s Occupied hash buckets: %u\n", comment, occupied_buckets); fprintf(stdout,"%s Max entries/bucket: %u\n", comment, max_bucket_occupancy); fprintf(stdout,"%s Max searches/bucket: %u\n", comment, max_searches); fprintf(stdout,"%s Max comparisons/bucket: %u\n", comment, max_comparisons); fprintf(stdout,"%s Max avg compares/search: %.2f\n", comment, max_searches_compare); fprintf(stdout,"%s Max tree depth: %u\n", comment, max_depth); } /* complete the "idle time" calculations using NOW */ for (ix = 0; ix <= num_tcp_pairs; ++ix) { tcp_pair *ptp = ttp[ix]; tcb *thisdir; u_llong itime; /* if it's CLOSED, skip it */ if ((FinCount(ptp)>=2) || (ConnReset(ptp))) continue; /* a2b direction */ thisdir = &ptp->a2b; if (!ZERO_TIME(&thisdir->last_time)) { itime = elapsed(thisdir->last_time,current_time); if (itime > thisdir->idle_max) thisdir->idle_max = itime; } /* b2a direction */ thisdir = &ptp->b2a; if (!ZERO_TIME(&thisdir->last_time)) { itime = elapsed(thisdir->last_time,current_time); if (itime > thisdir->idle_max) thisdir->idle_max = itime; } } } /* if we're filtering, see which connections pass */ if (filter_output || ignore_non_comp) { /* file to dump matching connection numbers into */ f_passfilter = fopen(PASS_FILTER_FILENAME,"w+"); if (f_passfilter == NULL) { perror(PASS_FILTER_FILENAME); exit(-1); } if (filter_output) { if (!run_continuously) { /* mark the connections to ignore */ for (ix = 0; ix <= num_tcp_pairs; ++ix) { ptp = ttp[ix]; if (PassesFilter(ptp)) { if (++count == 1) fprintf(f_passfilter,"%d", ix+1); else fprintf(f_passfilter,",%d", ix+1); } else { /* else ignore it */ ptp->ignore_pair = TRUE; } } } } } if (!run_continuously) { /* print each connection */ if (!printsuppress) { Bool first = TRUE; /* Used with -separated-values * Keeps track of whether header has already * been printed */ for (ix = 0; ix <= num_tcp_pairs; ++ix) { ptp = ttp[ix]; if (!ptp->ignore_pair) { if ((printbrief) && (!ignore_non_comp || ConnComplete(ptp))) { fprintf(stdout,"%3d: ", ix+1); PrintBrief(ptp); } else if (!ignore_non_comp || ConnComplete(ptp)) { if(csv || tsv || (sv != NULL)) { if(first) { PrintSVHeader(); first = FALSE; } fprintf(stdout, "%d%s", ix+1, sp); } else { if (ix > 0) fprintf(stdout,"================================\n"); fprintf(stdout,"TCP connection %d:\n", ix+1); } PrintTrace(ptp); } /* This piece of code dumps PF file when filtered with '-c' option, this option says to select only complete connections. The PF file will contain the connection numbers which are selected to be complete */ if (ignore_non_comp) if (ConnComplete(ptp)) { if (++count == 1) fprintf(f_passfilter, "%d", ix+1); else fprintf(f_passfilter, ",%d", ix+1); } /******************************/ /* If we are extracting packet contents (-e option), we shall check to * see if we missed segments during packet capture causing the * X2Y_contents.dat files that we drop to contain voids in them. * We shall emit a warning upon such an event below. */ if (save_tcp_data && !incomplete_pkt_capture && MissingData(ptp)) incomplete_pkt_capture = TRUE; } } } } /* if we're filtering, close the file */ if (filter_output || ignore_non_comp) { fprintf(f_passfilter,"\n"); fclose(f_passfilter); } if (incomplete_pkt_capture) { fprintf(stderr, "\nWarning : some extracted files are incomplete!\n"); fprintf(stderr, " Please see -l output for more detail.\n"); } if ((debug>2) && !nonames) cadump(); } static void MoreTcpPairs( int num_needed) { int new_max_tcp_pairs; int i; if (num_needed < max_tcp_pairs) return; new_max_tcp_pairs = max_tcp_pairs * 4; while (new_max_tcp_pairs < num_needed) new_max_tcp_pairs *= 4; if (debug) printf("trace: making more space for %d total TCP pairs\n", new_max_tcp_pairs); /* enlarge array to hold any pairs that we might create */ ttp = ReallocZ(ttp, max_tcp_pairs * sizeof(tcp_pair *), new_max_tcp_pairs * sizeof(tcp_pair *)); /* enlarge array to keep track of which ones to ignore */ ignore_pairs = ReallocZ(ignore_pairs, max_tcp_pairs * sizeof(Bool), new_max_tcp_pairs * sizeof(Bool)); if (more_conns_ignored) for (i=max_tcp_pairs; i < new_max_tcp_pairs;++i) ignore_pairs[i] = TRUE; max_tcp_pairs = new_max_tcp_pairs; } void trace_init(void) { static Bool initted = FALSE; if (0) { printf("trace_init called\n"); } if (run_continuously) { if (ignore_pairs) { free(ignore_pairs); ignore_pairs = NULL; } if (ttp) { free(ttp); ttp = NULL; } more_conns_ignored = FALSE; } if (initted) return; initted = TRUE; /* create an array to hold any pairs that we might create */ ttp = (tcp_pair **) MallocZ(max_tcp_pairs * sizeof(tcp_pair *)); /* create an array to keep track of which ones to ignore */ ignore_pairs = (Bool *) MallocZ(max_tcp_pairs * sizeof(Bool)); if (!run_continuously) { /* create an array to hold any pairs that we might create */ ttp = (tcp_pair **) MallocZ(max_tcp_pairs * sizeof(tcp_pair *)); /* create an array to keep track of which ones to ignore */ ignore_pairs = (Bool *) MallocZ(max_tcp_pairs * sizeof(Bool)); } cainit(); Minit(); } void IgnoreConn( int ix) { if (debug) fprintf(stderr,"ignoring conn %d\n", ix); // trace_init(); --ix; MoreTcpPairs(ix); more_conns_ignored = FALSE; ignore_pairs[ix] = TRUE; } void OnlyConn( int ix_only) { int ix; static Bool cleared = FALSE; if (debug) fprintf(stderr,"only printing conn %d\n", ix_only); // trace_init(); --ix_only; MoreTcpPairs(ix_only); if (!cleared) { for (ix = 0; ix < max_tcp_pairs; ++ix) { ignore_pairs[ix] = TRUE; } cleared = TRUE; } more_conns_ignored = TRUE; ignore_pairs[ix_only] = FALSE; } /* get a long (4 byte) option (to avoid address alignment problems) */ static u_long get_long_opt( void *ptr) { u_long l; memcpy(&l,ptr,sizeof(u_long)); return(l); } /* get a short (2 byte) option (to avoid address alignment problems) */ static u_short get_short_opt( void *ptr) { u_short s; memcpy(&s,ptr,sizeof(u_short)); return(s); } struct tcp_options * ParseOptions( struct tcphdr *ptcp, void *plast) { static struct tcp_options tcpo; struct sack_block *psack; u_char *pdata; u_char *popt; u_char *plen; popt = (u_char *)ptcp + sizeof(struct tcphdr); pdata = (u_char *)ptcp + TH_OFF(ptcp)*4; /* init the options structure */ memset(&tcpo,0,sizeof(tcpo)); tcpo.mss = tcpo.ws = tcpo.tsval = tcpo.tsecr = -1; tcpo.sack_req = 0; tcpo.sack_count = -1; tcpo.echo_req = tcpo.echo_repl = -1; tcpo.cc = tcpo.ccnew = tcpo.ccecho = -1; /* a quick sanity check, the unused (MBZ) bits must BZ! */ if (warn_printbadmbz) { if (TH_X2(ptcp) != 0) { fprintf(stderr, "TCP packet %lu: 4 reserved bits are not zero (0x%01x)\n", pnum, TH_X2(ptcp)); } if ((ptcp->th_flags & 0xc0) != 0) { fprintf(stderr, "TCP packet %lu: upper flag bits are not zero (0x%02x)\n", pnum, ptcp->th_flags); } } else { static int warned = 0; if (!warned && ((TH_X2(ptcp) != 0) || ((ptcp->th_flags & 0xc0) != 0))) { warned = 1; fprintf(stderr, "\ TCP packet %lu: reserved bits are not all zero. \n\ \tFurther warnings disabled, use '-w' for more info\n", pnum); } } /* looks good, now check each option in turn */ while (popt < pdata) { plen = popt+1; /* check for truncation error */ if ((char *)popt > (char *)plast) { if (warn_printtrunc) fprintf(stderr,"\ ParseOptions: packet %lu too short to parse remaining options\n", pnum); ++ctrunc; break; } #define CHECK_O_LEN(opt) \ if (*plen == 0) { \ if (warn_printtrunc) fprintf(stderr, "\ ParseOptions: packet %lu %s option has length 0, skipping other options\n", \ pnum,opt); \ popt = pdata; break;} \ if ((char *)popt + *plen - 1 > (char *)(plast)) { \ if (warn_printtrunc) \ fprintf(stderr, "\ ParseOptions: packet %lu %s option truncated, skipping other options\n", \ pnum,opt); \ ++ctrunc; \ popt = pdata; break;} \ switch (*popt) { case TCPOPT_EOL: ++popt; break; case TCPOPT_NOP: ++popt; break; case TCPOPT_MAXSEG: CHECK_O_LEN("TCPOPT_MAXSEG"); tcpo.mss = ntohs(get_short_opt(popt+2)); popt += *plen; break; case TCPOPT_WS: CHECK_O_LEN("TCPOPT_WS"); tcpo.ws = *((u_char *)(popt+2)); popt += *plen; break; case TCPOPT_TS: CHECK_O_LEN("TCPOPT_TS"); tcpo.tsval = ntohl(get_long_opt(popt+2)); tcpo.tsecr = ntohl(get_long_opt(popt+6)); popt += *plen; break; case TCPOPT_ECHO: CHECK_O_LEN("TCPOPT_ECHO"); tcpo.echo_req = ntohl(get_long_opt(popt+2)); popt += *plen; break; case TCPOPT_ECHOREPLY: CHECK_O_LEN("TCPOPT_ECHOREPLY"); tcpo.echo_repl = ntohl(get_long_opt(popt+2)); popt += *plen; break; case TCPOPT_CC: CHECK_O_LEN("TCPOPT_CC"); tcpo.cc = ntohl(get_long_opt(popt+2)); popt += *plen; break; case TCPOPT_CCNEW: CHECK_O_LEN("TCPOPT_CCNEW"); tcpo.ccnew = ntohl(get_long_opt(popt+2)); popt += *plen; break; case TCPOPT_CCECHO: CHECK_O_LEN("TCPOPT_CCECHO"); tcpo.ccecho = ntohl(get_long_opt(popt+2)); popt += *plen; break; case TCPOPT_SACK_PERM: CHECK_O_LEN("TCPOPT_SACK_PERM"); tcpo.sack_req = 1; popt += *plen; break; case TCPOPT_SACK: /* see which bytes are acked */ CHECK_O_LEN("TCPOPT_SACK"); tcpo.sack_count = 0; psack = (sack_block *)(popt+2); /* past the kind and length */ popt += *plen; while ((char *)psack < (char *)popt) { struct sack_block *psack_local = &tcpo.sacks[(unsigned)tcpo.sack_count]; /* warning, possible alignment problem here, so we'll use memcpy() and hope for the best */ /* better use -fno-builtin to avoid gcc alignment error in GCC 2.7.2 */ memcpy(psack_local, psack, sizeof(sack_block)); /* convert to local byte order (Jamshid Mahdavi) */ psack_local->sack_left = ntohl(psack_local->sack_left); psack_local->sack_right = ntohl(psack_local->sack_right); ++psack; if ((char *)psack > ((char *)plast+1)) { /* this SACK block isn't all here */ if (warn_printtrunc) fprintf(stderr, "packet %lu: SACK block truncated\n", pnum); ++ctrunc; break; } ++tcpo.sack_count; if (tcpo.sack_count > MAX_SACKS) { /* this isn't supposed to be able to happen */ fprintf(stderr, "Warning, internal error, too many sacks!!\n"); tcpo.sack_count = MAX_SACKS; } } break; default: if (debug) fprintf(stderr, "Warning, ignoring unknown TCP option 0x%x\n", *popt); CHECK_O_LEN("TCPOPT_UNKNOWN"); /* record it anyway... */ if (tcpo.unknown_count < MAX_UNKNOWN) { int ix = tcpo.unknown_count; /* make lint happy */ tcpo.unknowns[ix].unkn_opt = *popt; tcpo.unknowns[ix].unkn_len = *plen; } ++tcpo.unknown_count; popt += *plen; break; } } return(&tcpo); } static void ExtractContents( u_long seq, u_long tcp_data_bytes, u_long saved_data_bytes, void *pdata, tcb *ptcb) { u_long missing; long offset; u_long fptr; /* Maximum filename could be : aaaaaaaa2bbbbbbbb_contents.dat which takes 8+1+8+ size of the extension */ static char filename[MAX_HOSTLETTER_LEN +1 /* for "2" */ +MAX_HOSTLETTER_LEN +sizeof(CONTENTS_FILE_EXTENSION) +1]; /* for terminating NULL. */ if (debug > 2) fprintf(stderr, "ExtractContents(seq:%ld bytes:%ld saved_bytes:%ld) called\n", seq, tcp_data_bytes, saved_data_bytes); if (saved_data_bytes == 0) return; /* how many bytes do we have? */ missing = tcp_data_bytes - saved_data_bytes; if ((debug > 2) && (missing > 0)) { fprintf(stderr,"ExtractContents: missing %ld bytes (%ld-%ld)\n", missing,tcp_data_bytes,saved_data_bytes); } /* if the FILE is "-1", couldn't open file */ if (ptcb->extr_contents_file == (MFILE *) -1) { return; } /* if the FILE is NULL, open file */ snprintf(filename,sizeof(filename),"%s2%s%s", ptcb->host_letter, ptcb->ptwin->host_letter, CONTENTS_FILE_EXTENSION); if (ptcb->extr_contents_file == (MFILE *) NULL) { MFILE *f; if ((f = Mfopen(filename,"w")) == NULL) { perror(filename); ptcb->extr_contents_file = (MFILE *) -1; } if (debug) fprintf(stderr,"TCP contents file is '%s'\n", filename); ptcb->extr_contents_file = f; if (ptcb->syn_count == 0) { /* we haven't seen the SYN. This is bad because we can't tell */ /* if there is data BEFORE this, which makes it tough to store */ /* the file. Let's be optimistic and hope we don't see */ /* anything before this point. Otherwise, we're stuck */ ptcb->extr_lastseq = seq; } else { /* beginning of the file is the data just past the SYN */ ptcb->extr_lastseq = ptcb->syn+1; } /* in any case, anything before HERE is illegal (fails for very */ /* long files - FIXME */ ptcb->extr_initseq = ptcb->extr_lastseq; } /* it's illegal for the bytes to be BEFORE extr_initseq unless the file */ /* is "really long" (seq space has wrapped around) - FIXME(ugly) */ if ((SEQCMP(seq,ptcb->extr_initseq) < 0) && (ptcb->data_bytes < (0xffffffff/2))) { /* if we haven't (didn't) seen the SYN, then can't do this!! */ if (debug>1) { fprintf(stderr, "ExtractContents: skipping data, preceeds first segment\n"); fprintf(stderr,"\t and I didnt' see the SYN\n"); } return; } /* see where we should start writing */ /* a little complicated, because we want to support really long files */ offset = SEQCMP(seq,ptcb->extr_lastseq); if (debug>10) fprintf(stderr, "TRYING to save %ld bytes from stream '%s2%s' at offset %ld\n", saved_data_bytes, ptcb->host_letter, ptcb->ptwin->host_letter, offset); /* seek to the correct place in the file */ if (Mfseek(ptcb->extr_contents_file, offset, SEEK_CUR) == -1) { perror("fseek"); exit(-1); } /* see where we are */ fptr = Mftell(ptcb->extr_contents_file); if (debug>1) fprintf(stderr, "Saving %ld bytes from '%s2%s' at offset %ld in file '%s'\n", saved_data_bytes, ptcb->host_letter, ptcb->ptwin->host_letter, fptr, filename); /* store the bytes */ if (Mfwrite(pdata,1,saved_data_bytes,ptcb->extr_contents_file) != saved_data_bytes) { perror("fwrite"); exit(-1); } /* go back to where we started to not confuse the next write */ ptcb->extr_lastseq = seq; if (Mfseek(ptcb->extr_contents_file, fptr, SEEK_SET) == -1) { perror("fseek 2"); exit(-1); } } /* check for not-uncommon error of hardware-level duplicates (same IP ID and TCP sequence number) */ static Bool check_hw_dups( u_short id, seqnum seq, tcb *tcb) { int i; struct str_hardware_dups *pshd; /* see if we've seen this one before */ for (i=0; i < SEGS_TO_REMEMBER; ++i) { pshd = &tcb->hardware_dups[i]; if ((pshd->hwdup_seq == seq) && (pshd->hwdup_id == id) && (pshd->hwdup_seq != 0) && (pshd->hwdup_id != 0)) { /* count it */ ++tcb->num_hardware_dups; if (warn_printhwdups) { printf("%s->%s: saw hardware duplicate of TCP seq %lu, IP ID %u (packet %lu == %lu)\n", tcb->host_letter,tcb->ptwin->host_letter, seq, id, pnum,pshd->hwdup_packnum); } return(TRUE); } } /* remember it */ pshd = &tcb->hardware_dups[tcb->hardware_dups_ix]; pshd->hwdup_seq = seq; pshd->hwdup_id = id; pshd->hwdup_packnum = pnum; tcb->hardware_dups_ix = (tcb->hardware_dups_ix+1) % SEGS_TO_REMEMBER; return(FALSE); } /* given a tcp_pair and a packet, tell me which tcb it is */ struct tcb * ptp2ptcb( tcp_pair *ptp, struct ip *pip, struct tcphdr *ptcp) { int dir = 0; tcp_pair tp_in; /* grab the address from this packet */ CopyAddr(&tp_in.addr_pair, pip, ntohs(ptcp->th_sport), ntohs(ptcp->th_dport)); /* check the direction */ if (!SameConn(&tp_in.addr_pair,&ptp->addr_pair,&dir)) return(NULL); /* not found, internal error */ if (dir == A2B) return(&ptp->a2b); else return(&ptp->b2a); } /* represent the sequence numbers absolute or relative to 0 */ static u_long SeqRep( tcb *ptcb, u_long seq) { if (graph_seq_zero) { return(seq - ptcb->min_seq); } else { return(seq); } } /*------------------------------------------------------------------------ * cksum - Return 16-bit ones complement of 16-bit ones complement sum *------------------------------------------------------------------------ */ static u_short cksum( void *pvoid, /* any alignment is legal */ int nbytes) { u_char *pchar = pvoid; u_long sum = 0; while (nbytes >= 2) { /* can't assume pointer alignment :-( */ sum += (pchar[0]<<8); sum += pchar[1]; pchar+=2; nbytes -= 2; } /* special check for odd length */ if (nbytes == 1) { sum += (pchar[0]<<8); /* lower byte is assumed to be 0 */ } sum = (sum >> 16) + (sum & 0xffff); /* add in carry */ sum += (sum >> 16); /* maybe one more */ return(sum); } /* compute IP checksum */ static u_short ip_cksum( struct ip *pip, void *plast) { u_short sum; if (PIP_ISV6(pip)) return(0); /* IPv6 has no header checksum */ if (!PIP_ISV4(pip)) return(1); /* I have no idea! */ /* quick sanity check, if the packet is truncated, pretend it's valid */ if ((char *)plast < (char *)((char *)pip+IP_HL(pip)*4-1)) { return(0); } /* ... else IPv4 */ sum = cksum(pip, IP_HL(pip)*4); return(sum); } /* is the IP checksum valid? */ Bool ip_cksum_valid( struct ip *pip, void *plast) { u_short sum; /* PrintRawDataHex("IP header",pip,plast); */ sum = ip_cksum(pip,plast); return((sum == 0) || (sum == 0xffff)); } /* compute the TCP checksum */ static u_short tcp_cksum( struct ip *pip, struct tcphdr *ptcp, void *plast) { u_long sum = 0; unsigned tcp_length = 0; /* verify version */ if (!PIP_ISV4(pip) && !PIP_ISV6(pip)) { fprintf(stderr,"Internal error, tcp_cksum: neither IPv4 nor IPv6\n"); exit(-1); } /* TCP checksum includes: */ /* - IP source */ /* - IP dest */ /* - IP type */ /* - TCP header length + TCP data length */ /* - TCP header and data */ if (PIP_ISV4(pip)) { /* quick sanity check, if the packet is fragmented, pretend it's valid */ /* Thu Jul 6, 2000 - bugfix, bad check */ if (((ntohs(pip->ip_off) << 2) & 0xffff) != 0) { /* both the offset AND the MF bit must be 0 */ /* (we shifted off the DF bit, which might be on) */ return(0); } /* 2 4-byte numbers, next to each other */ sum += cksum(&pip->ip_src,4*2); /* type */ sum += (u_short) pip->ip_p; /* length (TCP header length + TCP data length) */ tcp_length = ntohs(pip->ip_len) - (4 * IP_HL(pip)); sum += (u_short) tcp_length; } else /* if (PIP_ISV6(pip))*/ { /* Support for IPv6 checksums has been added on Aug31, 2001 * and has not been thoroughly tested. - Avinash */ int total_length = 0; /* Total length of the extension headers */ struct ipv6 *pip6 = (struct ipv6 *)pip; /* quick sanity check, it the packet is truncated, * pertend it is valid. */ if(gettcp(pip, &ptcp, &plast) != 0) return(0); /* Forming the pseudo-header */ /* source address */ sum += cksum(&pip6->ip6_saddr,16); /* Looking for the destination address. * May be in the IPv6 header or the last address in the * routing header (if present) */ /* No extension headers, hence, routing header not present */ if(pip6->ip6_nheader == IPPROTO_TCP) { sum += cksum(&pip6->ip6_daddr,16); } /* Some extension headers present. Searching for routing header */ else { /* find the first header */ struct ipv6_ext *pipv6_ext = (struct ipv6_ext *)(pip6+1); /* Searching for the routing header */ int ret = getroutingheader(pip, &pipv6_ext, &plast); if(!ret) { /* Found the routing header */ if(pipv6_ext->ip6ext_len >= 2) { /* Sanity check */ char *daddr = (char *)((char *)pipv6_ext + 8 + ((pipv6_ext->ip6ext_len - 2) * 8)); sum += cksum(&daddr,16); } else { /* Not a valid routing header */ return(-1); } } else { /* Routing header not found */ sum += cksum(&pip6->ip6_daddr,16); } } /* Upper-Layer Packet Length */ total_length = total_length_ext_headers(pip6); if(total_length >= 0) tcp_length = pip6->ip6_lngth - total_length; else /* Unknown extension header seen */ return(-1); sum += (u_short) tcp_length; /* Next Header (Type) */ sum += (u_short) IPPROTO_TCP; } /* quick sanity check, if the packet is truncated, pretend it's valid */ if ((char *)plast < (char *)((char *)ptcp+tcp_length-1)) { return(0); } /* checksum the TCP header and data */ sum += cksum(ptcp,tcp_length); /* roll down into a 16-bit number */ sum = (sum >> 16) + (sum & 0xffff); sum += (sum >> 16); return (u_short)(~sum & 0xffff); } /* compute the UDP checksum */ static u_short udp_cksum( struct ip *pip, struct udphdr *pudp, void *plast) { u_long sum = 0; unsigned udp_length; /* WARNING -- this routine has not been extensively tested */ /* verify version */ if (!PIP_ISV4(pip) && !PIP_ISV6(pip)) { fprintf(stderr,"Internal error, udp_cksum: neither IPv4 nor IPv6\n"); exit(-1); } /* UDP checksum includes: */ /* - IP source */ /* - IP dest */ /* - IP type */ /* - UDP length field */ /* - UDP header and data */ if (PIP_ISV4(pip)) { /* 2 4-byte numbers, next to each other */ sum += cksum(&pip->ip_src,4*2); /* type */ sum += (u_short) pip->ip_p; /* UDP length */ udp_length = ntohs(pudp->uh_ulen); sum += htons(pudp->uh_ulen); } else /* if (PIP_ISV6(pip))*/ { /* Support for IPv6 checksums has been added on Aug31, 2001 * and has not been thoroughly tested. - Avinash */ struct ipv6 *pip6 = (struct ipv6 *)pip; /* quick sanity check, it the packet is truncated, * pertend it is valid. */ if(getudp(pip, &pudp, &plast) != 0) return(0); /* Forming the pseudo-header */ /* source address */ sum += cksum(&pip6->ip6_saddr,16); /* Looking for the destination address. * May be in the IPv6 header or the last address in the * routing header (if present) */ /* No extension headers, hence, routing header not present */ if(pip6->ip6_nheader == IPPROTO_UDP) { sum += cksum(&pip6->ip6_daddr,16); } /* Some extension headers present. Searching for routing header */ else { /* find the first header */ struct ipv6_ext *pipv6_ext = (struct ipv6_ext *)(pip6+1); /* Searching for the routing header */ int ret = getroutingheader(pip, &pipv6_ext, &plast); if(!ret) { /* Found the routing header */ if(pipv6_ext->ip6ext_len >= 2) { /* Sanity check */ char *daddr = (char *)((char *)pipv6_ext + 8 + ((pipv6_ext->ip6ext_len - 2) * 8)); sum += cksum(&daddr,16); } else { /* Not a valid routing header */ return(-1); } } else { /* Routing header not found */ sum += cksum(&pip6->ip6_daddr,16); } } /* Upper-Layer Packet Length */ udp_length = ntohs(pudp->uh_ulen); sum += htons(pudp->uh_ulen); /* Next Header (Type) */ sum += (u_short) IPPROTO_UDP; } /* quick sanity check, if the packet is truncated, pretend it's valid */ if ((char *)plast < (char *)((char *)pudp+udp_length-1)) { return(0); } /* checksum the UDP header and data */ sum += cksum(pudp,udp_length); /* roll down into a 16-bit number */ sum = (sum >> 16) + (sum & 0xffff); sum += (sum >> 16); return (u_short)(~sum & 0xffff); } /* is the TCP checksum valid? */ Bool tcp_cksum_valid( struct ip *pip, struct tcphdr *ptcp, void *plast) { return(tcp_cksum(pip,ptcp,plast) == 0); } /* is the UDP checksum valid? */ Bool udp_cksum_valid( struct ip *pip, struct udphdr *pudp, void *plast) { if (ntohs(pudp->uh_sum) == 0) { /* checksum not used */ return(1); /* valid */ } return(udp_cksum(pip,pudp,plast) == 0); } /* Did we miss any segment during packet capture? */ static Bool MissingData(tcp_pair *ptp) { tcb *pab = &ptp->a2b; tcb *pba = &ptp->b2a; u_llong stream_length_pab=0, stream_length_pba=0; u_long pab_last, pba_last; /* If packets were truncated (due to shorter snaplen) we miss data */ if ( (pab->trunc_bytes > 0) || (pba->trunc_bytes > 0) ) return TRUE; /* Also, if we missed whole segments (pcap dozing off) we miss data. * The following code yanked off from output.c handles seq-space * wrap around - Mani * * Compare to theoretical length of the stream (not just what * we saw) using the SYN and FIN * Seq. Space wrap around calculations: * Calculate stream length using last_seq_num seen, first_seq_num * seen and wrap_count. * first_seq_num = syn * If reset_set, last_seq_num = latest_seq * else last_seq_num = fin */ pab_last = (pab->reset_count>0)?pab->latest_seq:pab->fin; pba_last = (pba->reset_count>0)?pba->latest_seq:pba->fin; /* calculating stream length for direction pab */ if ((pab->syn_count > 0) && (pab->fin_count > 0)) { if (pab->seq_wrap_count > 0) { if (pab_last > pab->syn) { stream_length_pab = pab_last + (MAX_32 * pab->seq_wrap_count) - pab->syn - 1; } else { stream_length_pab = pab_last + (MAX_32 * (pab->seq_wrap_count+1)) - pab->syn - 1; } } else { if (pab_last > pab->syn) { stream_length_pab = pab_last - pab->syn - 1; } else { stream_length_pab = MAX_32 + pab_last - pab->syn - 1; } } } /* calculating stream length for direction pba */ if ((pba->syn_count > 0) && (pba->fin_count > 0)) { if (pba->seq_wrap_count > 0) { if (pba_last > pba->syn) { stream_length_pba = pba_last + (MAX_32 * pba->seq_wrap_count) - pba->syn - 1; } else { stream_length_pba = pba_last + (MAX_32 * (pba->seq_wrap_count+1)) - pba->syn - 1; } } else { if (pba_last > pba->syn) { stream_length_pba = pba_last - pba->syn - 1; } else { stream_length_pba = MAX_32 + pba_last - pba->syn - 1; } } } /* Alright, now that we have the stream length in either direction, * if the stream length is not equal to the total unique bytes we * seen, we must have missed whole segments */ if ( (stream_length_pab != pab->unique_bytes) || (stream_length_pba != pba->unique_bytes) ) return TRUE; return FALSE; } tcptrace-6.6.7/udp.c0100644001217500001440000002652107756700116014022 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED copyright[] = "@(#)Copyright (c) 2004 -- Ohio University.\n"; static char const GCC_UNUSED rcsid[] = "@(#)$Header: /usr/local/cvs/tcptrace/udp.c,v 5.9 2003/11/19 14:38:06 sdo Exp $"; #include "gcache.h" /* locally global variables */ static int packet_count = 0; static int search_count = 0; static Bool *ignore_pairs = NULL;/* which ones will we ignore */ static Bool more_conns_ignored = FALSE; /* provided globals */ int num_udp_pairs = -1; /* how many pairs we've allocated */ udp_pair **utp = NULL; /* array of pointers to allocated pairs */ int max_udp_pairs = 64; /* initial value, automatically increases */ u_long udp_trace_count = 0; /* local routine definitions */ static udp_pair *NewUTP(struct ip *, struct udphdr *); static udp_pair *FindUTP(struct ip *, struct udphdr *, int *); static void MoreUdpPairs(int num_needed); static udp_pair * NewUTP( struct ip *pip, struct udphdr *pudp) { udp_pair *pup; if (0) { printf("trace.c:NewUTP() calling MakeUdpPair()\n"); } pup = MakeUdpPair(); ++num_udp_pairs; /* make a new one, if possible */ if ((num_udp_pairs+1) >= max_udp_pairs) { MoreUdpPairs(num_udp_pairs+1); } /* create a new UDP pair record and remember where you put it */ utp[num_udp_pairs] = pup; pup->ignore_pair=ignore_pairs[num_udp_pairs]; /* grab the address from this packet */ CopyAddr(&pup->addr_pair, pip, ntohs(pudp->uh_sport), ntohs(pudp->uh_dport)); /* data structure setup */ pup->a2b.pup = pup; pup->b2a.pup = pup; pup->a2b.ptwin = &pup->b2a; pup->b2a.ptwin = &pup->a2b; /* fill in connection name fields */ pup->a2b.host_letter = strdup(NextHostLetter()); pup->b2a.host_letter = strdup(NextHostLetter()); pup->a_hostname = strdup(HostName(pup->addr_pair.a_address)); pup->a_portname = strdup(ServiceName(pup->addr_pair.a_port)); pup->a_endpoint = strdup(EndpointName(pup->addr_pair.a_address, pup->addr_pair.a_port)); pup->b_hostname = strdup(HostName(pup->addr_pair.b_address)); pup->b_portname = strdup(ServiceName(pup->addr_pair.b_port)); pup->b_endpoint = strdup(EndpointName(pup->addr_pair.b_address, pup->addr_pair.b_port)); pup->filename = cur_filename; return(pup); } /* connection records are stored in a hash table. Buckets are linked */ /* lists sorted by most recent access. */ #define HASH_TABLE_SIZE 1021 /* oughta be prime */ static udp_pair * FindUTP( struct ip *pip, struct udphdr *pudp, int *pdir) { static udp_pair *pup_hashtable[HASH_TABLE_SIZE] = {NULL}; udp_pair **ppup_head = NULL; udp_pair *pup; udp_pair *pup_last; udp_pair tp_in; int dir; hash hval; /* grab the address from this packet */ CopyAddr(&tp_in.addr_pair, pip, ntohs(pudp->uh_sport), ntohs(pudp->uh_dport)); /* grab the hash value (already computed by CopyAddr) */ hval = tp_in.addr_pair.hash % HASH_TABLE_SIZE; pup_last = NULL; ppup_head = &pup_hashtable[hval]; for (pup = *ppup_head; pup; pup=pup->next) { ++search_count; if (SameConn(&tp_in.addr_pair,&pup->addr_pair,&dir)) { /* move to head of access list (unless already there) */ if (pup != *ppup_head) { pup_last->next = pup->next; /* unlink */ pup->next = *ppup_head; /* move to head */ *ppup_head = pup; } *pdir = dir; return(pup); } pup_last = pup; } /* Didn't find it, make a new one, if possible */ pup = NewUTP(pip,pudp); /* put at the head of the access list */ if (pup) { pup->next = *ppup_head; *ppup_head = pup; } *pdir = A2B; return(pup); } void IgnoreUDPConn( int ix) { if (debug) fprintf(stderr,"ignoring conn %d\n", ix); --ix; MoreUdpPairs(ix); more_conns_ignored=FALSE; ignore_pairs[ix]=TRUE; } void OnlyUDPConn( int ix_only) { int ix; static Bool cleared = FALSE; if (debug) fprintf(stderr,"only printing conn %d\n", ix_only); --ix_only; MoreUdpPairs(ix_only); if (!cleared) { for (ix = 0; ix < max_udp_pairs; ++ix) { ignore_pairs[ix] = TRUE; } cleared = TRUE; } more_conns_ignored = TRUE; ignore_pairs[ix_only] = FALSE; } udp_pair * udpdotrace( struct ip *pip, struct udphdr *pudp, void *plast) { udp_pair *pup_save; ucb *thisdir; ucb *otherdir; udp_pair tp_in; int dir; u_short uh_sport; /* source port */ u_short uh_dport; /* destination port */ u_short uh_ulen; /* data length */ /* make sure we have enough of the packet */ if ((char *)pudp + sizeof(struct udphdr)-1 > (char *)plast) { if (warn_printtrunc) fprintf(stderr, "UDP packet %lu truncated too short to trace, ignored\n", pnum); ++ctrunc; return(NULL); } /* convert interesting fields to local byte order */ uh_sport = ntohs(pudp->uh_sport); uh_dport = ntohs(pudp->uh_dport); uh_ulen = ntohs(pudp->uh_ulen); /* make sure this is one of the connections we want */ pup_save = FindUTP(pip,pudp,&dir); ++packet_count; if (pup_save == NULL) { return(NULL); } ++udp_trace_count; /* do time stats */ if (ZERO_TIME(&pup_save->first_time)) { pup_save->first_time = current_time; } pup_save->last_time = current_time; // Lets not waste any more CPU cycles if we are ignoring this connection. if (pup_save->ignore_pair) return (pup_save); /* save to a file if requested */ if (output_filename) { PcapSavePacket(output_filename,pip,plast); } /* now, print it if requested */ if (printem && !printallofem) { printf("Packet %lu\n", pnum); printpacket(0, /* original length not available */ (char *)plast - (char *)pip + 1, NULL,0, /* physical stuff not known here */ pip,plast,NULL); } /* grab the address from this packet */ CopyAddr(&tp_in.addr_pair, pip, uh_sport, uh_dport); /* figure out which direction this packet is going */ if (dir == A2B) { thisdir = &pup_save->a2b; otherdir = &pup_save->b2a; } else { thisdir = &pup_save->b2a; otherdir = &pup_save->a2b; } /* do data stats */ thisdir->packets += 1; thisdir->data_bytes += uh_ulen; /* total packets stats */ ++pup_save->packets; return(pup_save); } void udptrace_done(void) { udp_pair *pup; int ix; double etime; if(do_udp) { // Just a quick sanity check to make sure if we need to do // anything at all.. if(!run_continuously) { if (!printsuppress) { if (udp_trace_count == 0) { fprintf(stdout,"no traced UDP packets\n"); return; } else { if ((tcp_trace_count > 0) && (!printbrief)) printf("\n============================================================\n"); fprintf(stdout,"UDP connection info:\n"); } } if (!printbrief) fprintf(stdout,"%d UDP %s traced:\n", num_udp_pairs + 1, num_udp_pairs==0?"connection":"connections"); } /* elapsed time */ etime = elapsed(first_packet,last_packet); if (ctrunc > 0) { fprintf(stdout, "*** %lu packets were too short to process at some point\n", ctrunc); if (!warn_printtrunc) fprintf(stdout,"\t(use -w option to show details)\n"); } if (debug>1) fprintf(stdout,"average search length: %d\n", search_count / packet_count); /* print each connection */ if(!run_continuously) { if (!printsuppress) { for (ix = 0; ix <= num_udp_pairs; ++ix) { pup = utp[ix]; if (!pup->ignore_pair) { if (printbrief) { fprintf(stdout,"%3d: ", ix+1); UDPPrintBrief(pup); } else { if (ix > 0) fprintf(stdout, "================================\n"); fprintf(stdout,"UDP connection %d:\n", ix+1); UDPPrintTrace(pup); } } } } } } } static void MoreUdpPairs( int num_needed) { int new_max_udp_pairs; int i; if (num_needed < max_udp_pairs) return; new_max_udp_pairs = max_udp_pairs * 4; while (new_max_udp_pairs < num_needed) new_max_udp_pairs *= 4; if (debug) printf("trace: making more space for %d total UDP pairs\n", new_max_udp_pairs); /* enlarge array to hold any pairs that we might create */ utp = ReallocZ(utp, max_udp_pairs * sizeof(udp_pair *), new_max_udp_pairs * sizeof(udp_pair *)); /* enlarge array to keep track of which ones to ignore */ ignore_pairs = ReallocZ(ignore_pairs, max_udp_pairs * sizeof(Bool), new_max_udp_pairs * sizeof(Bool)); if (more_conns_ignored) for (i=max_udp_pairs; i < new_max_udp_pairs;++i) ignore_pairs[i] = TRUE; max_udp_pairs = new_max_udp_pairs; } void udptrace_init(void) { static Bool initted = FALSE; if (initted) return; initted = TRUE; /* create an array to hold any pairs that we might create */ utp = (udp_pair **) MallocZ(max_udp_pairs * sizeof(udp_pair *)); /* create an array to keep track of which ones to ignore */ ignore_pairs = (Bool *) MallocZ(max_udp_pairs * sizeof(Bool)); } tcptrace-6.6.7/version.c0100644001217500001440000000512707756700116014716 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED rcsid_version[] = "@(#)$Header: /usr/local/cvs/tcptrace/version.c,v 5.4 2003/11/19 14:38:06 sdo Exp $"; /* build information */ /* constants filled in when version.c is compiled */ char *built_bywhom = BUILT_USER; char *built_when = BUILT_DATE; char *built_where = BUILT_HOST; tcptrace-6.6.7/version.h0100644001217500001440000000560710142521341014706 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ static char const GCC_UNUSED rcsid_version[] = "@(#)$Header: /usr/local/cvs/tcptrace/version.h,v 5.73 2004/11/04 21:45:05 sdo Exp $"; /* source code version information */ #define VERSION_MAJOR "6" #define VERSION_MINOR "6" #define VERSION_BUGFIX "7" #define VERSION_DATE "Thu Nov 4, 2004" #define VERSION_NUM VERSION_MAJOR "." VERSION_MINOR "." VERSION_BUGFIX /* the string to print */ #define VERSION "Ostermann's tcptrace -- version " VERSION_NUM " -- " VERSION_DATE /* build information */ /* constants filled in when version.c is compiled */ extern char *built_bywhom; extern char *built_when; extern char *built_where; tcptrace-6.6.7/versnum.c0100644001217500001440000000504207756700116014724 0ustar mramadasusers/* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004 * Ohio University. * * --- * * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * ostermann@cs.ohiou.edu * http://www.tcptrace.org/ */ #include "tcptrace.h" static char const GCC_UNUSED rcsid_versnum[] = "@(#)$Header: /usr/local/cvs/tcptrace/versnum.c,v 5.5 2003/11/19 14:38:06 sdo Exp $"; #include #include #include "version.h" int main() { printf("%s\n", VERSION_NUM); exit(0); } tcptrace-6.6.7/xpl2gpl0100755001217500001440000012373407335016316014403 0ustar mramadasusers#!/bin/sh # # xpl2gpl is a utility that converters tcptrace-style xplot input to gnuplot input. # # Avinash Lakhiani , Ohio Universtiy. # # July 15, 2001 # Argument checking if [ $# -eq 1 ] then # Extracting file-basename from the xplot filename BASENAME=`basename $1 .xpl` rm -f ${BASENAME}.dataset.*.* ${BASENAME}.gpl ${BASENAME}.ps ${BASENAME}.files ${BASENAME}.datasets ${BASENAME}.labels # AWK starts here gawk -v BASENAME=$BASENAME ' # This function returns the filename in which data is to be stored based on color # and style. # It also stores the syle of the plot in an array for classification when all # datasets are merged at the end of the script. function data_set_name(color, style) { entered = 1; array_index = color "." style; ++dataset_type[array_index]; file_style[array_index] = style; return(BASENAME ".dataset." color "." style); } # This function returns the dataset filename. Used when the ".gpl" file is being # created. function file_name(dataset) { return(BASENAME ".dataset." dataset); } # This function sets the x & y -axis formats function format_to(datatype) { if (datatype == "unsigned") return("%.0f"); if (datatype == "signed") return("%.0f"); if (datatype == "double") return("%.0f"); if (datatype == "timeval") return("%.0f"); if (datatype == "dtime") return("%.0f"); printf("Unknown datatype: \"%s\"\n", datatype) > "/dev/tty"; exit; } # Initializations BEGIN { TITLE=FILENAME; XLABEL="x"; YLABEL="y"; # Indicates the current color and style for the plot current_dataset_color = "null"; current_dataset_style = "null"; # Stores previous state information prev_dataset_color = "null"; prev_dataset_style = "null"; # All files used during conversion remove_files = BASENAME ".dataset.*.*"; # Stores the list of files to be deleted after conversion is complete gpl_file = BASENAME ".gpl"; # The final generated gnuplot file labels_file = BASENAME ".labels" # Stores all the labels in the plot printf("") >> labels_file; current_dataset_file = "/nofile"; # Stores the filename for the current dataset dataset_final_file = BASENAME ".datasets"; # The final file containing all the data that is to be plotted dataset_file = BASENAME ".files"; # Contains the list of dataset files that are to be concatenated to generated the final dataset file printf("#!/bin/sh\ncat ") >> dataset_file; # These two lines create the script file for final concatenation system("chmod u+x " dataset_file); # Inital Values initial_x=-1.; initial_y=-1.; dataset_index=-1.; entered = 0; min_xpoint = 9999999999.0; max_xpoint = 0.0; min_ypoint = 9999999999.0; max_ypoint = 0.0; label_index = 0; #No. of sec. from Jan 01, 1970 to Jan 01, 2000 secs_2000=946684800.0; # get the axis types getline; xaxis_type=$1; yaxis_type=$2; xaxis_format=format_to(xaxis_type); yaxis_format=format_to(yaxis_type); } # Parsing begins here # Valid plotting styles in xplot:- # title, xlabel, ylabel, COLOR(as below), ltext, dot, line , diamond, box, uarrow, # darrow, larrow, rarrow, utick, dtick, ltick, rtick, vtick, htick, dline, atext, # go. # What the action statements below do:- # For all the patterns, the corresponding actions behave more or less the same. # Depending on the current color and style, the function data_set_name returns the # corresponding filename. The x & y co-ordinates are then written to this file. /^title$/ { getline; TITLE=$0; next; } /^xlabel$/ { getline; XLABEL=$0; next; } /^ylabel$/ { getline; YLABEL=$0; next; } /^((white)|(green)|(red)|(blue)|(yellow)|(purple)|(orange)|(magenta)|(pink))$/ { current_dataset_color = $1; next; } /^dot .*$/ { current_dataset_style = $1; if(NF == 4) current_dataset_color = $4; xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^line .*$/ { current_dataset_style = $1; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; x1point=$4; y1point=$5; if(min_xpoint > x1point) min_xpoint = x1point; if(max_xpoint < x1point) max_xpoint = x1point; if(min_ypoint > y1point) min_ypoint = y1point; if(max_ypoint < y1point) max_ypoint = y1point; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; printf("%f %f\n", x1point, y1point) >> current_dataset_file; printf("\n") >> current_dataset_file; next; } /^diamond .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^box .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^((uarrow)|(darrow))/ { if(NR == 4) prev_dataset_color = $4; else prev_dataset_color = current_dataset_color; prev_dataset_style = $1; xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; getline; if(NR == 4) current_dataset_color = $4; x1point=$2; y1point=$3; if(min_xpoint > x1point) min_xpoint = x1point; if(max_xpoint < x1point) max_xpoint = x1point; if(min_ypoint > y1point) min_ypoint = y1point; if(max_ypoint < y1point) max_ypoint = y1point; if(NR == 5) { x2point=$4; y2point=$5; if(min_xpoint > x2point) min_xpoint = x2point; if(max_xpoint < x2point) max_xpoint = x2point; if(min_ypoint > y2point) min_ypoint = y2point; if(max_ypoint < y2point) max_ypoint = y2point; } current_dataset_style = $1; if(((prev_dataset_style == "uarrow" && current_dataset_style == "darrow") || (prev_dataset_style == "darrow" && current_dataset_style == "uarrow")) && (xpoint == x1point && ypoint == y1point) && (current_dataset_color == prev_dataset_color)) { current_dataset_style = "cross"; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } else { current_dataset_file = data_set_name(prev_dataset_color, prev_dataset_style); printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); printf("%f %f\n", x1point, y1point) >> current_dataset_file; if(current_dataset_style == "line" || current_dataset_style == "dline") { printf("%f %f\n", x1point, y1point) >> current_dataset_file; printf("\n") >> current_dataset_file; } next; } } /^dtick .*$/ { current_dataset_style = $1; if(NF == 4) current_dataset_color = $4; xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^utick .*$/ { current_dataset_style = $1; if(NF == 4) current_dataset_color = $4; xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^x .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^plus .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^(ltick)|(rtick)|(htick)|(vtick) .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^(larrow)|(rarrow) .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^dline .*$/ { current_dataset_style = $1; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; x1point=$4; y1point=$5; if(min_xpoint > x1point) min_xpoint = x1point; if(max_xpoint < x1point) max_xpoint = x1point; if(min_ypoint > y1point) min_ypoint = y1point; if(max_ypoint < y1point) max_ypoint = y1point; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; printf("%f %f\n", x1point, y1point) >> current_dataset_file; printf("\n") >> current_dataset_file; next; } /^atext .*$/ { xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; x_pt[label_index] = xpoint; y_pt[label_index] = ypoint; label_dir[label_index] = +1; getline; label[label_index++] = $0; next; } /^btext .*$/ { xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; x_pt[label_index] = xpoint; y_pt[label_index] = ypoint; label_dir[label_index] = -1; getline; label[label_index++] = $0; next; } /^ltext.*$/ { xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; if(NR == 4) current_dataset_color = $4; getline; if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("set label \"%s\" at (%f-%f), %f right\n", $0, xpoint, secs_2000, ypoint) >> labels_file; else printf("set label \"%s\" at %f, %f right\n", $0, xpoint, ypoint) >> labels_file; next; } /^rtext.*$/ { xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; if(NR == 4) current_dataset_color = $4; getline; if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("set label \"%s\" at (%f-%f), %f left\n", $0, xpoint, secs_2000, ypoint) >> labels_file; else printf("set label \"%s\" at %f, %f left\n", $0, xpoint, ypoint) >> labels_file; next; } /^go$/ {next} { printf("Bad line %d: \"%s\"\n", NR, $0); next; } # Creating the gnuplot file and deleting all the dataset files after concatenating all contents into one file END { printf("set title \"%s\"\n", TITLE) >> gpl_file; printf("set xlabel \"%s\"\n", XLABEL) >> gpl_file; printf("set ylabel \"%s\"\n", YLABEL) >> gpl_file; printf("set format x \"%s\"\n", xaxis_format) >> gpl_file; printf("set format y \"%s\"\n", yaxis_format) >> gpl_file; if(xaxis_type == "timeval" || xaxis_type == "dtime") { printf("set xdata time\n") >> gpl_file; } printf("set nokey\n") >> gpl_file; printf("load \"%s\";\n", labels_file) >> gpl_file; first = 1; if(entered) { for (dataset in dataset_type) { FILE=file_name(dataset); if (first) printf("plot ") >> gpl_file; else printf(", ") >> gpl_file; first = 0; printf("\"%s\" ", dataset_final_file) >> gpl_file; if(file_style[dataset] == "dot") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with dots", ++dataset_index) >> gpl_file; else printf("index %d with dots", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "line") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with lines", ++dataset_index) >> gpl_file; else printf("index %d with lines", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "diamond") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 1", ++dataset_index) >> gpl_file; else printf("index %d with points pt 1", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "box") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 3", ++dataset_index) >> gpl_file; else printf("index %d with points pt 3", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "cross") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 4", ++dataset_index) >> gpl_file; else printf("index %d with points pt 4", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "uarrow") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 1", ++dataset_index) >> gpl_file; else printf("index %d with points pt 1", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "darrow") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 1", ++dataset_index) >> gpl_file; else printf("index %d with points pt 1", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "dtick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 2", ++dataset_index) >> gpl_file; else printf("index %d with points pt 2", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "utick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 2", ++dataset_index) >> gpl_file; else printf("index %d with points pt 2", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "x") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 4", ++dataset_index) >> gpl_file; else printf("index %d with points pt 4", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "plus") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 2", ++dataset_index) >> gpl_file; else printf("index %d with points pt 2", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "ltick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 2", ++dataset_index) >> gpl_file; else printf("index %d with points pt 2", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "rtick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 2", ++dataset_index) >> gpl_file; else printf("index %d with points pt 2", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "htick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 2", ++dataset_index) >> gpl_file; else printf("index %d with points pt 2", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "vtick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 2", ++dataset_index) >> gpl_file; else printf("index %d with points pt 2", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "larrow") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 5", ++dataset_index) >> gpl_file; else printf("index %d with points pt 5", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "rarrow") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with points pt 5", ++dataset_index) >> gpl_file; else printf("index %d with points pt 5", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } if(file_style[dataset] == "dline") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("index %d using ($1-946684800.0):2 with linespoints pt 4", ++dataset_index) >> gpl_file; else printf("index %d with linespoints pt 4", ++dataset_index) >> gpl_file; printf("\n\n") >> FILE; close( FILE ); printf("%s ", FILE) >> dataset_file; } } for(l=0; l < label_index; l++) { xpoint = x_pt[l]; ypoint = y_pt[l]; if(max_ypoint > 0 && label_dir[l] == -1) ypoint = ypoint - (50000000 * ((max_ypoint - min_ypoint)/max_ypoint)); if(max_ypoint > 0 && label_dir[l] == +1) ypoint = ypoint + (50000000 * ((max_ypoint - min_ypoint)/max_ypoint)); curr_label = label[l]; if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("set label \"%s\" at (%f-%f), %f center\n", curr_label, xpoint, secs_2000, ypoint) >> labels_file; else printf("set label \"%s\" at %f, %f center\n", $1, xpoint, ypoint) >> labels_file; } } printf(";\n") >> gpl_file; printf("set term postscript\n") >> gpl_file; printf("set output \"%s.ps\"\n", BASENAME) >> gpl_file; printf("replot\n") >> gpl_file; printf("pause -1;\n") >> gpl_file; close( gpl_file ); close( labels_file ); printf("> %s", dataset_final_file) >> dataset_file; close( dataset_file ); # Concatenting all the datasets and deleting the individual files if(entered) system("./" dataset_file); system("rm -f " remove_files); system("rm -f " dataset_file); } ' $1 # end of AWK elif [ "$1" = "-s" ] #'-s' option part then # Extracting file-basename from the xplot filename BASENAME=`basename $2 .xpl` rm -f ${BASENAME}.dataset.*.* ${BASENAME}.gpl ${BASENAME}.ps ${BASENAME}.files ${BASENAME}.datasets ${BASENAME}.labels gawk -v BASENAME=$BASENAME ' # This function returns the filename in which data is to be stored based on color and style # It also stores the syle of the plot in an array for classification when all datasets are merged at the end of the script function data_set_name(color, style) { entered = 1; array_index = color "." style; ++dataset_type[array_index]; file_style[array_index] = style; return(BASENAME ".dataset." color "." style); } # This function returns the dataset filename # Used when the ".gpl" file is being created function file_name(dataset) { return(BASENAME ".dataset." dataset); } # This function sets the x & y -axis formats function format_to(datatype) { if (datatype == "unsigned") return("%.0f"); if (datatype == "signed") return("%.0f"); if (datatype == "double") return("%.0f"); if (datatype == "timeval") return("%.0f"); if (datatype == "dtime") return("%.0f"); printf("Unknown datatype: \"%s\"\n", datatype) > "/dev/tty"; exit; } # This function sets the x & y -axis formats BEGIN { TITLE=FILENAME; XLABEL="x"; YLABEL="y"; # Indicates the current color and style for the plot current_dataset_color = "null"; current_dataset_style = "null"; # Stores previous state information prev_dataset_color = "null"; prev_dataset_style = "null"; remove_files = BASENAME ".dataset.*.*"; # Stores the list of files to be deleted after conversion is complete gpl_file = BASENAME ".gpl"; # The final generated gnuplot file labels_file = BASENAME ".labels" # Stores all the labels in the plot printf("") >> labels_file; current_dataset_file = "/nofile"; # Stores the filename for the current dataset # Inital Values labels_present = 0; initial_x=-1.; initial_y=-1.; dataset_index=-1.; entered = 0; min_xpoint = 9999999999.0; max_xpoint = 0.0; min_ypoint = 9999999999.0; max_ypoint = 0.0; label_index = 0; #No. of sec. from Jan 01, 1970 to Jan 01, 2000 secs_2000=946684800.0; # get the axis types getline; xaxis_type=$1; yaxis_type=$2; xaxis_format=format_to(xaxis_type); yaxis_format=format_to(yaxis_type); } # Parsing begins here # Valid plotting styles in xplot:- # title, xlabel, ylabel, COLOR(as below), ltext, dot, line , diamond, box, uarrow, # darrow, larrow, rarrow, utick, dtick, ltick, rtick, vtick, htick, dline, atext, # go. # What the action statements below do:- # For all the patterns, the corresponding actions behave more or less the same. # Depending on the current color and style, the function data_set_name returns the # corresponding filename. The x & y co-ordinates are then written to this file. /^title$/ { getline; TITLE=$0; next; } /^xlabel$/ { getline; XLABEL=$0; next; } /^ylabel$/ { getline; YLABEL=$0; next; } /^((white)|(green)|(red)|(blue)|(yellow)|(purple)|(orange)|(magenta)|(pink))$/ { current_dataset_color = $1; next; } /^dot .*$/ { current_dataset_style = $1; if(NF == 4) current_dataset_color = $4; xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^line .*$/ { current_dataset_style = $1; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; x1point=$4; y1point=$5; if(min_xpoint > x1point) min_xpoint = x1point; if(max_xpoint < x1point) max_xpoint = x1point; if(min_ypoint > y1point) min_ypoint = y1point; if(max_ypoint < y1point) max_ypoint = y1point; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; printf("%f %f\n", x1point, y1point) >> current_dataset_file; printf("\n") >> current_dataset_file; next; } /^diamond .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^box .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^((uarrow)|(darrow))/ { if(NR == 4) prev_dataset_color = $4; else prev_dataset_color = current_dataset_color; prev_dataset_style = $1; xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; getline; if(NR == 4) current_dataset_color = $4; x1point=$2; y1point=$3; if(min_xpoint > x1point) min_xpoint = x1point; if(max_xpoint < x1point) max_xpoint = x1point; if(min_ypoint > y1point) min_ypoint = y1point; if(max_ypoint < y1point) max_ypoint = y1point; if(NR == 5) { x2point=$4; y2point=$5; if(min_xpoint > x2point) min_xpoint = x2point; if(max_xpoint < x2point) max_xpoint = x2point; if(min_ypoint > y2point) min_ypoint = y2point; if(max_ypoint < y2point) max_ypoint = y2point; } current_dataset_style = $1; if(((prev_dataset_style == "uarrow" && current_dataset_style == "darrow") || (prev_dataset_style == "darrow" && current_dataset_style == "uarrow")) && (xpoint == x1point && ypoint == y1point) && (current_dataset_color == prev_dataset_color)) { current_dataset_style = "cross"; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } else { current_dataset_file = data_set_name(prev_dataset_color, prev_dataset_style); printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); printf("%f %f\n", x1point, y1point) >> current_dataset_file; if(current_dataset_style == "line" || current_dataset_style == "dline") { printf("%f %f\n", x1point, y1point) >> current_dataset_file; printf("\n") >> current_dataset_file; } next; } } /^dtick .*$/ { current_dataset_style = $1; if(NF == 4) current_dataset_color = $4; xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^utick .*$/ { current_dataset_style = $1; if(NF == 4) current_dataset_color = $4; xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^x .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^plus .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^(ltick)|(rtick)|(htick)|(vtick) .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^(larrow)|(rarrow) .*$/ { current_dataset_style = $1; if(NR == 4) current_dataset_color = $4; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; next; } /^dline .*$/ { current_dataset_style = $1; current_dataset_file = data_set_name(current_dataset_color, current_dataset_style); xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; x1point=$4; y1point=$5; if(min_xpoint > x1point) min_xpoint = x1point; if(max_xpoint < x1point) max_xpoint = x1point; if(min_ypoint > y1point) min_ypoint = y1point; if(max_ypoint < y1point) max_ypoint = y1point; printf("%f %f\n", xpoint, ypoint) >> current_dataset_file; printf("%f %f\n", x1point, y1point) >> current_dataset_file; printf("\n") >> current_dataset_file; next; } /^atext .*$/ { xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; x_pt[label_index] = xpoint; y_pt[label_index] = ypoint; label_dir[label_index] = +1; getline; label[label_index++] = $0; next; } /^btext .*$/ { xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; x_pt[label_index] = xpoint; y_pt[label_index] = ypoint; label_dir[label_index] = -1; getline; label[label_index++] = $0; next; } /^ltext.*$/ { xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; if(NR == 4) current_dataset_color = $4; getline; if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("set label \"%s\" at (%f-%f), %f right\n", $0, xpoint, secs_2000, ypoint) >> labels_file; else printf("set label \"%s\" at %f, %f right\n", $0, xpoint, ypoint) >> labels_file; next; } /^rtext.*$/ { xpoint=$2; ypoint=$3; if(min_xpoint > xpoint) min_xpoint = xpoint; if(max_xpoint < xpoint) max_xpoint = xpoint; if(min_ypoint > ypoint) min_ypoint = ypoint; if(max_ypoint < ypoint) max_ypoint = ypoint; if(NR == 4) current_dataset_color = $4; getline; if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("set label \"%s\" at (%f-%f), %f left\n", $0, xpoint, secs_2000, ypoint) >> labels_file; else printf("set label \"%s\" at %f, %f left\n", $0, xpoint, ypoint) >> labels_file; next; } /^go$/ {next} {printf("Bad line %d: \"%s\"\n", NR, $0); next;} # Creating the gnuplot file and deleting all the dataset files after concatenating all contents into one file END { printf("set title \"%s\"\n", TITLE) >> gpl_file; printf("set xlabel \"%s\"\n", XLABEL) >> gpl_file; printf("set ylabel \"%s\"\n", YLABEL) >> gpl_file; printf("set format x \"%s\"\n", xaxis_format) >> gpl_file; printf("set format y \"%s\"\n", yaxis_format) >> gpl_file; if(xaxis_type == "timeval" || xaxis_type == "dtime") { printf("set xdata time\n") >> gpl_file; } printf("set nokey\n") >> gpl_file; printf("load \"%s\";\n", labels_file) >> gpl_file; first = 1; if(entered) { for (dataset in dataset_type) { FILE=file_name(dataset); if (first) printf("plot ") >> gpl_file; else printf(", ") >> gpl_file; first = 0; printf("\"%s\" ", FILE) >> gpl_file; if(file_style[dataset] == "dot") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with dots") >> gpl_file; else printf("with dots") >> gpl_file; close( FILE ); } if(file_style[dataset] == "line") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with lines") >> gpl_file; else printf("with lines") >> gpl_file; close( FILE ); } if(file_style[dataset] == "diamond") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 1") >> gpl_file; else printf("with points pt 1") >> gpl_file; close( FILE ); } if(file_style[dataset] == "box") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 3") >> gpl_file; else printf("with points pt 3") >> gpl_file; close( FILE ); } if(file_style[dataset] == "cross") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 4") >> gpl_file; else printf("with points pt 4") >> gpl_file; close( FILE ); } if(file_style[dataset] == "uarrow") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 1") >> gpl_file; else printf("with points pt 1") >> gpl_file; close( FILE ); } if(file_style[dataset] == "darrow") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 1") >> gpl_file; else printf("with points pt 1") >> gpl_file; close( FILE ); } if(file_style[dataset] == "dtick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 2") >> gpl_file; else printf("with points pt 2") >> gpl_file; close( FILE ); } if(file_style[dataset] == "utick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 2") >> gpl_file; else printf("with points pt 2") >> gpl_file; close( FILE ); } if(file_style[dataset] == "x") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 4") >> gpl_file; else printf("with points pt 4") >> gpl_file; close( FILE ); } if(file_style[dataset] == "plus") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 2") >> gpl_file; else printf("with points pt 2") >> gpl_file; close( FILE ); } if(file_style[dataset] == "ltick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 2") >> gpl_file; else printf("with points pt 2") >> gpl_file; close( FILE ); } if(file_style[dataset] == "rtick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 2") >> gpl_file; else printf("with points pt 2") >> gpl_file; close( FILE ); } if(file_style[dataset] == "htick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 2") >> gpl_file; else printf("with points pt 2") >> gpl_file; close( FILE ); } if(file_style[dataset] == "vtick") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 2") >> gpl_file; else printf("with points pt 2") >> gpl_file; close( FILE ); } if(file_style[dataset] == "larrow") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 5") >> gpl_file; else printf("with points pt 5") >> gpl_file; close( FILE ); } if(file_style[dataset] == "rarrow") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with points pt 5") >> gpl_file; else printf("with points pt 5") >> gpl_file; close( FILE ); } if(file_style[dataset] == "dline") { if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("using ($1-946684800.0):2 with linespoints pt 4") >> gpl_file; else printf("with linespoints pt 4") >> gpl_file; close( FILE ); } } for(l=0; l < label_index; l++) { xpoint = x_pt[l]; ypoint = y_pt[l]; if(max_ypoint > 0 && label_dir[l] == -1) ypoint = ypoint - (50000000 * ((max_ypoint - min_ypoint)/max_ypoint)); if(max_ypoint > 0 && label_dir[l] == +1) ypoint = ypoint + (50000000 * ((max_ypoint - min_ypoint)/max_ypoint)); curr_label = label[l]; if(xaxis_type == "timeval" || xaxis_type == "dtime") printf("set label \"%s\" at (%f-%f), %f center\n", curr_label, xpoint, secs_2000, ypoint) >> labels_file; else printf("set label \"%s\" at %f, %f center\n", $1, xpoint, ypoint) >> labels_file; } } printf(";\n") >> gpl_file; printf("set term postscript\n") >> gpl_file; printf("set output \"%s.ps\"\n", BASENAME) >> gpl_file; printf("replot\n") >> gpl_file; if(labels_present) printf("load \"%s\";\n", labels_file) >> gpl_file; printf("pause -1;\n") >> gpl_file; close( gpl_file ); } ' $2 # end of AWK else echo "Usage: xpl2gpl [-s] " 1>&2; exit 1; fi tcptrace-6.6.7/cygwin-libs/0040755001217500001440000000000010142531754015303 5ustar mramadasuserstcptrace-6.6.7/cygwin-libs/win9x/0040755001217500001440000000000010142531754016361 5ustar mramadasuserstcptrace-6.6.7/cygwin-libs/win9x/Packet.dll0100755001217500001440000010026407511147360020272 0ustar mramadasusersMZ@ !L!This program cannot be run in DOS mode. $PEL'$=P, 8L0+ P `lp.text `.data@0@.bss @.edata P.idatal`"@.relocp(.stab*B.stabstr2BUh@h@u1҅uÉUh@h@uÍvUVSu u8h@u 1K@uVuÃu u"u=@u1 ؍e[^ US@t:@9rvtЃ@9sP@j]ÐU0]PACKETUE tuhL] UWVS} EEG GG GP u G$1`WURG EPWRGPRPEPUPu$}t=ujEPURUPvÈ_$Íe[^_]NPF.VXD\\.\%sOpenVxDHandleKERNEL32U,WVSjPjB4P>ƃh<hD^SjhDjjjhSu6ÃVP VP  vÃ}HPEPSR>IjhSVGtC8uj SEP jEPjjjEPh/Pu3ÃV(P2VP0 jjjj;FHhKhY3 P:ƒFHP҉EjEPjjjEPhPLu1PÃVPVP VWjV`ÃS|1e[^_]UUjEPjjjE PhP]ÍvUE@H]ÍvUUE BD]ÍvUUjEPjjjE PhPb]ÍvUUjEPjjjE Phx%P2]ÍvU]UMU jEPjjPBPhF#P]UMU jEPjRjjhG#P]ÍvUS]PsCHPjSPSP]]ÍvUSj(jBPÃtWjjjjCtCCC C$(StP~SbP|1]]ÍvUS]CPS4P>S(PB]]ÍvUEU MPH]ÉU WVSuE1;^D}(vWhE PVu1 C;^D|޸e[^_]ÍvUMU EPhRQC]USU] jC PCPP-C$]]UEjURjjjjh P ]ÍvU@VSu]E EEEjjjjAEu 1vEPt uEPA1iEPEPC PSPS}tPPA Äu F =ujEPEPP= Ã}uEP Íe[^]ÍvU$SjjB P ÃtSCE CSjEPES P (S P E1]؉]ÍvUWVSu} jjB P ÃCSjVZEt`CCSjV2ECGSD PN (S/ PI Ev1e[^_]U VSujjB P Ãt[CSjVSjVE S P S P E1e[^]ÐU]U]SYSTEMCurrentControlSetServicesclassnetNDISLOGDRIVERNAMEUnknownULWVShjB P ẼEPhjhthX EPhjh{EP? EPhjhEP& EPhjhEP EPhjhEP uE EUUȍ}_vWhjEPEP WhjhEP ]ԃEPVjjhEP EЃuE)j UREPEP} tU )=u>V/ǃu.CC>vF>uE @PjW(u%CC>tDF>u:ŨÈxt BC:uCW>t vF>uF>41e[^_]UVS] ujOEP=m' PhjOEPIEPb@ AAA‰yR%=t[%=ueiEP@ AAA‰x 3%=u %=t16!3[^]ÐUWVS]111ffECft?f.t9f,t3Eff wOETPf fMCft f.tf,úw" ǃuf}tf},tf}tf},tFh[^_]ÐSYSTEM\CurrentControlSet\Services\class\netEnum\Network\MSTCPDriverSYSTEM\CurrentControlSet\Services\classIPAddressIPMaskvU<WVSPhjh hx 1PhjVP:PhjhPDžPSjjhPPPSEP0tGhVWPNPPhjhLhzhSWP~PhjSP@DžPSjjh_PP&PPhjhhPhjSP DžPPPjhPt#PPv1DžE;}~vR] Ã.PCtOffC C$F.t .,uF.t;sU;|DžPPPjhP1DživR} Ǎ_.P4CtDfGF.t .,uF.t;sU;|PP9u@Uv1[^_]Ð%a%a%a%aU 08t 0С 0P 0xuÐUS&u1=&t&v@:uÅt &Kuh$]ÉUS=$0uM$0&u1=&t&@:uÅt &Kuh$]Ð% a%,a%0a%$a%4a%8a%(a%a%a%ha%la%ta%|a%a%da%a%a%a%a%`a%pa%xa%\a%La%Pa%Ha%DaPACKET.DLL2.3&'$=6Q(PPQ @0d0d(XT\hAQVQiQzQQQQQQQQ RR0RDRRReRvRRRRRRRRRS Packet.dllPacketAllocatePacketPacketCloseAdapterPacketFreePacketPacketGetAdapterNamesPacketGetNetInfoPacketGetNetInfoExPacketGetNetTypePacketGetReadEventPacketGetStatsPacketGetVersionPacketInitPacketPacketLibraryVersionPacketOpenAdapterPacketReceivePacketPacketRequestPacketResetAdapterPacketSendPacketPacketSetBpfPacketSetBuffPacketSetHwFilterPacketSetMinToCopyPacketSetModePacketSetNumWritesPacketSetReadTimeoutPacketWaitPacketStartPacketDriverStopPacketDriver|`c a`cDa`0d\a`Ddaa`daaaaaaabb$b4bDbXbhbxbbbbbbbb cc,c R a 0w `  gcc2_compiled.___gnu_compiled_c_next_atexit_first_atexit_DllMainCRTStartup@12___dll_exit_PacketGetVersion_DllMain@12_PacketDeviceIoControl_PacketOpenAdapter_PacketSetMode_PacketGetReadEvent_PacketSetReadTimeout_PacketSetBuff_PacketSetMinToCopy_PacketSetBpf_PacketGetStats_PacketCloseAdapter_PacketSendPacket_PacketReceivePacket_PacketWaitPacket_PacketResetAdapter_PacketRequest_PacketSetHwFilter_PacketGetNetType_PacketGetAdapterNames_PacketGetNetInfo_inet_addrU_PacketGetNetInfoEx_PacketSetNumWrites_PacketSetMaxLookaheadsize_PacketFreePacket_PacketInitPacket_PacketAllocatePacket_StopPacketDriver_StartPacketDriver_initialized___do_global_dtors___do_global_ctors_SetLastError@4__imp__CloseHandle@4__data_start_____DTOR_LIST___lpTheAdapter__imp__gethostname@8__imp__GetLastError@0__imp___ftime__imp__CreateFileA@28__libmsvcrt_a_iname_GlobalLock@4__size_of_stack_commit____size_of_stack_reserve____major_subsystem_version____imp__GetOverlappedResult@16_wsprintfA_GlobalUnlock@4_GetLastError@0__imp__GlobalHandle@4__head_libuser32_a_GetModuleHandleA@4__imp__GlobalFree@4__libadvapi32_a_iname__imp__wsprintfA__bss_start____imp__CreateEventA@16__size_of_heap_commit____imp__RegCloseKey@4__imp___errno__imp__GetProcAddress@8_GetProcAddress@8_CreateEventA@16_PacketLibraryVersion_RegEnumKeyA@16_GetOverlappedResult@16__imp__RegOpenKeyExA@20__imp__DeviceIoControl@32__minor_os_version____head_libmsvcrt_a_DeviceIoControl@32__image_base____imp__RegEnumKeyA@16__section_alignment___gethostbyname@4__data_end____CTOR_LIST____bss_end____head_libwsock32_a__imp__WSAGetLastError@0__imp__SetLastError@4___CTOR_LIST___CreateFileA@28__head_libadvapi32_a_GlobalAlloc@8_WSAStartup@8__imp____dllonexit__imp__GlobalUnlock@4__imp__strcmp__file_alignment____imp__malloc__major_os_version___CloseHandle@4__imp__gethostbyname@4__imp__GlobalLock@4__imp__GlobalAlloc@8_RegOpenKeyExA@20__imp__GetModuleHandleA@4___dllonexit__DTOR_LIST___WSAGetLastError@0__size_of_heap_reserve____subsystem___szWindowTitle__imp__fflush__imp__RegQueryValueExA@24_gethostname@8__imp__free__major_image_version___RegQueryValueExA@24__imp__ResetEvent@4__loader_flags____libuser32_a_iname__head_libkernel32_a__minor_subsystem_version____minor_image_version___GlobalFree@4_ResetEvent@4__imp__WSAStartup@8_RegCloseKey@4__libkernel32_a_iname__libwsock32_a_iname_GlobalHandle@4tcptrace-6.6.7/cygwin-libs/win9x/cygwin1.dll0100644001217500001440000334451007511147360020450 0ustar mramadasusersMZ@ !L!This program cannot be run in DOS mode. $PEL Jb#= " 8 zp a1 Max( X.text@  ``.datas t @/4Dp R @/17x T @/31\ X @/46h ` /61 j @/76 l /91 n @/103 p /115 r @/127( t /139x v @/153 x /1670 z @/180@ ~ /193P  /207`  /2204p  @/235@  /250D  @/262`  /274  @/289  /304   @/316  .rdata  @.bss`x.edataMab .idatax @.rsrc($ @.relocX * CONOUT$assertion "%s" failed: file "%s", line %d Failed assertion %s at line %d of file %st&U($auu}} ]D$@D$D$ J aD$D$D$_t/t+$_E$ at$D$|$ n4$ sel E\$$D$`at$|$ D$貳$\$D$D$  0 렐couldn't dynamically determine load address for '%s' (handle %p), %EZBtHZ%)PP^XpBPhaUR$P@@P^uYA)ȃAPaP%P: *** could not load %s, %E&'UWVSEEӉU$O^uiEPt'$F^EEaEux e[^_]ÃE$)^tUB뼋UB4$u:UB롉$]$]$]us$SaED$Qlong long int wsock_init()WSAStartupres %dwVersion %dwHighVersion %dszDescription %sszSystemStatus %siMaxSockets %diMaxUdpDg %dlpVendorInfo %dUVS uv$( a\t $( a\$\̀=( at-$( a\EPaEauEUe[^]ËCD$ma$d\t$D$@\aЋ4] au ( a땉D$$0] aD$@D$RaD$ xaQ4] at@\a$0] aD$@D$RaD$D$ a4] atB\a$0] aD$@D$RaD$D$ a4] aR$0] aD$@D$RaD$ aD$D\a4] a$0] aD$@D$RaD$ aD$E]ao4] a]a$0] aD$@D$RaD$ aD$34] a]a$0] aD$@D$RaD$ aD$ 4] af$0] a]aD$@D$RaD$ aD$4%P: *** couldn't allocate new cygwin heap for child, %E&U$]ÉuΉL$D$D$ DZt$( at$D$ u]]$aRMUWVSU( a$D$( a=( a$D$J a)D$D$ D$ LYF8$D$D$D$ D$D$YÀ}t'( a$( aF0( aF4e[^_]ÉΐU]ɉÉuu#$DYF8$Xu]]$( a؋( a ( a)щa( a$릐void cygheap_fixup_in_child(bool)couldn't get memory info, %ECouldn't reserve space for cygwin's heap (%p <%p>) in child, %E%P: *** m.AllocationBase %p, m.BaseAddress %p, m.RegionSize %p, m.State %p %P: *** Couldn't allocate space for child's heap %p, size %d, %E&'UVSPt) aEE׋B4J0( ana ( ax H!B8D$L$D$$D$D$ 9W ( a9 $( aD$ LD$ )D$ V\$( aD$D$ $Vt$( a\$$ 4$Vt) a@8$U}tX( a1ɋtE&'Kt'w"C~c%dC [uɍe[^]E( aEEEEEEE$D$D$U u$$0] aD$D$aD$ an$0] a( aD$D$aD$D$ at$=E$aD$E؉D$ED$ ED$eHt) a@8D$D$D$$D$ D$ U ( a$`a( a\$D$H%P: *** couldn't commit memory for cygwin heap, %EU]1ɋ( auutk( aڍ( aut9t %9tt.$uD$D$D$ St؋u]] $aGcygheap_protectt&U[a帰( a$( a*( at]ÐB򐍶UVS9s&Ft9r$( a( aDt!ËD3( a$AC[^]ÍC$( aÉ0Cː&U]á( aus$^( aKDC( at$u]]ÐU]Éu}t?H9 ]u}]Ét$lj$\$ `ωvoid* cmalloc(cygheap_types, long unsigned int)cmalloc returned NULL/netrel/src/cygwin-1.3.12-1/winsup/cygwin/cygheap.ccv'U(}ǍB]ut#;D9( as( aC]u}]$0] aD$D$aD$ 0au`a%1븐void* crealloc(void*, long unsigned int)crealloc returned NULL!inheap (s)t&U(uƉ}׉]( at;r;vt^؍Wvt#3D9( as( aC]u}]$0] aD$D$ aD$ I au`a&1$`aD$9D$` aVk]u}]Kv'U]á( att;r ;vC]]$`aD$ED$` aԍt&U$Ét$֋t =p) at}3t$$]Ðvoid* ccalloc(cygheap_types, long unsigned int, long unsigned int)ccalloc returned NULLUWVSEFGtfxvt @x V1tftt!ED9( as( aC[^_]$0] aD$D$"aD$ C"au`a$1U$]u P]1t$t$ ؋]u]ÐU$]u P 1t$t$ ؋]u]Í'bool init_cygheap::etc_changed()/etcCan't inherit /etc handle, %ECan't open /etc for checking, %E&'Ux]]uƅt=t 1їt]u]Ë$LƅՉ$#a!;D$4$D$L @( a$D$T$D$D$D$ D$lLt -t$$0] aD$D$#aD$ #aD$$0] aD$D$#aD$ $at$D$awUWVS u }>/$t$B 4$ tJ</tW$ED$ E$  t \t [^_]H1ɉ 扐뛸Q~=t렉U]Ðv'U]v'U]]uu E}ugtZ}u ]u]ÍvC 11ҍC1ҍC1ҍCxu1ҍC]]et&&a량蒊u념t&Uuu ]]t>Cu(Ct!$(D$t$x ]u]1򐍴&U]]Ct>C u(C t!$(D$CD$x ]]1void init_cheap()Couldn't reserve space for cygwin's heap, %E%P: *** AllocationBase %p, BaseAddress %p, RegionSize %p, State %p UH$haD$ LD$ D$ H( at ( a]$haE؉D$D$!H u$$0] aD$D$5(aD$ a$0] aD$D$5(aD$ `(aE$(aD$E؉D$ED$ ED$:U]]D$D$$<C& aC]]Ð&U]]D$D$$C& aC]]Ð&U]]D$D$$C& aCCCCC ]]ÐU]]D$D$$\C& aCCCCC ]]ÐU]]D$D$$CCE & aCECECEC ]]ÐU]]D$D$$CCE & aCECECEC ]]ÐU]]D$D$$\t& aC]]Ð&U]]D$D$$t& aC]]Ð&UEUH aPE AA]ÍUEUH aPE AA]ÍUE a]ÉUE a]ÉUE aE] v'UM EQQPQ P]virtual void client_request::send(transport_layer_base*)&bytes written != request size failed reading response completed ok Sent request, size (%ld) this=%p, conn=%p header.cb = %ld U(]] uuۉ}t:4] aj~$|$D$ P tDF 4] au ]u}]$0] aD$@D$-aD$ @-a͋N 4] aD$ $|$P t2F 4] at$0] aD$@D$-aD$ _-a땋Nu14] aU$0] aD$@D$-aD$ y-a]$FL$D$R ;Fz$0] aD$@D$-aD$ -aD$2$FL$D$R;F$0] aD$@D$-aD$ -at$\$=4] a\$0] aD$@D$-aD$ -aFD$[,int cygserver_request(client_request*)connected to server %p U(uu]t = at]u]Ðt&= atwBË$PtR4] au\$4$$P$0 1$0] aD$@D$/aD$ 0a\$d뷉$ qt&~bu%P: *** error connecting to cygwin server. error: %dt&'%P: *** incompatible version of cygwin server. client version %d.%d.%d.%d, server version%ld.%ld.%ld.%ldU8= a]ut a]u]Í&= at$$ $!$ۉu'x){u3{u-Cu& a뛋$P $1at$"2$@1aD$D$D$ D$CD$CD$CD$C D$ 1U]na@ $t$<L $؋]]$- $ ߐUE$ a]ÉUE$ a]ÉU]Ðv'U1]Ð&U]Ðv'U1]Ð&U1]Ð&U1]Ð&U]Ðv'U]ÐU]]uu $F44% aƃ8u]]]U]]uu $44% aƃ8u]]]U]]$C@lpc14% aƃ84C0\\.\C4pipeC8\cygCaD$ %?a褺֐U]]$LE & afCCC C /tmpC/cygCdaemfCo$D C]]ÐU]]$E & afCCC C /tmpC/cygCdaemfCo$ C]]ÐU]]$C & aCfCC /tmpC/cygCdaemfCo$ C]]ÍU]]$,C & aCfCC /tmpC/cygCdaemfCo$# C]]ÍAnd the OS just isn't listening, all it says is %d Bind doesn't like you. Tsk Tsk. Bind said %d Socket not created error %d t&U]]$D$D$ȳC}C$CD$CD$du@CD$$=x ]]Éۓ $AaD$ ލ&軓 $PAaD$ 맍&蛓 $~AaD$ gNup, could' accept. %d UuE]P$PT$D$xx&$F $Ét$؋]u] $lBaD$5 1ېUE@E]Q &'UE@E] &'UE@E]N3 virtual bool transport_layer_sockets::connect()client connect failure %d t&U]]1҃{t ]]Ív$D$D$蔱C$CD$CD$y4] auC$P 1赑 D$ Ca$0] aD$@D$pCaD$軵C&'U] at Xu]]ÃЋuUVSE uu( au@  au6 a'u9w#= at [^]$DaO 9w҉int insert_file(char*, char*&)ReadFile failed, %Emalloc failed, %Ecouldn't get file size for '%s', %Ecouldn't open file '%s', %EUWVS,]D$D$C$D$ J aD$D$D$*[$D$+U $ D$fE4$E|$D$D$ED$ w+É4$**t9}t@4] aut&1e[^_]$0] aD$@D$0EaD$ OEa@΋UD: U $D$B E U륍v4] at$0] aD$@D$0EaD$ cEa롍4] ac$0] aD$@D$0EaD$ Ea\$諲64] a#$0] aD$@D$0EaD$ Ea'\"UVS]EE t}'GatGa}tC;u ؃[^]Ív$t$$ t,8\t}"ux"u\Aˀ9tƀyYu뻍Y붉ȉڈĊ8tBu1҉Љ띉$CD$ MȈĊ8tBu1҉Ѕt$@D$ [Ċ8tCu1ۉ؉int globify(char*, char**&, int&, int&)?*["'(){}'"argv[%d] = '%s' v'UWVSl]e<~t$D$Ha 1҅ 11$N t {:au,1<"F<'>tCt {$D$Ha $ ٍV׍D3 |$t@ 1<"<'t<\ABuEE<$D$ D$D$ uEue1ҍe[^_]UM:8;yM UȋӍ4t!4] au#uUȉ$mbe띉|$G$0] aD$@D$HaD$ HaD$T몋U $D$1bM ^\BAtA8t+'u<\t.\BABt8uJt&8uA8t<\uAûs$ 1$ {:void build_argv(char*, char**&, int&, int) argc %d&%P: *** Too many levels of nesting for %sUWVS,EEU ME9t? KaÈĊ8tBu1҉Ѕt^AME8uЋMM  4] au e[^_]$0] aD$@D$KaD$ LaT$#̐1tOv'<"M]t<'>AMMKaÈĊ8tBu1҉Ѕuu9tEEt 9t >@;U}tuR4] auM 4BUT$$0] aD$@D$KaD$ Hat$KE븉4$E UD$ET$D$ M|M B ED$$^MU DE} P4$UT$}HM $ϋM1tM~D$3$Lat$%P: *** cygwin DLL and APP are out of sync -- API version mismatch %d < %d%P: *** Incompatible cygwin .dll -- incompatible per_process info %d != %d%P: *** cygwin DLL and APP are out of sync -- DLL version mismatch %d < %dt&U]MAvgQuG a9u"iQ ==Jw1H) a]]$NaT$\$J$OaT$D$$pOaD$D$%P: *** fork: can't commit memory for stack %p(%d), %E'%P: *** fork: can't reserve memory for stack %p - %p, %E&%P: *** fork: couldn't allocate new stack guard page %p, %Et&%P: *** fork: couldn't get new stack info, %EUVS@u) a x) a$;|) aW9OЋ(E)‰$T$D$ D$ (FDD$ @D$)É$D$a$]؉\$D$ }t>\$ED$$W E؉$E e[^]ÍUءnaJU@ D$$D$H%@D$ rA$PPa\$FDD$$Pa$D$(ދ(E)$PaE؉D$$Qa~%P: *** fork: couldn't get stack info, %EU(]]u}eCD?@%* D$x) at$ 4$D$ t;$9|) at$$7D$e]u}]Ðt&CD$Sav'U]]C$IQ]]void dll_crt0_1()mainmainthreaduser_data->main %p.exe&'UWE1V1S<$h$0nal$ a@$p aD$0 a aL a$gP a$( aD$)iz$Ta$( aD$Tat) at@@Y( a$GW$S( a$| ) a$ ) aP$j $ ) aá ) aPD$$D$ ) a$ ) a\$P) a( a4$|$賂5am5 t) a_t) a@@8N F蟻 aA at(1D$ a a$ aD$ aCvڡ( a$>9 aaat$1ۉ؉ֈĊ8tFu1Í@9qatl$< aucaatIلt@< t<v'1/%\Y؉t< uЉ$hU$, aa_.= at+D$ a a$ aD$ aCvڋ54] au`$< at ae[^_]Íva1$DI a at&$0] a aD$@D$TaD$ *TaD$#nA=TaY}Ct$D$/N at@" at& $豾 % \$D$$趽 = aJ a1Ҁxx at$T$ D$ aD$ ap a:ʈĊ8tBu1҉Ѕt"\$ $\$t a\ʈĊ8tBu1҉Ѕu$D$ Lv$aD$ _aaOt) azDt(d$dBT$BD$:$޿t) a$^) aD$$}#t) a@D0ga$萿 t) aA@@E) a$ED$>} t) aQ@Brz aB  a( a$A(D$sMt) afx$+t) a@($t) aB@@S$aB@@D$[ at) a@@@f#( a$A@@D$T$D$D$ED$ D$ft) a@D$X a$ aD$ aD$҉$芋 CYGWIN_TESTING\new-cygwin1.dllv'U(]$[a\$D$ u]]h) a7 a\$D$$ t҃v͍D[aUtl) avoid _dll_crt0()unknown exec type %dproc sizefhandler sizeprocv'UWVSL" aEEEEa1D$4$\$D$D$ ( aD$D$D$( aD$D$ ( a$T$D$D$H$) ai) af=) a?Eԣt) aƸ}؉~EԋP%=Xt) a1ۉ‰E@titK$0] aMD$D$B\aD$ S\aAD$&1t) a$e[^_]ËMԻ,A( aB,uru@U;Zt%$h\aB\$D$= t) aMhEԁx<t$r\a@Find/Search facility and delete all but the most recent version. The most recent version *should* reside in x:\cygwin\bin, where 'x' is the drive on which you have installed the cygwin distribution.U(=h) a]]uut%$D$\aR t1t) a]u]$eaD$D$  uE 9u5$0] aE D$D$eaD$ fa\$D$t$͑$PfaE \$t$ D$U} ]]t ]]Ít&tXtuE<a]]X11ң0a a(a$<aX1a1a1a뭸 a,) a 0) a4) a& a,) a{ a ) a $) a() a a ) aI a) a  a1ɣ) a ) a) av'U$D$]ÉU$D$]Ðthreadname_lockU,+ aia[ * a]ÉUWVS * a}u`1ۍ&0* at<$t$i t,9<,* at#Cv֡ * au [^_]$40* a<,* a$M뒐v'U];( at,0* a1҅t ,* a9 ӸtBw 0* au1]]ÐU]EuXpD$$;E$轐$փ$-UWVS,ML+ a, as%v$D$t , ar$뽉s{E\$ $J aD$ED$D$jaD$tE$E2e[^_]unknown (%p)UW1VSà t * aut0* a1t,* a9tU@w 0* aut * au-t [^_]$, a, aD$ka\$X׉$ɋ<0* a$<{bUW}e1ǐe_]Ðvoid delqueue_list::queue_file(const char*)Out of queue slotsadding '%s' to queue %d&UWVSLE D$}$D$D$ eu'1'7eFc~1ۉet7Cc~$0] aD$D$laD$ ma'e[^_]É$D$- 1ɰee4] at$0] aD$@D$laD$ /maD$\$뗉$D$, 2x void delqueue_list::process_queue()Deleted %sHmm, don't know what to do with '%s', %EStill using %sRunning delqueueUWVS}eu@e 4] a1'7euFc~e[^_]É$t?4] au 17e$0] aD$D$naD$ na\$T1 etAna@ tt*4] at$0] aD$D$naD$ na렡4] a:$0] aD$D$naD$ na\$ȉ $0] aD$D$naD$ oa蟉U]int dirfd(DIR*)-1 = dirfd (%p)t&U]]$Bu!;BBtW a 4] au]]Ðt&$0] aD$D$paD$ pa\$ÍCP 뺐&UWV1Slƅ( aEE$EEEEEED$D$D$ |$D$D$$t}u, a1t l[^_]Åt$P|$$dirent* readdir(DIR*)%p = readdir (%p)\.U(]$]u}"A1҅u;BBtX a 4] au1ҋ]Ћu}]$0] aD$D$$raD$ :raD$\$N뽋C\$$t!x.tCLraARV[6RC낀xu SCB@%=.ueC$ F |$<$CD$ D$\<$# t=<$D$\ t[1QCek[1Nraeu;BBt]]ËC\$$int closedir(DIR*)-1 = closedir (%p)%d = closedir (%p)&U(]$]u%>u";BBtP a 54] au]Ћu]$0] aD$D$uaD$ "ua\$VC\$$ơ( a$C@ D$nC$6C$6$6 4] aue$0] aD$D$uaD$ 5uat$ǃint mkdir(const char*, int)%d = mkdir (%s, %d)t&/netrel/src/cygwin-1.3.12-1/winsup/cygwin/dir.cc&'U"WVS|$J aU} EءJ aEܡJ aEhEtaMЋ at4] au e[^_]$0] aED$D$[vaD$ wvat$D$|$观t&؉$tjatExy$E؉D$tOjau `^au1\\$E%$( a!% @D$( øva$ae ( aT$D$ T$!% @$E؉D$M@int rmdir(const char*)%d = rmdir (%s)c:\U}"}]􍝨uؾ$UЅtT a4] au]u}]Ít&$0] aD$D$hxaD$ xat$|$뿉EԃE܃u at1҃t tu aM1҃t t5$t%$@t aZ1( a 8ustBvaL&_E1҃t t$E܉D${na@ t aZ뮡( axa7pB$xa0u$<<$( a$щ$E܃D$ a"%s: %E&Ue@D$0{a$$ED$IF@@ ]\/.dllLD_LIBRARY_PATH=Uhuu]}} 4$p t=~]u}]Ít&<$t$d |3.t84$D$.蝞 t$D$w{a) t<$D$z{a襘 E11EEEEEEƅt&void* dlopen(const char*, int)dlopenret %p/netrel/src/cygwin-1.3.12-1/winsup/cygwin/dlfcn.ccU8O}a]]>$1ۉD$t}$tV4] au#O}a=؋]]Í$0] aD$@D$0}aD$ V}a\${본p}aiZ&u$O}a|$LՐvoid* dlsym(void*, const char*)dlsymv'U]E$E D$t=4] au ؋]]$0] aD$@D$~aD$ V}a\$z$~adlcloseURa}}]ue<$I9t<$Ht1u.$Ra<<}]u]$RaQU];1ۋH u ؋]];X$퐐U, a, a, atutp, a9P0t , autN $, a, at&, at, a9P0t , auuá, a, a랐UVESpt)Nt t&@uX~ K[^]Ít&UVESpFt'CЋu[^]ÉU]a]uSD. at ]u]ÍC$RC$t$D$D$Љō&'UVESu X t$&'S8&0څuu1[^]É/netrel/src/cygwin-1.3.12-1/winsup/cygwin/dll_init.ccv'UWVSE T$D$$G $, aL$8t@,e[^_]Í1$cUB@v'$L$D$1҃ tGЁ~F,F4F8T$$ VM N(MAFA,BA0BA4B A8BA`볉$ED$M| /EЋ}Ċ8tGu1O/\Bȉ׈Ċ8tGu1u&1 $!E@x$1`ه|$É$[\1`赇$+]1h蕇D$É$D$zV1`e|$É$21LAt$É$I1\$CUB 1@$$0] a1D$D$ЗaD$ Pat$v^18蠆$V#q1P耆|$É$IM1T\|$É$!)188$ 18$~1D|$É$1Hԅ|$É$fS1L谅$1H萅$>a1Dp|$É$20=1PL$"f1T,$Ҳ1T $Rx'fhandler_base* dtable::dup_worker(fhandler_base*)duped '%s' old %p, new %pt&UWVS] ESD$$D$T$D$ D$|Nj\$<$G |$$PXulg54] au [^_]Ës,$Ë<$t$$0] aD$@D$paD$ aT$D$[륉ł1int dtable::dup2(int, int)dup%d = dup2 (%d, %d)fd %d not opennewfh->io_handle %p, oldfh->io_handle %pnew fd out of bounds: %ddup2 (%d, %d)UWVS,4] a} a}Pai1ۅxU;z}  uYaY4] aul a a(4] aue[^_]Ðt&$0] aED$D$aD$ at$|$D$Y$0] aD$D$aD$ ўa|$YgEH19}\E$D$/E84] aPa3E1ۅxEM;H} uYatYEM;Hs)MUM։ $m$L$yNjU$P0U$~륋M $UË$D$ a$0] aD$@D$aT$D$pX4] a$0] aMD$D$aD$ aL$kv$0] aED$@D$aD$ 2a|$D$X;select_record* dtable::select_read(int, select_record*)%s fd %d&'UPa(}1]]uuEE xE ;C} U uYa1t a 1]u}]ÍvU t$$ƋE ^F =4] au뽋C,U $0] aD$@D$0aD$ haD$T$Vȉ'select_record* dtable::select_write(int, select_record*)UPa(}1]]uuE xE ;C} U uYat a 1]u}]ÍvU t$$ƋE ^F 4] au뾋C,U $0] aD$@D$paD$ haD$T$UȐselect_record* dtable::select_except(int, select_record*)UPa(}1]]uuM xE ;C} U uYat a 1]u}]ÍvU t$$ƋE ^F 4] au뾋C,U $0] aD$@D$aD$ haD$T$LTȐvoid dtable::fixup_before_fork(long unsigned int)fixup_before_forkfd %d (%s)UW"aV1SE }EW9s*t4] au2$UT$PWF9r׃["a^_]\C,t$$0] aD$@D$aD$ 4aD$=S띍t&'void dtable::fixup_before_exec(long unsigned int)fixup_before_execUW"aV1SE }EW9s7t(Cu4] au2$UT$PWF9rʃ["a^_]OC,t$$0] aD$@D$aD$ 4aD$0R띍&'UWV1S }GW9sQt&t?C(CCC C$Ct<$t$ WF9re[^_]ËU $T$P t*w؋$L. a$D$볋$L. aڍt&'void dtable::fixup_after_fork(void*)v'UWV1S}W9sVt&'t=Su t4] aueU $T$Pt:vWF9re[^_]Ë$L. a$D$ˋ$L. aڐt&C,t$$0] aD$@D$ШaD$ 4aD$APgUWaVS uV>x1҉E( aH8t x4t1;^rbFE( a1ɍX8t x4tu!a|e[^_]Ë$ ̸Pa(1x;^} uYat C;^rN4$D$Eɉ t@ $D$R뼡 a  restore/netrel/src/cygwin-1.3.12-1/winsup/cygwin/dtable.ccfds_on_hold != NULL&UWa]]u ZC3t/C_uWau]]Ð$paD$D$aTdC void dtable::vfork_child_fixup()herev'UWVSuF4] a( a1ۋ>;}bt&tBB(BBB B$Bt64$\$g ( aC;|F>Name.Buffer == NULL\device\derived path '%s'\Device\LanmanRedirector\remote drivecurrent match '%s'nt name '%s'ÛWVS4 1] 󫍅EfD$$t$D$ D$82 tXsomeC disCk fifC leC54] au ؍e[^_]$0] aD$@D$aD$ aKЋu5 4] au1뺐$0] aD$@D$aD$ ƭaJfBx~4] a+x~ޭat$t$D$ u$x~|${f ~Ѹ\Ċ8tBu1҉Ѕ1`}1\}tk&ƅu~:Ċ8tBu1҉Ѕt%4$h}|$D$ c 1Ċ8tFu1xpu`}x~\}$f Ƌ\}|\tl)`}t$`}Nj\}<$D$N >\4] au<$\$$0] aD$@D$aD$ a|$IN둉a{tƅ~\54] a~t$0] aD$@D$aD$ aHd&<$D$;i t-\ȉ׈Ċ8tGu1t$@D$d h}t&! t€u҃)π/g}\;`}Rh}x~7/x~t<\#`}4] a\} $0] ah}D$@D$aD$ aD$GO1/h}jĊ8tAu1ɉJ$0] ax~D$@D$aD$ 3aD$LGU]PATH=HOME=LD_LIBRARY_PATH=TMPDIR=TMP=TEMP=void win_env::add_cache(const char*, const char*)posix %snative %sv'UWVSÃ$c S@D$$yC$|$b 4$Zc SЋS @D$$EC $D$Tb { Ct$$@b 4] au[^_]$0] aCD$@D$0aD$D$ baE4] at$0] aC D$@D$0aD$ kaD$E뗉<$SsS $@D$C $D$a K C<$ȉD$SJwin_env* getwinenv(const char*, const char*)can't set native for %s since no environ yetUW1VS atDX. at91ۍv'4$X. aD$\. aD$4c t X. au1҃[^_]ÍX. aE)!tQt7t at UBuE1U빉4$D$_ t݋X. a$u54] at$0] aX. aD$@D$дaD$ aD$C뛍v'void posify(char**, const char*)=env var converted to %st&U1WVSE} EtD$qaU$_ <$VCD$E$E\$D$H E<$É\$V1?/H!ljl4] au#EUE$[^_]$0] aUD$@D$PaD$ saT$B밐UW1VS ]t<=t&CGt<=u>Ƌu 1 [^_]É$E|$D$` u ;=t u)ƋE 0C빐UE$ED$X]Ít&UU Ѕt u])Ѓ&'UWVS,uU Љ$E^ MEED$ $+1tJuuc>=4 aơ0 a]iv1E1҉pt U 11e[^_] U$eōv$^ ;EEt]t<=tv'Ct<=uu)]}MƋ]D$øn$EUD$T$_ MD=} $|$\ $} |$\ # $XÍp@E;P a4$EP atT‹5avtUt ftEaa{E1ɉL-ct$$aP a뽐v'U]]u*t$1t  a]u]Í&=ЉވĊ8tFu1t$@D$D$; 뵉$1멍v'U]] uutRt1t  a]u]À;=t4$1}\$D$ C߉ a뼐UVS]u4$\$t UBt܃[^]ignorecaset&UEt8u1 aa]úa mta a֍ a뽐void check_case_init(const char*)relaxFile case checking set to RELAXEDadjustFile case checking set to ADJUSTstrictFile case checking set to STRICTWrong case checking name: %sU(]]u}t(;t#޿auE4] a15@ au ]u}]$0] aD$@D$paD$ aA<͉غҼat64] a @ at$0] aD$@D$paD$ a볉غat;@ a4] a`$0] aD$@D$paD$ 0ah4] a/$0] aD$@D$paD$ Qa\$y;t&void set_file_api_mode(codepage_type)File APIs set to ANSIFile APIs set to OEM&'UEtBt]蕵4] at$0] aD$@D$aD$ ־a:ȍk4] at$0] aD$@D$aD$ aĐvoid codepage_init(const char*)oemansiWrong codepage name: %s&'U]]t;u ]]Ít&غau`غau34] at$0] aD$@D$aD$ a\$91 aE]]t& aEސUEt8u]É$D$D$j ~=t=ѣ aʐ&UD$ED$$oj D$$0na]binmodecheck_casecodepagedaemonenvcacheerror_startexportforkchunkglobnormalnteantsecsmbntsecreset_comstrip_titlesubauth_idtitlettywinsymlinksvoid parse_options(char*) noreturning%s %x%s %d%s (called func)CYGWIN%s &UWVSL]6$T V \$D$$S $D$aD$Lg a=ȉĊ8tBu1҉ЅSG X/ aX/ auf$D$aT$f n4] au e[^_]$0] aD$@D$aD$ a6Аt&u u낋CQt:t*t O4$)~:s 9J aCSD!u t+<$D$D$g tSD  4] ay$0] aD$@D$aD$ aD$CD$5A9t^tZCD$<$D$g 4] a$0] aD$@D$aD$ awSD뾅t u D$S4] a$0] aD$@D$aD$ aD$5f:ȉĊ8tBu1҉Ѕƅ1>-CF=ƅX/ aX/ at&'C uy;u58/ am4] au#$a\$D$j@$0] aD$@D$aD$ a\$'4볐t&D$a$N $C D$N C $C KProgram OptionsSOFTWARECygnus SolutionsCygwinUWEVSlƅ]$D$D$<aD$ ј$iP ζ \$t$ 4$hO $`P D$LaE؉$t$\$D$  u9$ƅE؉$ue[^_]vD$<$D$D$ MaD$VaD$gaD$<aD$*D$La<$t$\$D$ jt <$b$Qƅߐt&void environ_init(char**, int)default%p: %sCYGWIN=TERM=t&UWVSLEE` aUuI=X. at4X. a B aƀ aC aƀ a1uӻ` a$aEڡJ ax{MEE$'uÉNjEvt{uEEmX4 a]0 aiЃw.ޅt&Ð&$8,XuE}=aR}u}ue[^_]$$aEtΉ$EEd$6EP a)EEEu>U$yM9MEUԋ}E:==Ћ]ԈĊ8tCu1ۉ؉EЅ]t) au]ԋu9 EuNuЋ}Љ|$4] au#1UĊ8tBu1҉E@E$0] aUMD$@D$aD$ aD$D$/룍EԺa׉9Eԃ$#EԻa߉ƉE$0 t C aC;]rMԈĊ8tAu1ɉȉE!Sud4$MD$LEE܅u}E 1 aG}UMu4$,1ۉ$Ou}t]a&UEEE E ]GI char* getwinenveq(const char*, unsigned int, int)&'using value from GetEnvironmentVariable for '%s' warning: %s not present in environment&UWVSZ,MEBeN |$<$E\$D$W2 E;<$D$D$ C}1ERE<$E\$D$ؤ tA4] aueEe[^_]$0] aD$@D$paD$ a|$",ȋEXS4] aue1$0] aD$@D$paD$ aED$+̉$ED$G J&'HOMEDRIVE=HOMEPATH=LOGONSERVER=SYSTEMDRIVE=SYSTEMROOT=USERDOMAIN=USERNAME=USERPROFILE=t&'char* spenv::retrieve(bool, const char*)duping existing value for '%s'using computed value for '%s'no_envblock %dt&U(]ɉˉuƉ}UtH1҅24] aVx_=( a1ɍx8t x4tuM=4] auu؋}]]S$0] aD$@D$aD$ aD$*t&ЃN 99$D$FD$҅}tp) a<$F NȍP O$ËD$E V؉|$Љ$E 4] auڋ]Ћu}]$0] aD$@D$aD$ /aD$%)Ívp) a뻋N .=( aV]u}]$0] aD$@D$aD$ MaED$()char** build_env(const char* const*, char*&, int&, bool)&/netrel/src/cygwin-1.3.12-1/winsup/cygwin/environ.cc(srcp - envp) == nenvp %p, envc %d(s - envblock) <= tlenv count %d, bytes %d(size_t) envc <= (n + SPENVS_SIZE)envp %pt&UWVS\EEEUMEEۡ4] aEMtEԋUEԋaL$D$,$l$aD$D$pa{:1ɉ;UЅ}=p) a$@ MȃELMiUЋ$@ MȍLMUĉUЅD+:p) a$0] aUD$@D$aD$ aT$F#Uaa9ta蟳a]Ðint geterrno_from_win_error(long unsigned int, int)unknown windows error %u, setting errno to %dwindows error %u == errno %dt&U(u֋3 a]t1ۍ;3 atQ 3 au4] au ]u]$0] aD$D$aD$ PaD$t$ "Ƌ54] au4 a붉D$4 a$0] aD$D$aD$ ~aD$!Đvoid seterrno_from_win_error(const char*, int, long unsigned int)%s:%d windows error %dU(u΋ 4] a]u a ]u]$0] aD$D$paD$ aD$T$t$ 밐&U$Ét$zt$؋$]eNo errorOperation not permittedNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file descriptorNo childrenResource temporarily unavailableNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentToo many open files in systemToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead only file systemToo many linksBroken pipeMath arg out of domain of funcMath result not representableNo message of desired typeIdentifier removedChannel number out of rangeLevel 2 not synchronizedLevel 3 haltedLevel 3 resetLink number out of rangeProtocol driver not attachedNo CSI structure availableLevel 2 haltedDeadlock conditionNo record locks available474849Invalid exchangeInvalid request descriptorExchange fullNo anodeInvalid request codeInvalid slotFile locking deadlock errorBad font file fmt5859Device not a streamNo data (for no delay io)Timer expiredOut of streams resourcesMachine is not on the networkPackage not installedThe object is remoteThe link has been severedAdvertise errorSrmount errorCommunication error on sendProtocol error7273Multihop attemptedInode is remote (not really error)Cross mount point (not really error)Trying to read unreadable message7879Given log. name not uniquef.d. invalid for this operationRemote address changed'Can't access a needed shared libAccessing a corrupted shared lib.lib section in a.out corruptedAttempting to link in too many libsAttempting to exec a shared libraryFunction not implementedNo more filesDirectory not emptyFile or path name too longToo many symbolic links9394&Operation not supported on transport endpointProtocol family not supported979899100101102103Connection reset by peerNo buffer space available&Address family not supported by protocolProtocol wrong type for transport endpointSocket operation on non-socketProtocol not availablev'Cannot send after transport endpoint shutdownConnection refusedAddress already in useConnection abortedNetwork is unreachableNetwork is downConnection timed outHost is downNo route to hostOperation now in progressOperation already in progressDestination address requiredMessage too longProtocol not supportedSocket type not supportedt&Cannot assign requested addressNetwork dropped connection because of resetTransport endpoint is already connectedTransport endpoint is not connectedToo many references: cannot spliceProcess limit exceededToo many usersQuota exceededStale NFS file handle134no mediumNo such host or network path&Filename exists with different caseNot enough memoryDevice or resource busyNot a character deviceRead-only file systemMath result out of rangeNo lockNot a streamStream ioctl timeoutNo stream resourcesNo packageResource is remoteVirtual circuit is goneCommunication errorBad messageCannot access a needed shared libraryAccessing a corrupted shared libraryAttempting to link in more shared libraries than system limitCannot exec a shared library directlyerror %dNo buffer space available; the socket cannot be connectedAddresses in the specified family cannot be used with this socketerrno EPROTOTYPE triggeredvThe descriptor is a file, not a socketThis option is unsupportederrno ESHUTDOWN triggeredThe connection was aborted'The network can't be reached from this host at this timeNetwork failed.Attempt to connect timed out without establishing a connectionerrno EHOSTDOWN triggerederrno EHOSTUNREACH triggerederrno EINPROGRESS triggerederrno EALREADY triggerederrno EDESTADDRREQ triggerederrno EMSGSIZE triggerederrno EPROTONOSUPPORT triggerederrno ESOCKTNOSUPPORT triggerederrno EADDRNOTAVAIL triggerederrno ENETRESET triggered&The socket is already connectedThe socket is not connectederrno ETOOMANYREFS triggerederrno EPROCLIM triggerederrno EUSERS triggerederrno EDQUOT triggerederrno ESTALE triggerederrno ENOTSUP triggeredUuu]1 a]u]Á$<aadanaxaaaaaaaaaaaaaaaaa"a,a6a@aJaTa^ahara|aaaaaaaaaaaaaaaaa&aaaa0a:aDaNaXabalavaaaaaaaaaaaaaaaaaaa aaaa a*a4a>aHaRa\afapazaaaaaaaaaaaaaaaaaaaaaa$a.a8aBaLaVa`ajata~aaaaaaaaaaaaaa aaa(ataaaaaa~ataja`*aVPaLaBa8a.a$&aaaaaaa$aBa>agavaaaUaaazapkaf-a\HaR[aHwa>a4a*a aa a aaCaTaoa}aaaaaaaaav1alabaXaNaDa:a0a&aaPa aaaa0apaaaa4aMa[aoaa|araht$ÁÐ$D$a)@a60a,pa"aaaa>aQa,aPaaaa a&aBa[axaaxanadaZ0aPPaFla<a2a(aaa aaaINVALID_FUNCTIONFILE_NOT_FOUNDPATH_NOT_FOUNDTOO_MANY_OPEN_FILESACCESS_DENIEDINVALID_HANDLENOT_ENOUGH_MEMORYINVALID_DATAOUTOFMEMORYINVALID_DRIVENOT_SAME_DEVICENO_MORE_FILESWRITE_PROTECTBAD_UNITSHARING_VIOLATIONLOCK_VIOLATIONSHARING_BUFFER_EXCEEDEDHANDLE_EOFHANDLE_DISK_FULLNOT_SUPPORTEDREM_NOT_LISTDUP_NAMEBAD_NETPATHBAD_NET_NAMEFILE_EXISTSCANNOT_MAKEINVALID_PARAMETERNO_PROC_SLOTSBROKEN_PIPEOPEN_FAILEDNO_MORE_SEARCH_HANDLESCALL_NOT_IMPLEMENTEDINVALID_NAMEWAIT_NO_CHILDRENCHILD_NOT_COMPLETEDIR_NOT_EMPTYSIGNAL_REFUSEDBAD_PATHNAMESIGNAL_PENDINGMAX_THRDS_REACHEDBUSYALREADY_EXISTSNO_SIGNAL_SENTFILENAME_EXCED_RANGEMETA_EXPANSION_TOO_LONGINVALID_SIGNAL_NUMBERTHREAD_1_INACTIVEBAD_PIPEPIPE_BUSYNO_DATAPIPE_NOT_CONNECTEDMORE_DATADIRECTORYPIPE_CONNECTEDPIPE_LISTENINGNO_TOKENPROCESS_ABORTEDBAD_DEVICEBAD_USERNAMENOT_CONNECTEDOPEN_FILESACTIVE_CONNECTIONSDEVICE_IN_USEINVALID_AT_INTERRUPT_TIMEIO_DEVICENOT_OWNEREND_OF_MEDIAEOM_OVERFLOWBEGINNING_OF_MEDIASETMARK_DETECTEDNO_DATA_DETECTEDPOSSIBLE_DEADLOCKCRCNEGATIVE_SEEKNOT_READYDISK_FULLNOACCESSFILE_INVALIDSTATUS_ABANDONED_WAIT_0STATUS_ACCESS_VIOLATIONSTATUS_ARRAY_BOUNDS_EXCEEDEDSTATUS_BREAKPOINTSTATUS_CONTROL_C_EXITSTATUS_DATATYPE_MISALIGNMENTSTATUS_FLOAT_DENORMAL_OPERANDSTATUS_FLOAT_DIVIDE_BY_ZEROSTATUS_FLOAT_INEXACT_RESULTSTATUS_FLOAT_INVALID_OPERATIONSTATUS_FLOAT_OVERFLOWSTATUS_FLOAT_STACK_CHECKSTATUS_FLOAT_UNDERFLOWSTATUS_GUARD_PAGE_VIOLATIONSTATUS_ILLEGAL_INSTRUCTIONSTATUS_INTEGER_DIVIDE_BY_ZEROSTATUS_INTEGER_OVERFLOWSTATUS_INVALID_DISPOSITIONSTATUS_IN_PAGE_ERRORSTATUS_NONCONTINUABLE_EXCEPTIONSTATUS_NO_MEMORYSTATUS_PENDINGSTATUS_PRIVILEGED_INSTRUCTIONSTATUS_SINGLE_STEPSTATUS_STACK_OVERFLOWSTATUS_TIMEOUTSTATUS_USER_APCSTATUS_WAIT_0UEd@ a]dvoid early_stuff_init()v'SetConsoleCtrlHandler failed, %E&'U$aD$y$aD$ytn 1ɣK a J a J aK aJ a1 K a1ңK a1 J aJ aJ a舭K aK a]$0] aD$D$aD$ aViU]%s %sU(uu]t>up a]u]Ít&J a\$$f$p aD$at$\$ void open_stackdumpfile()%s.stackdumpDumping stack trace to %sU(]J au}xu ]u}]D$\$ C$A 覀 \$t$4$D$baD$4$D$@D$D$ J aD$D$vst)J a@tN 4] au$\$v6$0] aD$@D$HaD$ oat$$0] aD$ԋJ aException: %s at eip=%08x eax=%08x ebx=%08x ecx=%08x edx=%08x esi=%08x edi=%08x &ebp=%08x esp=%08x program=%s cs=%04x ds=%04x es=%04x fs=%04x gs=%04x ss=%04x Exception %d at eip=%08x UWV1S}] t/7 a1҅t$7 a'9 B<7 au$at$D$*$aD$D$D$ D$D$D$J a$0aD$T$ D$$PaD$D$D$ D$D$D$m[^_]$aD$47 aU }UE]] zE1}u$Z CB(BE]}]Ít&ZBB Ԑt&U1S]C t2S C1ɉCt#;Ct1ɃDppid_handle %p&U8]J a]uPu`]u]Í&uxuX54] au( a$f$0] aJ aD$D$aD$ 0a\$T$@D$벡J au1ɋP$.U싂tQ@<@4$u#EaEV4$I$ЉuÍ믐&int interruptible(long unsigned int, int)pc %p, h %p, interruptible %d, testvalid %dcouldn't get memory info, pc %p, %EUWEVSLE}EEEEEE<$D$D$` u 4] a aU̍Al ҍt$ D$ t }t[1ۋ 4] aue[^_]Ðt&$0] aED$D$aD$E D$ a|$\$D$뵍t&E u;, at1;7 at$A1ۉt$D$8a d a a1F$0] aD$D$aD$ a|$gUSU EuAX $D$Pat$_ظ]D$ $aۍ&'UD$E $`]Í'void interrupt_setup(int, void*, long unsigned int, DWORD*, sigaction&)armed signal_arrived %p, res %dUWVS aEJ aa@@M QH) a ʉ) paaU B5a=a5aatu$D$.ztL a$a 4] a…ue[^_]t&$0] atL aD$D$paD$ aD$T$?ƃJ aHvPUuƉЉ]U$T$ڻd,aJ at&@t$$7au]]Ðt&( a֐&Uata1au]áaa$ 㐉UW1V1SEEEEEEt&'J atEJ<@J atMJ<9tJMҍtEJ<E E E E K{[^_]}t뮐&int interrupt_on_return(sigthread*, int, void*, sigaction&)t&couldn't find a stack frame, i %d UWVSMP1ue[^_]$8 a1ۉT$D$D$ 's$8 atcF$uD$8 a$uCȋ8 a8 aS9Ct t$EUD$KCd,aӋ54] au1@$0] aD$D$aD$ a\$ϐUU a]a'int setup_handler(int, void*, sigaction&)ResumeThread returned %dreturning %dgood. Didn't suspend main thread, th %pcouldn't send signal %dcouldn't get context of main thread, %Esuspended thread in a strange state pc %p, sp %p suspended thread owns a muto (%s)suspending mainthread&UWV1Sƅ 1a us1$( a( a?\( a $F $\G u~ $ \á4] au e[^_]$0] aD$D$PaD$ za\$74] at $0] aD$D$PaD$ aD$돡4] at$0] aD$D$PaD$ at$듸\ a$$$V4] a$0] aD$D$PaD$ aD$[D$$Z $ S&$( a1BZJ a#@$( aD$S4] a$Y$( a( a$b at6P1ɅuuXx;( a@u$( a_Y( at ( a$( aLY$D$XuF$0] aD$D$PaD$ a$-Y$TD$$|4] at$0] aD$D$PaD$D$ PaD$)yt&4] ag$0] aD$D$PaD$ a@D$7$0] aD$D$PaD$ a( a&'U(]Uu:Dkau+Una@$t$1ɉfM]t tB4$t60K a$J a0D$=RáJ a0t9Ct]u]pWS)Ѓ1vaWCJ aD$؉$v @WC$u1踼E]t4$ο۸u$11`$1void set_process_mask(long unsigned int)old mask = %x, new mask = %xnot calling sig_dispatch_pending. sigtid %p current %p&UWVS]؃\ ( a}$7 a 5J auЋw@@ H) aEԸ)ىUĺ)ڈ EUċE!ǡ4] atHUЋ@@$0] aD$D$aD$ a|$D$5J at@@8P7 a$9}tvQ;\ ati$yE؅u e[^_]$TE؃@E@$E؉$\E؃$~TE믉4] atBQ\ aD$ Pa$0] aD$D$aT$D$aEPPvP9( a u FIBO IBz$0] aD$@D$KaD$ mKa讬PEP‹$D$$$UÃ$D$ D$D$$/(9 EPUƹ1)މ$D$ D$D$$'~~U$D$\$|$ $D$#t_9r )ƅG aU$D$ D$$D$,'#P9ac@ a8 u$ ʾ뚋U$D$ D$D$$&virtual __off64_t fhandler_base::lseek(long long int, int)Win9x, offset not 32 bit.t&'setting file pointer to %u (high), %u (low)lseek (%s, %D, %d)UWVS,na] u@u^vM4] au ae[^_]$0] aD$@D$POaD$ Oa販뽃}nD$ED$$4] aE}G]na@Et uEEu}U1$U|$ T$$ED$%Ѓ t+EH@}t ؉‹@z 1)) t̸P9aː$0] aEUD$@D$POaD$ OaD$T$莨L1$0] aUD$@D$POaD$ OaB,t$\$D$ED$C4] a UBJ 1))r&virtual int fhandler_base::close()CloseHandle (%d <%s>) failedclosing '%s' handle %p&U(u4] au}]4$$t1]u}]á4] auP9agאt&4$V,D$ 3Ra$0] aD$D$RaT$D$묉^,4$D$ PRa$0] aD$D$Ra\$D$Ħ3 virtual int fhandler_base::ioctl(unsigned int, void*)ioctl (%x, %p)ioctl (FIONBIO, %p)UE U=~ftM 4] au a]$0] aD$D$pSaD$ SaD$T$뾐4] at$0] aD$D$pSaD$ SaT$迥느U aX]Ðv'UP:tl8\t1]À\uPHtN\tEAt \uu  aAt\t At\uf\뤲\f@\U]Ӌ@% tx wSt>C!fC C4C<$迲S8C4S0C,C$1S(]]ÐB& tuBaB띍t&B$됍&virtual void fhandler_base::init(void*, long unsigned int, int)created new fhandler_base for handle %p, bin %dU(]E1҉u]u C%=s t=@=$ED$ ‰T$SS44] atBC%ft> $0] aD$@D$UaD$ Uat$D$W]u]øÍuevirtual void fhandler_base::dump()here&U4] au]$0] aD$D$WaD$ 3Wa詢֐virtual int fhandler_base::dup(fhandler_base*)dup(%s) failed, handle %x, %Ein fhandler_base dup&'U(u4] au]FtEE UP 1]u]Ë4$( a$D$T$D$D$ED$ D$u^,4$D$ Wa$0] aD$D$Wa\$D$V}P9agX$0] aD$@D$WaD$ Wat&virtual int fhandler_base::fcntl(int, void*)GETFL: %d&U]U M] $tYa`ZaYaYaYaZa`Za`ZauZauZauZaA1Ít&؋]]Ë\$ $P1Y 4] at$0] aD$@D$YaD$ =Ya\$"밡0 a4 aiЃ҃@!Ӄwt @t@A҉ $! ډT$D$6f a;\$ $T$PP$t&U a]Ðv'U a]Ðv'U a]Ðv'U a]Ðv'U a]Ðv'U a]Ðv'U a]Ðv'U a]Ðv'UE]Í&'UEU aP@@ @@@@@ @$@(@,@0@4]Ð&UEU aP@@ @@@@@ @$@(@,@0@4]Ð&U]]C, au>C0u0CuC0C,]]Ít&$(Pݍ{t뻉U]]C, au>C0u0CuC0C,]]Ít&$Oݍ뻉U]]C, au>C0u0CuC0C,]]]$eOڍv뻉U]]D$D$$ a]]Ð&'U]]D$D$$ a]] virtual void fhandler_dev_null::dump()&U4] au]$0] aD$D$0^aD$ 3Wa艛֐virtual void fhandler_base::set_inheritance(void*&, int)DuplicateHandle failed, %EU(( aM $D$T$L$ D$1}D$D$Nu 4] au]$0] aD$@D$^aD$ ^a薚֍t&void fhandler_base::fork_fixup(void*, void*&, const char*)handle %p already opened%s - %E, handle %s<%p>t&U(uu]]VuA4] au ]u]$0] aD$@D$_aD$ _aD$ęʉE $D$\$ D$D$( aT$D$ uF,D$ _a$0] aD$D$ED$_aD$D$LOvirtual void fhandler_base::set_close_on_exec(int)'set close_on_exec for %s to %dU(]]uu $C D$t$R(tKK@4] au ]u]ËC,t$$0] aD$@D$`aD$ 0aaD$^Łc볍vvirtual void fhandler_base::fixup_after_fork(void*)io_handleinheriting '%s' from parentU]4] a]u+$E D$ baD$C D$]]ÍC,D$ ba$0] aD$@D$aaD$腗먐UE 4 aP0 aiȃw1@]ÉU t$0 a54 a|$Ћ}$i_wR%@M t@u@iw% ȉG$t$|$]É%v1lj%@묐U a1]Í&'U a1]Í&'U a]ÍU a]U a]U a]ÐCYGWIN_NATIVE_CLIPBOARD&U]]D$D$$\CHt% aC8C<C@CD$ 9 a$ a]] U]]D$D$$CHt% aC8C<C@CD$ 9 a$* a]] &virtual int fhandler_dev_clipboard::dup(fhandler_base*)error opening clipboard, %EUuu]] FD$ $D$D$R,t+F@V u)$0] aD$D$faD$ 0ga諐' 4$ u1$0] aD$D$faD$ pgagӐt&$0] aD$D$faD$ ga돡9 a$R abvirtual int fhandler_dev_clipboard::write(const void*, unsigned int)Couldn't realloc() clipboard buffer for write U(]]u}{Ht1]u}]ËC@{D$E48t$ABtqC@sD$E D$ED$诔C@$CDD$t a둍&C<CDC8 aCHEf$0] aD$D$jaD$ pja討먍UH}ω]uEUxHt1]u}]Ít&$aE1= aHE E$D$x $ E܃;aM1 $ EЃ$M1+A8Q<99]Љ$ƪuE؋F8)E؋UЋM]Љ $\$1ۉD$-uM؋F8V<ډVt&  av'U]E ]UC8C@Svirtual void fhandler_dev_clipboard::dump()here, fhandler_dev_clipboardU4] au]$0] aD$D$0naD$ \nai֐U8  E}U]]u}u 9D$$D$\$ D$D$ 11҃u]Ћu}]É<$D$D$\$ t$\$D$D$1҃ tv'9t4$D$\$㐉U9 at]$( aD$D$ D$D$k9 a‹@t9 aB@J a,E$D$@D$8j̍U$^]Ív'=aUU ua a 0a@t$x‹0K aD]Í& aE]CONIN$t&U($pa]D$D$D$ J aD$D$D$tBt>9 au$]]É$D$-9 aH1׍t&'BOOL fhandler_console::set_raw_win32_keyboard_mode(int)enraw keyboard mode %sableddisU]M E4] at;$0] aqaD$D$pqaD$ qauqaT$؋]]ÐU8]]$$E؉D$t4Ef9t5$$E܉D$E܃]]ÍEf9u䐐virtual int fhandler_console::read(void*, unsigned int)mouse: button state unchanged%c%c%cmouse: %s at (%d,%d)mouse: position out of rangemouse: double-click -> click{%u;%u;%u;%u;%u;%luK/netrel/src/cygwin-1.3.12-1/winsup/cygwin/fhandler_console.ccReadConsoleInput failed, %EUWVSTX<$<$PTX<$T$D$oLte[^_]ËP` HutL adH&<$D$~<$qHD$D$ $`D$CD$P\D$ ]1$\$EK{}]s H D!C<@!=8}s1҉C49u64] a$0] aD$D$raD$ sa.9ƅnbtn 4uphfl4Ct71ɉCt t tD$&sa] 4<$4L$ D$8D$_4] aމ\<$\t$D$ D$/hxKTu LY<$fx鋍LXATLuɉ$$0] aDhD$@D$raD$ 0saD$T$L$腂ȃ9t'btn1h downlfpSȃ9t4btn2h뾃94btn3h똋 4] a$0] aD$D$raD$ Esa4] au E$0] aD$D$raD$ bsa蔁΃~$G<@D$$HEf}t Ut,$ED$Y04$\EExena@$tJ1t t7E<v/<t+ɍuwEu\EB aEWыGH!…g:]D$4$\$D$\$ !UhD$saE]$މD$ED$ ED$ED$ED$ED$Ksa1_4] a3$0] aD$D$raD$ sa Hsa^UUB<@u]É$D$D$ U8]]$$E؉D$t_EfEfUE)@fEU)@fE؉E܉Ef]]Ít&11҉111ffPff뤐UWVSlflag %p, t->iflag %pU WVS,E] p<߃K0$$ED$t|EtK tK tK 14] au e[^_]Ð$0] aED$D$aD$ Pat$\$D$C D$D$ p본sa,O딐&US]D$D$$1111K11 afC@fCBfCDCHCLCxƃƃƃt&'1҉TP@ ~111ffffff$蹶 %f t]ÃKHUS]D$D$$1111K11 afC@fCBfCDCHCLCxƃƃƃt&'1҉TP@ ~11ɺf1fffff$詵 %f t]ÃKHU]]C@ƃƃƃ%ff$@f$$D$]]Ð&'UWVuStkЃ@f Ѓ ftЃ ÉfHH@ft $ ʄtҀt^Btʀu [^_]Ívu؃UWVS,} E]u$;EE)U‰)DщEE9f}EfEU]$\$D$ $ED$ED$ NU$U$\$D$ED$ED$ #e[^_]f]fuxHt&$E UXEEUx&'U}}]]uu<$9~U9~8pfuf]<$$ED$}]u]ÐH!xU t1듍U(]]uu }}$`D$$t$lj|$ }]u]Ð&U]]$ EE ]]Í'void fhandler_console::char_command(char)insert mode %sabledunknown h/l command: %dmouse support %sabled[%d;%dRv'UU uu],@}<5+$`aaraaaԔaaaaDa3alaPaaSaaaaaaaFaaaaaaaaaaaaaa$aٙaaaDaafaaaafa8aaaaaKaaaaVx19t&'DP1$da,aa@a@aaa@aaaa@a@a@a@a@a@a@a@a@a@a@a@a@a@aϒa@a@aےa@a@aaaaa(a9aJa[a@alaaaaaaѓaaa@aa4$\Vx'C94$f4$$D$xt&]u}]ÿƆƆƆ1ɉ끸qƆeƆY1fKf:f)fffffF@f1f@f f`ffoPf^0fMpf<F@%f'FPuFPED$E4$D$24$UED$ T$D$D$NPʉT$D$4$1D$VPH ‰T${4$D$FPuD$ى4$FPuD$D$뼉4$VP1H ‰T$މ4$ED$ED$n4$D$FPPH!‰T$ED$ BM4$ED$ED$'E4$D$x D$뻃FP~Q4$D$D$D$ D$B4$D$D$D$ [4$ED$ED$E4$D$ D$ED$D$i4$ED$ED$CE4$D$D$ ED$D$뽋FPtj~;4$ED$ED$4$D$D$ ED$벅4$ED$ED$E4$D$ʼn4$ED$ED$EU4$D$T$D$ T$FPuFPED$ED$4$QE4$D$D$D$ D$D$~PFPuFPED$ED$4$U4$D$^PD$ ؉D$D$D$T$FPuFPED$ED$4$U4$NPD$ ȉD$ED$D$`FPuFP4$D$FPD$D$ D$D$D$"4$BFPuFP4$D$D$D$ D$D$FPuFPED$ED$4$U4$^PD$ ЉT$؉D$ED$D$D$O4$ED$ED$kE4$D$xBubFTHFT@E}^P 4$D$\$D$$|$ FTHFT@u4$E}|$D$EU4$D$T$D$ D$~TD$T$TE[?6EfEc4$D$D$賜~4$ED$ED$XE4$D$D$FPPH!‰T$ 4$D$FTPH!‰T$Āua~Ph4] a$0] aqaD$D$aD$ ڏauqaD$U_FP==/t/54] a$0] aD$D$aD$ a륀h4$$ED$>3%4$$D$D$ D$ED$迅11f1f4$$ED$UE)@fEU)@fudиo4$$D$D$ D$ED$ 땉=c4$1hD$1h=4] a$0] aqaD$D$aD$ at&~P4$E]D$ED$]ED$a$)ЉE@D$E@D$ '4$\$^Pt+FPHfNTtFTHf81։4$D$D$)4$D$D$Vconst unsigned char* fhandler_console::write_normal(const unsigned char*, const unsigned char*) write failed, handle %pconversion error, handle %pv'ULWVS EU 9sPauB;Ur;U E )ǁvtt$M $T$D$L$ MU$D$L$t$$D$ E )RM9M snU Pa< wZ$aaa<aӟaHaӟaXaaסaӟaӟaӟaӟa(a$D$dE E e[^_]ËU$M D$L$D$$D$ D$E$D$뗋MALD$U$ՋE$D$D$Uf0UЋ9E9EfD$Efɉ$D$ D0D$x0D$D$ЉD$KJD$M $A<1@uL$BD$ mU$D$D$0aD$$D$ p뇋E9[E$D$D$zUD$$xD$5MD$D$ $)ED$D$$빡4] ausa~61[U$D$ 2a$0] aD$@D$НaD$jW밉 $D$D$ED$ T$$T$T$D$D$g4] ausapLU$D$ Ja$0] aD$@D$НaD$V뷐virtual int fhandler_console::write(const void*, unsigned int)%d = write_console (,..%d)at %d(%c) state is %d%x, %d&UWVS,] Eu؉E4] a ;]sx&FLwP$8aa\aѤa8aaaPalala\$E4$D$øt;]s4] a딡4] au Ee[^_]$0] aED$D$paD$ aD$D$QU<[*<]|UWVSÃ,U$ 1Puu 1=X a@KE}ta"j$t$D$D$ P,u9K}Ejat y  a8 t4t U$ƋP0e[^_]ËU$C0D$ED$ED$ ED$9uEuJ a 9Eu$9Ev$C0D$D$S $t$D$D$ P,$NjC0D$ED$sS $t$D$D$ P,D$aC01$+btEHt&U؉int fhandler_disk_file::fstat_helper(__stat64*, path_conv*, _FILETIME, _FILETIME, _FILETIME, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)t&0 = fstat (, %p) st_atime=%x st_size=%D, st_mode=%p, st_ino=%d, sizeof=%dUWVS|EEU EȋEŰUEЋEMЉUԋUEɉU]ԍMЅuEЉUԋEȅE̍]ȅu EUĉEȉỦ $F$D$ME$F,D$lMF4$1ۉD$XMM$E 1ډV 1҉F4t ttu }0E0fF U(u E,v U, U(M(NF<N^ ڃf F@VDF4 F@ MA0$D$FD$ED$ ED$54tUBufmF%fuNEFEF4] aue1[^_],$0] aF$V D$D$FD$PaD$ aD$Ft$T$D$ FD$(PD$$=>뙋V $F44$t ʤVV@tI@VFF%f4#@tՁ1V Puu 1=X a@t; 1Puu 1=X a@NIM $D$ D$D$$'tt:U$D$ D$D$$@MEMEE $D$D$$E؉D$ED$ 荴t-1҃}~E<#tf<:tZOW1ۉDFF F FFFFF@e[^_]1Ƌ@u1D,똋D$ t$$ ݐ&'UWVS ]u @U$ EP M@A)9}2t$$\$)EXX [^_]Í&t$$|$(Uzz$j)tt$M\$ $C뭉$fUB 1҅t`M $Bvt$E@D$@@$@U]]us4$[4$u؃]]Ð&UVS]s4$誝1ҋCHC&'D,tB ~4$芝e[^]ËE D,名Uuu]4$Iu ]u]$4$"9tٍU1WVS uV FzG~\@D$ |$$^ uD$ |$$i tC^$蟜1v'T,t@ ~$芜1e[^_]É|,^$\F@F$ZFF 1V ;F@t&,@;F|-U} t]E$ED$)損U(]E Muʀ8R]t1]u]ÍxIuxFuxFu܀xWuրx AuЀx Vuʀx Euċp t9s8fHtDt9r렀xmuxtux up9wa$ia$FD$FD$FD$D$ ]tFC<FC@FCD+a$Ct8 a1ۅt+F aTuC au1]u]1&'virtual dirent* fhandler_proc::readdir(DIR*)%d%p = readdir (%p) (%s)&UWVSL} W EEEEEԐaEE$D${u119s_ v'A9t%B9r aYEȉ$1L[^_]ËEЍRTGD$=a$D$޾Eȋ_G $m뽋G$ aD$BG 4] auG$0] aGD$D$aD$ @aD$|$GD$virtual int fhandler_proc::open(path_conv*, int, int)v'%d = fhandler_proc::open (%p, %d)&'UWVS,EE }uD$E<$t$D$ #OG,xB a1ۅtGE a$U aNt'|$4K aCD$D$ $qUB8$~UZ8D$aÍC$jC@<UljB8]UEx8t<$D$aCw@<((pUljB8]ʍs&'! t€uE҃x8)΅t!<$CD$UB8 FVP<UljB8]‹Ex8t$U|$BfZnaB $$D$GD$YW 4$D$D$D$ ,D$袿 [4$Ou/$(D$D$D$ 谿 th$? a[4] au 1e[^_]É$ $0] aD$@D$aD$ Pa\$D$a$D$D$,D$  eD$D$ T$$[ T$D$$D$ j[ 409Ӊ;9 )$T$D$D$ Z tÉ.1T1t&'D$aE $D$D$ D$GD$(D$,D$0D$TT$,T$0D$ T$@T$HD$fZnaGws$t(a*a(a(a(a(a(a(a(a(a(a(a(a(a(a*a*a*a(a(a(a(a(a*a&at&B $Ptp@D$&aE ( a|$ $D$D$(D$D$CD$ L$ D$$L$,D$($L$0D$4D$DL$E@$ED$ED$ED$ ED$ED$ED$ 1҄tGD$+aE D$ $ED$ED$ ED$ED$ED$ED$^ɉÐ&int get_process_state(long unsigned int)NtQuerySystemInformation: ret = %d, Dos(ret) = %d&'UWVS$@E ƍ'$t$D$D$ } =u!t4$u$4밅tZ 4] aut4$FEe[^_]É$ó $0] aD$@D$,aD$ ,a\$D$EZ navE9BDt tAuESR19^A4Hv C@9rHER<&'bool get_mem_values(long unsigned int, long unsigned int*, long unsigned int*, long unsigned int*, long unsigned int*, long unsigned int*, long unsigned int*)NtQueryVirtualMemory: ret = %d, Dos(ret) = %dUWVS|E$@E`"D$EE$D$HE 'D$E]D$$|$ E\$D$8 t=u&9]r!t<$eE$뚅tl4] au*Et<$E$r@Ee[^_]É4$; $0] aD$@D$.aD$ 0/at$D$1;7s$t&ETЃEA;rD$ED$ ,D$$ED$Ư t=4] a2$藰 $0] aD$@D$.aD$ PaWE1uU tE gtEZERd@øaQ4] au1$0] aD$@D$.aD$ a\$i...ppidexenamewinpidwinexenamestatusuidgidpgidsidcttystatstatmt&'1a1a1a1a1a1a1a1a1a1a1a1a1a1aU]]D$D$$<)E  aC<C8]]ÉU]]D$D$$(E  aC<C8]]ÉU]E]D$% $D$ CC4]]ÐBOOL fhandler_dev_random::crypt_gen_random(void*, unsigned int)Microsoft Base Cryptographic Provider v1.0%E = CryptGenRandom()%E = CryptAquireContext()t&U(]]uC6@UE`H@8@<@@@D]Ð&U(]]uKH$ts8tSDu1KH]u]ECaD$ >aT$薺Ǎt&t  a뮸G% T$$D$v1@1na1ۉPD$ $T$D$D$D$ ԟ xHG <$t$D$G<w $"G8$ՠ >aoU]g&virtual int fhandler_dev_raw::raw_read(void*, unsigned int)t&return -1, set errno to ENOSPCreturn -1, set errno to EACCESread %d bytes direct from fileread variable bytes from file into bufferread %d bytes from file into bufferread %d bytes from buffer (rest %d)UWVS,Eu]4$EVH$<N8+F@VD9sH)9v=4] a\$U D$)߉$跼VH] ]^@$VH$ nN<9F%4] aU U4$U\$T$$ED$ ED$t=UtF89Et] )] E,[^_]ÐF@VDt&U4$T$uU4$T$U4$T$NHEt NHeEuU4$T$e4] au& aB$0] aD$@D$AaD$ PAa臵Őt&NHu4] au  a $0] aD$@D$AaD$ pAa=$0] aD$@D$AaD$ Aa\$O1,F8 ҉ˉEt64] a#$0] aD$@D$AaD$ Aa辴4] a$0] aD$@D$AaD$ AalN<녀VH $0] a)ЉD$D$@D$AaD$ 0Ba\$JF@N84$\$$E D$ED$ ED$U4$T$t3}U4$T$t NH]NHTU4$T$u.t&1VH*v a4$T$Ht&UWVS,E] u]VH$g$u F@F@FD~8VHMtdv'VH$ uYN<9MFDtF9sB);]v]V8\$Љ$ED$I]^D)]]]uE,[^_]À ]}E4$\$|$$ED$ ED$(EtNHUuE;~8tE)EEE농vUN<9t<$)э:L$D$UN<)щNDTT$4$tKNHUu;Eu! a;}ЉEE>a贐͉N<9NDtE1&~8FDwM4$\$$ED$ED$ ED$u@UtNHU4$T$u a %NHE NH,U]] uu}\$4$uUFav뷿Wυtf;uŋF%SuӋN8tFD+F@9r…t;VY eEe[^_]É4$1E0X@ EЃtv$]ED$D$D$ D$D$D$D$D$ D$$D$(\$,XV 0t EЉ$FU v1]u}]É$F,D$V0F,V8F4F$$舶~rEfF D$EЉ$FD$E؉D$ EԉD$rvE؋VFEԉF%mF~ @FL$V>E1ۉ$EEȍP@c_ospeed %d'Invalid t->c_cflag byte size %dSetCommTimeout failed, %EReadTotalTimeoutConstant %d, ReadIntervalTimeout %d, ReadTotalTimeoutMultiplier %dvtime %d, vmin %d flushed file bufferst&UWVSE]54] a} C<*MЈ$ Uш$t $t E݄uCEބuCE%0f= 0 @uKFt uK=4] au0~8tQf<S!F8C1~K CC!$0] aD$@D$xaD$ +yaF8D$F KKK@&tPK0yK pKgC$C(C=Xt%=zC$ C( C C$C(CC$C(C=K=KwF=t%=%C$ C( C _C$ C( C E=tQ=w%=C$C(C=C$C(CC$C(CC$C(CC$ C( C virtual void fhandler_serial::fixup_after_fork(void*)io_status.hEvent %pU]]CuG$4] au]]$0] aD$@D$}aD$ }aCXD${̉$E D$먐virtual void fhandler_serial::fixup_after_exec(void*)v'U]]$ 4] au]]$0] aD$@D$~aD$ }aCXD${̐&'U]]uu $C8F8C AF_LOCAL: socket bound to port %u&'U]] uu}f;tN4$\$$ED$蕿 u1]u}]Ðt&`aZ۸T$虅kv  a[fEfEE4$$E؉D$TD$ tI4] au`aOy$0] a aD$D$0aD$ eaD$h4$U؋T$$TD$ L tI4] au`aU$0] a aD$D$0aD$ aD$gEچfEfEڡ4] am$D$ D$*P.4$h$ED$aD$aD$ 1hLĊ8tBu1҉Љ4$D$uh! t€uҍh)ыPAT$hT$D$;Tt5 aXP$蕌$u aXwP$m( a$%D$_4$\$'8 a8,p!$0] aD$@D$0aD$ АaD$ecconnect'int fhandler_socket::connect(const sockaddr*, int)'accept from unauthorized serverUWVS]lE ( aEnE u؍}ȉt$$E|$D$ED$ ku^Eue[^_]Ív$E@E@$E$|E$E멋U$t$$ED$f IUz8tUEug$E@E@$E$E|E$gE벃z<utEt|$E${EMutw<$u Eb<$t$$E D$r 8D$E$D$8 uUx6G,\$$D$YËG8C8G4$Uȋ$D$ED$4a^K9( aYE( a( a1҉-( a) a=$( aD$yc$t&UWVS,EM E Q x19}&'L@M9|E1ۃ9ӍD$ƉE|8EMU $EL$D$ED$ D$BD$ge[^_]ËT߉4$T$D$PU DC;Z |shutdown&'U]]uu }$t$$蚤 uIt4~t]u}]ÁKuKٍvK͍& a<closevirtual int fhandler_socket::close()%d = fhandler_socket::close()UVuS@ ( a]_E%EfE$D$D$D$$ED$ > v$$K tD譟 =3'tL a t$裟 뮡 a$4] auWEu e[^]Ã$BE@E@$E$aE$"E$0] aD$@D$ЯaD$ at$H|a:R9( aE( a( a1҉-( a) at$( aD$_['virtual int fhandler_socket::ioctl(unsigned int, void*)ioctl%d = ioctl_socket (%x, %x)nonsocket is now %sblockingerror in get_ifconf startedAsync I/O on socket %scancelledtestname: %s name: %s ifr == NULL UWVS]؃L ( a}8} es } es c} }f} ds} ~fU$M |$L$$q K} ~f4] au\E؅ue[^_]Ít&$E؃@E@$E؉$^E؃$E$0] aU D$D$aD$ .at$T$|$Fl4] at8$0] aIaD$D$aD$ MaufaD$EtMAuT$E$j $D$ D$D$$w 뷸(a;7fM $轧D$ D$D$$! -tU<$D$dsuM4] aI$0] aD$@D$aD$ gaDt& aE؅u $ٿE؃@E@$E؉$\E؃$蹿E믋M $ȦD$D$1$?HD$ ! 4] aƅt8$0] a|aD$D$aD$ auaD$CtEHUb} ks ED$E"U EЉ$T$usp4] a]ԋUЍ9s-4] a$|$^t!UЃ E9rԋE9iRE w9$$a<a<a<a<aYaYaCGCGCGCGU룋CG$0] aD$@D$aD$ a\$BO$0] aD$@D$aD$ a|$jB4] a$0] aD$@D$aD$ a4BogfGaG=t fGc1UfGi&9( aE( a( a1҉-( a) a$( aD$TY&'UWVSEE Mt%D$UL$$袠EE[^_]Ít&50 a=4 a}i ˁ@iMȃw"t@t@'EiHEƒʁ@1…ۉE8uFi7w(%D$U ؉D$$$v%֍&ED$~f$ED$R8EU50 a=4 aJ끍&ʁ@Uvˁ@virtual void fhandler_socket::set_close_on_exec(int)t&'set close_on_exec for %s to %dU(f=@\a]]uu vctPK@4] au]u]Ðt&C,t$$0] aD$@D$aD$ PaD$A?c뮍$t$$D$R(뀐U]]CXuE gCX]]&fcygheap_fdnewUE@PE]:v'virtual int fhandler_dev_tape::is_eom(int)end of mediumU]E 1=LtQ=itJ=PtCt 4] au؋]]Í&$0] aD$@D$paD$ a >ʻ붐virtual int fhandler_dev_tape::is_eof(int)end of file&U]E 1=MtK=OtDt 4] au ؋]]$0] aD$@D$0aD$ [aY=э&뵐fhandler_dev_tape::fhandler_dev_tape(int)unit: %dU(]]uu $D$t$ a 4] au ]u]$0] aD$@D$aD$ at$<̍U(]]uu $D$t$ a4] au ]u]$0] aD$@D$aD$ at$<̍U]E ]}}uC<$D$|$D$ ƀu]u}]ÐU$D$mD@T$P8u EuEȉCpgid %d, tty->sid %dUX] J a]uUu }0x9t]u}]Í&fuቱ04] a}1$m J a9,t<,CuJ a(Cut]܅z<$VmE9ur4] au,J a(C뤋St$$0] aD$D$aD$ aD$,T$D$(D$  J a胭u J az J a,J a t$$0] aD$D$aD$ 0a,D$D$CL$ D$virtual bg_check_types fhandler_termios::bg_check(int)closed by masterbg I/O pgid %d, tpgid %d, ctty %d&'U(]J a] u։}(t}O<9At A90t]u}]ÉgX4] au34] au1$0] aD$D$0aD$ ga֡J a(h J a1@<[8t'PtP@H) a)tut# atL a1Iu $裛쐍[pGD$ a$0] aD$D$0a(D$T$0D$EH%p from tty_ownerduplicated to_master %p->%p from tty_ownercan't open tty (%d) handle process %dtty own handle %p&cannot dup handles via server. using old method.open input mutex failed, %Eopen output mutex failed, %EUW}VSu 0K a]F\D$4$ЍT$F\$F<$F\\$D$"\$h4$D$(A<$D$aF\D$$D$|$i}F@F< $D$a@D$I$D$\$}FL dF$0] aD$D$0aD$ a\$D$$0] aD$D$0aD$ a4] a$0] aD$D$0aD$ a4] a$0] aD$D$0aD$ az4] a$0] aD$D$0aD$ 0aI^$: T4$|$$0] aD$D$0aD$ PaT$D$Tvirtual int fhandler_tty_common::dup(fhandler_base*)t&'dup %d failed in DuplicateHandle, %Ev'UWVS,]u C\F\CFH( a$CTD$T$D$D$FTD$ D$cuSa4] au e[^_]$0] aD$D$p aD$ a|$&ɍt&( a$CLD$T$D$D$FLD$ D$cce( a$CPD$T$D$D$FPD$ D$c$( a$D$T$D$D$ED$ D$bEF $( a$D$T$D$D$ED$ D$qbsEF8SXuFX1uT$( a D$D$$D$FXD$ D$b볐t&T$( aD$D$$D$FHD$ D$a&T$( aD$D$$D$FDD$ D$way&T$( aD$D$$D$F@D$ D$'a)U E4$|$} p<14$|$]Ðvirtual int fhandler_tty_slave::tcsetattr(int, const termios*)U(]]uu}D$ $D$aD$ {<D$$D$a1]u}]U1]É'virtual int fhandler_tty_slave::ioctl(unsigned int, void*)%d = ioctl (%x)bg ioctl pgid %d, tpgid %d, ctty %dioctl (%x)U(u4] au}} ]J a(tN&U(]0K a]uu$D$&C\1xi\$0K a$CCX$t$D$7&CC44] au]u]$0] aD$D$paD$ aC\\$D$y&virtual int fhandler_tty_common::close()tty%d <%p,%p> closedCloseHandle (get_output_handle ()<%p>), %ECloseHandle (get_handle ()<%p>), %ECloseHandle (input_available_event<%p>), %Eno more masters left. sending EOFCloseHandle (output_mutex<%p>), %ECloseHandle (input_mutex<%p>), %ECloseHandle (inuse), %ECloseHandle (ioctl_request_event), %ECloseHandle (ioctl_done_event), %ECloseHandle (output_done_event), %EUVS uF@FH/FDFXyFP$^Wu 4] a*FL$?Wu 4] aF<$u4] aFT$[FT$Vu 4] a24$$Vu 4] a4$$Vu 4] aukFX 4] au e1[^]Ë4$Ë4$D$ a$0] aD$D$aV\T$T$D$릋4$D$ a$0] aD$D$aD$S[4$D$ 0a$0] aD$D$aD$t&$0] aD$D$aD$ paFTD$$0] aD$D$aD$ aH&$0] aD$D$aD$ aFLD$$0] aD$D$aD$ 0aFPD$U$Tt4] ag$0] aD$D$aD$ Ra >&$T4] a $0] aD$D$aD$ pa$HT 4] a$0] aD$D$aD$ ak$Sc4] aU$0] aD$D$aD$ a,virtual int fhandler_pty_master::close()freeing tty%d (%d)t&U(]]$C<$1u(4] auHC<u+u$]1]É$SC<߉$SC<ŋC[^]É$CTt$D$D$ a#>$CPt$D$D$ a>뜍v$CLt$D$D$ !a=r$CHt$D$D$ !a=K$CDt$D$D$ &!a= $C@t$D$D$ :!a=virtual void fhandler_pty_master::set_close_on_exec(int)from_slave %p, to_slave %pU(uE u]D$4$^ t ]ø0,aH$BD$BD$B D$  t&U]w a]]É$@8D$ D$D$ t a0,abUU MEv$t a]ÅtA81Q<U]]uu $u=t0K@C8Eu ]u]ËE$D$t$R(cΉ$t$D3hWnd_U(]]uu $u1C8Eu ]u]É$Et$D$D$ .a1ى$t$3U]]D$D$$, a]]Ð&'U]]D$D$$, a]]Ð&'U]E]D$% $D$S CC4]]ÐUE]Ð&U]ˉ$D$L$؋]]Ð&U1]1ÐU1]É'virtual void fhandler_dev_zero::dump()here, fhandler_dev_zeroU4] au]$0] aD$D$/aD$ /a֐UWVS,] u}]t&'UF?u`t3]]>1҉Cۍ&void stack_base(child_info_fork&)bottom %p, top %p, stack %p, size %d, reserve %dcouldn't get memory info, %EUVuSPE]EEEEEE4$t$D$m; E܉$EUЉ()CD 4] au e[^]Ðt&$0] aD$@D$ 5aD$ `5a(D$$t$D$CDD$($)ЉD$ $0] aD$D$ 5aD$ 5aeNint fork_copy(PROCESS_INFORMATION&, const char*, ...)donet&%s pass %d failed, %p..%p, done %d, windows pid %u, %E'/netrel/src/cygwin-1.3.12-1/winsup/cygwin/fork.cc&'child handle %p, low %p, high %p, res %dUWEVSaD$ >a1t) a@@)|@qo$>at$0$$0] aD$@D$`>aD$ >a輹d$>a$0] aD$@D$`>aD$ >at$膹$ ?at) at$@@D$#t&int fork_child(void*&, dll*&, bool&)after longjmp.performed fork fixup.%P: *** recreate_shm areas after fork failedloaded dlls&%P: *** recreate_mmaps_after_fork_failedhParent %p, child 1 first_dll %p, load_dlls %d Impersonate for forked child failed: %EImpersonation of child, token: %dchild is running. pid %d, ppid %d, stack here %p&'UWVS4] a]} up( at04] a$` $@aD$N4] aft) aJDt(@Paa(@ a${蕓( a$D$e$莚>$@aD$$ -t) a@ $,t) a@@$,K!u^8) a8) at&Bu.uP a$!{WGe1[^_] D$$P$ Aa $, aD$D$C$MAaD$&$`Aa$0] aD$D$@aD$ AaD$D$D$a^$0] aD$D$@aD$ Aa8Fc $0] aD$@D$@aD$ BaD$( a$0] aJ aD$@D$@aD$ `BaT$@l$D$跴Qvoid slow_pid_reuse(void*)couldn't create last_fork_proc, %EU( < av 11ɣ< a; aD$E( aD$D$; a$T$D$ D$k+t < a]$0] a< a1D$D$nEa; aD$ Ea訳$8* < acv'int fork_parent(void*&, dll*&, bool&, void*, child_info_fork&)CONOUT$waiting for longjmpuser/cygwin datalinked dll data/bsschild loading dllsloaded dll data/bsscopying data/bss for a loaded dllcopying data/bss of a linked dllchild is alive (but stopped)CreateProcessA failed, %E&CreateProcess (%s, %s, 0, 0, 1, %x, 0, 0, %p, %p)&'unable to allocate forker_finished event, %Eunable to allocate subproc_ready event, %Ecouldn't create handle to myself for child, %EUW}VSEEEE]( a$0Ã1$FaD$@D$D$ J aD$D$D$3'= 5 $''( a@ ~EU( aT$ D$$D$D$D$D$' E , a1=@. at 5<. atU a@$ $K aD$D$D$ -t $K aD$D$D$ -p$UtD$T$D$ ]UpB@$( aUEDU1fE,H8t x4tUUB(jaJ a=4] a*p$f1ҡ( ax EUD$ǡJ at$t$ $D$ET$$D$\$D$D$ )Uƃ($$F( ap U1naM@$t$x4J a|T$$1ɋ( aX8t x4tkU؋|PU|P| J at|1󥉅x$D$@D$E؉$( a E؅E܅uottt$#ptp$m#t|ue[^_]x$$)#넉$#mt&E؉$tU؉$D$D$D$ Fa&=4] aD$Fa aU؉$( aD$ aD$ aD$ aD$D$UD$ED$ (D$8D$( aD$,( aD$$D$0aD$4`xa-l$bt, a5, a, a, a9P0t , au4] asD$ GaE؉$FD$FD$ FD$F D$D${, a, a, a, a9P0t , auqpU؉$D$lrtU؉$UD$D$ GaD$CE8, a , a, ad[, a9P0t , au4] aD$3GaU؉$CD$CD$ CD$C D$D$J, a, a, a, a9P0t , auqpE؉$T$;t$E܃$p$E?|u[x$X, ar$0] aD$@D$FaD$ `GaȨ, a, a$0] aD$@D$FaD$ Ga苨d, a6$0] aD$@D$FaD$ GaX)$Q $ED$NTUE܉$#@7a54] aujt$p$t1ҋ ( aX8t x4tuU1$.Q $0] aD$D$FaD$ Gaem$0] aJ aUD$D$FaD$D$ED$ Ha\$D$T$ 6t&11YU U$t$x$0] aD$D$FaD$ @Ha豦U$?$0] aD$D$FaD$ Ha$0] aD$D$FaD$ Ha뤃int fork()%d = fork()The heap has been split, CYGWIN can't fork this process.&Increase the heap_chunk_size in the registry and try again.-1 = fork (), split heapenteringUWVS]ȁ ( ac4] a EJ aEEB9($: E؉$E܉D$ED$i á4] au[Eȅu ؍e[^_]Ã$Eȃ@E@$Eȉ$轼Eȃ$E믍v$0] aD$D$SaD$ Sa\$XxvE؉$E܉D$ED$D$ D$5Ƃ4$0] aD$D$SaD$ Ta$0] aD$D$SaD$ @Taǣ a 4] auXEȅu $Eȃ@E@$Eȉ$蕻Eȃ$E$0] aD$D$SaD$ |Ta7낐t&$0] aD$@D$SaD$ Ta &+9( aE( a( a1҉-( a) ap$( aD$YWt&U$) a$]]int vfork()exiting vfork, res %d%d = vfork()exiting vfork, pid %dUWVSLEE̅E̋Ẽ$E >UUԋM̉hEЉdḾ9w%t&']̃d9v桤( a1$rQ4] aK4] au]E؅ue[^_]Ðt&$E؃@E@$E؉$cE؃$E$0] aD$@D$WaD$ Wa\$v$0] aD$@D$WaD$ Wa\$Ԡ@Ẻhd9w&]̃d9v( a]؅( a$QŰxSE̋54] au$t@$0] aD$@D$WaD$ Wa\$uMۅut& 9( aYE( a( a1-( a=) a=$( aD$9$t& $ ) a ) aP$-$ ) aá ) aPD$$D$踥 ) a$ ) a\$P] $%U,WVS"]} UuCuCC%u؉C EC9s3Bt+t&'\t[f9sBu'fy\$$s,[^_]É\$$t&Bu\J @9sBt f9sBuy&UWVSu} f>{tS'$D${t&$Et$|$D$ 3uϋE[^_]É4$|$Hf~}uf~u⍶U<WVS ] M9tf9u1Ήft.t&f[f{f}ifu׋ufu'U$T$U<1[^_]19w)v;ǃ[[,St9vڋE뱋tf,td9ًst&f9rN'ffuU$T$*KU{Ss{t"}Sbuɉكf]tftf]t fuQfS ꋕ~st&f]t*ft'f]t fu6f-HOME&Uuu]f>~t ]u]ËE@ tF^M ftf/tAftf/uE 8uh$^aXt5U tfAfuffuE n$‰RJ몋E $␐&U<WVS] ET$\$$Ƌt8v'??*fufU $T$u] ;tR] S t 1<[^_]ËU zRD$ ba)L$$D$7빋S u%=uEU $T$:뎋U J 9t f*,f*[؃!fuf[!D$]V$ tf[!tat&ff-t؃]uf]] K ^]tf-Ãff!땃Bf?E H 5t&UEEE E ]gU(C1Uf:u]Ít&T$$D$E D$ ِUWVSEu} t&ff/t9v'%ftEfftf/uԋEu&ωf/u/ff/t뇉|$Et$\$ $ED$Č[^_]fE]\$$ED$1҅uϋE@ tf/tE%=@tJ=tE@E$ED$덉\$E$ED$űE%=@uf/fGU,@WVSE fqUE$D$+U1PraB @t z&4$ׅtnx.u Uf:.u] PfBffuE U$ET$D$tTEU\$$ET$D$ tUB @t4$R,@[^_]É4$qU fRUBu1ЋE\$$opU$D$Ru E@ tƸ듐UWVS } GЍG$T$GøGu%G~HxHy_U&'fuE)$Gt8t$E$O@41H [^_]ËO$FGUWVS ] ;]}sh?Z?*tm atO a$t  a$tr E9u;]r1f?EE [^_]Ef9t;]EtՉ<$E\$D$:EuEft΁[IEEfUt 1f!Et 5af]tTE aEv' f-tV a$tr EU$t 9t%f]uEE9EE҉ a$tJ UEt 9)ҋMt S a$t 9E wf]s f-t&f;Utf]uKE名t&f;UwUf9SrE ‰Efv'UWVS }WtMGK4t! uKuWU [^_]C$Cېt& [^_]Ð&U@CEuu ]f8u2.fF @t$V ]u]É$$\$̐v'USM] ACACA fC ACACACACAS QC$S(A Q$C,S0A(Q,C4S8A0CLG9|E 1Ɉ8L1;8}2Ɖ$GL$vU P;:|ӋR19}SM LubA u GV9|19}%Lu$BE G;x|㡀 aU؉1CBvCA v~u N $U JDG9ω|u VOH< adA af4$D$/t @ƿ"a kݐE؉F&-ayԐUMtCƒ0 v8,t3-t.+t)At!ƒ0 v,t-t +uލ&]ÍUVMSutE1ۍBЃ w8t&\B9)A@Ѓ v1;]|E ȉ'[^]1&U(]M]uu $\$D$D$ o1tEi9:t ȋ]u]É\$A $D$D$ ;.1tыU)9:u\$A $D$D$ <1tE돍U]E] u1-t4+t&$\$1҅tt‹]Ћu]@׍𐐍&U]U] u[^]1v'U9щSt5t&&B a8B auACu1;[]1UWVSu1:H![^_] 't$B a8B auC Gu1ĉt&Ut$D$61҃t]ÉU]t($D$u1;]]øUt a]ÉUet a]ÉUtT$$1҃t]ÍUt a]ÉUtT$$Z1҃t a]Ðv'U au].]8&U8]ӉuΉ}$\$|$t$D$D$ D$D$}] u]ÉU(]ӉuΉ}f$\$|$t$D$D$ }]u]ÐUWVS uϜËVÜK׉19M wKE 1ۋ~ )Mى؃u51;U s4uB;U r؃ [^_];U sC;]v捴&__off64_t mmap_record::map_map(long long int, long unsigned int)-1 = map_map (): %Ev'UWVS MQI)UMfD$UMD$ $L$ána@uC}؋MOt*&MھA C 4OuދEUe[^_]MAٚ}؉4$uljt$D$ED$ i{4] au $0] aD$@D$`aD$ aBΉE E4$|$xEEE Ena@}؋]OtI}ЋEUEEEUԋMԋUԅxVMY M( OuЙuE1EȋEUȋEM̋U蘙uE1EȋEŰU]M̋rjM$E|$L$D$ 11:BOOL mmap_record::unmap_map(char*, long unsigned int)-1 = unmap_map (): %Et&UWVSEu ]H)贘‰1裘\蚘‰؉1ÉEna@]}Kt/'MA F! Ku5UZ؍X%‰؉1@t}W t&'K 1u ue[^_]EPΗD$؍E<$D$ \$`14] a$$0] aD$D$aD$ a?&'UWVSna}@G EtEtEËG Kщ1t]'N؋GۖD$$W MuL$ED$ Sue[^_]Ít&Ut$M u$V9r ^9r1ҋ$Ћt$]É)S‰؉1ËF  !ō&'UE8tBPD$( aD$T$$D$ D$]Ðt&[a[a損&'UEU 8t]Ze]Ð&U]]CC C C$h]]ÐU]]CC C C$h\]]ÐUVSuVBF҉~t&C u V$BFM[^])$!֐&'UVSuVBF҉~t&C u V$BFM[^]$void mmap_record::alloc_map()-1 = alloc_map (): %Ev'UWVS}G;GE EDEDED EDE DE$DE(DE,D G4貓VЍX襓D$‰؉1@$%F na@uWBWe[^_]ËF$FD$D$ED$ u4] at$0] aD$D$AaD$ _a;뒐G$GD$cG&UWVS,UE UUEz EUZ9]EEM܋0QU1ҋE9U|V9ErOu1Yu}\\S‰؉1B؋E196|(9v$EX&EE$9]|1,[^_]ËUE܋ MY֋M =U1\ؑ‰؉1NjE;p}1ۋU|$؉$@uEF$;p|늋M냐t&UWVS E]PC9}3}ۋM <Mt&MH9M MsC$9| [^_]Ëp1t0(‰1U9UvNjEPUWVS } U؋@ EPB9}dމ'UG3P$H$AD3AD3A D3 AD3AD3AD3AD3A D3 E$PB9|BUB [^_]É$q&UE$@HD$']ÐU]]$(HCC ]]ÐU]]$(CC ]]ÐUEE]&'UEE]&'UWVS1ۃEx9}CE졤( aE&'} t:uU u A;BtC9|1[^_]ËUUx Սt&UuUu ]]V t( a@FS;St4SBSD]u]ÍBC$CD$SÍv'US]M SB9} TASB9|BC[]Ívchar* mmap64(char*, unsigned int, int, int, int, long long int)-1 = mmap(): EINVALmmapnot_opennot open%x = mmap() succeeded-1 = mmap(): ENOMEMcygheap_fdmanip-1 = mmap(): EBADF&addr %x, len %d, prot %x, flags %x, fd %d, off %D&'UWVS4] a]u} ~\aQ D$ 4$|$D$ uN4$tt<؃tu+t1ҋE5\auE uU' a 4] au e[^_]$0] aD$D$`aD$ a4ͺa\a=1 \aH E؉01044!pU !tD1ȃ}lMMD$E$ED$ D$ EAE‰h@%H E}E aa}=\aM$L$Tt }1ETLt$na@u}t LhE\$t $LD$lL$ pD$\$L$R\d@ }E]pEdL]tMMEEɉ]lUE]( aa@DnD1҉1;{}71UE$T$u\G$;{|݋\aEM;J| a 54] aE$0] aD$D$aD$ da'E;E s,&'EM؉ $D$tC;] rE$MUËBL$MD$E L$$D$ Rd\$ƋE$tN4] au a1$0] aD$D$aD$ yat$&뻋=4] at$0] aD$D$aD$ a&$0] aEU D$MD$aD$ aD$T$L$&CU a]Ðv'U a]Ðv'U a]Ðv'U a]Ít&'virtual void* fhandler_disk_file::mmap(char**, unsigned int, long unsigned int, int, long long int)%x = MapViewOfFileEx (h:%x, access:%x, 0, off:%D, len:%d, addr:%x)-1 = mmap(): address shift with MAP_FIXED given/netrel/src/cygwin-1.3.12-1/winsup/cygwin/mmap.cc&'-1 = mmap(): MapViewOfFileEx failed with %E-1 = mmap(): CreateFileMapping failed with %Enamed sharingt&UWVS\EU }Eu1ETna@t <$8tE4$<$Ë<$1ҋu8D$D$J a‰$L$D$ J!T$kg4$MD$ 1ET$UL$T$tM D$04] aÅtbD$E$0] aL$ MD$1ED$@D$ aD$ at$T$L$$tU D$("tnEM ;tR a4] au4$e[^_]$0] aD$D$ aD$ a"¸@a?.4] at$0] aD$D$ aD$ at&E 댸@a2 4] aj$0] aD$D$ aD$ a!AG,މ$\$9ٍ&! t€u҃)Jx( *B a*Jy4] au_D$M\$ $7 <$\$D$J aD$ $D$D$_$0] aD$@D$ aD$ a xUE$诗E $1]Ð&UE$ED$舠t1]ø@a\<損t&U(]E ]D$$E\$D$ED$ ED$9؋]]Íint mprotect(char*, unsigned int, int)-1 = mprotect (): invalid prot value0 = mprotect ()-1 = mprotect (): %Emprotect (addr %x, len %d, prot %x)U8]4] a]uu}} K۸tr+KtM54] au a]u}]$0] aD$D$`aD$ ab뽸t&'D$E4$|$D$ it8 4] au1둍t&$0] aD$D$`aD$ aҸ@a 4] aE$0] aD$D$`aD$ at&t@M >4t&$0] aD$D$`aD$ at$|$\$Pt&'int fixup_mmaps_after_fork(void*)succeededReadProcessMemory failed for MAP_PRIVATE address %p, %E&base address fails to match requested address %p fd %d, h %x, access %x, offset %d, size %d, address %p'recreate_mmaps_after_fork, mmapped_areas %pt&UWVSL 4] aW\a1E1;BMEE1;HEE}Ћ54] aׅ<$OW ËGM؋OMԋ wT$UԉD$E؉$T$D$ t$Qh\$<$E]܅ tr<$JEEE$U;Pi\aEM;J(4] au 1e[^_]$0] aD$@D$aD$ a΍t&_O9s<$\$t+rD$M\$\$ $D$ |tqWËG9r+GD$ a$0] aD$D$aD$24GD$ `a$0] aD$D$aɍt&O WMO_MO\$D$ET$UL$$$0] aD$@D$aD$ aD$T$ $0] a\aD$@D$aD$ aD$uwU} ]]t ]]Ít&tu$[aT a[a{$[a"cygheap_fdgetU$D$]ÉU$D$f]Ð_OVERLAPPED* wsock_event::prepare()%d = wsock_event::prepare ()&'U($]]u1K~ teCsCC CC4] au ]u]$0] aD$@D$`aD$ at$ʍt&苏u$*n 뢐t&int wsock_event::wait(int, DWORD*)CancelIo() %E, fallback to blocking io&UWVS,]tL au D$U$EED$D$D$ #~ tlr6@t$'Gm $| e[^_]Í&4$CD$ED$ED$ D$| t}뫉4$g u]4] au-4$CD$ED$ED$ D$| e$0] aD$@D$`aD$ a%$'+cygheap_fdmanipU(D$E$E]D$ D$MxDE$E a}u؋]]Í a|ۀ}E au1̸ aUvSOCKET set_socket_inheritance(unsigned int)DuplicateHandle succeeded osock %p, sock %pDuplicateHandle failed %Ev'U(]( a]D$$D$E\$D$ D$D$tJ4] auE]]t&$0] aED$@D$aD$ a\$D$A$0] aD$D$aD$ ,a뙐&UM]ʉȁ Љʁ  Ít&U]ʍv'UU] ÍUE$]void dump_protoent(protoent*)protoent %s %x %xU(Ut 4] au ]Í$0] aD$@D$aD$ aD$BD$BD$뻐t&UuE]$qk ou5t\4$Gu]]Í&+$m1҉멍&'U]]}t ]]É$j 255.255.255.255Uuu]] }$t1ɋ]ȋu}]ÉغSu߉4$j E@ttEa18uӐU]]t ]]É$i 荶UE$oy ]É%=tUUE % ‰$]Á%&%WSAEINTRWSAEWOULDBLOCKWSAEINPROGRESSWSAEALREADYWSAENOTSOCKWSAEDESTADDRREQWSAEMSGSIZEWSAEPROTOTYPEWSAENOPROTOOPTWSAEPROTONOSUPPORTWSAESOCKTNOSUPPORTWSAEOPNOTSUPPWSAEPFNOSUPPORTWSAEAFNOSUPPORTWSAEADDRINUSEWSAEADDRNOTAVAILWSAENETDOWNWSAENETUNREACHWSAENETRESETWSAECONNABORTEDWSAECONNRESETWSAENOBUFSWSAEISCONNWSAENOTCONNWSAESHUTDOWNWSAETOOMANYREFSWSAETIMEDOUTWSAECONNREFUSEDWSAELOOPWSAENAMETOOLONGWSAEHOSTDOWNWSAEHOSTUNREACHWSAENOTEMPTYWSAEPROCLIMWSAEUSERSWSAEDQUOTWSAESTALEWSAEREMOTEWSAEINVALWSAEFAULTNOERRORU D aUt&1 ;D at D au]ËD avoid __set_winsock_errno(const char*, int)%s:%d - winsock error %d -> errno %dv'U8]uƉ}c $¡ a4] au ]u}]$0] aD$D$aD$ at$|$\$T$[ Unknown hostHost name lookup failureUnknown server errorNo address associated with nameUc F a1ɅtF at&;t A:uIF atF a \aÍ \at&UVSut0t'$5uu[^]![^]Ív'UWVS1ۃ }7tv'CuD$C$1t&K~t&$tK [^_]1&UWVS1ۃ }tv'CuD$C$蓾1t>K~5t&E $t'$D$E D$Kω [^_]1void free_protoent_ptr(protoent*&)protoent: %sU]]t!4] au4u@$C]]Í$舽֍t&$0] aD$@D$aD$ #aD$v 랐protoent* dup_protoent_ptr(protoent*)protoent: copied %sU(u1u]tO$D$ E1t04] aFfBuqFuI 4] auE]u]É$0] aED$@D$aD$ aD$ $]ECuE$s1룉$]蔼ty$0] aD$@D$aD$ #aD$ U9cygwin_getprotobynameUuu] 1҅t ]Ћu]c$Q4$?` $1t "$$듸 acygwin_getprotobynumber&'U]$5ËE$_ $t%~$k]]øaʐfhandler_socket* fdsock(int&, const char*, unsigned int)fd %d, name '%s', soc %p&'not setting socket inheritance since winsock2_active %d&reset socket inheritance since winsock2_active %d&'UWVS}f=@\auUna@ 4] a( a$D$D$ D$D$E D$ 跣p É$D$D$H4] aue[^_]Í&$0] aD$@D$aD$ at$D$E D$$0] aD$@D$aD$ aD$*4$D$D$4] a $0] a1f=@\aD$@D$aD$ aD$뛉4$uint cygwin_socket(int, int, int)cygwin_socket/dev/streamsocket/dev/dgsocket%d = socket (%d, %d, %d)/dev/tcp/dev/udpsocket (%d, %d, %d)UWEVS<$u} D$D$E܅xv 4] a $1U|$H!ЉD$ ^ /atAaT$E܉$L$1tp8x<]ܡ4] au1}E aue[^_]Ít& a$0] aED$D$aD$ Oa\$t$|$D$s떐ha^qaT!ay`t&$0] aED$@D$aD$ zat$|$D$ &int cygwin_sendto(int, const void*, int, unsigned int, const sockaddr*, int)%d = sendto (%d, %x, %x, %x)U8uEu]}} $ptEU辻$E|$t$D$ ED$ED$9á4] au؋u]}]$0] aED$D$ aD$ED$ ma\$|$t$D$ 뱻롐int cygwin_recvfrom(int, char*, int, int, sockaddr*, int*)t&%d = recvfrom (%d, %x, %x, %x)U8uEu }}]$ É腺ta4] au؋u]}]Ít&$0] aMED$D$aD$ a\$L$t$|$D$ 뭋EuEtMErj$EMt$D$ E|$L$D$C int cygwin_setsockopt(int, int, int, const void*, int)cygwin_setsockopterror%d = setsockopt (%d, %d, %x (%s), %x, %d)setsockopt optval=%xSO_DEBUGSO_KEEPALIVESO_REUSEADDRSO_ACCEPTCONNSO_USELOOPBACKSO_BROADCASTSO_ERRORSO_OOBINLINESO_LINGERSO_DONTROUTEUWVS른a]늋U$~MoEa(tEaEaEatZ& t@EaEatEaEaEaEa|int cygwin_connect(int, const sockaddr*, int)%d = connect (%d, %x, %x)&U8}E} ]u$UÉWu)۾t$E|$D$Rơ4] au]Ћu}]Í$0] aED$D$aD$ED$ at$|$D$F뭍t&void free_servent_ptr(servent*&)servent: %sU]]t(4] auDu.P u@$\]]É$觫܍v$蘫ƍt&$0] aD$@D$aD$ aD$뎉servent* dup_servent_ptr(servent*)servent: copied %sv'U(u1u]$D$3E1ty4] aFfBFt$]CtF D$$wuuF t$]C tL 4] au E]u]$0] aED$@D$aD$ aD$XčE$51벐F D$$-wmF h$]Ott&$0] aD$@D$aD$ aD$Ucygwin_getservbynameservent* cygwin_getservbyname(const char*, const char*)%x = getservbyname (%s, %s)U(uu}} ]Dut5t1]u}]É苷$y4$É|$M $UtS4] au =0D$ a$0] aD$D$a|$t$D$j붸Ra9cygwin_getservbyportservent* cygwin_getservbyport(int, const char*)%x = getservbyport (%d, %s)t&U(uu }}]t 1҅uYU$C<$Ét$L $Zte4] au]Ћu}]ÉD$ a$0] aD$D$at$|$D$%맍vaIAcygwin_gethostnameint cygwin_gethostname(char*, unsigned int)name %s v'U(]] uuډu. atb4$\$J @tP4] au11ң \a]Ћu]É$0] aD$@D$@aD$ lat$뿍]E4$D$nsu^a듐void free_hostent_ptr(hostent*&)hostent: %sU]]t. 4] au7u%@$@ $]]É$A$0] aD$@D$@aD$ aaD$3 hostent* dup_hostent_ptr(hostent*)hostent: copied %sv'U(u1u]th$D$פE1tI4] aF]fBF fC FwF uF4] au E]u]$0] aED$@D$aD$ #aD$,ĉ$]F D$gC uE$U1랐$]Ctr$!tT$0] aD$@D$aD$ aaD$Ucygwin_gethostbyname'hostent* cygwin_gethostbyname(const char*)%d.%d.%d.%dh_name %s&'U(uu]:1҅t ]Ћu]É4$D$ aD$^aD$ ^aD$0^aD$@^a Z$ H4$F $(tW4] au1 \a ZD$ a$0] aD$@D$ aD$9벸 aXC룐5]a1]a]a]a^af]a]a^a]a ^a ]a]a0^a]a@^a]af]a^a]acygwin_gethostbyaddr'hostent* cygwin_gethostbyaddr(const char*, int, int)v'U(uu}} ]蒧1҅t]Ћu}]蘯$K膯4$ËE|$D$D $[tT4] au1 \a</D$ a$0] aD$@D$ aD$o뵸~ ay릐int cygwin_accept(int, sockaddr*, int*)%d = accept (%d, %x, %x)&'U8]] uuۉ}t4;t]u}]Ðt&u܋E$t$\$t$ǡ4] au$0] aED$D$ aD$  a|$D$\$t$9Ðint cygwin_bind(int, const sockaddr*, int)%d = bind (%d, %x, %d)&'U8]] uu؉}"t]Ћu}]ËE$t$\$t$Vǡ4] au$0] aED$D$aD$ +a|$D$\$t$0Í&'int cygwin_getsockname(int, sockaddr*, int*)%d = getsockname (%d, %x, %d)t&U8]]uu ؉}}t]u}]ÍuE<$tt$t$\$ЍE4] auE$0] aED$D$aD$ -aD$|$t$\$int cygwin_listen(int, int)%d = listen (%d, %d)t&U(uu]}} 4$t$|$NË 4] au؋u]}]Ív$0] aD$D$ aD$ 'a\$t$|$`int cygwin_shutdown(int, int)%d = shutdown (%d, %d)&UH] ( a]؉uɾ}}<$t$E D$םƋ4] aubE؅u]u}]Ðt&$cE؃@E@$E؉$E؃$cE$0] aE D$D$aD$ at$|$D$6f[`9( a'E( a( a1҉-( a) a $( aD$t&UF a1҅MtF av';t B8u]R F anot_opennot open: Resolver internal errorResolver error 0 (no error)Unknown resolver errort&U(}}]ut賟5( ayaѨE{~ HuEa趨Ut8<$D$$|$c$D$aD$b \a$tE$dD$$\$b$D$aD$b]u}]á \aatata뜐&int cygwin_getpeername(int, sockaddr*, int*)%d = getpeername %d&'U(]]}؉ut]u}]Í&E ֞uًE$Wt$E \$D$>Nj4] at=t@4$$0] aD$D$ aD$ Ma|$D$jƍ&int cygwin_recv(int, void*, int, unsigned int)%d = recv (%d, %x, %x, %x)U8uEu }}]$pÉ՝uutq$Et$|$D$ ֊á4] au؋u]}]$0] aED$D$@aD$ED$ oa\$t$|$D$ 뱻롐t&int cygwin_send(int, const void*, int, unsigned int)%d = send (%d, %x, %d, %x)U8uEu }}]$pÉuutq$Et$|$D$ 6á4] au؋u]}]$0] aED$D$@aD$ED$ ua\$t$|$D$ 뱻SystemSYSTEMVxDTcpipMSTCPParametersCurrentControlSetServicesDomain/netrel/src/cygwin-1.3.12-1/winsup/cygwin/net.cc&'UX}U }]u蔛na;aB $tBaB Ia$tMaB Sa$tYaD$]؉$D$t$ D$daD$vaL$T$D$ &F}t'$E D$a|$D$ D$a]Jt+az$K]Ћu}]É$K1/0:UHaa}}]]uEfEfEfEfUfEwD$EE$\$f zteE܉]u}]$ED$D$f zuNjEcET$ UЃc$D$ Ẻ\$D$f uD$U̍]\$$f ]EEЋ9UH]̋]EE%0fEE9Es6Uԋ]ЍRUi\ ]̋9TtEԋE9Erы]ЋE9Urw$aatataatatatatatatatatatatatatataaatatataaEfE% fEEtok4$D$E<06} hs E} hs |} fs t7} fs O} dst%E܃ WЃ 9]̋]UԍN]̍RDAfFfA뺋EԍN]̍@ӋB Z ԁ} js tu} js |$} ks uE؋Ui\ FiE؍^1ɋUi\ЉEȉE;rDABvf*DFUԍN]̍RD 54$D$a<E4$D$-E}0tethE4$vEfЋE% fEEfE% fEEppp4$2floF-EfЋE% fEEslp4$SYSTEM\CurrentControlSet\Services\Tcpip\LinkageSYSTEM\CurrentControlSet\Services\\Parameters\TcpipIPAddressSubnetMaskNdisWanDhcpIPAddressDhcpSubnetMaskBindUWVS1ہLE@T$$D$@aD$D$ af;vaafaG<$\$<$D$a$|$D$D$ T$zt3$XxkEe[^_]ÐD$aD$D$ $t$D$;t$kD$aD$D$ $|$T$هutt UJȃ 9`޿appp$CD$tƃ@@@@$/e} hs E} hs } fs ts} fs } dst]$J$ƍF+P~lx]$Ff@fF{$[Nj$K FfB} js tF} js |} ks )@FfFf@B${D$aD$D$ $|$D$}KD$aD$D$ $T$D$-} hs tI} hs } fs t} fs } ds<$<$Ǎ}t&f% Ћfeth$D$aD$D$ $D$t$Lt$Y\$\$$D$aD$D$ t$H!Enum\Network\MSTCPDriverSystem\CurrentControlSet\Services\Class\IPMaskSystem\CurrentControlSet\Services\Class\Net\AdapterNameMS$PPPUWVS\affE@D$ $D$#aD$D$节1҃tU e[^_]D$D$$D$T$T$ D$D$с =zt덍&D$D$ $D$D$辁uD$#aD$D$ $T$D$貁ue$a($a 󥍝$T$$\$D$D$ D$ t$D$aD$D$ $\$T$D$)$aD$D$ $|$D$蛀ua UJȃ 9} hs } hs } fs } fs } ds@$a$~l$a $D$$\$D$D$ T$t$~ aD$m$aD$D$ $\$D$[uغy$a蘉ulfЋ% feth$D$$}$}f% Ћfppp$둉$莾Ff@fFA$l<$b ؃FfBŁ} js tO} js |} ks B@f@fB@<$6$|U255.0.0.0U]]u}Ou;?{ a]Ћu}]flowGGGGG} hs Y} hs } fs t&} fs } dst a{$"FfGfF1H%󫍅HH$zOnaB u1B $t$E D$1$E D$$E D$$腺D$*aD Bt&} js t:} js |} ks GT"fGGfG G$*a襻int cygwin_rcmd(char**, short unsigned int, char*, char*, char*, int*)%d = rcmd (...)&UWVS]؃lE ( auE ɋ}EІt\E؅u e[^_]Ã$}HE؃@E@$E؉$;E؃$]HE묐ut uEtEsD$Eȉ$D$ԤU̅Et=T$E$D$諤UcEU}E a14$EU|$D$ET$ UD$1}H!ЉD$% E@tAD$haẺ$ED$N]U̅ۉUtD$haE$ED$' 4] auy}E auVE؅uEq$FE؃@E@$E؉$E؃$FE뱸 aV$0] aUD$D$ ,aD$ g,aT$9W a}E a# a C9( amE( a( a1҉-( a) aQ$( aD$I8int cygwin_rresvport(int*)%d = rresvport (%d)t&UX] ( a]؉uɋu}諃tgE؅u]u}]Ã$SEE؃@E@$E؉$E؃$3EE맍&D$EȻ$}D$͡E̅x)4$" t<$D$haD$]̋=4] at4$0] a1D$D$|/aD$ /a\$tD$?}E auUE؅u$YDE؃@E@$E؉$E؃$9DE벸 a蹊땍&@9( abE( a( a1҉-( a) aF$( aD$-int cygwin_rexec(char**, short unsigned int, char*, char*, char*, int*)%d = rexec (...)UWVS]؃lE ( auE ɋ}EB0t\E؅u e[^_]Ã$BE؃@E@$E؉$E؃$BE묐Yut JuEtEWsD$Eȉ$D$4U̅Et$UEЋMEEԄEĉE a14$EU|$MD$EL$ D$1}H!ЉD$ E@tAD$haẺ$ED$ǿuM̅MtD$haE$ED$蠿4] auy}E auVE؅uE$oAE؃@E@$E؉$-E؃$OAE뱸 aχ$0] aMD$D$1aD$ 2aL$W a艇t&=9( aE( a( a1҉-( a) a$( aD$xt&int socketpair(int, int, int, int*)socketpair%d = socketpair (...)connect erroraccept errorgetsockname errorbind failedsecond socket call failedfirst socket call failed&'UuEu]]}} $ED$D$c}t9}E au]u}]Ít& aԋEHvq aj4] au,}E auE멸 a覅t&$0] aED$D$4aD$ 5aD$맍vGv  ak녃}}UfE$T$D$SE\F}E a/$|$D$ $EfEfEED$D$| REE؉D$E$D$ $|$D$P E @c$>ESD$E$E؉D$ r$EȉD$D$ ] }Etb4$hatqaD$ED$@8x13( a$0u ^a$^aD$,&tD$^a$|(~1ɉ ^a4$&뤺"UX]^at =^auRH~Bi^a9| 1]]Ívip^aBى뷍( a$Cu^a$^aD$B%tD$^a$'~1^a$,%먐U1]Ð&U%i1҉]Ð&Ui1ɉ]Ð&U1]Ð&UX]^a]ut =^au3H~);^a}؋p^a؋]u]1С( a$u^a$^aD$$tD$^a$k&~1^a4$$ cygheap_fdmanip&'UWHVSgD^at=^a\HHE<$D$D$D$ |LP}u$ED$ ePD$$ED$E$ a@ D$ݚ a$D$@D$A a@ D$Sa$i1҄t< tc< t_BuPD$$ED$T aHu e[^_]øSaf뛍v( a$u ^a$^a|$"t/D$^a\$V$~1^a4$!^a/tA4] a$0] aED$@D$WaD$ XaD$|${뺋EF//uE-E@9;U://(/t UE‰/B@/GEGpath(%s), set_has_acls(%d)%s is a non-directory/netrel/src/cygwin-1.3.12-1/winsup/cygwin/path.ccsrcv'UWVSӁƅrD( atƅs- D11҉d11ɉ 1҉$14181ɉ01҉,11 1ƀƀ<t x 1҉(G $D$J9v91t ~:ytt@ a@t$X$Dt|$ ȉD$ +\t(=@ a\uD8t\uD D(\u34t#8tډ$A@ atotD$/$`9ht h/t59t+9th\yt&/u߀ty&hzt/D<st$D(u4 D,tlstnD! t€u҃*D؋D|\t&Ƹ_a2D\DrtD D(uF41҃t tu+D PuĊ8tBu1҉ЍX9sfue[^_]Ã$@@$$蜫$1뤸_a2KtD x_aKu޸_aKTȍD_axJD1L$΁4$wuDƇD ,4] auy auDu&D  t D _a󦋍D t D K$0] aDDD$@D$`_aD$ _aD$T$ D$ɑ84] auD($0] aDD$@D$`_aD$ `aD$w뺐t&$D$脭ƅr\suwt4$thD 4tu,G8>$\$D$dd hh $蛭ىƋ! t€uҍ)=wD$/$豰L931ƅWBu`9hr/Fh4$D$裫ݰ/뾍<$D$腫1ɉȈĊ8tBu1҉Љ_$謐=:01D4D1ɉ4Ћ\uD4,EDX ։W$ct{:tlC1utapenphysicaldrivestnstfdscdsdUWVS,] }غsa3>tUD$ E܉$D$U9v:tsaE=t/,[^_]Éغsa =t:D$ E؉$D${U9v:t $pt{:uB aӍ&E#saN=t>D$ ]ED$$U9v:t-#E&saD$ ]ED$$VU9v:tE-saSBBoa8$D$xax )P񐐐int normalize_win32_path(const char*, char*)%s = normalize_win32_path (%s)ENAMETOOLONG = normalize_win32_path (%s)\/t&UWVS,]u ]E#4K al?H(tg/tN4$E\$UD$T$ ru4K al?<$p?(.u(uE]4K al?UuE T$$4] a$0] aE D$@D$aD$ !a\$D$o$0] aE D$@D$aD$ >aD$Uot&4$0K aVBV;P rUWVSU E]UUU싰l?$h>D$~|$wtUB aBt11D$?]$D$haD$ cygdrive prefixcygdrive flagst&UWEVSLu$D$?!E؍h>$D$a\$D$ D$xa)D$( a}ȉ<$D$D$ GaD$PauaaD$D$haD$<$D$a\$D$ D$xa%t"/cygh>drivl>efp><$D$ aD$ p?$\$D$mٍt&'! t€u҃)ىl?<$E؉$ L[^_]D$ aE؉$D$ p?$\$D$ٍ! t€u҃)ىl?s&UWVSD$8E4K ah>p?ΐ! t€u҃)l?E؉$1v'UWVSnt$$?m$E D$mC!luserƀUC<ƀ@modetext8<@ukuF u%C8C C [^_]D$a8$jD$a8$j랐D$a8$D$a8$ʉkodebinm8<1Kƀsystemf~:YB aaE@M!%v'UE$T$D$]%c:\%s%cUW1VaS<{zD$a$t$<$lt<$,@u!!ƅ$4K aD$at$ h>D$6$D$4K ap?D$e[^_]6Fۃzv)UE Ux;B |]?iDE]n&'UVS]E $D$iE4$D$i ! t€u҃)ى! t€uҋE) [^]Í&'int mount(const char*, const char*, unsigned int)%d = mount (%s, %s, %p)U8}}uu ]ts|$4K a1$E D$Yá4] au؋u]}]$0] aE D$D$@aD$ ra\$t$D$|$L븍t$4K a|$ D$$E D$끐&UD$E$g]Ðint cygwin_umount(const char*, unsigned int)%d = cygwin_umount (%s, %d)U(uu }} ]te|$4K at$$á4] au؋u]}]Ít&$0] aD$D$aD$ a\$|$t$J뻉|$4K at$D$ $두&'U]" 1҉ ^E]]Í&'U Q4K aL$$E]ÐU]Íint get_symlink_ea(const char*, char*, int).CYGSYMLINKCannot read symlink from EAUD$,aE]$E D$ED$ vu 4] au C]]$0] aD$@D$aD$ 8aUIАBOOL set_symlink_ea(const char*, const char*)Cannot save symlink in EA&U]] $eU@D$,a$\$D$ 0u 4] au 1ҋ]]$0] aD$@D$aD$ a{Hϐint symlink(const char*, const char*)%d = symlink (%s, %s)%s%s!symlink (%s, %s).lnk&'U1W11V1S, ƅ}111J aEE(J aEE,J aEE0Eƅƅh1t E $tP54] au e[^_]$0] aE D$D$aD$ a\$|$D$F&<$c=v  a[$U D at }EЅtM atG4] aE1҃t tu}t a D atlƅ1ReadFile2 failedv'UWUVS]ԃ\EET$D$ $\$ D$=4] auvM4] auu4$蔵EЃe[^_]Í$0] aEЋUD$MD$ED$aD$ `aD$T$D$>$0] aD$@D$aD$ ax>avuԃ uthUPL1ۃ}~U؀#t?:t2Mt t M u }ZuڻӀ} u}!u Uؿa։t0} x uؿa`u@EUM$L$D$\$ D$hEЃu>54] auu]$0] aD$@D$aD$ aB=D$E$EԉD$&Bu MԉMU$ ZEt&UWVS }E] GG$D$.B]_1Ċ8tCu1ۉ؉G t,t ]u*axt Gw [^_]ËQu uGϐUS]t6t*v'JBt RtC$,avDaawaaaaS҉uC[]Ë8uBCC׋C D$a$$VC뻋C .lnk@C 1맋C $D$qW{t놋C D$a$U搐int symlink_info::check(char*, const suffix_info*, unsigned int)%d = symlink.check (%s, %p) (%p)not a symlinkGot symlink from EA: %sGetFileAttributes (%s) failedv'UW1VSL]Eȉ$E D$ED$u ) ƃ$Eȉ$1ɉ E؉$Z@m8@ a4E1}~t~ E@D$EؿD$D$ J a$D$D$D$蟯tcE؉$\$ T$D$ D$D$ }~t14] auO1u e[^_]$0] aED$D$aD$ `a|$D$\$D$D8$0] aD$D$aD$ a84] a놡4] a끃uE؉$\$ T$D$ D$D$zu-\$ED$$_4] a $0] aD$@D$aD$ a\$n7R$E D$j4] au  9$0] aED$@D$aD$ aD$6빍UXuu ]D$\4$>WtlC4$D$tB$$t$Rt!Eƀ$1=@ at$t$R]u]É두int readlink(const char*, char*, int)-1 = readlink (%s, %p, %d)&'Ux]]}}ۉu$ka(UЅt^ a4] au]u}]$0] aE D$D$aD$ a|$D$\$Y5빍&E܃u  aEu@t a뇉4$R9}t$E \$$:f4$Qڍv a[BUWVSӃ ҈tzu6{:E1ɀ/\}uPvCB a)4t"<\uCt<.uҀ{u̍e[^_]á( a$ ƀ.t )p\뎀{u${5t{:t E\CP1ײt&%$P&|$$'6t6B aGG:;\tG\G\$@$Oϐ&U(uu }1]]uUt! a]u}]Í&\$( aD$D$ $t$ 뼉t̉؉St말UD$E$W]int chdir(const char*)-1 = chdir (%s)c:\&%d = chdir() cygheap->cwd.posix '%s' native '%s'dir '%s'UWVS|}$øu}4] a<$Oh|$t$4$N؈Ċ8tBu1҉ЉÐK9r$ 4t;u ae[^_]$򍅨ۗUЅt: a4] at$0] aD$D$maD$ at$<1듉4$D$/QC$Nv$D$aQ9F$M2t :q]ԃ[C0E܃1҃t tu aa1ECwy( a$t$D$ 4] au $0] aD$D$maD$ a|$( aD$D$/밡( a$D$D$끉4$D$GaOF@ aA4@`a H$&Oƅ\ƅot&$0] aD$D$maD$ a|$/int fchdir(int)cygheap_fdmanip%d = fchdir (%d)UVS]@ ( aut$E؉$D$D$ _]܅E@0$4Ë 4] a}E au^Eue[^]Í&$uE@E@$E$3FE$UE멸-a댍v$0] aD$D$aD$ =a\$t$-K3t&˥9( aE( a( a1҉-( a) a$( aD$Dt&UX]U!u$u 肓Ut a]u]É4$\$I1UX]U1u$u "Ut a]u]É4$\$H1U]]}t ]]É\$4K aD$ $E D${1ӐU]]-t ]]É\$4K aD$ $E D$+1ӐUXuU1]$] "Et a1]u]Ívt$4K a\$D$ $賿‰؅t&U];]u1ڈĊ8tBu1҉Ѕt ]u]$,t{:t߾ؐv'U;WVS E ](҉ЈĊ8tCu1ۉ؅t$&AFЉˈĊ8tCu1ۉ؅u4K a1ۿE;X }71ɍ&} t<9}NjEC;X |؋E$ZG [Dd^_]ËǍv'UD$E$]ÐUD$E$]ÐUD$E$E D$萯1]Ív'UD$E$E D$`1]Ív'UWVS1ۃ U$*t My:E$kFU}J9vG1?@[\]^_`{|}~lowerabcdefghijklmnopqrstuvwxyzprintABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ punct!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~space upperABCDEFGHIJKLMNOPQRSTUVWXYZxdigit0123456789ABCDEFabcdefNULSOHSTXETXEOTENQACKBELalertBSbackspaceHTtabLFnewlineVTvertical-tabFFform-feedCRcarriage-returnSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCIS4FSIS3GSIS2RSIS1USexclamation-markquotation-marknumber-signdollar-signpercent-signampersandapostropheleft-parenthesisright-parenthesisasteriskplus-signcommahyphenhyphen-minusperiodfull-stopslashsoliduszeroonetwothreefourfivesixseveneightninecolonsemicolonless-than-signequals-signgreater-than-signquestion-markcommercial-atleft-square-bracketbackslashreverse-solidusright-square-bracketcircumflexcircumflex-accentunderscorelow-linegrave-accentleft-braceleft-curly-bracketvertical-lineright-braceright-curly-brackettildeDELUWVxSE%tt 4UB;E ] )$S踭 D@F$蓭F F^U FFF111҉L TH@ ~t@C{PCCC81CC C(C,C0C<C@CDC4CH4$D$D$#FHtC t4$4 4$D$D$l#FHC$4$\$!4$\$$4$\$1%4$\$&UCLCDEeBC(Z u&FuĜ[^_]ËE$]F4$D$ȉ4$D$D$;4$D$/&$ҫ 됋E $&UWVSE]EE K{9ʉs2<|t+;E t#$;K9s<|t;E us99:|MBu]$UD$@C)ЉD$!C$PUU)ЉD$T$"C$D$DED$!>$D$:]]&'UWVS,E$< MUEYE]ЃU9؉Usָa׉)E;Esu캻a׉M9Ms u>^E9Es+U:]E9EsU:-Lt&'9]sh}]t6@9s-t$EU$T$uM^ M‰]u9]s"E8-9]sEUM@9]tD$u4$ }GG@tF yUEM PuP %| E]ÐUuu]] 9^| ]u]ËF $D$tF ^ԉu]uE ]t&U]]uu CFC $CD$蓇Ft ]u]É$D$ @C Fܐ&UWV1S EE} HugO1ۃ'%|=,=,==$t ;_@~u_@1ہ|uG@u [^_]@$艆G]E9s&U'M8 8C;]r;]HEEUEM uE}UMu}EEEEuEU$M}t$ T$L$|$ Ƹ}uEXHW'uUE$M}t$ D$L$|$9uE΃}5]E@D9wv'TA9vUBHu EUBL~}ąi~ ]ąHt$E}<$UD$D$ET$D$ ukE9D$MFD$uU$t$L$ Rt$EM $}D$D$E|$ D$LtMtUEM))Љq}vs;MsiE]pDt&9wCˋT}ωTA;MruEąu 1Ĝ[^_]É$}$}؋ET빋]뺅a}G}E$p} 롍$:}MEċALzt$EM $}D$E|$ D$E@D$|E돋EHHuEN@)9E9ɉމvM M $UЉE9t&UWVS,];]E E|t&Uߋ Q%|=,7=,?=$!AG %|=(t(=(=t(=&=t&;}|E,[^_]E=t=== t=$uƋED$U\$ |$$UT$ UƋEt$T$$E|$ D$ ;EtF뵋UC]_UUt$EU\$$ET$D$ G t9;Et UEUˉD$U$UT$\$ED$ u UEU=<=<=0=0=,ED$U\$ |$$UT$ UƋEt$T$$E|$ D$ ;EtF뵉t$UC]E_$UD$\$T$ R 8t$EU$T$=4t+=8"E]Ps E)D]Es S)EvD$U\$ |$$UT$ UƋEt$T$$E|$ D$ ;EtF뵍SUU@%\t&'t$EU\$$ET$D$ O 9CSUUP%Ë%|=DuK묋A%<=<&'%Nj%|=HuUWVSXEMuU E}EMu}'UUEE9}|M qMĉuЍ&'EЋ}%|=7== f= =EEuԅuu9u|]ԅ}M MMuċ}vu%|=,uVEu}D$UE4$M|$@D$ T$L$EuuUD3EX[^_]=,|=$u!}MUGu}LʍFG=$=(~UMuB;4tW}uUM]E9s&U'M8 C;]r;]EEM EUuE}@MUu}$hẺ 7MЋEEPD$ EԍQEkT$E܉${uM} $EUt$|$D$ T$ EuMAHOt&Eu}4$UD$E|$T$D$ )uE΃}K]E@D9wv'|A9v}OHu E}GL~Uą~ EąSt$EU$MET$ L$D$D$ukE9D$}FD$uM $t$ |$Bt$E}<$UD$D$ET$D$ |tEtUEM))Љq}z;MspE]pD9wNˋT}ωTA;Mru)EąuẺ$e1Ĝ[^_]É$eމ$e͋E|뮋]믅VE@EE$eẺ$e 떍v$QeEċGLdt$EU$MET$ L$D$vE@D$eE넋MAHẺ$duEN@)9YE9ɉމHI&M M $UЉEt&UWVS,];]E E|t&Uߋ Q%|=,7=,?=$!AG %|=(t(=(=t(=&=t&;}|E,[^_]E=t=== t=$uƋED$U\$ |$$UT$e UƋEt$T$$E|$ D$B ;EtF뵋UC]_UUt$EU\$$ET$D$  t9;Et UEUˉD$U$UT$\$ED$ u UEU=<=<=0=0=,ED$U\$ |$$UT$g UƋEt$T$$E|$ D$D ;EtF뵉t$UC]E_$UD$\$T$  8t$EU$T$=4t+=8"E]Ps E)D]Es S)EvD$U\$ |$$UT$ UƋEt$T$$E|$ D$_ ;EtF뵍SUU@%\t&'t$EU\$$ET$D$  9CSUUP%Ë%|=DuK묋A%<=<&'%Nj%|=HuUWVSXEMuU E}EMu}'UUEE9}|M qMĉuЍ&'EЋ}%|=7== f= =EEuԅuu9u|]ԅ}M MMuċ}vu%|=,uVEu}D$UE4$M|$@D$ T$L$EuuUD3EX[^_]=,|=$u!}MUGu}LʍFG=$=(~UMuB;4tW}uUM_a u}tEE0{e[^_]Ív4K ad@׉x4] at$0] aD$@D$`aD$ aat$벐U(EUEJt]ÉD$$E D$ED$ ED$ED$"E}tE뾅uE뵐v'U(EUEBt ]ÍD$D$D$ $E D$ED$Dv'U8]EUuu}}EBt/t}t<$t$؋u]}]Ít&u|$D$$E D$ED$ ED$D럐&U(]]uuCt ]u]É4$U@D$$U D$ t$T$D$C뿍UE]ÍUUBt]Ë$E D$B捶UUBt]Ë$E D$B捶U]]CtC]]Ë$AU]]CtC]]Ë$A㐐SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfileImagePatht&Ux]Uu}E T$da$(D$/; $\$9ea\$4$f$t$D$D$ D$At1]u}]ƅD$eaD$$D$ \$D$^At.$)@tt$E $辯n$t$D$ void load_registry_hive(void*)User registry hive for %s already existsSeRestorePrivilege\NTUSER.DATLoading user registry hive for %s failed: %dUx]]u$(D$\$(9 $t$7$t$D$D$ D$?uZ 4] au $>]u]v$0] aD$@D$faD$ fat$붍$faD$,?$\$t$D$faS$t$\$> e4] aW$0] aD$@D$faD$ gat$D$Z&UE M@A=?BA~ -@BAB]ÉUVS]u $t$C$FD$FCFCFCFCF C F$C$F(C(F,C,F0C0F4C4F8C8F<C<$Rk1$Etu܅u1<$%k a3v'UE )Bw#)T$E$e1Ƀ]Ðt& Ѝt& 1à B뷐v'U aX]Ðv'U$1]ÐUW} VuS19}"1ɍ;UttC 9|[^_]ÉExD;Eut&'int setacl(const char*, int, __aclent16_t*)/netrel/src/cygwin-1.3.12-1/winsup/cygwin/sec_acl.ccCreated SD-Size: %dACL-Size: %dread_sd %E&'UWVS0E44$T$L$6n {1,0$0D$\$, 60$(D$T$* \$1(($D$Y, ($(D$T$`* D$h $-utaVbe[^_]D$h$D$Z2 t%D$h$D$1 D$ h$1 <8 $D$, h1E 9 u&'VttЃtϠʁK uWE UD$ D$ $tFD$ Xx$;E }M@D9F|t& D Hv U 954] a$fjD$hh $D$D$ 0uta1ۍhL$44$D$m-4 utah$4L$D$/- tc4] au)U4L$$D$l 9$0] a4D$@D$taD$ uaD$蟀맸ta$0] a$D$@D$taD$ )uaD$` h$T$B |$D$ $D$\$~v%F$wDT$8$+(* h$T$B |$8D$ $D$\$X~|$ h$L$A F$T$8$'' h $D$@ W=}===t== |$ h $D$@ gax@tartaata[v1~vtaM1vtaDs4] ai$0] aD$@D$taD$ 6ua}@&USE UM]EfBȃtujB u Btu4] auta>$0] aD$@D$}aD$ ]}a {ˋ$(D$T$u! D$$D$#1 ffD$4$D$\$ s"t us Ky]~[}v Et}󥐍&1fzM*$|$L$2! $(D$T$ 1$T$ St8B$B$tE <'GB9}];}D$ $D$D$ ~4ߐVЃ8!%‰ ЉF OuD$$D$D$ /9D$$D$D$ xK@DD$ $D$D$ @CD$$D$D$ cD$$D$D$ ^xUD$ $D$D$ 2x+E t"@DvD$$D$D$ ;]~]}t@[}v Et}$MD$L$=54] a$0] aED$D$}aD$ {}a\$D$vKND$ $D$D$ oD$ $D$D$  $D$$t$ L$t$@$D$BD$ D$U`D$$L$t$ "x4t$@$D$BD$ D$ $T$'tyga$T$t 13D$$D$/ƃD$1 $D$t ƹ9T99j1҉*;}ta"zR54] a^$0] aD$@D$}aD$ }a(s51<1yv4] a2$0] aD$@D$}aD$ 6uar &UWVS ED$D$$D$ ?Ƹ1E |19b&[ ?$܇aa`a`aaЉaaaaЉaaaaaaaaaaaaaaaaaaaaaaaa͈a[J aQ; tR1A$#t<$1D$auttEE t [t/E t [yE 4$u.[@u!C9 a e[^_]1<$tɍ$D$t'tKtG$T$+uG먡J a $BD$tt&9뾍[J a;$ T$$2int acl_worker(const char*, int, int, __aclent16_t*, int)-1 = acl (%s)%d = acl (%s)v'U}1ɋUu}]$ka]  UЅtO a4] au]u}]$0] aED$D$ aD$ ZaD$oEȅt`~Jt>4] au$0] aMD$D$ aD$ hat$L$n˾뻅u aX몋E_UXD$$qzE~5h(f,`%  ‰0}~5l4f8`8  ‰<}~/` 1ɉ@fD  ‰H}~11fP`L8  ‰T}~EEtCU(}Rv Et(,}u8MXD$ $r at{~9t a4$ED$D$ D$OruD$EU$T$u4$MEL$D$5E~4$E܋UMD$T$L$ 똍UD$E$E D$ED$ED$ ]Í&'UD$E$E D$ED$ED$ B]Ðint facl(int, int, int, __aclent16_t*)cygheap_fdmanipfacl (%d): calling acl (%s)-1 = facl (%d) (no name)-1 = facl (%d)t&U8uEu]$t$D$D$ AUEX,4] auV$E D$D$ED$ED$ )}E au ؋]u]øa,$0] aD$D$`aD$ at$\$ljy&4] au5 aX}E au뀸a,$0] aD$D$`aD$ at$i롡4] at$0] aD$D$`aD$ ̎at$ivUW1VSHtt豆}t Euۉ4$ЩtʋXŃwEt Eu4$иa494$wt?\$E$t Eteta$T$%uF뼋[x]lE^M UNt&9뤸aG3D$ a$0] aD$D$aT>&'USTE] $若t]H tIT$ E$D$L$!19}t&'9\tB9|9T[]( a묡J a$뙍t&'int set_process_privilege(const char*, int)%d = set_process_privilege (%s, %d)Privilege %s couldn't be assigned&'UWVSlE( aD$(u} $EĉD$ uraf1EąuL4] au e[^_]$0] aD$D$aD$ a\$t$|$Rč&$맍v$Et$D$  ualkvEEUD$E1UD$ EEĉ$E؉D$EȉD$ED$t`u1ۃ}=u4] aua$0] aD$@D$aD$ @at$QǸawv'UK at]$K aD$$K aD$D$D$ BK aK a벍vBOOL sec_acl(_ACL*, int, void*, void*)InitializeAcl %E&AddAccessAllowedAce(system) %EAddAccessAllowedAce(admin) %EAddAccessAllowedAce(sid1) %EAddAccessAllowedAce(sid2) %E&U(uu]]}}4$D$D$ u?4] au1]u}]Ð$0] aD$@D$aD$ alOʅt04$D$D$\$ *u 4] a-t14$D$D$|$ u4] aM ua4$jaD$D$D$ u 4] au !$0] aD$@D$aD$ aNЉ4$PjaD$D$D$ Xs4] ae$0] aD$@D$aD$ ߩa;N<$0] aD$@D$aD$ a|$N$0] aD$@D$aD$ aM_SECURITY_ATTRIBUTES* __sec_user(void*, void*, int)SetSecurityDescriptorDacl %E InitializeSecurityDescriptor %EUW}V֍USÍ@ \UEC E( aM@ U$(T$D$ t"D$Et$ $ED$uUJ auJ ae[^_]D$E$u 4] aunD$ED$ $ED$u 4] au ECEC$0] aD$@D$@aD$ taY}t+)ځ&T$E$CD$ ͐)=T$M HD$ $$0] a]D$@D$ aD$ YaCD$D$Fvoid* cygwin_logon_user(const passwd*, const char*)/netrel/src/cygwin-1.3.12-1/winsup/cygwin/security.cc%d = logon_user(%s,...)LogonUserA (%s, %s, %s, ...)t&Uh}na}]u@ u aX]u}]Å'<$t$\$4] a$1D$ D$H!ƋE t$D$D$t%D$D$$ uazc$A4] au 2$0] aD$@D$@aD$ aD$D$D$0] aE D$@D$@aD$ γa\$t$D$D aUuu ]]4$af@fCs]u]ÐU}}]]uu <$Paf@fCs]uu} }E]I&U}}]]uu <$aHffKs]u}]&U$U ]t$u9}ËR3$t$]Ít&UH$E؉D$EEEEEEEED$D$ uEԉ]É$a!ېv'U]]t $-]]Ðt&UWVS<] D$}u$ tx|$T$ tD$D$p$T$D$cud4] au+C;^$pv$0] aD$@D$aD$ a|$X?뫍p1ɍBvptktfuH4] az$0] aD$@D$aD$ a|$D$T$>?U D$$%듐&UW1VS2<$D$ha)<$D$Piam9SeTcbPrivilegeSeAssignPrimaryTokenPrivilegeSeCreateTokenPrivilegeSeChangeNotifyPrivilegeSeSecurityPrivilegeSeBackupPrivilegeSeRestorePrivilegeSeSystemtimePrivilegeSeShutdownPrivilegeSeRemoteShutdownPrivilegeSeTakeOwnershipPrivilegeSeDebugPrivilegeSeSystemEnvironmentPrivilegeSeSystemProfilePrivilegevSeProfileSingleProcessPrivilegeSeIncreaseBasePriorityPrivilegeSeLoadDriverPrivilegeSeCreatePagefilePrivilegeSeIncreaseQuotaPrivilege_TOKEN_PRIVILEGES* get_system_priv_list(cygsidlist&)malloc (system_privs) failed.UWVS$tj1}v'$@ a|$D$ t# EU IDT@T Fv؍e[^_]Ë 4] au1$0] aD$@D$aD$ ai.֍&_TOKEN_PRIVILEGES* get_priv_list(void*, cygsid&, cygsidlist&)realloc (privs) failed.v'UWV1S\M ja$T$UU; 'MQЋUL$$D$D$ Y11;2vD$ $ЉD$7$L$D$ 1_9s8߹tv 9r؋$[4FD$SD1T1@\ ;$U,; >e[^_]Ët$$.54] au1$0] aD$@D$aD$ ai+1U M $T$ D$D$E$ \9YBOOL verify_token(void*, cygsid&, cygsid&, BOOL*)&'GetTokenInformation(token, TokenGroups): %E GetTokenInformation(my_token, TokenGroups): %E malloc (my_grps) failed.GetKernelObjectSecurity(): %EGetSecurityDescriptorGroup(): %EGetTokenInformation(): %ECygwin.1UW1VS]tM( au؋D$ D$t$$dD$4] awEUED$dD$$D$ ,L$su 4] aE U$T$s1҅t<M11Unf$T$:te[^_]Ít&D$EdD$D$ $T$uIzt?4] aut$$0] aD$@D$ aD$ `a(ʋd$twD$MdD$ $D$ dD$,u/=4] av$0] aD$@D$ aD$ a넉$UT$?4] a2$0] aD$@D$ aD$ a=&9vD$1d`hE\$D$ <$T$4] augga`tNtJ$T$fM`tt$T$<99$0] aD$@D$ aD$ aj&p$`dD$L$ I4] a<$0] aD$@D$ aD$ a9#v$0] aD$@D$ aD$ Aa%$0] aD$@D$ aD$ Aa%`[a;Fvoid* create_token(cygsid&, cygsid&, passwd*)%d = create_token ()DuplicateTokenEx %ESetSecurityDescriptorGroup %ELoading NtCreateToken failed.'OpenProcessToken(my_token): %E GetTokenInformation(my_token, TokenStatistics): %E UWEȿVS1ہ<,E1 Cygwin.11041ۉ(<EEE EEEEEEEEL$aD$@U1ɋTP$( aD$$LD$u 4] aEM؋U $D$T$ED$ L$04D$DD$@T$D$ z"U M؋ 19ʍt$4L$4s=D1ɍ'EȅۋDDx9B,;r؋M؋UL$$T$, 1;}}D1ېt&E܋Pja؋[S$T$w,G,;}|1҅ҋEtPja$D$D$D$ 'x$aD$a*$a|$t $e[^_]Í$0] aD$@D$aD$ a\$뀍軑4$D$@aRt$$D$.@ tf54] au2$kaW$y?$0] aD$@D$aD$ aD$iD$aEȍH$EЍ8D$1Cygwin.1Ex|$\$t$U$D$\$$D$t$$EĉD$D$a12345678$EƉD$D$a$EljD$D$a aD$D$@D$$EȉD$D$ D$xD$D$ D$$D$(D$,XD$0D$4=8tO4] au$Va$0] aD$@D$aD$ a\$j뺋$j=D$$(D$D$ D$D$荾a#4] aw$0] aD$@D$aD$ aN&LONG read_sd(const char*, _SECURITY_DESCRIPTOR*, DWORD*)file = %s: len=%dfile = %sv'UXuu]}c=4] a%1ۋE= a$E D$D$D$ D$趽tf 4] au%;v1]u}] $0] aED$@D$`aD$D$ aD$뤸a뜍v$h2=vA1@fGE\$T$$]؃ E$2뵐$0] aED$@D$`aD$ aD$ aVUh}} uu]tu# a]u}] t& aD$ ED$D$ J a$D$D$D$׊fuЍEȍuE}EEEEEE$D$D$t$ D$D$|$耔uaD$R$E UЉt$ D$ED$D$ЉD$|$'uX2tN=:tGaTp|$$D$D$t$ D$D$Г^$D$D$t$ D$D$|$蘓$}10a1$FaD$1ɉ aint get_nt_attribute(const char*, int*, __uid32_t*, __gid32_t*)file: %s No ACL = %x, uid %d, gid %dfile: %s %x, uid %d, gid %dfile: %s uid %d, gid %dGetSecurityDescriptorDacl %EGetSecurityDescriptorGroup %EGetSecurityDescriptorOwner %Eread_sd %Efile: %sv'U帬WVSД1ҡna}@ 54] aUt$$D$ 4$D$\$k u4] a4$D$\$ u 4] ak4$D$D$\$ 謸$(D$T$ D$$D$Jƅ$(D$T$蒶 $D$D$t7EtME 4$\$Ļt u[U  4] au 1ҍe[^_]$0] aMD$D$aD$ aL$D$t$\$>111fztrv$|$D$貶 tCB$u1Htut&'GB9rM  ‹!‰4] a$0] aED$D$aD$ aD$T$ ʃE$(D$T$諴 tZ1tFBt Bt B  @1xBt/Au~ Bt*tT9xI B Mt@uH 뷃 낋ga$T$9Bуt?t H$ tu At6H :x A t= @u@E @@Ab" gatdt`$T$Bt Bt B~ m99p $T$蚲t $T$膲1=4] aR$0] aED$D$aD$ !aD$t$\$ 119a4] au $0] aD$@D$aD$ 9a; $0] aD$@D$aD$ Va l$0] aD$@D$aD$ ta & 4] auP$0] aD$@D$aD$ a $0] aED$D$aD$ aD$~ C.UNIXATTR&'U(]E]uu}}t jat:t:1t#`^au?1ɋ%=t1H]u}]ٍE D$ D$a$|$L 뙍|$E \$t$ $t%=twint get_nt_object_attribute(void*, _SE_OBJECT_TYPE, int*, __uid32_t*, __gid32_t*)No ACL = %x, uid %d, gid %d%x, uid %d, gid %duid %d, gid %dGetSecurityInfo %EU1WVSnau}@ u e[^_]EED$D$$E D$ED$ ED$ED$ED$ U$(EED$T$袭 D$]$D$ UE$(EED$T$\ $D$D$ɯEtEtU}UET$$臲UEucU 4] auE$詇1D$UE$0] aD$D$aD$ aD$T$ E1fzEt\$E\$D$腭 t6UB$u'u}H UCB9rUU% ЋU!ЋUE$Ά4] a$0] aUD$D$aD$ .aUD$ET$D$#u}ʃd$(EED$T$苫 UtBM1t1UBtBtB @UM1toUBtMtTGuN BtMt3?x. B Ut@u H҃ 벋Ega-%$T$臫UBуt%1 H$ u At1H Ѐ?x A t"1> @u@UB@Ab"EgatOtK$T$跪|UBtBtBSH99 $T$U. $T$AE54] a;$0] aEUD$D$aD$ AaD$T$]EE9a2Q4] au $0] aD$@D$aD$ PaА&U(]ja]uu}}uOt63t[31t%=t1]u}]㍶|$E\$ t$$E D$t%=t링&'U(]E]uu}}$D$D$t$ ݦu&a1]u}]$E D$ED$b t UEB4$誨Ѓ몐&'U(]E]uu}}$D$D$t$ Uu&aW1]u}]$E D$ED$貧 t UEB4$ȃ몐_SECURITY_DESCRIPTOR* alloc_sd(long unsigned int, long unsigned int, int, _SECURITY_DESCRIPTOR*, DWORD*)void cygsid::debug_print(const char*) constCreated SD-Size: %dACL-Size: %dno SID for group %dno /etc/group entry for %dNULLalloc_sd: owner SID =%s %sno SID for user %dno /etc/passwd entry for %dt&U1WVS na}]@ M U EJ a;  ( a;: Eu 4] a' 1E $bx 4$D$u54] a D$$讧S na@  D$E$D$G t%D$$D$ D$ $D$ i1ҹt y @t %@=@ t t t %B=@t t ؃t %B=@91t1t tt<$U T$訧 !Nj!Ɓw@g؍[4\$$T$BD$ET$D$ 1҃tDt$$T$BD$ D$\$:1҃tQ\$$D$@T$D$ D$@1҃u&e[^_]É\$$D$@gaT$D$ D$1҃ttJD$$D$gaT$D$ D$1҃Y1U1$D$\$ u 4] a6\$E$D$赡 u 4] a\$ UD$$D$N1fz$\$t$脠 nL$( D$T$: t1Mt1t1t1\ga3+$T$肟ga$T$OuUD$$:D$T$ BD$讝r@CB9d=4] afD$$D$D$ 蝥u"a 1UU$ET$D$U 2u a뷍U$ET$D$賢 tA4] auU$0] aUD$@D$`aD$ aD$EɸaD$0] aD$@D$`aD$ aD$a1S99$L$J$L$6Z$L$"$$L$1$0] aD$@D$`aD$ VaE$0] aD$@D$`aD$ ta&D$$ET$|$D$ \$V1҃i!:@@Z@a<a3}a,nD$$D$蠢 a9$0] aE D$@D$`aD$ -aD$M4] a@$0] aU D$@D$`aD$ AaT$4$t$"u\a$0] aaaD$@D$aD$ watT$D$ta<$Etf4$D$PP4] au  a5$0] aD$@D$`aD$ }a|$ơ4] at$0] aD$@D$`aD$ aˋt"$(EED$T$@ E( aPy뻐U(uu}}]%=tSE x<$D$O#($|$ D$E$t$D$U B]u}]Á륐int set_nt_attribute(const char*, long unsigned int, long unsigned int, int)UHt1ҡna}}]u@ u]Ћu}]Ív<$\$t$ ~U\$ E t$$ED$ED$tD$<$D$ k4] au X$0] aD$@D$@aD$ aАint set_file_attribute(int, const char*, long unsigned int, long unsigned int, int)%d = set_file_attribute (%s, %d, %d, %p)U8]U1ۉuҋu }}t ja`^au\4] au؋u]}]$0] aED$D$ aD$ED$ a\$t$|$D$ b뭉4$ED$aD$D$ 5za"Ba4$E|$D$ED$ s@UEJ a$E D$ D$$D$ ED$] int cygwin_select(int, _types_fd_set*, _types_fd_set*, _types_fd_set*, timeval*)signal receivedto->tv_sec %d, to->tv_usec %d, ms %dsel.always_ready %dto NULL, ms %xaborting due to test_and_set error%d, %p, %p, %p, %pv'U1W11VtS 1ۉ`1d1h1l1Pp1TLƅHƅIƅXƅYƅZƅ[ƅ\ƅ]ƅ^ƅ_EÉ0s?*p\$D$$$D$4p\$D$$$D$ljo\$D$$8$D$ơ( a/4] aE E}1;]}A\$HM $EUL$D$ T$C;]|ˋUEMbXi)< uUBtE4] a01,s?n\$D$$$D$(n\$D$$$D$$sn\$D$$$D$[Ëp3HusH $,(0} vE t} 󥋅0}$vEt}ދ}00vEt}󥋕,tx1ۋ8uH$o؍e[^_]Ã$ e8@8@$8$8$d18딍HU M$ET$L$D$ `\$ (H$$|$L$D$,T8uH$$1d8@8@$8$8$d1Ƀ8딡tL aǪ,54] au{$8uH$M1ۉ$c8@8@$8$@8$_c8$0] aD$D$ aD$ a\$0] aMD$D$ aD$ aD$A|$D$4] a%H$0] aD$D$ aD$ % aD$g4] a$0] aD$D$ aD$ 9 a|$-눿4] aul8uH $$4b8@8@$8$8$b1Ƀ8$0] aD$D$ aD$ ` akug}T4E ;$0] aUM D$ET$UL$MD$ aD$ aD$T$L$ C^9( a( a1ҹ( a8-( a) a$( aD$mvoid select_stuff::cleanup()calling cleanup routinesUVS4] au^u1[$tC u[$u[^]É$t$S C $0] aD$D$XaD$ ua$select_stuff::~select_stuff()deleting select recordsUS]$>4] a[(u)ۉt[$$Eۉu[]$0] aD$D$aD$ au뱐US]$4] a[(u)ۉt[$$ۉu[]$0] aD$D$aD$ a뱐UWVS1ۃ u E}ExEu?t.{u {u{t{ tGG(C$_( [^_]É\$( at$$1릉\$( at$$賌1b밐t&t$( aD$$R1|int select_stuff::wait(_types_fd_set*, _types_fd_set*, _types_fd_set*, long unsigned int)ms now %utimed out after verificationreturning %drecalculating msloopinggotone %d woke up. wait_ret %d. verifyingtimed out/netrel/src/cygwin-1.3.12-1/winsup/cygwin/select.ccWaitForMultipleObjects failedm %d, ms %uUW1VS<]tL a[$tV@g$ED$SCSt*9}t&'9t @9|򉔽G[$u\54] aEx<$D$ED$D$ ,]=d4] a*1ۉX$t>v'{ 9| { 9C[$u̡4] a_}[u‹9wPЉ))E4] a$0] aED$D$@aD$ aD$4] aue[^_]$0] aD$D$@aD$ a]4] at$0] aD$D$@aD$ aD$&땍t&$0] aD$D$@aD$ a$0] aD$D$@aD$ a$0] aD$D$@aD$D$ a4] ai$E D$ED$ED$ S2"$0] aD$D$@aD$ at$-4] au$0] aD$D$@aD$ "a4] aōt&K 4] au@a޼+$0] aD$D$@aD$ ta4] au$$0] aD$D$@aD$ aOɉ<$D$ED$D$D$ T%s$0] aED$@D$@aD$ a|$D$@a$P'int set_bits(select_record*, _types_fd_set*, _types_fd_set*, _types_fd_set*)ready %dme %p, testing fd %d (%s)U(u4] a1]]}} {t{t {t{tFM {t{tFM 4] au]u}]Í&$0] aD$D$`aD$ at$xCP,\$$0] aD$D$`aD$ aT$D$8int select_stuff::poll(_types_fd_set*, _types_fd_set*, _types_fd_set*)&UWV1S]}[$tAt&Ct$D$St$E |$ D$ED$-Ƌ[$uġ4] au [^_]$0] aD$D$aD$ at$9̐U]ÍU]U]ÍU1]Ðint peek_pipe(select_record*, bool)not_opennot opensaw eof on '%s'%s, saw EOF%s, ready for read%s, n %d%s, PeekNamedPipe failed, %E%s, couldn't get mutex %p, %Ealready readyreadahead&'UWVSExU;z}UuEm a֐}tF $ D$$D$EUT$ }ȉ$|$OMEftrftWfHt+|$EUD$T$ $Jut&}uπ}Z<$ED$A}tBU؅tuC<@D$$]PFUE ]U]] uut+C0*a4$CCC؋]u]$(c@@@ @ @@@@@@@@ @$@ a@P,a4$2EcU]] tC0*aCC]]$(@@@ @ @@@@@@@@ @$@ a@ aE$DsU]] tC0*aCC]]$(@@@ @ @@@@@@@@ @$@ a@ aE$CsU]U]WU]U(]E1҉u]u }}EC蘍uC]E]u u}}E]UU t3E@TB B aB!aBB.aBB]$(@@@ @ @@@@@@@@@@ @$cvirtual int fhandler_tty_slave::ready_for_read(int, long unsigned int)wait failed %Ev'UWd aVS,] 5( aʋEۍx;_} uEm a謋UUB9B s>4] aue[^_]$0] aD$D$/aD$ ajˡtL aUEBTD$$EED$ED$ Etre@t*Et'1q$ 4] au $$0] aD$D$/aD$ /a$뵐t&$ 말U]] uut$4$CCC؋]u]$(J@@@ @ @@@@@@@@ @$@ a@ arU]] uut$4$CCC؋]u]$(@@@ @ @@@@@@@@ @$@ a@ arU]] uut$4$CCC؋]u]$(@@@ @ @@@@@@@@ @$@ a@ arint peek_serial(select_record*, bool)error %Eoperation abortedWaitCommEventWaitForMultipleObjectsClearCommErrorinterruptfh->overlapped_armed %d&UWVSlEpF9F cFDX=4] a$d a=( aEEEBExE;X} uEm a'MTE1xtxuExtRxtL4] aut&'e[^_]$0] aD$D$3aD$ aD$E$CFDMFX^\$q@E\$$EȉD$B E̅tE@_\$E$FHD$B u;=4] a;=tP@aE@ 4] au $0] aD$D$3aD$ 3aЋ54] au1$0] aD$D$3aD$ 3a$0] aD$@D$3aD$ 3a^DFDFXD$ $D$EtL aEčED$?rj=tHD$E$6A=4] a$0] aD$@D$3aD$ 3a^D$E$@E$F\D$E؉D$@ u14] ad$0] aD$@D$3aD$ 4aE܅$ >9uD$E$c@4] au$$0] aD$D$3aD$ 4aE@ $ $0] aD$D$3aD$ 4aFDD$EPDWORD thread_serial(void*)exitingt&UW1VSu^[$t{9at|[$uFu?tա4] au 1[^_]$0] aD$D$8aD$ 8aΡ4] at$0] aD$D$8aD$ g&a떉$D$lbselect_serialv'Uuu }}]FHtG]u}]$ 11ɉÍFCڸ8aC$9a-1G1Wt^H먐Uuu ]^Htu ]u]C$_6$TFHǐv'UE t@@4a@@]$(d@@@ @ @@@@@@@@$@9a@ a@ :a눐v'U]] uut+C@4a4$CCC؋]u]$(@@@ @ @@@@@@@@ @$@ a@ akt&UE t@@@4a@@]$(@@@ @ @@@@@@@@ @$@ a@ a끐virtual int fhandler_base::ready_for_read(int, long unsigned int)read_ready %d, avail %dUWVSlEEEU EEEEEEEEEEEEEUU$UT$EƄSE xb5( ad a~U E;S} 4uEm ao~]}1҅tL aJ ~AU$t u}uF 4] au e[^_]E$0] aD$D$`<aD$ <aD$|$ċU$$6$1me$ Q$ D$E$UЉU]] uut$4$CCC؋]u]$(@@@ @ @@@@@@@@ @$@ a@ arU]] uut$4$CCC؋]u]$(j@@@ @ @@@@@@@@ @$@ a@ arUE t@@@]$(@@@ @ @@@@@@@@ @$@ a@ a눍t&'int peek_socket(select_record*, bool)peek_socketerror %dWINSOCK_SELECT returned %dv'adding except fd_set %s, fd %dadding write fd_set %s, fd %dadding read fd_set %s, fd %dconsidering handle %pUl0WVS<111ɉU11B$d a5( aE z1x;_} u m ay"54] aUzt(4] a@Ext( 4] a@Ext(4] a@$D$ t$|$D$zá4] aCt$$o uExt xtUB|$$@ uUzt ztE@D$$ uUzt ztE@U1zuzu zt &e[^_]Ív4] au@aX1ٍt&[ D$ @a$0] aD$D$@aD$뺐$0] aD$D$@aD$ @a\$ȵv@U@,D$ Aa$0] aD$D$@aD$D$艵t&@U@,D$ Aa$0] aD$D$@aD$D$It&B@,D$ =Aa$0] aD$D$@aD$D$ =&$0] aD$D$@aD$ ZAaD$ҴUB $ bDWORD thread_socket(void*)saw exitsock readexcept_readywrite_readyread_readys %p, testing fd %d (%s)Win32 select returned %dstuff_start %pv'UWVS,4] a$}ED$UE |$D$UT$  á4] aCE$0[$tt&{Iat_[$uU0|$$ t 4] au e1[^_]$0] aD$D$sEaD$ Ea*΋C$04] a4$|$ t4] aC4$UT$X t 4] auWC4$ED$5 #54] au C$0] aD$D$sEaD$ Eas$0] aD$D$sEaD$ EaM$0] aD$D$sEaD$ Ea'7CP,\$$0] aD$D$sEaD$ EaT$D$4] a4D$ @a$0] aD$D$sEaD$諱$0] aD$D$sEaD$ Ea\$~$0] aED$D$sEa$0D$ EaD$IJt&int start_thread_socket(select_record*, select_stuff*)start_thread_socketlisten failed, %Eselect_socketexitsock %pgetsockname errorcannot bind socket, %Ecannot create socket, %EAdded to exceptfdsAdded to writefdsAdded to readfdsHandle %pU8]E u}pXtUB]u}]$(0@11 E EX$t&{Ia[$u$D$D$ 0 |$0EED$D$D$ D$ 1E010101 0f0$00\$D$$ 0\$$ED$ T0D$${tZ4] au*Ia?à0$U^$0] aD$D$HaD$ +IaT밋 4] aF0T@0F  U @ rXE艆$04] au.$=Ia1ɸFaUB1z$0] aD$D$HaD$ EaD$読$0] aD$D$HaD$ KIa0D$z1=4] a$0] aD$D$HaD$ WIa4] a$0] aD$D$HaD$ iIaIa34] as$0] aD$D$HaD$ IaѬJC$84] a{tF|@F4] a{t @4] auU{  @ 4] a$0] aD$D$HaD$ IaV$0] aD$D$HaD$ Ia$0] aD$D$HaD$ Iaϫ9$0] aD$D$HaD$ Ia|$被void socket_cleanup(select_record*, select_stuff*)socket_cleanupsi %p si->thread %preturningconnect failedconnection to si->exitsock %pUWVSE pX4] at9$0] a1D$D$NaD$ Nat$tD$褪4] a.$$]D$D$FE lj$D$D$\$ D$0D$$D$\$ D$0<$D$D$ <$D$<$k0D$$i0$`$# E @X4$4] aue[^_]$0] aD$D$NaD$ Na9ҸNaXX4] a:$0] aD$D$NaD$ Oa$0] aD$D$NaD$ Oa0D$¨8UU t BpAaE@BB]$(g@@@ @ @@@@@@@@$@Ia@a@ 0Oav&UU t BpAaE@BB]$(Ǻ@@@ @ @@@@@@@@$@Ia@a@ 0Oav&U]U t7BpAaE1ۋHu tZB]]$( @@@ @ @@@@@@@@$@Ia@a@ 0Oa_int peek_windows(select_record*, bool)window %d(%p) readywindow %d(%p) not readyUWVS\UB$M5( aEĸd agEx;_} {$C< aCs ECC(EC,E]u]E }E]eshmnode* build_inprocess_shmds(void*, void*, long int, int)failed to malloc shm node &UWVSED$D$$D$ D$<E$,t\Nju $UPU PUS(UPUP  a@P ae[^_]Í$0] aD$D$`baD$ ba茖 a U$ E$ U $ 1땍vU$ E $  a АUSE a9tht,@9t&'t@9utCB$ C$a C$S $H]ËC aint fixup_shms_after_fork()failed to reattach to mapped file view %x failed to reattach to shm control file view %x UVS 5 aFD$D$D$$D$ @(^tU&F$CD$D$D$ DD$D$ ;u[uv^1e[^]$0] aD$D$daD$ daD$$0] aD$D$daD$ eat$ϐvoid* shmat(int, const void*, int)failed to tell deaemon that we have attached UWVS5 a}69~tv%9~uU t ae[^_]ËFD$D$D$ $EDD$E$,薥$D$|$$t 4] auDu6$ [ËEECF$\$o CE@$P $0] aD$@D$`faD$ fa떡 a $, |$D$ $D$$tu aX$P S t aۉ$P C$CD$C D$CD$ ۉu=O$P int shmdt(const void*) failed to tell deaemon that we have detached UVS aMC9t@9u$$,耣$D$CD$4$ot 4] auu 1e[^]Ë4$P $0] aD$@D$haD$ ia&á a뷋[0ᐍt&int shmctl(int, int, shmid_ds*)call to shmctl with cmd= IPC_RMID when memory area still has attachees &UWVS au} ɉMt+9qt It9quM$,-t$D$ $D$$2S t" aۉu [^_]Ë$P C$CD$C D$CD$ eۉE@Mt&'tlt a|]BCBC@ C @C@C@C@C@ C @$C$1-uXup$,t$D$ $D$$tu aX$P S E$x$0] aD$D$ jaD$ @jag$P U<WVSD$u<$D7蔾轾|$ D$E$%D$D$臎> at$Mt&'9r Ru$,褟}|$U D$$T$Ut$T$ +$t&u aXe[^_]Ë$P ދS t aۉt׋$P ͋C$Ct$D$CD$ ۉutF롋$P 0u t ] 9X r tBk aV aF a0U1} M~#t":tMt]ÀyZuy uy!uUjauBjaLjajajajajaFja jaja]Ð&'U|$}4$jaL|$4$‰](Ð&U1WV1S1ہ|}1$k0$ aD$D$D$ е aD$z0D$0 a$D$ $ED$D$ D$\$D$0D$$\$R xLD$LE\$D$$|D$ }ufE'u6ug/E$e[^_]Ë$P։$P뽍vE t |Lt<$tE녉$uۋD$$|$R x <$Х밋EP?$|D$ %Evoid (* signal(int, void (*)(int)))(int)%p = signal (%d, %p)SIG_ERR = signal (%d, %p)&U(}M} ]u2 ) J a@<I0@<I8J a@<I@J atw@<IHwUvka4] au]u}]$0] aD$D$qaD$ qat$L$|$,뿃w ka멍I놐IVI'I a4] au X$0] aD$D$qaD$ qaL$|$蔆ljunsigned int sleep(unsigned int)%d = sleep (%d)sleep (%d)t&UWVS< ( a}VEi44] atL a6Ht91ۡtL a1HMb 4] au]E؅u e[^_]Ã$E؃@E@$E؉$蟝E؃$E믐t&$0] aD$D$saD$ sa\$|$4rE؉$4F))$0] aD$D$saD$ sa|$v 9( aE( a( a1҉-( a) a~$( aD$9et&unsigned int usleep(unsigned int)0 = usleep (%d)usleep (%d)U]4] a]u[MbtL aQF4] au ]1]$0] aD$D$uaD$ ua\$͐t&$0] aD$D$uaD$ ua\$踃xvint sigprocmask(int, const sigset_t*, sigset_t*) SIG_ERR = sigprocmask signal %d out of rangeU(]M]uu vV a4] au]u]Ív$0] aD$D$pvaD$ vaL$؂čtJ att@@tEJ atQ@@t:~-t ak!‰$ߧ1Xuԋ &P몍Pint kill_worker(int, int)%d = kill_worker (%d, %d)%d = sig_send, %E &UEW1VSctty %d, myself->ctty %dpid %d, signal %d&UWVS]؃lE ( aEE4] aZEE1EEEĐaEE$D$e;usI1&EX t#E2J a(9(F ;ur}uu aE4] audE$eE؅u Ee[^_]Ã$E؃@E@$E؉$YE؃${E$0] aED$D$$|aD$ED$ <|aD$E D${^J a$E D$H E090&}~E9(E 4] au2;J at%$E D$nH EEE$0] aD$D$$|aD$ P|aD$(D$0D$J a0D$z|C/d$0] aED$D$$|aD$E D$ |aD$zo9( aKE( a( a1҉-( a) a/$( aD$U]]Tt&U8u ( au]u b9( atmo;Xppid_handleparent dead.WFSO for myself->ppid_handle(%p) failed, error %dparent still alivev'UV1S J aXu; 4] au 1ۃ [^]$0] aD$@D$aD$ arϋ@14==wDt FJ aы4] at$0] aD$@D$aD$ aRrouut$0] aJ aD$D$aD$ Іa@T$D$r4] au $0] aD$@D$aD$ aqЍUUpL at6qL at.;J at&R1uAAt ]t&L at3L a$1L a͐U‰(1ɉuu]$ORE'ËEtEu ؋u]]É4$SUU1҅t @x]ÐU1W}VSP a9}M a98t:A 9|\ a19}$P a98t A 9|1[^_]int proc_subproc(long unsigned int, long unsigned int)returning %dadded pid %d to wait list, slot %d, winpid %p, handle %p&Couldn't duplicate my handle<%p> for pid %d, %ECouldn't duplicate child handle for pid %d, %Efinished processing terminated/stopped childfinished clearingreleased waiting thread'couldn't wake up wait event %p, %Ewaiting thread found no childrenonly found non-terminated childrenwval->pid %d, wval->options %dclear waiting threadslooking for processes to reap'pid %d[%d], reparented old hProcess %p, new %pautomatically removing zombie %dzombifying [%d], pid %d, handle %p, nchildren %d pid %d[%d] terminated, handle %p, nchildren %d, nzombies %dt&couldn't get proc lock. Something is wrong.args: %x, %dUWVS]u]D$L aD$$ u΋L atċ |L at$0] aL aD$D$aD$ 0aD$^닍!L a$y1L a@void sigproc_init()sigsync_proc_subprocprocess/signal handling enabled(%x)cannot create wait_sig thread, %E%P: *** terminatingv'US$J aD$D$D$ L a$J aD$D$D$ 1Ƀ1ңtL aa$jaL ana\ ag\ a) a$+CCC CCCJ atP@<@P 4] au]$0] aJ aD$D$VaD$ a@D$\ɍ$) a\ a\$qN$0] aD$D$VaD$ Лa\$avoid sigproc_terminate()sigproc_terminate: sigproc handling not activedoneenteringU1SL a-;\ a|L au44] au]$0] aD$D$aD$ Нa[ա4] au-1ۅ|L at$0] aD$D$aD$ a$0] aD$D$aD$ aU[4] a먡L a$'D$L aD$$ Kyint sig_send(_pinfo*, int, long unsigned int, bool)returning %d from sending signal %dinvalid pid %d(%x), signal %dwait for sig_complete event failed, signal %d, rc %d, %E&Not waiting for sigcomplete. its_me %d signal %dWaiting for thiscomplete %pI'm going away nowerror sending signal %d to pid %d, semaphore %p, %Esigcatchpid %d, signal %d, its_me %dUWVSÃ\EEUԉMЈE<qL aEE1;J apL aEt5 L atV|L atLL aw1pL aJ aE$4] a a4] auaE؅uEȍe[^_]$uE؃@E@$E؉$3pE؃$UE$0] aUȋED$D$0aD$ paT$D$Wh$0] aUD$D$0aD$ aD$CT$D$Wt&4] aE`=L aUԍ\$$<$D$D$ N]E 4] atpEȅu EyL at |L au aXEP$0] aUԋED$D$0aD$ ПaT$D$V뵉<$$0] aUD$D$0aD$ at$T$CVK4] auB$`EăHEȅ%E13H!E$0] aED$D$0aD$ BaD$UpL at |L au754] a6$0] aD$D$0aD$ ^alU@t:$0] aED$D$0aD$ aD$|$D$*UEĺHE<$;=( atL a=L aUE( aL a( a=L aEċEЅң( aEϣ) aV$( aD$P a'UD$$HF ;5\ a|С4] a1;5P a}1M at&UD$$OtWHtKF ;5P a|ء4] au e[^_]$0] aD$D$1aD$ a|$Pʿ뺉$0] aD$D$1aD$ HaPM4$x뺍v$0] aP aD$D$1aD$\ aD$ aD$PPvoid* getsem(_pinfo*, const char*, int, int)can't create semaphore %s, %E/netrel/src/cygwin-1.3.12-1/winsup/cygwin/sigproc.cct&'pid %d, ppid %d, wait %d, initializing %xUVS ut^4$u a1e[^] 4] aY1Ft#v$CFt |$tmE $FD${$D$D$@ tnKt  au血 aʐ;jaƍJ at$E $E E$D$ED$E D$ j$0] aE D$D$aD$D$ aMPa,+11ir$0] aD$D$aD$ aD$FD$D$F D$|M\void remove_zombie(int) removing %d, pid %d, nzombies %d&'U(]4] a}}ۉu4P aCt'@$~C@ $m$"1\ aH9ǣ\ a}*@P aP aP aP aP aP a]u}]$0] aP aD$D$aD$ Ьa|$D$\ aD$9L4t&int stopped_or_terminated(waitq*, _pinfo*)stopped childconsidering pid %dt&UWVS4] a}u _tJ a(9(1tn1Ƀ~uC`SCɉG=4] aueCƆC $te[^_]$0] aD$D$aD$ PaC D$J$0] aD$D$aD$ aJrF$ED$@uEEtuĉCJ a<|$$`J at$$GC$|$-Ct$$%넉x;i(^$0] aD$D$aD$ )aD$I DWORD wait_sig(void*)loopingset main thread completion eventGot signal %dprocessing signal %dsignal %d blockedawakeWFMO failed, %EReady. dwProcessid %dSetEvent (subproc_ready) failed, %Esubproc_ready %pt&'sigcatch_nonmain %p, sigcatch_main %pv'UWVSLL aD$$b$D$ĠaD$D$ L a$J aD$D$D$ L a$J aD$D$D$ L a$J aD$D$D$ WL a$J aD$D$D$ 4] aL anJ a:CJ aH@J a`t) at|fxuu 4] a@ $t) a@ $讽=(kaJ aHna@$t$] a@'L a$04] a\ aL a҉EءL aEܡL aE|L a$U؉T$D$D$ Eԃ=}#4] a11\ a&' J a\$~X tStNJ ae@@$\$) atJ a@4] a^u$0] a=>H 4] aY$1}D$umJ a\$J a\$׻~C\ aEԅt^}t64] a5$0] aD$D$UaD$ kaD D$L aD$$ 먡L a$ڿ4] a$0] aD$D$UaD$ a6Db$D$9)1\ a$0] aD$D$UaD$ a\$Czt&$0] aD$D$UaD$ a\$C4] as$0] aD$D$UaD$ ԰a\$nCFPd$0] aD$D$UaD$ a0C|L au;4] au e1[^_]$0] aD$D$UaD$ aB$0] aD$D$UaD$ aB럡|L a,$0] aJ aD$D$UaD$ a@D$B(ka$`a g$0] aD$D$UaD$ 0aAB$0] aD$@D$UaD$ Ta@ D$Bt) a$0] aL aD$D$UaD$L aD$ paD$AWDWORD wait_subproc(void*)wait failed. nchildren %d, wait %d, %Enchildren %d, event[%d] %p, %Enchildren %d, event[%d] %p, pchildren[%d] %p, events[0] %p, %Epid %d, dwProcessId %u, hProcess %p, progname '%s'startingt&UVS0 4] a1ې&xL aD$L aP aD$T$ @$=bH1ۃt!$D$xL atYu84] at$0] aD$D$TaD$ ka@f$pL a뫡L a$膶54] a1L au e1[^]$0] aD$D$TaD$ a?ϋxL atCS $0] aP a1D$D$TaD$ paD$T$Q?;P aRM aL a1btI=tBuO$0] aP aD$D$TaD$L aD$ aD$D$>C ;P a~P aV\$$0] aD$L aT$ D$D$CD$L aD$TaD$ иaD$$>V$0] aD$JD$TaD$ aD$BD$BL$D$?>U$D$xL axL a`$0] aD$D$TaD$ Ca="U8uơ( a]]؅}tx4$|$OËE؃u؋u]}]Ít&$赸E؃@E@$E؉$sUE؃$蕸Ed9( awE( a( a1ۉ-( a) a[$( aD$TBUHMԋ ( a]]؅ɉuƉ}4$Eԉ|$D$ED$ ËE؃u؋u]}]$豷E؃@E@$E؉$oTE؃$葷E먐t&[9( afE( a( a1҉-( a) aJ$( aD$S1BOOL get_proc_lock(long unsigned int, long unsigned int)&Couldn't aquire sync_proc_subproc for(%d,%d), %E, last %dU(]\ a1ҋ]u ]]$@Et ] aڍv\ a1҅t$0] aE D$D$PaD$ ] aD$ a\$D$:뱐v'U] at ] au]Ít&$] aꐐ0123456789ABCDEFUWV1S,M]EɋU}tx|M~x~f+Ct&'1u aD5ȉFuO9~E CO9~&'ND.ȈC,[^_]Ãv-C(null)cygwin programt&UWVSL]U :tv<%t#E CU :ue)[^_]ƅ 1BU N%+BU @҃J$a`aa0a:a:a:a:a:a:a:a:a:aaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaa-aaaaaaaaMaaaYaaaaaaaaaatTBЉU ƅ0D$ E $E D$hNjE PU 8sEEt.1Ʉ9BCA9|Faˉ$D$ D$EEPT$D$ T$D$zWin3C2 erCror C 虮D$S $D$ D$D$ L$$t$D$Ma $D$ D$3$ED$D$PET$D$ D$EEB߃^w0CxC$D$D$T$ D$$D$ D$EED$ T$$ED$D$ED$L$ S0CxC$D$D$량$ED$ D$ED$ L$?CE @VU UEUT$$E D$A]ÐU8@SEU uT$]4$D$$蓭$t$\$D$ D$~$_$4u]]Ðconst char* perhaps_suffix(const char*, path_conv&)buf %s, suffix found '%s'prog '%s'&U(]4] a]uu $Hkaڹ+4tt ttK1ۡ4] au؋u]]Ít&$0] aD$@D$aD$ at$\$d3‰$ɉuȉĊ8tBu1҉Љ$0] aD$@D$aD$ a\$3.&'const char* find_exec(const char*, path_conv&, const char*, unsigned int, const char**)%s = find_exec (%s)trying %s%s%sfind_exec (%s)t&UWVƸxaS\4] a1Ex/!Ċ8tBu1҉ЅÄ4$D$tt|$$M4] auCM ttE e[^_]ЋĊ8tAu1ɉȉ$0] aD$@D$ aD$ yaD$t$;1ƅ.ƅ/߉$t$1MdwProcessId %dold hProcess %p, hProcess %p%d = DuplicateHandle, oldh %p, newh %pparent handle %pres = %xwait failed: nwait %d, pid %d, winpid %d, %Ewaitbuf[0] %p %dwaitbuf[1] %p = %dwaitbuf[w] %p = %dsubprocess exitedsignal arrivedspawned windows pid %dt&-1 = spawnve (), process table full%d = spawn_guts (%s, %.132s)/netrel/src/cygwin-1.3.12-1/winsup/cygwin/spawn.ccCreateProcess failed, %E\null_app_name %d (%s, %.132s) """\\" /bin/shPATH= %s is a scriptcommand.comcmd.exeargv is NULLspawn_guts (%d, %.132s)prog_arg is NULLv'U帜WVS] ( a0E=4] au e1E11҉81ۉ1EEEEEEƅ󫍍1}(Hfj1lۉ}D$T$$L$ -( aD$$D$D$D$ D$D$Ý$0] aD$D$aD$ `a&$fE؅ue[^_]$%E؃@E@$E؉$=E؃$E몺 M(U 1@t'M Cu1Ju ljBvtЃu 1KMD$ $uG a1ۍ;|K$t&CK;^|Ԁ8E@9i(}P(P 0ga, (@$11ɉ111<1@D$dp$D$t$D$xD8( a$  }t u }t( a~154] aH!ȅs ja1ɉ X8t x4t7 ja J a1(E@K$E1҃C( ax {?8D$Ét$ $D$t$ D$D$T$ L$$D$A(NjM ( ap [؍1?}0na@$tډ 4] a}gJ a9(G$1ɉBP$|$T$$2=( aD$ D$$D$D$D$D$Q$Pt$74] a1}}wCM$aaaa-aaaD$$D$,w1ۋ;|jOG $aE؅u$(E؃@E@$E؉$7E؃$E벋CF;^|넋]1P1ۡtL a4$|$D$D$ 螛_J apt uCc~$c 4] a04] aJ aҋxp9t$( aD$ D$$D$D$T$ѕá4] a2$0] aD$D$aD$ at$͖D$J a$0] aD$D$aD$ a@D$J a$0] aD$D$aD$ a|$@D$$0] aJ aD$D$aD$ @a\$|$@D$X$0] aD$D$aD$ gat$+J a$0] aD$D$aD$ xaD$<@t$J a1$0] aD$D$aD$ aD$BD$1ҋD$ aD$$0] aT$D$D$ae1ҋD$ aD$$0] aT$D$D$a&1ҋID$ aD$$0] aT$D$D$a a $$;| CCB;^|4] au;$D$u  $0] aD$D$aD$ aB럡4] au LV$0] aD$D$aD$ a $0] aD$D$aD$ %aD$M<$," a 4] auGt u)1ۍ;CA;^|<$$0] aD$D$aD$ @aHƂ4<] aL$@kaDkaJ a$ 6[&Q$0] a1D$D$aD$ daH ЋUD$T$D$J a$D$؍R7}$pac4] auSt $1ɍ61ۍ;4C1@;^|$0] aD$D$aD$ a뇉$11KjaJ a$薅(_@D$T$$a $|$D$t$D$ _/$_D$L$$wa $\$|$D$D$ n_4$D$a;2\$4$/2(1E@K@$E1҃C( ax B4á( aD$ T$ T$$D$L$D$T$(D$D$8D$$能,ǃ}( a$Q1@$0] aD$D$T$D$aD$ aD$S( a@D$J a( aD$D$($T$D$ D$舍>?C;^|닕w11;;44$2t4$D$ a5D$a$D$-'4$D$a@5Ét$)D$$$D$a5u$D$a $D$w두\$$t$t <"t|҉\$$t$r>D$a$D$ID$$D$a+;st@5D$xa$D$4$0 $t$D$Kt$ $\$N <D$ $D$D$ J aD$D$D$`$ƅƅƅƅT$D$D$ D$ۊ$舉U <$D$m+E $0,$\$J au$K aD$D$D$ 44] au a$0] aD$D$aD$ Pa$0] aEUD$D$aD$ ]aD$T$n4] at$0] aD$D$aD$ uaj9( aE( a( a1҉-( a) a$( aD$%$腄ͪ$J aFUUEE U E]dt&int spawnve(int, const char*, const char* const*, const char* const*)longjmping due to vforkspawnve (%s, %s, %x)U(]$) auu}} $辅t +1ۡ4] a$Taaaapaaat&<$UEt$ T$D$]u}]Zt$ EU<$D$T$ۉtɅ~ŋ=4] at$$0] aD$@D$aD$ a% 3C$D$r am$0] aUD$D$aD$ a|$D$ED$ vUEMȃBuUD$ $U T$T$ÐUS]Et&؋SӉAuE$E T$ D$D$[]ÐUEMȃBu?UD$ $U T$T$ÐUS]Et&؋SӉAuE$E T$ D$D$p[]ÐUUD$ $U T$UT$]Ít&UeUD$ $U T$UT$]Ít&UX$E E$aEEEEEEƅD$UD$E$D$ED$ ].com.cmd.bat.dllt&U} t]É}u+a'a1ңHkaLkaxaPkaTka,a`ka1dka1ahka1lka6a Xka1ɉ\ka1ңpka1tka xka|kasU$D$F]ÐcYg%8x %x**********************************************Program name: %s (%d)App version: %d.%d, api: %d.%dDLL version: %d.%d, api: %d.%dDLL build: %sOS version: Windows %sUHuu]Vtv]u]F@tD$a]؍F$D$D$ $Ft4$D$D$D$ aJ a4$D$PT$D$D$ OaD$v a4$D$D$ aD$D$ aD$0 aD$4 aD$2 a4$D$D$D$ aD$ aD$ aD$ aD$ a4$D$D$D$D$ a4$D$D$D$ aD$na4$D$D$D$ auZU=kat$kaD$]ka4' a ka$a{Ȑ&U(WVS }U Ċ8tBu1҉ЅÉtWC$5C<_s$#S(Ċ8tBu1҉ЅÉu1ɉȋU Ċ8tBu1҉Љ;u v'9t: tAJ;U w:*t39s&BG9r:G G] )[^_]BB…u%7d [%s] %s %s %d%s*** unknown ***.exe?!&'UWVS} |{1u5aÅu 5J aE$*UBU\$ 1ۉ$D$aD$D$aO$zD] aat4$D$\#C\$4$;4$D$.{#t(aۺtU<$J aT$u-aT$UD$ /aZ u1aD$MÅt8$ED$sÍ;$ED$ED$Í;9vPt' u @H9w 1@5D] ae)[^_]HD] a4$D$/"%x %scYg%08xUWVSE&GD$a\$t$$E D$ED$ ! t€u4$҃)ٍAD$aD$=F 4${e[^_]array bound exceeded %d v'UL'WVSzuxElj$wE4$D$E\$D$ ED$}E %fu9Fu<$Twe[^_]É4$E \$D$D$ $Ny$\$D$D$D$ 3x$y$wn$aD$$UEUT$$E D$ED$ED$ ]Ð&'UU%fu 4] at%T$EU $0] aD$T$UT$ ]]WM_NULLWM_CREATEWM_DESTROYWM_MOVEWM_SIZEWM_ACTIVATEWM_SETFOCUSWM_KILLFOCUSWM_ENABLEWM_SETREDRAWWM_SETTEXTWM_GETTEXTWM_GETTEXTLENGTHWM_PAINTWM_CLOSEWM_QUERYENDSESSIONWM_QUITWM_QUERYOPENWM_ERASEBKGNDWM_SYSCOLORCHANGEWM_ENDSESSIONWM_SHOWWINDOWWM_WININICHANGEWM_DEVMODECHANGEWM_ACTIVATEAPPWM_FONTCHANGEWM_TIMECHANGEWM_CANCELMODEWM_SETCURSORWM_MOUSEACTIVATEWM_CHILDACTIVATEWM_QUEUESYNCWM_GETMINMAXINFOWM_PAINTICONWM_ICONERASEBKGNDWM_NEXTDLGCTLWM_SPOOLERSTATUSWM_DRAWITEMWM_MEASUREITEMWM_DELETEITEMWM_VKEYTOITEMWM_CHARTOITEMWM_SETFONTWM_GETFONTWM_SETHOTKEYWM_GETHOTKEYWM_QUERYDRAGICONWM_COMPAREITEMWM_COMPACTINGWM_WINDOWPOSCHANGINGWM_WINDOWPOSCHANGEDWM_POWERWM_COPYDATAWM_CANCELJOURNALWM_NCCREATEWM_NCDESTROYWM_NCCALCSIZEWM_NCHITTESTWM_NCPAINTWM_NCACTIVATEWM_GETDLGCODEWM_NCMOUSEMOVEWM_NCLBUTTONDOWNWM_NCLBUTTONUPWM_NCLBUTTONDBLCLKWM_NCRBUTTONDOWNWM_NCRBUTTONUPWM_NCRBUTTONDBLCLKWM_NCMBUTTONDOWNWM_NCMBUTTONUPWM_NCMBUTTONDBLCLKWM_KEYFIRSTWM_KEYDOWNWM_KEYUPWM_CHARWM_DEADCHARWM_SYSKEYDOWNWM_SYSKEYUPWM_SYSCHARWM_SYSDEADCHARWM_KEYLASTWM_INITDIALOGWM_COMMANDWM_SYSCOMMANDWM_TIMERWM_HSCROLLWM_VSCROLLWM_INITMENUWM_INITMENUPOPUPWM_MENUSELECTWM_MENUCHARWM_ENTERIDLEWM_CTLCOLORMSGBOXWM_CTLCOLOREDITWM_CTLCOLORLISTBOXWM_CTLCOLORBTNWM_CTLCOLORDLGWM_CTLCOLORSCROLLBARWM_CTLCOLORSTATICWM_MOUSEFIRSTWM_MOUSEMOVEWM_LBUTTONDOWNWM_LBUTTONUPWM_LBUTTONDBLCLKWM_RBUTTONDOWNWM_RBUTTONUPWM_RBUTTONDBLCLKWM_MBUTTONDOWNWM_MBUTTONUPWM_MBUTTONDBLCLKWM_MOUSELASTWM_PARENTNOTIFYWM_ENTERMENULOOPWM_EXITMENULOOPWM_MDICREATEWM_MDIDESTROYWM_MDIACTIVATEWM_MDIRESTOREWM_MDINEXTWM_MDIMAXIMIZEWM_MDITILEWM_MDICASCADEWM_MDIICONARRANGEWM_MDIGETACTIVEWM_MDISETMENUWM_DROPFILESWM_MDIREFRESHMENUWM_CUTWM_COPYWM_PASTEWM_CLEARWM_UNDOWM_RENDERFORMATWM_RENDERALLFORMATSWM_DESTROYCLIPBOARDWM_DRAWCLIPBOARDWM_PAINTCLIPBOARDWM_VSCROLLCLIPBOARDWM_SIZECLIPBOARDWM_ASKCBFORMATNAMEWM_CHANGECBCHAINWM_HSCROLLCLIPBOARDWM_QUERYNEWPALETTEWM_PALETTEISCHANGINGWM_PALETTECHANGEDWM_HOTKEYWM_PENWINFIRSTWM_PENWINLASTASYNCIOwndproc %d unknown %d %dwndproc %d %s %d %dU(]Éuu@tX1=T] at!'9P] atA@]ÐUWEVu S1t'Ct&A9tuu1ۋE[^_]CU]Éu@$J aD$D$D$ sC ts$b aC؉$b a]u]m$l1v'U]Éu}jm9CtG{<$k9st4u$D$,ntC $ED$vusC@C]u}]É<$k1䍶U]]l9Ct$ Nk1]]ÉCtHCtC$D$mC$5kx͋C $o뽍&'U]]CCC$D$mC u]]É$j$J aD$D$CD$ qC Ðclose_all_filesUSpa1S( a;}@t&t$$P0\$( a$蕊 ( aC;|ĸpa0K aR$h[]check_pty_fdsv'USa1裴( a1҉;},t@%t*t%B;|ָarZ[]ûcygheap_fdmanipt&U(D$E]$D$\( a$ED$ED$<}E au ؋]]Ít&aܳݍv'U( a$ED$E D$ږ]int _unlink(const char*)%d = unlink (%s)unlinking a nonexistent fileunlinking a directorynon-writable directory/netrel/src/cygwin-1.3.12-1/winsup/cygwin/syscalls.cccouldn't delete file, err %d'CreateFile/CloseHandle succeededDeleteFile succeeded.lnk_unlink (%s)&UWVS]؁ ( a$Uع2VU a4] auXE؅u e[^_]Ã$EkE؃@E@$E؉$E؃$%kE$0] aED$D$jaD$ at$D$tt&Eăy4] a<Ẽu?4] au a$0] aD$D$jaD$ a1҃t tt?4] au a$0] aD$D$jaD$ aʉ$)eu7=4] a$0] aD$D$jaD$ aQE1҃t t1'$geu"uEu$D$R'naB t HEƅuB tƅ$D$D$D$ J aD$D$D$)d$%d54] a$f@tGu> tad 4] au"\$0K aR$O`4] a1$0] aD$D$jaD$ & aD$ $0] aD$D$jaD$ P aHgdQ덋E 4] ap$0] aD$D$jaD$ q afB$Y D a"$ẼD$e$0] aD$D$jaD$ a\$v aRc9( aaE( a( a1҉-( a) aE$( aD$),int remove(const char*)-1 = remove (%s)v'Uh]2$]QUtQ a4] au]]Ðt&$0] aD$D$aD$ a\$ōE1҃t tt $0i뢉$&똍t&UJ a]Ít&UJ a]@pid_t setsid()sid %d, pgid %d, ctty %dv'U(]J a9(J a0@0J ad,J aS(4] auJ a,]]É$0] aJ aD$D$aD$ a,D$(D$0D$뢍( a@Qvt J a=c abt&'ssize_t _read(int, void*, unsigned int)read (%d, %p, %d) %sblocking, sigcatchers %dnon %d = read (%d, %p, %d), errno %dnon-interruptible read U1WVSl}uu e[^_]ÐE 趡u⡀ aEčv ( aEt$Eȉ$D$D$ ̾E̅E1ۋ$bP4] aKtN$0] aU D$aD$aD$ 0at$T$|$u]aD$kaD$ UЋ\$$t$Eкu  a1 5EЋD$$ËEЋu  a1 ~FJ aHEЋu  a1 EЉU SDáJ a`t a:  a8E؉$ aUĉ}E au[E؅ $aE؃@E@$E؉$CE؃$eaEaܧ돀}E aE؅uT4] aug$0] aE D$D$aD$ aD$ pa\$t$|$D$ 뵃$`E؃@E@$E؉$qE؃$`EbaBEЋ@q }E auXE؅u $`E؃@E@$E؉$E؃$_E미aw뒐t&EЋ$RtUЋ@4] a$0] aD$@D$aD$ a*t&K\9( aE( a( a1҉-( a) a$( aD$yt&ssize_t _write(int, const void*, unsigned int)%d = write (%d, %p, %d)write (%d, %p, %d)UWVS]؃L ( auFt$Eȍ^$D$D$ E̅x E14] a}E au_E؅u e[^_]Ã$^E؃@E@$E؉$E؃$]E믍&al$0] aD$D$PaE D$ a|$D$Et$D$@?4] a1$0] aD$뱋E U衛^4] aEЋD$$J aHEЋ$E D$ED$RHǡJ a` a: vEЋ@g \$0] aD$D$PaE D$ at$D$ED$8C4] a6$0] aD$붐t&^3Y9( aE( a( a1҉-( a) a$( aD$atUWVSEH=v a[^_]ÉEE19}`G;}|EE19}JE X0~4&'t$E\$$\x!~E)ƅڃE G;}|U|MukUW1VSE;}}OE X0~4't$E\$$Mx+~)ƅEEE 9E|[^_]Åuvint _open(const char*, int, ...)%d = open (%s, %p)open (%s, %p)&'UWVS]؁( au} D 4] aؗ4] au]E؅ue[^_]Ð$YE؃@E@$E؉$E؃$YE$0] aD$D$aD$ aD$t$|$3hD$Eȋ]$D$0U̅T$( aEE$EEEEEƅt$D$ D$D$D$1ztA|$$D$( a!Á\$ R,tEẼ~*}E a`a G$nɡ( a$ẺD$At룍t&$0] aD$D$aD$ at$|$T9( aE( a( a1ۉ-( a) a$( aD$v__off64_t lseek64(int, long long int, int)%d = lseek (%d, %D, %d)UWVS]؃l ( aE Uɋ}EUZ a4] auaE؅ue؉[^_]Í&$VE؃@E@$E؉$E؃$VE$0] aEUD$MD$aD$ a\$t$D$T$L$ |$$UD$UEȉ$D$ T$譱E̅xMEЋ]ċM|$ \$$L$RLÉր}E aa~R9( aE( a( a1҉-( a) ay$( aD$`UE$E D$ET$D$ ]int _close(int)%d = close (%d)close (%d)UVS]@ ( auH4] at$Eػ$D$D$ ME܅x(E1ۋ$R0( a$E܉D$p4] au{}E auXEu e[^]Ã$]TE@E@$E$E$=TE밐a輚$0] aD$D$ aD$ ( a\$t$T$0] aD$D$ aD$ 8 at$qP9( aE( a( a1҉-( a) a$( aD$rint isatty(int)%d = isatty (%d)&'UVS]@ ( aut$E1ۉ$D$D$ }E܅xE$á4] a}}E auZEu e[^]Ã$RE@E@$E$]E$RE밍va$0] aD$D$"aD$ "a\$t$RO9( aE( a( a1҉-( a) a$( aD$2int _link(const char*, const char*)%d = link (%s, %s)file '%s' exists?cannot write streamId, %Ecannot write linkname, %Ecannot open source, %Etrailing dot, bailing outUWVS]؁ 5( aS$U ع2X;2U$; a4] auXE؅u e[^_]Ã$ePE؃@E@$E؉$#E؃$EPE$0] aED$D$#aD$E D$ #a|$D$mEtMЋ atC}tC4] au a$$0] aD$D$#aD$ #a\$GƉ$=D<.na@2$t$D$ t14$D$D$D$ J aD$D$D$OJ@ڹ(D$1@1 81ɉ$8D$$<1҉D$ HDD$D$D$S4] auR$I4$\$D$T aٱi$0] aD$D$#aD$ #aD$D$$(D$D$$D$ D$Ru 4] auJD$D$D$$$D$ D$D$R$0] aD$D$#aD$ $a됉4] a$0] aD$D$#aD$ -$a4] au a&$0] aD$D$#aD$ D$aMvI9( aE( a( a1ۉ-( a) a$( aD$g int chown_worker(const char*, unsigned int, long unsigned int, long unsigned int)l%d = %schown (%s,...)UuEu}}]`ugna1@ ub=4] atFE )a$0] aD$D$0)aD$ )a\$uaD$ED$ڋ]Ћu}]Ð$UM (6UЅt anE1҃t t1ۅP11҉E܃t tt @E%$D$D$D$ D$uitvE1҃t tt @t$Eȉ|$ %$D$D$|Eȅy jah1a낋rU(] ( a]D$E$E D$ED$ ËEu ؋]]Ã$rIE@E@$E$0E$RIE밍F9( aiE( a( a1҉-( a) aM$( aD$I4t&UW}VS,( a] uD$E$1fH 1f\$H Ɖt$ ËE؅u e[^_]Ív$eHE؃@E@$E؉$#E؃$EHEE9( aYE( a( a1-( a=) a=$( aD$B$U(] ( a]D$E$E D$ED$ ËEu ؋]]Ã$rGE@E@$E$0E$RGE밍D9( aiE( a( a1҉-( a) aM$( aD$I4t&UW}VS,( a] uD$E$1fH 1f\$H Ɖt$ ËE؅u e[^_]Ív$eFE؃@E@$E؉$#E؃$EFEC9( aYE( a( a1-( a=) a=$( aD$B$'int fchown32(int, long unsigned int, long unsigned int)&fchown (%d,...): calling chown_worker (%s,FOLLOW,...)v'-1 = fchown (%d,...) (no name)-1 = fchown (%d,...)UVS]@ ( au$t$E؉$D$D$ _E܅EX,4] a$E D$D$ED$ }E auZEu ؍e[^]Ã$_DE@E@$E$E$?DE밍va輊$0] aD$D$/aD$ /at$\$24] a aX}E au[Eu 2v$CE@E@$E$SE$uCE문a$0] aD$D$/aD$ 0at$J4] aB$0] aD$D$/aD$ /0at$?9( aE( a( a1҉-( a) a$( aD$t&U1U MfH 1fU H M]AUM( a]int chmod(const char*, int)%d = chmod (%s, %p)UWVS]؁ ( au =$Uع!,U a4] au]E؅u e[^_]Ã$AE؃@E@$E؉$?E؃$aAE믐t&$0] aED$D$03aD$ L3a|$D$t$kE1҃t t,Ẽua赤)$D$!?E1҃t tt@\$ED$%$D$ D$лE1҃t tt@\$Et$%$D$D$ u1=jaxƒtae%=tI=tB$ẺD$=>ttjat&1aM븃M<9( aE( a( a1҉-( a) a$( aD$}int fchmod(int, int)'fchmod (%d, 0%o): calling chmod (%s, 0%o)-1 = fchmod (%d, 0%o) (no name)-1 = fchmod (%d, 0%o)v'UWVS]؃L ( au} %t$Eȉ$D$D$ E̅EЋX,4] a$|$7}E au_E؅u؍e[^_]Í&$>E؃@E@$E؉$E؃$=E머ae닍v$0] aD$D$6aD$ 06at$|$\$|$<4&4] a aX}E au[E؅u $/=E؃@E@$E؉$E؃$=E믍va范$0] aD$D$6aD$ p6at$|$nF4] aD$0] aD$D$6aD$ 6at$|$0V99( aE( a( a1҉-( a) a$( aD$&'USM] % fACACA fC AfCAfCAQ% fCACA$Q(CSA,Q0C S$A4Q8C(S,AaD$ >aT$D$.$0] aD$@D$>aD$ ?a(D$(Bv4] aع񋕘ЋS4@tMtzBZ$P  Ë뿋P01fB$0] aD$@D$ED$>aD$ P?aT$|$t$D$ int stat64(const char*, __stat64*)enteringt&U(]( a]4] auw$E1ɋU ËEu ؋]]Ã$2E@E@$E$AE$c2E밍&$0] aD$D$PBaD$ sBaܶ`&.9( a8E( a( a1ɉ-( a ) a$( aD$)t&UhuEu]$t$t ؋u]]É4$E D$q int lstat64(const char*, __stat64*)U(] ( a]4] auw$EU ËEu ؋]]Ã$0E@E@$E$E$0E밍t&$0] aD$D$CaD$ sBa<`&[-9( a9E( a( a1҉-( a) a$( aD$t&UhuEu]$t$t ؋u]]É4$E D$㐍&'Ux] ( a]uu ti aEu]u]Ð$u/E@E@$E$3E$U/E멋jatft$E$ AËEu눍v$/E@E@$E$E$.E$E1ɍUt*J a 9E$9EEt]t"J a 9Etp$9Et_Et3t(J a 9Et9$9Et&E4$u1ۅ a EuE@E럀}xE dE[*9( aE( a( a1҉-( a) a$( aD$int _rename(const char*, const char*)-1 = rename (%s, %s)file to move doesn't exist%d = rename (%s, %s)deleting %s to be paranoidtry win95 hackv'UWVS]؁ ( a}u $1ۉD"U 4] auh aE؅ue[^_]Í$E,E؃@E@$E؉$E؃$%,E$0] aD$D$GaD$ Ha|$t$蝰Udt&$X"EuHu t[4] au# a$0] aD$D$GaD$ Ha|$t$믍$N&uG4] au a $0] aD$D$GaD$ Ha|$t$蒯X$%t}u?4] au a2$0] aD$D$GaD$ +Ha8ʋ1҃t tEu!uxt|X$D$0Nt&s&=@c&P2X$ẺD$-(DtDX.$'4] auUE؅u0$)E؃@E@$E؉$AE؃$c)E$0] aXD$D$GaD$ FHat$T$D$˭jaD׌1҃t t2X$D$ 'nax4] a1ۍX$&u $u1X$D$.u C~g1`4] aS$0] aXD$D$GaD$ [HaD$Ϭ $0] aD$D$GaD$ vHa覬ED$X$D$a. ` aGdoD$.X$DKCvX$D$%$ a(cuv't$Hމ$$D$ aQX$붍#9( aE( a( a1҉-( a) a$( aD$sh-c&'UXuu]}d=( a]؅K$]D$"E$D$"$6D$$3E\$$D$L'EENaENauE$D$NaD$詠$ED$ "$|$!E$D$D$&E؅uڋ]Ћu}]Ã$-%E؃@E@$E؉$E؃$ %E먻Y&E؅u닃$$E؃@E@$E؉$E؃$$Ev!9( aAE( a( a1ۉ-( a) a%$( aD$ &'U( aM; 1҉]Ð$)L$6;tҐv'U( a勀=s]Ít&Ukat]$kaA"ka損U8]na1ҋ]@ t} Zja1҅u ]]Ð$m+\$D$ $ Xá au;\tx$(ta$ED$ ED$ED$D$D$D$D$[( tU\a臆1F{\u`^a,U(uEu]] $t$D$D$ }E[$,SaTaTaTaMUaMUazUa Ua UaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUa}E au]u]øaBgى4$Xt*}E aua g㡀 a }E au yaf}E au Laf}E au akfE$aB aLEB%uދB0\$$}E auae㐍&'UX]] u[$TVaXaXaXaXaWaXa Xa Xa Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa4Xa4XaET[tt&']Ћu]ËE$))ٺҺ˺čt&빡 a$U10Ut  aE1҃t tu4$\$LUt&U(D$E$E]D$ D$5xExE$u0}E au 1]]Ít&a c݋E$R@E a}u뿸ab/dev/tty%d&U]]t`J a0x0=@t)$D$4] au 1]]$0] aD$D$YaD$ Yaэ\$E$D$D$ uEGMP%tZ4] au*}E ara`Y$0] aD$D$YaD$ Zaj u!B%fB t/ 4] ai$0] aD$D$YaD$ Za둋4] au-}E au a_$0] aD$D$YaD$ PZa襝뭸f;4] a$0] aD$D$YaD$ sZa$0] aD$D$YaD$ Za\$6int setmode_helper(FILE*)textsetmode: file was %s now %s rawU(]]$L;lat ]1]á4] atW$0] a ]aD$D$\aD$ ]aC %@fu+]ala ]aT$u+]aD$klatC @fC |C %쐍t&U(D$E$E]D$ D$rEx>EXE a}u ؋]]øa]t&}E au˸a]int setmode(int, int)setmode (%d<%s>, %p) returns %s binary&UWEVSgid: %d&'UWVS4] auna@ -( a1ɍz8؅t z4tuJ a; , ( a]؅4$E1E1ۍ|\xXǍE$|$ -uf aE؅u e[^_]Ã$E؃@E@$E؉$ڜE؃$E묡J a$$x$D$,m( ahdi2( aD$$tD$0 a8c( ah1ҋdX8t x4t( a$e-$0] aD$D$praD$ ra薃D$ txT$$ED$Y 4] a`t<$0] a`aD$@D$praD$ rauraD$`t@( a1ɍ؋Z8t z4t1҉`( a$ExD$pT$D$ X 4] aÅtE$0] a( aD$@D$praD$ raD$auraD$J( aÉE$\$)u EXD$Xx$\$D$ 1t$a`( a`ut\9$+u?4] aua(:$0] aD$@D$praD$ sa3ˡ( aÉhth;tp$D$覭( a$ED$-J a E؅ut&'1$E؃@E@$E؉$蜘E؃$E벉$( aRD$ ,D$$ED$G/u 4] aun( axD$ ,D$T$$ /u 4] au ( aJ$0] aD$@D$praD$ 0sa$0] aD$@D$praD$ psai|$Ex$T$Z( at\4] au&<$c( a{$0] aD$@D$praD$ sa~( a뮍&( aD$txlD$ $lD$- 4] a$0] aD$@D$praD$ sad~9J( at$( a$'M$0] aD$D$praD$ ra}$( at$g9( acE( a( a1҉-( a) aG$( aD$.v4] a$0] aD$@D$praD$ ta>}9$뵐t&$0] aJ aD$@D$praD$ *tat$$D$|0t&U1UfH ‰U]int setuid32(long unsigned int)real: %d, effective: %d&U(]E$uJ a ( a4] au ؋]]$0] a( aD$@D$p}aD$ }aD$J a D${볍v'U1UfH ‰U]Tint setegid32(long unsigned int)Impersonating in setegid failed: %EOpenProcessToken(): %E t&SetTokenInformation(process, TokenPrimaryGroup): %ESetTokenInformation(thread, TokenPrimaryGroup): %EUh]na]u@ ZJ a;$I@( au$EuEt9Xth aEu]u]Ã$TE@E@$E$E$4E몉4$D$,"tJ a1ҋ ( a$X8t x4tD$( a$ED$% 4] a( a1ɍX8t x4tu[Eu 1$^E@E@$E$E$>E벋$t"u$0] aD$D$p~aD$ ~axg$0] aD$@D$p~aD$ ~axD$Et$D$ ,$|'u 54] auE$$0] aD$@D$p~aD$ ~axNjD$ ,D$t$$'u 4] au %A$0] aD$@D$p~aD$ 0aw9( a?E( a( a1-( a5) a#$( aD$ t&U1UfH ‰U]t&UE$uJ a$( a]ÐUU1fH ‰$2uJ a$( a]int chroot(const char*)%d = chroot (%s)NULLUWVS]؁| ( au@$عEuẼ a4] at=$0] aD$D$`aD$ xat{ aD$taD$uE؅u e[^_]Ã$E؃@E@$E؉$ÍE؃$E미a똉11҃t tu a+\$( a1$EԉD$ v[9( aE( a( a1҉-( a) a$( aD$艌zt&U(]( a]t{D$E$E D$ËEu ؋]]Ã$E@E@$E$茌E$E밉{9( atE( a( a1ۉ-( a) aX$( aD$詋?t&U$c`&'U8] ( a]D$E$ED$D$ iHt]Eu؋]]Í$E@E@$E$sE$E몋]랍t&[9( aYE( a( a1҉-( a) a=$( aD$艊$t&U(]( a]uu D$E$D$t$ qF `ft`Eu]u]Ã$E@E@$E$mE$E몍vEu 1롐t&$UE@E@$E$E$5E9( aE( a( a1ۉ-( a) a$( aD$2USM] ft.f9t [)]Ãft f9tݍvՐv'UU1f:t @fE؃$`E믉$D$D$D$ J aD$D$D$\1҃<@8ut&@RD$Px|E$`E벍t&k a9( aE( a( a1ۉ-( a) a$( aD$I{t&UVuS ( a]غ4t^Eu 1e[^]Ã$E@E@$E$Q{E$sE밍&D$ la aD$4$z=4zfjC=8lauEu laX$E@E@$E$zE$E믍9( aE( a( a1҉-( a) a$( aD$yt&UVS] ( au4ctWEu 1e[^]Ã$E@E@$E$yE$ED$ la aD$4$ y=4u lafw$(laFD$D$uEu laN$iE@E@$E$'yE$IE9( aE( a( a1ۉ-( a) a$( aD$Fx.exeU} t]É}uakaakaka1ka1kakacygheap_fdnewcygheap_fdgett&U$D$v]Ðlong int sysconf(int)v'/netrel/src/cygwin-1.3.12-1/winsup/cygwin/sysconf.cct&'NtQuerySystemInformation: ret = %d, Dos(ret) = %d&'UX]]u $a$a<aCaJaQaZaaaealasasaaa&]Ћu]ú?*ֺ1˺a / naA tA u a{$EȉD$D$,D$ (EuB t4 | t" t uU؋E)ЍP&UUU $uEJPa< 4] a^4$KE$0] aD$@D$0aD$ at$D$]"& naC:\CYGWIN_SYSLOG.TXTv'U帰a]Ðvoid openlog(const char*, int, int)openlog called with (%s, %d, %d)failed to allocate memory for process_identUWVS4] au} t=$0] aD$@D$aD$ 0aD$E|$D$\}4$x@$mu94] au [^_]É$0] aD$@D$aD$ pa[%t$$wU$51ɉ;a &Ut$u$u$t$]Í}ҐUE@@]Ít&UE@@]Ít&U]v'U] v'U]]u]]Í&$Gint pass_handler::initialize(int)/dev/nullwbfailed to open /dev/null&U]]$lE t C@]]$aD$aNu64] au$0] aD$@D$ПaD$ aYC1랐&'UEUT$$E D$]Ðint pass_handler::print_va(const char*, char*)FAILURE ! fp_ and message_ both 0!! v'U(]]uu }}uiCuA4] au]u}]$0] aD$@D$aD$ 0a\Xȉ$RuSt$|$Љ$-1묉$t$|$9¸xS܉'void syslog(int, const char*, ...)failing message %x due to priority mask %x%s : LOG_EMERGCygwinRegisterEventSourceA failed with %Eafailed to lock file %serror in writing syslogfailed to open file %sLOG_ALERTLOG_CRITLOG_ERRLOG_WARNINGLOG_NOTICELOG_INFOLOG_DEBUG Win32 Process Id = 0x%X : Cygwin Process Id = 0x%X : %x %st&UWVS\4] au 6U!ʉЃuO4] aue[^_]UD$ Pa$0] aD$@D$aT$D$U뼉 a1$GEЉ$rt'<%Bu4$rD D$$ÉEt'<%CFuEEw/$ФaaaaaaaaaE}1<$\<$t$~\D$$D$$Ekt&\D${a<$D$B@k6na@ uWEC$aԥaa֨aaa a8aPa<$D${aD$a'<$U̍ED$T$U@F]܉$pt x }]ԡna@ Ya$D$vtj( aU@D$ T$$D$ED$D$ D$D$D$F$$<$4] at$0] aD$@D$aD$ aS>D$Ԣa$G*$( a7F$D$D$D$$D$ 9uF4] au 4$@+D$ ֢a$0] aD$@D$aD$>Rĉt$Eԉ$mG$ t$MG$D$D$D$ D$F @fj 4] a\$0] aD$@D$aD$ aQ354] a]HD$ a$0] aD$@D$aD$pQ+@z<$D${aD$a<$D${aD$&a<$D${aD$/a<$D${aD$7a<$D${aD$Ca<$D${aD$Na<$D${aD$Wa QD$pa<$\$D$ $@HESEG~m$UFT$vl;'C;ut&zmnGh$0] aED$@D$aD$ aD$t$OU]Ðint tcsendbreak(int, int)cygheap_fdmanip%d = tcsendbreak (%d, %d)UHuE؋u]}} $t$D$D$ &U܅xE$u~ a4] au8}E au؋u]}]øjaۍ$0] aD$D$PaD$ za\$t$|$N떋ED$$kE|$$RtSint tcdrain(int)%d = tcdrain (%d)tcdrain&UVS04] aut$E$D$D$ $ExE$uo a 4] au,}E au 0[^]øja$0] aD$D$aD$ a\$t$|M릋ED$$zE$Rxft&$0] aD$D$aD$ ϫaMint tcflush(int, int)%d = tcflush (%d, %d)v'UHuE؋u]}} $t$D$D$ w#E܅xE$u~ a4] au8}E au؋u]}]øja8ۍ$0] aD$D$ aD$ a\$t$|$L떋ED$$kE|$$RpSint tcflow(int, int)%d = tcflow (%d, %d)v'UHuE؋u]}} $t$D$D$ 7"E܅xE$u~ a4] au8}E au؋u]}]øja ۍ$0] aD$D$LaD$ aa\$t$|$J떋ED$$kE|$$R|St&int tcsetattr(int, int, const termios*)iflag %x, oflag %x, cflag %x, lflag %x, VMIN %d, VTIME %d%d = tcsetattr (%d, %d, %x)v'UWEVSL}$]D$|$D$  M܅0 a4 aiЉڃwc0T$(D$(CD$,CD$0CD$4CD$8CD$LCD$PC D$9C D$=CD$ACD$ECfD$IEӋ$ a 4] au-}E au e[^_]øja $0] aD$D$aD$ ЯaD$CD$CD$C D$CD$ C!D$$H4] av$0] aE D$D$aD$ at$|$D$\$EH:ED$$E\$$E D$int tcgetattr(int, termios*)%d = tcgetattr (%d, %p)UWVSL0 a4 au i؃0\$(D$E؉$ED$ D$:M܅x#E$ atq4] au3}E au e[^_]øja$0] aED$D$$aD$ Aa|$D$t$F똋54] at$0] aD$D$$aD$ ЯaD$CD$CD$C D$CD$ C!D$$rF:E\$$0 a4 aiЃvfCfFCfFC fFCFC$FC(FCF CF CFCFC!fFEint tcgetpgrp(int)%d = tcgetpgrp (%d)v'U8uEu]$t$D$D$ =ExE$uv a4] au4}E au؋u]]Ðt&ja$0] aD$D$OaD$ ba\$t$D랋E$int tcsetpgrp(int, int)%d = tcsetpgrp (%d, %x)&UHuE؋u]}} $t$D$D$ 'E܅xE$u~ a4] au8}E au؋u]}]øjaۍ$0] aD$D$XaD$ pa\$t$|$C떋E|$$rU0 a 4 aUiȉуw`0$BD$BD$BD$ BD$BD$$BD$(B D$B D$BD$BD$BfD$!A(]ÍU0 a 4 aUiȉуw`0$BD$BD$BD$ BD$BD$$BD$(B D$B D$BD$BD$BfD$!A$]ÍU0 a4 aMiЉʃw`0$AD$AD$AD$ AD$AD$$AD$(A D$A D$AD$AD$AfD$!E B(0 ai4 awSfBfABfAB fABAB$AB(ABA BA BABAB!fA1Ív'U0 a4 aMiЉʃw`0$AD$AD$AD$ AD$AD$$AD$(A D$A D$AD$AD$AfD$!E B$0 ai4 awSfBfABfAB fABAB$AB(ABA BA BABAB!fA1cygheap_fdgetUUM BJ]Ð&'Uuu]^t $F؋u]]ÐUE]@Ðt&U]] uut$D$|u]u]Ív'UVSu UtEt?;ptCvt1$t$v;pt $i׉][^])1[^]Ã[^]&U]]u34$']u]Ð&UU EU@P]ÍUU EU@P]ÍUSEtC$%$$uX[]Í&'U]uOơP a$NÉ4$1u]]ÉU]uơP a$É4$uC]]ÐUL a$]]ÍUL a$M]void ResourceLocks::Init()lock %p inited by %p , %dU(]]$̵C4] au ]]Ít&$0] aJ aD$ D$*aD$ Ea\$D$ aD$U=void ResourceLocks::Delete()Close Resource Locks %p U]]{t 4] au$̺C]]$0] aD$ D$ͼaD$ a\$t$<C$]]]& UE@$E D$ա1]ÍU aE@$Q]Ív'U]]uu $D$F ~ t ~na@tBC$RC C$P a\$$+C(]u]$J aD$D$蟣C ut&U]]uu $D$F t ~na@tBC$蒟C C$P a\$$kC(]u]$J aD$D$ߢC ut&USna]@uxCudCP a9tEH(t9tv'Q(ȅ҉t9u($C(D$诟]]ډ$돍C$@놐v'USna]@uxCudCP a9tEH(t9tv'Q(ȅ҉t9u($C(D$]]ډ$`돍C$萣놐v'UnaU@uB]t&B$襠1]ÍUnaU@tB$]ËB1@=吐&UnaU@tB$)1]ËB$՟䐍&void pthread_mutex::fixup_after_fork()%P: *** pthread_mutex::fixup_after_fork () failed to create new win32 mutex%P: *** pthread_mutex::fixup_after_fork () doesn'tunderstand PROCESS_SHARED mutex'smutex %x in fixup_after_fork&'U]4] a]u{C$ufna@t!C$vC ]]Ðt&$J aD$D$C u$a^$at&$0] aD$@D$paD$ da\$"XU]]D$I ߉$CC]]Ð&'U]]D$I ߉$CC]]Ð&'U]U]wU]]uu$D$L .$J at$D$D$ 莣CuE sC P a\$$ߚC]u]Ð&'U]]uu$D$L $J at$D$D$ CuE sC P a\$$OC]u]Ð&'US]CuWP a9t?Ht9tt&Qȅ҉t9u$CD$ߙ]]ډ$@뜐v'US]CuWP a9t?Ht9tt&Qȅ҉t9u$CD$_]]pډ$뜐v'U]]CD$D$$iC ]]ÍU]]1ҋC=tK1]]Í& a &'U]]CK]]Í'void semaphore::fixup_after_fork()%P: *** failed to create new win32 semaphore%P: *** doesn't understand PROCESS_SHARED semaphores variablessem %x in fixup_after_forkU]4] a]uPC u@$J aCD$ D$D$ПCt]]$ac$Pa$0] aD$@D$aD$ a\$UU E]ÐUU E]ÐUE]ÉUE]ÉUEt$D$s1҃t]U]]uu$u:t/t 9t"$zuU 9А]Ћu]Ít&UD$E$E D$p]Ðstatic void* pthread::thread_init_wrapper(void*)Cstarted thread %p %p %p %p %p %plocal storage for thread couldn't be setUWaxVS1ہ ؋u1|8111111111113 af$ͫf&4f(m1f* ƅf,af.aD1҉@1M1Q1U1Y1f]f0HIxƅ_FtC4$D$J +u*Cut$h$1ҋ]Ћu]ÍU]] }}ۉut$D$K u!<$D$J D$&u]Ћu}]$ R$1tD$<7<$D$J Jt%u  릉$$1됐U]];t0$D$J t ]]Ë$s1$D$뾐U]];t0$D$J t ]]Ë$31$D$뾐int __pthread_cond_dowait(pthread_cond**, pthread_mutex**, long int)v'U(uu ]]}>G;)4$D$F t]Ћu}]Ð$D$J u׋$HtMPtF;tB$u$0] aD$D$aD$ PaD$̓$~B $~$j$ED$Nj$~ $~$$udPu@ $G~$u$0] aD$D$aD$ PaD$"$0] aD$D$aD$ aD$m$0] aD$D$aD$ PaD$$0] aD$D$aD$ aD$1v$D$4$D$U(]]$t]]Í&E$t ])ixωL$E$E D$뵐t&UD$E$E D$]ÍUuu]$$4$D$K t-u ]u]É$$1t&U]]D$K ߉$Du PE 1ҋ]]ÍUuu]] 4$D$K u%wۺu1@&]Ћu]Ít&Uuu]D$K ߉4$uu1ҋ]Ћu]É$$ڍUD$E ߍE$Gu-UB4$D$F t%u  녉$l$T1lv'U]];t&$D$F ]]HྃXÉ$D$ȐU]]D$F D$$t~t$n1ҋ]]Ívu$D$iuɐU]];t?$D$F t ]]Ë$S1҅Jݍv$D$믍&'U]];t0$D$F _t ]]Ë$31$D$뾐Uuu]4$Yt1҃>tC4$D$F u*C ut$h$P1ҋ]Ћu]ÍU]];t&$D$F ]]HྃXÉ$D$ȐUD$I ߋE$7]HྃXÍt&U]]D$I ߉$u PE 1ҋ]]ÍU]]D$I ߉$u PE 1ҋ]]ÍUuu]D$I ߉4$Ht ]Ћu]$ A$4$D$I Et%u  뵉$$1럐&Uuu]D$I ߉4$uu1ҋ]Ћu]É$v$NڍUD$I ߋE$]HྃXÍt&UD$I ߋE$g]HྃXÍt&UD$I ߋE$7]HྃXÍt&U]]D$I ߉$uE u 1@]]Ðv'U]]D$I ߉$uE u 1@]]Ðv'Uuu}}]4$D$L [Ht]Ћu}]Ít&6eDw$$ËE |$D$b4$D$L t%u  떉$A$i1뀐Uuu]D$L ߉4$uu1ҋ]Ћu]É$$ڍU]]D$L ߉$Tt a]]Ë$1됍v'U]]D$L ߉$t a]]Ë]E]&U]]D$L ߉$t ]]É$v1琐long long unsigned int __to_clock_t(FILETIME*, int)total %08x %08x dwHighDateTime %u, dwLowDateTime %uU1WVSM=4] aY1օu{E t >Ձޱ$t$D$'D$ ,~Éu؉[^_]$0] aD$D$aD$ aT$\$D뾉$0] aD$D$aD$ aAD$D$=4] aIclock_t _times(tms*)ticks %d, CLOCKS_PER_SEC %dvuser_time %d, kernel_time %d, creation_time %d, exit_time %dUh]]u}t]Ћu}]tẺơna@ u3CC CU븡( a}؉|$ $ED$ED$EЉD$8z 4] a<$D$CEЉ$D$J a|$$<$D$C J a$EЉD$EЃ$D${C*$0] aD$D$aD$ 1at$D$ 4] a+$0] aEЋUD$D$E؉T$U܉D$ET$UD$ ET$$UD$aD$ PaD$(T$,int settimeofday(const timeval*, const timezone*)%d = settimeofday (%x, %x)UVS1ۃ0u4$苜PlfUPBfUPfUP fUPfUPfUMbfEN)EfU$y4] aÅu e[^]$0] aE D$D$paD$ a\$t$D$GMT%+d:%02dUVS aD$aų$މ򾉈 )‰T$)ʉx3)‰))L$ [^]Ðt&ɍUVS E u$ED$EEUD$@BMD$ iEEʹ@BUEӋU)ډEU$T$FED$@BUD$ $T$}e[^]t&U(=`ma}} ]u$pmaD$- !@ֺtw$t$D$@BD$ |M$t$D$@BD$ 2MAt.=mat6 a)¡aG1ҋ]Ћu}]ma`ma' apma$0a(&U]U帀mt$u $>ՁޱV$t$]ÐU |$}$t$u  oӁ>Ձޱ^$t$|$]&'UEEUEE]U(}E1҉]up11 tbD$*!Nb4$|$D$ }4$Á@KL|$D$D$ zk_kƉ)ڍ]u}]U(}E1҉]up1׉ uU B]u}]D$*!Nb4$|$D$ |4$Í|$D$D$ yƋE X0떐&'U8]]$t&BOOL tty::common_init(fhandler_pty_master*)cygtty%d.input.availcan't create %scygtty%d.input.mutextty%d openedcygtty%d.output.donecygtty%d.ioctl.donecygtty%d.ioctl.request'Can't set process security, %EUh]] uu}$t$D$W4$\$;1҅u]Ћu}]ÍCddNna@ t3= at*mD$( aD$$苃 C%=CDCHC@$|#a1҅CTMD$Ha}<$FD$ȟ$K aD$|$PCL uF 4] au a1$0] aD$D$P#aD$ #a|$ĉ<$D$#aFD$I$K aD$|$PCP tfFFPfFD4] au r$0] aD$D$P#aD$ #aFD$$#a1҅C@%$#a1҅CH$#ag1҅CDst&$0] aD$D$P#aD$ $alvoid internal_getlogin(cygheap_user&)OpenProcessToken(): %E SetTokenInformation(TokenPrimaryGroup): %ESetTokenInformation(TokenOwner): %EGetTokenInformation(): %ECouldn't retrieve SID from access token!UWV1Sna}@ u|tBVJ a V J a$t$( aD$$e[^_]Ë$&uJ a  J a$먍t&D$1ۉTEE( a$TD$} $0] aD$D$&aD$ &a_E\1ۉX$)tlt$X$ yuCًG$XD$xt<$D$F $tKtD$U$1yuED$TD$ ,$ED$u 4] aEt6D$TUT$D$ ,$u 4] auT$F$0] aD$@D$&aD$ 'a $0] aD$@D$&aD$ P'aUD$TD$ ,$ED$PD$ yu$$0] aD$D$&aD$ t'a$<$ED$$0] aD$D$&aD$ 'av'U t) atVJ a( a J a$$( a]á( a$h떍UE( a$T$]Ít&U( a]U( a]Ð&'U( a]U( a]Ð&'UJ a] UJ a] Ð&'UJ a]$UJ a]$Ð&'U]]t $D$؋]]Í]]t&const char* cygheap_user::ontherange(homebodies, passwd*)LOGONSERVER=USERNAME=\/HOMEHOME is already in the environment %sSet HOME (from /etc/passwd) to %sSet HOME (from HOMEDRIVE/HOMEPATH) to %sHOMEPATHHOMEDRIVEwhat %d, pw %pt&UWV1S1ہ1ۋ 4] a}9} PGut^t;w tp) atF G t;_tG] uG e[^_]Ít&Gp) a뼋uUBt 8ƅƅ<$D$,aD$ 01=p) aJ<$D$,aD$ 1=p) aJ!‰膅D$ <$D$,a1=p) aJ!QD$D$4$D$ mt\uE:tp) aƅ:ƅe$_뮋POuPl1t$D$,aM$,a\$#8$D$ +$E)7G ƋG$,a藇tC4] au} rx$0] aD$@D$,aD$ ,aD$rNjEUBt[8tV4] au $,aUBD$D$?$0] aD$@D$,aD$ 0-aBD$볅t$$$\$l$T$t4] au$,aT$Y$0] aD$@D$,aD$ p-aD$g$,aD$,a$E7&$-aWT$-a1.$0] aE UD$@D$,aD$ -aD$T$U$Ét$֋u1҃{8t {4tt$t$]Í&UȹqUSERDOMAIN=SYSTEMv'U8]E]}M ${؉uftC]u}]É$D$2aD$ 1=p) a‰$D$,aD$ r!1=p) aJ!…tк2a~tp) a늉p) a=D$4$t$賃YtCJ/netrel/src/cygwin-1.3.12-1/winsup/cygwin/uinfo.ccUWVS\uM ^^p) aFgp) a؍UF|$$\$D$D$ D$D$tpu3a_膤Fe[^_]ÉTFJFߐt&E^ډ$n6뾍t&U(uEu]M ^$ډ9t F]u]úp) a|D$ 4$D$,a1=p) aJ!t2a|tF\$$/tF느&'UE E]&UE E]&U]E]M $SQt C]]Ív$D$2aD$ ِSNPCYGWIN_%s%d.%d.%d%s(%d.%d/%d/%d)si%d86Ux]d]u|t ]Ћu]D$P6a a$k$D$D$d$D$T6aD$na Eȉ$<C$EED$rCMbC( a$D$^6aiD$ a)хD$ɸv6aL$ D$ aD$ aD$ aD$  aD$$[C<$ aD$t a)D<Eȃ~)tCPunknCTown1CPalphfCTauءna@t5Efvf wD$x6aCP$T$貌랋Utt͸QCPmipsCTh~6aregexp too bigout of spaceNULL argumentU(]]u}vma1ɺmama} ma5ma$ $|$s1҅tma=~!$8a%1ҋ]Ћu}]Ít&`$smamaF\ma$W $|$1҅tFP^]FQFTFX$`8uJF`^`<tktbEt5EE&;t!$#uEFTEFX'{<$;E|ω}<$EFQCFP$8a$8atoo many ()unmatched ()junk on end&'UWVSEu Ema ~$\:a1[^_]ÉE@maE$ ǍE$U1tɅ3<$\$Y Eu&ma <|< EE$@ <$ƉD$ t(&'$t$4 $uEt&maPma8)t $h:amat<)t$u:a1lBEma$ND$<$Z Eu&ma <|t< t1t&UWV1S}$0 E졠matW<)tS< tO<|tKE$1t?UЃ ȅtC4$\$ mat <)t< t<|ut E[^_]$  Љ*+ operand could be emptynested *?+&'UuE}}]$31t ma,*<v?tE]u}]Ð]u?t$<a11+*D@+?t#A maP,*<v?u$=a$t$ $D$4$` $ D$É4$F 4$\$ v' mazt$ t$$2D$É4$$$t$$$D$$ D$4$w&t $ v$t$$D$4$4$t$$4$z?+* follows nothingunmatched []invalid [] rangetrailing \internal urpUWVS EmaB maƒ|$?avFaCaCaCaCaCaCaCaCaCaFaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaAaCaCaCaAaFa Ba BaCaCaAaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCa BaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaBaaCaCaAaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaFa$lj [^_]$$ED$1tԋEU $Uǃ $)?aI 1례8^$pma<]<-t:<]t6v'<-tYB$maemat<]u$Hma8]t $=?adMPma BmaQ]tu $-AXF9(9~maBma{C$9~$J?aBma$ma $SmaBmaPma<<'$J1ۉmama Bma@|$CavFaEaEaEaEaEaEaEaEaEaFaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaFaEaEaEaFaFaEaEaEaEaFaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaFa!FaEaFaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaFa$mat&t0ma$MЃۉ$$maR$[?a> $ 7$ +$f?a~UmaEmatBBBma]ÍmamaUmaU=matma]Ít&ma򐍴&US] EEma=mat0@9ڣmavvJI9wECC[[]Ãmav'UVSEu =mat-t&'É$u;t)ڈSC[^]É)UEt =mat8t]ÃE]corrupted programNULL parameter&'UWVSu} YQ~\t$Ga1[^_]Ðt&VTto؈Ċ8tAu1ɉȅt̍t&'$T$FXD$-t'FTCىEĊ8tAu1ɉȅu냅{~Q=naFPtpȉȉĊ8tBu1҉Ѕ?&'4$\$tu%NPCډȈĊ8tBu1҉Ѕu4$\$4uCuu} [^_]t&$Gat&U VS]u C(ډ5mana na&IC]$Nt3maC([^]1corrupted pointersmemory corruptionv'UWVS]$Ѓ'5$dJa@KaKaIKaZKasKaKaKaKa LaKaLaLaLaTMaMaMaMaMaMaMaMa^Ma^Ma^Ma^Ma^Ma^Ma^Ma^Ma^MaMaMaMaMaMaMaMaMaMaMaEna9mau"$Ja2EE[^_]EEma8Ema8t@ma륋 matSĊ8tBu1҉ЅtA̋ matSĊ8tBu1҉Ѕtav>ts;C5ma$BE8$5ma8tma{E8C<$ ma<$ma\$D$VEtE>tf< maEC$<9}t!Uma8tEK9ma}W4$QEtFVU둡ma a$uE_;naR a$_maԉ4$X=mana4<$Ja4$X=ma~t nainternal foulup&'UWV1S UmaJ8t$Ma1Ema [^_]É$⍴&t#uB:uɍ&'CF:ttЉЉψĊ8tGu1ut&CFtЉЉψĊ8tGu1bՐt&PЉЉψĊ8tGu10t&CFЉЉψĊ8tGu1uUSM1ہmatA1Qt9t []Ð)U]Ðdamaged match stringdamaged regexp fed to regsubNULL parm to regsubv'UWVS}E U\UFt? 1&t\xgtD(uFuЋE[^_]ÉËET$)Ӊ\$$]tʋExuEpOa[^_]t&\t E@E<\t<&uFstatus %d, options %d, res %dproc_subproc returned 0%d = WaitForSingleObject (...)calling proc_subproc, pid %d, options %dUWVS\ut& ( aEEEHt ) a$ EUsS4] a{$\$: aX4] af}tdE؉$tUE؅@$"E؃@E@$E؉$þE؃$!EE؅4] auOCx e[^_]á4] at$0] a aD$D$QaD$ QaD$$$0] aUE D$T$UD$QaD$ QaD$C|$ T$D$ޥh$!E؃@E@$E؉$̽E؃$ E$0] aD$D$QaD$ RakqC tgǡ4] aujC u a 8Ct3t a;M  U $E$0] aD$D$QaD$ 0Ra|$貤i$0] aD$D$QaD$ PRaD$CD$|O$) a) aP$ $) aá) aPD$$D$諪) a$) a\$P aE؅u $<E؃@E@$E؉$E؃$E9( a-E( a( a1҉-( a) a$( aD$??%s-%d.%dNTService Pack 49895ME&U(]]u}t]u}]Í&%$x#C tHEVavEE}aE]ȉủ]uEEt'E$*ttE؅uE5WU؉)W!ېacosfv'Ux]]u}$6=  a]ut $=QtuE]u}]Í$H>vԉ]EEE~aEU]EEt-E$NstE؅u E]ESVU؉GV!Րacoshv'Ux]]uu }$t$=  a]$t$P]uEv{EEaE]ȉủ]uEEt:E$frt+E؅uEА&]u}]^UU؉RU!EՐacoshf&Ux]]u}$=  a]u$YO]EvvEEaEU]EEt;E$qt,E؅uE]Ev]u}]~TU؉rT!ؐ&uEȐasinv'Uh]]uu }$t$远=  a]t$t$5NtE]u}]Ð$t$4;vEEaE]ȉủ]uEEt'E$zptE؅uESU؉yS!ېasinfv'Ux]]u}$趞=  a]ut $MtuE]u}]Í$:vԉ]EEEaEU]EEt-E$otE؅u E]ERU؉R!Ր?9B.?u<7~u<7~9B.?&UXE]U]ĉځ~]]Ív/>awہA@~i$]69E]U$蛟EEE$d]EۋUĉEUEp؉EUE^$]8]E$9E}$e띐$8$Ua끐?r1?IqIqr1?UXE]UċEĉ~ ]]Ð1̄aw݁M@~a$]68E]U$蛣EEE$]ċEąۉEEx؉EEi$]7]E$AE}$ h$7$yUЄa느Oag?-DT!? s?-DT!?e/"+z<\3&awɅ ؆aaaaaa aaa a(ax'aʅ$ a# $4?;?1%aa1ف@Ȇaa=Іaatan2v'UxE]]uu}U$\$t$ =  a]t$t$FtE]u}]Í&E$Fuډ]uE~Eukz]]]ȉuEEaE]t*E$htE؅uEqLU؉K!Lv@92atan2f&Ux]] }}u\$<$ߥ=  a]ut $EtuE]u}]Ð<$Eu]E}Eٞzw]=  aE]E]EE0aEEt0E$gt!E؅uE]EZJU؉J!4-&8c>I?^{??i71h!"33h!3>L%I>8n.=5k=knYK=!i<?IqIq?@?i>!kn8Lɿ?t&UVSEUEÁP~-~ [^]؅~aat&>0awɅ ȋa̋aЋaԋa؋a܋a aaaaax'`aʅ$pa/($b0?;/?1%aa1ف@aa=ċaatanhUx]]uu }$t$=  a]t$t$5BtE]u}]Ð$t$4/vhEEaE]ȉủ]uEEt'E$odtE؅uEzGU؉nG!ۉ]uE5a]ȉủ]uă=  aEEaE]]u]ЉuatanhfUxuu]}4$=  a]]t 4$-At]E]u}]Í4$8.vquEEEaEU]EEt0E$3ct!E؅uE]Ew5FU؉)F!҉uE=  aEEaUU5aE]U]'<UEU EU ];=x*x)__?42%ޑ?n۶m۶?m۶m?__??42%ޑn۶m۶?m۶m?&UWVSEU]ف1ف]~[^_]U؋E ]؁ME]MPCUMEU]]؉ڻx)ME1Uapaxaaa]]u{}E]M] ډEUE]ػVUUU)ˁÓx*]bQ*Q& ?4P?۶?n۶> ?P?4۶?n۶>UE]UUӉс~ ]]Åt؉]EwKEE]E¸Q&UEaaa=a a]U ȉEEtغVUUU)Q*땐u<7~u<7~UWVSEU]M%ʍMx]ME}E! t@av~ MܸUU!1҉U]E[^_]Ðavمx tϻ?ƻ뿍v}3~}t뮍&E-mUtXao~(}t/E4Mܸ)MM9sCUE!6Ct&0IqIq&UE]UUӁHyxIt8dav~ !Ӊ]E]]Í&davׅx tϻ?Ȼt&v봉뮐UE]uu]M}]}ȋMEځ ʋ]UE]ÐUEU % ЉEE]ÐUHE]U]%=!?=~ ]]$ED$=~St*D$EU$ET$UD$T$ 몋EU$ET$UD$T$ 轥놅uEU$ET$UD$T$ 蓥[D$EU$ET$UD$T$ v맍t&$11뷐?U(E]UU%=I?=~ ]]$]\$t`~7tD$E$CD$뼋E$ED$ 릅uʋE$ED$D$E$ED$軥$ϐcoshv}3@Uh]]uu }$t$蟮=  a]t$t$%8tE]u}]Ð$t$$%avEEaE]ȉủ]uuKEEG=  at'E$^ZtE؅uEi=U؉]="ۡ}a}aEЉU밐coshfԲBt&Ux]]u}$=  a]ut $]7tuE]u}]Í$h$avЉ]EEEaEU]uTEEG=  at0E$bYt!E؅uE]Evd<U؉X<"ҡ}a}aEЉU말U]fU]fYn??@` ?in?in?hn?i}ԿOQ*hf#w yw?6UL?k"t?"]!? aBCо8uYcM?ø@׿ Q_?(>=c땗Y6*?? 8a#f>?3oJ?\c?5c`&?Qk?5WT?5d `4`s4&A% 0Of"(Ld\gWeRT\š#vp3@!jR 5a@q ){@h(!+@pW!z@,H([@JHG@bt﮿Jo94ޅpZ_U 1C]d(uY.ja?8ܛN8~Q&V>@ "\t@Q@j$h@;@ct}@b-qBp6? @in??in?hf#wOQ*i}Կhn? aBCо"]!?k"t?6UL? yw?? 8a땗Y6*?(>=c Q_?ø@׿M?8uYc5WT?Qk?5c`&?\c?3oJ?#f>?` ?` \š#WeRT\gf"(Ld 0O&A%`s45d `4bt﮿JHG@,H([@pW!z@h(!+@q ){@!jR 5a@vp3@?8ܛN8~Y.ja(uC]dZ_U 1ޅpJo94b-qBp6ct}@;@j$h@Q@ "\t@Q&V>@?UVSpEU]ډށ~!6)P$p[^]Á?/>. Лa ța ؛a a a aaa aa(aa0aaa뀁? @~؅a$Ym@@ a aaaȜaaМaa؜aaa aa(aa0aU1]Eˉ]E]U]]%a$EEEE]$ũMEx %a 8a pa@axaHaaPaaXaa`aahaa$Z pa 8axa@aaHaaPaaXaa`ahax a\aMhf#wOQ*i}Կhn? aBCо"]!?k"t?6UL? yw??? 8a땗Y6*?(>=c Q_?ø@׿M?8uYc5WT?Qk?5c`&?\c?3oJ?#f>??` ?\š#WeRT\gf"(Ld 0O&A%`s45d `4bt﮿JHG@,H([@pW!z@h(!+@q ){@!jR 5a@vp3@@?8ܛN8~Y.ja(uC]dZ_U 1ޅpJo94b-qBp6ct}@;@j$h@Q@ "\t@Q&V>@?UVSpEU]ډށ~1R6P,$p[^]Á?o< ߍɁ? ȡa aСaaءaaaaaa Ja?A;@~؅a $l@@ pa axaaaaaȢaaТaaآaaaaaU1]Eˉ]E]U]]%ha$-EEEE]$ME~aZ a 0aa8aa@aaHaaPa aXa(a`a@S$x 0a a8aa@aaHaaPaaXa a(ax`aha!`B ??@ VX?u>u?u>kR鼉VǷλ>c*=;I 9ℶh>T>㽳Q= 1=W ?=3>n_u>VǷRkℶI 9;c*=λ> Q=T>h>ZD<n_<3>=W ?1= VX? VX~+8Ìe"Wy"(1!w|?@EB CX!DoHCc C5Au #Ad KԝL!CCΐEGEYDqCYA?UxE]uUEÁ~)6)R$]u]Ðt&W?1. a a a a a aaaaaaaaaa뀉?"@~؅a$m6@B a aaaa aa$aa(a a,aa0aa4aŰU]%EE]]U%pa$莠EEEE]$eMEx %a 8a Ta<aXa@a\aDa`aHadaLahaPala$ Ԩa aبaaܨaaaĨaaȨaąaШax aPaAVǷRku>ℶI 9;c*=λ>? Q=T>h>ZD<n_<3>=W ?1=ԧ> VX?~+8Ìe"Wy"(1!w|?@EB CX!DoHCc C5A@u #Ad KԝL!CCΐEGEYDqCYA?&UxE]uUEÁ~ 1R6P,$]u]ÁW?#=> a aaaaaaaaa Na?AA~؅(a $ l6@B a aa aaaaaaaaaa aa$aŰU]%EE]U]%da$諛EEEE]$肛ME~(aX ,a Ha0aLa4aPa8aTa<aXa@a\aDa`a@S$ ȭa a̭aaЭaaԭaaحaaܭaaĭaxaa%9B.@Q0-Iexpt&9B.@Q0-I&UxE]u}$]=  aEU]u $] EaٞEEaEU]uVEEG=  at2E$h?t#E؅uEЋ]u}]h"U؉\""С}a}aEЉU륐av.EEaEU]EEi؉]uE{t&kqBexpfvqB&Uxuu]}4$=  aU]؉4$ u aEٞEEaEU]u\EEG=  at8E$>t)E؅uE]E]u}] U؉ "ʡ}a}aEЉU؉u$aEv.EEaEU]EEZ؉]Eu?u<7~Yn9B.@B.?v- n9B.@YnB.?v۪UZ?@@пt&haUWVSEUM]ȉفyhC@vA.@vXv3ف t'[^_]Åtеaصaٞv aͅtav뼁B.?Sف?aɾ%a1ɻ?M]EHa a(a0a8a@aPauكF9v%]]MMUEF] ?MȉE)UE]]MMUEZUMȹ)ʉEUEXavM]E `a aɾa[t& auK}1ɻ?M]EEf fEm]muV$ a a}1ɻ?Eaf fEm]mu븁$ف?yaɹ%a?UEaUʋ] aaa aaau ؃tzA9v ]UȉEE2ڸ?)UE]UȉEE)EE]avUE aQ]E>1aɹa auF}?UEEf fEm]mMQ$ a a5}?Eaf fEm]mM뺍v2wat&1ɺ?aܹaHم>琐UE]uu]]Mڋ]MUE]ÐUE%EE]ÐUEEÐUEE ÐU(E]U]%-y%ɋ]]]sEٞuzِU(EUU%-y3]UUE]Ðt&]E]䞋UuzӺ̐UEEXUEE XUE ]%-ÐUE]%=ÐUEEÐUE EÐUEUEUEUEÜu<7~u<7~UWVSEU]M%ʍMx^ME}E! tAavxUU!1҉U]E[^_]Mܸav˅x11% t뭃}3~}t럐t&E-mUtXabx UE!Q}t$E4Mܸ)MM9sCCƍv#IqIq&UE]UUӁHqxIt8avx!Ӊ]E]]ø䐍t&av΅x1ƅt»뻁v믐fmodv'UxE]]uu}U$\$t$ 腌=  a]t$t$ tE]u}]Í&E$ uډ]uEuzEEEa]UuEuC]Ѓ=  at*E$A0tE؅uEzIU؉=!EE뮐fmodfv'Uxuu }}]t$<$_=  a]]t 4$8 t]E]u}]Ð<$ uuEuzω}  aEuEEEaEU]uI]Ѓ=  at0E$7/t!E؅uE]Ep9U؉-!EE먐UE]EٞvTU]%-x]]]]K3ً]]EÍv뾐UEU v%-x]U ] 7؉UEEU]ÐPCPCUE}]]U}uu%=Q tM= aU}%Љ-?]]U]E]u}]ÐLL&UEM UU%=@t<=? a]U%~% ?EE]Í֐UEÐUEÐgammav'UxE] au}U$D$ō=  aU]ut؉$t$ct]uE]u}]E$>tEE0aEU]EEGE$Ez|rG=  aEt*E$+tE؅uEcU؉!؃=  aEtE$e+u|"̡}a}aEЉUIgammav'UxE]Eu}U$D$\=  aU]ut؉$t$t]uE]u}]E$tEEaEU]EEGE$IEz|rG=  aEt*E$C*tE؅uEcK U؉? !؃=  aEtE$)u "Ѝ&š}a}aEЉUBgammaf&Uxu au]}4$D$=  aU]t؉$t]E]u}]Í4$tۉ4$|uE EEaEU]uTEEG=  at0E$(t!E؅uE]EY U؉ !ҡ}a}aEЉU؉u  aEEEaEU]u6EEGtE$E(lX "\}a}aEЉU눍{gammaf&UxuE u]}4$D$_=  aU]t؉$t]E]u}]É4$tuEEaEU]EEG4$uErM=  aEt0E$'t!E؅uE]EY U؉ !҃=  aEtE$&u "̡}a}aEЉU?hypotv'UxE]u}]E]E$E\$#=  aU]ut؉$t$at]uE]u}]Í&E$5tE$&tEEE0aE]E]uNEEG=  at*E$%tE؅uEtU؉"ء}a}aEЉU뭐hypotf&Uxuu}} ]4$|$O=  aU]t؉$ft]E]u}]É4$Gt<$;tՉu  aE}]EEE`aE]uTEEG=  at0E$$t!E؅uE]EoU؉"ҡ}a}aEЉU말USU Eсf út+u,~&'J'[] ɺ~ J׍& 뽺붐UUt$%Ҹ~'H]Í&B␐U1UEE]ÐUEE]ÐUEU ]щ  )ȉ )ÐUE]%=ÐUEU ]щ  )ÐUE]%=Ðj0t&-DT!ICUh]]uu }$t$߈=  a]t$t$etE]u}]Ð$t$dxavEEpaE]ȉủ]uEEt'E$!tE؅uEU؉"y0-DT!ICUxE]u}$]=  aE]]u*$~EEESaEU]uVEEǃ=  at2E$ t#U؅uEЋ]u}]U؉!Ћ}a}aEЉUXaٞvU=  aEESaEU]EEtE$: aM"Q؉]uEK萐j0fIZ&Ux]]u}$=  a]ut $=tuE]u}]Í$HavЉ]EEEaEU]EEt-E$JtE؅u E]EOU؉C"y0fvIZUx]]u}$趓=  a]u1$Y!]EEEaEU]u\EEǃ=  at8E${t)U؅uE]E]u}]uU؉i!ʋ}a}aEЉU؉]aEٞvU=  aEEaEU]EEtE$U"E؍v'uE>j1t&-DT!ICUh]]uu }$t$_=  a]t$t$tE]u}]Ð$t$8avEE0aE]ȉủ]uEEt'E$tE؅uEU؉"y1-DT!ICUxE]u}$]裚=  aE]]u*$EEEaEU]uVEEǃ=  at2E$t#U؅uEЋ]u}]U؉ !Ћ}a}aEЉUaٞvU=  aEEaEU]EEtE$za"Q؉]uEK萐j1fIZ&Ux]]u}$覡=  a]ut $}tuE]u}]Í$avЉ]EEEaEU]EEt-E$tE؅u E]EU؉"y1fvIZUx]]u}$&=  a]u1$!]EEEuaEU]u\EEǃ=  at8E$t)U؅uE]E]u}]U؉!ʋ}a}aEЉU؉]|aEٞvU=  aEEuaEU]EEtE$U'"E؍v'uE>jnt&-DT!ICUh]E] uu}$\$t$x=  a]t$t$tE]u}]É$t$avEEEaE]ȉuEE]t'E$ tE؅uE+U؉"ynt&-DT!IC&Ux]] uu}}\$t$<$Ȫ=  a]?$t$+]uEW  a$EEaE]ȉu]uVEEǃ=  at2E$+t#U؅uEЋ]u}]+U؉!Ћ}a}aEЉU량]uaEv_W$=  aEEaE]ȉuE]EtE$R"BEDjnfIZ&UxuEu ]}$t$迫=  a]]t 4$t]E]u}]É4$tavEuEEpaEEE]E]t-E$tE؅u E]EU؉"ynfvIZUxuu }}]t$<$O=  a]]L4$<uEW  a$ɃEEYaE]]u\EEǃ=  at8E$t)U؅uE]E]u}]U؉!ʋ}a}aEЉU뙍t&؉u`aEٞv^W$Ƀ=  aEEYaE]EE]tE$H"8؉']E2U(]]uu $t$t]uEzu]]uuE]Í&$Et$D$-)]]u$t$xt]uEuz["뙐U]]$\t]Ezu ]]E]É$E D$*]]$t]Euz"봐lgamma&UxE] au}U$D$5=  aU]ut؉$t$st]uE]u}]E$NtEE aEU]EEGE$Ez|rG=  aEt*E$tE؅uEcU؉!؃=  aEtE$uu"̡}a}aEЉUIlgamma&UxE]Eu}U$D$̱=  aU]ut؉$t$ t]uE]u}]E$tEEaEU]EEGE$YEz|rG=  aEt*E$StE؅uEc[U؉O!؃=  aEtE$ u#"Ѝ&š}a}aEЉUBlgammaf&Uxu au]}4$D$8=  aU]t؉$t]E]u}]Í4$tۉuEEaEU]EEG4$\uErM=  aEt0E$t!E؅uE]ESU؉!҃=  aEtE$u"̡}a}aEЉU?lgammaf&UxuE u]}4$D$ϸ=  aU]t؉$Tt]E]u}]É4$5tuEEpaEU]EEG4$uErM=  aEt0E$| t!E؅uE]EY~U؉r!҃=  aEtE$/ uF"̡}a}aEЉU?logUh]]uu $t$@=  a]t&$t$ u]uEv؉E]u]ÍvEa  aE]Ѕɉuԉ]؉uu{EElj]uEuOzMEt4Eȉ$5 tEuE@U4!'"Eu؋}a}aEUwlog10v'Ux]]uu }$t$蟼=  a] $t$]uEٞEaE]uĉ]ȉuEElj]uEubz`=  aEtCE$ t'E؅uEЍt&]u}]U؉!"뿃=  aEuԋ}a}aEЉU`؍'E닐log10f&Uxuu]}4$f=  a]]4$uEE`aEU]EEljuEufzd=  aEtGE$ t+E؅uE]E]u}]U؉!"뻃=  aEuԋ}a}aEЉU_؍t&']E눐B.?v?PC?v?x ?˖dF?xq?Y"$I??UUUUU?aaUWVS EU}y??~/aٞuza [^_]>8av <~ a볍v%I>)c>%3:>O>>L?7q1?*?@>O>%3:>)c>%I>>&aaU}Muω]~؉ME]u}]É>?~-؉MaEu za뼉ME밁0@؉MEav E$~؉MEE ah jA= jAv؉M1Et&'tc؁YMEUUpvME57 ?EE au{z/؅t V$ a a at*V$ a aHa aaaaaaauV$ʃ a aΉ ?FE)EMEȉprUE]UM]ȉف t/~ ȋ]]uaꍁP$$=aː&UEUU%t(=~ȉ]uDaP$$=@alogfv'Uhuu]4$8=  a]]t*4$ruuEv؍']E]u]Éu  aEE̠aEU]u~EEljuEuUzSEt:Eȉ$htEu E]EmUa!T"Eu؋}a}aEUtU1]Ð?&UWVSP~$Iq\$͊ a|$`B \$貊 aa؃ ȉEE a@Љ3U]]uu $t$RP$$t$\$iu]]ÐU]]$P$$\$7]]UHE]U]%=!?=~ ]]$ED$],~St$EU$ET$UD$T$ 0D$EU$ET$UD$T$ (҅uD$EU$ET$UD$T$ (SEU$ET$UD$T$ /.$11҉D$T$ D$뷐U(E]UU%=I?=~ ]]$]\$5t\~7tE$CD$I8D$E$ED$0uD$E$ED$/놋E$ED$7o$D$D$ʐsinhv'UxE]u}U$S=  aU]ut؉$t$t]uE]u}]Í&E$tEEE aEU]ujEvPGEЉUԃ=  at*E$mtE؅uEvuU؉i"ظEɋ }a}awMЉ]댐sinhfv'Uxuu]}4$f=  aU]t؉$t]E]u}]Ít&4$دt݉uEEE aEUUumvVGEЉUԃ=  at0E$@t!E؅uE]EvBU؉6"Ҹɋ }a}awMЉ]뉐sqrtv'Ux]]uu }$t$=  a]$t$ѿ]uEٞEE aE]ȉủ]uuP]Ѓ=  at7E$#t(E؅uEАt&]u}]U؉!EE؍E뻐sqrtfv'Ux]]u}$=  a]u$]EEE aEU]ucEE=  at?E$t0E؅uE]E&]u}]U؉!EEؐ&uE븐UHE]U]%=!?~Q=~ ]]$ED$%MUL$M$UL$ T$)‰T$$11҉D$T$ D$U(EUU%=I?~F=~ ]Í$ED$!/U$UT$)‰T$?$D$D$㐐?@Yn?@UE]U]%=~!xH a]]%H a=5@x=<H aӐt&=?~,$q$藢P aP ay$E X a$gP aҍ&Ő?@`B ?@&UE]UE%=~!x< a]]%< a=Ax=#< aӐt&=?~,$$g@ a@ ay$蕨 D a$7@ aҍ&Ő?-DT! @-DT!?\3& N>F$O:89-W@a30.Ɲ=I@?8O:F$ N>*>.Ɲ=a30-W@9?h!3??I@t&UXEUċEĉ%=?O=?~ ]=>=#  a  a  a  a a  a a a a a a a a- aQv $ a$]E]ċU  a%EE a a  a a  a a a a a $ a  a  a$ a  a a a a a a] a] EE( a% a&؅ a?9B.?9B.??UXE]UM]ĉȁ?]]ÉA~~$r  aэ tr؁@~:$]]\]EE]] % a$]]E]]L?r1?r1??UXEUċUā? ]ÁM~~$Q  aց?th؁@~3$]] EE]] % a$] E]]W]?u<7~-DT!?\3&<-DT!?UUUUUU?}oԿUDU?;h(uI? =?K-':ȊY*@Yl濂.Ÿ?-DT!?\3&d aw$) x a ( a X a$0 aU` a8 ah a@ ap aH a]P a]23?EUM]EE~4% a- a]~ډ]1EE]MEE] aE a]E댍v ( a X a0 a` a8 ah a@ ap aH aP a  a?Iq?.;I?*> N>F$O:89-W@a30.Ɲ=?.;Iq?8O:F$ N>*>.Ɲ=a30-W@9?I?t&UVSPEUċEĉÁ? ?~P[^]Ít&>1\$! aw$豛 T! a ,! a D! a$0! aUH! a4! aL! a8! aP! a?PC?B.?v?˖dF?Y"$I?UUUUU?&UW1VSEU]M:% u& a[^_]Í (& aU]]؁d_ ?8 ٍCM%E%0& a~z0؅aW$ @& a 8& a; H& a-P& at&W$ @& a 8& aWX& aQ$) x& a `& a& ah& a& ap& a& a~AÅ P& auP @& a 8& aՅu 8& a @& a5 & a?`B &UWVSEUU%=vX[^_]Ít&؅؉=w1ut&@t)ƍvt11۹v'99<)ut؃?UEPE>q1?7L*?>%I>)c>%3:>O>>L?q1?7>?@O>)c>>>%3:>%I>*?&UE]1UUuظE]E]Å(~]Eٍ * a]UЁ J\5? ЉEBE%˃%$* az6]ۋEOS$ (* a ,* a]]K 0* a-4* au ]!S$ ,* a (* a]S8* a50\$) H* a <* aL* a@* aP* aD* aT* a~KÅ 4* au0 ,* a (* aU(u ,* a (* a]U5* aYn-DT!?-DT!?-DT! @\3&<-DT! @-DT! -DT!-DT!?-DT!?-DT!!3|@!3|\3&2 aw]u?MuE4$ 2 ax냍$52 aa?IqIq?&UE]UE?~ ]]Á?tw1d3 aw؉U>E.$r 3 ax$뭍&53 ao?IUUUUUſ?a*}W>+Z|Z:=|Z:=+Z}W>a*?IUUUUUſ?USEEU]%=?>'}Ef fEmUmE~ɋE 4 a4 a4 a5 a5 au5 a[]Ív 5 a 5 aːDNn)W'4b<ACcQޫa:n$MBI .)>5D.&pA~_֑9S99_(;/ Zmm~6 'FOf?-_'u={9Rk_]0V{Fk 6^ae_@h'sM1Vɨs{`k!?! @|@!@zj@|"@%@!)@:F,@zj/@\G1@|2@k4@5@ۏ7@!9@:@:F<@Z=@zj?@L~@@\GA@lB@|B@C@kD@4E@E@F@ۏG@XH@!I@?pAm0_?@T!?1cba=`a=sp.;.;I %{9@T!?1cba=`a=sp.;m0_??.;I %{9pAt&(8 aUWVS|EU]ށ!?&ً]CC 1|[^_]Í&{@م~I!?%7 at7 aEX%7 aU7 aZہ!?7 at 7 aMYh7 a]7 a[؁!9A ~UR#]}E]ىE)EƉU1Ef  8 afEmUmƋEP$\BUغulzf'JDzMt؉\$MEȉ$T$ L$D$D$5 a6xZ]ssHM$} 8 aEf 8 afEm]mƋMQ$ 7 a 7 aG;4 7 at>EEPx LXHUUE%)ƒ~|] 7 a 7 aUE%)ƃ1~1 8 a 8 a5.'?LUUUUU?wQlV>RO~ı!>8?8ı!>RO~>wQlVLUUUUU???UWVSEEU}?>)}Ef fEmUmEɁ23? ; a; a; a; a; a; a$ < a[^_]É?~,< a < a-; a1ɉM]E멐?*< P864/ײ././4/ײ86 P<*?&U EE UU%=1#}Ef fEmUmEt}ɋE ,= a0= a4= a8= a<= au@= a] D= a @= a֍t&̐nND)'W4b<CAQca$n:BMI. )>5.Dp&_~A99S9_(;/Z mm6~' OF?f_-u'{=9Rk_]V0F{k 6a^e_h@Ms'1Vs`{k&?I@˖@@S@A/AIA1bAS{A:A˖A\AA~AAA1AASAB: BBBB\#B)B/B66B~ a虊xww뵐t&$y} A aEf A afEm]m֋MQ$ A a A aH%;U EE UU1)}Ef fEmUmEɁ> @E aDE aHE aLE aPE aTE a XE aÁH?~,\E a XE a-A~vrB~RԲB~G a&']]$?UUUUU?lf,%jV?kAФri7f>9B.@Q0-I+eG?B.?vkA,%jV?lf>UUUUU?@pt&I aI aUWVSEUM]ȉA.@v`v$ف t [^_]ÅthI aٞvpI axI avȁB.?/ف?(I aɉ$I a)؍pʅ I aI aI aI aI au%I a2I aˁ| ]]MMUEv]]M3>MUE I a} I aEf H afEm]muV$ I a I a/>w)I av Y1??Iq q1?q17;?*>a 6U8ݵL13;?q1?7IqL13ݵU8a 6*>@ \L a\L aUE]UUщЁv]]Á=rB~,L a؅fr>ف? L aɉ$L a)ȍXʅ @L aDL aHL aLL aPL au%TL aHTL a˃|]U؉EE]U2EE XL a} 0L aEf K afEm]m]S$ 4L a 8L a 1w)xEUEU $T$ED$A?]]UE$E D$H]]UWVSEEUɋ]U}9 ډ؉ˉ]u؉])=uE]uMuE~ [^_]10_~6Uu uU] u]%%]XE]ME 5UE ]EEˍ&'ve]U]UE$1?EUE&UE]MEE]E$j]%%]XE]ME t&USMU 9~ȉщ‰M)E=UE~[]Í1ہXbځ~(tځt썶؁""DMEUEɁ&*؁?~EEvT؁ME$?EEʉUEEE$؁""DMEUE0u<7~?mBP ?m0_??(9P ѱ>?s3Ȃ?WҦ?ՄT;>]t>mBP ?u<7~??s39P ѱ>(?]t>ՄT;>WҦ?Ȃ?п?UxE]U]~]]Ív$c?? Y av ?>~ (Y aʁ? PY a 0Y aXY a8Y a`Y a@Y ahY aHY apY a xY aY$]װE]$:EUE]E]~mH~ E Y a$]E$]E]$`EMME$ Y a]kE$J:EMEڞv u]^u]Qt&˙䲿?lLk M6?\sϾԫN;WU>ȳ?i=Žɑp?x?-d>;P=?mBP ?m0_?˙䲿ȳ?i=ŽԫN;WU>\sϾk M6?lL?;P=-d>x?ɑp?&UhE]UUEӁ~EU=[ a]]Í u \ a?@>E$ \ a \ aE (\ a X\ a0\ a`\ a8\ ah\ a@\ ap\ aH\ aP\ a \ aE[ a$]]E$ME \ aE$έ]E$7EUEE]]~pH~!E \ aE$]EE$|E]$\EMME \ a$]eEE$C7EMٞv u]_u]T\ a '2yO) c{pMnj=d6 Qg3"]@8iYP}@_n@@I,OwA@̕Gk p}Z/PcBgt׋(uŘ `N@d(~\m@`Z@8v@d ̢@o%KtENLJ5E B" Mؒr?}A@|JF9v@amn@~ø@7e@m'wB^IbC$96c$b&珯 YYe86@a@Bp@:M@f@9[6xd@ckNX@?TRfAC+ڃ(A= (k)A0,mٌ)==Lr?=W@鈇 `@ȝ @S@C^T@!ڠ;@mY{g@r#@Tz@ ۾Wj2>B?a @ݮ-OE@^Ye@!|d@C"aH@NT-@cMK@(jl<@O٪@ bkT;1>4>>ž?w'?o,@J)?@Kq@0@z]>@@Kp@""Ef@\|@eSj@1)j>&US EU]%=@a aa aJ(H(B @ B@B@B@c a []=.@~b aPb an=l@~b ab aVc aPc aGIq?n?"?<.5G5<5.5GFgbi*9<2!/P€/l!4e8P<&UH]EÁ~EEU=Hg a]]ÅuLg a?2E$i Xg a\g aE `g a xg adg a|g ahg ag alg ag apg atg a\g aEHg a$]l]E$ME Xg aE$E]$-~EU]E]~pv!E Tg aE$]EE$;E]$EMME Tg a$]褿EE$b-EMٞv u]_u]TPg aNvSZ(ŘBoEەG|G :GH{Y›y7sBhD׺EeF`E/-RQhelBCs3DD-C̱W63 N-ñA4C2F]G GRh1p=V@|*B*C&C CBl1D_gEgEWEEY?ۉ!4*=?gAqTAAAC)2SD\DTCXUEUU%=@0k aHk aJHB@B @ B@B@k a=W@~`k axk ar&=g6@~k ak aUk ak aFu<7~?mBP ?m0_?a,G W?h Fj>S~c ?d͹V_(??3>,}Ɉ5>~*=mBP ?u<7~? Fj>ha,G W?~*=,}Ɉ5>?3>d͹V_(?S~c ?UxE]u}U]]~]u}]Í$]5O?E]u}?>hm av pm a량 m a xm am am am am am am am a pm av؉4$|$訜4$]|$&EɋUE]؁EЉUEee]]~yH~/E `m a4$|$]tEE4$|$4$]|$rEMɉ4$MЉ|$ `m a] E몉u}E$%EMv u]Xu]M<fɿ,)vө?DHU_>VxM? e?dw%l*?NZ>[:>*w9P=?mBP ?m0_俸Vx>DHU_,)vө?<fɿ*w9P=[:>NZ>dw%l*?M? e?m0_?&UhE]UUEӁ~EU=Xp a]]Í u `p a?< E=xp aE p a p ap ap ap ap ap ap ap ap aEM$]]E$说MuE p aE$x]E$#UE]E؉UEEee]]~pH~!E pp aE$]FEE$qE]$QEMME pp a$]EE$"EMv u]gu]\hp a ?5z*@.ey@2}E@݂'z@leE\@O'M܅@ŗ @,@- zi@}g=C?cn6@&E[@IR-@ ~@=cM@g6@WD@@Q^o0@ݞ!)>{![?^v@)ѦHA@7,MV@>GH@4IeA@_3 u@#7P|[@1.}֋@S.|mY@DU|> vB?@dq7|(@1@tIK@Պo5@,R_@ۢm@zk]@QN @&US EU]%=@~ys aPs aH(J @ B@B@B@ʃ []=.@~s as a{v=l@~t aPt abt at aS?ygE0vSмt@$jeЦ[ަ,d@b@^WArS%A\wW$AiCY?K lmfOs1ithZQT@9{1@)d @ѺmW@K6|K@.oOȏө5TQ?3p]qL_GӇl\_fkg#G@>1@|DNh@T@K z@1 )p`&D&H>Nih3Jޣ)ERn96_5dx=@ho@I@)H%@><^~c@k?&US EU]%=@u a0v aJ(H(B @ B@B@B@w a []=.@~pv av an=l@~v a0w aVpw aw aGIq?n?"?l:6.WU3Yd5[>B^w(DrBSE]ED32?uѽ#$0OM)²TDAG|C.`=D*8DC7>UEUU%=@ a aJHB@B @ B@B@@ a=W@~ a ar&=g6@~ a aU a( aFmBP ?@?mBP ??@eA9B.@}Ô%IT aUWVS|}E UEU ؉ =v |[^_]؅~EM!}$](;E ]P=W$E0؁R~ztdt=E ` a$]4E }4-E$E$]ĈEE$څuE$E$]荈EgE$vE$]E$IE$]{E9}!BP$9u}.'ف>G؃!~ E9 h aRB$9~x a?P$uE=p aZBvٍ: ?9]|R$9ue]}E=p aE$]]]8$EEE aڞvXWP$~AJ%p aɅu~E$]EMݍWP$~P a1ɻ?%p auvM]}]EJ~|sE]|[^_]-E]|[^_]u߁8mBP ?Ѕ aUhE ]uuUEUӉ Љف =v]u]Ív u  alWR~{tVt1 ȅ aE]$E~`WE$跄]E$EE$]E$艄m독uE$s]E$mhE$P]Eu׀$^mAE$E]$i9]E*= AP$9ue]UE=uQS$E]$M0E]u]]wމ)< an?@??@(knNqBPUWVSlu }~uEl[^_]Å!E4$4]ut<t4W$uEU0\؃!~'}uzu9E @ aUUQA$U9E~H a?P$uEE=D a&Avٍ9? 9]|&&Q$u9Ee]}uE=D aE$]]]l3$DEEEL aڞvmO P$~V&UʋUuIEˉU%D aE~ى4$]pEMcO P$~kP a? UɋUuEʉU%D aEv]}]EI~d[}؉4$4$]E9}8] UPA$u9EUE|piul[^_]ul[^_]I߁5vUHE ]]uUԋUԉЁ~]u]Åu ̋ a ۾$]+E]$KE]ԋUԉк9}d=tY&'BP$9e]UԋM}$tم~.%V$]$M]]u]kۉ؃)Ћ a0C??-DT! @Ȱ}gij?L?bU>?{T"?O@~?kحg?]?oS?ƶ@?M,?}P?RBtp>7X??Vcb?BüP8+? ƍ'¿AՔB?5ߨɠ f?j쑺Dpx?.n.ӂb?-Va L?sAlm4?8$4>5?Ȱ}gij]@?o\G?PDvI?$ N? +g?aץ@+%@PP?|SU?aWZj?Ȱ}gijx6?YO?徜?a~H?9hs&^?E?tbE?ӓ?'?u.t?[A}I?@>i}ɐ?;UUUUU?\.lf8ϘJ?AˀCLgK?C Z-DT! @?@0C?@USTEUЋ]ԁ?2 ` aD$D$ D$$LT[]Í$]/EK?C1$( aq aD aD a a a a ah aD$D$ ` a$覫c ` a$D$D$ D$艤 ` a$% aD$D$ ` a$D% a뙁/C"x a]ЋMЉȃP$ h a$].E}Ef fE p am]mE뼍t&-DT! @?Za?@?Vcb?RBtp>M,?]?oS?O@~?bU>?Ȱ}gij?7X?}P?ƶ@?kحg?{T"?L??lm4?-VDpx?5ߨɠ8+?8$4a L?.n f? ƍ'¿>5?sA.ӂb?j쑺AՔB?PBü +g?$ N?PDvI?o\G?]@?Ȱ}gijaWZj?|SU?PP?+%@aץ@E?9hs&^?a~H?徜?YO?x6?@>[A}I?u.t?'?ӓ?tbE?@@@@C ZLgK?AˀC8ϘJ?\.lf;UUUUU?i}ɐ?&UxE]}}U]uM]́~ɋ]u}]É ;M̅x $角U̅  uE̅ym둁??w´?9p a1Yt p a ax a a a a a a a a a` a Ȓ a t a a a a a a aȑ a aБ a aؑ a aO 8 a  a@ a a a aH a a aP a( a aX a0 a a-` ah aô?~%x aɸ%` aɸ$]̏Ci?E~ x`?~%h a뫉@J}Ef fEm]mEP$ В a aؒ a a a a a a a a a a( a awe$ a, a" a a a a0 a8 a@ aH ap a]$]ECo$]7E]m% a P aX a` ah ap ax a a$]ȍE%` aD5/C~ P a$]jE]EuzEU$#=X a$@E]Ev닐K??I@?#=f>=<~;n=;T:4:gg9E87u,<8?R1^>^<[<.@-9@D?r=R;?#Z$\>z̦>>@<5:g8;-?8?n0>T=a 6 P:\=[:պI@?@K?@UHE]UԋUԉӁ>% aD$D$$`]]$] &E4K1$@ a a\ a\ a a a a a aD$ a$o a$D$D$象 a$% aD$ a$蔩% a멁J" a]ԋUԉЃP$, a$]$E}Ef fE am]mEI@? [>@?7gg9T:~;=?#=u,<8E84:n=;?k{9v;GM^>'gf:wq=7<Kz?:?"??#R;r=D?-9@.@g85:@<>z̦>Z$\>6K:T8?;-?@@@@@պ=[:\ P:a 6=>&UhE]uu UE}Á~ɋ]u}]Åx $萌?@?fff??N\ a1ntٍ&OmG ܜ a a a a a a a a a a aT a  aStH d a | ah a al a ap a at a ax a a aO a aĜ a a a aȜ a a a̜ a a aМ a a a-Ԝ a؜ a?~%` aɸ%T aɸ$]豉J;?E~ c3m>~%X a뫍&@J}Ef fEm]mEP$ a $ a a a( a a, a a0 a a4 a a8 a awe$С a a a a a a< a@ aD aH a\ a]$=E#\o$]E]m% a L aP aT aX a\ a` ad a$]訇E%T a}J~ L a$]E]EuzEU$N=P a$ E]EȞv닐PC&{?`PD?6+Y=PC6+Y=&{?`PD?&UXE]u1U]ĉ}M9% u a]u}]Å aU]ā~ ΍]0)0Pu$u ʃUE a]$] aE aEW5 aJL[> >'T5L'T5[> >t&UHE]1UԋUuԤ a]]Ív~v ܤ a]ԋUԉщȁ\)ЍR $ME a]$]Ʉ aE aEd5ؤ aS??@?CL>?@@Cu<7~Yn33333?o۶m?M&QUU?A`t?eɓJ?NEJ(~?>UUUUU?lf,%jV?kAФri7f>9B.?C.?9l a\ +eG<: ? ?[/>+eG?`G?D] T>??UUUUUU??`G?D] T>+eG?@CNEJ(~?eɓJ?A`t?M&QUU?o۶m?33333?@ ?[/>: ?u<7~+eGkA,%jV?lf>UUUUU?@&UWVS|EEUɋ]MU]ȋ]}ȉMċMށ؁ ȉځhcP8EEȅu0J?$@ ?$]]EEEu ?^EH Eu'|[^_]؁A3C~"؁?x aƅ?܁?~1 a  a- a a- a  a]]E]EmEEUHE?J u p a]U1]Eʉ]EU]M]}@E-@  avE x a x aEU?~t؍ѸMȉE%-ỦE1MԁeEM!ډUUE)Ј}̋E]]1EẺ]E a] aE aE a a a aȧ a%Ч aU]]EE~]MUMUEE0$]̉\$\] aE%=ː@~=E4o? u'ME a a"E  aEUɋ]E]̉؉}?}]~%}y E~E-E]EԋM}M MEХ a1E1]EE]UU9EUE1EP aE a( a0 a8 a@ aH aE]]E1]EUEM]]EEԉ]E ` a X a h a a a1]]E]E؅x0uȅ Eu }=ئ a븋Eȅ]|[^_]uRمxC8؍ Eu "?~9x.?C~ ES?G-Eԃ~5E4)EME9eEE)E,EMԉ)MME9뾅t&YEąuD???5?@KIq`B ?m>>>U2l>BS>*>a 6U8ݵL13r1?r1?5<83O8v?8v?Ý6;??p6?>>??p6;?KBS>U2l>>m>?@@8v?Ý6O8v?Iq<83`B r1?r1?5L13ݵU8a 6*>@UxE }Eʉ]UʋEUԋ}ԉÉuƁف~]u}]ÉEEԅf?@?$]] EE]Ux?EH Eu ZفM?؅x7H a,?~؅މUE L a-P a \ a X a-T a ` a]U%EEmEE?UHJ u  a]UUʉ%EE]]ށمۉCC_E?~]J8E%XU؈فe)فM!ЉEE}؅]M%EEE a a a] aEE a aE a aE% a]]‰~Ӊ]EM$E؉D$U]]]]E aE a aC7CN]E;E a aYEUE d aE]U׋M؉1ȍPU؉ׁ?q~ֳ]~~1ہE؉}E  aE]EE%ȉEЉ8EEUMEM h a| al ap aP at aEx aEE]U%EEEM]U%EE a] a aEEȯ aЯ a]U%EEe؅x=uԅx ]EF Eu]E]]؃}uҁʉUE=D a]]띋EԅA]]u}]qمx؁?t)?~VxKyK~ E?zع)9^E)UL"?&UWVS\EEUɋM]Uu}Mǁ؉%E t&~& t\[^_]Ít&)}) ]u a$]E]$sE@v/r]]UM1ډMUEr av $]\$.EB?t&UXEE ɉ]uUɋUUĉ}ӋUĉ߁ցt ~]u}]Á~9$]E]$~E6v%r]ċUĉ1EE h av d aQ$]\$֗EK@U(EEU]$RtEM]Ít&E$5uE$u%EٞvE؀uEuE$FEzt aEwJ aEvEE]]M}EEEf fEm]m]EE]Ɛ}G}ǐ&Uuu]] 4$vtuE]Eɋ]u]É$Ru܉$u3]Eٞv uE؉uE]E뫉$G]Ezt؉] aEwP] aEvuE ]u]\M}E]Euf fEm] mωuE Ð?3t<{?3t<{?U(E]u}U]ځ~]u}] a]5@`/> aw$$? aM aA.@~KU3@u~3@t aQ}w$G a$ًE'$%$轋 a]%?½|?½|?UE]uUUӁ~ ]u]ÅҾ?Aj1L aw$$_? P auEP a損t&rB~5ԲB~ L a\$M H a$uE$+$뒐4?-DT!?\3&<&cUUUUU?z?A?7d?n&?(V"mm?W?eDC?h&0?7~?2?sS`uztp*>?-DT!?\3&2?h&0?W?n&?A?cUUUUU?UWVS}EEU]Mށ/>a}Ef fEmUmEuB ΍G t#Ot a񐍴&[^_]$<捶'?~#{- a- a]Ɂ'?  a H a aP a( aX a0 a` a8 ah a@ ap a x a]M]~BW$)EEɉ$$ʃ]MO]EtN؉]1E1E]ME= aU]E]E a^Ux?I?h!"3>> ]='<7<ik;H޾:&:79E8z8_S7?I?h!"3_E8&:ik;'<>S7z879H޾:7< ]=>&UVSuEE UEÁ1e}Ef fEmUmEuFٍF t(Nt a&'[^]$獴&?,?~#y- a- a]Ɂ?,?  a , a a0 a a4 a a8 a$ a< a( a@ a D a]U~BV$)EEɉ$$ʃ]UNEtR؉%EEUE= aUˋU%EE acvWz@!?-Dt>F<`Qx;9@ %z8"6i5?pAp>p>pA? @?&UWV*SEM} aYO1)‰H!R))99$t&x؋MݜCB9~1;C&19 ;t&)݄E B9~ݜݸC;~؋݄1ۅ~ٽ a af f'٭۝٭P$٭\٭C݄հJ$T$@ aݝ$ ( aٽ݅f f1٭ە٭ۅZD)ى))щD~g119}(ɋTut)ЉDC9|ڋ~aK>^1;|&DK ;}؋Dut&B)ЋDt^9󉵘hU؍41ҍ ;9ݜ"v')݄E B9~ݜݸC;~؋hٞ؃NDuNDt$D$?T$>F aDݜݸKy؅xC11;&9 ݄Ÿ հ aB;9~ݜXGKy؃}}x ܄XKyݕtM 9QܭX ܄XC9~ݝtM AQ Č[^_]Ë}ux ܄XKyݝtM Q룃}u~)݄P݄XݜPݜXK׃~*݄P݄XݜPݜXKփ~ ܄XK󋅜u.X\M Q`dAQ Y\XM Qd`AQ $؉D$< arpٽ  af f٭۝٭P$٭\٭F٭\٭ٽf f٭\٭5.uݝ$T$/;݅id?OdBuL0 aٞ ?973.P+'"D?C;;C>A?UWVSEU} aOЃ41ۉH!)9)99 tمtx؋uٜHCB9~1;K 19 ;t&)لHE B9~ٜC;~؋ل1ۅ~ٽ, a0 af f'٭۝٭P$٭\٭CلJ$T$ : 4 aٝx$ 8 aٽمxf f1٭ە٭ۅD)ى))щD~g119}(ɋTut)ЉDC9|ڋ~zc  ^1;|&DK ;}؋Dut&B)ЋDt^9󉵈hU؍41ҍ ;9ٜH"v')لHE B9~ٜC;~؋hٞWQ؃NDuNDt$?T$7, aDٜKy؅xC11;&9 ل aB;9~ٜGKy؃}}x ؄Kyٕttt5U 9ح ؄C9~ٝttt5M AĜ[^_]Ë}ux ؄Kyٝttt5M 뭃}u~)للٜٜK׃~*للٜٜKփ~ ؄K󋅌uu ^F U 5Z5BZ$؉D$50 arpٽ , af f٭۝٭P$٭\٭F٭\٭>ٽf f٭\٭ 5t&)uٝx$T$4مxd?duL < aٞBU a@ $ED$E D$ED$ ED$U塀 a]ÐU塀 a]ÐU]]$uK@Ћ]]Ít&UVS] uCTu aCTP8CCC ftCu$u8C);K}>K@ ;CtC ft t [^]É$eu$RuӋ1뫍v$H[UEx]Ít&UE$ a`D$]ÐSunMonTueWedThuFriSatt&'JanFebMarAprMayJunJulAugSepOctNovDec%.3s %.3s%3d %.2d:%.2d:%.2d %d U(]U] D$ a$B@p aD$B@ aD$ B D$BD$BD$D$BlD$ 9؋]]ÐU aHt[QEDBA1]$ 4tA a1HH1믉LH뗐UD$E$wO]ÐUD$E$O]ÐUD$ED$ $R]ÐUD$ED$ $Q]ÐU]%UEU E U]K&Uuu]}EtEt 9ur&1ҋ]Ћu}]Ë]E} NjE|$$Ux~C]9ur뻉UE UHt HBu]ÐU]] uuuuu] ]]Tt&4$D$ډUWVS u;5 at}FLt>1vt '؋4$D$uFLG~Ӊ4$D$Ht L9tÉ؋4$D$9uFTu-F8u [^_]É4$V<\t4$D$ ډ4$D$}Őv'UWVS }tDHt#^Kxv'TKy6uWt2;utv.Cx>t'~&FCOt<[^_]Å~0OC~H&'0COJyE0C넉$t$6릐UWVS<}ED$ U] EET$$ED$GD$ED$ED$ED$M'BCE ut.Ct~'BCNt}g}G~&0NCEICɉMxi+Cc~(ȺQ)ˆЍ0)шCMȺgfff)ˆЍ0)CMEC0<[^_]-CMEEtEek$D$5͍t&𿐍&UWVSL]Euۋ} a]v aٞwu$\$D$ t$E|$D$ED$;Est&'ABC;Mr9})։t&'0CJuEL[^_]É$\$D$ 뉋 aF#9BP~ZTG$BT]ȉD$F$E܉D$hEȉ1t aE܉ZTBP땐&UWV1S<]E}]tz a$EE]܉D$E\$D$ D$E|$D$ ;EsBFC;Ur9})t&'0CNuE܃<[^_]á a9xP~XTy$@TD$GE؉D$耳1tš aU؉XTPP-C6?UWVS\]E}uE ɈEۉ]vٞuz0CEԃ\[^_] as]4$WEٞr+<$FD$Eۉ\$\$D$E D$멍v8<$\$D$ t$ED$ED$E܉D$Uǁ't%~!v' GUCNJUt҉~*~&B0CENҍA~E u?tF;]tq.CEx>t~GCNtE t~t&0NC~H&0CMNҍHy뚋EԉC0넉$D$1a<$\$D$ U8]UM] uu}} C"$ a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a|$ET$L$ $E$t$\$tD$D$I']u}]Ð|$ET$L$ $E$t$\$D$JȅuT$EL$t$ $E$|$\$D$뗐US]E t&؋SӉAuE$D$T$'F[]ÐUE MȃBuE$D$GÐU]EUWVS  aHtU&^Kxex/'t=E$D$TKyދ6u aPv'<$U)ދ\$D$E$ʳugEX9w̉<$Ut$D$E)p0@ %@fu E[^_]É$EUD$ D$T$V1u ӋUB %@fu)uE)uED$ U$ET$D$B1UWVS]sTu  aƉCTF84$E D$ED$EgC f.fC 4$ED$ D$ED$F{ NjECS0CCCCtC@9tCTT$$oC0C4SDujCHxPf{E[C afC C$ aC( aC,P a$t C @fC ؃[^_]fC E1CTT$$CD{t&4$CD$fuS,C$$މ$X뒍4$sTXU aUT$ $ED$E D$n]Ít&UEUT$ $E D$ED$Zn]ÐUWVS|u^Tu  aÉFTC8(F %f=F(E}=}#}t|[^_]E~N %fu$%f} ats fF 4$uFU $ET$D$U@tV0tF@9tFTT$$F0FFF fF 1JFfx$D$ED$?uE%=t N TF FL fF }U UMN %fQVPUV0F)E҉U&V<)UUE^8~F<))]É% fuTE9E|L9EsEEU):)ӉE^t%F@9EtFTU$T$ԪN F0FLUH!ЉEFD$$ED$U@AFV0F҉tF@9tFTT$$lF0F ]+]fF [4$F9)؉F4&~))]FD$D$$UE@N N V0FU$FD$ED$*^E ]؉E#4$X vE4$N %ftYVPUȃft/F)EF0tV<)U~EEE Eȃftڋtԋ~)E͋FD$D$$UE}BN y)4$8v$8^TUE$E D$D$~]ÐU]]CTu aCTP8C(uCT]]É$S %ft?KPЃftC)C0tC<)뿍t&ЃfttS)ߋCD$D$$S(yS 땉$0QUH]E]}} uEЍEЉE؋Euԉu$EED$+مt E1)Ɖ]ȋu}]ÐU]]uCHCxf0@C %@ft t ]u]ËCHCx"@ t$\$k8ξ lj$ڍ$떐UE@E]^&'U a$]ÐU]UWVS } u 4$ ttC19t [^_]ÍU a$ED$]ÐU]'U aM PBTE$L$D$9]Ðt&UEU@T$$E D$^9]ÐUE] a$ÐUE] a$ÐU1}]ÐUE] a$ ÐUE] a$ÐUE] a$ÍUE] a%ÐUE] a$ÐUE] a$ÐUE] a$ÐUE] a$ÐUE] a$DÐUEx]Ít&U |$}t$u $x!xڋt$ȋ$|$]Ðt&A)~I2ِU]'.` ab ab ab ab ab ab ab ab ab aC&'U]]uut$D$ au^4E F0 a]Ћu]É$D$b a1҅u΍t&U帀 a]ÍU a$ED$E D$o]Ðv'U a$]ÐUEt8u1]1} DUVU1SM ҋ]t fAfftFJu[^]ÐUU 1Mt}ttff1:]ÐUWE M}1҅t OJ!Ѝe_ÐUSWV}u M1t1 ut 1ҊV1G)Ѝe^_[ÐUVWS}Mu v&˃t)у)vكEe[_^ÐUVWS}Mu 9sC\19w;v+˃t NO)FGكNO*v#˃t)у)كEe[_^ÐUWS}E M%uv Љ Ee[_ÐUWVS\} E$?tC;uK;Xs'9vE;/tKUE|$D$$1ɅuE@uE1\[^_]/Etp|$UD$ D$ $UyUt1Ƀ u1ɄtzuaC a$taˆ느|$E$ED$tU1Ƀ:R̍t&')ȉ0K;Xt&'UE$E D$ED$qtU]Ð&'U]E] D$$\$-H!É؋]]Ð&U a$ED$ED$tU]ÐU] a]D$$\$H!É؋]]Ð: U]E ]t8u8$~t$C D$E C ]E ]v$C D$$P aC D$뤍U a$ED$f]ÐUEU$@T$ D$E D$A]ÍU aM PBTE$L$D$@]ÐU]] C %@ft} t`CHCxU@]];C|-U < tЍA$ \$~ŋE$CHCx  ;C|) 8 t@s$ \$3^$ 鐐UEU @UE ]&U a$ED$]Ð &'U8]] $E@EE؉EE]Ep a@EE$ED$]]H Ð&'U a$ED$v]ÐUWVSLEE1}E؃} EE ]Mȃ} EE UMHE‰Mȃ} (EUM$L$UUM܉$L$UKUUE؅EMMEUȋu}E֋Mlj}щ}MMv';}<$UT$U{u"E]؅uEMEEM빃}~&u]t&'NCANju]N;}EU$T$Uu(EU؅u"MMMEU)UM)M뫃}~#u]M荴&NCAɋu]MN맋E؅u"MEENjE)E}~uMNCAȋuMN먐Eԅ@M uEU΋]ȋM)ډE܉)9~Ѕ~,)ƒ}]ƉэNCAEUu])‹E))9vЅ~1U)ƒ}|Ɖэt&'NCAM);Ew*EU);EvU)‰U1uE L[^_]ËUM$1uL$D$ED$ W벉ƉыN눋]ыNEM UȋEU9xE̋EEU9Uv{}EM)lj<$L$U~bE؅uME)EŃ}~"u]䍴&NCAЋu]N밋EUE9Ue}~ u]MNCAu]MNU܋ET$$UUUEU܉$T$UzME܉ $D$UU܅bUZ $u ˋE6$.{ CCC %|fC E tmtROt1S ЃftЃfH!Ɖs1]u}]C ڃfC 1} H!‰SsCT@< aE C뚅u4$ E tC fC iE$ڛE uC CCfC CCCELCT$CD$蘏v($UxfEEUT$EEE aEEE$E D$ #U]ÐUxfEE UT$EEEEEEE$ED$.3U]Ít&UxfEEUT$EEE aEEE$E D$2U]ÐUx]E ]fEESE1H!‹EUUUEE$ET$D$2ۉtE]]Í&'Ux]E] fEESE1H!¡ aUUUEE$ET$D$2ۉtE]]ÐU1]Ð&UxfEEEE$UEE aE@ aEE$ED$E ET$ D$sN]Ð&'UxfEE EE$CUEE aE@ aEEEET$ $ED$ED$N]ÐUWVSu} te a$t ЈE a$t 9uFG a$t U a$t )Z[^_]EǐUSEu6! u&! tȀ8t@8u$E D$[]ÐUWS1ۋ}] u@ ˉ Ӄ!€u1ȍ!€tэG@t8u8t1e[_USUM ȃu ;t:t,8t )[]BAt8t፶։‰'!Щu;t1뮐U]gUWU V}S uI Ӊʍ!Щu!Щtڍ'BAu[^_]ÐUWVu S]t/t&'t&8tAuCu)[^_]Ät񐐐UWU׹1)׍Ge_ÐUSMt a$tB Au[]ÐU1WVS]u} t&Kt|ȈE a$t ЈE a$t 9ut}t }tFGM a$t U a$t )Z[^_]EEUWUVu S]u0э! u! tʀ:tB:uKt,FBt!'uKt FBu[^_]ÐUW1VSMu] t: ؃u]v9tW]ItCE8t)ǃ[^_]Ít&t}tFCIE8t1ƒt! uۃEvU9tvUWUVMS] ؃uSvNދ׉ڍ!Щu1v'vÍ!ЩtىtICBtuIt'BIu[E^_]ÐU1Vu S]t<t&8t"B uCu1P![^]Ät萐UVS1ۃu Et,$t$ttÍ@[^]É$t$TUW} VS]tt8tAu)[^_]ÄtCu鐐UVu S];u1>H![^]1 1؄t:uAC;u1ϐ@?5?55?5?UW1VS]E EEEUЃ-$ a a a a a a a a a ap( ap( ap( ap( ap( a a a a a a a a a a a a a a a a a a ap( a a a a a a a a a a a a a aEEMu,] ]UtE}EEtļ[^_]<0V EM1E1҉Mȃ/~=98t&'} ]DAЉEEEȋE/~9~Ӌ]ȃ.] EeEEȅu>E3()U}ąu}ȉ}ċ]ȃ~E1RP,$ Uv a1RV,$]}EcuM}EE @ a]Uȹ)эA9E )ME @ aU @ a͍&EȋU)…уt E @ a]4~{]}a}a"EUEM] $\$RE}D$<$@U<$T$1M<$L$"]<$\$th1~ at E ]@mPE a]u|2|EEEUMĉ$]ȋ}T$L$\$ |$zE EUM$AD$諊}]E $\$GD$UEET$$ED$ \$襕MED$ $ߍEEu11uԋElj}ЋUL39~;M~MЅ~)M))΅~F\$UET$$規MED$E $D$}MUÉL$$Y]~|$]E$D$LEEԅ~UM]ԉ$L$\$9E~t$}E<$D$ EEЅ~UM]Љ$L$\$E}UE<$T$D$=}X @ E$|$TUM$L$/ aUUUH}@w?ڞr2}E af fEm]mދEP$uEݝxݝh$݅h݅xE]u9utI؋UM$L$譈}]|$$蛈E$D$茈U$T$}}Ef fEmUmދEP$uMu Et0 aw a\t& aݍt&ݝx}umPݝhE$ڐ݅h݅xE]E%=|v%؁tEEFuEP}u\Et1؃}t auuE"]v a  a  aۅE%=tTEu-E$ԏm]YeNE$觏E]8}uEE%EEuEvEE%- EEED$UET$$E$|$댉6)%t&)E]1ۉEPډуt E4@ a]31~` at E ]@` auE}]uJz?`d݅`]uEE`WN}%]EM4@ aEȅuu]u } }^EEEE ] +-AЃ 0AσwlE0EM\] /~%9 E]DAЉEE/~9~E\)ȃ~EE̅h]`ETE] 0tmM M6EEE8EۋE0AσEY1E'Gt=~OEEȃM}EIuEEȃ&MCE1E] AЃ vr}4C؃}4EG] 0tTYЃ j1t&}tAEvEU<0t]E_&U a$ED$E D$]Ðv'U a$ED$E D$]E]ÐUD$ E$E D$ a\D$]UW}VS]tM CAts&'9tLAuu 1[^_]ÍsM C'A9tuu1ۉCEuC1u뫐UD$ E$E D$ED$9]ÐUWVSEu] v' C a$u-L+: u 0t6E1}11UEv' a$09}?Ex/;}w*;}tE CÍv;M~t&'EދEx,utߋMtUE tCU[^_]Ë}E"$tҍAuAR0Xt [^_]1/tmptU(]] uutJ4$"D$F4$\$D$9/ aD$ >/ aD$tF؋]u]1t&^TMPDIRUWVS}u tq4$M<$CUDD$$lt:E$U\$t$1ЋUD$|$ Ѓ$D$v1҅tڃ[^_]$/ a踇y9/ aot&/ a]U a$ED$E D$]Ðv'U a$ED$]Ðwb+U8}E]u$D$I1t&<$D$0 aƋE<$E]u}]Í&'U a$}]ÐUE]ÐUU a$t ]ÐUU a$t ]ÐU(]MEu}Q0@9taMy4ATT$$?ED$BdƸt#t$7$|$MUr0J41]u}]Í&ATD$$]jƸt΋Ep0@4UD:@7Oy2뢐&Uuu]] t}CTu aCTP8C ƒfS Ѓfu&Ѓft=fC fC C0t8C49C}BBC]ȋu]É$uЋCtA9vB9t)S8CC4CC$ED8)~4D@ 5 aDẼE@E[̋DZE 5 a@]ЃDE;E $EȉD$UDU EȉD$$z`ED뀋E $EȉD$UUD-@PD%0fPHQPBẼED@ENE $EȉD$UD&E $EȉD$UDU EȉD$$y_EDc@(؃O uE)h$O0 ڈu@t<0tO0ǃve&'$Ot$D$ D$ ?0$t$D$ D$ =Éw wO0] wN@>ƅ0,ƅS-ۃg@u @@tEE3EEÉ郍@@ tEEp1ƅS@u@@tEE1̋EE@@ tEEp@u@@tEE1ӋEEJ5 a(@ t7EEp@4 *@@u@@tEE1믋EEEXEX,ƅS/@@L̋Y]E aE@EE $E $ED$(h뚋E $ED$h/M ED$ $h 9FQE9@UE)Ӆ~d~8AEE a@EEȋYEE a@]E+6AEE aE $ED$h뭋E $ED$ghSE $ED$<yh‰AEE9@EvAEE a@EE!)؉AE9E $ED$h뷋E $ED$phYAEE a@EERuAEE@Eۅ~`~4@E aEE@Ev̋XE aE]@E8BEU ED$$<yh빋U ED$$Qh_U ED$$&hE $ED$ht&Gƅ.AEE@EWmz:PQUHEE@E[EAEE@ENU ED$$h#E $ED$htKm~4AEE a@EE̋Y]E aE $ED$Lh빋E $ED$$h~+AE9@EEE $ED$hdM ED$ $VhM ED$ $+hh")Å~;&BEE a@EE^̋ZEE a@]EXM ED$ $h-M ED$ $ThwE $ED$)hU%0fBEE@E_M ED$ $h4E $ED$ohE $ED$Dhk؃O وuE)|$O0 وut<0tO0ăvf $Ot$D$ D$ #'0$t$D$ D$ $Éw wO0Y wJ:ƅc0c(ƅ-ۃ^u @tEE*EEÉ郍 tEEp1ƅu@tEE1̋EE tEEpu@tEE1ӋEEE a t7EEp4 *u@tEE1믋EEEEƅ_g4G'EE HPMЉỦEȍEȉ$IHUEȋMЉ$ỦD$L$ T$D$D$D$L$T$ D$$gGeftD9|*trƅ-~p)Ѝpׅ~$օu tt믋뤋JE$T$L$$H~FgW萍t&~;~1gHegE amvƅ-E a܋EE}@)d4$W>t߅XdËd)Njd~؍v1dH dth1(t(NGBIdNt~"(u؅Xl4$=t҅u&EEÉ`(t5N`Bd`tF~1(uˋ`)z`\b4$!=t9`uj1dH duyEEÉ` a$u8N`Bd`t~~" a$tȋ`)4$<t1 a$NGBIdN~ a$tl4$+<t[ddlv ldxd`CՃM$h al auj al auj auj aj a$l a$l a$l a$l a$l a$l a$l a:l a:l auj auj auj auj auj auj auj aXl aXl aXl aXl aXl aXl auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj aal auj auj auj auj auj auj auj auj aXl aXl aXl aXl aXl aXl auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj aal aTuT?`@`FHFdV@`XxX tx)``X`xET$D$$TD$ PtEEf\uutpP+ at;D$ExT$$TD$ 5jщ‹EEKD$UxD$$TT$ lËEEk`$t$x9``Bt$$t&4$8ip?9@Y%Ta aTˋTa aTT y9`Td1L1dl@v ld11ہdxHD`<CՃ:+$m a5p a,n a5p aFp a,n am ap ap ap ap ap ap ap ap ap a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n afp a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n afp aHXFHFdHtyXm``Xet&Et!$t$``X$t$`%=DuSD$x$tEE6tEE8!EED$@UD$ @$D$蜺‹D)‹Do9@r @D$b a@T$$耢6LH)ЉD‹`ډ@듍x9` ``t$$x9`wt&4$4?`@d`@HL뵉%=tHu LH)Ћ`D@1HL4$3%4$3|+ aPT; $hD$eh 1=) a1PTu=uuEXEEEXSxEXEfa+ aPT@6+ aP a$룋~~& a$XBNӉ4$2ȍ&'UW}VS] C^t|11ɉ9A~tU)Ɖ:& C-u* ]t9|Cv'B9ʈ:|Ժ--t봍C[^_]Ã]tCxU a@$ED$E D$]Ð&UE$@D$E D$ED$ J]ÐU a$@D$ED$E D$ H]Ít&UE$@D$E D$ED$ ]ÐUxfEEEEEE aEE$E D$ED$U]ÉUxfEE UEEEED$EU$D$EED$ JU]Ux]E] fEESE1H!¡ aUUEE$ED$ED$1ۉtE]]ÍUx]E ]fEMSEE1M $H!ED$EUUD$ED$ ۉtE]]ÐU1]Ð&U a$ED$E D$ED$ ]Ít&Ux]E ]fEEE$-EEED$E]$D$EEu aEED$ ]]ÐUVU1SM ҋ]tCtFJu[^]ÐUMU 1t]ÐU]UE$D$&]ÉU a$]ÐUS$] E\$$P$D$$gC]P$D$$gCEP]$D$$gEU$[]ÉU a$ED$f]ÐU]E] $\$eSC]]ÐU a$ED$]ÐUU MfBfBfBfBfB fB f]Ð&U a$ED$]ÐU]]$D$蒒]]ÍU a$]ÐU]]$D$2]]Ð&U a$]ÐU]E] $\$ՑSC]]Ð&'U a$ED$]ÐUUM fpoafroaftoafAfAffmff fpoa]Ð&U a$ED$V]ÐUU E3ffmfff ff]Ð&U a$ED$]Ð/bin/shsh-cU8]U u}t'JAt9u)։)t*?tvtJAC;u)3 [^_]É<$趏0UW} VuS]t+ItBCt'Iutt&'Bu[)B^_]Åt𐐐SunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarsAprilJuneJulyAugustSeptemberOctoberNovemberDecemberampmlU]]}1uuCQUEE)9uE)9u]u}]ÉUWV1S } t:$؍UË$\$D$tFuҸ [^_]ËEUVS]~'&$0=K[^]Ð&Uuu]] Fl$N))ЉFx ]u]ÉVFꐍ&'UW$IVS,U] Bl$, )ىEuE֋EU)֍))֋UZU܉E؋E܍))ЋU))ɉJx,[^_]ÍN ))ЋU)JBĉUWVSu] Fl$a$Ix :EU1)э)ʉ)э)ڋ^HD)ȃFx [^_]Ðt&NF%m/%d/%y%H:%M%H:%M:%S%I:%M:%S %p%Y:%m:%dUWVSu }uEEE[^_]É$~pt+v'E$bptEFu뵀%tE8u@EE렍t&~tFE OÃyO$ a aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ a aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ ah a aȎ a aǒ aǒ aǒ al a aǒ aǒ aǒ a; aǒ aǒ aǒ aǒ ar a ax a a a8 ax a aÐ aǒ aǒ aǒ aǒ aǒ aǒ a͐ a! a a a aǒ aǒ a! aǒ a4 al a a a aǒ a( aǒ aq aǒ a a aǒ a a a+ aD$` aE$EbGNE8%D$ aE$oE,G_D$ E$ED$莜M;MEGMD$ aE$|$EED$ E$ED$E‹E;EWD$ aE$D$ E$ED$ԛE‹E;E;D$ E$ED$螛E‹E9E<$T$ECD$ E$ED$[E‹E9E<$T$D$ E$ED$E‹E9E<$T${D$ aE$D$ E$ED$˚M;ME4?D$@ aE$#D$ E$ED$lE‹E;EW D$ aE$xD$ E$ED$"M;ME@GD$ E$ED$E‹E;EQWD$ E$ED$賙M;ME1 H!ЉG D$ E$ED$qM;ME@GE8 D$ aE$EGuJG GD$ aE$E8 D$ E$ED$ǘM;ME0@G>E€8%h@E8ZZD$ E$ED$uE‹E;EW&D$ aE$D$ E$ED$+M;MEE@dGvF ((((( AAAAAABBBBBB U]GCU]U]gUE$E D$ED$衅]ÐU]U E‹U$D$1toC$wivBSCv-C#SC vCSCB؋]]Ð$D$D$ljUWVS$Mt$L$TfNjG]v؉ˉEvE$1}E̋E9EU؋uB ыR$ύYB PMvGWGAG v1MWAGA #GvUBуGBW GABUE؋u)ŰUM aM̉HMB ȉB$Mt$L$S;CE~BT$E$E‹EU9‰UȉEs$&'UE9‰UrU<]܃]ȉ}؍49UԉuЉ]UԋÁ]tsEE܋}̉E&'U]E ËЋU4Uf7ً]fO9]UrUԋEtvE}̋]܋] fEEu؋]4EfwЋ% U؉9UErE]ЃE9]EUȅ<~uvMu~ tE]X<[^_]}UWVSutGExHtyv'u8t't|$E|$$ߋE [^_]É|$U ET$$jU ËET$$F] 뙉$D$qUljBHnD$ U a$U D$T$E (UWVSU }E JX@EB9E~ vC9E\$M $EÃ]~𐍴&UHUuM U AEtk )1&'M 2M;Urߋ]3tEE]U HCET$$E[^_]ËM;UMrt&UVMS] AS)t [^]Í&q0D 9u9w19붐UWVS,u E}4$D$01ۉ<$~FD$MEX FuEEAUME܍'UE ÉE؋U)E)ˋEf‹EfV9EMr;}s= MfʉfV;}Mr҃>u'MtEUBE,[^_]ÉuMuM<$D$jE@@뼐UuE ]%ɉ~1ۉ]]uuE]֍1)ʸ봸v'UWVSEEEx@\34$B )‰EE } MU )Љ1 ?9EvSE] ) ։uE[^_]É9vlm tQME E)EM Ɓ?u19vsM M)Ȉ U뚍&?u鐍t&1땍UWVSED$u] $Ǎ@E%EUt E]E$^ )Eu GmEMA@G]t%M荄 M5)ЋU[^_]ÍUUD$yM)É΋EG덍E$‹EG G뀍t&U(]E]uu D$$ED$]4$NEU])‹C)~EE]uu])E萐?$@Y@@@@j@.AcAחAeA _BvH7BmB@0BļB4&k C7yAC؅W4vCNgmC=`XC@xDPKDMDJ-DyCxD7yACnF?O8M20HwZ}utU9UtME $D$UM$L$U҉UEMUEɋ}܉UtK}]K9]E)؉EU̅҉UD$MЋEMΉ$gE~~u9~}ЋU)U))֋E؅~g]UM~IMUE $T$D$VUMET$ $D$-MËE $D$ ]]+]D$E$UE~D$UE$D$E1ۃ}fE:FEЋMЅt Uи )ЉEЃ}mUU֋E܅~EUM܉$T$L$hE~t$EU$T$KEME̅EES~|$EU$T$EMۉME&'ME $D$MU0L$$EMUËEL$T$$ Ƌ@ Nt$U$juEu EuEu E\MԋE@U9UЉED$ MED$ $D$U9UEtRD$ UED$ T$$MEE $D$ D$D$ EET$MD$ D$ $EED$UET$$aME$L$_~LMU<9tMAM|9MtMU<9tE|1@Eu EuMU:0tBU~}9t EԋUE9@Eq~9D$UM$L$E$ED$~Eԃ}:tUԋM:uEtڃ}9t~EMԋE?&t$E$AE$AD$XME $E D$AD$9UED$T$$EUM]$EL$u0EԈE9E&D$ UMD$ $L$EЉE몃};E̅WD$UED$ T$$PMED$ $>ME $D$MUD$ MD$ $L$UEu MĉMD$ EUD$ $T$Eΐt&}EMMUBD$Q)MEEEuEFg\$UM$L$)EEUM؉$T$L$E})8EE)]]Ut 3E E6M)M(EH ap}U艝t݅p48 aE0 aݝpptEf fEt&'Em]mURU0$mUBpt݅pUٞwVEٞw;EЋU9U}%ݝpptE]|;pỦt݅p 8 a}0 aEݝpptEf fEt&'Em]mEURU0$UBE9EЉUtEE]ىptH a݅pڞw'݅pMU:0tBUP~t؋}E @ a] at EBM ]EuYEM~UUЉUĉULEEEUЉEčHɉMЉM EEM)MىM1]o']UЍ2 U~B@)ыU⍈E m31RP,$E]mq}й U)ƋuU'uEE atE a]$tMytȃU$EE[vADBIDMBT$ $E@@U(uu}1]F %@fu`FT$FD$E D$ED$ ?u'x^P؋u]}]ÐF %fF F|$$FD$$誑눍U(]]}1uC %fu~C %fC %@fuICT$CD$E D$ED$ >u]u}]ÐC|$$ CD$$ 럍CT$CD$ D$D$>Z&U]]CT$CD$E D$ED$ S>tC SP fC ]]ÍvC %fC UUBT$BD$ ]U]7U$M t$rratE1$t$]þAt)<+tEy+t?tF a$u-F+4E}Eu10DEEEEuEEEEЋEUԋU$EЉT$UԉD$T$ 腩UE܋ET$Uԉ$EЉT$ D$REEЉUUEEEEȉU̍t&' a$ 0;}Ex:U9Uw2rU9Uw(EUM1‹E1 u$;}~ E>F듍vEEMeȉ}EEȋEʋMȉUĉUȋEMEUU봋Ex7}t ]U]MtUE tFUEUP^_]EEEuEEE"묐$tҍGuG0FEUWVPEu &'>F a$u-+E}Eu10DE$ED$EЉUԉD$T$ EEЉUU$D$D$T$ UԉE܋EEEEEȉU a$0;}Ex:U9Uw2rU9Uw(EUM1‹E1 u$;}~ E>F듍vEEMeȉ}EEȋEʋMȉUĉUȋEMEUU봋Ex7}t ]U]MtUE tFUEUP^_]EEE"$tҍGuG0CFEU10xaE $Et]Ë 0xatE鐐UU Mt$1t}tff19]ÍUאUE t&fJy]ÐUSM U fKy[]Í&'U]]$u C5fC]]Ít&U]]$l1҅uC1%f‹]]ÍUUB%f=t1]É$荴&'UU1B%f=t ]Ðt&1ɍ&'fu A~1ҹˍt&UUt&fHy f]Ð&UVSU] rB%ff%fC%f=t0f&fJyf[^]É$t!fBf ~̺fB ~fa&UWVS }Eu Ef fF^fyt01ҍt&'fBfv [^_]É<$tuE [^_]>,uEE [^_]YUE t&fJy]ÐUE fJy]ÐUSM U fKyf[]Ð&UMA%f=t 1]Í&t&'f<$t<$ED$ɉ$EȉD$@E<$D$1t EfEu})~9Eލ]$\$Eȉ$ED$Eȉ$D$}Eo}E$ED$ED$}"t$Eȉ$YEEf9EtBEȾ$ED$vt$E$E|$ D$@D$ED$녍E1$ED$뿍Eȉ$ED$uoEf9EtE$f}uE%ft+f|Eu@ ~f}GE$E]$\$VEȉ$ED$DEȉ$D$5Ux]]uu }}$t$|$]u}]Ív4$t4$։$D$ au4$D$ at$/t4$#t<$D$o덉4$t8$4$9tfG<$ED$fQfG$uK$MȉL$nE4$D$_EUfu8&f|UuB ~<$M $U)fu6v'f|UuB ~Ef9E9Mȉ $)ƍE)M$EL$D$M?D$ E $T$D$D$D$@MEf9Eȉ $|$ffEED$2Ux]]uu }}$t$|$]u}]Ív4$t4$։$7t4$D$ at 4$t&$D$ asu<$D$O덉$u 4$t8$4$9tfG<$ED$:EfG$MȉL$NE4$D$?UEfu1f|Eu@ ~<$Mȉ $U)fu"f|Eu@ ~ȍE$)ÍMȍE $MD$L$M3D$E $D$D$T$ D$@MEf9Eȉ $|$ffEED$0;v'UWVS]ȃ\u} fIyfIyUډ%fuE%ff]t$]ȉ vfIy\[^_]1ɃtMfEUBUȉ$U|$D$D$ D$@T$x_?북<EU$U)EȉD$T$?j&$U|$|$T$ y$0 aED$UE$U)EȉD$T$m??t&1ɻF-+,0< w8 FDP=qT,0< v׋x7D~Uȉ$6fE nyF_FBF tz$D$ @UW}VS}xSD$E$E0D$~EUD$D$$dEUD$$肊EU$B D$EȉD$lE܉$ED$9UB$s]9rEEtMȉEEt UHEE1҅EE ƅxƅwuUECUNG5++C 1ۍ}UED$$N$Ɖ|$@Uu?ƅxEtƉuĀwtUUx ~FT$Eȉ$'t$t$E\$D$ltƅwE ut&v\$Eȉ$ET$ D$ҋEUECUNG5++C 1EU@ER$UЍTE0$UB $&UWVSl]$0Cs EC EC$EC$$]t$u$t${P 4$|$D$ED$ t4$ED$0 aD$D$ t1E$( a$$( a$D$0 aD$ aJE$ÍE$ID$<UEl( a]ÉUEl( a]ÉUEl( a$]Ðt&UE$( a$]Ðt&UE$( a$]Ðt&U]]$( a$f$]]ÐUE]@@U}]E Pu%RuX ]]]cvX $B $v'U]E ]CES B aB aB0++CB4CUNGB B8P a[@$蝁$uPU]b[tXX0$n$F!Uuu]}P4$蓐t-$D$D$P%}CP]u]Ðt&=wa1Ɂw7tt&Aw!Ѓu lj=wa oau~&'UMoar"was]oa !waÉAE]UU]b$7b}]Ð&U a$UUU a$UU] a aÐUU] a aÐUE( a]ÉUE( a]ÉUE( aE]v'UE<( a$Y]Ðt&UE<( a$9]Ðt&U]]<( a$$>]]ÐUE ( a$]Ðt&UE ( a$]Ðt&U]] ( a$$]]ÐU1]Ð&U1]Ð&UE PE]9PÍU1]Ð&UEL' a$y]Ðt&UEL' a$Y]Ðt&U]]L' a$6]]]&UE' a$y]Ðt&UE' a$Y]Ðt&U]]' a$6]]]&UE' a$ ]Ðt&UE' a$]Ðt&U]]' a$]]](&U]M ]A9Ct1҃}v ]]ÍvU\$ $T$Pܐ&U(]EME]EEE$E D$L$ D$R1ҋEu E]]Ð&UE;E]DÐv'U(]M]uu9ˉ}}t1F\$$E L$|$ D$R ‹]Ћu}]ÉG9FtUWVS};}Mq Nty\t&'StSE$Et} t:}EtЋ 8L$$E D$ED$ ED$R Nu[^_]À}tUB9AtMt&U$E];] t$M$ut$PE;Pu qA $1t$]ËPE;Puԉq㍴&'U8}U}]M] uu B;GuKE$ۋUPx+ 9}$DG 1]u}]Í&uE$@ 9t;B}t$$E|$}D$ E$\$L$|$D$R럍v};GuUE$P뇐UWVSl}$Gt UBGM 9MUBM;AuBM EUɉWx!U ;E DG 1҃l[^_]Ã} uG EMA HE)TUt&'EwME]EEu؋QЈttMMu } UL$M$E \$L$D$ED$ E D$EȉD$R_MЈE ً]ԉOPG}.uUE̋UȉGE҉EttUB4$u#tMm}U;UEDžutEMȅut]Gw t GuEuEE1~:}~EEȋuẺGw 1҄ @!u}G E!G ~|z~bE@UM UȅxM ;E DE7} tMT$U $M T$ L$M L$P ǃ~t MAu du xM ;E DC} tMT$U $M T$ L$M L$P ȋE G ,U_ EȉẺG&/UMB;AMEGqt&UE MPE9PuA EA]É1U(]E]uu }}$t$|$D$ t]Ћu}]ËC|$$Et$D$ Rҍv'UWVSLE}U $E|$ T$D$' WUԃt E@EԋUr N\EEԋMEEECUĈUӈ€UuE4t}EtЋL$$E D$E؉D$ Rt`}E܃~ }uE܋W upEعU܃WEGEG ~0t2UB4$uvN1ɃL[^_]ÃtE@tˋ;Eu/uMttB9AuE GG}-E#&UWVS]ȃL}p@EEEEE\$1ۉ$EL$D$D$E|$D$ E D$RMȅthUԉˉЃtYuЋ]̉!؉˃tE1ۃt;u]x:U 9DEԉƒ1ۃu]ȍL[^_]Ã}t͋U|$$UL$T$U T$ P 몐U$]t$K0S0xBSI9tsC(t$$]ø)Љ؍t&U]uK0‹^x4Ktx ^]u]SFF0$uݍ&Cu@FƐUEK@]ÐAllocation failed.@, a&UWVS }} ~#gfffv4) ~<ËE $C0D$Ot*gfff))ƅ1҃ [^_]ú@, aD$-E $oO@, at`D$0E $LOP@, a릐&U$]{@ 1t$ED$IH!؋]]Ðv'USEtX$eJۉuX[]Ðv'Uuu]] VB JB~ D9t9$B J\$ȉD$=M1҅J@, aH!Ћ]u]É$B JD$ ȉD$MH%@, auʋV떐v'U$]]¸@, at CB1S]]Ðv'UUBHJ]Ð&'UE]@@ ÉUEPE B ]Ð&'UEM PB ȉB ]Ív'UE@P HP1~| t]ø&UE]PB JÐU(uu}]^$?HǸ@, atP<$E \$D$VB Z؉D$ Mtn^ 9^t6MCVF D<$ȈD1]u}]Í&~;FFV$D$}Ft ^ 럐t&<$G@, aF&UU Ex;P |1]Ë@ AЋE⍴&'U$ >|1҅t@@]ÉU]]Cu]]]|$萍t&UUM BuJJA]ÐBH됍&UU EJ@t&'@1ɅtJu]Ðv'UMU AQ]ÐUVS]u S9t!t&'C$C9u[^]ÐUE]@Ðt&U$,]uuz1҅t60p@@ @ @$E1҅Cu ]Ћu]ËC$zCtC$E C(C NjC$E1븐&'UVSuFt&'$ۉu^ Kxv'F؉$REKyF$$zF$F$.Eu[^]zExpected ?t&U]M] Q9t+ atX  a]]$3 az aލBA1܉U]]D$_$t ]]É$D$Zuu$1҅J!͐v'U]]u$SƋCB BGEtqTtl$ED$|t ]u]ËCt(.Unexpected character in ..::UWVSu} 4$EEE&F 7 aItE,0< ,1<CDStzZtaIuL4$R*u81}vStF8Et4$ED$D$f[^_]1EH%`7 a4$&9u몋EtsV$B JȉD$7 a~ t7 aD$BH%@, auSt#4$ED$tvA4$|$44낉E뿐Unexpected character in .t&U]]uu S ,0< vz,a<wIct1$ED$D$Ft]Ћu]Ít&1:tʀzvu뼈,C< 9 aẁCt $_t&$(Zero length in .&U]E]D$D$ $D$ et]]ËU9 at$T$CD$u֋S$B JȉD$CD$?1҅J@, aH!U$ ]uu=ø@, at@\$Et$$ED$ @CD$t$$iU $ =1]u]Internal error.UWVS u]} t$ ; at [^_]ËEtFK9ntG,0< v$u-@~(Z#<$D$AC@@, atK1렍AC<$D$-@@, at_GLOBAL_(anonymous namespace) Unexpected end of name in .&UWVS E] }$<U\$$'<@, aK~3W:M $D$BG?K͡wauGu; avىuu%EU<.t#<_t<$t 1҃ [^_]ËMyNuD$; au4$H<֍@, a˺< aaN&=aS=aa&&ad&ancl()cm,co~dV/=da delete[]de*dl deletedv/eO^=eo^eq==ge>=gt>ix[]lS<<=le<=ls<<lt<mI-=mL*=mi-mlmm--na new[]ne!=ngnt!nw newoR|=oo||or|pL+=pl+pm->*pp++pspt->qu?rM%=rS>>=rm%rs>>sz sizeof.= a1= a4= a7= a9= a<= a?= aB= aD= aB= aG= aJ= aM= aP= aR= aU= aW= aZ= a]= a`= aj= am= ao= ar= az= a}= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= am= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a> a> a> a > a > a> a> a> a> a> a > a> a"> a%> a(> a*> a-> a0> a3> a7> a:> a<> a?> aB> aE> aUnknown code in .operatoroperator UW`> aVSUMBP0QPE@ aAvUFcv'E)i@H9t*9@ at9|9u9E|빉]봃[^_]9Eu΋} u2MQ$B rD$@ aD$ 9H%@, auEP$B JȉD$CD$8H%@, auCU1w}v!MQ$B JD$@ aȉD$8H%@, a7E$0$U뛉Ѓ0 Q$B ZD$@ a؉D$08H%@, aM $qE9 [nv:t&U($]1ۉu}}4Ƹ@, at7<$t$D$ D$ wau 4$41H!؋]u}]ÐW$ZB D$B a؉D$a7HÁ@, auW$B Jt$ȉD$6HÁ@, auW$B zD$]D$7X@, aK [v:U($]u1}}3ø@, at7<$\$D$ D$  wa$3t ]u}]É<$D$_u$a3ø@, atȉ<$\$D$ D$ wau$y31H!돋W$rB \$D$R5HƁ@, auW$B JD$]ȉD$P6p@, a댋W$B JD$C aȉD$5HƁ@, aW$rB \$D$4HƁ@, aW$B JD$,ȉD$5Unrecognized .t&U]]Cht9vt E a]]@C$u$D$_u1@C$Error.vtable for Unrecognized .construction vtable for -in-typeinfo fn for typeinfo for java Class for typeinfo name for VTT for covariant return thunk to non-virtual thunkvirtual thunkguard variable for reference temporary for U(]]u}SM aȉD$B+H%@, a,S$B JȉD$L aC$뙃3uC$C$::*U(]]uu }SE}A$P aP aR aR aR aR aP aR aR aR aR aR aR aGQ aR aR a`P aR aR aBC$t$|$jt]u}]Ã{ t)C$D$*D$*H%@, auuu1뵉$|$D$u$t$uɋSJB ȉ$B JD$J= aȉD$)H%@, aL$t$ sBC$#$$;EC.U8uu]}4$NjF4$EEE,0< NZ,a<wprtk4$Bt&']u}]E]t4$E|$D$6u‰4$ED$31ÃA1p$hT a(V aW aMV aW aW aV aV aW aW aW a0U aW aV aW aW aV aW aV aV a@W aW a0U aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW a0U a$"E4$]Eܸ@, a4$ED$V$JB UȉT$D$$U4$XB@, a؉D$TE$i"ۉ?V$B ZD$ ؉D$p%H%@, a 4$D$4$t4$U܉T$4$D$&V$B JD$S aȉD$T$H%@, aF4$본 S aiV$B ZD$IS a؉D$봉4$ED$|$#^1Ҁ;tS,0< v/_t*4$ED$C9F4$ED$F8I4$5 4$H F8I4$E|$D$뺍&F4$mV$B JD$ ȉD$#H%@, a:t&`S a&4$ED$Lsigned charboolchardoublelong doublefloat__float128unsigned charintunsignedlongunsigned long__int128unsigned __int128shortunsigned shortvoidwchar_tlong longunsigned long long...W aX aX a X aX aX a#X a.X a code.Unrecognized code.&'Uuu]Futv,a<Y awF~ tS‹K%CC${$t$1S$B JD$\ aȉD$H%@, aibi iii ll ii i vc aUnimplemented.Unrecognized bool constant.truefalsev'U(]]u5wa}Su><`~:g aȉD$>H%@, a$S$B zD$)D$H%@, a'qS$B J|$ȉD$p@, aS$B JD$(ȉD$HƁ@, a$nS$rB D$)D$p@, a1&zr$.&'$&'U]]D$s$t ]]É$D$ru$WuӋS$B JD$7 aȉD$rH%@, at렉$V1҅J!댍v'U]]S >basic_iostreamstd::istreamistreambasic_istreamstd::basic_istream >std::ostreamostreambasic_ostreamv'std::basic_ostream >Unrecognized .std::stringstringstd::basic_string, std::allocator >&U(]]uu }$D$St]Ћu}]ÍC_,0< v B$ED$D$$D$ u$Et$@D$k atS$B rL$D$. H%@, atR$D$_1҅J!3B1$@n avn a-o ap ago ap ap ap ap ao ap ap ap ap ap aqp ap ap ap ap an aS$B JD$"k aȉD$ H%@, a?CtC|$$ @, au1nS$zB D$&k a5k aD$ H%@, a떋S$B JD$?k aȉD$t H%@, aQk a뾋=wauCS^k a$B JD$gk aȉD$+ H%@, aYS$B zD$k aD$ H%@, ak a뻡wau=S$zB D$k ak aD$ H%@, azSk a$B JD$l aȉD$h H%@, a=wau=S$zB D$3l a@l aD$" H%@, aKSHl a$B JD$`l aȉD$ H%@, al a]wau=S$zB D$l al aD$ H%@, ajSQk a$B JD$l aȉD$X H%@, a-E+string literalt&U]]D$Z$Tt]]É$u$D$E-uًS$B JD$7 aȉD$H%@, auC8st2$ED$Su$D$_w1pS$B JD$q aȉD$QH%@, a=C$D$ [#0] [#U]]C8_tME u wau 1]]ÍvS$B ZD$r a؉D$H%@, au@CwaC,0< vF a롉$ED$D$ D$ lzwakE@$CD$RwaCS$B JD$]ȉD$JS$B JD$r aȉD$H%@, a5U]]uu }$#~;_t)4$\$M@, at1ۉڋ]Ћu}]Ð{Zuщ$ED$苽@, atЉ$t <$붉<$u<$2E4$D$s@, atE$뻐UD$@E]u}$@, at$苹t$荽]Ћu}]É$tuى$薹NjE |$$@, at<$뭉U8u1u]]}} tXE}UEE؀;_tb$U؉T$t5=@, at&t1]u}]ËE$27܋EtE؋UEĀ{Zu$E؉D$D$D$E؉$TW_Z%s Memory allocation failed. &U(}6v a]]u18t]ȋu}]Ít&$D$@ tQ$買u4$蔼t4$覻1믉4$蚻 a@ |$D$9v a$x$=v a aD$D$@ D$ ѐU%1ҋt]ÐUwa]ÍUwa]ÐU]] uuu$=51҅FtF]Ћu]ÐU$ ]41t$ED$t؋]]Í&$41t&U]]C$4]]]4v'U]EX@$4؋]]Ð&US]E @9Љ~v'99tCT$$e4Ct؃[]É$.41v'UUBB]Ðv'U]] uu9t@4$CD$[1҅u ]Ћu]ËF$CD$CFut&U}} uu]<$裝D$É4$1҅u]Ћu}]ËF|$$葜^ؐUD$E$E D$@]ÍUD$E$E D$]ÍUWVS }9}u ty<$UBWЉD$51҅tR_9|&UًGJK9}GUƉ4$BD$BD$UBG [^_]&'UWVS E} $IUƉ$BD$1҅tHEX9|vU BK9}EUHt$T$ω<$PEp [^_]Ðv'UVS]u $C@D$1҅t-K9|t&SDI9}SEC[^]ÍU]]uu $FKȉD$1҅u ]Ћu]ËSCЉ$FD$AFCЍt&U]]}} u<$$ƋCD$@1҅u]Ћu}]ËSC|$Љ$יsӐU]]$C@D$1҅tSE K SCDC]]ÍUWVS Uu)9^M A9T9P|$E$|1҅t1KxUE JP3 KyUBz [^_]U]M] 1ҋC9At ]]ËA$CD$1҅ܐQ=r -) ̋@UD$EU $ET$UD$T$ ]Í&'UWVS,EUEME] EE҉U܉߉ƉMuy9vOEȉU؉EԋutEU؉UMEUQuԋEЉuEEU,[^_]Åu 1ƉUEЋEU؉E9]v#E]EtM}됍E܉ÃuE;}w9ur,EE)}܉EEU_U؉UEݍUܸ )؉ËM̉ M̉U܉EMe lju܉Eԉ9w=9t4EEE)M̉E U;EvM)U뽐U(EU $ET$UD$ET$ D$UE]Ð&UWVS,EUEME] EE҉U܉߉ƉMuy9vOEȉU؉EԋutEU؉UMEUQuԋEЉuEEU,[^_]Åu 1ƉUEЋEU؉E9]v#E]EtM}됍E܉ÃuE;}w9ur,EE)}܉EEU_U؉UEݍUܸ )؉ËM̉ M̉U܉EMe lju܉Eԉ9w=9t4EEE)M̉E U;EvM)U뽐UWVSLEU EME]EҋEEEEMȉ]xtxL$]ȋủT$\$t$ D$zMtƉމu؅tHEԋEЋUԃL[^_]ÉUΉمutIM܋M؋]܉Mȉ]EƉ؅utHEEUgUWVS,EUEME] EE҉U܉߉ƉMuy9vOEȉU؉EԋEtEU؉UMEUQuԋEЉuEEU,[^_]Åu 1ƉUEЋEU؉E9]v#EEEtM}됍E܉ÃuE;}w9ur,EE)}܉EEE_U؉UEݍUܸ )؉ËM̉ M̉U܉EMe lju܉Eԉ9w=9t4EuE)M̉E U;EvM)U뽐UWVSLEU EME]EҋEEEEM]x[$]ET$uĉD$\$t$ Et%EUމ؉uȅtHE̋EȋỦEUEUL[^_]ÉΉމuمtIMԋMЋ]ԉM]EƉ؅utHE܋E؋U[UWVS,EUEME] EE҉U܉߉ƉMuy9vOEȉU؉EԋEtEU؉UMEUQuԋEЉuEEU,[^_]Åu 1ƉUEЋEU؉E9]v#EEEtM}됍E܉ÃuE;}w9ur,EE)}܉EEE_U؉UEݍUܸ )؉ËM̉ M̉U܉EMe lju܉Eԉ9w=9t4EuE)M̉E U;EvM)U뽐UU1tt u]ÃtUEU TBZ 9E s 9r1҉9E ryEЋUMR $L$UEċEEp9uHUЃUvEЍU]M|T$ $EĉD$GD$aMD$E $D$D$ CU9U s 9urE‰9U C]tEUZ ;t&M $D$E D$3u~UM $B L$D$W`$XM1U ;FMAtUW1VS5 xa]t&;vu5xat\&F\$4$xa xaǡ xa9r H@u1F1u5xautLFU FBF%Fu6t$؉$D$GD$E $D$ [^_]ËW)Ѓ$붡 xau4$\$7 q&UWVS,UB u?BAZ M Q ‰Q 9t Q1+E@gX 4Et 9pE aE@uE0 aUBtEP aML$ EU$ET$D$MUAZ9L$EU$T$MuyMtW^MOLMܐt*EU܉$DT$D$U~DKDҋM܍LuUMBF $MUA IQ ,[^_]ËEMD$E $D$MˋUML$$D$;uEUT$$@ D$$HEt'@$2Et@)1"vM $D$\ƋuE$@ D$=UWV1Sxa}G}9ƉEsMxat.E$DD$D$U yU)ʋU\F]E;ur111;Ms"&]Dt DDBF;urWEH[^_]ËD]DAېFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFx5i+.b*0[ *0[ *0[ *0[ *0[ *0[ *0[ FFFF F@呰 חb@;>V;>V~-)=sRn@8$6%n@8$6%n@8$6%j +)=sRn@8$6%n@8$6%Vj +)=sRUj +)=sRQj +)=sRWj +)=sRRj +)=sRTj +)=sRSj +)=sRn@8$6%n@8$6%Pj +)=sRX}lBX}lB0FR KQR KQR KQR KQ"d+.2FyK yK yK yK yK FF1FyK FF FFF FFFyK !d+.FFFFFFR KQyK yK FR KQyK yK 0+)=sR՜.+,Oh+'՜.+, CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 F CPf0 F CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 * _,da _,d* _,d+ _,dag _,dF%FB: ` yK yK FH+)=sRyK yK yK yK FFv nrFF4Fi;Yi+-zyK 44*Fʼ"hN@Gp@3"}Te++FFFFFF#F$FFFFF!F"FFF44FFFyK FFFȼ"hN@Gp@糗`F;F9F FBJ7<}iFFFF }Te++@'1nD5KQFʙ^Ai@aUt0 t0 yK yK yK yK yK yK yK FMm8gh FFFFFYtNOF F[ _,dH+)=sRFF(F)FF˼"hN@GpF444ż"hN@GpǼ"hN@GpƼ"hN@GpFFFV ^>;)FF,$4pLؠ.$4pLFFFFF0` FЗ`J`F(R h 7p@8I h 7 Fi;Yi+-zFk7E8+. F F7PByK `O7B5KQ FF F#N-+. {20 {20 U5qLɼ"hN@GpXשFh *'UB5KQ444eF$+.4:F8F4:KQ'FFQbH6k!Pi)? F FFF`k;Yi+-zFj;Yi+-zFj;Yi+-z&FFF0:s *Dw=i;Yi+-zF@Qm6t4` +tN0 4FF F F&FF`= ߏTe++TtUI#RRBnFFFFFFFAJ7<}iF F'FB: ` yK yK yK 0FFFFFFF!FF F FFFF FFFFFF"F F#F FFFFFF FFFFFFF"hN@GpH+)=sRUWVSUP,$Alj‹Et BI,u1EM9U}I1_UB7$(7T$D$L E,M,9U|MAuSMBy BUE t+A$(T$D$ e[^_]$)AE랉7sU]ÐU1]1ÐUEl aE]@UEl a]ÐUE@$|]ÐUE@$E D$襥]ÐU1]ÐU]]u$P$@Ƌ$PD$4$D$2$t$P]u]ÐU $1]t$|$HtKLuVLL ȉ׈Ċ8tGu1PtLPЋ$t$|$]ÍPu 1L1ՉL뒐U(uu]Ht1U ^P1L1H$肑,u84t-#t$1҃t tt 1]u]ána@D$$D$D$D$ D$D$(Dt$D$苢Í@$+HD$HD$\$D$ED$ u=Hu)D1ɉH$賠D $͋EH$U]]D at $KHu]]]0=$h萐U]]D at $Hu]]Í&$萐U}}]]EEuu EC a}ux;( a;}-ȉCtsC ]u}]C}t  a }u C ύ6al޸6a6hU]]{  au]]];*5aܐUEx au ]Í&*5aߐUE]]uu EC ax~( a$FD$uCCx+US ( aC]u]Í a}uC ٸ6a%v( a$@뀸6aSU]]{  au]]]z:*5aܐUEx au ]Í&*5a|ߐUE] ÐU1]ÐU1]ÐUE] ÐUE]@%LF aÐU]ÐUE] ÐU]ÐUE $]ÐU1]ÐU1]ÐUE]@%ÐU1]ÐU]ÐUE]@,ÐU]ÐU1]ÐU]ÐU1]ÐU}U ]]uu B,uN1C,U B0u81C0CCC C$C(]u}]ÐMM뭐UE@<]ÐU]] a$]]]؅UE a$蹆]ÐU]] a$VO]]]鈅UE a$)O]ÐU]]{  au]]]j7*5aܐUEx au ]Í&*5alߐU1]1ÐU]ÐUE]@@ÐUEU P@1]U]] a$膅]]]xUE a$Y]ÐU1]1ÐUE$R0]ÐUE]ÐUuu]F(uzV@tcBuQBtËu-BIV@B$]F@u]IvvIuV@fIV@륐]u]Í$記vUE]ÐUE$E D$ED$RH]ÐU]]| a$]]]UE| a$]ÐUE]@LÐU]] a$vL]]]騂UE a$IL]ÐU]ÐUE$E D$R]ÐUE]8ÐU]ÐU]ÐU]ÐU]ÐU]]| a$]]]؁UE| a$蹂]ÐU]ÐU1]ÐU1]1ÐU]] a$f]]]XUE a$9]ÐUl]ÐU]]u$P$Q3Ƌ$PD$4$D$%$t$P]u]ÐUE@$]ÐU]ÐU]]u$P$2Ƌ$PD$4$D$S%$t$P]u]ÐU]]T a$]]]UET a$]ÐU]] a$ƀ]]]UE a$虀]ÐU]] a$fa]]]hUE a$9a]ÐU]] a$&]]]UE a$]ÐU]] a$H]]]~UE a$iH]ÐU]]< a$O]]]0UE< a$iO]ÐU1]ÐU]]T a$&]]]~UET a$~]ÐU1]1ÐU]]| a$~]]]}UE| a$~]ÐU]]t a$f_]]]h}UEt a$9_]ÐUE]@8ÐU]] a$~]]]}UE a$}]ÐU1]1ÐU]]| a$}]]]|UE| a$}]ÐUE]@\ÐU]]| a$V}]]]H|UE| a$)}]ÐU]]| a$}]]]{UE| a$|]ÐU]ÐU]]t% a$|]]]{UEt% a$y|]ÐU]]t& a$fL]]]x-UEt& a$9L]ÐU]]& a$L]]](-UE& a$K]ÐU]]& a$K]]],UE& a$K]ÐUE@$輑]ÐU$]ÐU]]u$P$,Ƌ$PD$4$D$$t$P]u]ÐUWVS,EMU EEΉUMEna@$tދUMA9M[Q1ɀ}$I8}~EM]Q[Ht:19s$E܍J&E܋p9t!G ;}rUM E,[^_];5J atU܉U,[^_]&MA$D$\UB$B@D$;MAEUEl aE]*UEl a]ÐU1]ÐUE]@8ÐN10__cxxabiv117__class_type_infoEN10__cxxabiv120__si_class_type_infoEN10__cxxabiv121__vmi_class_type_infoESt10bad_typeidSt13bad_exceptionSt8bad_castSt9bad_allocSt9exceptionSt9type_infoia~aa Va@a@aaaia0a`a9uz}H a  H a 2h}T a%27[F a aH apDa3ͫ4m  aaapa6L) a a0 a0a2a5a=aEaNaSa[aKaKaKaKaKa La La+La9LaKaKaNLa(< a(< a a@aaaaaaaaaaa"a(aa3a@aaaaaaaaAa`aaaaaaaaaaaaaaaaaaaaaaaa a a a a a "a %a /a 2a BaEaHaLaPaTaXa\a`adahalaoasawa{a~aaaaaaa a!a"a#a$a%a&a'a(a)a*a+#a,)a-0a-=a.Da.Na/Ta/\a0aa1ea2ia3oa4ta5ya6}a7a8a9a:a;a<a=a>a?a@a[a\a\a]*a^5a^Ga_Ra_[a`ha{sa{a|a}a}a~a'a'a'a'a(a (a((a5(aO(aZ(ar(a~(a(a(a(a(a(a(a )a)a ()a2)a N)aY)a q)a|)a )a)a)a)a)a*a"*a@*ab*a*aaaaa a4aFaYaoaaaaaaa a@aVapaЌa?91$21fB];޵o @HkIt۱Y\Teh.y=kC-*.gڈʈ]si5O֏Qokna?A6"Ƹ*{׈ "G' a a a ama6 pacygwin1S3Ї aԇ a؇ a܇ a a a a a a a a a a a% a) a- a1 a5 a9 a= aA aE aI aM aQ aU a] af ak a5 aq av a{ a a a a a a a ax a a( a a3ͫ4m  a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a  a  a( a( a0 a0 a8 a8 a@ a@ aH aH aP aP aX aX a` a` ah ah ap ap ax ax a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a  a  a( a( a0 a0 a8 a8 a@ a@ aH aH aP aP aX aX a` a` ah ah ap ap ax ax a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a  a  a( a( a0 a0 a8 a8 a@ a@ aH aH aP aP aX aX a` a` ah ah ap ap ax ax a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a  a  a( a( a0 a0 a8 a8 a@ a@ aH aH aP aP aX aX a` a` ah ah ap ap ax ax a a a a a?veJJ?Lɚ R`%u2jRΚ2(M]=];ZlRP(= e uuvHMfXPT\eƑFݍ~QC576l3oߌGAP%kqk<զIx@ p+ŝi@4@ @@ @@@0 á#-ޟݦ d%I-64OSk%?kXWڥ2122q#2IZ9>SU9zc%C1 *$bGט#?9'*?[ Jg9Eϔ?qyh.L[Mľ?M==|6+ aw̫?UN@a+eX? ףp= ףp= ףp= ף??aP a' aP a\ a' a a a' a a a' a aT a' a aT a' a4 aT a' a@ aT aL' aP aL' a` a a a@ a aP a a4ap a a aP a a a` a a a\aP]a ap aPaa a0ba a0 a_aBapRaUaSaPYa aGaKaOapTa@WaXaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca a a a ap aa aa a0 a_aBaaUaSaPYa aPaKapapTa@Waaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a aa0(a(a`)a<a a a@ a apcacacacacaca a a a ap aPaa a0ba a0 a_a a)a aSaPYa a)a*aP(apTa@Wa(aaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a ap&a`a(a (a0(a@(a`a a-a,a,a,ap a0 a a a a ap aPaa a~a~a0 a_aia`laUaSaPYa aGaKa apTa ha0aaaaa`haPoamama0naPqa@ya a a a a a a a aaafa a a a` a:a;a;a<a a a0 a apcacacacacaca a0apa ap apa@a`aPaP a_aBa aaвaa aa`a@ apTa@Waaaaaa VaZaZaZaZa[a0[aP[ap[aP a a ap a a a ?aP@a a a a` apQaRaRa<a a a0 a apcacacacacaca a a` a ap aa a`aa0 a_a}aaUa0aPYa ataaapTa@Waaaaaaa@aZaZaZaaaaa a a a a a a ?aP@a a a@ a` a`,a -a-a<a aa0 a apcacacacacaca0 a aP a` a aPapa ap aPaa a0baPa0 a_aaaUaaPYa aaaapTaaaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca aa0a ap aPaa a0ba a0 a_a@aaaSaPYa aPaaapTaaPa aa@aa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca a=a>a ap aPaa aIaJa0 a_a?aAaUaPJaPYa aGaKaOapTa@WaPIaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a`BaFa a a a` a>a`?a@a<a a a0 a apcacacacacaca;a;aP aP a a a a ap aPaa a0ba a0 a_aa)aaSaPYa a)a*aP(apTa@Wa(aaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a ap&aa(a (a0(a@(aaa a a a ap aPaa aa a0 a_aBapRaUaSaPYa aGaKaapTa@WaXaaaaa VaZaZaZaZa[a0[aaa a a a a a a ?aP@a a a@ a` a>a`?a@a<a aa0 a apcacacacacacap a aP a` a a%a%a ap aPaa a0ba a0 a_a*a)aUaSaPYa a)a*aP(apTa@Wa(aaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a ap&aca(a (a0(a@(a +a0+a a@ a a ap a-a a .a a0 a_a+a aUa`-aPYa a,ap,a apTa@WaXaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` aUa`VaWa<a a a0 a apcacacacacacaP a` a4ap ap a a a4ap a a a a` a ap aPaa a0ba a0 a_a aaaSaPYa aGaKaOaa@WaXaaaaa VaZaZaZaZa[a0[aP[ap[aP a@ a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a aaaaaa@a a a a ap aPaa a0ba a0 a_aBapRaUaSaPYa aGaKaOapTa`^aXaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a1a02a2a<a a a0 a apcacacacacaca a0 a a ap aPaa aIaJa0 a_aaaaaPYa aGaKaapTa@Wapaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a`BaFa a a a` a>a`?a@a<a a a0 a apcacacacacacaPa;aapa a aP a ap aPaa a0ba a0 a_a/a/aUaSaPYa a`/aP/a/apTa/aXaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca a a a ap aPaa a0ba a0 a_aWa`Za@PaSaPYa a)a*aP(apTa@Wa(aaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a ap&a@SaUaUa0VaVaLaZa-a,a a a a aP a ap aPaa a0ba a0 a_a aaaSaPYa aGaKaOaa@WaXaaaaa VaZaZaZaZa[a0[aP[ap[aP a@ a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a aaaPa`aa`a a a a ap aa aP!a a0 a_aa aUa aPYa apaPa apTa@Wa aaaaa@aaZaZaZaaaaa a a a a a a ?aP@a a a@ a` a.ap.a.a0a aa0 a apcacacacacacap a a aa a0 a a ap aPaa aIaJa0 a_aaaUaaPYa aGaKapapTa@WaPIaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a`BaFa a a a` a>a`?a@a<a a a0 a apcacacacacaca;a;aa`a a a` aP ap aPaa a0ba a0 a_a2a 7aUaSaPYa a6ap5a7apTa8a7aaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca a a a ap a"a aP!a a0 a_aaPaUaaPYa a@aa apTa@Wa aaaaa VaaZaZaZaapaaa a aa a a a ?aP@a a a@ aa`.ap.a.a<a aa0 a apcacacacacacaa0a aa aP a a ap aa aP!a a0 a_aBa aUaSaPYa aGaKaapTa@Wa aaaaa VaZaZaZaZa[a0[aaa a a a a a a ?aP@a a a@ a` a`.ap.a.a<a aa0 a apcacacacacacap a a aa a ap a ap a"a a#a#a0 a_aaPaUaaPYa a@aa apTa@Wa aaaaa VaaZaZaZaapaaa a aa a a a ?aP@a a a@ aa`.ap.a.a<a aa0 a apcacacacacacaa0a aa3a 3a03a@3aP3a`3ap3a3aP5a6a7a9ap:a;a=a@?a a a a ap aPaa a0ba a0 a_a famaUaSaPYa akajamapTanaeaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca-a,aP a aAaBaCa Ca@CaCap3a3a-a,a ap a-a,a a a a0 a4ap a@ aPaPaaa aa a a ap a a a a a a' a" a`! a a a a a a a a( a# a! a aP ap a a a a a( a# a! a$ a a a@ a0 a a a@ a< a@ a` a@ aH a a a@ aT a a a@ a\ a a a a a  a@ a) a ) a,) aa aPaaaaa0aaaaa0aaaaa0aaaaa0aaa$aa0aaaaaapa(aa1a a8at aAaaMa8/ aTaa^aacaja`^aoajaua a~ap aaaaaaaaaD aTERM=cygwinga 5ara 5a|a 2aa a a 4aa 5aa 5akataaaaaaaaa*aPaqaaaaaaaaaaa$aBaVagavaaaaaaaa-aHa[awaaaaaaa a a:a=a@aCaTaoa}aaaaaaaaa aa1aOaeazaaaaaaaaaPaaaaaaa0apaaaa4aMa[aoaaaaaaaaaa a aaa.aPaaaaa>aQaha{aaaaaaa a*a;aRapaaaaPasaaaaaaaa2a6CaRaaaua a a aa aaaYaa a !a $!a.&9a='Da2UaX3ca@4paP5yaCaPaRaWaYa ma naqaxaX{aa ,a?aZMa\aiaxa aaaaaaaa aa aF0a :aDaSaFba+ka{aaaCa a b a d a ha]a aLaiaNaO(aP9akJa8\a`anapxaaaaaaa:a%aBa`a|aaaaaa1aLaja&aa%aaaa.aAaWafavada%mamamaqa'vavavaza&aaaa(aaaa!aaaa"aaaa$aaaa#aaaa-aaa¨a.ȨaȨaȨaͨapӨaبaqިaaraasaataau aaavaaw$a*ax0a6ay<aBazبa{aeHa Ha6aLa GMTwp``pP`@p0`p ` ` p ٢ gpfeyHiGY*I)9 ) ")` ` p`p`p` v!`"U#j$5%J&'*s'p) U)ޥp*7+p,T`-ip.6`/~Kp0`1gg2r`3GI4R`5'+62`7 889:;۞p?b@opA`BOpCda`D/vpEDC`FXpG$%`GtI`IVJ`K8LMNOwPQapRlS@pTLU pV,oWpX`XpYn`Zp[P`\]2`^_``ica~0bIEc^d)'e=fDpgg&phipjݚkplƷ`mpn`oqpp{`qZrf]`s:tF?`uv/[vpx=xRyz4{|Qp}~3pcpw`BpW`"p7` `j`˹L`h}Jk_,T|p`4^p?@p) `"p`p` ȳ`𝨕`|w`\q?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~'Ra3'[a 4'jaw5'yax6'al7'ay8'az9'ak:'am;'a{<'a|='a_>'a`?'aj@'apA',a}B'=asC'IarD'Xa~E'eaqF'uahG'aiH'aI'aJ'anK'aL'atM'aoN'a\O'a[P'auQ'avR'aZS'"aT'.aU'8aV'BaW'LaB&'Wa'aaka*a*a*a* a8naEnaKnaRna\nagnaqna{nananananananananananananaoastupid_pipe.%u.%ucygnus01aaaaaaaa a a a a&a7a@aIa\adaqaaaaaaaaaa a!a"%a#6a$Ca&Ta'aa(sa*a+a,a-a.a/a0a1a2a3a7a9aA'aF5aGJaH^aJgaKsaaaaaaaaaaaa!a2aAaTaeataaaaaaaaaaaaaa!a*a5a@aLa]a ka!wa2a3a4a5a6a7a8aa aa(a5aFaUabasaa a aaaa a!a"a#a$a%!a&0a';a(Ia)[a0ka3ya4aaaaaaaaaa  a a 0a Aa Taeayaaaaaaa]8]W<]_<}|}|CygwinWndClassaaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32 a aAddAccessAllowedAcet&/ a aAddAccessDeniedAceW a aAddAceo a aAdjustTokenPrivilegesv a aAllocateLocallyUniqueId a a CopySidנ a a,CreateProcessAsUserAt& a aCryptAcquireContextAt&' a a CryptGenRandomG a a CryptReleaseContextt&o a aDeregisterEventSourcev a aDuplicateTokenEx a aEqualSidϡ a a GetAce a aGetFileSecurityA a aGetKernelObjectSecurity/ a aGetLengthSidt&O a aGetSecurityDescriptorDacl& a a GetSecurityDescriptorGroup a a GetSecurityDescriptorOwnerߢ a a GetSecurityInfo a aGetSidIdentifierAuthority&/ a aGetSidSubAuthorityW a aGetSidSubAuthorityCount a aGetTokenInformationt& a aGetUserNameAt&ǣ a aImpersonateLoggedOnUser a aImpersonateNamedPipeClient a a InitializeAclv? a aInitializeSecurityDescriptort&o a a InitializeSidv a aIsValidSid a aLogonUserAϤ a aLookupAccountNameA a aLookupAccountNameW a aLookupAccountSidA&G a a LookupPrivilegeValueAvo a aLsaClose a aLsaEnumerateAccountRights& a aLsaFreeMemoryvץ a aLsaNtStatusToWinErrorv a aLsaOpenPolicyv a a LsaQueryInformationPolicy&O a a MakeSelfRelativeSDw a a OpenProcessToken a aRegCloseKeyt& a a$RegCreateKeyExAצ a aRegDeleteKeyAv a aRegDeleteValueA a a RegLoadKeyAt&7 a a RegEnumKeyExAvW a a RegEnumValueAvw a aRegOpenKeyExAv a a0RegQueryInfoKeyA a aRegQueryValueExAק a aRegSetValueExA a aRegisterEventSourceAt& a a$ReportEventAt&? a aRevertToSelft&_ a a SetKernelObjectSecurity a a SetSecurityDescriptorControlt& a aSetSecurityDescriptorDacl& a a SetSecurityDescriptorGroup a a SetSecurityDescriptorOwnerG a aSetTokenInformationaanetapi32aanetapi32aanetapi32aanetapi32aanetapi32aanetapi32aanetapi32 a aNetApiBufferFree' a a NetGetDCNamet&G a aNetLocalGroupEnum&o a a NetLocalGroupGetMembers a aNetUserGetGroups a aNetUserGetInfo a a NetWkstaUserGetInfoaantdllaantdllaantdllaantdllaantdllaantdllaantdllaantdllaantdllaantdllaantdllaantdll a a5NtCreateTokenv' a a)NtMapViewOfSectionO a aNtOpenFileo a a NtOpenSectionv a aNtQueryInformationFile a aNtQueryInformationProcess& a aNtQueryObjectv a aNtQuerySystemInformation/ a aNtQueryVirtualMemoryt&W a a NtUnmapViewOfSectiont& a a RtlInitUnicodeStringt& a aRtlNtStatusToDosErroraapsapi a a GetProcessMemoryInfoaasecur32aasecur32aasecur32aasecur32aasecur32 a aLsaDeregisterLogonProcess&7 a aLsaFreeReturnBuffert&_ a a9LsaLogonUsert& a a LsaLookupAuthenticationPackage a a LsaRegisterLogonProcessaauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32@ a0 aCharToOemA'@ a0 a CharToOemBuffAG@ a0 aCloseClipboardg@ a0 a0CreateWindowExA@ a0 aDefWindowProcA@ a0 aDispatchMessageA@ a0 aEmptyClipboard@ a0 aFindWindowAt&A a0 aGetClipboardData'A a0 aGetKeyboardLayout&OA a0 aGetMessageAt&oA a0 aGetPriorityClipboardFormatA a0 aGetProcessWindowStationA a0 aGetThreadDesktopA a0 aGetUserObjectInformationA&B a0 aKillTimer&7B a0 aMessageBoxAt&WB a0 aMsgWaitForMultipleObjects&B a0 a OemToCharBuffAB a0 aOpenClipboardvB a0 aPeekMessageAt&B a0 aPostMessageAt&C a0 aPostQuitMessage'C a0 aRegisterClassAGC a0 aRegisterClipboardFormatAoC a0 aSendMessageAt&C a0 aSetClipboardDataC a0 aSetTimerC a0 a SetUserObjectSecurityP a aload_wsock32t&'P a aWSAAsyncSelectGP a aWSACleanupgP a aWSAGetLastErrorP a aWSASetLastErrorP a a__WSAFDIsSett&P a a acceptP a a bindt&P a aclosesockett&Q a a connect/Q a a gethostbyaddrvOQ a agethostbynamevoQ a agethostnamet&Q a a getpeernamet&Q a agetprotobynameQ a agetprotobynumberQ a agetservbynamevR a agetservbyportv/R a a getsocknamet&OR a agetsockoptoR a ainet_addr&R a ainet_networkt&R a ainet_ntoa&R a a ioctlsockett&R a alistenS a arcmdt&S a arecvt&7S a arecvfromOS a arexecvgS a arresvport&S a aselectS a asendt&S a asendtoS a asetsockoptS a ashutdownT a a socket` ap aWSACloseEventv'` ap aWSACreateEventG` ap a WSADuplicateSocketAt&o` ap aWSAGetOverlappedResult` ap aWSARecv` ap a%WSARecvFromt&` ap aWSASend` ap a%WSASendTo&a ap aWSASetEventt&'a ap aWSASocketAGa ap aWSAWaitForMultipleEventsoa ap a WSAEventSelecta ap a WSAEnumNetworkEventsaaiphlpapiaaiphlpapi ap a GetIfTable' ap a GetIpAddrTableaaole32aaole32aaole32 a aCoInitializet&' a aCoUninitializeG a aCoCreateInstanceaakernel32aakernel32aakernel32aakernel32aakernel32aakernel32aakernel32aakernel32 a aCancelIo a a CreateHardLinkA? a a CreateToolhelp32Snapshotg a aIsDebuggerPresent& a a Process32First a a Process32Nextv a aSignalObjectAndWaitt& a aTryEnterCriticalSectionaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmm a awaveOutGetNumDevs&/ a awaveOutOpent&O a awaveOutResett&o a awaveOutCloset& a a waveOutGetVolume a a waveOutSetVolume a a waveOutUnprepareHeader a a waveOutPrepareHeadert& a a waveOutWritet&? a a timeGetDevCaps_ a atimeGetTimet& a atimeBeginPeriod a atimeEndPeriodzPL|  a 0  a a zPL|  a $ a( a zP|  a  P a3 zPL|  a ,  a a  zPL|  a $  a{ ,H a 8x@ ak , aj ,  aX  , a a zP|  a $ P aE  $H a` $p a/ zP|  a 0 0 a  zPL|  a $  a', a $HP a $pp a $ a zP|  a $ aH $H ag 4p! a_  (! a 4# a   ( # a 48( af  (p( a (P* a zP|  a ( + a]  | } a2 (8~ a |  a7 (8 a | ( a (DЂ a | ( a (D a | p aI 8 ap ,X a  ( a[ ,` az  , a (З as  ,@P a ,p a& ,@ a7 , av (М a  <, aX (l a   @ a     < a      a |  aI ,8 a  $h` a:  a% $P a  a   a&  aK ,8p a  (hP a ( a ( a (@ a0 (p a (D a/ (p a ,` a( ( a , a a#=($      0о0@Pp`` P}|}``0 }}  P  EЍ``P~~0`} @n@ @@p  0 ` @  ppX `3, P Pu@0Ж@0P P,`0 p@ \v Й@0 p vRpw pp-@ `- .Pd0p00о0@Pp`` @P62 `5  0 P   00 T P `  p 0 <pi<`  c@ @  e ` Q0,,+wuv`}`+]QSo pRQNLl@k + @P[h`P@p    p 0" @ P ` @w z .@x  0P ` pPax @E P P v r  pp`y @pPq0V|  pz p0 ` P  @ P Pr00 H t   x     `n0 ` z t  0Q0@} xPa0 ^RPknRm@~ P`@q ` v  p s `@p   0 z P  Cf0  0  0 @  `~ p  @  0   0 Ћ   0 ( ( ( ) p+ + P- - - - @. 0>1 3 КN   ` P @`0 tp0 @1 0 `1 p1 1 eX М`3P62 up  4 W0E Pa a 0Ps s s t t u u P Q@v v p 0 EЍ``P~~0`@n@ @@p  0 ` v P @  pp`3,+` P Pu@00Ж@PY0PP,`00p2P 00p_2PPЮ 0 p@ `@_p`}~v Й@0 p v<Rpw pp-@ `- . 0p0@P62P0 `5  0 P   00 TR P `  p 0 <:pi<`  c0a@ @  e ` Q0, ,,+++wwutvu`} }  P_`+]QSp0mo  pRQNOLKNLl@k 0P++ @P[h`P \@P@p   ~~0b  p 0" @ P ` @w z .-@x  0P @` pPpax  @E D P P v@r r  ``p0y pp`y @pPq0VP|  0z *P]]p0 ` @p0P0@`P0 `0 0@P`pPP`p @@pp` P  @ P pd, Pr000<0 8`OHrO H t 2   x/     `n0 ` Pppprr0rt tz t@t `= 0Qp0@}Pt x<^Pa0 ^RPknRmc@~} --------P`@q ` 0v  p s 5`@p   0 z aP  CBf0  0  0 @  `~ p  @  0   0 Ћ  k 0 ( ( ( ) p+ + `lP- - - - @. 0>1 3 КN   ` P @`0 tsp0 @1 0 `1 p1 1 e dXpМ`3P62 `up  4 W0E Pa a 0Ps s s t t u u PPQR Q@v v p` p*18ANZk~˲ղ(6DOVcnyγܳ !(07?JS^dkrzƴ̴Ӵܴ /6=EOV]gq{Ƶ͵׵ )0:EOYbgmtzȶѶ۶ *29AHPV]cks{÷ʷӷڷ ")/8?FMS\cks}Ÿ̸ոݸ )8AIRZdnxĹ͹չ޹#19CLW]djt|úκպ޺ #+4;CLU^gquz~ǻͻջ߻")18@FMS\els{Ǽϼּݼ  ,2;BIOXaks{̽ҽ۽ #,7CKS[fnt{ɾҾھ %0;DPYblwɿֿ+7<BHOY`jr{ %-6>HR[dlt (.7=JT]emrx~ $-7@HOW^fmu}%+4<DNV_fntx$*16<CIOV]bhmry~ &,2;DLU_chmsy4HZu#:Ut $Dm$*.6>E_kx #*07>CGLRY^dipw~ #-5;AGLTZahqw+3=DLV]foz%-5<DSdnw )1;@FKT[dlt{ *08@HPW_gou| '/9>EPZfjpw}$+19@GLSX^dmu{ &48=DSh6Sn2D]y "6CViv1Rp4ANe{ !&-27?HNV_dmu %-3;Rix "'/6=KS]dlv}(/8AIPX`ipw!&+1:@IP[bjr{%.7?GNUaiqy (19@GKPU[cjr|%,29?FMV_fls| #+18;?BFI  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~cygwin1.dll__argc__argv__assert__assertfail__ctype_ptr__cygwin_environ__cygwin_user_data__eprintf__errno__f_atan2__f_atan2f__f_exp__f_expf__f_frexp__f_frexpf__f_ldexp__f_ldexpf__f_log__f_log10__f_log10f__f_logf__f_pow__f_powf__f_tan__f_tanf__fpclassifyd__fpclassifyf__infinity__main__mb_cur_max__progname__signbitd__signbitf__signgam__srget__swbuf_abort_abs_access_acl_aclcheck_aclfrommode_aclfrompbits_aclfromtext_aclsort_acltomode_acltopbits_acltotext_acos_acosf_acosh_acoshf_alarm_alloca_alphasort_asctime_asctime_r_asin_asinf_asinh_asinhf_atan_atan2_atan2f_atanf_atanh_atanhf_atexit_atof_atoff_atoi_atol_bcmp_bcopy_bsearch_bzero_cabs_cabsf_calloc_cbrt_cbrtf_ceil_ceilf_chdir_check_for_executable_chmod_chown_chroot_clearerr_clock_close_closedir_closelog_copysign_copysignf_cos_cosf_cosh_coshf_creat_ctime_ctime_r_ctype__cuserid_cwait_daylight_difftime_dirfd_div_dll_crt0@0_drand48_drem_dremf_dup_dup2_ecvt_ecvtbuf_ecvtf_endgrent_endmntent_endpwent_endutent_erand48_erf_erfc_erfcf_erff_execl_execle_execlp_execv_execve_execvp_exit_exp_expf_expm1_expm1f_f_atan2_f_atan2f_f_exp_f_expf_f_frexp_f_frexpf_f_ldexp_f_ldexpf_f_log_f_log10_f_log10f_f_logf_f_pow_f_powf_f_tan_f_tanf_fabs_fabsf_facl_fchdir_fchmod_fchown_fclose_fcntl_fcvt_fcvtbuf_fcvtf_fdopen_feof_ferror_fflush_ffs_fgetc_fgetpos_fgets_fileno_finite_finitef_fiprintf_floor_floorf_fmod_fmodf_fnmatch_fopen_fork_fprintf_fputc_fputs_fread_free_freopen_frexp_frexpf_fscanf_fscanf_r_fseek_fsetpos_fstat_fstatfs_fsync_ftell_ftime_ftruncate_fwrite_gamma_gamma_r_gammaf_gammaf_r_gcvt_gcvtf_get_osfhandle_getc_getchar_getcwd_getdomainname_getdtablesize_getegid_getenv_geteuid_getgid_getgrent_getgrgid_getgrnam_getgroups_gethostname_getlogin_getmntent_getmode_getpagesize_getpass_getpgrp_getpid_getppid_getpwduid_getpwent_getpwnam_getpwuid_getrlimit_getrusage_gets_gettimeofday_getuid_getutent_getutid_getutline_getw_getwd_glob_globfree_gmtime_gmtime_r_htonl_htons_hypot_hypotf_ilogb_ilogbf_index_infinity_infinityf_ioctl_iprintf_isalnum_isalpha_isascii_isatty_iscntrl_isdigit_isgraph_isinf_isinff_islower_isnan_isnanf_isprint_ispunct_isspace_isupper_isxdigit_j0_j0f_j1_j1f_jn_jnf_jrand48_kill_labs_lacl_lchown_lcong48_ldexp_ldexpf_ldiv_lgamma_lgamma_r_lgammaf_lgammaf_r_link_localeconv_localtime_localtime_r_log_log10_log10f_log1p_log1pf_logb_logbf_logf_longjmp_lrand48_lseek_lstat_malloc_matherr_mblen_mbstowcs_mbtowc_memccpy_memchr_memcmp_memcpy_memmove_memset_mkdir_mknod_mkstemp_mktemp_mktime_modf_modff_mount_nan_nanf_nextafter_nextafterf_nice_nrand48_ntohl_ntohs_open_opendir_openlog_pathconf_pclose_perror_pipe_poll_popen_pow_powf_printf_pthread_cleanup_pop_pthread_cleanup_push_putc_putchar_putenv_puts_putw_qsort_raise_rand_read_readdir_readlink_readv_realloc_remainder_remainderf_remove_rename_rewind_rewinddir_rindex_rint_rintf_rmdir_sbrk_scalb_scalbf_scalbn_scalbnf_scandir_scanf_scanf_r_seed48_seekdir_select_setbuf_setdtablesize_setegid_setenv_seteuid_setgid_setgrent_setjmp_setlocale_setmntent_setmode_setpassent_setpgid_setpgrp_setpwent_setrlimit_setsid_settimeofday_setuid_setutent_setvbuf_sigaction_sigaddset_sigdelset_sigemptyset_sigfillset_sigismember_signal_significand_significandf_sigpending_sigprocmask_sigsuspend_sin_sinf_sinh_sinhf_siprintf_sleep_snprintf_spawnl_spawnle_spawnlp_spawnlpe_spawnv_spawnve_spawnvp_spawnvpe_sprintf_sqrt_sqrtf_srand_srand48_sscanf_sscanf_r_stat_statfs_strcasecmp_strcat_strchr_strcmp_strcoll_strcpy_strcspn_strdup_strerror_strftime_strlcat_strlcpy_strlen_strlwr_strncasecmp_strncat_strncmp_strncpy_strpbrk_strptime_strrchr_strsep_strspn_strstr_strtod_strtodf_strtok_strtok_r_strtol_strtoll_strtoul_strtoull_strupr_strxfrm_swab_symlink_sync_sys_errlist_sys_nerr_sysconf_syslog_system_tan_tanf_tanh_tanhf_tcdrain_tcflow_tcflush_tcgetattr_tcgetpgrp_tcsendbreak_tcsetattr_tcsetpgrp_telldir_tempnam_time_times_timezone_tmpfile_tmpnam_toascii_tolower_toupper_truncate_ttyname_tzname_tzset_ualarm_umask_umount_uname_ungetc_unlink_unsetenv_usleep_utime_utimes_utmpname_vfiprintf_vfork_vfprintf_vfscanf_vfscanf_r_vhangup_vprintf_vscanf_vscanf_r_vsnprintf_vsprintf_vsscanf_vsscanf_r_wait_waitpid_wcscmp_wcslen_wcstombs_wctomb_wprintf_write_writevabortabsacceptaccessaclaclcheckaclfrommodeaclfrompbitsaclfromtextaclsortacltomodeacltopbitsacltotextacosacosfacoshacoshfalarmalphasortasctimeasctime_rasinasinfasinhasinhfatanatan2atan2fatanfatanhatanhfatexitatofatoffatoiatolbarflybcmpbcopybindbsearchbzerocabscabsfcalloccbrtcbrtfceilceilfcfgetispeedcfgetospeedcfsetispeedcfsetospeedchdirchmodchownchown32chrootcleanup_glueclearerrclockcloseclosedircloselogconnectcopysigncopysignfcoscosfcoshcoshfcreatctermidctimectime_rcuseridcwaitcygwin32_attach_handle_to_fdcygwin32_conv_to_full_posix_pathcygwin32_conv_to_full_win32_pathcygwin32_conv_to_posix_pathcygwin32_conv_to_win32_pathcygwin32_detach_dllcygwin32_internalcygwin32_posix_path_list_pcygwin32_posix_to_win32_path_listcygwin32_posix_to_win32_path_list_buf_sizecygwin32_split_pathcygwin32_win32_to_posix_path_listcygwin32_win32_to_posix_path_list_buf_sizecygwin32_winpid_to_pidcygwin_attach_handle_to_fdcygwin_conv_to_full_posix_pathcygwin_conv_to_full_win32_pathcygwin_conv_to_posix_pathcygwin_conv_to_win32_pathcygwin_detach_dllcygwin_dll_initcygwin_internalcygwin_logon_usercygwin_posix_path_list_pcygwin_posix_to_win32_path_listcygwin_posix_to_win32_path_list_buf_sizecygwin_set_impersonation_tokencygwin_split_pathcygwin_stackdumpcygwin_umountcygwin_win32_to_posix_path_listcygwin_win32_to_posix_path_list_buf_sizecygwin_winpid_to_piddifftimedirfddivdlclosedlerrordlforkdll_crt0__FP11per_processdll_dllcrt0dll_entry@12dll_noncygwin_dllcrt0dlopendlsymdrand48dremdremfdupdup2ecvtecvtbufecvtfendgrentendhostentendmntentendpwentendutenterand48erferfcerfcferffexeclexecleexeclpexecvexecveexecvpexitexpexpfexpm1expm1ffabsfabsffaclfchdirfchmodfchownfchown32fclosefcntlfcvtfcvtbuffcvtffdopenfeofferrorfflushffsfgetcfgetposfgetsfilenofinitefiniteffiprintffloorfloorffmodfmodffnmatchfopenforkfpathconffprintffputcfputsfreadfreefreopenfrexpfrexpffscanffscanf_rfseekfsetposfstatfstat64fstatfsfsyncftellftimeftruncateftruncate64fwritegammagamma_rgammafgammaf_rgcvtgcvtfget_osfhandlegetcgetchargetcwdgetdomainnamegetdtablesizegetegidgetegid32getenvgeteuidgeteuid32getgidgetgid32getgrentgetgrent32getgrgidgetgrgid32getgrnamgetgrnam32getgroupsgetgroups32gethostbyaddrgethostbynamegethostnamegetitimergetlogingetmntentgetmodegetpagesizegetpassgetpeernamegetpgidgetpgrpgetpidgetppidgetprotobynamegetprotobynumbergetpwduidgetpwentgetpwnamgetpwnam_rgetpwuidgetpwuid32getpwuid_rgetpwuid_r32getrlimitgetrusagegetsgetservbynamegetservbyportgetsocknamegetsockoptgettimeofdaygetuidgetuid32getutentgetutidgetutlinegetwgetwdglobglobfreegmtimegmtime_rgrantpth_errnoherrorhstrerrorhtonlhtonshypothypotfilogbilogbfindexinet_addrinet_atoninet_makeaddrinet_netofinet_networkinet_ntoainfinityinfinityfinitgroupsinitgroups32initstateioctliprintfisalnumisalphaisasciiisattyiscntrlisdigitisgraphisinfisinffislowerisnanisnanfisprintispunctisspaceisupperisxdigitj0j0fj1j1fjnjnfjrand48killkillpglabslacllchownlchown32lcong48ldexpldexpfldivlgammalgamma_rlgammaflgammaf_rlinklistenlocaleconvlocaltimelocaltime_rloglog10log10flog1plog1pflogblogbflogfloginlogoutlongjmplrand48lseeklseek64lstatlstat64mallocmatherrmblenmbstowcsmbtowcmemccpymemchrmemcmpmemcpymemmovememsetmkdirmkfifomknodmkstempmktempmktimemmapmmap64modfmodffmountmprotectmrand48msyncmunmapnannanfnextafternextafterfnicenrand48ntohlntohsopenopendiropenlogpathconfpausepcloseperrorpipepollpopenposix_regcompposix_regerrorposix_regexecposix_regfreepowpowfprintfpthread_atforkpthread_attr_destroypthread_attr_getdetachstatepthread_attr_getinheritschedpthread_attr_getschedparampthread_attr_getschedpolicypthread_attr_getscopepthread_attr_getstacksizepthread_attr_initpthread_attr_setdetachstatepthread_attr_setinheritschedpthread_attr_setschedparampthread_attr_setschedpolicypthread_attr_setscopepthread_attr_setstacksizepthread_cancelpthread_cond_broadcastpthread_cond_destroypthread_cond_initpthread_cond_signalpthread_cond_timedwaitpthread_cond_waitpthread_condattr_destroypthread_condattr_getpsharedpthread_condattr_initpthread_condattr_setpsharedpthread_continuepthread_createpthread_detachpthread_equalpthread_exitpthread_getconcurrencypthread_getschedparampthread_getspecificpthread_joinpthread_key_createpthread_key_deletepthread_killpthread_mutex_destroypthread_mutex_getprioceilingpthread_mutex_initpthread_mutex_lockpthread_mutex_setprioceilingpthread_mutex_trylockpthread_mutex_unlockpthread_mutexattr_destroypthread_mutexattr_getprioceilingpthread_mutexattr_getprotocolpthread_mutexattr_getpsharedpthread_mutexattr_gettypepthread_mutexattr_initpthread_mutexattr_setprioceilingpthread_mutexattr_setprotocolpthread_mutexattr_setpsharedpthread_mutexattr_settypepthread_oncepthread_selfpthread_setcancelstatepthread_setcanceltypepthread_setconcurrencypthread_setschedparampthread_setspecificpthread_sigmaskpthread_suspendpthread_testcancelptsnameputcputcharputenvputsputwqsortraiserandrandomrcmdreadreaddirreadlinkreadvreallocrealpathrecvrecvfromrecvmsgreent_dataregcompregerrorregexecregfreeregsubremainderremainderfremoverenamerewindrewinddirrexecrindexrintrintfrmdirrresvportsbrkscalbscalbfscalbnscalbnfscandirscanfscanf_rsched_get_priority_maxsched_get_priority_minsched_getparamsched_getschedulersched_rr_get_intervalsched_setparamsched_setschedulersched_yieldseed48seekdirseekdir64selectsem_destroysem_initsem_postsem_trywaitsem_waitsendsendmsgsendtosetbufsetdtablesizesetegidsetegid32setenvseteuidseteuid32setgidsetgid32setgrentsethostentsetitimersetjmpsetlocalesetlogmasksetmntentsetmodesetpassentsetpgidsetpgrpsetpwentsetrlimitsetsidsetsockoptsetstatesettimeofdaysetuidsetuid32setutentsetvbufsexeclsexeclesexeclpsexeclpesexecpsexecvsexecvesexecvpeshutdownsigactionsigaddsetsigdelsetsigemptysetsigfillsetsigismembersignalsignificandsignificandfsigpausesigpendingsigprocmasksigsuspendsinsinfsinhsinhfsiprintfsleepsnprintfsocketsocketpairspawnlspawnlespawnlpspawnlpespawnvspawnvespawnvpspawnvpesprintfsqrtsqrtfsrandsrand48srandomsscanfsscanf_rstatstat64statfsstrcasecmpstrcatstrchrstrcmpstrcollstrcpystrcspnstrdupstrerrorstrftimestrlcatstrlcpystrlenstrlwrstrncasecmpstrncatstrncmpstrncpystrpbrkstrptimestrrchrstrsepstrsignalstrspnstrstrstrtodstrtodfstrtokstrtok_rstrtolstrtollstrtosignostrtoulstrtoullstruprstrxfrmswabsymlinksyncsys_errlistsys_nerrsysconfsyslogsystemtantanftanhtanhftcdraintcflowtcflushtcgetattrtcgetpgrptcsendbreaktcsetattrtcsetpgrptelldirtelldir64tempnamtimetimestimezonetmpfiletmpnamtoasciitolowertouppertruncatetruncate64ttynamettyslottzsetualarmumaskumountunameungetcunlinkunlockptunsetenvusleeputimeutimesutmpnamevfiprintfvforkvfprintfvfscanfvfscanf_rvhangupvprintfvscanfvscanf_rvsnprintfvsprintfvsscanfvsscanf_rwaitwait3wait4waitpidwcscmpwcslenwcstombswctombwprintfwritewritevy0y0fy1y1fynynf,h@P`p(@Pdt,8P`p ,<Xl$<\p8Ph $8Xd|0DXl,H`x (8LXh$4@Tp 0P`p $4P`l(8H\p(8H\l|(4LP`p(@Pdt,8P`p ,<Xl$<\p8Ph $8Xd|0DXl,H`x (8LXh$4@Tp 0P`p $4P`l(8H\p(8H\l|(4LBackupReadBackupSeek BackupWrite BeepClearCommBreakClearCommErrorCloseHandle CompareFileTime#ConnectNamedPipe)CopyFileA.CreateDirectoryA2CreateEventA5CreateFileA6CreateFileMappingA@CreateMutexABCreateNamedPipeADCreatePipeECreateProcessAHCreateSemaphoreAKCreateThreadVDeleteCriticalSectionXDeleteFileA]DeviceIoControl_DisconnectNamedPipebDuplicateHandleeEnterCriticalSectionEraseTapeEscapeCommFunctionExitProcessExitThreadExpandEnvironmentStringsAFillConsoleOutputAttributeFillConsoleOutputCharacterAFindCloseFindFirstChangeNotificationAFindFirstFileAFindNextChangeNotificationFindNextFileAFlushConsoleInputBufferFlushFileBuffersFlushViewOfFileFreeConsoleFreeEnvironmentStringsAFreeLibraryGetACPGetCommStateGetCommandLineAGetComputerNameAGetConsoleCPGetConsoleModeGetConsoleOutputCPGetConsoleScreenBufferInfoGetConsoleTitleAGetCurrentDirectoryAGetCurrentProcessGetCurrentProcessIdGetCurrentThreadGetCurrentThreadIdGetDiskFreeSpaceAGetDriveTypeAGetEnvironmentStrings GetEnvironmentVariableAGetExitCodeProcessGetFileAttributesAGetFileInformationByHandleGetFileSizeGetFileTimeGetFileTypeGetFullPathNameAGetLastError!GetLogicalDriveStringsA#GetLogicalDrives'GetModuleFileNameA)GetModuleHandleA2GetNumberOfConsoleInputEvents4GetOEMCP5GetOverlappedResult6GetPriorityClassAGetProcAddressGGetProcessTimesTGetStartupInfoAVGetStdHandle^GetSystemDirectoryA`GetSystemInfobGetSystemTimedGetSystemTimeAsFileTimeeGetTapeParametersfGetTapePositionlGetThreadContextnGetThreadPriorityrGetTickCountuGetTimeZoneInformation{GetVersionExA}GetVolumeInformationAGlobalAllocGlobalFreeGlobalLockGlobalMemoryStatusGlobalUnlockInitializeCriticalSectionInterlockedDecrementInterlockedExchangeInterlockedIncrementIsBadReadPtrIsBadStringPtrAIsBadWritePtrLeaveCriticalSectionLoadLibraryALoadLibraryExALocalFreeLockFileLockFileExMapViewOfFileMapViewOfFileExMoveFileAMoveFileExAMultiByteToWideCharOpenEventAOpenFileMappingAOpenMutexAOpenProcessOpenSemaphoreAOutputDebugStringAPeekConsoleInputAPeekNamedPipePrepareTapePulseEventPurgeCommQueryDosDeviceAQueryPerformanceCounterQueryPerformanceFrequency ReadConsoleInputAReadConsoleOutputAReadFileReadProcessMemory!ReleaseMutex"ReleaseSemaphore#RemoveDirectoryA'ResetEvent(ResumeThread-ScrollConsoleScreenBufferA3SetCommBreak5SetCommMask6SetCommState7SetCommTimeouts=SetConsoleCtrlHandler@SetConsoleCursorPositionJSetConsoleModePSetConsoleTextAttributeQSetConsoleTitleAUSetCurrentDirectoryAYSetEndOfFileZSetEnvironmentVariableA\SetErrorMode]SetEvent^SetFileApisToANSI_SetFileApisToOEM`SetFileAttributesAbSetFilePointerdSetFileTimefSetHandleInformationiSetLastErrornSetNamedPipeHandleStateoSetPriorityClasstSetStdHandlevSetSystemTimexSetTapeParametersySetTapePosition{SetThreadContextSetThreadPrioritySleepSuspendThreadSystemTimeToFileTimeTerminateProcessTlsAllocTlsFreeTlsGetValueTlsSetValueTransmitCommCharUnlockFileUnlockFileExUnmapViewOfFileVirtualAllocVirtualFreeVirtualProtectVirtualQueryWaitCommEventWaitForMultipleObjectsWaitForSingleObjectWaitNamedPipeAWideCharToMultiByteWriteConsoleOutputAWriteFileWriteProcessMemoryWriteTapemarkKERNEL32.dlla#=a#=0a#= HX4VS_VERSION_INFO  ?.StringFileInfo 040904B00CompanyNameRed Hat`FileDescriptionCygwin POSIX Emulation DLL.FileVersion1.3.128 InternalNamecygwin1.dlll$LegalCopyrightCopyright Red Hat, Inc. 1996-2002@ OriginalFilenamecygwin1.dll.ProductNameCygwin2ProductVersion1.3.12&APIVersion0.544SharedMemoryVersion3PRegistryKeyCygnus Solutions\Cygwin>BuildDate2002-07-03 16:42DVarFileInfo$Translation 000912J22B34454?4N4U4p444444444444555*565@5O5_5g5o5y555555555555666,6;6@6P6X667/7H7N7]7777?8L8R8`89999:7:j::::B;;;;;;;;; 6>\>t>>????? 0000000 1!111l111122223344R5b5j5555a789,979Y9i9q9}9999 :I:::O;;;&3>C>K>c>>>>>>>>>?#?+?c?s?{?????050R0m0000111.2A2Q222333/44*6C6S6[66R7g7n7~77+8;8C89e9999999{:::::;(;0; <@>G>W>q>|>>>>>>L?[?k?s??@t 0i00282X224?4F4V44444555666677,747A7P7`7h777777799r::::<<<<<2=====>?P$00)0>0M1S1a1D22222o333k4w44444444444(5N5`5g5y5555555556 6.636;6F6Q6c6t6z666667(737D7I7Q7\7h7r7{777777778C8R8888888 9c999999::":?:T:h:p:u:::::::;Q;q;y;;;;<)<<<<<<,=8=^=h=r={====>#>@>_>u>>>>>>?6?V?^?j?p???`0#0)0.070=0V0o0Y1i1y111111 22#282D2P2Z2o2222222343?3O3W3r33334425J557777#868>8X88888888899999#9-929<9F9K9P9Z9_9i9p9v9|9999 :#:>:K:j:q:::::A;G;l;;; <1>G>O>C???????p000$030C0K0`0p0x0001#1+1l11}2222223}555555"646D6L667 7$747I7\7d777778,888999`9999 :N:`:m:x:::;O;;<|<<=>>3>C>K>[>w>??*?2?D?q???A0F0M0Y0g00000000J1_1k234d5t5|5555677k88999999::Q:y:::::::::::;;!;&;/;6;W;;;;;)<-=S=c=k======>?b0000011T2!34\444455556 66-6Q6s666q788888888888888888888888999 99999999;;;1>e>u>}>P?j?~??????00080H0P00001111111122222'3<3L3T3344V4k4{444F5T55555J6z66666J77777788C9999999(:^::::>;;<#<3<<< =<=M=]=e=>>>>?#?3?;?o??0001121C1S1[1<2Q2g2o222244(444>4I4\4d4T5\5u555555666/67667C7V7^78899:N:T::::c;;<<%<9>!>*>=>B>Q>a>i>s>>>>,?7?G?O?f?q???00!0,0<0D0V0v001W2s222233(30333444v44444444e5j5555555666]7e7m7u77$818:8K8Q8\8b8t8{8888E9v992:y:::::;E;};;==== >>+>3>????|0 0p0000011F1V1^12C3333 4$4:4B4Y4t44:5J55555 6=66666666777777788%81888H8P888 99!9t<7<<<@>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>e>o>y>>>>>>>>>>>>>>???#?-?7?A?K?U?_?i?s?}?????????????? 000'010;0E0O0Y0c0m0w000000000000001 11!1+151?1I1S1]1g1q1{11111111111222%2/292C2M2W2a2k2u222222222222223 333)3: ; ;E;O;Y;c;m;u;|;;;;;;;;;;<-<5<<>>> ?P?W?~???J1{1111111111222%2N3d3j333344v44 55.565H5[5v5555*797D77778%8-8C8I8k8{888888899n9~999999999::: ;;-;5;N;;<<<<='==========z>>>>>>>?000011>1M1u1z111123 3+3@3F3R3]3c3h3333333394I4444444565D6x6666666 7777@7899"9999999 ::$:/:?:G:W:::::#;/;V;v;;;;;;<<>&>c>???? 020B0J0_0y001111/1g1t1y1111r22(3Q3b33333334 484C4S4[4q44444"515A5I5Q5]5556&6.6666667#707=7V7a7q7y78888889 9/9K9P9U9e9u9}99999999999:::::::::;;;;;<<>.?:?O?f?n?}?????????000070<0C0K0S0[0h0u000000000001$1.191>1J1O1V1]1c1n1v11-272O2T2X2\2`2d2h2l2p2t2x2|2222222222 333(3333384g445555 66b6w6::;';/;<<===(=0=7=s===e>>>>??????@0001"12222f34444445@5T5l5|55566618M8]8e88 99H9W9b9r9}999999;;<>??P%0.0M0]0e000O1c1y111111z22222 32393I33344414<4L4T4r446666G7V7f7n7 8R88888888n9t9x9|999999999999::a:::::;2;R;r;;+<<=a==>g>v>>>?Z?i?y??` 050E0M000001111:2O2w2~222222r333333Z44445556 6i666Q8s8x888/9T9d9l999999999;>;W;g;o;;; <<=>>>>???px00b0q0000000$1T111222'245555u66\7~77#828B8J8T8k8{88 9h99:::/:7:M:K>c>>>6?l?s????D2223333334$4,44g55556+7J7]7g7789&9.9S99: [0`0d0h0l0p0t0x0|000000000000000000000000000000000111 11111 1$1(1,10141`1d1h1l1p1t1x1|111111111111111111111111111111111222 22222 2$2(2::::::::;;<<<<q????????????????1`2i22223383?3O343484<4@4D4H4L4P4T4X44444477 8878J8V8d8z999;;<<<<<< ==$=4=<=>>>>>>>???.?6?H0M1.222 3G4P4s444R5[5q555F6p666I77v;;;;p<<>>?F?C0L0c0s0{00#141F1V1^11112222N33445566666 727 838N8c88t99999:::::<;<<<<<=Q=>>>??S?\22{33333334 4#464E4f4v4~4:(:v::;;;[;~;4Y4c4i444 55558h8@99::;V;^;w;;;;<<<<<<>D>>>>>>>>>>> ??c?r????????,040r0}00000000001R1a1q1y11111112>2J3h3t333333333z445F667798q:|:::::;;;;;%>>>>??00001(1S11112s22222222.3^33344x4444444455 6C6X6h6{66p77777777 88888@9D9H9L9P9T9X9\9`9w::=>c0n00001-282^2n2v2344 55+5G5W5_555677777 888889(9|9999:.:::::;;; ;;;;; ;$;(;,;J;P;T;X;\;`;d;h;l;p;t;x;|;;y<<=> x0l1v1111T3%515@5P5X55]67a8p8t8x8|888888888888888888888899:::::;;a<====>0+0k0{00011'1t111112222 2$2(2,2024282<2@2D2y223474G4O4o44444566788&8.8:9T9g9o9::;;=X===>???K?e?u?}??@d'002O3Q4a4x4444444444525A5Q5Y5h5w5555556Q8~8'9:<-=> ?3?R?c?v??????Ph.002o33333344a56777177b8w88888=9{9999 :":7:::;;;;d<>>>>U?h???`"01122243D3L333333D4T4\4s44445)51566)61666677'868F8N89::::; ;A;;;;;;;< <7#?3?;?pph1#2,2H2X2`222224585H5P5_5p555 66"678s88888899999P:_:r:z:1;l;|;;">4>D>L>>>???G0g112A2222)363335!5(585[5556666666677:8c8s8{88888U:^:s:::::::;;F;V;^;k<<<<='=/=R=a=q=y=========[>>>>#?U?w????a111111 22V2_2p2u2222233334.4A4I44j666667m7z777778889K:q::;(;8;@;f>>>>>>,??????00001111O22222222334444}5555555636=7J7O7W7_7l7%8O889#9+99::':,:4:<:I:X;(<<<====>>>!>)>6>?-0000]1m1u111111112s333344!41494D44&555E5M5a5666&6.696667$7(7,7074787d7t7|77777777,898>8F8N8[88899y:::::;;< <<<<=>M>e?111 22C2Z2j2r223334\44444c5v5~55556u6k7777778*818l8q88888889 90989C9R9b9j9v999*:U:s:::: ;;.;;<.3>;>u>>>>>>>>>>>!?>???00W1p11122333k44445<5V5q5z55555666&606T66S77E8:o;;;$T>t>}>>>>>>??$?,?C?d?y????????? 020;0P0W0g00000001 11.161C1L1c1s1{1Z334B4M4]4e444444445 5617I7c777Q888A99 ::!:0::::::::;;#;3;;;J;Y;i;q;{;;;;;;;;+<;J>>>Z???E061g1*2D2222223J344-454[4k4s44b55 666a6{666j99999%:6:c:j:z:::::::;#;+;C;S;[;s;;;;;;;;< <5>)???? \111222R2r2U3y333/4M44%5a555666667778899:v;;<>>?0000:1M133j4,6C6S6[66667+8m8888888 9#979J9R9z;;;;;L<\=N=V=d=t=|====>)>9>A>j????????@030C0S0[0l0u0000022233$383J3\3333334J4V4n444444444 55&52575G5O555566>6I6N6`6g6o66&9D9\9999::!:3:h::;/;5;Q;w;;;<><<===== >>>&>^>f>r>z>>>>>>>?>?G?S?a?o?????P00#030o0x0000+171G1O1^1h1t11111112%2P22222222N3^3f3333333444=55556$6,686H6P6Z6e666667 7'74797A7I7V7w7k8888 99'979?99999::G:T:Y:a:i:v:::::::e?`X0%4l6z66`7777&8========>>>>>>?#?A?H?n?x??????????p00<0F0^0y0000 11%111A1I1Q1_1o1w1111112233$333?3O3W3_3q333333333444%4,434;4A4G4M4R4X4`444445C5T5`5555556636<6L6]6f66667'787W7x777777-8=8I8Q8x88888999_::;K;[;c;<<<< ='=?====9>G>L>R>g>????0[0k0s000000011V1i1x11111111a2r2222"3333333 44444Z555K6[6c666:7@7I7O7U7_7e7777777777777R8z88888;b>+><>W>n>u>>>>>?#?G?Q?u??TI1/2<256777:';.;7;:<<=5=U==> >)>3>F>U>>>>>>> ?(???????h0z000000011'1,1N1Y1k1111)2/22223R3333[66 77#7a799 ::#:J:;;;>q>|>>>;22m4445 5%555=5S5^5t506E66Y7c777o88888899%959=9s9:::@;S;c;x;;;;;;<#<+<{======= >>>4>B>R>Z>>>>>>> ??1?A?I????0001&1.1K1V1_1h1}111122!202@2H222233'323B3J3X3q3y33334M66"7?7i7q777777888.868J8Z8i8y888 9K9t9999:;u;~;;;;;<<<'<7)>}>?"?9?I?Q?????|00P0`0h00000000012%2-223333e4444Z555555556666d8;;;;u<|<<<>>>>?)?5?A?k?w?????0000$1s11122222#333;3f4444455556666666/77777u88888S9c9k9:':/:7:?:::::::;;;;;&;+;1;6;=;C;H;O;T;[;`;k;p;u;`>>>????v0000 1M111112 222&2B2R2t233Q333333 44455555 6666 77 888(838<8G8i8q8888 99:::::::::::::::::::::::;{<4>i>>>>>4?? \ 01B20334456666778_8S::(;;<<==#>;>J>>>>>> ?!?7?D?I?Q?Y?f??0000000N1g1t1y11115283333384F4Y4a4~44444445606<6K6a6s66667E8L8t8{888888 9#9,9[9k9s99999999::&::::::::: ;;!;*;C;S;[;;;;;;;;;;;;<<(<0@03334"4*4?4D4445505:5B5c5555555556 66#656=6L6c6m6666666666777*7;7G7h777[88889'929A9M9]9e9m9y9999999::::":):3:::E:J:P:V:\:b:j::::::;2;D;U;^;;;;;<)<2?>K>l>>>>?)?2?S?o???P1%111R1o11111222<2X22223(393B3c3333s444445@5Q5]5x555555567X7;8l888E9Z9m9u99999;;;E; =E=U=]=,>Z>j>r>>`H0~2e33r45666777781898]8~8885<====>>>">??p0M0g00000011-1;1h1111 2t2222222_33304D444?55566277V88899-9?9O9:;;;<<<===Q=l=??0`0N1c1s1{11111}3333 44$4B4Z4444444 5 5(5I5Y5g5n555556y6~6687X79n999 :`:o:::::::B;<<<<<>>>? ???(?>?Y?i?q?????,0P000001222g3v333555556 6068666666_7u7}7777(8R8f889@9K9f9n9}9999O:c:}:::::::;;K>(>0>?>K>c>u>>>?/?7?F?R?m??????T00>0.12+2P2q334!5:5B5`6699:0::P;;;;=====%>>?#?3?;?W??j00000L1n1111}22233*323`333333j44G55556p7789999;;C;c;k;;;;-,>0>4>8><>@>>>w0011111112 2~222222 333S4s4z4444441555667 8o888888999999 :::>:e:w:::; ;];;;2k>>n?B2I233@3P3X3m4>5I5q55555D6W6_6677C7H7X7d7p777777 8$818888888 9919<999:::g;;/s>>1???00%03090F0V0^0z001 22222.3 444*40444x55555D77777858E9|999999:::$;A;;;;;<)E>>?$x0002"2i2334 444(4333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4F556F91>>F?Q???p\C0]00V112Z23^34y6Z888"9V9l9t99999~;;;;;<$>B>R>Z>>>>? ?3333566666"717A7I77777777777888 88888 8$8(8,8084888<8@8D8H8L8P8T8X8\8k8999:::::;2;A;T;\;{;=3=*?`?}????????000)040D0L0Z3r34666666(7777777777777777888 88888 8$8(8,8084888<8@8D8H88;99 :h::::<]<<~=>>>0?[??300'11922V3315556666777777?8888889'969M9o9w9x:::::;*;O;d;t;|;;;;;;;;<<*<2<<@=I=p=======>?"?1?9?G?O?]?e?s?{???????????` 00"0*0000011123334Z444455/5B5J5e5 7Q8x9m::::::;;8>Y>l>y>??` 00Z000001&1.1A112$424f4v46667707H77 858J8_8t8888:;;;;;9<>>>>00 11112U2d2t2|22222#3,3333334 4#434;4L4\4d4t46678W889C9S9[9 :Q:s::::::;;;-;=;L;\;d;;;;;;<\A?P?c?k????????`00#0+0B0T0d0l0z0000 1a1233344444 66777777888:8+99;; <)y112/272H2[2c2~222222223x33333344!4/454B44444S555555 6666784999K:Z:m:u:::::::::;;;4;D;L;c;y;;;;;;;<$<,<6>>>>>>???? C1I11$2S2222223 303L3S3c33333344C4f4v4~445 5535J5Z5b55555666667$747<777@8G8N8]88H9O9p9w9~99R:n:~::::::::1;y<<=3====B>I>>??000[0{00000+1?1O1W12222t3{3j44445;5K5S556/6D6T6\6i6{6666666,7>7N7V777777%858=8f8v8~8889#9+979B9R9Z999::::);;;;?%>->D?K???@0011232J2{22 333 44 434C4K4m4t44444445#595A56f666666 7)7P7x7777777777 88#8<8Q8X8h8}888888S:v;;;;;;<#<,=F=e======= >>">0>@>H>Y>i>q>@?K?_?g?}?P00000011 131C1K11111 22222J3Q3X344S44444585B5R555M6y667)7777778 8889::::::8;?;Y;;;;<<">*>8>?>P>X>s>>>>>>>>>u????`0o001z1 2O3^3s33333 44:556 6%656=66777788\8}8:999999:;;I<<<<4===K>[>q>>>>>>>>>? ?1????p"2Z2~2222222A3M3c3s3{334444V44445#5+5G5T5Y5a5i5v55566$6,6C6S6[667#737;7V7q7788888949D9L9Z999.:G:]:i::::;;;;;;;;<<<<>&>@>>>>>>???R?a?z????????f0k0s0{00Z1u111111H2o22222x333333X4c4z44445535C5K5a555X6+787N7^7f7777777788"878G8O8k8s8{8888]9f999== >#>6>>>O>k>t>}>>>>?'?;?O?c?w?????????00&060U0\0l00000011'1/1>1F1U1e1m11111172J2R2}22222222 33!3A3S3c3k3w33333333333 4484E4T4Z4`4f4l4r4{4444444444444445,5?5G5h5x55555555556 6#636;67(717C7S7[7g7o7777777788C8M8T8k888888888899/9n9~99999999k:}:::::::;;;;;M;<<%>5>>>N>^>f>r>>>>>>>>>>>1<1H1_1i1r111111*2@2H2a2t2|222!3E3N3W3p333333314D4L4q4z44444444"5*505?5D5J5P5]5f5s55555662676C6[677?7D7K7U7b7m7r7777778l8|8888889 9 90989Z9j9r999999::;;;;<%<1<@t>> ??#?8?H?P???P)090A0111122>2H2j2t2222222233#3+3E3T3j3o3t3~333334@4j4~44444405R5a5q5y55555556"626:6S6c6k6~6666666667&7.7<7L7T7`7q7v7777777777788!818:8B8Z9r9z9999999:.:<:F:\:l:t:::::::::;;;;&;A;M;[;f;;;;;;;; <<.<6<\<<<====K==> >>>&>>???1?:?B?g?p???111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|111111111111111111111111111111111222 22222 2$2(2,223+6C6x666666777h88889z:S;i;q;;;;;;;<>223334L556667G7Z778I8i88999999999:!;_;};;;;; <<(>0>:>w>>>>>>???2?:?Z?e?????0 00-0J0R0y000<1L1T111|222]333333344450555 66L7a778u88889>99999):=:I:]:::;;B;K;];m;u;;;;;;;;;;;< <#>6>>>0W1\1c1m1r1w111111111111111(3o3y3333333344"4-4;4Z4z444444444h6t666667:7G7Y7e777M88:v::,3C3M3k3333j444B6666667B7N777 8+8G8999Z:m:u::::::;!;*;<;L;T;p;;;;=N=V======>>>1>W>d>i>q>y>>??#?3?;?????0$040=0S0Y0i0q000011A2P2b2j2r22223-3D3j3x3333+4=4O4a4t4}444'555555666!6)66667+7777777$8S8y88888889,91999A9N99;5;R;;;; <<<<=C=S=[=x======.>Y>n>>>>t???????? ]0s0000K1Y1i1q1111111111=222 33)313N3[3`3h3p3}3v444:5M5\5~5555555@67Y7o7777;8K8S8a8p8888888888888 99999:::`:j;;7=K=P=X=`=m==7>D>I>Q>Y>f>>>?K?P?X?`?m?0]000K1Y1i1q11112 20282Q2`2p2x22222223v333#464>4}4H55555555567277777778{888888888 9999+9!:::K;Y;l;t;;;;;;;<>!>)>G>T>Y>a>i>v>@010c0p00000011111 2222#333;3W3d3i3q3y33+4A444445 555&555)666"7S7777777888Z9j9r999 ::!:J:S:e:u:}::::::;<8<@<[<<<=&=<=D=Y=i=q==">f>>>>>>>????P000000 181111111;222(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|4444444444445'5B5T5o555556N6T6X6\6`6d6h6l6p6t6x6|666666666666666666666666666666666777 77777 7$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7x7|777777777777777777(8X888919b9~99:::::;;`;o;;;;;;<<<"<1A>W>o> ??;???`00!0>0O0W0_0j0~00=1111;2N2V223&3<3I3N3V3^3k3.4444 5(5>5K5P5X5`5m586G6k6y666617w788889(959:9B9J9W9y99B:W:::::::;^;;;;J>>>>>>W?d?i?q?y???p.070<0D0L0Y0y00;1M11111111"2B2]4m444455555 6I6i6y666666667O777777777r8888888;9T99: :>:H:T:d:l:z::::::; ;(;3;B;;;;;;;<$<,>!>z????Y0a0000V1f1n1111111282M2]2e2w22222223E3P3333444&444445 555&5J5555556K667 777&7J7N8[8`8h8p8}82999#::G;T;Y;a;i;v;<$>)>1>9>F>>>3?A1N1S1[1c1p11102=2M2Z2_2g2o2|222273D3I3Q3Y3f333Z4j4r444444444444*5@5T55&676D6I6Q6Y6f6677L7Z7777777 888888:9G9L9T9\9i999999999:::::;;; ;;;;; ;u;;6c>s>{>>I0Q0a0s00011113334414444444444X5555555555555<6f6666 7757P77777@8O8_8g8w888888888899'9/9?9G9W9_9x9::::;;/;C;S;[;;8>>?#?3?;?o0u011!1<1J1Z1b11111o2u22223#363>3W3b3r3z333444 55)515555636C6K6667777*86888*969;;;J>>>>I?????|00#0+0@0P0X0w0343D3L3c3v333333p45[77777K8888899;;K;S;e;u;};<<<< ==#=3=;=Z=>>2?>?G?W?_??`E000w112(2222(3M33344'5666 77#737;78L888#99:;;<<<)<1>`?q?0080m000000 113H3x34:4x4H99B<=@11222233323B3J3a3q3y356W6=1>P???????x001*1e1111122Q2Y2>3U3h3p33345z555555558888 ::+:>:F:w::;/;E;T;l;;;; <<<<>00001191s1111 22:2D2W2222V3`3333344465I5q55555566666@7O7_7g7g9:9:m:}::::::::::I;Y;a;;;;;;<<{<<<<<<<<<<=!=1=9=j==>>>>? ?#?3?;? 0+0C0S0[0q0z0000111222+2W2b2r2z222222 33"34445"5;5\5e5y5555555 66.6N6n6666777 8;8P8|8888999: ::(:0:w:::::::::;8;G;m;;;;;;<"<2<= >V>>>>>> ?^??00`0o000000011m1x1111111 2%2;2C23+393R3c3q3z3G4Z4495S5_5l5'66666,777R7b7w777777 8;8888888$929g9q9y9G:S::::);;;;;;;(?????????????????????@000 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|000000000000000000000000000000000111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|111111111111222r2}22222223*383O3X3i33333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|444444444444444444444444444444444555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|55555555555555555555.6M6^66666666667"7'757_77788899999`:d:h:l:p:t:x:|:::::::::::::::::::::::::::::::::; ;;%;Q;b;m;u;;;>+?Pz0002223333333344&4444445I5Y5a5v5555555555g6t6y6666?7D7[7777777777 808]8b8z8888889 9a999:9:f:t:y:~:::::;G;W;_;y;;;;;;+&>B>S>Z>b>j>>>>>>> ??-?A?j?????????`T01111122:2@2r2x2~22222222333+353@3^3h3z333333334 444,444S4|444444444444888@8D8L8P8X8\8d8h8p8t8|888888888888888888888899 9999$9(90949<9@9H9L9T9X9`9d9l9p9x9|99999999999999::+:<:P::::::::;;;G;P;V;;;;;;;; t>>V??80011$22334 557777778888 8(80888C8R888888=99c:::>>>> ?q????A1O1W1_1g122222T333447878`8888999\999>>$>.>>>F>N>V>f>n>~>>>>>>? ???-?5?E?M?]?e?u?}??????\40E0M0U0]0m0u000000000001 11$141<1L1T1d1l1~1113333 44"4*4:4B4c44444444555&565>5N5V5f5n555666&666>6N6V6f6n6~666666666777.767F7N7`7j7}799: ::":*:2:B:J:Z:b:r:z::::::: ;;#;+;;;C;S;[;k;s;;;;<%<-<5<=>>> ??"?*?:?B?c????????000&060>0N0V0f0n00011 1(181@1P1X1h1p1111111111222.262F2N2`2j2}22333V33333L4v4445 5595r66667F7S7{777777788889D9L9g992::::: ;;;";*;:;;<=_>e>0001111262J2[2j22:3Z33 4C444444c555?66666 77*7778889Q9V9o999*:d::;W;m;;;;;< <<<<===>U>Z>w>>>=0]000B1u1{112d22223:333%4X4^444;55556C6I66637t778'8,8889e9w9|9::::;1;;<<;_>>>M?{???????t0 000!0)0S0]0 1,1~11122227 8889398999O:[::::;,;2;8;;*<<+=2=e=j==>k>>>>>R?X?^?? PM00A1z23F4z4*555{666U7778(88j999K::::=>Q>>>>N?~??? 30}00<111333333 4z4444444g66666666666677737U7f7x777777777888$848<8L8T8d8u888x9999999999999::<:Q:c:{::::::::::;;;';7;?;O;`;x;;;0<<=`=>>?!?-?5?B?O?_?g?w?????? 80E0h0p0x00000000011111222/272G2Z222223 3(303@3H3X3`3j3r3~33366L7~77777778%8-858E8M8[8k888888: ;?;G;f;r;;;;;;;;<<%<5W>]>h>n>>>#?2?W?????0 "1(191B111112=2L2c2r2X33394r44{5555555528888888 999:M:[:::: ;;K;S;nP T001399::':/:?:G:W:_:y:::I;<<<<===&=6=>=N=V=`=h=v====J>>` 00?1D1X1]1g1l133,4@4E4X4]4g4l4V5u55555555556z667777888&868>8N8V8`8h8v8888K99~:::: ;;!;&;"<'<<<<<<<<9>H>X>`>h>p>>>>>>>9??p 1(1Q1`1h1p1x11111112h2235$555555588888888899999:::*:2:B:V::;;<1>J?O?]?b?q?v? Lr0w000111'1,11{2333^444 555:668"9J9j99+:j:::<9=? @#0(0,0004080<0@0F0^0s000000 131b4444444444445555=5E5M5]5e5u5}55555555555 66"6.6:6F6R6^6j6t666666D7N7V7^7f7v7~77777777777778 888&8088888888889T9::;@;D;H;L;P;T;X;^;n;;;;;;; <3<(>h>p>x>>>>>>>>>>>?? ?(?8?@?P?X?h?p???????????? 00!0-090E0O0_0i0000$1.161>1F1V1^1n1v11111111111111122h2p2z22222222434444445>5555549l9x999999F:\:b:;$;3;R;`;n;v;~;;)>u> |1222%2-292y2c3o3}3333333F4d4j4444B55555555I6\6d6q6~6689I:j:H;X;i<|>>>"?5? p0$1,1M1U1]1e1u1}11111111b223334%4-454E4M4]4e4u4}4444%5L5]6>7D777:b:|<<=X>^?d??? 032z2V4r45556f6M7888w88:;;= 0111 222#3455 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|55555*777l9s9~999l::;=>>>>> X12222w33{4t8g::;z;;;; <*$>7>g> $1233374W555=7>a>7?? 01422w3~333M4f444V7777 8;;;;;<<< <<<<< <$<(<,<0<4<8<<<@9>C>o>>>?9? @112233333o55576888:s:w;;;Sp?x?0 ?0S0a0w001G1y1124!6667 77777 7$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7x7|777777777777777777777777777777777888 88888 8$8(8,8084888<8@8D8H8L8P8T8X8\8`8d8h8l84:::o;;> ?P ,0K00L11w2245R66(:<==>>` <d1122222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|44444444444444L5555555557 8;8n888888888999 99999 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9x9|999999999999999999999999999999999::: ::::.;.T>X>\>`>d>h>l>p>t>x>|>I?P?T?X?\?`?d?h?l?p?t?x?|????????????????????????????????? 000 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|00000000000171P1f11112O2x222$3f3334F4l444 545j555$6F66{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=== ===== =$=(=,=0=4=8=<=@=D=H=L=P=T=X=\=`=d=h=l=p=t=x=|=================================>>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>l>>?v? h|00%1,2u236D:::: ;=;R;`;q;;;;<<&<,<7C>d>>>>B?M?T?[??? LH01D1r1111222222233N333333 445R67777*9G99:B: <188;;F>>>>P?? $088899B:::;&>>>> <2 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|222222222222222222222222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444^5f5688;:g::;;<)^>>>>>?? !0,0f0u0&2,2024282<2@2D2H2L2P2T2X2\2 :(:::E:M::::::;;;;<<<<<< =W========>+>K>n>>>>[?{???? 0;0[0~0T<<=A=>Z>>?0 90*363D3N355}6677l88889Z:::K;;;Z<<< =!=(=`>d>l>p>x>|>>>>>>>>>>>>>>>>>>>>>>?? ??? ?$?,?0?8?+>D>c>z>>>9?S?o???P 8000 0$0(0,0004080<0@0D0H0L0P0T0X0\001*111"2i2c4h4l4p4t4x4|444444444444444444444444444444444555 55555 5$5(5,5N555]6v66677888888888888889 9999 9$9@9D9H9L9P9T9X9\9`9d9l9p9t9x99999999Q:c:j:::L;[;e;;;;;{<<>>>j?` 070o0001(2U222T333 4a4444!565566S6l666 8L8s8889H99?:X::==9>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>??=?V?a?i?u???????p h00%080I0b0r0000000001151H1Y1r112`2y222233M3u3334F444,55p666 77d7t7 |8888999 99999 9$9;;;;;;;;;;;;;;;;;;;;;;<<< <<<<< <$<(<,<0<4<8<<<@;>n>>>>.?[?~??? < 0.0[0~0000123(3t4x4|444444444444 (4080<0d03333L4P4T45555555555555555555666P6T6X6\6`6d6h6l6p6t6x6|66666666666666666666666666667777 7(70787@7H7P7X7`7h7p7x777777777777777778888 8(80888@8H8P8X8`8h8p8x888888888888888889999 9(90989@9H9P9X9`9h9p9x9999999999999999:: ::::$:(:0:4:<:@:H:L:T:X:`:d:l:p:x:|:::::::::::::@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;;;;;<<<<<<@=D=H=L=P=T=X=`=d=h=l=p=t=x===========================>>>>D> L111111111111111111111111111222 22222 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|222222222222222222222222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|444444444444444444444444444444444555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|555555588999 99999 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9l9p9t9x99999999999999999999999::: ::::: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:::::::::::::::::::::::::::::::;;; ;;;;; ;$;(;,;0;4;8;<;@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<< <<<<< <$<(<,<0<4<8<<<@>> >>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??? ??? ?$?(?,?0?4?8?>> >>>>> >$>(>,>0>4>8><>@>D>H>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??? ????? ?$?(?,?0?4?8?h>l>p>t>x>>>>>>>>>>>>>>>>>>>>>? ???X?\?p?t???????????0 0000,00040H0L0`0d0x0|000000000081@1H1P1X1`1h1x1111111111111111111111111222 22222 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|222222222222222222222222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3333333333333333333333333344 4,484D4P4\4h4t444444444444555(545@5L5X5d5p5|555555555556 66$606<6H6T6`6l6x66666666666677 7,787D7P7\7h7t7777777778 888$8,848<8D8L8T8\8d8l8t8|8888888899999999999999:::::::$:(:,:0:8:<:@:D:L:P:T:X:`:d:h:l:t:x:|:::::::::::::::;;;;(;,;<;@;P;d;x;;;;@ 44$404<4H4T4`4l4x44444444444455 5,585D5P5\5h5t55555555555 66$606P6T6X6\6`6d6h6l6p6t6x6|6666666666P T=\=d=l=t=|=================> >>>$>,>4><>D>L>T>\>d>l>t>|>>>>>>>>>>>>>>>>>? ???$?,?4?0K0W0d0p0}00000000000111,181E1Q1^1j1w111111111112 22&222?2K2X2d2q2}2222222222233 3,393E3R3^3k3w333333333334 44&434?4L4X4e4q4~4444444444455 5-595F5R5_5k5x55555555555666'636@6L6 00)0/0Q0W0i0o000000000!1'1A1G1i1o11111111122)2/2I2O2y22222222)3/3Q3W3y333333334494?4i4o44444444455A5G5i5o55555555566I6O6q6w666666666771777Q7W7q7w7777777778898?8Y8_888888899A9G9 $0 00%020>0K0W0d0p0}0000 $00!0'0A0G0i0o0000000 80 00"0,080B0N0X0d0n0z0000000000000 800!0'0I0O0i0o000000011)1/1Q1W1y1111 0 0 00 0 00$000<0H0T0`0l0 001070Y0_0y00000 |0 00#0.0:0E0Q0\0h0s0000000000000 11 1+171B1N1Y1e1p1|111111111111222(242?2K2V2b2m2y222@ |00!0'0A0G0a0g00000000011!1'1I1O1i1o1111111221272Q2W22222222233!3'3A3G3i3o3333333P 00!0'0A0G0a0g0000000000011)1/1I1O1i1o111111111 22)2/2I2O2i2o22222222233331373I3O3a3g3333333333344` <00!0'0A0G0i0o00000000011!1'1A1G1i1o111p 0 00%0 00!0'0 0 00"0,080 00!0'0A0G0 (0 00%020>0K0W0d0p0}000000 (000090?0a0g000000000 <0 00"0,080B0N0X0d0n0z000000000000011 <00)0/0I0O0i0o0000000001191?1Y1_1y1111 0$0-0b0t0}00000121D1l111282A2q222233V3h3q33334$4L4t4445<5t5555(6H66667T7777808\88889H9x999:@::::;H;p;;;;; / 1025816316 0 0 0 2922 ` rrrXXXlll!"!"!"###%%%("("("***,,,/^/^/^1114@4@4@666888;l;l;l===@@@BBBDDDG>G>G>IIIKKKN"N"N"PPPRRRU:U:U:WWWYYY\X\X\X^^^```c(c(c(e^e^e^gggiiillln\n\n\ppprrr_wpcap_dll_iname__head_wpcap_dll_wsockinit__imp__wsockinit__nm__wsockinit_pcap_strerror__imp__pcap_strerror__nm__pcap_strerror_pcap_stats__imp__pcap_stats__nm__pcap_stats_pcap_snapshot__imp__pcap_snapshot__nm__pcap_snapshot_pcap_setmode__imp__pcap_setmode__nm__pcap_setmode_pcap_setmintocopy__imp__pcap_setmintocopy__nm__pcap_setmintocopy_pcap_setfilter__imp__pcap_setfilter__nm__pcap_setfilter_pcap_setbuff__imp__pcap_setbuff__nm__pcap_setbuff_pcap_sendpacket__imp__pcap_sendpacket__nm__pcap_sendpacket_pcap_read__imp__pcap_read__nm__pcap_read_pcap_perror__imp__pcap_perror__nm__pcap_perror_pcap_open_offline__imp__pcap_open_offline__nm__pcap_open_offline_pcap_open_live__imp__pcap_open_live__nm__pcap_open_live_pcap_open_dead__imp__pcap_open_dead__nm__pcap_open_dead_pcap_offline_read__imp__pcap_offline_read__nm__pcap_offline_read_pcap_next_etherent__imp__pcap_next_etherent__nm__pcap_next_etherent_pcap_next__imp__pcap_next__nm__pcap_next_pcap_minor_version__imp__pcap_minor_version__nm__pcap_minor_version_pcap_major_version__imp__pcap_major_version__nm__pcap_major_version_pcap_loop__imp__pcap_loop__nm__pcap_loop_pcap_lookupnet__imp__pcap_lookupnet__nm__pcap_lookupnet_pcap_lookupdev__imp__pcap_lookupdev__nm__pcap_lookupdev_pcap_is_swapped__imp__pcap_is_swapped__nm__pcap_is_swapped_pcap_getevent__imp__pcap_getevent__nm__pcap_getevent_pcap_geterr__imp__pcap_geterr__nm__pcap_geterr_pcap_fileno__imp__pcap_fileno__nm__pcap_fileno_pcap_file__imp__pcap_file__nm__pcap_file_pcap_dump_open__imp__pcap_dump_open__nm__pcap_dump_open_pcap_dump_close__imp__pcap_dump_close__nm__pcap_dump_close_pcap_dump__imp__pcap_dump__nm__pcap_dump_pcap_dispatch__imp__pcap_dispatch__nm__pcap_dispatch_pcap_datalink__imp__pcap_datalink__nm__pcap_datalink_pcap_compile_nopcap__imp__pcap_compile_nopcap__nm__pcap_compile_nopcap_pcap_compile__imp__pcap_compile__nm__pcap_compile_pcap_close__imp__pcap_close__nm__pcap_close_optind__imp__optind__nm__optind_opterr__imp__opterr__nm__opterr_optarg__imp__optarg__nm__optarg_getservent__imp__getservent__nm__getservent_getopt__imp__getopt__nm__getopt_eproto_db__imp__eproto_db__nm__eproto_db_endservent__imp__endservent__nm__endservent_bpf_image__imp__bpf_image__nm__bpf_image_bpf_filter__imp__bpf_filter__nm__bpf_filterd000064.o/ 1025816316 500 544 644 253 ` L.idata$4.idata$5.idata$7 wpcap.dll.idata$4.idata$5.idata$7_wpcap_dll_iname d000019.o/ 1025816316 500 544 644 334 ` L.idata$2.idata$5.idata$45 .idata$2.idata$5.idata$4&__head_wpcap_dll_wpcap_dll_inamed000063.o/ 1025816316 500 544 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %+wsockinit.text.idata$7.idata$5.idata$4.idata$6 0A_wsockinit__imp__wsockinit__nm__wsockinit__head_wpcap_dll d000062.o/ 1025816316 500 544 644 535 ` L( .text .idata$7 .idata$5.idata$4.idata$6%*pcap_strerror.text.idata$7.idata$5.idata$4.idata$6(<M_pcap_strerror__imp__pcap_strerror__nm__pcap_strerror__head_wpcap_dll d000061.o/ 1025816316 500 544 644 526 ` L( .text .idata$7 .idata$5.idata$4.idata$6%)pcap_stats.text.idata$7.idata$5.idata$4.idata$6"3D_pcap_stats__imp__pcap_stats__nm__pcap_stats__head_wpcap_dlld000060.o/ 1025816316 500 544 644 535 ` L( .text .idata$7 .idata$5.idata$4.idata$6%(pcap_snapshot.text.idata$7.idata$5.idata$4.idata$6(<M_pcap_snapshot__imp__pcap_snapshot__nm__pcap_snapshot__head_wpcap_dll d000059.o/ 1025816316 500 544 644 532 ` L( .text .idata$7 .idata$5.idata$4.idata$6%'pcap_setmode.text.idata$7.idata$5.idata$4.idata$6&9J_pcap_setmode__imp__pcap_setmode__nm__pcap_setmode__head_wpcap_dlld000058.o/ 1025816316 500 544 644 563 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%&pcap_setmintocopy .text.idata$7.idata$5.idata$4.idata$60HY_pcap_setmintocopy__imp__pcap_setmintocopy__nm__pcap_setmintocopy__head_wpcap_dll d000057.o/ 1025816316 500 544 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%%pcap_setfilter.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_setfilter__imp__pcap_setfilter__nm__pcap_setfilter__head_wpcap_dlld000056.o/ 1025816316 500 544 644 532 ` L( .text .idata$7 .idata$5.idata$4.idata$6%$pcap_setbuff.text.idata$7.idata$5.idata$4.idata$6&9J_pcap_setbuff__imp__pcap_setbuff__nm__pcap_setbuff__head_wpcap_dlld000055.o/ 1025816316 500 544 644 557 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%#pcap_sendpacket.text.idata$7.idata$5.idata$4.idata$6,BS_pcap_sendpacket__imp__pcap_sendpacket__nm__pcap_sendpacket__head_wpcap_dll d000054.o/ 1025816316 500 544 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %"pcap_read.text.idata$7.idata$5.idata$4.idata$6 0A_pcap_read__imp__pcap_read__nm__pcap_read__head_wpcap_dll d000053.o/ 1025816316 500 544 644 529 ` L( .text .idata$7 .idata$5.idata$4.idata$6%!pcap_perror.text.idata$7.idata$5.idata$4.idata$6$6G_pcap_perror__imp__pcap_perror__nm__pcap_perror__head_wpcap_dll d000052.o/ 1025816316 500 544 644 563 ` L8 .text .idata$7.idata$5$.idata$4..idata$6% pcap_open_offline.text.idata$7.idata$5.idata$4.idata$60HY_pcap_open_offline__imp__pcap_open_offline__nm__pcap_open_offline__head_wpcap_dll d000051.o/ 1025816316 500 544 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_open_live.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_open_live__imp__pcap_open_live__nm__pcap_open_live__head_wpcap_dlld000050.o/ 1025816316 500 544 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_open_dead.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_open_dead__imp__pcap_open_dead__nm__pcap_open_dead__head_wpcap_dlld000049.o/ 1025816316 500 544 644 563 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_offline_read.text.idata$7.idata$5.idata$4.idata$60HY_pcap_offline_read__imp__pcap_offline_read__nm__pcap_offline_read__head_wpcap_dll d000048.o/ 1025816316 500 544 644 566 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_next_etherent.text.idata$7.idata$5.idata$4.idata$62K\_pcap_next_etherent__imp__pcap_next_etherent__nm__pcap_next_etherent__head_wpcap_dlld000047.o/ 1025816316 500 544 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %pcap_next.text.idata$7.idata$5.idata$4.idata$6 0A_pcap_next__imp__pcap_next__nm__pcap_next__head_wpcap_dll d000046.o/ 1025816316 500 544 644 566 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_minor_version.text.idata$7.idata$5.idata$4.idata$62K\_pcap_minor_version__imp__pcap_minor_version__nm__pcap_minor_version__head_wpcap_dlld000045.o/ 1025816316 500 544 644 566 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_major_version.text.idata$7.idata$5.idata$4.idata$62K\_pcap_major_version__imp__pcap_major_version__nm__pcap_major_version__head_wpcap_dlld000044.o/ 1025816316 500 544 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %pcap_loop.text.idata$7.idata$5.idata$4.idata$6 0A_pcap_loop__imp__pcap_loop__nm__pcap_loop__head_wpcap_dll d000043.o/ 1025816316 500 544 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_lookupnet.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_lookupnet__imp__pcap_lookupnet__nm__pcap_lookupnet__head_wpcap_dlld000042.o/ 1025816316 500 544 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_lookupdev.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_lookupdev__imp__pcap_lookupdev__nm__pcap_lookupdev__head_wpcap_dlld000041.o/ 1025816316 500 544 644 557 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_is_swapped.text.idata$7.idata$5.idata$4.idata$6,BS_pcap_is_swapped__imp__pcap_is_swapped__nm__pcap_is_swapped__head_wpcap_dll d000040.o/ 1025816316 500 544 644 535 ` L( .text .idata$7 .idata$5.idata$4.idata$6%pcap_getevent.text.idata$7.idata$5.idata$4.idata$6(<M_pcap_getevent__imp__pcap_getevent__nm__pcap_getevent__head_wpcap_dll d000039.o/ 1025816316 500 544 644 529 ` L( .text .idata$7 .idata$5.idata$4.idata$6%pcap_geterr.text.idata$7.idata$5.idata$4.idata$6$6G_pcap_geterr__imp__pcap_geterr__nm__pcap_geterr__head_wpcap_dll d000038.o/ 1025816316 500 544 644 529 ` L( .text .idata$7 .idata$5.idata$4.idata$6%pcap_fileno.text.idata$7.idata$5.idata$4.idata$6$6G_pcap_fileno__imp__pcap_fileno__nm__pcap_fileno__head_wpcap_dll d000037.o/ 1025816316 500 544 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %pcap_file.text.idata$7.idata$5.idata$4.idata$6 0A_pcap_file__imp__pcap_file__nm__pcap_file__head_wpcap_dll d000036.o/ 1025816316 500 544 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_dump_open.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_dump_open__imp__pcap_dump_open__nm__pcap_dump_open__head_wpcap_dlld000035.o/ 1025816316 500 544 644 557 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_dump_close.text.idata$7.idata$5.idata$4.idata$6,BS_pcap_dump_close__imp__pcap_dump_close__nm__pcap_dump_close__head_wpcap_dll d000034.o/ 1025816316 500 544 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %pcap_dump.text.idata$7.idata$5.idata$4.idata$6 0A_pcap_dump__imp__pcap_dump__nm__pcap_dump__head_wpcap_dll d000033.o/ 1025816316 500 544 644 535 ` L( .text .idata$7 .idata$5.idata$4.idata$6% pcap_dispatch.text.idata$7.idata$5.idata$4.idata$6(<M_pcap_dispatch__imp__pcap_dispatch__nm__pcap_dispatch__head_wpcap_dll d000032.o/ 1025816316 500 544 644 535 ` L( .text .idata$7 .idata$5.idata$4.idata$6% pcap_datalink.text.idata$7.idata$5.idata$4.idata$6(<M_pcap_datalink__imp__pcap_datalink__nm__pcap_datalink__head_wpcap_dll d000031.o/ 1025816316 500 544 644 569 ` L8 .text .idata$7.idata$5$.idata$4..idata$6% pcap_compile_nopcap.text.idata$7.idata$5.idata$4.idata$64N__pcap_compile_nopcap__imp__pcap_compile_nopcap__nm__pcap_compile_nopcap__head_wpcap_dll d000030.o/ 1025816316 500 544 644 532 ` L( .text .idata$7 .idata$5.idata$4.idata$6% pcap_compile.text.idata$7.idata$5.idata$4.idata$6&9J_pcap_compile__imp__pcap_compile__nm__pcap_compile__head_wpcap_dlld000029.o/ 1025816316 500 544 644 526 ` L( .text .idata$7 .idata$5.idata$4.idata$6% pcap_close.text.idata$7.idata$5.idata$4.idata$6"3D_pcap_close__imp__pcap_close__nm__pcap_close__head_wpcap_dlld000028.o/ 1025816316 500 544 644 506 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %optind.text.idata$7.idata$5.idata$4.idata$6_optind0__imp__optind__nm__optind__head_wpcap_dlld000027.o/ 1025816316 500 544 644 506 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %opterr.text.idata$7.idata$5.idata$4.idata$6_opterr0__imp__opterr__nm__opterr__head_wpcap_dlld000026.o/ 1025816316 500 544 644 506 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %optarg.text.idata$7.idata$5.idata$4.idata$6_optarg0__imp__optarg__nm__optarg__head_wpcap_dlld000025.o/ 1025816316 500 544 644 526 ` L( .text .idata$7 .idata$5.idata$4.idata$6%getservent.text.idata$7.idata$5.idata$4.idata$6"3D_getservent__imp__getservent__nm__getservent__head_wpcap_dlld000024.o/ 1025816316 500 544 644 506 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %getopt.text.idata$7.idata$5.idata$4.idata$6_getopt0__imp__getopt__nm__getopt__head_wpcap_dlld000023.o/ 1025816316 500 544 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %eproto_db.text.idata$7.idata$5.idata$4.idata$6 0A_eproto_db__imp__eproto_db__nm__eproto_db__head_wpcap_dll d000022.o/ 1025816316 500 544 644 526 ` L( .text .idata$7 .idata$5.idata$4.idata$6%endservent.text.idata$7.idata$5.idata$4.idata$6"3D_endservent__imp__endservent__nm__endservent__head_wpcap_dlld000021.o/ 1025816316 500 544 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %bpf_image.text.idata$7.idata$5.idata$4.idata$6 0A_bpf_image__imp__bpf_image__nm__bpf_image__head_wpcap_dll d000020.o/ 1025816316 500 544 644 526 ` L( .text .idata$7 .idata$5.idata$4.idata$6%bpf_filter.text.idata$7.idata$5.idata$4.idata$6"3D_bpf_filter__imp__bpf_filter__nm__bpf_filter__head_wpcap_dlltcptrace-6.6.7/cygwin-libs/win9x/wpcap.dll0100644001217500001440000042557607511147362020214 0ustar mramadasusersMZ@ !L!This program cannot be run in DOS mode. $PEL$= 8Z&pLp` - +.textYZ `.data`p^@.bssPn.edata+b.idata h@.relocr.stab0B.stabstr@BUhhuV1҅uÉUhhuUÍvUVSu u8hVuU 1KTuVu=TÃu u"u=u1 ؍e[^ USt:9rvtЃ9sP;UjU]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)vULWVS]u b11=$`h<p,x4 DH dQvChaS(vSLvSpvu}SB;E{M  P Oƃ SB;EOM  PO S;U&E 4nU9S CM $Js@{8Ct()C|(Ct( C|(Cv;sv/C-;sr#C!;suC#Ct CvCÉ9w"9s9tt C|Cpi)aXu11?v!5 -#vvs +ssv1s#s sKKe[^_]ÉUWVS}u 19}kfu)Ku B9r1WB9}B9}ft%f`uzwf:4uztC9|Df[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)%d %u %u %u %u { 0x%x, %d, %d, 0x%08x }, U WVSEU 8X~GWh> N19CPCPCPPhBM F9|^~319}SCPCPCPPhOM F9|&19} VSWPqM F9|e[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)unimp0x%xret#%dld[%d]ldhldb#pktlen[x + %d]#0x%xldxldxb4*([%d]&0xf)M[%d]ststxja%djgtjgejeqjsetxaddsubmuldivandorlshrshnegtaxtxa(%03d) %-8s %-16s jt %d jf %d(%03d) %-8s %sULWVS}O=$ L\lp\\\\\\\\\\\\\\\\\\\\\\\\\\$\\\\\\\\\\\4\\\\\\\\\\T\\\\\\\\\\\\D\\\,<\\\\\\\\\d\\\\\\\\\\\\\\t\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\{k_O?/G@M vgW G7' "&*-1znbV"J&>*2-&159=QRj@]SFGU DPGDPSVR_fu tARhh fF e[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)U WVS 1 EPEÃ8uXjSEt u  8uX%hSzEu'vMQTE Eu;18uXvjSEts<8uXvjSDtssɃEPDÃ8uX%hSD8uXvjS]DtC<8uXvjS%DtCC ƃMQCà :uMQCÃGR8uXjSCuEPC tyurMQhCÃ8uXjSICt u #u#vEPC tu&yGMQBÃ8uXvjSBu tN tEPB tu  1e[^_]ÐUUu1u @t]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)UE =t$PEPhP.PAjhAout of memoryUWVSE$EU;v\=~h5%^S@FSjPJA 9]v h5%#+EFe[^_]ÍvU WVS1<;t;P7@;F~׍e[^_]ÐU WVS]߰փVǃVSW@~D7e[^_]ÐUS]h@@`X]]É'syntax error in filter expressionsnaplen of 0 rejects all packetsexpression rejects all packetsU pEhW?t7J UEPu#h&hEpP>Eu'P7UR萺P0.t=pth&=uP2}tC= u:hƧ=txuxuh0'XEPPU BEw6"1]UVSEU PR萺Ãt+EPEPEPEPSNƃ S診e[^]ÉUS]{tCP =C]]UEM tvx,u PÃ0VSU BP-PUBP-PjGPÃ,VSU P-PUP-PjWÃ,VSZEPà VS?e[^_]ÍvUVS]E $7`77$7`747SjjqSjjajSƃjSà SV5jSuƃjShà SV .ve[^]ÍvUVS]E $7 877 87SjjqSjjajSƃjSà SV5jSuƃjShà SV) /.ve[^]ÍvUVS]E $888888Sjj+qSjjajSƃjSà SV55jSuƃjShà SVi o-ve[^]ÐISO host filtering not implementedUWVS]E $t9:99:9d:d:d:d:d:d:d:d:d:d:d:d:d:d:d:d:d:T:EvEzEPjSQEURjS?EPjS)EURjSà SMQ!h09,vh`Eh)Ph)PjEEPƃ,ۉ]S})PjUD:PÃSV.0jjjMQƃEP;)PjUD:Pǃ,WVSW? h(Ph(PjMQƃEP(PjUMDPZǃ0WVSW jjjEPƃUR(PjMUD Pǃ,WV-SW SMQ؍e[^_]Í&'tcp' modifier applied to host'udp' modifier applied to host'icmp' modifier applied to host'igmp' modifier applied to host'igrp' modifier applied to host'pim' modifier applied to hostATALK host filtering not implementedAARP host filtering not implementedSCA host filtering not implementedLAT host filtering not implementedMOPDL host filtering not implementedMOPRC host filtering not implemented'ip6' modifier applied to ip host'icmp6' modifier applied to host'ah' modifier applied to host'esp' modifier applied to host'esis' modifier applied to host'isis' modifier applied to host'clnp' modifier applied to hostU WVSE}$p??B8@@`@@@@@@A0AXAHAxAhAAAAAA AAAAAWjE PEPhÃ=t;WjE PEPJƃVS^ WjE PEP+ÃSV?PR PhWE PEPPRPh5WE PEPPRPhWE PEPm`h<3h0<#hP<hp<h<h<h<h=PWEPhP=h=h={h>khP>[h>Kh>;h>+h09h> h?h0?s$ve[^_]Ð'ip' modifier applied to ip6 host'rarp' modifier applied to ip6 host'arp' modifier applied to ip6 host'decnet' modifier applied to ip6 hostUE$4CvC@ECCCCCCDD8DXDxDhDDDDDDD(DHDEE E0E{h0B;hpB+hBh< h0<hP<hp<h<h<h<h=hBhP={h=kh=[h>KPRPh݆EPE PEPNxh>h>h>h09h>h?h0?;!v]Ít&link layer applied in wrong contextUSEHX$EFFFFEF4FDFTFFFGF GG,G8GHGdGdFFGGGGjjjÃjjjkjjjfÃjjjKjjjjjjjjj rjjjgÃjjjgh vhvh5vhPE/hvhvh`vh`vh`vh`~h`rh݆fjjj:jjj32Ãjjj3jjj2Ãjjj2 SPWvhCvjjhjjhjjh vv؋]]ÍvUVSj>(F hCE[`CsSy؍e[^]ÉU WVS]u jG jHGX h@@`xpe[^_]ÉUE PjE(P]ÍvUWVS]E }Pj PEPV $DIvtIXI`ItIISjSjÃbSjƃSjà SV4SjƃSjà SVIvSEP/؍e[^_]ÍvUWVS] }h@EttPuKWSEPÃ>WjEPƃWjEPà SV vSEP؍e[^_]ÍvU WVS]E uPjP"ǃ$JKJJK,KSjSjÃbSjƃSjà SVI4SjƃSjà SV#vSW؍e[^_]ÉUWVS] }h݆EttPuKWSEPÃ>WjEPƃWjEPà SV}vSEP؍e[^_]unknown ip proto '%s'unknown ether proto '%s'esisisisclnpunknown osi proto '%s'U WVSE tK tt tfEPXbÃEPhL)EPbÃEPh/LpvuHLuRuMLu6uRLuEPhWL؍e[^_]Ðbad protocol applied for 'protochain'unsupported proto to gen_protochainUWVS]!Tp1d󫉅d} tb} t H} uBPSjEPlSjURà SlQJhMg jp} t} tlvhwlj\0p P Gj3B Grh݆lj0p H Gj@ (GhMW\jp2]X 2@2@`GjT2@2@2@ ;\ 2AhG} j2@2@2@ h 2AGjD H@@@ <GjuD H@@@ +Gj8D H@@@ ,dPGLjGjPB GjTP GjGjz@ Gj\GjEPB Gj$@ Gj$@ GjGj`TH Gj 1\)HB T1BG;d[LBA;P~t7|tJSjRvSjRعC5dSjRC%WjDjTƃ^ h@@`ÃsSH؍e[^]not a broadcast linkonly ether/ip broadcast filters supportedU WVSE~ tz=Ђujhpv=Ђ ujhphv=Ђujhpvhq胲bh˽NjSjjP޸ƃ SSjPǸÃSV请 SWBhqe[^_]Ðt&only IP multicast filters supported on ethernet/FDDIvUVSE~=Ђujݱ0ƃF *=Ђ j豱0ƃF h蒱@E@`CshsÃhjPF5+h݆?ÃhjP赶ƃ VSڵhr觰e[^]Ðinbound/outbound not supported on linktype %d UЂ @|;EPjPjjPjgPj ЂPhpt1]Í&no VLAN support for data link type %dUVSu= puJp p=ЂuЂPhu]hjpP1Ã|Vj pPƃVS?؍e[^]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $[vovWvkvdw`wdw`wtcpudpUnknown errorResolved protocol is unknownInvalid value for hintst&System error returned in errnoai_socktype not supported&servname not supported for ai_socktypehostname nor servname provided, or not knownNo address associated with hostnameMemory allocation failureai_family not supportedv'Non-recoverable failure in name resolutionInvalid value for ai_flagsTemporary failure in name resolutionAddress family for hostname not supportedSuccessUEvp]ÐUVS]s{tCPoScu֍e[^]ÐUS];t?8uPjRu1 C;u¸]]ÉU|WVSUEEEE]ECCC CCCC}u} u 4vzzzzt EBtttEv߉{tZ{ tTEv=v|DSE;u-xt'xt!CM;AuC ;AtE KEE8}{t {t{uB}{uCE PS Eߍu}Ev=v"vߍuCU;tBt :CM;AtAt yC U;BtBt z{uMC{uExt@C{ uUztBC }uEPM QjSEPE PURSWE}}tMytE@EtxuEU:}u}u EEv=vGߍuCU;t t :Ev=vߍu{uUCCM;tAt 9CU;BtBt zC M;AtAttyuu{uUC{uMytAC{ uExt@C EPU RMQSE}tExtURUtzuEM9EE8}tE}u}t EU1%E}t EPMEx[^_]ÉULWVSEEEE}URMQ'uFPẼ~E PE܃ t!E܃8t8t U܋B 8u E}1ۋM܋A 8tC<uCPE؃uF PzEԃ }PjEPE9]}_U܋B MЃ<u u;EH Uы@ uЋUԃQPRUB EԋM؉E9]|Eu؃>vEpUЋM؋u(;u#{uh{ 9Cu E;putuBSURPpGu mjMQGPÃuQ&vuVEPSGPURS& tuEЋMЋu؃<4EU1>}tMQ}tuV}t EP؍e[^_]U,WVSu}EE]jjFPv}Z8tPWVusFPƒtBPRVCt#vBPRVCu%jWCPÃu EU1}t EP ؍e[^_]ÉU#tӃhMVÃt5@hPVÃtC; t; thPSƃtFS LfHPDǃt62; t,; t'؅shPS+Ãt Ct;u@e[^_]USE] ڀ:t 8 tB:u@u1[]Ðwindump%s: illegal option -- %c %s: option requires an argument -- %c U WVSu} ]=Pu xp8u[P95tp}3tpxp8-u!xpxt,xpxp8-utpxpȊxppxp:tPSuK=p-u xp8utp=pp;:pPhhɊex:t`xp8uwxp8u^tp;5tpHxpȊ;:u :T=pptpPhh@P!?$tp`xpȊtppe[^_]ÐrU=puhhpppPvE ]ÐU=ptpP;p]# ,/UVS=puhhppt!pPhhƃu1>#t҃h]VÃt5h`VƃtF> t> thcVÃqCVPQfƃh`SkÃ0t?Ct9;t4; t,; t'sh`S2ÃtCue[^]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)%sUEpPh+裕]:<CB?=>@IFEDGH;  !"#$%&'()*+,-./0123456789AJJKLLLLLMNOOOPPPPPPPPQRSSSTTUUVVVVVVWWWWWWXXYYYYYYZZZ[\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]^^^___``aaaaaaaaaaaaabbbbbcc,9:8;<=>?@ABCDEGFsUV7mHIJKXLMNO,,+*`_RSWk ,,`_% .-3645"#PQ !$Z\^Y[]onqrp,,_&ltijhgcdef()T_ 02/1ab?<=~GH7)*+,UVW8.gh/0n1-E@-EE-----------T# %IPWdbFFVoTT3EE6"vw} -(6{@F2>'-MAOJP3@4:;qvoXAtw5xuu:;y9((zI}J''--%5ijp|ssbcklmrr--I5@>uXBCDEs(zrr--JJ&#\]`abc%^_`abcII  !"#$% BCDE !"#$%  !"#$%  !"YZ[$\]%^_`abc\]defKLMNOP\]QR_`abc\]^_`abcST`abc(*!'I(* !!7!89<=5G7<=B<=89B$'(B*@HI'('(Cs!5*;<7!@<=?@DEF<=<=!HI8989s89rBBrs!GX89\]^_`abcB!ghH89()*+rsBrsrs:,-U=>?@C;<=>?@ !"#$./01234567:> C!"#$()*+./01234567:> C!"#$./01234567:>C!$./0124567%&'>,-C;<=>?@,-DEF ,- <=>?@,-;<=>?@ HI=>?@parse errorparser stack overflowUWVSp 0DžDž,Dž$,f DQ9)Ήp'C ҉'v Dž'E$6P QS U$ÃPQS Dp| DQ9 ,E(==u 诮=1$v=8wQd(((Ƙ9f(}ډ({v(( =t W$\ $Q , M^(4(Et+Njt(Hsa$$v{J{ 8P{4h|ԡP{ 4{{PlȢ $H{X`lxx`lx`lx̣أ 8,8DP\htȤ ,8 ,8D{Tl̥0xDPX`hp{xGP踈sGPGP?vGPGP'vGPGP(vGPGPv_SP_SPjGP"_SjPGP _SjPv_SPjGPq_ShjPq\v_SPHv_wpGPGP>GPGP@*_SPjƃ,GPhwvG0 G ÊvG0  óG0 ÁG0 ÁG0 Áwyw_lPYvjjPGPGPƋp57p&v1    u i]QE9-! GPPvGPvPPsPGPGP[jLj<P-+j Q0E9PijGPGPGPGPGPvPGPjPGPjPGPj pPGPj0\PGPjPHPGPj@4PGPj` PGPjpo PÃ9.v&$|<> =_)Nj)w(U( U,w+Ƙf;uf,v(E,v$uh&$u=Dž$, 9 ,,E(=t@(=wfƘuf(}=t؉(v(k(t'W(,v1h2[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)U蹿Ѕ}&v!E EPhE EPhԿ]inet class for 0x%x unknownvU WVSE] u}VSP蜿u)0jhWjPjh&cv>uU;} H%=u 0%=tPh%W6!31e[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $vUSE] P"]]ÐU,WVS}EEEE ?0G?xt?Xu EEӡ8uPjR詻tUUÍTЉU}ӡ8uP%hRRt` UUӡ8uPjRt EtUtuG?.u9msdUEEG?t28uPvjR虺tUEE)Hv )E19M}]ve EB9|Ee[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $vU}uEPE PdCa]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)UVSEP踶ƃ t/^ ;t!vPg‹ ;uF 1e[^]ÐU@WS]}1҉EEURURjS8uEv1e[_]ÐUEPu1@ ]udptcpU WVS}ujWÃtiCP訵fCЋE C PSc>u_PWյÃtCP_fC1e[^_]UEP讵u v@]decdnsdecdtsloopbackatalkarpatalkvprodvexplanbridgescalatdecnetmoprcmopdlspriterarparpip6ipxnspupvUVSup=pt'vVP蘷u Cv;uܸe[^]ÉUVSM] 11 DPA9t9.u#% 9tA҉[^]%d.%dmalformed decnet address '%s'U VSu] EPEPh<VotVhBYtE %E%  e[^]UWVS}j螵EE?E?:uGG8uXjS蹵ts<8uXvjS聵tss8uP%vhR>t|G8uXvjStC<8uXvjSʹtCC ƉUBU?Ee[^_]r/etc/ethersUVSu=\qu(h6h86Xq\quTi=Xqt^XqP4VCP跴u j足…t'CfBXqPmÃu1e[^]Ðdecnet name support not included, '%s' cannot be translated vUEPhq1]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)US]C;tWCCd{<t.CauA ;F u9>u9E>tFv@t8tDžtn? uiG@t8tÅtR;uMSRtA:tt8%@u,A B vU:Mut<t>DAA% t0uEP<@TMAUu2zu,@ BBEMRmU<MATA% t' tF0t'@t28E;P2M;Q"E;PM#Q{vMAT;A z<t"BPWUREЍ\EU 9U|;}rȋE@`Ee[^_]malloc: %sError opening adapter: %sCannot determine the network typefailed to allocate the PACKET structuredriver error: not enough memory to allocate the kernel buffer driver error: not enough memory to allocate kernel the buffer U,WVSuhp_Ãu&>P.PhhVuW1\EPui8jhSjPjh(߰ҍB~ DDPhhVvPP2uhfwc$ `<0````HTC .vC "vC vC vC }tj hP CThՆCXu+賆PPhhV E CCu h0lCTPCXPCP0h@BPp u hp7vh>PltEPPvKhhVM;tPZ{XtCXPŅS蹅1[^_]Ív'Driver error: cannot set bpf filter.vUS]E ;uPSL}83PPduhhCpP臅1]]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)USU] MEzu PQSR. PQSR ]]U WVSu] }~tWEPSV WEPSVt~ ~)Å1e[^_]ÍvUVS]M uABABA B s[^]ÐUEU UURh8jP ~Ev1]ÉUE@ ]ÍvUE@]ÍvUE@]ÍvUE@$]ÍvUE@(]ÍvUE@]ÍvUE8u ]%s: %s UE UpRPh@Pl]UEp]ÍvUEP覄]ÉUWhp…t"1\E BEB 1}]ÍvUS]Ʉ;tP{t&C;t P膃{,tC, {XtCXP2ChPDS]]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)UVSu1҃=`qt,`qdqv94uvB<`qu[^]ÉUVSM1҃=dqt,dq`qv9 u0vB=====??(????? ???&!????"?1;;;:===>======????????#??===>==>==========????.???;;;=====>====>======?%'/????======>=================??0?;=======>====>====>========)*?=========>========================$=======<==>====>====>====>=====================<>===========================================>====>====>====>====>========================>=========================================================================================================================================   !"#$%&'()*+,-.t&./Gt$(mg'&h2Tl%,}|~{|wvuzuuurw|on{CfziilupejalGkn\^]\\`W`U[ZrQ`ONPOP%edcba`4MQLQOBB<>Y;<:@G@:9bUSYN]MLn~KJM<,<7.26%44?>H=<;:l987:54%) .      (<\` 8d 2(  U ic y  i O  ~ !k LRF vEK    ]Y m"( 6s< @  q 1 dt /fk i h g Se 5w9d _ N^ vL O Y@ ? D: < $6 H5 3%hG+l[<p4 ( ]oc" q!   ( <Pd  @ d  * w, .   R  15 U_Y@xTs~ 9u |o htj m W]b a   ` ( M L #L K 074I K` G 9_sIF t E lx9  3 s&}2 ; 1 D) # G    !    ` 0 a T { x   J     < @ ! U } n E i   % I  m     0 D  h % | 9 X \ ` q }  z  m Y   W V &D I 5 X^ 3 2  %  +      3    ( O  G K R s  V Z a d  p t i { ~  Y S  , N  1 2 C d j x  !       : ^       " $ & ( * vu, b. 0 2 4 C6 8 : < > @ B D B*F H J L N P R T V X Z \ ^ ` b d rcf h j l bNn >('p r t v x z | ~     mY E1 !  yUQ :1     g WQ P  /  #$t&gX(!*,.13w56vonF7328xpfQFE>610XSQC    !/   ////k"#3p$kk%&'()*+,-./01234+&5678(9:2;<=>?@ABCD)EFG2H;<>I=7JLKOLMNUOZ\PEFfhQHRSTsUIVW)X+2Y4Z[\]^_`abcdeRSfUghijklmno^_pabcqerstuvwxyz{|}~ "028;>AGLNXZgiwy*6:>ADGJO         !"#$%&'()*+,-./012345!"#67-./012345897:;<=>89?:;<=>@?@    !"#$%&'())256E))89X2))Jd2FIY))GH2U2eK**-.///0V123W-11111122222222222222232)2111Z)[1R24:S2T:)2\B:2]^_*C:22222<22a222222Mb|N cijjOPQ221112lll }2):=~):>):?@A):22111*<22lll2llljjjD2lllz2.kkk0sl2lllllloooo2oooooo).)pqq)r)rrrrrr*jjj2.e   677 :;;->??-.000.LMM   OPP999XYY`aa===UVVIdee\]]"""#$I$$$$$$[[[ccc#hii()))*+,++++++gggl777999y,///#0n;;;0000001222345444444qqqYYYl7775<<<m=======(ZZZ*[m[[[[[[1fff3gn;;;ggggggoYYYaaaccceeeopppqqqqqqqrssstuvuuuuuuaaav{{{{{{{{{{(~~~,eee,1'((5*++(5.//2331(|y1899 ;<<>??   ABBrtS-JKK&RSSVWW(#^__ 1rtabbeffnooqrruvv(((    (((}___r---t}ooo111 GHH                  NOOMMMUUUZ[[YYYdddijj hhh      !"""#$%$$$$$$tttyzzxxxm%0001~+++&111111r---|///spLLL  MmMMMMMM XXX    YKKKlYYYYYYggghchhhhhh!www#x`~+++xxxxxx///]TKKKSSSQSSSC@UUUWWW=:54,!"")___WWW&ooo$%%bbbbbb()) MNNdddffffffrrr!%.rrrtttk%."""vvvb_z{{Q}~~NMMMYYYhhh xxxA@8     vvv!'''+++/!{{{1444/0:;;<LLLM0MMMMMM XXXYPPPYYYYYYggghUhhhhhh!wwwxXXXxxxxxxZ127t\rl2___jb   d***   +    b++++++3334d   \444444566678Z9888888aUgggUV9>>>?i@a@@@@@@VZj5i["""AAABq1/CCCCCCC[\Kq]{{{DDDEHFFFFFFF]b   lEcGGGHBIIIIIIIcd   ooo?eJJJKL   LLLLLLer%%%!'''jOOOkPt)))PPPPPPWWW?XkXXXXXX^^^B_www______fffEglggggggmr%%%st)))umnnnHRKoHsEB?oooooouvvvK7w~wwwwww57+++?!NNNBE ?HB***KF7+NNN++++++EHK~~~~~~7PPP57FOOO77tP#PPPPPP r57nl5 1-(    TK}Kzyxwt #TK##KHGF;E;;;mm    $$%%&&++44JJRRSSWW^^jjuu||  $$66DDEEIIPP\\kk{{)),,55QQTT]]``ccllppss||,,88==@@CCFFIILLQQTTYY``  hhpp##&&xx--SS||DCB3*'#!.{yxwvutnhgf`L7,+&    %  @ % ?> = !q!<;""""q:NSNS9$$G87$...11116G5):GQ):4):321):0Q):Q/====EEEEjjjjIIIIE./////=I/llll-//////333nnnn3zzzz33333344,+4444*?z44)444444('4iiii?&i%ikkkk$Mk#kkkkkkppppppPpM"pppppp! Pp   !!!###     (((V---''''V111****lllnnn++++/////3333]irrr444477779999] ittt;;;; }}} ====YYYY66666 [[[[))))))6))))))222222::::222222:XXXXaaaaXcccceeeegggg:<<<<<<X<<<<<<>>>>>>>>>>>>>pppppuuuu````>III`IIIIIIILLLLLL`LLLLLLLdddddLOOOOOOOOOOOOOdOUUUUUUUUUUUUUUZZZZZZZZZZZZ\\\\\\3\\\\\\\3\ffffffffffffhhhhhhhhhhhhhhssssssssssss   99!!!(((''''<?___'<?BHOoooBHO~~~[[jzjz        ####$$$$++++----////1111FFFF      KKKK      MMMM""""""****""""""*....JJJJ.RRRRJSSSSR{z*UUUUWWWWyx.00000Jvu0tR000000222222s2^^^222222^VVVVYYYYreVnnn288888ncb8^8888888Vaaaabbbbana8;;;;;;_;;;;;;;addddffff^Yeeee;>>>>>e>X>>>>>>>hhhhqqqqWUeq>AAAAATSA;AAAAAAARqrrrrttttH;AGGGGGGG"""GGGGGGvvvvxxxxFEGLLLLL///L@LLLLLLNNNNN111N?N555NNNNNNUUUNXXXXXZZZX=XXXXXXZZZZZ\\\Z<ZbbbZZZZZZ;2Zgggggdddgggggggiiiiijjji-illliiiiiiuuuu+*uiuwwwwwrrrw wwwwwwyyyyytttyy{{{yyyyyyy            !!!!|xw!zzzzpohgz`_Y    X TSR    %%%%''''Q=4))))-,&#++++ $$$$33333$((((8888($(******@@@@******666666CCCC666666:::::::::::::FFFFIIIILLLL:>>>>>|{s>NNNNp>>>>>>AAAAAlkcAPPPP`AAAAAADDDDD]\TDWWWWWDDDDDDGGGGGQPIG^^^^^GGGGGGJJJJJEDCJ@MMMMJJJJJJMfffffnnnnnvvvvv~~~~=}}}}MOOOOO}:7O6OOOOOO54},)  ~|zxwqkjb_^   W TSRQNKJHGFBA@80&%$"      !!""##$$%%&&''(()),,..//001133445566778899::>>AABBCCDDGGIIJJKKLLMMNNOOPPQQVVZZ[[\\]]``ddffgghhiijjkkllmmnnooppqqww||}}~~    }|yxwvsromgfdcba`_^]\[YXWVUTRPOMLKJHFDCBA@?0('&#&@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/win9x/wpcap.dll,v 1.1 2002/07/04 22:40:50 alakhian Exp $ (LBL)bogus IPv6 address %sbogus ethernet address %sillegal token: %s illegal char '%c'fatal flex scanner internal error--no action foundU425&    76~!r,f Z!N1B@3v#&$%=*+@P v@PF(v@P^'v}1EEEPEPj@P (t@PhK~@P)#v@PhLM@ @@P&@PhL@Ph.L4rPj0P@PCv1+@K rz$uB0rB$ rB9$rwL@$rÃS`@U؃t$r=$ry=$r t tt?v.u t%@$r,rJPEv=0rPI@$rË=$r @M rB$rË=$r@E2vhPL cve[^_]Ðfatal flex scanner internal error--end of buffer missed&fatal error - scanner input buffer overflowinput in flex scanner failedvU WVS rX5@@9$rvhT  rx u&$rH9@u H<=@=$r19} FCB9| rx$@ rC5$r)ƃ{t9S  C C C PCPCC{uhU.s5$r rX )Kw ~ rx*1 r@F9}0rPƒt uу u r@ Fu%0rPrthtEEf]ÉUEPj]ÐU=tP]ÐU]UWVSuE 1>0~xt~XuEvEFvF8uXvjStS<8uXvjStSSɋEǍ<>we[^_]Ðimpossible to set mode while reading from a file driver error: working mode not recognizedUS];u hP`'vE PPt1h`CpP]]ÐWriting a packet is allowed only on a physical adapterUVSu>uh0aFpPWF/ÃEPE PSjSP tS1Se[^]ÐThe buffer size cannot be set while reading from a file&driver error: not enough memory to allocate the bufferUS];u ha'vE PPt1h0bCpP/]]ÐThe read event cannot be retrieved while reading from a filevUE8t @HvhbpP1]ÐInpossible to set the mintocopy parameter on an offline capturedriver error: unable to set the read block sizeUS];u hPc'vE PPt1hcCpP]]Ð%%%%%%%%%%%U U@r8t@rС@rP@rxuÐUSiu1=itiv@:uÅt iKuhd蓪]ÉUS=DruMDriu1=iti@:uÅt iKuhd/]ÐQ=r -) ̋@%%%% %4%%D%%T%P%%<%%%x%L%@%% %p%H%l%$%%\%(%,%h%|%`%d%%t%%%0%8%X%%%%%%%%%%%%%%%%%%%%% %ypy0yxxxxpx0xwwwwvwhw/etc/networksȊ/etc/services݆5~x`r`k`g`c`Y8T[N\H?6/>(< d efghhj22iillqqi$=,,(p(p(h`pptpP'(,xHc̨Dh p hahbc``X &-4;FSgu ':DWix!  !"#$%&'()*+wpcap.dllbpf_filterbpf_imageendserventeproto_dbgetoptgetserventoptargopterroptindpcap_closepcap_compilepcap_compile_nopcappcap_datalinkpcap_dispatchpcap_dumppcap_dump_closepcap_dump_openpcap_filepcap_filenopcap_geterrpcap_geteventpcap_is_swappedpcap_lookupdevpcap_lookupnetpcap_looppcap_major_versionpcap_minor_versionpcap_nextpcap_next_etherentpcap_offline_readpcap_open_deadpcap_open_livepcap_open_offlinepcap_perrorpcap_readpcap_sendpacketpcap_setbuffpcap_setfilterpcap_setmintocopypcap_setmodepcap_snapshotpcap_statspcap_strerrorwsockinit|(8L,|$0@P\hp|  (0<DP\ht$4DTdx0DXl$0@P\hp|  (0<DP\ht$4DTdx0DXl_closeK_strdup$__dllonexit/__mb_cur_max_errno_fileno_iob_isctypeX_pctypeq_setjmpu_setmodex_snprintf_vsnprintfabortatoi callocexitfcloseferrorfflushfgets!fopen"fprintf'fread(free0fwrite2getcZlongjmp[mallocamemcpycmemsethprintfkputsqrealloctrewind|sprintfsscanfstrchrstrcmpstrcpystrerrorstrncpystrpbrkFormatMessageAGetLastErrorzGetVersionWSAStartup(gethostbyaddr)gethostbyname-getprotobyname/getservbyname3htonl4htons5inet_addr:ntohl;ntohsHsocketPacketAllocatePacketPacketCloseAdapterPacketFreePacketPacketGetAdapterNamesPacketGetNetInfoPacketGetNetTypePacketGetStats PacketInitPacket PacketOpenAdapter PacketReceivePacketPacketSendPacketPacketSetBpfPacketSetBuffPacketSetHwFilterPacketSetMinToCopyPacketSetModePacketSetReadTimeoutmsvcrt.dllmsvcrt.dll(((KERNEL32.dll<<<<<<<<<<<WSOCK32.DLLPPPPPPPPPPPPPPPPPPacket.dll 0060;0j00000111111111222 22222 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|222222222222222222222222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|4444444444444888::::::::::::::::::::::::::::;;; ;;;;; ;$;(;,;0;4;8;<;@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<< <<<<< <$<(<,<0<4<8<<<@ >>>">->2>=>B>M>R>]>b>m>r>>>>>>>>>>>>>>>>>? ???%?*?5?:?E?J?U?Z?e?j?u?z????????????????????? &060A0K0000)1311111 22I2S22223 3^3h3333B445,5Y5b5k5v5|55555X7b7l7x7777778'858@8K8Z8e8s8{8889:<<<=== ===== =$=(=,=0=4=8=<=@=D=H=L=P=T=X=\=`=d=h=l=p=t=x=|=================================>>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>>>??$?6?@?R?\?n?x???????????0Z0q01&1S11`2t22&3.3364<4@4D4H4L4:5@5D5H5L5P56777 77777777z888888o9t9x9|999999999999999999999X:k?p?t?x?|????????????????????????@<0d000000011$141L1\1l1|111111111-34383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|33333333333333 44,4<4L4\4l4|444444455$5455555555555555555555555555568}888 9=9D9H9L9P9T9:::::::<<==8=X=>>> ?`??P123R4888888888888888888999 9999b999999999:(:8:H:X:h:x:::::=Z===>8>>>|?????`|0*0001122L223 4`44p5555667778<8L8999999999999999999999::w::V;;?????pp022"2/2B2O2d22222V3~334@4444E5M5R5W5\5b5k5u555556666667079::S;Y;<<_=e===778#8`88888899 9+979A9_9j9o9y9999999:#:*:/:L:[::<;D;O;Y;`;h;r;~;;;;;;;;;;;; <<<$<-<9A>G>L>Q>[>>>>;?D?<<======>>6>E>>>>>>>?$?(?,?0?4?8?>??w0000%1/1c1m11111Q2\2a2k2q2222^333/4R4]4i444444505555555 6-6u6|66667Q7X7\7`7d7h7l7p7t7 88888 8$8(8,8i99999:::S:g::::::: ;;;m<<>=p=,>f>>?`?d?h?l?p?t?x?|?????????????????????????????????X000 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|000000000000000000000000000000000111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|111111111111111111111111111111111222 22222 2$2(2f2223344A4o4%5B5u55B667S9999;=>U>>>>>??$0000f1n1t11111112;2L2T2Z2222222<3I33333333J4g4m4s4444444444444555585E5K5d5q5|55555556666=7F7O7~78 8F8K8~8888999::;0<,>>>? ????? ?$?(?,???X0T01|22373344445 550567(7Q777N89:::::::;;;5;h;<<===@<<<<<<<<<<<<< ===&=1=:=@=H=X=a=f=p============ >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??? ????? ?$?)?1?7?Pli1111122F2[2a2l2w2222222222223$3*323@3E3T3Y3b3j3p3333333334%4:4@4M4S4b4g4o4|444f5o5t5}555555555 66i6z66666677'717:7J7Y7n7|777777777777888*8?8P8Y8_8g8w8888888889 99#9,91969@9h9v999999999:":1:F:L:Q:]:b:i::::::::::::: ;;%;.;4;;;B;;;< <<;==>~>>>+? A.data`.bssl.file6gscanner.cd w $_yy_init( , _yy_ec_yy_meta_yy_base_yy_def0_yy_nxt_yy_chk_rcsid; <  l l m l l \E  H 5 H _inputI G J _ K t L  M  N  N  N  O  O  m 4O _stoilO  N  lL  gfakehnamefthunk.textX.data`.bss m.idata$2.idata$5.idata$4.fileagfake.textX.data`.bss m.idata$40.idata$5.idata$7 .textX.data`.bss m.idata$7.idata$5.idata$4@.idata$6$.textX.data`.bss m.idata$7.idata$5.idata$4<.idata$6.textX.data`.bss m.idata$7.idata$5.idata$48.idata$6.fileqgfakehname8fthunk.textX.data`.bss m.idata$2(.idata$5.idata$44.filegfake.textX.data`.bss m.idata$4D.idata$5.idata$7.textX.idata$78.idata$5.idata$4.idata$6.textX.idata$7<.idata$5.idata$4.idata$6.textX.idata$7@.idata$5.idata$4.idata$6.textX.idata$7D.idata$5.idata$4.idata$6.textY.idata$7H.idata$5.idata$4.idata$6.textY.idata$7L.idata$5.idata$4.idata$60.text Y.idata$7P.idata$5.idata$4.idata$6D.text0Y.idata$7T.idata$5.idata$4.idata$6X.text@Y.idata$7X.idata$5.idata$4.idata$6l.textPY.idata$7\.idata$5.idata$4.idata$6.text`Y.idata$7`.idata$5.idata$4.idata$6.textpY.idata$7d.idata$5.idata$4.idata$6.textY.idata$7h.idata$5.idata$4.idata$6.textY.idata$7l.idata$5.idata$4.idata$6.textY.idata$7p.idata$5.idata$4.idata$6.textY.idata$7t.idata$5 .idata$4.idata$6.textY.idata$7x.idata$5.idata$4.idata$6.idata$2P.idata$5.idata$4|.idata$4.idata$5.idata$7|  m' m_sprintfW 4 D l\ k X  Y_freePV _strcmp`W _opterrp   _ntohl@40T _longjmpW  __errno`V < _vmapm2 L_getcV _rewindW hUr`Y |X_putsV 3(IWmcTu0_ferrorX P%__setjmpV 3X J__dll__aTm_fwritePX _strncpyV DV pT_atoi0W Pm_memcpyPW  Y _optarg`m_memsetW -_optoptpm<VX end``TqT`Y`_fflush@V etextYPn<_fprintfW __allocaUY _strdupV  $(h_blocksm60Y HY_fread@X W__fileno X tY _fopenW _callocX T0_strpbrkW H.l<OPY d_realloc`X  DxpY 0n Y _levelsm1EXT__end__k@n_strchrW \0V _mallocpV Y_fcloseW ,X_strcpy@W _optindtL_sscanfW mY .X DQY `yX p_abortV @m(T-t=_htons@4TX4dV o_end0X PT( W _fgetspW &Y 8Ph@Y _exitpX _htonl@4PT{ _edgesnm0m_printfV d_spacen4 n_ntohs@4@T3@B|Tc~,XX mY _pcap_in0_close V  8gcc2_compiled.___gnu_compiled_c_next_atexit_first_atexit_DllMainCRTStartup@12___dll_exit_bpf_filter_bpf_validate_bpf_dump_image.15_bpf_image_pcap_next_etherent_bpf_error_bpf_pcap_newchunk_cur_chunk_freechunks_gen_retblk_pcap_compile_pcap_compile_nopcap_pcap_freecode_backpatch_finish_parse_gen_cmp_gt_gen_mcmp_gen_bcmp_init_linktype_linktype_off_linktype_gen_uncond_gen_linktype_gen_snap_gen_hostop_gen_hostop6_gen_ehostop_gen_fhostop_gen_thostop_gen_dnhostop_gen_host_gen_host6_gen_proto_abbrev_gen_ipfrag_gen_portatom_gen_portatom6_gen_portop_gen_port_gen_portop6_gen_port6_lookup_proto_gen_protochain_gen_proto_gen_scode_gen_mcode_gen_ncode_gen_mcode6_gen_ecode_xfer_to_x_xfer_to_a_gen_load_gen_relation_gen_loadlen_gen_loadi_gen_arth_alloc_reg_free_reg_gen_greater_gen_less_gen_byteop_ebroadcast.243_gen_broadcast_gen_multicast_gen_inbound_orig_linktype.253_orig_nl.254_gen_vlan_in_addrany_in6_addrany_in_loopback_in6_loopback_ai_errlist_gai_strerror_freeaddrinfo_str_isnumber_getaddrinfo_explore_fqdn_explore_null_explore_numeric_explore_numeric_scope_get_name_get_canonname_get_portmatch_get_port_find_afd_getnetbyname_setnetent_endnetent_getnetent_net_aliases_place.39_setservent_endservent_getservent_serv_aliases_pcap_error_yytranslate_yydefact_yydefgoto_AdaptersName.135_AdaptersName.136_pcap_lookupdev_pcap_lookupnet_inet_aton_inet_network_inet_pton_pcap_nametoaddr_pcap_nametoaddrinfo_pcap_nametonetaddr_pcap_nametoport_pcap_nametoeproto___pcap_atoin___pcap_atodn_pcap_ether_aton_init.166_pcap_ether_hostton___pcap_nametodnaddr_pcap_nametoproto_find_levels_r_cur_mark_find_levels_n_blocks_find_dom_all_dom_sets_nodewords_propedom_edgewords_find_edom_all_edge_sets_find_closure_all_closure_sets_compute_local_ud_init_val_opt_peep_opt_stmt_deadstmt_opt_deadstores_use_conflict_fold_edge_or_pullup_and_pullup_opt_blks_find_inedges_opt_root_opt_loop_bpf_optimize_make_marks_mark_code_eq_slist_intern_blocks_opt_cleanup_count_blocks_number_blks_r_count_stmts_opt_init_convert_code_r_icode_to_fcode_install_bpf_program_wsockinit_pcap_stats_pcap_read_pcap_open_live_pcap_setfilter_pcap_dispatch_pcap_loop_pcap_oneshot_pcap_next_pcap_datalink_pcap_snapshot_pcap_is_swapped_pcap_major_version_pcap_minor_version_pcap_file_pcap_fileno_pcap_perror_pcap_geterr_pcap_strerror_pcap_open_dead_pcap_close_dlt_to_linktype_linktype_to_dlt_sf_write_header_swap_hdr_pcap_open_offline_tsize.61_sf_next_packet_pcap_offline_read_pcap_dump_pcap_dump_open_pcap_dump_close_yy_current_buffer_yy_c_buf_p_yy_start_yy_accept_pcap_lex_yy_hold_char_yy_last_accepting_state_yy_last_accepting_cpos_yy_n_chars_yy_did_buffer_switch_on_eof_yy_get_next_buffer_yy_get_previous_state_yy_try_NUL_trans_pcap__switch_to_buffer_pcap__delete_buffer_pcap__scan_buffer_pcap__scan_string_yy_fatal_error_yy_flex_alloc_yy_flex_realloc_yy_flex_free_lex_init_in_buffer_lex_cleanup_pcap__scan_bytes_pcap__flush_buffer_pcap__init_buffer_pcap_restart_pcap_wrap_pcap__load_buffer_state_pcap__create_buffer_pcap_setmode_pcap_sendpacket_pcap_setbuff_pcap_getevent_pcap_setmintocopy_DllMain@12_initialized___do_global_dtors___do_global_ctors__imp__GetVersion@0_pcap_char_no_optimize__imp___setmode__nm__PacketOpenAdapter__data_start___PacketCloseAdapter___DTOR_LIST____imp__getprotobyname@4__imp__GetLastError@0__nm__PacketSendPacket__imp__PacketOpenAdapter__libmsvcrt_a_iname__imp__getc__imp__abort__size_of_stack_commit____size_of_stack_reserve____major_subsystem_version_____chkstk_PacketSendPacket__imp____mb_cur_max__imp__strpbrk_GetLastError@0__imp__PacketCloseAdapter__imp___pctype__nm__PacketSetHwFilter__nm__PacketFreePacket__imp___iob__imp__PacketGetNetType__libmoldname_a_iname__imp__strdup_vnode_base_getprotobyname@4__imp___isctype__imp__PacketGetStats__bss_start____nm__PacketGetNetType__size_of_heap_commit____imp___errno__imp___snprintf__imp__PacketAllocatePacket__head_Packet_dll__imp__ferror_PacketGetAdapterNames__imp__getservbyname@8__imp__puts__minor_os_version____nm__PacketGetStats__head_libmsvcrt_a__image_base____isctype__imp__exit__section_alignment___socket@12_optreset__imp__htonl@4_PacketSetBuff__head_libmoldname_a__imp__htons@4__nm__PacketReceivePacket_strerror_gethostbyname@4_getservbyname@8__data_end____CTOR_LIST____imp__sprintf__bss_end____head_libwsock32_a__nm__PacketCloseAdapter_PacketSetReadTimeout__imp__ntohl@4__imp__fgets__imp__socket@12__imp__strchr_PacketInitPacket___CTOR_LIST____imp__PacketGetAdapterNames_PacketGetNetInfo__imp__PacketSetMinToCopy__nm__PacketGetNetInfo_WSAStartup@8_n_errors__imp__PacketSendPacket__imp__fread__imp____dllonexit__imp__memcpy__imp__PacketSetHwFilter__imp__strcmp__imp__inet_addr@4_PacketReceivePacket__nm__PacketGetAdapterNames__file_alignment____imp__atoi__imp__malloc__imp__strncpy__nm__PacketAllocatePacket_PacketSetBpf__major_os_version___pcap_leng_PacketGetStats__imp__PacketSetReadTimeout__nm__PacketSetBuff__imp__realloc__imp__gethostbyname@4__imp__PacketFreePacket_pcap_text__imp___fileno__imp__rewind___dllonexit_eproto_db__DTOR_LIST____imp__fprintf_FormatMessageA@28__imp__memset__imp__fclose_pcap_nerrs_PacketSetHwFilter_PacketAllocatePacket__imp__close_PacketSetMode__size_of_heap_reserve____subsystem___GetVersion@0__imp__fflush__imp__PacketGetNetInfo__imp__strcpy__imp__calloc__net_stayopen__nm__PacketSetBpf__imp__fopen_gethostbyaddr@12__imp__PacketSetBuff__imp__strerror__imp__PacketReceivePacket__imp__free__snprintf__major_image_version____loader_flags____setmode__imp__printf__nm__PacketSetMode_inet_addr@4__head_libkernel32_a__vsnprintf__minor_subsystem_version____minor_image_version___PacketGetNetType__imp__PacketInitPacket__imp__gethostbyaddr@12_PacketOpenAdapter__imp__PacketSetMode_pcap_lval__imp__WSAStartup@8_pcap_fddipad__imp__sscanf__imp___setjmp_pcap_out_next_vnode__libkernel32_a_iname__imp__FormatMessageA@28__imp__PacketSetBpf__imp__longjmp_Packet_dll_iname__imp__ntohs@4__nm__PacketSetReadTimeout__libwsock32_a_iname__nm__PacketInitPacket_PacketFreePacket__imp___vsnprintf__serv_stayopen_PacketSetMinToCopy__nm__PacketSetMinToCopy__imp__fwritetcptrace-6.6.7/cygwin-libs/winNT/0040755001217500001440000000000010142531754016342 5ustar mramadasuserstcptrace-6.6.7/cygwin-libs/winNT/Packet.dll0100644001217500001440000011736007511147362020257 0ustar mramadasusersMZ@ !L!This program cannot be run in DOS mode. $PEL$=f 8.L@2 `p@.text-. `.data`@2@.bss P.edata`4.idatap8@.reloc@>.stab@B.stabstrHBUhPhPu*1҅uÉUhPhPu)ÍvUVSu u8h*Pu) 1KP0)uVuIÃu u"u=Pu1 ؍e[^ USPt:P9rvtЃP9sP;)Pj)]ÐNPFNetgroup Packet Filter\npf.sysSYSTEM\CurrentControlSet\Services\NPFU] U WVS]߰ЍEPH(ƃ߰@PVjSjj(e[^_]U VSujjB(P(Ãt[CSjV SjV E Sr(P|(S`(Pz(E1e[^]ÐGlobal\UtS]jhEP'jEPjEPjjhP.(tlfEEPjjj"('(=t0t􋃈P( EPjjj't '=t1vǃ]]ÉU WVS} u1ۃV' tOjjjjjVjjjh$@P @PEP,( u^'=1u?tP( u*'؍e[^_]ÉUWVSuE1v1Cf w;ÍTPftf.u܁w Eu ft ftG~E[^_]ÍvU0@]UWVSu} jjB&P &ÃtwCSjVCCSjVECG S%P%S%P%E1e[^_]U,WVSh?jj&ƃtEh @PV&Ãt(EPjS&ǃSS&VM&1e[^_]%s\drivers%sPacket_\\.\%s%sU<WVSDžh?jj%@u $pvfDžSh%(@PS$CP($Phj,@Ph%ƃtSP@PÃP% j @P@P.%‰@.PRK%t jj@P5%g#Á THS$ =@t@Px$ #vhP#l(@PPhS"t SP@PÃvj @P@P$‰@t}PR%$t tbjj@P$uI"Á t:t2S" =@@P^#|"=@t@P<# ExtPlj}1hjB!P!ƃu!$"ÅW džEPh.h>^ST!jjjjjhS,"u>EPF Pj "tUjjjjjhFP!t0Vt VCt W+ LvO!Åt W V P V P SM!1[^_]ÉUS]P P[!P Sy P Sm P ]]Uj(jB+ P5 u1]ÍvUS]S" P, S P* ]]ÍvUEU MPH@ @$]ÍvUVS]u t"uPP jF PFPFPPz e[^]ÉUMU jEPBPBPPW ]UUjEPjjjE PhPZ]ÍvUUjEPjjjE PhP*]ÍvUE]UUjEPjjjE PhP]ÍvUUE EjEPjjjEPhP]ÍvUUjEPjjjE Phx%Pz]ÍvUMU jEPjjPBPhF#PC]UMU jEPjRjjhG#P]ÍvUEjURP RPRP} tPEP]U$SjjBjPtÃtSCE CSjEP}ESJPT(S5POE1]؉] SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}LinkageExportUpperBindNdisWanSYSTEM\CurrentControlSet\Services\Tcpip\LinkagebindCan not find TCP/IP bindings. In order to run the packet capture driver you must install TCP/IP.UWVSDžpDžXhjBP\2 |Phjh h xoShjV|PShjhxPtPjjjhxPXu tphVXP|PrpPjBPht pU ;v7\QP\PP 1DžXvXxPhjP|PxPhjhxPwDžttPVjjhxPǃu^hVPtIp)ډttPhPjjhxP3ǃu t\hPXQ|P|P ShjB P`ujhPPhRP  \QP\PPA `dDžX1ۋhf9u fyXhQPDU ;TXhJMYXDJUDZhDJMDYXDJ UDZ ..MDYBDYBDYB fDYXXhf|Bt.XhJMfYXCXf|BuԃTMQPƃtG\ @ǃ1@\PjVft \zu TOv\\ytvdBAd:udBdV/Xhf>:???0Q00012355f66 7a77A88G9Q9Z9c9x9999999999 ::2:B:R:b:r:::::::::;;";2;B;R;b;r;;;;;;;;;<<"<2Yv_wcslen* * p,,+,%88PF\r,xL+ __end__( ,8 M 0* _mallocp* Z ,h     X D ,  , *  H* _endB 0,P a u  (   P+   `, $" ,1 +F \ ,q , 0+ gcc2_compiled.___gnu_compiled_c_next_atexit_first_atexit_DllMainCRTStartup@12___dll_exit_DllMain@12_SChar2WChar_PacketSetMaxLookaheadsize_PacketSetReadEvt_PacketInstallDriver_inet_addrU_PacketGetVersion_PacketGetNetType_PacketStopDriver_PacketOpenAdapter_PacketCloseAdapter_PacketAllocatePacket_PacketFreePacket_PacketInitPacket_PacketReceivePacket_PacketSendPacket_PacketSetMinToCopy_PacketSetMode_PacketGetReadEvent_PacketSetNumWrites_PacketSetReadTimeout_PacketSetBuff_PacketSetBpf_PacketGetStats_PacketSetHwFilter_PacketGetAdapterNames_PacketGetNetInfoEx_PacketGetNetInfo_PacketRequest_initialized___do_global_dtors___do_global_ctors_CreateEventW@16_CloseServiceHandle@4__imp__MessageBoxW@16_SetLastError@4_SetEvent@4__imp__CloseHandle@4__data_start_____DTOR_LIST____imp__wcsrchr__imp__CreateServiceW@52__imp__GetLastError@0__libmsvcrt_a_iname_GlobalLock@4__imp__ControlService@12__size_of_stack_commit____size_of_stack_reserve____major_subsystem_version___GlobalUnlock@4_NPFServiceName__imp___wcsicmp_MessageBoxW@16_GetLastError@0_CreateServiceW@52__imp__GlobalHandle@4_NPFDriverName__head_libuser32_a__imp__WriteFile@20__imp__GlobalFree@4__libadvapi32_a_iname__bss_start____imp__CreateEventW@16_GetFileAttributesW@4__size_of_heap_commit____imp__RegCloseKey@4_ReadFile@20_GetCurrentDirectoryW@8__imp___errno_PacketLibraryVersion_MultiByteToWideChar@24__imp__wsprintfW__imp__wcslen__imp__CreateFileW@28__imp__DeviceIoControl@32__minor_os_version____head_libmsvcrt_a_CreateFileW@28_DeviceIoControl@32__imp__DefineDosDeviceW@12__image_base____section_alignment____imp__RegOpenKeyExW@20_RegOpenKeyExW@20__imp__OpenServiceW@12__imp__CloseServiceHandle@4__imp__GetFileAttributesW@4__data_end____imp__wcsncpy__CTOR_LIST____bss_end___GetSystemDirectoryW@8__imp__RegQueryValueExW@24__imp__WaitForSingleObject@8__imp__StartServiceW@12__imp__SetLastError@4__wcsicmp_OpenServiceW@12___CTOR_LIST____head_libadvapi32_a_GlobalAlloc@8__imp__QueryServiceStatus@8_WaitForSingleObject@8__imp____dllonexit__imp__memcpy__imp__GlobalUnlock@4__imp__RegEnumKeyW@16_ControlService@12__imp__OpenSCManagerW@12__file_alignment____imp__malloc__major_os_version____imp__ReadFile@20_CloseHandle@4__imp__GetCurrentDirectoryW@8__imp__GlobalLock@4_RegEnumKeyW@16__imp__GlobalAlloc@8___dllonexit__DTOR_LIST____size_of_heap_reserve____imp__SetEvent@4__subsystem___szWindowTitle__imp__wcsncmp__imp__fflush_QueryServiceStatus@8__imp__MultiByteToWideChar@24_StartServiceW@12_wsprintfW__imp__free__major_image_version___WriteFile@20__loader_flags____libuser32_a_iname__imp__GetSystemDirectoryW@8__head_libkernel32_a__minor_subsystem_version____minor_image_version___GlobalFree@4_scmHandle_srvHandle_OpenSCManagerW@12_NPFServiceDesc_RegCloseKey@4_DefineDosDeviceW@12__libkernel32_a_iname_RegQueryValueExW@24_NPFRegistryLocation_GlobalHandle@4tcptrace-6.6.7/cygwin-libs/winNT/cygwin1.dll0100644001217500001440000334451007511147362020433 0ustar mramadasusersMZ@ !L!This program cannot be run in DOS mode. $PEL Jb#= " 8 zp a1 Max( X.text@  ``.datas t @/4Dp R @/17x T @/31\ X @/46h ` /61 j @/76 l /91 n @/103 p /115 r @/127( t /139x v @/153 x /1670 z @/180@ ~ /193P  /207`  /2204p  @/235@  /250D  @/262`  /274  @/289  /304   @/316  .rdata  @.bss`x.edataMab .idatax @.rsrc($ @.relocX * CONOUT$assertion "%s" failed: file "%s", line %d Failed assertion %s at line %d of file %st&U($auu}} ]D$@D$D$ J aD$D$D$_t/t+$_E$ at$D$|$ n4$ sel E\$$D$`at$|$ D$貳$\$D$D$  0 렐couldn't dynamically determine load address for '%s' (handle %p), %EZBtHZ%)PP^XpBPhaUR$P@@P^uYA)ȃAPaP%P: *** could not load %s, %E&'UWVSEEӉU$O^uiEPt'$F^EEaEux e[^_]ÃE$)^tUB뼋UB4$u:UB롉$]$]$]us$SaED$Qlong long int wsock_init()WSAStartupres %dwVersion %dwHighVersion %dszDescription %sszSystemStatus %siMaxSockets %diMaxUdpDg %dlpVendorInfo %dUVS uv$( a\t $( a\$\̀=( at-$( a\EPaEauEUe[^]ËCD$ma$d\t$D$@\aЋ4] au ( a땉D$$0] aD$@D$RaD$ xaQ4] at@\a$0] aD$@D$RaD$D$ a4] atB\a$0] aD$@D$RaD$D$ a4] aR$0] aD$@D$RaD$ aD$D\a4] a$0] aD$@D$RaD$ aD$E]ao4] a]a$0] aD$@D$RaD$ aD$34] a]a$0] aD$@D$RaD$ aD$ 4] af$0] a]aD$@D$RaD$ aD$4%P: *** couldn't allocate new cygwin heap for child, %E&U$]ÉuΉL$D$D$ DZt$( at$D$ u]]$aRMUWVSU( a$D$( a=( a$D$J a)D$D$ D$ LYF8$D$D$D$ D$D$YÀ}t'( a$( aF0( aF4e[^_]ÉΐU]ɉÉuu#$DYF8$Xu]]$( a؋( a ( a)щa( a$릐void cygheap_fixup_in_child(bool)couldn't get memory info, %ECouldn't reserve space for cygwin's heap (%p <%p>) in child, %E%P: *** m.AllocationBase %p, m.BaseAddress %p, m.RegionSize %p, m.State %p %P: *** Couldn't allocate space for child's heap %p, size %d, %E&'UVSPt) aEE׋B4J0( ana ( ax H!B8D$L$D$$D$D$ 9W ( a9 $( aD$ LD$ )D$ V\$( aD$D$ $Vt$( a\$$ 4$Vt) a@8$U}tX( a1ɋtE&'Kt'w"C~c%dC [uɍe[^]E( aEEEEEEE$D$D$U u$$0] aD$D$aD$ an$0] a( aD$D$aD$D$ at$=E$aD$E؉D$ED$ ED$eHt) a@8D$D$D$$D$ D$ U ( a$`a( a\$D$H%P: *** couldn't commit memory for cygwin heap, %EU]1ɋ( auutk( aڍ( aut9t %9tt.$uD$D$D$ St؋u]] $aGcygheap_protectt&U[a帰( a$( a*( at]ÐB򐍶UVS9s&Ft9r$( a( aDt!ËD3( a$AC[^]ÍC$( aÉ0Cː&U]á( aus$^( aKDC( at$u]]ÐU]Éu}t?H9 ]u}]Ét$lj$\$ `ωvoid* cmalloc(cygheap_types, long unsigned int)cmalloc returned NULL/netrel/src/cygwin-1.3.12-1/winsup/cygwin/cygheap.ccv'U(}ǍB]ut#;D9( as( aC]u}]$0] aD$D$aD$ 0au`a%1븐void* crealloc(void*, long unsigned int)crealloc returned NULL!inheap (s)t&U(uƉ}׉]( at;r;vt^؍Wvt#3D9( as( aC]u}]$0] aD$D$ aD$ I au`a&1$`aD$9D$` aVk]u}]Kv'U]á( att;r ;vC]]$`aD$ED$` aԍt&U$Ét$֋t =p) at}3t$$]Ðvoid* ccalloc(cygheap_types, long unsigned int, long unsigned int)ccalloc returned NULLUWVSEFGtfxvt @x V1tftt!ED9( as( aC[^_]$0] aD$D$"aD$ C"au`a$1U$]u P]1t$t$ ؋]u]ÐU$]u P 1t$t$ ؋]u]Í'bool init_cygheap::etc_changed()/etcCan't inherit /etc handle, %ECan't open /etc for checking, %E&'Ux]]uƅt=t 1їt]u]Ë$LƅՉ$#a!;D$4$D$L @( a$D$T$D$D$D$ D$lLt -t$$0] aD$D$#aD$ #aD$$0] aD$D$#aD$ $at$D$awUWVS u }>/$t$B 4$ tJ</tW$ED$ E$  t \t [^_]H1ɉ 扐뛸Q~=t렉U]Ðv'U]v'U]]uu E}ugtZ}u ]u]ÍvC 11ҍC1ҍC1ҍCxu1ҍC]]et&&a량蒊u념t&Uuu ]]t>Cu(Ct!$(D$t$x ]u]1򐍴&U]]Ct>C u(C t!$(D$CD$x ]]1void init_cheap()Couldn't reserve space for cygwin's heap, %E%P: *** AllocationBase %p, BaseAddress %p, RegionSize %p, State %p UH$haD$ LD$ D$ H( at ( a]$haE؉D$D$!H u$$0] aD$D$5(aD$ a$0] aD$D$5(aD$ `(aE$(aD$E؉D$ED$ ED$:U]]D$D$$<C& aC]]Ð&U]]D$D$$C& aC]]Ð&U]]D$D$$C& aCCCCC ]]ÐU]]D$D$$\C& aCCCCC ]]ÐU]]D$D$$CCE & aCECECEC ]]ÐU]]D$D$$CCE & aCECECEC ]]ÐU]]D$D$$\t& aC]]Ð&U]]D$D$$t& aC]]Ð&UEUH aPE AA]ÍUEUH aPE AA]ÍUE a]ÉUE a]ÉUE aE] v'UM EQQPQ P]virtual void client_request::send(transport_layer_base*)&bytes written != request size failed reading response completed ok Sent request, size (%ld) this=%p, conn=%p header.cb = %ld U(]] uuۉ}t:4] aj~$|$D$ P tDF 4] au ]u}]$0] aD$@D$-aD$ @-a͋N 4] aD$ $|$P t2F 4] at$0] aD$@D$-aD$ _-a땋Nu14] aU$0] aD$@D$-aD$ y-a]$FL$D$R ;Fz$0] aD$@D$-aD$ -aD$2$FL$D$R;F$0] aD$@D$-aD$ -at$\$=4] a\$0] aD$@D$-aD$ -aFD$[,int cygserver_request(client_request*)connected to server %p U(uu]t = at]u]Ðt&= atwBË$PtR4] au\$4$$P$0 1$0] aD$@D$/aD$ 0a\$d뷉$ qt&~bu%P: *** error connecting to cygwin server. error: %dt&'%P: *** incompatible version of cygwin server. client version %d.%d.%d.%d, server version%ld.%ld.%ld.%ldU8= a]ut a]u]Í&= at$$ $!$ۉu'x){u3{u-Cu& a뛋$P $1at$"2$@1aD$D$D$ D$CD$CD$CD$C D$ 1U]na@ $t$<L $؋]]$- $ ߐUE$ a]ÉUE$ a]ÉU]Ðv'U1]Ð&U]Ðv'U1]Ð&U1]Ð&U1]Ð&U]Ðv'U]ÐU]]uu $F44% aƃ8u]]]U]]uu $44% aƃ8u]]]U]]$C@lpc14% aƃ84C0\\.\C4pipeC8\cygCaD$ %?a褺֐U]]$LE & afCCC C /tmpC/cygCdaemfCo$D C]]ÐU]]$E & afCCC C /tmpC/cygCdaemfCo$ C]]ÐU]]$C & aCfCC /tmpC/cygCdaemfCo$ C]]ÍU]]$,C & aCfCC /tmpC/cygCdaemfCo$# C]]ÍAnd the OS just isn't listening, all it says is %d Bind doesn't like you. Tsk Tsk. Bind said %d Socket not created error %d t&U]]$D$D$ȳC}C$CD$CD$du@CD$$=x ]]Éۓ $AaD$ ލ&軓 $PAaD$ 맍&蛓 $~AaD$ gNup, could' accept. %d UuE]P$PT$D$xx&$F $Ét$؋]u] $lBaD$5 1ېUE@E]Q &'UE@E] &'UE@E]N3 virtual bool transport_layer_sockets::connect()client connect failure %d t&U]]1҃{t ]]Ív$D$D$蔱C$CD$CD$y4] auC$P 1赑 D$ Ca$0] aD$@D$pCaD$軵C&'U] at Xu]]ÃЋuUVSE uu( au@  au6 a'u9w#= at [^]$DaO 9w҉int insert_file(char*, char*&)ReadFile failed, %Emalloc failed, %Ecouldn't get file size for '%s', %Ecouldn't open file '%s', %EUWVS,]D$D$C$D$ J aD$D$D$*[$D$+U $ D$fE4$E|$D$D$ED$ w+É4$**t9}t@4] aut&1e[^_]$0] aD$@D$0EaD$ OEa@΋UD: U $D$B E U륍v4] at$0] aD$@D$0EaD$ cEa롍4] ac$0] aD$@D$0EaD$ Ea\$諲64] a#$0] aD$@D$0EaD$ Ea'\"UVS]EE t}'GatGa}tC;u ؃[^]Ív$t$$ t,8\t}"ux"u\Aˀ9tƀyYu뻍Y붉ȉڈĊ8tBu1҉Љ띉$CD$ MȈĊ8tBu1҉Ѕt$@D$ [Ċ8tCu1ۉ؉int globify(char*, char**&, int&, int&)?*["'(){}'"argv[%d] = '%s' v'UWVSl]e<~t$D$Ha 1҅ 11$N t {:au,1<"F<'>tCt {$D$Ha $ ٍV׍D3 |$t@ 1<"<'t<\ABuEE<$D$ D$D$ uEue1ҍe[^_]UM:8;yM UȋӍ4t!4] au#uUȉ$mbe띉|$G$0] aD$@D$HaD$ HaD$T몋U $D$1bM ^\BAtA8t+'u<\t.\BABt8uJt&8uA8t<\uAûs$ 1$ {:void build_argv(char*, char**&, int&, int) argc %d&%P: *** Too many levels of nesting for %sUWVS,EEU ME9t? KaÈĊ8tBu1҉Ѕt^AME8uЋMM  4] au e[^_]$0] aD$@D$KaD$ LaT$#̐1tOv'<"M]t<'>AMMKaÈĊ8tBu1҉Ѕuu9tEEt 9t >@;U}tuR4] auM 4BUT$$0] aD$@D$KaD$ Hat$KE븉4$E UD$ET$D$ M|M B ED$$^MU DE} P4$UT$}HM $ϋM1tM~D$3$Lat$%P: *** cygwin DLL and APP are out of sync -- API version mismatch %d < %d%P: *** Incompatible cygwin .dll -- incompatible per_process info %d != %d%P: *** cygwin DLL and APP are out of sync -- DLL version mismatch %d < %dt&U]MAvgQuG a9u"iQ ==Jw1H) a]]$NaT$\$J$OaT$D$$pOaD$D$%P: *** fork: can't commit memory for stack %p(%d), %E'%P: *** fork: can't reserve memory for stack %p - %p, %E&%P: *** fork: couldn't allocate new stack guard page %p, %Et&%P: *** fork: couldn't get new stack info, %EUVS@u) a x) a$;|) aW9OЋ(E)‰$T$D$ D$ (FDD$ @D$)É$D$a$]؉\$D$ }t>\$ED$$W E؉$E e[^]ÍUءnaJU@ D$$D$H%@D$ rA$PPa\$FDD$$Pa$D$(ދ(E)$PaE؉D$$Qa~%P: *** fork: couldn't get stack info, %EU(]]u}eCD?@%* D$x) at$ 4$D$ t;$9|) at$$7D$e]u}]Ðt&CD$Sav'U]]C$IQ]]void dll_crt0_1()mainmainthreaduser_data->main %p.exe&'UWE1V1S<$h$0nal$ a@$p aD$0 a aL a$gP a$( aD$)iz$Ta$( aD$Tat) at@@Y( a$GW$S( a$| ) a$ ) aP$j $ ) aá ) aPD$$D$ ) a$ ) a\$P) a( a4$|$賂5am5 t) a_t) a@@8N F蟻 aA at(1D$ a a$ aD$ aCvڡ( a$>9 aaat$1ۉ؉ֈĊ8tFu1Í@9qatl$< aucaatIلt@< t<v'1/%\Y؉t< uЉ$hU$, aa_.= at+D$ a a$ aD$ aCvڋ54] au`$< at ae[^_]Íva1$DI a at&$0] a aD$@D$TaD$ *TaD$#nA=TaY}Ct$D$/N at@" at& $豾 % \$D$$趽 = aJ a1Ҁxx at$T$ D$ aD$ ap a:ʈĊ8tBu1҉Ѕt"\$ $\$t a\ʈĊ8tBu1҉Ѕu$D$ Lv$aD$ _aaOt) azDt(d$dBT$BD$:$޿t) a$^) aD$$}#t) a@D0ga$萿 t) aA@@E) a$ED$>} t) aQ@Brz aB  a( a$A(D$sMt) afx$+t) a@($t) aB@@S$aB@@D$[ at) a@@@f#( a$A@@D$T$D$D$ED$ D$ft) a@D$X a$ aD$ aD$҉$芋 CYGWIN_TESTING\new-cygwin1.dllv'U(]$[a\$D$ u]]h) a7 a\$D$$ t҃v͍D[aUtl) avoid _dll_crt0()unknown exec type %dproc sizefhandler sizeprocv'UWVSL" aEEEEa1D$4$\$D$D$ ( aD$D$D$( aD$D$ ( a$T$D$D$H$) ai) af=) a?Eԣt) aƸ}؉~EԋP%=Xt) a1ۉ‰E@titK$0] aMD$D$B\aD$ S\aAD$&1t) a$e[^_]ËMԻ,A( aB,uru@U;Zt%$h\aB\$D$= t) aMhEԁx<t$r\a@Find/Search facility and delete all but the most recent version. The most recent version *should* reside in x:\cygwin\bin, where 'x' is the drive on which you have installed the cygwin distribution.U(=h) a]]uut%$D$\aR t1t) a]u]$eaD$D$  uE 9u5$0] aE D$D$eaD$ fa\$D$t$͑$PfaE \$t$ D$U} ]]t ]]Ít&tXtuE<a]]X11ң0a a(a$<aX1a1a1a뭸 a,) a 0) a4) a& a,) a{ a ) a $) a() a a ) aI a) a  a1ɣ) a ) a) av'U$D$]ÉU$D$]Ðthreadname_lockU,+ aia[ * a]ÉUWVS * a}u`1ۍ&0* at<$t$i t,9<,* at#Cv֡ * au [^_]$40* a<,* a$M뒐v'U];( at,0* a1҅t ,* a9 ӸtBw 0* au1]]ÐU]EuXpD$$;E$轐$փ$-UWVS,ML+ a, as%v$D$t , ar$뽉s{E\$ $J aD$ED$D$jaD$tE$E2e[^_]unknown (%p)UW1VSà t * aut0* a1t,* a9tU@w 0* aut * au-t [^_]$, a, aD$ka\$X׉$ɋ<0* a$<{bUW}e1ǐe_]Ðvoid delqueue_list::queue_file(const char*)Out of queue slotsadding '%s' to queue %d&UWVSLE D$}$D$D$ eu'1'7eFc~1ۉet7Cc~$0] aD$D$laD$ ma'e[^_]É$D$- 1ɰee4] at$0] aD$@D$laD$ /maD$\$뗉$D$, 2x void delqueue_list::process_queue()Deleted %sHmm, don't know what to do with '%s', %EStill using %sRunning delqueueUWVS}eu@e 4] a1'7euFc~e[^_]É$t?4] au 17e$0] aD$D$naD$ na\$T1 etAna@ tt*4] at$0] aD$D$naD$ na렡4] a:$0] aD$D$naD$ na\$ȉ $0] aD$D$naD$ oa蟉U]int dirfd(DIR*)-1 = dirfd (%p)t&U]]$Bu!;BBtW a 4] au]]Ðt&$0] aD$D$paD$ pa\$ÍCP 뺐&UWV1Slƅ( aEE$EEEEEED$D$D$ |$D$D$$t}u, a1t l[^_]Åt$P|$$dirent* readdir(DIR*)%p = readdir (%p)\.U(]$]u}"A1҅u;BBtX a 4] au1ҋ]Ћu}]$0] aD$D$$raD$ :raD$\$N뽋C\$$t!x.tCLraARV[6RC낀xu SCB@%=.ueC$ F |$<$CD$ D$\<$# t=<$D$\ t[1QCek[1Nraeu;BBt]]ËC\$$int closedir(DIR*)-1 = closedir (%p)%d = closedir (%p)&U(]$]u%>u";BBtP a 54] au]Ћu]$0] aD$D$uaD$ "ua\$VC\$$ơ( a$C@ D$nC$6C$6$6 4] aue$0] aD$D$uaD$ 5uat$ǃint mkdir(const char*, int)%d = mkdir (%s, %d)t&/netrel/src/cygwin-1.3.12-1/winsup/cygwin/dir.cc&'U"WVS|$J aU} EءJ aEܡJ aEhEtaMЋ at4] au e[^_]$0] aED$D$[vaD$ wvat$D$|$观t&؉$tjatExy$E؉D$tOjau `^au1\\$E%$( a!% @D$( øva$ae ( aT$D$ T$!% @$E؉D$M@int rmdir(const char*)%d = rmdir (%s)c:\U}"}]􍝨uؾ$UЅtT a4] au]u}]Ít&$0] aD$D$hxaD$ xat$|$뿉EԃE܃u at1҃t tu aM1҃t t5$t%$@t aZ1( a 8ustBvaL&_E1҃t t$E܉D${na@ t aZ뮡( axa7pB$xa0u$<<$( a$щ$E܃D$ a"%s: %E&Ue@D$0{a$$ED$IF@@ ]\/.dllLD_LIBRARY_PATH=Uhuu]}} 4$p t=~]u}]Ít&<$t$d |3.t84$D$.蝞 t$D$w{a) t<$D$z{a襘 E11EEEEEEƅt&void* dlopen(const char*, int)dlopenret %p/netrel/src/cygwin-1.3.12-1/winsup/cygwin/dlfcn.ccU8O}a]]>$1ۉD$t}$tV4] au#O}a=؋]]Í$0] aD$@D$0}aD$ V}a\${본p}aiZ&u$O}a|$LՐvoid* dlsym(void*, const char*)dlsymv'U]E$E D$t=4] au ؋]]$0] aD$@D$~aD$ V}a\$z$~adlcloseURa}}]ue<$I9t<$Ht1u.$Ra<<}]u]$RaQU];1ۋH u ؋]];X$퐐U, a, a, atutp, a9P0t , autN $, a, at&, at, a9P0t , auuá, a, a랐UVESpt)Nt t&@uX~ K[^]Ít&UVESpFt'CЋu[^]ÉU]a]uSD. at ]u]ÍC$RC$t$D$D$Љō&'UVESu X t$&'S8&0څuu1[^]É/netrel/src/cygwin-1.3.12-1/winsup/cygwin/dll_init.ccv'UWVSE T$D$$G $, aL$8t@,e[^_]Í1$cUB@v'$L$D$1҃ tGЁ~F,F4F8T$$ VM N(MAFA,BA0BA4B A8BA`볉$ED$M| /EЋ}Ċ8tGu1O/\Bȉ׈Ċ8tGu1u&1 $!E@x$1`ه|$É$[\1`赇$+]1h蕇D$É$D$zV1`e|$É$21LAt$É$I1\$CUB 1@$$0] a1D$D$ЗaD$ Pat$v^18蠆$V#q1P耆|$É$IM1T\|$É$!)188$ 18$~1D|$É$1Hԅ|$É$fS1L谅$1H萅$>a1Dp|$É$20=1PL$"f1T,$Ҳ1T $Rx'fhandler_base* dtable::dup_worker(fhandler_base*)duped '%s' old %p, new %pt&UWVS] ESD$$D$T$D$ D$|Nj\$<$G |$$PXulg54] au [^_]Ës,$Ë<$t$$0] aD$@D$paD$ aT$D$[륉ł1int dtable::dup2(int, int)dup%d = dup2 (%d, %d)fd %d not opennewfh->io_handle %p, oldfh->io_handle %pnew fd out of bounds: %ddup2 (%d, %d)UWVS,4] a} a}Pai1ۅxU;z}  uYaY4] aul a a(4] aue[^_]Ðt&$0] aED$D$aD$ at$|$D$Y$0] aD$D$aD$ ўa|$YgEH19}\E$D$/E84] aPa3E1ۅxEM;H} uYatYEM;Hs)MUM։ $m$L$yNjU$P0U$~륋M $UË$D$ a$0] aD$@D$aT$D$pX4] a$0] aMD$D$aD$ aL$kv$0] aED$@D$aD$ 2a|$D$X;select_record* dtable::select_read(int, select_record*)%s fd %d&'UPa(}1]]uuEE xE ;C} U uYa1t a 1]u}]ÍvU t$$ƋE ^F =4] au뽋C,U $0] aD$@D$0aD$ haD$T$Vȉ'select_record* dtable::select_write(int, select_record*)UPa(}1]]uuE xE ;C} U uYat a 1]u}]ÍvU t$$ƋE ^F 4] au뾋C,U $0] aD$@D$paD$ haD$T$UȐselect_record* dtable::select_except(int, select_record*)UPa(}1]]uuM xE ;C} U uYat a 1]u}]ÍvU t$$ƋE ^F 4] au뾋C,U $0] aD$@D$aD$ haD$T$LTȐvoid dtable::fixup_before_fork(long unsigned int)fixup_before_forkfd %d (%s)UW"aV1SE }EW9s*t4] au2$UT$PWF9r׃["a^_]\C,t$$0] aD$@D$aD$ 4aD$=S띍t&'void dtable::fixup_before_exec(long unsigned int)fixup_before_execUW"aV1SE }EW9s7t(Cu4] au2$UT$PWF9rʃ["a^_]OC,t$$0] aD$@D$aD$ 4aD$0R띍&'UWV1S }GW9sQt&t?C(CCC C$Ct<$t$ WF9re[^_]ËU $T$P t*w؋$L. a$D$볋$L. aڍt&'void dtable::fixup_after_fork(void*)v'UWV1S}W9sVt&'t=Su t4] aueU $T$Pt:vWF9re[^_]Ë$L. a$D$ˋ$L. aڐt&C,t$$0] aD$@D$ШaD$ 4aD$APgUWaVS uV>x1҉E( aH8t x4t1;^rbFE( a1ɍX8t x4tu!a|e[^_]Ë$ ̸Pa(1x;^} uYat C;^rN4$D$Eɉ t@ $D$R뼡 a  restore/netrel/src/cygwin-1.3.12-1/winsup/cygwin/dtable.ccfds_on_hold != NULL&UWa]]u ZC3t/C_uWau]]Ð$paD$D$aTdC void dtable::vfork_child_fixup()herev'UWVSuF4] a( a1ۋ>;}bt&tBB(BBB B$Bt64$\$g ( aC;|F>Name.Buffer == NULL\device\derived path '%s'\Device\LanmanRedirector\remote drivecurrent match '%s'nt name '%s'ÛWVS4 1] 󫍅EfD$$t$D$ D$82 tXsomeC disCk fifC leC54] au ؍e[^_]$0] aD$@D$aD$ aKЋu5 4] au1뺐$0] aD$@D$aD$ ƭaJfBx~4] a+x~ޭat$t$D$ u$x~|${f ~Ѹ\Ċ8tBu1҉Ѕ1`}1\}tk&ƅu~:Ċ8tBu1҉Ѕt%4$h}|$D$ c 1Ċ8tFu1xpu`}x~\}$f Ƌ\}|\tl)`}t$`}Nj\}<$D$N >\4] au<$\$$0] aD$@D$aD$ a|$IN둉a{tƅ~\54] a~t$0] aD$@D$aD$ aHd&<$D$;i t-\ȉ׈Ċ8tGu1t$@D$d h}t&! t€u҃)π/g}\;`}Rh}x~7/x~t<\#`}4] a\} $0] ah}D$@D$aD$ aD$GO1/h}jĊ8tAu1ɉJ$0] ax~D$@D$aD$ 3aD$LGU]PATH=HOME=LD_LIBRARY_PATH=TMPDIR=TMP=TEMP=void win_env::add_cache(const char*, const char*)posix %snative %sv'UWVSÃ$c S@D$$yC$|$b 4$Zc SЋS @D$$EC $D$Tb { Ct$$@b 4] au[^_]$0] aCD$@D$0aD$D$ baE4] at$0] aC D$@D$0aD$ kaD$E뗉<$SsS $@D$C $D$a K C<$ȉD$SJwin_env* getwinenv(const char*, const char*)can't set native for %s since no environ yetUW1VS atDX. at91ۍv'4$X. aD$\. aD$4c t X. au1҃[^_]ÍX. aE)!tQt7t at UBuE1U빉4$D$_ t݋X. a$u54] at$0] aX. aD$@D$дaD$ aD$C뛍v'void posify(char**, const char*)=env var converted to %st&U1WVSE} EtD$qaU$_ <$VCD$E$E\$D$H E<$É\$V1?/H!ljl4] au#EUE$[^_]$0] aUD$@D$PaD$ saT$B밐UW1VS ]t<=t&CGt<=u>Ƌu 1 [^_]É$E|$D$` u ;=t u)ƋE 0C빐UE$ED$X]Ít&UU Ѕt u])Ѓ&'UWVS,uU Љ$E^ MEED$ $+1tJuuc>=4 aơ0 a]iv1E1҉pt U 11e[^_] U$eōv$^ ;EEt]t<=tv'Ct<=uu)]}MƋ]D$øn$EUD$T$_ MD=} $|$\ $} |$\ # $XÍp@E;P a4$EP atT‹5avtUt ftEaa{E1ɉL-ct$$aP a뽐v'U]]u*t$1t  a]u]Í&=ЉވĊ8tFu1t$@D$D$; 뵉$1멍v'U]] uutRt1t  a]u]À;=t4$1}\$D$ C߉ a뼐UVS]u4$\$t UBt܃[^]ignorecaset&UEt8u1 aa]úa mta a֍ a뽐void check_case_init(const char*)relaxFile case checking set to RELAXEDadjustFile case checking set to ADJUSTstrictFile case checking set to STRICTWrong case checking name: %sU(]]u}t(;t#޿auE4] a15@ au ]u}]$0] aD$@D$paD$ aA<͉غҼat64] a @ at$0] aD$@D$paD$ a볉غat;@ a4] a`$0] aD$@D$paD$ 0ah4] a/$0] aD$@D$paD$ Qa\$y;t&void set_file_api_mode(codepage_type)File APIs set to ANSIFile APIs set to OEM&'UEtBt]蕵4] at$0] aD$@D$aD$ ־a:ȍk4] at$0] aD$@D$aD$ aĐvoid codepage_init(const char*)oemansiWrong codepage name: %s&'U]]t;u ]]Ít&غau`غau34] at$0] aD$@D$aD$ a\$91 aE]]t& aEސUEt8u]É$D$D$j ~=t=ѣ aʐ&UD$ED$$oj D$$0na]binmodecheck_casecodepagedaemonenvcacheerror_startexportforkchunkglobnormalnteantsecsmbntsecreset_comstrip_titlesubauth_idtitlettywinsymlinksvoid parse_options(char*) noreturning%s %x%s %d%s (called func)CYGWIN%s &UWVSL]6$T V \$D$$S $D$aD$Lg a=ȉĊ8tBu1҉ЅSG X/ aX/ auf$D$aT$f n4] au e[^_]$0] aD$@D$aD$ a6Аt&u u낋CQt:t*t O4$)~:s 9J aCSD!u t+<$D$D$g tSD  4] ay$0] aD$@D$aD$ aD$CD$5A9t^tZCD$<$D$g 4] a$0] aD$@D$aD$ awSD뾅t u D$S4] a$0] aD$@D$aD$ aD$5f:ȉĊ8tBu1҉Ѕƅ1>-CF=ƅX/ aX/ at&'C uy;u58/ am4] au#$a\$D$j@$0] aD$@D$aD$ a\$'4볐t&D$a$N $C D$N C $C KProgram OptionsSOFTWARECygnus SolutionsCygwinUWEVSlƅ]$D$D$<aD$ ј$iP ζ \$t$ 4$hO $`P D$LaE؉$t$\$D$  u9$ƅE؉$ue[^_]vD$<$D$D$ MaD$VaD$gaD$<aD$*D$La<$t$\$D$ jt <$b$Qƅߐt&void environ_init(char**, int)default%p: %sCYGWIN=TERM=t&UWVSLEE` aUuI=X. at4X. a B aƀ aC aƀ a1uӻ` a$aEڡJ ax{MEE$'uÉNjEvt{uEEmX4 a]0 aiЃw.ޅt&Ð&$8,XuE}=aR}u}ue[^_]$$aEtΉ$EEd$6EP a)EEEu>U$yM9MEUԋ}E:==Ћ]ԈĊ8tCu1ۉ؉EЅ]t) au]ԋu9 EuNuЋ}Љ|$4] au#1UĊ8tBu1҉E@E$0] aUMD$@D$aD$ aD$D$/룍EԺa׉9Eԃ$#EԻa߉ƉE$0 t C aC;]rMԈĊ8tAu1ɉȉE!Sud4$MD$LEE܅u}E 1 aG}UMu4$,1ۉ$Ou}t]a&UEEE E ]GI char* getwinenveq(const char*, unsigned int, int)&'using value from GetEnvironmentVariable for '%s' warning: %s not present in environment&UWVSZ,MEBeN |$<$E\$D$W2 E;<$D$D$ C}1ERE<$E\$D$ؤ tA4] aueEe[^_]$0] aD$@D$paD$ a|$",ȋEXS4] aue1$0] aD$@D$paD$ aED$+̉$ED$G J&'HOMEDRIVE=HOMEPATH=LOGONSERVER=SYSTEMDRIVE=SYSTEMROOT=USERDOMAIN=USERNAME=USERPROFILE=t&'char* spenv::retrieve(bool, const char*)duping existing value for '%s'using computed value for '%s'no_envblock %dt&U(]ɉˉuƉ}UtH1҅24] aVx_=( a1ɍx8t x4tuM=4] auu؋}]]S$0] aD$@D$aD$ aD$*t&ЃN 99$D$FD$҅}tp) a<$F NȍP O$ËD$E V؉|$Љ$E 4] auڋ]Ћu}]$0] aD$@D$aD$ /aD$%)Ívp) a뻋N .=( aV]u}]$0] aD$@D$aD$ MaED$()char** build_env(const char* const*, char*&, int&, bool)&/netrel/src/cygwin-1.3.12-1/winsup/cygwin/environ.cc(srcp - envp) == nenvp %p, envc %d(s - envblock) <= tlenv count %d, bytes %d(size_t) envc <= (n + SPENVS_SIZE)envp %pt&UWVS\EEEUMEEۡ4] aEMtEԋUEԋaL$D$,$l$aD$D$pa{:1ɉ;UЅ}=p) a$@ MȃELMiUЋ$@ MȍLMUĉUЅD+:p) a$0] aUD$@D$aD$ aT$F#Uaa9ta蟳a]Ðint geterrno_from_win_error(long unsigned int, int)unknown windows error %u, setting errno to %dwindows error %u == errno %dt&U(u֋3 a]t1ۍ;3 atQ 3 au4] au ]u]$0] aD$D$aD$ PaD$t$ "Ƌ54] au4 a붉D$4 a$0] aD$D$aD$ ~aD$!Đvoid seterrno_from_win_error(const char*, int, long unsigned int)%s:%d windows error %dU(u΋ 4] a]u a ]u]$0] aD$D$paD$ aD$T$t$ 밐&U$Ét$zt$؋$]eNo errorOperation not permittedNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file descriptorNo childrenResource temporarily unavailableNot enough corePermission deniedBad addressBlock device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentToo many open files in systemToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead only file systemToo many linksBroken pipeMath arg out of domain of funcMath result not representableNo message of desired typeIdentifier removedChannel number out of rangeLevel 2 not synchronizedLevel 3 haltedLevel 3 resetLink number out of rangeProtocol driver not attachedNo CSI structure availableLevel 2 haltedDeadlock conditionNo record locks available474849Invalid exchangeInvalid request descriptorExchange fullNo anodeInvalid request codeInvalid slotFile locking deadlock errorBad font file fmt5859Device not a streamNo data (for no delay io)Timer expiredOut of streams resourcesMachine is not on the networkPackage not installedThe object is remoteThe link has been severedAdvertise errorSrmount errorCommunication error on sendProtocol error7273Multihop attemptedInode is remote (not really error)Cross mount point (not really error)Trying to read unreadable message7879Given log. name not uniquef.d. invalid for this operationRemote address changed'Can't access a needed shared libAccessing a corrupted shared lib.lib section in a.out corruptedAttempting to link in too many libsAttempting to exec a shared libraryFunction not implementedNo more filesDirectory not emptyFile or path name too longToo many symbolic links9394&Operation not supported on transport endpointProtocol family not supported979899100101102103Connection reset by peerNo buffer space available&Address family not supported by protocolProtocol wrong type for transport endpointSocket operation on non-socketProtocol not availablev'Cannot send after transport endpoint shutdownConnection refusedAddress already in useConnection abortedNetwork is unreachableNetwork is downConnection timed outHost is downNo route to hostOperation now in progressOperation already in progressDestination address requiredMessage too longProtocol not supportedSocket type not supportedt&Cannot assign requested addressNetwork dropped connection because of resetTransport endpoint is already connectedTransport endpoint is not connectedToo many references: cannot spliceProcess limit exceededToo many usersQuota exceededStale NFS file handle134no mediumNo such host or network path&Filename exists with different caseNot enough memoryDevice or resource busyNot a character deviceRead-only file systemMath result out of rangeNo lockNot a streamStream ioctl timeoutNo stream resourcesNo packageResource is remoteVirtual circuit is goneCommunication errorBad messageCannot access a needed shared libraryAccessing a corrupted shared libraryAttempting to link in more shared libraries than system limitCannot exec a shared library directlyerror %dNo buffer space available; the socket cannot be connectedAddresses in the specified family cannot be used with this socketerrno EPROTOTYPE triggeredvThe descriptor is a file, not a socketThis option is unsupportederrno ESHUTDOWN triggeredThe connection was aborted'The network can't be reached from this host at this timeNetwork failed.Attempt to connect timed out without establishing a connectionerrno EHOSTDOWN triggerederrno EHOSTUNREACH triggerederrno EINPROGRESS triggerederrno EALREADY triggerederrno EDESTADDRREQ triggerederrno EMSGSIZE triggerederrno EPROTONOSUPPORT triggerederrno ESOCKTNOSUPPORT triggerederrno EADDRNOTAVAIL triggerederrno ENETRESET triggered&The socket is already connectedThe socket is not connectederrno ETOOMANYREFS triggerederrno EPROCLIM triggerederrno EUSERS triggerederrno EDQUOT triggerederrno ESTALE triggerederrno ENOTSUP triggeredUuu]1 a]u]Á$<aadanaxaaaaaaaaaaaaaaaaa"a,a6a@aJaTa^ahara|aaaaaaaaaaaaaaaaa&aaaa0a:aDaNaXabalavaaaaaaaaaaaaaaaaaaa aaaa a*a4a>aHaRa\afapazaaaaaaaaaaaaaaaaaaaaaa$a.a8aBaLaVa`ajata~aaaaaaaaaaaaaa aaa(ataaaaaa~ataja`*aVPaLaBa8a.a$&aaaaaaa$aBa>agavaaaUaaazapkaf-a\HaR[aHwa>a4a*a aa a aaCaTaoa}aaaaaaaaav1alabaXaNaDa:a0a&aaPa aaaa0apaaaa4aMa[aoaa|araht$ÁÐ$D$a)@a60a,pa"aaaa>aQa,aPaaaa a&aBa[axaaxanadaZ0aPPaFla<a2a(aaa aaaINVALID_FUNCTIONFILE_NOT_FOUNDPATH_NOT_FOUNDTOO_MANY_OPEN_FILESACCESS_DENIEDINVALID_HANDLENOT_ENOUGH_MEMORYINVALID_DATAOUTOFMEMORYINVALID_DRIVENOT_SAME_DEVICENO_MORE_FILESWRITE_PROTECTBAD_UNITSHARING_VIOLATIONLOCK_VIOLATIONSHARING_BUFFER_EXCEEDEDHANDLE_EOFHANDLE_DISK_FULLNOT_SUPPORTEDREM_NOT_LISTDUP_NAMEBAD_NETPATHBAD_NET_NAMEFILE_EXISTSCANNOT_MAKEINVALID_PARAMETERNO_PROC_SLOTSBROKEN_PIPEOPEN_FAILEDNO_MORE_SEARCH_HANDLESCALL_NOT_IMPLEMENTEDINVALID_NAMEWAIT_NO_CHILDRENCHILD_NOT_COMPLETEDIR_NOT_EMPTYSIGNAL_REFUSEDBAD_PATHNAMESIGNAL_PENDINGMAX_THRDS_REACHEDBUSYALREADY_EXISTSNO_SIGNAL_SENTFILENAME_EXCED_RANGEMETA_EXPANSION_TOO_LONGINVALID_SIGNAL_NUMBERTHREAD_1_INACTIVEBAD_PIPEPIPE_BUSYNO_DATAPIPE_NOT_CONNECTEDMORE_DATADIRECTORYPIPE_CONNECTEDPIPE_LISTENINGNO_TOKENPROCESS_ABORTEDBAD_DEVICEBAD_USERNAMENOT_CONNECTEDOPEN_FILESACTIVE_CONNECTIONSDEVICE_IN_USEINVALID_AT_INTERRUPT_TIMEIO_DEVICENOT_OWNEREND_OF_MEDIAEOM_OVERFLOWBEGINNING_OF_MEDIASETMARK_DETECTEDNO_DATA_DETECTEDPOSSIBLE_DEADLOCKCRCNEGATIVE_SEEKNOT_READYDISK_FULLNOACCESSFILE_INVALIDSTATUS_ABANDONED_WAIT_0STATUS_ACCESS_VIOLATIONSTATUS_ARRAY_BOUNDS_EXCEEDEDSTATUS_BREAKPOINTSTATUS_CONTROL_C_EXITSTATUS_DATATYPE_MISALIGNMENTSTATUS_FLOAT_DENORMAL_OPERANDSTATUS_FLOAT_DIVIDE_BY_ZEROSTATUS_FLOAT_INEXACT_RESULTSTATUS_FLOAT_INVALID_OPERATIONSTATUS_FLOAT_OVERFLOWSTATUS_FLOAT_STACK_CHECKSTATUS_FLOAT_UNDERFLOWSTATUS_GUARD_PAGE_VIOLATIONSTATUS_ILLEGAL_INSTRUCTIONSTATUS_INTEGER_DIVIDE_BY_ZEROSTATUS_INTEGER_OVERFLOWSTATUS_INVALID_DISPOSITIONSTATUS_IN_PAGE_ERRORSTATUS_NONCONTINUABLE_EXCEPTIONSTATUS_NO_MEMORYSTATUS_PENDINGSTATUS_PRIVILEGED_INSTRUCTIONSTATUS_SINGLE_STEPSTATUS_STACK_OVERFLOWSTATUS_TIMEOUTSTATUS_USER_APCSTATUS_WAIT_0UEd@ a]dvoid early_stuff_init()v'SetConsoleCtrlHandler failed, %E&'U$aD$y$aD$ytn 1ɣK a J a J aK aJ a1 K a1ңK a1 J aJ aJ a舭K aK a]$0] aD$D$aD$ aViU]%s %sU(uu]t>up a]u]Ít&J a\$$f$p aD$at$\$ void open_stackdumpfile()%s.stackdumpDumping stack trace to %sU(]J au}xu ]u}]D$\$ C$A 覀 \$t$4$D$baD$4$D$@D$D$ J aD$D$vst)J a@tN 4] au$\$v6$0] aD$@D$HaD$ oat$$0] aD$ԋJ aException: %s at eip=%08x eax=%08x ebx=%08x ecx=%08x edx=%08x esi=%08x edi=%08x &ebp=%08x esp=%08x program=%s cs=%04x ds=%04x es=%04x fs=%04x gs=%04x ss=%04x Exception %d at eip=%08x UWV1S}] t/7 a1҅t$7 a'9 B<7 au$at$D$*$aD$D$D$ D$D$D$J a$0aD$T$ D$$PaD$D$D$ D$D$D$m[^_]$aD$47 aU }UE]] zE1}u$Z CB(BE]}]Ít&ZBB Ԑt&U1S]C t2S C1ɉCt#;Ct1ɃDppid_handle %p&U8]J a]uPu`]u]Í&uxuX54] au( a$f$0] aJ aD$D$aD$ 0a\$T$@D$벡J au1ɋP$.U싂tQ@<@4$u#EaEV4$I$ЉuÍ믐&int interruptible(long unsigned int, int)pc %p, h %p, interruptible %d, testvalid %dcouldn't get memory info, pc %p, %EUWEVSLE}EEEEEE<$D$D$` u 4] a aU̍Al ҍt$ D$ t }t[1ۋ 4] aue[^_]Ðt&$0] aED$D$aD$E D$ a|$\$D$뵍t&E u;, at1;7 at$A1ۉt$D$8a d a a1F$0] aD$D$aD$ a|$gUSU EuAX $D$Pat$_ظ]D$ $aۍ&'UD$E $`]Í'void interrupt_setup(int, void*, long unsigned int, DWORD*, sigaction&)armed signal_arrived %p, res %dUWVS aEJ aa@@M QH) a ʉ) paaU B5a=a5aatu$D$.ztL a$a 4] a…ue[^_]t&$0] atL aD$D$paD$ aD$T$?ƃJ aHvPUuƉЉ]U$T$ڻd,aJ at&@t$$7au]]Ðt&( a֐&Uata1au]áaa$ 㐉UW1V1SEEEEEEt&'J atEJ<@J atMJ<9tJMҍtEJ<E E E E K{[^_]}t뮐&int interrupt_on_return(sigthread*, int, void*, sigaction&)t&couldn't find a stack frame, i %d UWVSMP1ue[^_]$8 a1ۉT$D$D$ 's$8 atcF$uD$8 a$uCȋ8 a8 aS9Ct t$EUD$KCd,aӋ54] au1@$0] aD$D$aD$ a\$ϐUU a]a'int setup_handler(int, void*, sigaction&)ResumeThread returned %dreturning %dgood. Didn't suspend main thread, th %pcouldn't send signal %dcouldn't get context of main thread, %Esuspended thread in a strange state pc %p, sp %p suspended thread owns a muto (%s)suspending mainthread&UWV1Sƅ 1a us1$( a( a?\( a $F $\G u~ $ \á4] au e[^_]$0] aD$D$PaD$ za\$74] at $0] aD$D$PaD$ aD$돡4] at$0] aD$D$PaD$ at$듸\ a$$$V4] a$0] aD$D$PaD$ aD$[D$$Z $ S&$( a1BZJ a#@$( aD$S4] a$Y$( a( a$b at6P1ɅuuXx;( a@u$( a_Y( at ( a$( aLY$D$XuF$0] aD$D$PaD$ a$-Y$TD$$|4] at$0] aD$D$PaD$D$ PaD$)yt&4] ag$0] aD$D$PaD$ a@D$7$0] aD$D$PaD$ a( a&'U(]Uu:Dkau+Una@$t$1ɉfM]t tB4$t60K a$J a0D$=RáJ a0t9Ct]u]pWS)Ѓ1vaWCJ aD$؉$v @WC$u1踼E]t4$ο۸u$11`$1void set_process_mask(long unsigned int)old mask = %x, new mask = %xnot calling sig_dispatch_pending. sigtid %p current %p&UWVS]؃\ ( a}$7 a 5J auЋw@@ H) aEԸ)ىUĺ)ڈ EUċE!ǡ4] atHUЋ@@$0] aD$D$aD$ a|$D$5J at@@8P7 a$9}tvQ;\ ati$yE؅u e[^_]$TE؃@E@$E؉$\E؃$~TE믉4] atBQ\ aD$ Pa$0] aD$D$aT$D$aEPPvP9( a u FIBO IBz$0] aD$@D$KaD$ mKa讬PEP‹$D$$$UÃ$D$ D$D$$/(9 EPUƹ1)މ$D$ D$D$$'~~U$D$\$|$ $D$#t_9r )ƅG aU$D$ D$$D$,'#P9ac@ a8 u$ ʾ뚋U$D$ D$D$$&virtual __off64_t fhandler_base::lseek(long long int, int)Win9x, offset not 32 bit.t&'setting file pointer to %u (high), %u (low)lseek (%s, %D, %d)UWVS,na] u@u^vM4] au ae[^_]$0] aD$@D$POaD$ Oa販뽃}nD$ED$$4] aE}G]na@Et uEEu}U1$U|$ T$$ED$%Ѓ t+EH@}t ؉‹@z 1)) t̸P9aː$0] aEUD$@D$POaD$ OaD$T$莨L1$0] aUD$@D$POaD$ OaB,t$\$D$ED$C4] a UBJ 1))r&virtual int fhandler_base::close()CloseHandle (%d <%s>) failedclosing '%s' handle %p&U(u4] au}]4$$t1]u}]á4] auP9agאt&4$V,D$ 3Ra$0] aD$D$RaT$D$묉^,4$D$ PRa$0] aD$D$Ra\$D$Ħ3 virtual int fhandler_base::ioctl(unsigned int, void*)ioctl (%x, %p)ioctl (FIONBIO, %p)UE U=~ftM 4] au a]$0] aD$D$pSaD$ SaD$T$뾐4] at$0] aD$D$pSaD$ SaT$迥느U aX]Ðv'UP:tl8\t1]À\uPHtN\tEAt \uu  aAt\t At\uf\뤲\f@\U]Ӌ@% tx wSt>C!fC C4C<$迲S8C4S0C,C$1S(]]ÐB& tuBaB띍t&B$됍&virtual void fhandler_base::init(void*, long unsigned int, int)created new fhandler_base for handle %p, bin %dU(]E1҉u]u C%=s t=@=$ED$ ‰T$SS44] atBC%ft> $0] aD$@D$UaD$ Uat$D$W]u]øÍuevirtual void fhandler_base::dump()here&U4] au]$0] aD$D$WaD$ 3Wa詢֐virtual int fhandler_base::dup(fhandler_base*)dup(%s) failed, handle %x, %Ein fhandler_base dup&'U(u4] au]FtEE UP 1]u]Ë4$( a$D$T$D$D$ED$ D$u^,4$D$ Wa$0] aD$D$Wa\$D$V}P9agX$0] aD$@D$WaD$ Wat&virtual int fhandler_base::fcntl(int, void*)GETFL: %d&U]U M] $tYa`ZaYaYaYaZa`Za`ZauZauZauZaA1Ít&؋]]Ë\$ $P1Y 4] at$0] aD$@D$YaD$ =Ya\$"밡0 a4 aiЃ҃@!Ӄwt @t@A҉ $! ډT$D$6f a;\$ $T$PP$t&U a]Ðv'U a]Ðv'U a]Ðv'U a]Ðv'U a]Ðv'U a]Ðv'U a]Ðv'U a]Ðv'UE]Í&'UEU aP@@ @@@@@ @$@(@,@0@4]Ð&UEU aP@@ @@@@@ @$@(@,@0@4]Ð&U]]C, au>C0u0CuC0C,]]Ít&$(Pݍ{t뻉U]]C, au>C0u0CuC0C,]]Ít&$Oݍ뻉U]]C, au>C0u0CuC0C,]]]$eOڍv뻉U]]D$D$$ a]]Ð&'U]]D$D$$ a]] virtual void fhandler_dev_null::dump()&U4] au]$0] aD$D$0^aD$ 3Wa艛֐virtual void fhandler_base::set_inheritance(void*&, int)DuplicateHandle failed, %EU(( aM $D$T$L$ D$1}D$D$Nu 4] au]$0] aD$@D$^aD$ ^a薚֍t&void fhandler_base::fork_fixup(void*, void*&, const char*)handle %p already opened%s - %E, handle %s<%p>t&U(uu]]VuA4] au ]u]$0] aD$@D$_aD$ _aD$ęʉE $D$\$ D$D$( aT$D$ uF,D$ _a$0] aD$D$ED$_aD$D$LOvirtual void fhandler_base::set_close_on_exec(int)'set close_on_exec for %s to %dU(]]uu $C D$t$R(tKK@4] au ]u]ËC,t$$0] aD$@D$`aD$ 0aaD$^Łc볍vvirtual void fhandler_base::fixup_after_fork(void*)io_handleinheriting '%s' from parentU]4] a]u+$E D$ baD$C D$]]ÍC,D$ ba$0] aD$@D$aaD$腗먐UE 4 aP0 aiȃw1@]ÉU t$0 a54 a|$Ћ}$i_wR%@M t@u@iw% ȉG$t$|$]É%v1lj%@묐U a1]Í&'U a1]Í&'U a]ÍU a]U a]U a]ÐCYGWIN_NATIVE_CLIPBOARD&U]]D$D$$\CHt% aC8C<C@CD$ 9 a$ a]] U]]D$D$$CHt% aC8C<C@CD$ 9 a$* a]] &virtual int fhandler_dev_clipboard::dup(fhandler_base*)error opening clipboard, %EUuu]] FD$ $D$D$R,t+F@V u)$0] aD$D$faD$ 0ga諐' 4$ u1$0] aD$D$faD$ pgagӐt&$0] aD$D$faD$ ga돡9 a$R abvirtual int fhandler_dev_clipboard::write(const void*, unsigned int)Couldn't realloc() clipboard buffer for write U(]]u}{Ht1]u}]ËC@{D$E48t$ABtqC@sD$E D$ED$诔C@$CDD$t a둍&C<CDC8 aCHEf$0] aD$D$jaD$ pja討먍UH}ω]uEUxHt1]u}]Ít&$aE1= aHE E$D$x $ E܃;aM1 $ EЃ$M1+A8Q<99]Љ$ƪuE؋F8)E؋UЋM]Љ $\$1ۉD$-uM؋F8V<ډVt&  av'U]E ]UC8C@Svirtual void fhandler_dev_clipboard::dump()here, fhandler_dev_clipboardU4] au]$0] aD$D$0naD$ \nai֐U8  E}U]]u}u 9D$$D$\$ D$D$ 11҃u]Ћu}]É<$D$D$\$ t$\$D$D$1҃ tv'9t4$D$\$㐉U9 at]$( aD$D$ D$D$k9 a‹@t9 aB@J a,E$D$@D$8j̍U$^]Ív'=aUU ua a 0a@t$x‹0K aD]Í& aE]CONIN$t&U($pa]D$D$D$ J aD$D$D$tBt>9 au$]]É$D$-9 aH1׍t&'BOOL fhandler_console::set_raw_win32_keyboard_mode(int)enraw keyboard mode %sableddisU]M E4] at;$0] aqaD$D$pqaD$ qauqaT$؋]]ÐU8]]$$E؉D$t4Ef9t5$$E܉D$E܃]]ÍEf9u䐐virtual int fhandler_console::read(void*, unsigned int)mouse: button state unchanged%c%c%cmouse: %s at (%d,%d)mouse: position out of rangemouse: double-click -> click{%u;%u;%u;%u;%u;%luK/netrel/src/cygwin-1.3.12-1/winsup/cygwin/fhandler_console.ccReadConsoleInput failed, %EUWVSTX<$<$PTX<$T$D$oLte[^_]ËP` HutL adH&<$D$~<$qHD$D$ $`D$CD$P\D$ ]1$\$EK{}]s H D!C<@!=8}s1҉C49u64] a$0] aD$D$raD$ sa.9ƅnbtn 4uphfl4Ct71ɉCt t tD$&sa] 4<$4L$ D$8D$_4] aމ\<$\t$D$ D$/hxKTu LY<$fx鋍LXATLuɉ$$0] aDhD$@D$raD$ 0saD$T$L$腂ȃ9t'btn1h downlfpSȃ9t4btn2h뾃94btn3h똋 4] a$0] aD$D$raD$ Esa4] au E$0] aD$D$raD$ bsa蔁΃~$G<@D$$HEf}t Ut,$ED$Y04$\EExena@$tJ1t t7E<v/<t+ɍuwEu\EB aEWыGH!…g:]D$4$\$D$\$ !UhD$saE]$މD$ED$ ED$ED$ED$ED$Ksa1_4] a3$0] aD$D$raD$ sa Hsa^UUB<@u]É$D$D$ U8]]$$E؉D$t_EfEfUE)@fEU)@fE؉E܉Ef]]Ít&11҉111ffPff뤐UWVSlflag %p, t->iflag %pU WVS,E] p<߃K0$$ED$t|EtK tK tK 14] au e[^_]Ð$0] aED$D$aD$ Pat$\$D$C D$D$ p본sa,O딐&US]D$D$$1111K11 afC@fCBfCDCHCLCxƃƃƃt&'1҉TP@ ~111ffffff$蹶 %f t]ÃKHUS]D$D$$1111K11 afC@fCBfCDCHCLCxƃƃƃt&'1҉TP@ ~11ɺf1fffff$詵 %f t]ÃKHU]]C@ƃƃƃ%ff$@f$$D$]]Ð&'UWVuStkЃ@f Ѓ ftЃ ÉfHH@ft $ ʄtҀt^Btʀu [^_]Ívu؃UWVS,} E]u$;EE)U‰)DщEE9f}EfEU]$\$D$ $ED$ED$ NU$U$\$D$ED$ED$ #e[^_]f]fuxHt&$E UXEEUx&'U}}]]uu<$9~U9~8pfuf]<$$ED$}]u]ÐH!xU t1듍U(]]uu }}$`D$$t$lj|$ }]u]Ð&U]]$ EE ]]Í'void fhandler_console::char_command(char)insert mode %sabledunknown h/l command: %dmouse support %sabled[%d;%dRv'UU uu],@}<5+$`aaraaaԔaaaaDa3alaPaaSaaaaaaaFaaaaaaaaaaaaaa$aٙaaaDaafaaaafa8aaaaaKaaaaVx19t&'DP1$da,aa@a@aaa@aaaa@a@a@a@a@a@a@a@a@a@a@a@a@a@aϒa@a@aےa@a@aaaaa(a9aJa[a@alaaaaaaѓaaa@aa4$\Vx'C94$f4$$D$xt&]u}]ÿƆƆƆ1ɉ끸qƆeƆY1fKf:f)fffffF@f1f@f f`ffoPf^0fMpf<F@%f'FPuFPED$E4$D$24$UED$ T$D$D$NPʉT$D$4$1D$VPH ‰T${4$D$FPuD$ى4$FPuD$D$뼉4$VP1H ‰T$މ4$ED$ED$n4$D$FPPH!‰T$ED$ BM4$ED$ED$'E4$D$x D$뻃FP~Q4$D$D$D$ D$B4$D$D$D$ [4$ED$ED$E4$D$ D$ED$D$i4$ED$ED$CE4$D$D$ ED$D$뽋FPtj~;4$ED$ED$4$D$D$ ED$벅4$ED$ED$E4$D$ʼn4$ED$ED$EU4$D$T$D$ T$FPuFPED$ED$4$QE4$D$D$D$ D$D$~PFPuFPED$ED$4$U4$D$^PD$ ؉D$D$D$T$FPuFPED$ED$4$U4$NPD$ ȉD$ED$D$`FPuFP4$D$FPD$D$ D$D$D$"4$BFPuFP4$D$D$D$ D$D$FPuFPED$ED$4$U4$^PD$ ЉT$؉D$ED$D$D$O4$ED$ED$kE4$D$xBubFTHFT@E}^P 4$D$\$D$$|$ FTHFT@u4$E}|$D$EU4$D$T$D$ D$~TD$T$TE[?6EfEc4$D$D$賜~4$ED$ED$XE4$D$D$FPPH!‰T$ 4$D$FTPH!‰T$Āua~Ph4] a$0] aqaD$D$aD$ ڏauqaD$U_FP==/t/54] a$0] aD$D$aD$ a륀h4$$ED$>3%4$$D$D$ D$ED$迅11f1f4$$ED$UE)@fEU)@fudиo4$$D$D$ D$ED$ 땉=c4$1hD$1h=4] a$0] aqaD$D$aD$ at&~P4$E]D$ED$]ED$a$)ЉE@D$E@D$ '4$\$^Pt+FPHfNTtFTHf81։4$D$D$)4$D$D$Vconst unsigned char* fhandler_console::write_normal(const unsigned char*, const unsigned char*) write failed, handle %pconversion error, handle %pv'ULWVS EU 9sPauB;Ur;U E )ǁvtt$M $T$D$L$ MU$D$L$t$$D$ E )RM9M snU Pa< wZ$aaa<aӟaHaӟaXaaסaӟaӟaӟaӟa(a$D$dE E e[^_]ËU$M D$L$D$$D$ D$E$D$뗋MALD$U$ՋE$D$D$Uf0UЋ9E9EfD$Efɉ$D$ D0D$x0D$D$ЉD$KJD$M $A<1@uL$BD$ mU$D$D$0aD$$D$ p뇋E9[E$D$D$zUD$$xD$5MD$D$ $)ED$D$$빡4] ausa~61[U$D$ 2a$0] aD$@D$НaD$jW밉 $D$D$ED$ T$$T$T$D$D$g4] ausapLU$D$ Ja$0] aD$@D$НaD$V뷐virtual int fhandler_console::write(const void*, unsigned int)%d = write_console (,..%d)at %d(%c) state is %d%x, %d&UWVS,] Eu؉E4] a ;]sx&FLwP$8aa\aѤa8aaaPalala\$E4$D$øt;]s4] a딡4] au Ee[^_]$0] aED$D$paD$ aD$D$QU<[*<]|UWVSÃ,U$ 1Puu 1=X a@KE}ta"j$t$D$D$ P,u9K}Ejat y  a8 t4t U$ƋP0e[^_]ËU$C0D$ED$ED$ ED$9uEuJ a 9Eu$9Ev$C0D$D$S $t$D$D$ P,$NjC0D$ED$sS $t$D$D$ P,D$aC01$+btEHt&U؉int fhandler_disk_file::fstat_helper(__stat64*, path_conv*, _FILETIME, _FILETIME, _FILETIME, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int)t&0 = fstat (, %p) st_atime=%x st_size=%D, st_mode=%p, st_ino=%d, sizeof=%dUWVS|EEU EȋEŰUEЋEMЉUԋUEɉU]ԍMЅuEЉUԋEȅE̍]ȅu EUĉEȉỦ $F$D$ME$F,D$lMF4$1ۉD$XMM$E 1ډV 1҉F4t ttu }0E0fF U(u E,v U, U(M(NF<N^ ڃf F@VDF4 F@ MA0$D$FD$ED$ ED$54tUBufmF%fuNEFEF4] aue1[^_],$0] aF$V D$D$FD$PaD$ aD$Ft$T$D$ FD$(PD$$=>뙋V $F44$t ʤVV@tI@VFF%f4#@tՁ1V Puu 1=X a@t; 1Puu 1=X a@NIM $D$ D$D$$'tt:U$D$ D$D$$@MEMEE $D$D$$E؉D$ED$ 荴t-1҃}~E<#tf<:tZOW1ۉDFF F FFFFF@e[^_]1Ƌ@u1D,똋D$ t$$ ݐ&'UWVS ]u @U$ EP M@A)9}2t$$\$)EXX [^_]Í&t$$|$(Uzz$j)tt$M\$ $C뭉$fUB 1҅t`M $Bvt$E@D$@@$@U]]us4$[4$u؃]]Ð&UVS]s4$誝1ҋCHC&'D,tB ~4$芝e[^]ËE D,名Uuu]4$Iu ]u]$4$"9tٍU1WVS uV FzG~\@D$ |$$^ uD$ |$$i tC^$蟜1v'T,t@ ~$芜1e[^_]É|,^$\F@F$ZFF 1V ;F@t&,@;F|-U} t]E$ED$)損U(]E Muʀ8R]t1]u]ÍxIuxFuxFu܀xWuրx AuЀx Vuʀx Euċp t9s8fHtDt9r렀xmuxtux up9wa$ia$FD$FD$FD$D$ ]tFC<FC@FCD+a$Ct8 a1ۅt+F aTuC au1]u]1&'virtual dirent* fhandler_proc::readdir(DIR*)%d%p = readdir (%p) (%s)&UWVSL} W EEEEEԐaEE$D${u119s_ v'A9t%B9r aYEȉ$1L[^_]ËEЍRTGD$=a$D$޾Eȋ_G $m뽋G$ aD$BG 4] auG$0] aGD$D$aD$ @aD$|$GD$virtual int fhandler_proc::open(path_conv*, int, int)v'%d = fhandler_proc::open (%p, %d)&'UWVS,EE }uD$E<$t$D$ #OG,xB a1ۅtGE a$U aNt'|$4K aCD$D$ $qUB8$~UZ8D$aÍC$jC@<UljB8]UEx8t<$D$aCw@<((pUljB8]ʍs&'! t€uE҃x8)΅t!<$CD$UB8 FVP<UljB8]‹Ex8t$U|$BfZnaB $$D$GD$YW 4$D$D$D$ ,D$袿 [4$Ou/$(D$D$D$ 谿 th$? a[4] au 1e[^_]É$ $0] aD$@D$aD$ Pa\$D$a$D$D$,D$  eD$D$ T$$[ T$D$$D$ j[ 409Ӊ;9 )$T$D$D$ Z tÉ.1T1t&'D$aE $D$D$ D$GD$(D$,D$0D$TT$,T$0D$ T$@T$HD$fZnaGws$t(a*a(a(a(a(a(a(a(a(a(a(a(a(a(a*a*a*a(a(a(a(a(a*a&at&B $Ptp@D$&aE ( a|$ $D$D$(D$D$CD$ L$ D$$L$,D$($L$0D$4D$DL$E@$ED$ED$ED$ ED$ED$ED$ 1҄tGD$+aE D$ $ED$ED$ ED$ED$ED$ED$^ɉÐ&int get_process_state(long unsigned int)NtQuerySystemInformation: ret = %d, Dos(ret) = %d&'UWVS$@E ƍ'$t$D$D$ } =u!t4$u$4밅tZ 4] aut4$FEe[^_]É$ó $0] aD$@D$,aD$ ,a\$D$EZ navE9BDt tAuESR19^A4Hv C@9rHER<&'bool get_mem_values(long unsigned int, long unsigned int*, long unsigned int*, long unsigned int*, long unsigned int*, long unsigned int*, long unsigned int*)NtQueryVirtualMemory: ret = %d, Dos(ret) = %dUWVS|E$@E`"D$EE$D$HE 'D$E]D$$|$ E\$D$8 t=u&9]r!t<$eE$뚅tl4] au*Et<$E$r@Ee[^_]É4$; $0] aD$@D$.aD$ 0/at$D$1;7s$t&ETЃEA;rD$ED$ ,D$$ED$Ư t=4] a2$藰 $0] aD$@D$.aD$ PaWE1uU tE gtEZERd@øaQ4] au1$0] aD$@D$.aD$ a\$i...ppidexenamewinpidwinexenamestatusuidgidpgidsidcttystatstatmt&'1a1a1a1a1a1a1a1a1a1a1a1a1a1aU]]D$D$$<)E  aC<C8]]ÉU]]D$D$$(E  aC<C8]]ÉU]E]D$% $D$ CC4]]ÐBOOL fhandler_dev_random::crypt_gen_random(void*, unsigned int)Microsoft Base Cryptographic Provider v1.0%E = CryptGenRandom()%E = CryptAquireContext()t&U(]]uC6@UE`H@8@<@@@D]Ð&U(]]uKH$ts8tSDu1KH]u]ECaD$ >aT$薺Ǎt&t  a뮸G% T$$D$v1@1na1ۉPD$ $T$D$D$D$ ԟ xHG <$t$D$G<w $"G8$ՠ >aoU]g&virtual int fhandler_dev_raw::raw_read(void*, unsigned int)t&return -1, set errno to ENOSPCreturn -1, set errno to EACCESread %d bytes direct from fileread variable bytes from file into bufferread %d bytes from file into bufferread %d bytes from buffer (rest %d)UWVS,Eu]4$EVH$<N8+F@VD9sH)9v=4] a\$U D$)߉$跼VH] ]^@$VH$ nN<9F%4] aU U4$U\$T$$ED$ ED$t=UtF89Et] )] E,[^_]ÐF@VDt&U4$T$uU4$T$U4$T$NHEt NHeEuU4$T$e4] au& aB$0] aD$@D$AaD$ PAa臵Őt&NHu4] au  a $0] aD$@D$AaD$ pAa=$0] aD$@D$AaD$ Aa\$O1,F8 ҉ˉEt64] a#$0] aD$@D$AaD$ Aa辴4] a$0] aD$@D$AaD$ AalN<녀VH $0] a)ЉD$D$@D$AaD$ 0Ba\$JF@N84$\$$E D$ED$ ED$U4$T$t3}U4$T$t NH]NHTU4$T$u.t&1VH*v a4$T$Ht&UWVS,E] u]VH$g$u F@F@FD~8VHMtdv'VH$ uYN<9MFDtF9sB);]v]V8\$Љ$ED$I]^D)]]]uE,[^_]À ]}E4$\$|$$ED$ ED$(EtNHUuE;~8tE)EEE농vUN<9t<$)э:L$D$UN<)щNDTT$4$tKNHUu;Eu! a;}ЉEE>a贐͉N<9NDtE1&~8FDwM4$\$$ED$ED$ ED$u@UtNHU4$T$u a %NHE NH,U]] uu}\$4$uUFav뷿Wυtf;uŋF%SuӋN8tFD+F@9r…t;VY eEe[^_]É4$1E0X@ EЃtv$]ED$D$D$ D$D$D$D$D$ D$$D$(\$,XV 0t EЉ$FU v1]u}]É$F,D$V0F,V8F4F$$舶~rEfF D$EЉ$FD$E؉D$ EԉD$rvE؋VFEԉF%mF~ @FL$V>E1ۉ$EEȍP@c_ospeed %d'Invalid t->c_cflag byte size %dSetCommTimeout failed, %EReadTotalTimeoutConstant %d, ReadIntervalTimeout %d, ReadTotalTimeoutMultiplier %dvtime %d, vmin %d flushed file bufferst&UWVSE]54] a} C<*MЈ$ Uш$t $t E݄uCEބuCE%0f= 0 @uKFt uK=4] au0~8tQf<S!F8C1~K CC!$0] aD$@D$xaD$ +yaF8D$F KKK@&tPK0yK pKgC$C(C=Xt%=zC$ C( C C$C(CC$C(C=K=KwF=t%=%C$ C( C _C$ C( C E=tQ=w%=C$C(C=C$C(CC$C(CC$C(CC$ C( C virtual void fhandler_serial::fixup_after_fork(void*)io_status.hEvent %pU]]CuG$4] au]]$0] aD$@D$}aD$ }aCXD${̉$E D$먐virtual void fhandler_serial::fixup_after_exec(void*)v'U]]$ 4] au]]$0] aD$@D$~aD$ }aCXD${̐&'U]]uu $C8F8C AF_LOCAL: socket bound to port %u&'U]] uu}f;tN4$\$$ED$蕿 u1]u}]Ðt&`aZ۸T$虅kv  a[fEfEE4$$E؉D$TD$ tI4] au`aOy$0] a aD$D$0aD$ eaD$h4$U؋T$$TD$ L tI4] au`aU$0] a aD$D$0aD$ aD$gEچfEfEڡ4] am$D$ D$*P.4$h$ED$aD$aD$ 1hLĊ8tBu1҉Љ4$D$uh! t€uҍh)ыPAT$hT$D$;Tt5 aXP$蕌$u aXwP$m( a$%D$_4$\$'8 a8,p!$0] aD$@D$0aD$ АaD$ecconnect'int fhandler_socket::connect(const sockaddr*, int)'accept from unauthorized serverUWVS]lE ( aEnE u؍}ȉt$$E|$D$ED$ ku^Eue[^_]Ív$E@E@$E$|E$E멋U$t$$ED$f IUz8tUEug$E@E@$E$E|E$gE벃z<utEt|$E${EMutw<$u Eb<$t$$E D$r 8D$E$D$8 uUx6G,\$$D$YËG8C8G4$Uȋ$D$ED$4a^K9( aYE( a( a1҉-( a) a=$( aD$yc$t&UWVS,EM E Q x19}&'L@M9|E1ۃ9ӍD$ƉE|8EMU $EL$D$ED$ D$BD$ge[^_]ËT߉4$T$D$PU DC;Z |shutdown&'U]]uu }$t$$蚤 uIt4~t]u}]ÁKuKٍvK͍& a<closevirtual int fhandler_socket::close()%d = fhandler_socket::close()UVuS@ ( a]_E%EfE$D$D$D$$ED$ > v$$K tD譟 =3'tL a t$裟 뮡 a$4] auWEu e[^]Ã$BE@E@$E$aE$"E$0] aD$@D$ЯaD$ at$H|a:R9( aE( a( a1҉-( a) at$( aD$_['virtual int fhandler_socket::ioctl(unsigned int, void*)ioctl%d = ioctl_socket (%x, %x)nonsocket is now %sblockingerror in get_ifconf startedAsync I/O on socket %scancelledtestname: %s name: %s ifr == NULL UWVS]؃L ( a}8} es } es c} }f} ds} ~fU$M |$L$$q K} ~f4] au\E؅ue[^_]Ít&$E؃@E@$E؉$^E؃$E$0] aU D$D$aD$ .at$T$|$Fl4] at8$0] aIaD$D$aD$ MaufaD$EtMAuT$E$j $D$ D$D$$w 뷸(a;7fM $轧D$ D$D$$! -tU<$D$dsuM4] aI$0] aD$@D$aD$ gaDt& aE؅u $ٿE؃@E@$E؉$\E؃$蹿E믋M $ȦD$D$1$?HD$ ! 4] aƅt8$0] a|aD$D$aD$ auaD$CtEHUb} ks ED$E"U EЉ$T$usp4] a]ԋUЍ9s-4] a$|$^t!UЃ E9rԋE9iRE w9$$a<a<a<a<aYaYaCGCGCGCGU룋CG$0] aD$@D$aD$ a\$BO$0] aD$@D$aD$ a|$jB4] a$0] aD$@D$aD$ a4BogfGaG=t fGc1UfGi&9( aE( a( a1҉-( a) a$( aD$TY&'UWVSEE Mt%D$UL$$袠EE[^_]Ít&50 a=4 a}i ˁ@iMȃw"t@t@'EiHEƒʁ@1…ۉE8uFi7w(%D$U ؉D$$$v%֍&ED$~f$ED$R8EU50 a=4 aJ끍&ʁ@Uvˁ@virtual void fhandler_socket::set_close_on_exec(int)t&'set close_on_exec for %s to %dU(f=@\a]]uu vctPK@4] au]u]Ðt&C,t$$0] aD$@D$aD$ PaD$A?c뮍$t$$D$R(뀐U]]CXuE gCX]]&fcygheap_fdnewUE@PE]:v'virtual int fhandler_dev_tape::is_eom(int)end of mediumU]E 1=LtQ=itJ=PtCt 4] au؋]]Í&$0] aD$@D$paD$ a >ʻ붐virtual int fhandler_dev_tape::is_eof(int)end of file&U]E 1=MtK=OtDt 4] au ؋]]$0] aD$@D$0aD$ [aY=э&뵐fhandler_dev_tape::fhandler_dev_tape(int)unit: %dU(]]uu $D$t$ a 4] au ]u]$0] aD$@D$aD$ at$<̍U(]]uu $D$t$ a4] au ]u]$0] aD$@D$aD$ at$<̍U]E ]}}uC<$D$|$D$ ƀu]u}]ÐU$D$mD@T$P8u EuEȉCpgid %d, tty->sid %dUX] J a]uUu }0x9t]u}]Í&fuቱ04] a}1$m J a9,t<,CuJ a(Cut]܅z<$VmE9ur4] au,J a(C뤋St$$0] aD$D$aD$ aD$,T$D$(D$  J a胭u J az J a,J a t$$0] aD$D$aD$ 0a,D$D$CL$ D$virtual bg_check_types fhandler_termios::bg_check(int)closed by masterbg I/O pgid %d, tpgid %d, ctty %d&'U(]J a] u։}(t}O<9At A90t]u}]ÉgX4] au34] au1$0] aD$D$0aD$ ga֡J a(h J a1@<[8t'PtP@H) a)tut# atL a1Iu $裛쐍[pGD$ a$0] aD$D$0a(D$T$0D$EH%p from tty_ownerduplicated to_master %p->%p from tty_ownercan't open tty (%d) handle process %dtty own handle %p&cannot dup handles via server. using old method.open input mutex failed, %Eopen output mutex failed, %EUW}VSu 0K a]F\D$4$ЍT$F\$F<$F\\$D$"\$h4$D$(A<$D$aF\D$$D$|$i}F@F< $D$a@D$I$D$\$}FL dF$0] aD$D$0aD$ a\$D$$0] aD$D$0aD$ a4] a$0] aD$D$0aD$ a4] a$0] aD$D$0aD$ az4] a$0] aD$D$0aD$ 0aI^$: T4$|$$0] aD$D$0aD$ PaT$D$Tvirtual int fhandler_tty_common::dup(fhandler_base*)t&'dup %d failed in DuplicateHandle, %Ev'UWVS,]u C\F\CFH( a$CTD$T$D$D$FTD$ D$cuSa4] au e[^_]$0] aD$D$p aD$ a|$&ɍt&( a$CLD$T$D$D$FLD$ D$cce( a$CPD$T$D$D$FPD$ D$c$( a$D$T$D$D$ED$ D$bEF $( a$D$T$D$D$ED$ D$qbsEF8SXuFX1uT$( a D$D$$D$FXD$ D$b볐t&T$( aD$D$$D$FHD$ D$a&T$( aD$D$$D$FDD$ D$way&T$( aD$D$$D$F@D$ D$'a)U E4$|$} p<14$|$]Ðvirtual int fhandler_tty_slave::tcsetattr(int, const termios*)U(]]uu}D$ $D$aD$ {<D$$D$a1]u}]U1]É'virtual int fhandler_tty_slave::ioctl(unsigned int, void*)%d = ioctl (%x)bg ioctl pgid %d, tpgid %d, ctty %dioctl (%x)U(u4] au}} ]J a(tN&U(]0K a]uu$D$&C\1xi\$0K a$CCX$t$D$7&CC44] au]u]$0] aD$D$paD$ aC\\$D$y&virtual int fhandler_tty_common::close()tty%d <%p,%p> closedCloseHandle (get_output_handle ()<%p>), %ECloseHandle (get_handle ()<%p>), %ECloseHandle (input_available_event<%p>), %Eno more masters left. sending EOFCloseHandle (output_mutex<%p>), %ECloseHandle (input_mutex<%p>), %ECloseHandle (inuse), %ECloseHandle (ioctl_request_event), %ECloseHandle (ioctl_done_event), %ECloseHandle (output_done_event), %EUVS uF@FH/FDFXyFP$^Wu 4] a*FL$?Wu 4] aF<$u4] aFT$[FT$Vu 4] a24$$Vu 4] a4$$Vu 4] aukFX 4] au e1[^]Ë4$Ë4$D$ a$0] aD$D$aV\T$T$D$릋4$D$ a$0] aD$D$aD$S[4$D$ 0a$0] aD$D$aD$t&$0] aD$D$aD$ paFTD$$0] aD$D$aD$ aH&$0] aD$D$aD$ aFLD$$0] aD$D$aD$ 0aFPD$U$Tt4] ag$0] aD$D$aD$ Ra >&$T4] a $0] aD$D$aD$ pa$HT 4] a$0] aD$D$aD$ ak$Sc4] aU$0] aD$D$aD$ a,virtual int fhandler_pty_master::close()freeing tty%d (%d)t&U(]]$C<$1u(4] auHC<u+u$]1]É$SC<߉$SC<ŋC[^]É$CTt$D$D$ a#>$CPt$D$D$ a>뜍v$CLt$D$D$ !a=r$CHt$D$D$ !a=K$CDt$D$D$ &!a= $C@t$D$D$ :!a=virtual void fhandler_pty_master::set_close_on_exec(int)from_slave %p, to_slave %pU(uE u]D$4$^ t ]ø0,aH$BD$BD$B D$  t&U]w a]]É$@8D$ D$D$ t a0,abUU MEv$t a]ÅtA81Q<U]]uu $u=t0K@C8Eu ]u]ËE$D$t$R(cΉ$t$D3hWnd_U(]]uu $u1C8Eu ]u]É$Et$D$D$ .a1ى$t$3U]]D$D$$, a]]Ð&'U]]D$D$$, a]]Ð&'U]E]D$% $D$S CC4]]ÐUE]Ð&U]ˉ$D$L$؋]]Ð&U1]1ÐU1]É'virtual void fhandler_dev_zero::dump()here, fhandler_dev_zeroU4] au]$0] aD$D$/aD$ /a֐UWVS,] u}]t&'UF?u`t3]]>1҉Cۍ&void stack_base(child_info_fork&)bottom %p, top %p, stack %p, size %d, reserve %dcouldn't get memory info, %EUVuSPE]EEEEEE4$t$D$m; E܉$EUЉ()CD 4] au e[^]Ðt&$0] aD$@D$ 5aD$ `5a(D$$t$D$CDD$($)ЉD$ $0] aD$D$ 5aD$ 5aeNint fork_copy(PROCESS_INFORMATION&, const char*, ...)donet&%s pass %d failed, %p..%p, done %d, windows pid %u, %E'/netrel/src/cygwin-1.3.12-1/winsup/cygwin/fork.cc&'child handle %p, low %p, high %p, res %dUWEVSaD$ >a1t) a@@)|@qo$>at$0$$0] aD$@D$`>aD$ >a輹d$>a$0] aD$@D$`>aD$ >at$膹$ ?at) at$@@D$#t&int fork_child(void*&, dll*&, bool&)after longjmp.performed fork fixup.%P: *** recreate_shm areas after fork failedloaded dlls&%P: *** recreate_mmaps_after_fork_failedhParent %p, child 1 first_dll %p, load_dlls %d Impersonate for forked child failed: %EImpersonation of child, token: %dchild is running. pid %d, ppid %d, stack here %p&'UWVS4] a]} up( at04] a$` $@aD$N4] aft) aJDt(@Paa(@ a${蕓( a$D$e$莚>$@aD$$ -t) a@ $,t) a@@$,K!u^8) a8) at&Bu.uP a$!{WGe1[^_] D$$P$ Aa $, aD$D$C$MAaD$&$`Aa$0] aD$D$@aD$ AaD$D$D$a^$0] aD$D$@aD$ Aa8Fc $0] aD$@D$@aD$ BaD$( a$0] aJ aD$@D$@aD$ `BaT$@l$D$跴Qvoid slow_pid_reuse(void*)couldn't create last_fork_proc, %EU( < av 11ɣ< a; aD$E( aD$D$; a$T$D$ D$k+t < a]$0] a< a1D$D$nEa; aD$ Ea訳$8* < acv'int fork_parent(void*&, dll*&, bool&, void*, child_info_fork&)CONOUT$waiting for longjmpuser/cygwin datalinked dll data/bsschild loading dllsloaded dll data/bsscopying data/bss for a loaded dllcopying data/bss of a linked dllchild is alive (but stopped)CreateProcessA failed, %E&CreateProcess (%s, %s, 0, 0, 1, %x, 0, 0, %p, %p)&'unable to allocate forker_finished event, %Eunable to allocate subproc_ready event, %Ecouldn't create handle to myself for child, %EUW}VSEEEE]( a$0Ã1$FaD$@D$D$ J aD$D$D$3'= 5 $''( a@ ~EU( aT$ D$$D$D$D$D$' E , a1=@. at 5<. atU a@$ $K aD$D$D$ -t $K aD$D$D$ -p$UtD$T$D$ ]UpB@$( aUEDU1fE,H8t x4tUUB(jaJ a=4] a*p$f1ҡ( ax EUD$ǡJ at$t$ $D$ET$$D$\$D$D$ )Uƃ($$F( ap U1naM@$t$x4J a|T$$1ɋ( aX8t x4tkU؋|PU|P| J at|1󥉅x$D$@D$E؉$( a E؅E܅uottt$#ptp$m#t|ue[^_]x$$)#넉$#mt&E؉$tU؉$D$D$D$ Fa&=4] aD$Fa aU؉$( aD$ aD$ aD$ aD$D$UD$ED$ (D$8D$( aD$,( aD$$D$0aD$4`xa-l$bt, a5, a, a, a9P0t , au4] asD$ GaE؉$FD$FD$ FD$F D$D${, a, a, a, a9P0t , auqpU؉$D$lrtU؉$UD$D$ GaD$CE8, a , a, ad[, a9P0t , au4] aD$3GaU؉$CD$CD$ CD$C D$D$J, a, a, a, a9P0t , auqpE؉$T$;t$E܃$p$E?|u[x$X, ar$0] aD$@D$FaD$ `GaȨ, a, a$0] aD$@D$FaD$ Ga苨d, a6$0] aD$@D$FaD$ GaX)$Q $ED$NTUE܉$#@7a54] aujt$p$t1ҋ ( aX8t x4tuU1$.Q $0] aD$D$FaD$ Gaem$0] aJ aUD$D$FaD$D$ED$ Ha\$D$T$ 6t&11YU U$t$x$0] aD$D$FaD$ @Ha豦U$?$0] aD$D$FaD$ Ha$0] aD$D$FaD$ Ha뤃int fork()%d = fork()The heap has been split, CYGWIN can't fork this process.&Increase the heap_chunk_size in the registry and try again.-1 = fork (), split heapenteringUWVS]ȁ ( ac4] a EJ aEEB9($: E؉$E܉D$ED$i á4] au[Eȅu ؍e[^_]Ã$Eȃ@E@$Eȉ$轼Eȃ$E믍v$0] aD$D$SaD$ Sa\$XxvE؉$E܉D$ED$D$ D$5Ƃ4$0] aD$D$SaD$ Ta$0] aD$D$SaD$ @Taǣ a 4] auXEȅu $Eȃ@E@$Eȉ$蕻Eȃ$E$0] aD$D$SaD$ |Ta7낐t&$0] aD$@D$SaD$ Ta &+9( aE( a( a1҉-( a) ap$( aD$YWt&U$) a$]]int vfork()exiting vfork, res %d%d = vfork()exiting vfork, pid %dUWVSLEE̅E̋Ẽ$E >UUԋM̉hEЉdḾ9w%t&']̃d9v桤( a1$rQ4] aK4] au]E؅ue[^_]Ðt&$E؃@E@$E؉$cE؃$E$0] aD$@D$WaD$ Wa\$v$0] aD$@D$WaD$ Wa\$Ԡ@Ẻhd9w&]̃d9v( a]؅( a$QŰxSE̋54] au$t@$0] aD$@D$WaD$ Wa\$uMۅut& 9( aYE( a( a1-( a=) a=$( aD$9$t& $ ) a ) aP$-$ ) aá ) aPD$$D$踥 ) a$ ) a\$P] $%U,WVS"]} UuCuCC%u؉C EC9s3Bt+t&'\t[f9sBu'fy\$$s,[^_]É\$$t&Bu\J @9sBt f9sBuy&UWVSu} f>{tS'$D${t&$Et$|$D$ 3uϋE[^_]É4$|$Hf~}uf~u⍶U<WVS ] M9tf9u1Ήft.t&f[f{f}ifu׋ufu'U$T$U<1[^_]19w)v;ǃ[[,St9vڋE뱋tf,td9ًst&f9rN'ffuU$T$*KU{Ss{t"}Sbuɉكf]tftf]t fuQfS ꋕ~st&f]t*ft'f]t fu6f-HOME&Uuu]f>~t ]u]ËE@ tF^M ftf/tAftf/uE 8uh$^aXt5U tfAfuffuE n$‰RJ몋E $␐&U<WVS] ET$\$$Ƌt8v'??*fufU $T$u] ;tR] S t 1<[^_]ËU zRD$ ba)L$$D$7빋S u%=uEU $T$:뎋U J 9t f*,f*[؃!fuf[!D$]V$ tf[!tat&ff-t؃]uf]] K ^]tf-Ãff!땃Bf?E H 5t&UEEE E ]gU(C1Uf:u]Ít&T$$D$E D$ ِUWVSEu} t&ff/t9v'%ftEfftf/uԋEu&ωf/u/ff/t뇉|$Et$\$ $ED$Č[^_]fE]\$$ED$1҅uϋE@ tf/tE%=@tJ=tE@E$ED$덉\$E$ED$űE%=@uf/fGU,@WVSE fqUE$D$+U1PraB @t z&4$ׅtnx.u Uf:.u] PfBffuE U$ET$D$tTEU\$$ET$D$ tUB @t4$R,@[^_]É4$qU fRUBu1ЋE\$$opU$D$Ru E@ tƸ듐UWVS } GЍG$T$GøGu%G~HxHy_U&'fuE)$Gt8t$E$O@41H [^_]ËO$FGUWVS ] ;]}sh?Z?*tm atO a$t  a$tr E9u;]r1f?EE [^_]Ef9t;]EtՉ<$E\$D$:EuEft΁[IEEfUt 1f!Et 5af]tTE aEv' f-tV a$tr EU$t 9t%f]uEE9EE҉ a$tJ UEt 9)ҋMt S a$t 9E wf]s f-t&f;Utf]uKE名t&f;UwUf9SrE ‰Efv'UWVS }WtMGK4t! uKuWU [^_]C$Cېt& [^_]Ð&U@CEuu ]f8u2.fF @t$V ]u]É$$\$̐v'USM] ACACA fC ACACACACAS QC$S(A Q$C,S0A(Q,C4S8A0CLG9|E 1Ɉ8L1;8}2Ɖ$GL$vU P;:|ӋR19}SM LubA u GV9|19}%Lu$BE G;x|㡀 aU؉1CBvCA v~u N $U JDG9ω|u VOH< adA af4$D$/t @ƿ"a kݐE؉F&-ayԐUMtCƒ0 v8,t3-t.+t)At!ƒ0 v,t-t +uލ&]ÍUVMSutE1ۍBЃ w8t&\B9)A@Ѓ v1;]|E ȉ'[^]1&U(]M]uu $\$D$D$ o1tEi9:t ȋ]u]É\$A $D$D$ ;.1tыU)9:u\$A $D$D$ <1tE돍U]E] u1-t4+t&$\$1҅tt‹]Ћu]@׍𐐍&U]U] u[^]1v'U9щSt5t&&B a8B auACu1;[]1UWVSu1:H![^_] 't$B a8B auC Gu1ĉt&Ut$D$61҃t]ÉU]t($D$u1;]]øUt a]ÉUet a]ÉUtT$$1҃t]ÍUt a]ÉUtT$$Z1҃t a]Ðv'U au].]8&U8]ӉuΉ}$\$|$t$D$D$ D$D$}] u]ÉU(]ӉuΉ}f$\$|$t$D$D$ }]u]ÐUWVS uϜËVÜK׉19M wKE 1ۋ~ )Mى؃u51;U s4uB;U r؃ [^_];U sC;]v捴&__off64_t mmap_record::map_map(long long int, long unsigned int)-1 = map_map (): %Ev'UWVS MQI)UMfD$UMD$ $L$ána@uC}؋MOt*&MھA C 4OuދEUe[^_]MAٚ}؉4$uljt$D$ED$ i{4] au $0] aD$@D$`aD$ aBΉE E4$|$xEEE Ena@}؋]OtI}ЋEUEEEUԋMԋUԅxVMY M( OuЙuE1EȋEUȋEM̋U蘙uE1EȋEŰU]M̋rjM$E|$L$D$ 11:BOOL mmap_record::unmap_map(char*, long unsigned int)-1 = unmap_map (): %Et&UWVSEu ]H)贘‰1裘\蚘‰؉1ÉEna@]}Kt/'MA F! Ku5UZ؍X%‰؉1@t}W t&'K 1u ue[^_]EPΗD$؍E<$D$ \$`14] a$$0] aD$D$aD$ a?&'UWVSna}@G EtEtEËG Kщ1t]'N؋GۖD$$W MuL$ED$ Sue[^_]Ít&Ut$M u$V9r ^9r1ҋ$Ћt$]É)S‰؉1ËF  !ō&'UE8tBPD$( aD$T$$D$ D$]Ðt&[a[a損&'UEU 8t]Ze]Ð&U]]CC C C$h]]ÐU]]CC C C$h\]]ÐUVSuVBF҉~t&C u V$BFM[^])$!֐&'UVSuVBF҉~t&C u V$BFM[^]$void mmap_record::alloc_map()-1 = alloc_map (): %Ev'UWVS}G;GE EDEDED EDE DE$DE(DE,D G4貓VЍX襓D$‰؉1@$%F na@uWBWe[^_]ËF$FD$D$ED$ u4] at$0] aD$D$AaD$ _a;뒐G$GD$cG&UWVS,UE UUEz EUZ9]EEM܋0QU1ҋE9U|V9ErOu1Yu}\\S‰؉1B؋E196|(9v$EX&EE$9]|1,[^_]ËUE܋ MY֋M =U1\ؑ‰؉1NjE;p}1ۋU|$؉$@uEF$;p|늋M냐t&UWVS E]PC9}3}ۋM <Mt&MH9M MsC$9| [^_]Ëp1t0(‰1U9UvNjEPUWVS } U؋@ EPB9}dމ'UG3P$H$AD3AD3A D3 AD3AD3AD3AD3A D3 E$PB9|BUB [^_]É$q&UE$@HD$']ÐU]]$(HCC ]]ÐU]]$(CC ]]ÐUEE]&'UEE]&'UWVS1ۃEx9}CE졤( aE&'} t:uU u A;BtC9|1[^_]ËUUx Սt&UuUu ]]V t( a@FS;St4SBSD]u]ÍBC$CD$SÍv'US]M SB9} TASB9|BC[]Ívchar* mmap64(char*, unsigned int, int, int, int, long long int)-1 = mmap(): EINVALmmapnot_opennot open%x = mmap() succeeded-1 = mmap(): ENOMEMcygheap_fdmanip-1 = mmap(): EBADF&addr %x, len %d, prot %x, flags %x, fd %d, off %D&'UWVS4] a]u} ~\aQ D$ 4$|$D$ uN4$tt<؃tu+t1ҋE5\auE uU' a 4] au e[^_]$0] aD$D$`aD$ a4ͺa\a=1 \aH E؉01044!pU !tD1ȃ}lMMD$E$ED$ D$ EAE‰h@%H E}E aa}=\aM$L$Tt }1ETLt$na@u}t LhE\$t $LD$lL$ pD$\$L$R\d@ }E]pEdL]tMMEEɉ]lUE]( aa@DnD1҉1;{}71UE$T$u\G$;{|݋\aEM;J| a 54] aE$0] aD$D$aD$ da'E;E s,&'EM؉ $D$tC;] rE$MUËBL$MD$E L$$D$ Rd\$ƋE$tN4] au a1$0] aD$D$aD$ yat$&뻋=4] at$0] aD$D$aD$ a&$0] aEU D$MD$aD$ aD$T$L$&CU a]Ðv'U a]Ðv'U a]Ðv'U a]Ít&'virtual void* fhandler_disk_file::mmap(char**, unsigned int, long unsigned int, int, long long int)%x = MapViewOfFileEx (h:%x, access:%x, 0, off:%D, len:%d, addr:%x)-1 = mmap(): address shift with MAP_FIXED given/netrel/src/cygwin-1.3.12-1/winsup/cygwin/mmap.cc&'-1 = mmap(): MapViewOfFileEx failed with %E-1 = mmap(): CreateFileMapping failed with %Enamed sharingt&UWVS\EU }Eu1ETna@t <$8tE4$<$Ë<$1ҋu8D$D$J a‰$L$D$ J!T$kg4$MD$ 1ET$UL$T$tM D$04] aÅtbD$E$0] aL$ MD$1ED$@D$ aD$ at$T$L$$tU D$("tnEM ;tR a4] au4$e[^_]$0] aD$D$ aD$ a"¸@a?.4] at$0] aD$D$ aD$ at&E 댸@a2 4] aj$0] aD$D$ aD$ a!AG,މ$\$9ٍ&! t€u҃)Jx( *B a*Jy4] au_D$M\$ $7 <$\$D$J aD$ $D$D$_$0] aD$@D$ aD$ a xUE$诗E $1]Ð&UE$ED$舠t1]ø@a\<損t&U(]E ]D$$E\$D$ED$ ED$9؋]]Íint mprotect(char*, unsigned int, int)-1 = mprotect (): invalid prot value0 = mprotect ()-1 = mprotect (): %Emprotect (addr %x, len %d, prot %x)U8]4] a]uu}} K۸tr+KtM54] au a]u}]$0] aD$D$`aD$ ab뽸t&'D$E4$|$D$ it8 4] au1둍t&$0] aD$D$`aD$ aҸ@a 4] aE$0] aD$D$`aD$ at&t@M >4t&$0] aD$D$`aD$ at$|$\$Pt&'int fixup_mmaps_after_fork(void*)succeededReadProcessMemory failed for MAP_PRIVATE address %p, %E&base address fails to match requested address %p fd %d, h %x, access %x, offset %d, size %d, address %p'recreate_mmaps_after_fork, mmapped_areas %pt&UWVSL 4] aW\a1E1;BMEE1;HEE}Ћ54] aׅ<$OW ËGM؋OMԋ wT$UԉD$E؉$T$D$ t$Qh\$<$E]܅ tr<$JEEE$U;Pi\aEM;J(4] au 1e[^_]$0] aD$@D$aD$ a΍t&_O9s<$\$t+rD$M\$\$ $D$ |tqWËG9r+GD$ a$0] aD$D$aD$24GD$ `a$0] aD$D$aɍt&O WMO_MO\$D$ET$UL$$$0] aD$@D$aD$ aD$T$ $0] a\aD$@D$aD$ aD$uwU} ]]t ]]Ít&tu$[aT a[a{$[a"cygheap_fdgetU$D$]ÉU$D$f]Ð_OVERLAPPED* wsock_event::prepare()%d = wsock_event::prepare ()&'U($]]u1K~ teCsCC CC4] au ]u]$0] aD$@D$`aD$ at$ʍt&苏u$*n 뢐t&int wsock_event::wait(int, DWORD*)CancelIo() %E, fallback to blocking io&UWVS,]tL au D$U$EED$D$D$ #~ tlr6@t$'Gm $| e[^_]Í&4$CD$ED$ED$ D$| t}뫉4$g u]4] au-4$CD$ED$ED$ D$| e$0] aD$@D$`aD$ a%$'+cygheap_fdmanipU(D$E$E]D$ D$MxDE$E a}u؋]]Í a|ۀ}E au1̸ aUvSOCKET set_socket_inheritance(unsigned int)DuplicateHandle succeeded osock %p, sock %pDuplicateHandle failed %Ev'U(]( a]D$$D$E\$D$ D$D$tJ4] auE]]t&$0] aED$@D$aD$ a\$D$A$0] aD$D$aD$ ,a뙐&UM]ʉȁ Љʁ  Ít&U]ʍv'UU] ÍUE$]void dump_protoent(protoent*)protoent %s %x %xU(Ut 4] au ]Í$0] aD$@D$aD$ aD$BD$BD$뻐t&UuE]$qk ou5t\4$Gu]]Í&+$m1҉멍&'U]]}t ]]É$j 255.255.255.255Uuu]] }$t1ɋ]ȋu}]ÉغSu߉4$j E@ttEa18uӐU]]t ]]É$i 荶UE$oy ]É%=tUUE % ‰$]Á%&%WSAEINTRWSAEWOULDBLOCKWSAEINPROGRESSWSAEALREADYWSAENOTSOCKWSAEDESTADDRREQWSAEMSGSIZEWSAEPROTOTYPEWSAENOPROTOOPTWSAEPROTONOSUPPORTWSAESOCKTNOSUPPORTWSAEOPNOTSUPPWSAEPFNOSUPPORTWSAEAFNOSUPPORTWSAEADDRINUSEWSAEADDRNOTAVAILWSAENETDOWNWSAENETUNREACHWSAENETRESETWSAECONNABORTEDWSAECONNRESETWSAENOBUFSWSAEISCONNWSAENOTCONNWSAESHUTDOWNWSAETOOMANYREFSWSAETIMEDOUTWSAECONNREFUSEDWSAELOOPWSAENAMETOOLONGWSAEHOSTDOWNWSAEHOSTUNREACHWSAENOTEMPTYWSAEPROCLIMWSAEUSERSWSAEDQUOTWSAESTALEWSAEREMOTEWSAEINVALWSAEFAULTNOERRORU D aUt&1 ;D at D au]ËD avoid __set_winsock_errno(const char*, int)%s:%d - winsock error %d -> errno %dv'U8]uƉ}c $¡ a4] au ]u}]$0] aD$D$aD$ at$|$\$T$[ Unknown hostHost name lookup failureUnknown server errorNo address associated with nameUc F a1ɅtF at&;t A:uIF atF a \aÍ \at&UVSut0t'$5uu[^]![^]Ív'UWVS1ۃ }7tv'CuD$C$1t&K~t&$tK [^_]1&UWVS1ۃ }tv'CuD$C$蓾1t>K~5t&E $t'$D$E D$Kω [^_]1void free_protoent_ptr(protoent*&)protoent: %sU]]t!4] au4u@$C]]Í$舽֍t&$0] aD$@D$aD$ #aD$v 랐protoent* dup_protoent_ptr(protoent*)protoent: copied %sU(u1u]tO$D$ E1t04] aFfBuqFuI 4] auE]u]É$0] aED$@D$aD$ aD$ $]ECuE$s1룉$]蔼ty$0] aD$@D$aD$ #aD$ U9cygwin_getprotobynameUuu] 1҅t ]Ћu]c$Q4$?` $1t "$$듸 acygwin_getprotobynumber&'U]$5ËE$_ $t%~$k]]øaʐfhandler_socket* fdsock(int&, const char*, unsigned int)fd %d, name '%s', soc %p&'not setting socket inheritance since winsock2_active %d&reset socket inheritance since winsock2_active %d&'UWVS}f=@\auUna@ 4] a( a$D$D$ D$D$E D$ 跣p É$D$D$H4] aue[^_]Í&$0] aD$@D$aD$ at$D$E D$$0] aD$@D$aD$ aD$*4$D$D$4] a $0] a1f=@\aD$@D$aD$ aD$뛉4$uint cygwin_socket(int, int, int)cygwin_socket/dev/streamsocket/dev/dgsocket%d = socket (%d, %d, %d)/dev/tcp/dev/udpsocket (%d, %d, %d)UWEVS<$u} D$D$E܅xv 4] a $1U|$H!ЉD$ ^ /atAaT$E܉$L$1tp8x<]ܡ4] au1}E aue[^_]Ít& a$0] aED$D$aD$ Oa\$t$|$D$s떐ha^qaT!ay`t&$0] aED$@D$aD$ zat$|$D$ &int cygwin_sendto(int, const void*, int, unsigned int, const sockaddr*, int)%d = sendto (%d, %x, %x, %x)U8uEu]}} $ptEU辻$E|$t$D$ ED$ED$9á4] au؋u]}]$0] aED$D$ aD$ED$ ma\$|$t$D$ 뱻롐int cygwin_recvfrom(int, char*, int, int, sockaddr*, int*)t&%d = recvfrom (%d, %x, %x, %x)U8uEu }}]$ É腺ta4] au؋u]}]Ít&$0] aMED$D$aD$ a\$L$t$|$D$ 뭋EuEtMErj$EMt$D$ E|$L$D$C int cygwin_setsockopt(int, int, int, const void*, int)cygwin_setsockopterror%d = setsockopt (%d, %d, %x (%s), %x, %d)setsockopt optval=%xSO_DEBUGSO_KEEPALIVESO_REUSEADDRSO_ACCEPTCONNSO_USELOOPBACKSO_BROADCASTSO_ERRORSO_OOBINLINESO_LINGERSO_DONTROUTEUWVS른a]늋U$~MoEa(tEaEaEatZ& t@EaEatEaEaEaEa|int cygwin_connect(int, const sockaddr*, int)%d = connect (%d, %x, %x)&U8}E} ]u$UÉWu)۾t$E|$D$Rơ4] au]Ћu}]Í$0] aED$D$aD$ED$ at$|$D$F뭍t&void free_servent_ptr(servent*&)servent: %sU]]t(4] auDu.P u@$\]]É$觫܍v$蘫ƍt&$0] aD$@D$aD$ aD$뎉servent* dup_servent_ptr(servent*)servent: copied %sv'U(u1u]$D$3E1ty4] aFfBFt$]CtF D$$wuuF t$]C tL 4] au E]u]$0] aED$@D$aD$ aD$XčE$51벐F D$$-wmF h$]Ott&$0] aD$@D$aD$ aD$Ucygwin_getservbynameservent* cygwin_getservbyname(const char*, const char*)%x = getservbyname (%s, %s)U(uu}} ]Dut5t1]u}]É苷$y4$É|$M $UtS4] au =0D$ a$0] aD$D$a|$t$D$j붸Ra9cygwin_getservbyportservent* cygwin_getservbyport(int, const char*)%x = getservbyport (%d, %s)t&U(uu }}]t 1҅uYU$C<$Ét$L $Zte4] au]Ћu}]ÉD$ a$0] aD$D$at$|$D$%맍vaIAcygwin_gethostnameint cygwin_gethostname(char*, unsigned int)name %s v'U(]] uuډu. atb4$\$J @tP4] au11ң \a]Ћu]É$0] aD$@D$@aD$ lat$뿍]E4$D$nsu^a듐void free_hostent_ptr(hostent*&)hostent: %sU]]t. 4] au7u%@$@ $]]É$A$0] aD$@D$@aD$ aaD$3 hostent* dup_hostent_ptr(hostent*)hostent: copied %sv'U(u1u]th$D$פE1tI4] aF]fBF fC FwF uF4] au E]u]$0] aED$@D$aD$ #aD$,ĉ$]F D$gC uE$U1랐$]Ctr$!tT$0] aD$@D$aD$ aaD$Ucygwin_gethostbyname'hostent* cygwin_gethostbyname(const char*)%d.%d.%d.%dh_name %s&'U(uu]:1҅t ]Ћu]É4$D$ aD$^aD$ ^aD$0^aD$@^a Z$ H4$F $(tW4] au1 \a ZD$ a$0] aD$@D$ aD$9벸 aXC룐5]a1]a]a]a^af]a]a^a]a ^a ]a]a0^a]a@^a]af]a^a]acygwin_gethostbyaddr'hostent* cygwin_gethostbyaddr(const char*, int, int)v'U(uu}} ]蒧1҅t]Ћu}]蘯$K膯4$ËE|$D$D $[tT4] au1 \a</D$ a$0] aD$@D$ aD$o뵸~ ay릐int cygwin_accept(int, sockaddr*, int*)%d = accept (%d, %x, %x)&'U8]] uuۉ}t4;t]u}]Ðt&u܋E$t$\$t$ǡ4] au$0] aED$D$ aD$  a|$D$\$t$9Ðint cygwin_bind(int, const sockaddr*, int)%d = bind (%d, %x, %d)&'U8]] uu؉}"t]Ћu}]ËE$t$\$t$Vǡ4] au$0] aED$D$aD$ +a|$D$\$t$0Í&'int cygwin_getsockname(int, sockaddr*, int*)%d = getsockname (%d, %x, %d)t&U8]]uu ؉}}t]u}]ÍuE<$tt$t$\$ЍE4] auE$0] aED$D$aD$ -aD$|$t$\$int cygwin_listen(int, int)%d = listen (%d, %d)t&U(uu]}} 4$t$|$NË 4] au؋u]}]Ív$0] aD$D$ aD$ 'a\$t$|$`int cygwin_shutdown(int, int)%d = shutdown (%d, %d)&UH] ( a]؉uɾ}}<$t$E D$םƋ4] aubE؅u]u}]Ðt&$cE؃@E@$E؉$E؃$cE$0] aE D$D$aD$ at$|$D$6f[`9( a'E( a( a1҉-( a) a $( aD$t&UF a1҅MtF av';t B8u]R F anot_opennot open: Resolver internal errorResolver error 0 (no error)Unknown resolver errort&U(}}]ut賟5( ayaѨE{~ HuEa趨Ut8<$D$$|$c$D$aD$b \a$tE$dD$$\$b$D$aD$b]u}]á \aatata뜐&int cygwin_getpeername(int, sockaddr*, int*)%d = getpeername %d&'U(]]}؉ut]u}]Í&E ֞uًE$Wt$E \$D$>Nj4] at=t@4$$0] aD$D$ aD$ Ma|$D$jƍ&int cygwin_recv(int, void*, int, unsigned int)%d = recv (%d, %x, %x, %x)U8uEu }}]$pÉ՝uutq$Et$|$D$ ֊á4] au؋u]}]$0] aED$D$@aD$ED$ oa\$t$|$D$ 뱻롐t&int cygwin_send(int, const void*, int, unsigned int)%d = send (%d, %x, %d, %x)U8uEu }}]$pÉuutq$Et$|$D$ 6á4] au؋u]}]$0] aED$D$@aD$ED$ ua\$t$|$D$ 뱻SystemSYSTEMVxDTcpipMSTCPParametersCurrentControlSetServicesDomain/netrel/src/cygwin-1.3.12-1/winsup/cygwin/net.cc&'UX}U }]u蔛na;aB $tBaB Ia$tMaB Sa$tYaD$]؉$D$t$ D$daD$vaL$T$D$ &F}t'$E D$a|$D$ D$a]Jt+az$K]Ћu}]É$K1/0:UHaa}}]]uEfEfEfEfUfEwD$EE$\$f zteE܉]u}]$ED$D$f zuNjEcET$ UЃc$D$ Ẻ\$D$f uD$U̍]\$$f ]EEЋ9UH]̋]EE%0fEE9Es6Uԋ]ЍRUi\ ]̋9TtEԋE9Erы]ЋE9Urw$aatataatatatatatatatatatatatatataaatatataaEfE% fEEtok4$D$E<06} hs E} hs |} fs t7} fs O} dst%E܃ WЃ 9]̋]UԍN]̍RDAfFfA뺋EԍN]̍@ӋB Z ԁ} js tu} js |$} ks uE؋Ui\ FiE؍^1ɋUi\ЉEȉE;rDABvf*DFUԍN]̍RD 54$D$a<E4$D$-E}0tethE4$vEfЋE% fEEfE% fEEppp4$2floF-EfЋE% fEEslp4$SYSTEM\CurrentControlSet\Services\Tcpip\LinkageSYSTEM\CurrentControlSet\Services\\Parameters\TcpipIPAddressSubnetMaskNdisWanDhcpIPAddressDhcpSubnetMaskBindUWVS1ہLE@T$$D$@aD$D$ af;vaafaG<$\$<$D$a$|$D$D$ T$zt3$XxkEe[^_]ÐD$aD$D$ $t$D$;t$kD$aD$D$ $|$T$هutt UJȃ 9`޿appp$CD$tƃ@@@@$/e} hs E} hs } fs ts} fs } dst]$J$ƍF+P~lx]$Ff@fF{$[Nj$K FfB} js tF} js |} ks )@FfFf@B${D$aD$D$ $|$D$}KD$aD$D$ $T$D$-} hs tI} hs } fs t} fs } ds<$<$Ǎ}t&f% Ћfeth$D$aD$D$ $D$t$Lt$Y\$\$$D$aD$D$ t$H!Enum\Network\MSTCPDriverSystem\CurrentControlSet\Services\Class\IPMaskSystem\CurrentControlSet\Services\Class\Net\AdapterNameMS$PPPUWVS\affE@D$ $D$#aD$D$节1҃tU e[^_]D$D$$D$T$T$ D$D$с =zt덍&D$D$ $D$D$辁uD$#aD$D$ $T$D$貁ue$a($a 󥍝$T$$\$D$D$ D$ t$D$aD$D$ $\$T$D$)$aD$D$ $|$D$蛀ua UJȃ 9} hs } hs } fs } fs } ds@$a$~l$a $D$$\$D$D$ T$t$~ aD$m$aD$D$ $\$D$[uغy$a蘉ulfЋ% feth$D$$}$}f% Ћfppp$둉$莾Ff@fFA$l<$b ؃FfBŁ} js tO} js |} ks B@f@fB@<$6$|U255.0.0.0U]]u}Ou;?{ a]Ћu}]flowGGGGG} hs Y} hs } fs t&} fs } dst a{$"FfGfF1H%󫍅HH$zOnaB u1B $t$E D$1$E D$$E D$$腺D$*aD Bt&} js t:} js |} ks GT"fGGfG G$*a襻int cygwin_rcmd(char**, short unsigned int, char*, char*, char*, int*)%d = rcmd (...)&UWVS]؃lE ( auE ɋ}EІt\E؅u e[^_]Ã$}HE؃@E@$E؉$;E؃$]HE묐ut uEtEsD$Eȉ$D$ԤU̅Et=T$E$D$諤UcEU}E a14$EU|$D$ET$ UD$1}H!ЉD$% E@tAD$haẺ$ED$N]U̅ۉUtD$haE$ED$' 4] auy}E auVE؅uEq$FE؃@E@$E؉$E؃$FE뱸 aV$0] aUD$D$ ,aD$ g,aT$9W a}E a# a C9( amE( a( a1҉-( a) aQ$( aD$I8int cygwin_rresvport(int*)%d = rresvport (%d)t&UX] ( a]؉uɋu}諃tgE؅u]u}]Ã$SEE؃@E@$E؉$E؃$3EE맍&D$EȻ$}D$͡E̅x)4$" t<$D$haD$]̋=4] at4$0] a1D$D$|/aD$ /a\$tD$?}E auUE؅u$YDE؃@E@$E؉$E؃$9DE벸 a蹊땍&@9( abE( a( a1҉-( a) aF$( aD$-int cygwin_rexec(char**, short unsigned int, char*, char*, char*, int*)%d = rexec (...)UWVS]؃lE ( auE ɋ}EB0t\E؅u e[^_]Ã$BE؃@E@$E؉$E؃$BE묐Yut JuEtEWsD$Eȉ$D$4U̅Et$UEЋMEEԄEĉE a14$EU|$MD$EL$ D$1}H!ЉD$ E@tAD$haẺ$ED$ǿuM̅MtD$haE$ED$蠿4] auy}E auVE؅uE$oAE؃@E@$E؉$-E؃$OAE뱸 aχ$0] aMD$D$1aD$ 2aL$W a艇t&=9( aE( a( a1҉-( a) a$( aD$xt&int socketpair(int, int, int, int*)socketpair%d = socketpair (...)connect erroraccept errorgetsockname errorbind failedsecond socket call failedfirst socket call failed&'UuEu]]}} $ED$D$c}t9}E au]u}]Ít& aԋEHvq aj4] au,}E auE멸 a覅t&$0] aED$D$4aD$ 5aD$맍vGv  ak녃}}UfE$T$D$SE\F}E a/$|$D$ $EfEfEED$D$| REE؉D$E$D$ $|$D$P E @c$>ESD$E$E؉D$ r$EȉD$D$ ] }Etb4$hatqaD$ED$@8x13( a$0u ^a$^aD$,&tD$^a$|(~1ɉ ^a4$&뤺"UX]^at =^auRH~Bi^a9| 1]]Ívip^aBى뷍( a$Cu^a$^aD$B%tD$^a$'~1^a$,%먐U1]Ð&U%i1҉]Ð&Ui1ɉ]Ð&U1]Ð&UX]^a]ut =^au3H~);^a}؋p^a؋]u]1С( a$u^a$^aD$$tD$^a$k&~1^a4$$ cygheap_fdmanip&'UWHVSgD^at=^a\HHE<$D$D$D$ |LP}u$ED$ ePD$$ED$E$ a@ D$ݚ a$D$@D$A a@ D$Sa$i1҄t< tc< t_BuPD$$ED$T aHu e[^_]øSaf뛍v( a$u ^a$^a|$"t/D$^a\$V$~1^a4$!^a/tA4] a$0] aED$@D$WaD$ XaD$|${뺋EF//uE-E@9;U://(/t UE‰/B@/GEGpath(%s), set_has_acls(%d)%s is a non-directory/netrel/src/cygwin-1.3.12-1/winsup/cygwin/path.ccsrcv'UWVSӁƅrD( atƅs- D11҉d11ɉ 1҉$14181ɉ01҉,11 1ƀƀ<t x 1҉(G $D$J9v91t ~:ytt@ a@t$X$Dt|$ ȉD$ +\t(=@ a\uD8t\uD D(\u34t#8tډ$A@ atotD$/$`9ht h/t59t+9th\yt&/u߀ty&hzt/D<st$D(u4 D,tlstnD! t€u҃*D؋D|\t&Ƹ_a2D\DrtD D(uF41҃t tu+D PuĊ8tBu1҉ЍX9sfue[^_]Ã$@@$$蜫$1뤸_a2KtD x_aKu޸_aKTȍD_axJD1L$΁4$wuDƇD ,4] auy auDu&D  t D _a󦋍D t D K$0] aDDD$@D$`_aD$ _aD$T$ D$ɑ84] auD($0] aDD$@D$`_aD$ `aD$w뺐t&$D$脭ƅr\suwt4$thD 4tu,G8>$\$D$dd hh $蛭ىƋ! t€uҍ)=wD$/$豰L931ƅWBu`9hr/Fh4$D$裫ݰ/뾍<$D$腫1ɉȈĊ8tBu1҉Љ_$謐=:01D4D1ɉ4Ћ\uD4,EDX ։W$ct{:tlC1utapenphysicaldrivestnstfdscdsdUWVS,] }غsa3>tUD$ E܉$D$U9v:tsaE=t/,[^_]Éغsa =t:D$ E؉$D${U9v:t $pt{:uB aӍ&E#saN=t>D$ ]ED$$U9v:t-#E&saD$ ]ED$$VU9v:tE-saSBBoa8$D$xax )P񐐐int normalize_win32_path(const char*, char*)%s = normalize_win32_path (%s)ENAMETOOLONG = normalize_win32_path (%s)\/t&UWVS,]u ]E#4K al?H(tg/tN4$E\$UD$T$ ru4K al?<$p?(.u(uE]4K al?UuE T$$4] a$0] aE D$@D$aD$ !a\$D$o$0] aE D$@D$aD$ >aD$Uot&4$0K aVBV;P rUWVSU E]UUU싰l?$h>D$~|$wtUB aBt11D$?]$D$haD$ cygdrive prefixcygdrive flagst&UWEVSLu$D$?!E؍h>$D$a\$D$ D$xa)D$( a}ȉ<$D$D$ GaD$PauaaD$D$haD$<$D$a\$D$ D$xa%t"/cygh>drivl>efp><$D$ aD$ p?$\$D$mٍt&'! t€u҃)ىl?<$E؉$ L[^_]D$ aE؉$D$ p?$\$D$ٍ! t€u҃)ىl?s&UWVSD$8E4K ah>p?ΐ! t€u҃)l?E؉$1v'UWVSnt$$?m$E D$mC!luserƀUC<ƀ@modetext8<@ukuF u%C8C C [^_]D$a8$jD$a8$j랐D$a8$D$a8$ʉkodebinm8<1Kƀsystemf~:YB aaE@M!%v'UE$T$D$]%c:\%s%cUW1VaS<{zD$a$t$<$lt<$,@u!!ƅ$4K aD$at$ h>D$6$D$4K ap?D$e[^_]6Fۃzv)UE Ux;B |]?iDE]n&'UVS]E $D$iE4$D$i ! t€u҃)ى! t€uҋE) [^]Í&'int mount(const char*, const char*, unsigned int)%d = mount (%s, %s, %p)U8}}uu ]ts|$4K a1$E D$Yá4] au؋u]}]$0] aE D$D$@aD$ ra\$t$D$|$L븍t$4K a|$ D$$E D$끐&UD$E$g]Ðint cygwin_umount(const char*, unsigned int)%d = cygwin_umount (%s, %d)U(uu }} ]te|$4K at$$á4] au؋u]}]Ít&$0] aD$D$aD$ a\$|$t$J뻉|$4K at$D$ $두&'U]" 1҉ ^E]]Í&'U Q4K aL$$E]ÐU]Íint get_symlink_ea(const char*, char*, int).CYGSYMLINKCannot read symlink from EAUD$,aE]$E D$ED$ vu 4] au C]]$0] aD$@D$aD$ 8aUIАBOOL set_symlink_ea(const char*, const char*)Cannot save symlink in EA&U]] $eU@D$,a$\$D$ 0u 4] au 1ҋ]]$0] aD$@D$aD$ a{Hϐint symlink(const char*, const char*)%d = symlink (%s, %s)%s%s!symlink (%s, %s).lnk&'U1W11V1S, ƅ}111J aEE(J aEE,J aEE0Eƅƅh1t E $tP54] au e[^_]$0] aE D$D$aD$ a\$|$D$F&<$c=v  a[$U D at }EЅtM atG4] aE1҃t tu}t a D atlƅ1ReadFile2 failedv'UWUVS]ԃ\EET$D$ $\$ D$=4] auvM4] auu4$蔵EЃe[^_]Í$0] aEЋUD$MD$ED$aD$ `aD$T$D$>$0] aD$@D$aD$ ax>avuԃ uthUPL1ۃ}~U؀#t?:t2Mt t M u }ZuڻӀ} u}!u Uؿa։t0} x uؿa`u@EUM$L$D$\$ D$hEЃu>54] auu]$0] aD$@D$aD$ aB=D$E$EԉD$&Bu MԉMU$ ZEt&UWVS }E] GG$D$.B]_1Ċ8tCu1ۉ؉G t,t ]u*axt Gw [^_]ËQu uGϐUS]t6t*v'JBt RtC$,avDaawaaaaS҉uC[]Ë8uBCC׋C D$a$$VC뻋C .lnk@C 1맋C $D$qW{t놋C D$a$U搐int symlink_info::check(char*, const suffix_info*, unsigned int)%d = symlink.check (%s, %p) (%p)not a symlinkGot symlink from EA: %sGetFileAttributes (%s) failedv'UW1VSL]Eȉ$E D$ED$u ) ƃ$Eȉ$1ɉ E؉$Z@m8@ a4E1}~t~ E@D$EؿD$D$ J a$D$D$D$蟯tcE؉$\$ T$D$ D$D$ }~t14] auO1u e[^_]$0] aED$D$aD$ `a|$D$\$D$D8$0] aD$D$aD$ a84] a놡4] a끃uE؉$\$ T$D$ D$D$zu-\$ED$$_4] a $0] aD$@D$aD$ a\$n7R$E D$j4] au  9$0] aED$@D$aD$ aD$6빍UXuu ]D$\4$>WtlC4$D$tB$$t$Rt!Eƀ$1=@ at$t$R]u]É두int readlink(const char*, char*, int)-1 = readlink (%s, %p, %d)&'Ux]]}}ۉu$ka(UЅt^ a4] au]u}]$0] aE D$D$aD$ a|$D$\$Y5빍&E܃u  aEu@t a뇉4$R9}t$E \$$:f4$Qڍv a[BUWVSӃ ҈tzu6{:E1ɀ/\}uPvCB a)4t"<\uCt<.uҀ{u̍e[^_]á( a$ ƀ.t )p\뎀{u${5t{:t E\CP1ײt&%$P&|$$'6t6B aGG:;\tG\G\$@$Oϐ&U(uu }1]]uUt! a]u}]Í&\$( aD$D$ $t$ 뼉t̉؉St말UD$E$W]int chdir(const char*)-1 = chdir (%s)c:\&%d = chdir() cygheap->cwd.posix '%s' native '%s'dir '%s'UWVS|}$øu}4] a<$Oh|$t$4$N؈Ċ8tBu1҉ЉÐK9r$ 4t;u ae[^_]$򍅨ۗUЅt: a4] at$0] aD$D$maD$ at$<1듉4$D$/QC$Nv$D$aQ9F$M2t :q]ԃ[C0E܃1҃t tu aa1ECwy( a$t$D$ 4] au $0] aD$D$maD$ a|$( aD$D$/밡( a$D$D$끉4$D$GaOF@ aA4@`a H$&Oƅ\ƅot&$0] aD$D$maD$ a|$/int fchdir(int)cygheap_fdmanip%d = fchdir (%d)UVS]@ ( aut$E؉$D$D$ _]܅E@0$4Ë 4] a}E au^Eue[^]Í&$uE@E@$E$3FE$UE멸-a댍v$0] aD$D$aD$ =a\$t$-K3t&˥9( aE( a( a1҉-( a) a$( aD$Dt&UX]U!u$u 肓Ut a]u]É4$\$I1UX]U1u$u "Ut a]u]É4$\$H1U]]}t ]]É\$4K aD$ $E D${1ӐU]]-t ]]É\$4K aD$ $E D$+1ӐUXuU1]$] "Et a1]u]Ívt$4K a\$D$ $賿‰؅t&U];]u1ڈĊ8tBu1҉Ѕt ]u]$,t{:t߾ؐv'U;WVS E ](҉ЈĊ8tCu1ۉ؅t$&AFЉˈĊ8tCu1ۉ؅u4K a1ۿE;X }71ɍ&} t<9}NjEC;X |؋E$ZG [Dd^_]ËǍv'UD$E$]ÐUD$E$]ÐUD$E$E D$萯1]Ív'UD$E$E D$`1]Ív'UWVS1ۃ U$*t My:E$kFU}J9vG1?@[\]^_`{|}~lowerabcdefghijklmnopqrstuvwxyzprintABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ punct!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~space upperABCDEFGHIJKLMNOPQRSTUVWXYZxdigit0123456789ABCDEFabcdefNULSOHSTXETXEOTENQACKBELalertBSbackspaceHTtabLFnewlineVTvertical-tabFFform-feedCRcarriage-returnSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCIS4FSIS3GSIS2RSIS1USexclamation-markquotation-marknumber-signdollar-signpercent-signampersandapostropheleft-parenthesisright-parenthesisasteriskplus-signcommahyphenhyphen-minusperiodfull-stopslashsoliduszeroonetwothreefourfivesixseveneightninecolonsemicolonless-than-signequals-signgreater-than-signquestion-markcommercial-atleft-square-bracketbackslashreverse-solidusright-square-bracketcircumflexcircumflex-accentunderscorelow-linegrave-accentleft-braceleft-curly-bracketvertical-lineright-braceright-curly-brackettildeDELUWVxSE%tt 4UB;E ] )$S踭 D@F$蓭F F^U FFF111҉L TH@ ~t@C{PCCC81CC C(C,C0C<C@CDC4CH4$D$D$#FHtC t4$4 4$D$D$l#FHC$4$\$!4$\$$4$\$1%4$\$&UCLCDEeBC(Z u&FuĜ[^_]ËE$]F4$D$ȉ4$D$D$;4$D$/&$ҫ 됋E $&UWVSE]EE K{9ʉs2<|t+;E t#$;K9s<|t;E us99:|MBu]$UD$@C)ЉD$!C$PUU)ЉD$T$"C$D$DED$!>$D$:]]&'UWVS,E$< MUEYE]ЃU9؉Usָa׉)E;Esu캻a׉M9Ms u>^E9Es+U:]E9EsU:-Lt&'9]sh}]t6@9s-t$EU$T$uM^ M‰]u9]s"E8-9]sEUM@9]tD$u4$ }GG@tF yUEM PuP %| E]ÐUuu]] 9^| ]u]ËF $D$tF ^ԉu]uE ]t&U]]uu CFC $CD$蓇Ft ]u]É$D$ @C Fܐ&UWV1S EE} HugO1ۃ'%|=,=,==$t ;_@~u_@1ہ|uG@u [^_]@$艆G]E9s&U'M8 8C;]r;]HEEUEM uE}UMu}EEEEuEU$M}t$ T$L$|$ Ƹ}uEXHW'uUE$M}t$ D$L$|$9uE΃}5]E@D9wv'TA9vUBHu EUBL~}ąi~ ]ąHt$E}<$UD$D$ET$D$ ukE9D$MFD$uU$t$L$ Rt$EM $}D$D$E|$ D$LtMtUEM))Љq}vs;MsiE]pDt&9wCˋT}ωTA;MruEąu 1Ĝ[^_]É$}$}؋ET빋]뺅a}G}E$p} 롍$:}MEċALzt$EM $}D$E|$ D$E@D$|E돋EHHuEN@)9E9ɉމvM M $UЉE9t&UWVS,];]E E|t&Uߋ Q%|=,7=,?=$!AG %|=(t(=(=t(=&=t&;}|E,[^_]E=t=== t=$uƋED$U\$ |$$UT$ UƋEt$T$$E|$ D$ ;EtF뵋UC]_UUt$EU\$$ET$D$ G t9;Et UEUˉD$U$UT$\$ED$ u UEU=<=<=0=0=,ED$U\$ |$$UT$ UƋEt$T$$E|$ D$ ;EtF뵉t$UC]E_$UD$\$T$ R 8t$EU$T$=4t+=8"E]Ps E)D]Es S)EvD$U\$ |$$UT$ UƋEt$T$$E|$ D$ ;EtF뵍SUU@%\t&'t$EU\$$ET$D$ O 9CSUUP%Ë%|=DuK묋A%<=<&'%Nj%|=HuUWVSXEMuU E}EMu}'UUEE9}|M qMĉuЍ&'EЋ}%|=7== f= =EEuԅuu9u|]ԅ}M MMuċ}vu%|=,uVEu}D$UE4$M|$@D$ T$L$EuuUD3EX[^_]=,|=$u!}MUGu}LʍFG=$=(~UMuB;4tW}uUM]E9s&U'M8 C;]r;]EEM EUuE}@MUu}$hẺ 7MЋEEPD$ EԍQEkT$E܉${uM} $EUt$|$D$ T$ EuMAHOt&Eu}4$UD$E|$T$D$ )uE΃}K]E@D9wv'|A9v}OHu E}GL~Uą~ EąSt$EU$MET$ L$D$D$ukE9D$}FD$uM $t$ |$Bt$E}<$UD$D$ET$D$ |tEtUEM))Љq}z;MspE]pD9wNˋT}ωTA;Mru)EąuẺ$e1Ĝ[^_]É$eމ$e͋E|뮋]믅VE@EE$eẺ$e 떍v$QeEċGLdt$EU$MET$ L$D$vE@D$eE넋MAHẺ$duEN@)9YE9ɉމHI&M M $UЉEt&UWVS,];]E E|t&Uߋ Q%|=,7=,?=$!AG %|=(t(=(=t(=&=t&;}|E,[^_]E=t=== t=$uƋED$U\$ |$$UT$e UƋEt$T$$E|$ D$B ;EtF뵋UC]_UUt$EU\$$ET$D$  t9;Et UEUˉD$U$UT$\$ED$ u UEU=<=<=0=0=,ED$U\$ |$$UT$g UƋEt$T$$E|$ D$D ;EtF뵉t$UC]E_$UD$\$T$  8t$EU$T$=4t+=8"E]Ps E)D]Es S)EvD$U\$ |$$UT$ UƋEt$T$$E|$ D$_ ;EtF뵍SUU@%\t&'t$EU\$$ET$D$  9CSUUP%Ë%|=DuK묋A%<=<&'%Nj%|=HuUWVSXEMuU E}EMu}'UUEE9}|M qMĉuЍ&'EЋ}%|=7== f= =EEuԅuu9u|]ԅ}M MMuċ}vu%|=,uVEu}D$UE4$M|$@D$ T$L$EuuUD3EX[^_]=,|=$u!}MUGu}LʍFG=$=(~UMuB;4tW}uUM_a u}tEE0{e[^_]Ív4K ad@׉x4] at$0] aD$@D$`aD$ aat$벐U(EUEJt]ÉD$$E D$ED$ ED$ED$"E}tE뾅uE뵐v'U(EUEBt ]ÍD$D$D$ $E D$ED$Dv'U8]EUuu}}EBt/t}t<$t$؋u]}]Ít&u|$D$$E D$ED$ ED$D럐&U(]]uuCt ]u]É4$U@D$$U D$ t$T$D$C뿍UE]ÍUUBt]Ë$E D$B捶UUBt]Ë$E D$B捶U]]CtC]]Ë$AU]]CtC]]Ë$A㐐SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfileImagePatht&Ux]Uu}E T$da$(D$/; $\$9ea\$4$f$t$D$D$ D$At1]u}]ƅD$eaD$$D$ \$D$^At.$)@tt$E $辯n$t$D$ void load_registry_hive(void*)User registry hive for %s already existsSeRestorePrivilege\NTUSER.DATLoading user registry hive for %s failed: %dUx]]u$(D$\$(9 $t$7$t$D$D$ D$?uZ 4] au $>]u]v$0] aD$@D$faD$ fat$붍$faD$,?$\$t$D$faS$t$\$> e4] aW$0] aD$@D$faD$ gat$D$Z&UE M@A=?BA~ -@BAB]ÉUVS]u $t$C$FD$FCFCFCFCF C F$C$F(C(F,C,F0C0F4C4F8C8F<C<$Rk1$Etu܅u1<$%k a3v'UE )Bw#)T$E$e1Ƀ]Ðt& Ѝt& 1à B뷐v'U aX]Ðv'U$1]ÐUW} VuS19}"1ɍ;UttC 9|[^_]ÉExD;Eut&'int setacl(const char*, int, __aclent16_t*)/netrel/src/cygwin-1.3.12-1/winsup/cygwin/sec_acl.ccCreated SD-Size: %dACL-Size: %dread_sd %E&'UWVS0E44$T$L$6n {1,0$0D$\$, 60$(D$T$* \$1(($D$Y, ($(D$T$`* D$h $-utaVbe[^_]D$h$D$Z2 t%D$h$D$1 D$ h$1 <8 $D$, h1E 9 u&'VttЃtϠʁK uWE UD$ D$ $tFD$ Xx$;E }M@D9F|t& D Hv U 954] a$fjD$hh $D$D$ 0uta1ۍhL$44$D$m-4 utah$4L$D$/- tc4] au)U4L$$D$l 9$0] a4D$@D$taD$ uaD$蟀맸ta$0] a$D$@D$taD$ )uaD$` h$T$B |$D$ $D$\$~v%F$wDT$8$+(* h$T$B |$8D$ $D$\$X~|$ h$L$A F$T$8$'' h $D$@ W=}===t== |$ h $D$@ gax@tartaata[v1~vtaM1vtaDs4] ai$0] aD$@D$taD$ 6ua}@&USE UM]EfBȃtujB u Btu4] auta>$0] aD$@D$}aD$ ]}a {ˋ$(D$T$u! D$$D$#1 ffD$4$D$\$ s"t us Ky]~[}v Et}󥐍&1fzM*$|$L$2! $(D$T$ 1$T$ St8B$B$tE <'GB9}];}D$ $D$D$ ~4ߐVЃ8!%‰ ЉF OuD$$D$D$ /9D$$D$D$ xK@DD$ $D$D$ @CD$$D$D$ cD$$D$D$ ^xUD$ $D$D$ 2x+E t"@DvD$$D$D$ ;]~]}t@[}v Et}$MD$L$=54] a$0] aED$D$}aD$ {}a\$D$vKND$ $D$D$ oD$ $D$D$  $D$$t$ L$t$@$D$BD$ D$U`D$$L$t$ "x4t$@$D$BD$ D$ $T$'tyga$T$t 13D$$D$/ƃD$1 $D$t ƹ9T99j1҉*;}ta"zR54] a^$0] aD$@D$}aD$ }a(s51<1yv4] a2$0] aD$@D$}aD$ 6uar &UWVS ED$D$$D$ ?Ƹ1E |19b&[ ?$܇aa`a`aaЉaaaaЉaaaaaaaaaaaaaaaaaaaaaaaa͈a[J aQ; tR1A$#t<$1D$auttEE t [t/E t [yE 4$u.[@u!C9 a e[^_]1<$tɍ$D$t'tKtG$T$+uG먡J a $BD$tt&9뾍[J a;$ T$$2int acl_worker(const char*, int, int, __aclent16_t*, int)-1 = acl (%s)%d = acl (%s)v'U}1ɋUu}]$ka]  UЅtO a4] au]u}]$0] aED$D$ aD$ ZaD$oEȅt`~Jt>4] au$0] aMD$D$ aD$ hat$L$n˾뻅u aX몋E_UXD$$qzE~5h(f,`%  ‰0}~5l4f8`8  ‰<}~/` 1ɉ@fD  ‰H}~11fP`L8  ‰T}~EEtCU(}Rv Et(,}u8MXD$ $r at{~9t a4$ED$D$ D$OruD$EU$T$u4$MEL$D$5E~4$E܋UMD$T$L$ 똍UD$E$E D$ED$ED$ ]Í&'UD$E$E D$ED$ED$ B]Ðint facl(int, int, int, __aclent16_t*)cygheap_fdmanipfacl (%d): calling acl (%s)-1 = facl (%d) (no name)-1 = facl (%d)t&U8uEu]$t$D$D$ AUEX,4] auV$E D$D$ED$ED$ )}E au ؋]u]øa,$0] aD$D$`aD$ at$\$ljy&4] au5 aX}E au뀸a,$0] aD$D$`aD$ at$i롡4] at$0] aD$D$`aD$ ̎at$ivUW1VSHtt豆}t Euۉ4$ЩtʋXŃwEt Eu4$иa494$wt?\$E$t Eteta$T$%uF뼋[x]lE^M UNt&9뤸aG3D$ a$0] aD$D$aT>&'USTE] $若t]H tIT$ E$D$L$!19}t&'9\tB9|9T[]( a묡J a$뙍t&'int set_process_privilege(const char*, int)%d = set_process_privilege (%s, %d)Privilege %s couldn't be assigned&'UWVSlE( aD$(u} $EĉD$ uraf1EąuL4] au e[^_]$0] aD$D$aD$ a\$t$|$Rč&$맍v$Et$D$  ualkvEEUD$E1UD$ EEĉ$E؉D$EȉD$ED$t`u1ۃ}=u4] aua$0] aD$@D$aD$ @at$QǸawv'UK at]$K aD$$K aD$D$D$ BK aK a벍vBOOL sec_acl(_ACL*, int, void*, void*)InitializeAcl %E&AddAccessAllowedAce(system) %EAddAccessAllowedAce(admin) %EAddAccessAllowedAce(sid1) %EAddAccessAllowedAce(sid2) %E&U(uu]]}}4$D$D$ u?4] au1]u}]Ð$0] aD$@D$aD$ alOʅt04$D$D$\$ *u 4] a-t14$D$D$|$ u4] aM ua4$jaD$D$D$ u 4] au !$0] aD$@D$aD$ aNЉ4$PjaD$D$D$ Xs4] ae$0] aD$@D$aD$ ߩa;N<$0] aD$@D$aD$ a|$N$0] aD$@D$aD$ aM_SECURITY_ATTRIBUTES* __sec_user(void*, void*, int)SetSecurityDescriptorDacl %E InitializeSecurityDescriptor %EUW}V֍USÍ@ \UEC E( aM@ U$(T$D$ t"D$Et$ $ED$uUJ auJ ae[^_]D$E$u 4] aunD$ED$ $ED$u 4] au ECEC$0] aD$@D$@aD$ taY}t+)ځ&T$E$CD$ ͐)=T$M HD$ $$0] a]D$@D$ aD$ YaCD$D$Fvoid* cygwin_logon_user(const passwd*, const char*)/netrel/src/cygwin-1.3.12-1/winsup/cygwin/security.cc%d = logon_user(%s,...)LogonUserA (%s, %s, %s, ...)t&Uh}na}]u@ u aX]u}]Å'<$t$\$4] a$1D$ D$H!ƋE t$D$D$t%D$D$$ uazc$A4] au 2$0] aD$@D$@aD$ aD$D$D$0] aE D$@D$@aD$ γa\$t$D$D aUuu ]]4$af@fCs]u]ÐU}}]]uu <$Paf@fCs]uu} }E]I&U}}]]uu <$aHffKs]u}]&U$U ]t$u9}ËR3$t$]Ít&UH$E؉D$EEEEEEEED$D$ uEԉ]É$a!ېv'U]]t $-]]Ðt&UWVS<] D$}u$ tx|$T$ tD$D$p$T$D$cud4] au+C;^$pv$0] aD$@D$aD$ a|$X?뫍p1ɍBvptktfuH4] az$0] aD$@D$aD$ a|$D$T$>?U D$$%듐&UW1VS2<$D$ha)<$D$Piam9SeTcbPrivilegeSeAssignPrimaryTokenPrivilegeSeCreateTokenPrivilegeSeChangeNotifyPrivilegeSeSecurityPrivilegeSeBackupPrivilegeSeRestorePrivilegeSeSystemtimePrivilegeSeShutdownPrivilegeSeRemoteShutdownPrivilegeSeTakeOwnershipPrivilegeSeDebugPrivilegeSeSystemEnvironmentPrivilegeSeSystemProfilePrivilegevSeProfileSingleProcessPrivilegeSeIncreaseBasePriorityPrivilegeSeLoadDriverPrivilegeSeCreatePagefilePrivilegeSeIncreaseQuotaPrivilege_TOKEN_PRIVILEGES* get_system_priv_list(cygsidlist&)malloc (system_privs) failed.UWVS$tj1}v'$@ a|$D$ t# EU IDT@T Fv؍e[^_]Ë 4] au1$0] aD$@D$aD$ ai.֍&_TOKEN_PRIVILEGES* get_priv_list(void*, cygsid&, cygsidlist&)realloc (privs) failed.v'UWV1S\M ja$T$UU; 'MQЋUL$$D$D$ Y11;2vD$ $ЉD$7$L$D$ 1_9s8߹tv 9r؋$[4FD$SD1T1@\ ;$U,; >e[^_]Ët$$.54] au1$0] aD$@D$aD$ ai+1U M $T$ D$D$E$ \9YBOOL verify_token(void*, cygsid&, cygsid&, BOOL*)&'GetTokenInformation(token, TokenGroups): %E GetTokenInformation(my_token, TokenGroups): %E malloc (my_grps) failed.GetKernelObjectSecurity(): %EGetSecurityDescriptorGroup(): %EGetTokenInformation(): %ECygwin.1UW1VS]tM( au؋D$ D$t$$dD$4] awEUED$dD$$D$ ,L$su 4] aE U$T$s1҅t<M11Unf$T$:te[^_]Ít&D$EdD$D$ $T$uIzt?4] aut$$0] aD$@D$ aD$ `a(ʋd$twD$MdD$ $D$ dD$,u/=4] av$0] aD$@D$ aD$ a넉$UT$?4] a2$0] aD$@D$ aD$ a=&9vD$1d`hE\$D$ <$T$4] augga`tNtJ$T$fM`tt$T$<99$0] aD$@D$ aD$ aj&p$`dD$L$ I4] a<$0] aD$@D$ aD$ a9#v$0] aD$@D$ aD$ Aa%$0] aD$@D$ aD$ Aa%`[a;Fvoid* create_token(cygsid&, cygsid&, passwd*)%d = create_token ()DuplicateTokenEx %ESetSecurityDescriptorGroup %ELoading NtCreateToken failed.'OpenProcessToken(my_token): %E GetTokenInformation(my_token, TokenStatistics): %E UWEȿVS1ہ<,E1 Cygwin.11041ۉ(<EEE EEEEEEEEL$aD$@U1ɋTP$( aD$$LD$u 4] aEM؋U $D$T$ED$ L$04D$DD$@T$D$ z"U M؋ 19ʍt$4L$4s=D1ɍ'EȅۋDDx9B,;r؋M؋UL$$T$, 1;}}D1ېt&E܋Pja؋[S$T$w,G,;}|1҅ҋEtPja$D$D$D$ 'x$aD$a*$a|$t $e[^_]Í$0] aD$@D$aD$ a\$뀍軑4$D$@aRt$$D$.@ tf54] au2$kaW$y?$0] aD$@D$aD$ aD$iD$aEȍH$EЍ8D$1Cygwin.1Ex|$\$t$U$D$\$$D$t$$EĉD$D$a12345678$EƉD$D$a$EljD$D$a aD$D$@D$$EȉD$D$ D$xD$D$ D$$D$(D$,XD$0D$4=8tO4] au$Va$0] aD$@D$aD$ a\$j뺋$j=D$$(D$D$ D$D$荾a#4] aw$0] aD$@D$aD$ aN&LONG read_sd(const char*, _SECURITY_DESCRIPTOR*, DWORD*)file = %s: len=%dfile = %sv'UXuu]}c=4] a%1ۋE= a$E D$D$D$ D$趽tf 4] au%;v1]u}] $0] aED$@D$`aD$D$ aD$뤸a뜍v$h2=vA1@fGE\$T$$]؃ E$2뵐$0] aED$@D$`aD$ aD$ aVUh}} uu]tu# a]u}] t& aD$ ED$D$ J a$D$D$D$׊fuЍEȍuE}EEEEEE$D$D$t$ D$D$|$耔uaD$R$E UЉt$ D$ED$D$ЉD$|$'uX2tN=:tGaTp|$$D$D$t$ D$D$Г^$D$D$t$ D$D$|$蘓$}10a1$FaD$1ɉ aint get_nt_attribute(const char*, int*, __uid32_t*, __gid32_t*)file: %s No ACL = %x, uid %d, gid %dfile: %s %x, uid %d, gid %dfile: %s uid %d, gid %dGetSecurityDescriptorDacl %EGetSecurityDescriptorGroup %EGetSecurityDescriptorOwner %Eread_sd %Efile: %sv'U帬WVSД1ҡna}@ 54] aUt$$D$ 4$D$\$k u4] a4$D$\$ u 4] ak4$D$D$\$ 謸$(D$T$ D$$D$Jƅ$(D$T$蒶 $D$D$t7EtME 4$\$Ļt u[U  4] au 1ҍe[^_]$0] aMD$D$aD$ aL$D$t$\$>111fztrv$|$D$貶 tCB$u1Htut&'GB9rM  ‹!‰4] a$0] aED$D$aD$ aD$T$ ʃE$(D$T$諴 tZ1tFBt Bt B  @1xBt/Au~ Bt*tT9xI B Mt@uH 뷃 낋ga$T$9Bуt?t H$ tu At6H :x A t= @u@E @@Ab" gatdt`$T$Bt Bt B~ m99p $T$蚲t $T$膲1=4] aR$0] aED$D$aD$ !aD$t$\$ 119a4] au $0] aD$@D$aD$ 9a; $0] aD$@D$aD$ Va l$0] aD$@D$aD$ ta & 4] auP$0] aD$@D$aD$ a $0] aED$D$aD$ aD$~ C.UNIXATTR&'U(]E]uu}}t jat:t:1t#`^au?1ɋ%=t1H]u}]ٍE D$ D$a$|$L 뙍|$E \$t$ $t%=twint get_nt_object_attribute(void*, _SE_OBJECT_TYPE, int*, __uid32_t*, __gid32_t*)No ACL = %x, uid %d, gid %d%x, uid %d, gid %duid %d, gid %dGetSecurityInfo %EU1WVSnau}@ u e[^_]EED$D$$E D$ED$ ED$ED$ED$ U$(EED$T$袭 D$]$D$ UE$(EED$T$\ $D$D$ɯEtEtU}UET$$臲UEucU 4] auE$詇1D$UE$0] aD$D$aD$ aD$T$ E1fzEt\$E\$D$腭 t6UB$u'u}H UCB9rUU% ЋU!ЋUE$Ά4] a$0] aUD$D$aD$ .aUD$ET$D$#u}ʃd$(EED$T$苫 UtBM1t1UBtBtB @UM1toUBtMtTGuN BtMt3?x. B Ut@u H҃ 벋Ega-%$T$臫UBуt%1 H$ u At1H Ѐ?x A t"1> @u@UB@Ab"EgatOtK$T$跪|UBtBtBSH99 $T$U. $T$AE54] a;$0] aEUD$D$aD$ AaD$T$]EE9a2Q4] au $0] aD$@D$aD$ PaА&U(]ja]uu}}uOt63t[31t%=t1]u}]㍶|$E\$ t$$E D$t%=t링&'U(]E]uu}}$D$D$t$ ݦu&a1]u}]$E D$ED$b t UEB4$誨Ѓ몐&'U(]E]uu}}$D$D$t$ Uu&aW1]u}]$E D$ED$貧 t UEB4$ȃ몐_SECURITY_DESCRIPTOR* alloc_sd(long unsigned int, long unsigned int, int, _SECURITY_DESCRIPTOR*, DWORD*)void cygsid::debug_print(const char*) constCreated SD-Size: %dACL-Size: %dno SID for group %dno /etc/group entry for %dNULLalloc_sd: owner SID =%s %sno SID for user %dno /etc/passwd entry for %dt&U1WVS na}]@ M U EJ a;  ( a;: Eu 4] a' 1E $bx 4$D$u54] a D$$讧S na@  D$E$D$G t%D$$D$ D$ $D$ i1ҹt y @t %@=@ t t t %B=@t t ؃t %B=@91t1t tt<$U T$訧 !Nj!Ɓw@g؍[4\$$T$BD$ET$D$ 1҃tDt$$T$BD$ D$\$:1҃tQ\$$D$@T$D$ D$@1҃u&e[^_]É\$$D$@gaT$D$ D$1҃ttJD$$D$gaT$D$ D$1҃Y1U1$D$\$ u 4] a6\$E$D$赡 u 4] a\$ UD$$D$N1fz$\$t$脠 nL$( D$T$: t1Mt1t1t1\ga3+$T$肟ga$T$OuUD$$:D$T$ BD$讝r@CB9d=4] afD$$D$D$ 蝥u"a 1UU$ET$D$U 2u a뷍U$ET$D$賢 tA4] auU$0] aUD$@D$`aD$ aD$EɸaD$0] aD$@D$`aD$ aD$a1S99$L$J$L$6Z$L$"$$L$1$0] aD$@D$`aD$ VaE$0] aD$@D$`aD$ ta&D$$ET$|$D$ \$V1҃i!:@@Z@a<a3}a,nD$$D$蠢 a9$0] aE D$@D$`aD$ -aD$M4] a@$0] aU D$@D$`aD$ AaT$4$t$"u\a$0] aaaD$@D$aD$ watT$D$ta<$Etf4$D$PP4] au  a5$0] aD$@D$`aD$ }a|$ơ4] at$0] aD$@D$`aD$ aˋt"$(EED$T$@ E( aPy뻐U(uu}}]%=tSE x<$D$O#($|$ D$E$t$D$U B]u}]Á륐int set_nt_attribute(const char*, long unsigned int, long unsigned int, int)UHt1ҡna}}]u@ u]Ћu}]Ív<$\$t$ ~U\$ E t$$ED$ED$tD$<$D$ k4] au X$0] aD$@D$@aD$ aАint set_file_attribute(int, const char*, long unsigned int, long unsigned int, int)%d = set_file_attribute (%s, %d, %d, %p)U8]U1ۉuҋu }}t ja`^au\4] au؋u]}]$0] aED$D$ aD$ED$ a\$t$|$D$ b뭉4$ED$aD$D$ 5za"Ba4$E|$D$ED$ s@UEJ a$E D$ D$$D$ ED$] int cygwin_select(int, _types_fd_set*, _types_fd_set*, _types_fd_set*, timeval*)signal receivedto->tv_sec %d, to->tv_usec %d, ms %dsel.always_ready %dto NULL, ms %xaborting due to test_and_set error%d, %p, %p, %p, %pv'U1W11VtS 1ۉ`1d1h1l1Pp1TLƅHƅIƅXƅYƅZƅ[ƅ\ƅ]ƅ^ƅ_EÉ0s?*p\$D$$$D$4p\$D$$$D$ljo\$D$$8$D$ơ( a/4] aE E}1;]}A\$HM $EUL$D$ T$C;]|ˋUEMbXi)< uUBtE4] a01,s?n\$D$$$D$(n\$D$$$D$$sn\$D$$$D$[Ëp3HusH $,(0} vE t} 󥋅0}$vEt}ދ}00vEt}󥋕,tx1ۋ8uH$o؍e[^_]Ã$ e8@8@$8$8$d18딍HU M$ET$L$D$ `\$ (H$$|$L$D$,T8uH$$1d8@8@$8$8$d1Ƀ8딡tL aǪ,54] au{$8uH$M1ۉ$c8@8@$8$@8$_c8$0] aD$D$ aD$ a\$0] aMD$D$ aD$ aD$A|$D$4] a%H$0] aD$D$ aD$ % aD$g4] a$0] aD$D$ aD$ 9 a|$-눿4] aul8uH $$4b8@8@$8$8$b1Ƀ8$0] aD$D$ aD$ ` akug}T4E ;$0] aUM D$ET$UL$MD$ aD$ aD$T$L$ C^9( a( a1ҹ( a8-( a) a$( aD$mvoid select_stuff::cleanup()calling cleanup routinesUVS4] au^u1[$tC u[$u[^]É$t$S C $0] aD$D$XaD$ ua$select_stuff::~select_stuff()deleting select recordsUS]$>4] a[(u)ۉt[$$Eۉu[]$0] aD$D$aD$ au뱐US]$4] a[(u)ۉt[$$ۉu[]$0] aD$D$aD$ a뱐UWVS1ۃ u E}ExEu?t.{u {u{t{ tGG(C$_( [^_]É\$( at$$1릉\$( at$$賌1b밐t&t$( aD$$R1|int select_stuff::wait(_types_fd_set*, _types_fd_set*, _types_fd_set*, long unsigned int)ms now %utimed out after verificationreturning %drecalculating msloopinggotone %d woke up. wait_ret %d. verifyingtimed out/netrel/src/cygwin-1.3.12-1/winsup/cygwin/select.ccWaitForMultipleObjects failedm %d, ms %uUW1VS<]tL a[$tV@g$ED$SCSt*9}t&'9t @9|򉔽G[$u\54] aEx<$D$ED$D$ ,]=d4] a*1ۉX$t>v'{ 9| { 9C[$u̡4] a_}[u‹9wPЉ))E4] a$0] aED$D$@aD$ aD$4] aue[^_]$0] aD$D$@aD$ a]4] at$0] aD$D$@aD$ aD$&땍t&$0] aD$D$@aD$ a$0] aD$D$@aD$ a$0] aD$D$@aD$D$ a4] ai$E D$ED$ED$ S2"$0] aD$D$@aD$ at$-4] au$0] aD$D$@aD$ "a4] aōt&K 4] au@a޼+$0] aD$D$@aD$ ta4] au$$0] aD$D$@aD$ aOɉ<$D$ED$D$D$ T%s$0] aED$@D$@aD$ a|$D$@a$P'int set_bits(select_record*, _types_fd_set*, _types_fd_set*, _types_fd_set*)ready %dme %p, testing fd %d (%s)U(u4] a1]]}} {t{t {t{tFM {t{tFM 4] au]u}]Í&$0] aD$D$`aD$ at$xCP,\$$0] aD$D$`aD$ aT$D$8int select_stuff::poll(_types_fd_set*, _types_fd_set*, _types_fd_set*)&UWV1S]}[$tAt&Ct$D$St$E |$ D$ED$-Ƌ[$uġ4] au [^_]$0] aD$D$aD$ at$9̐U]ÍU]U]ÍU1]Ðint peek_pipe(select_record*, bool)not_opennot opensaw eof on '%s'%s, saw EOF%s, ready for read%s, n %d%s, PeekNamedPipe failed, %E%s, couldn't get mutex %p, %Ealready readyreadahead&'UWVSExU;z}UuEm a֐}tF $ D$$D$EUT$ }ȉ$|$OMEftrftWfHt+|$EUD$T$ $Jut&}uπ}Z<$ED$A}tBU؅tuC<@D$$]PFUE ]U]] uut+C0*a4$CCC؋]u]$(c@@@ @ @@@@@@@@ @$@ a@P,a4$2EcU]] tC0*aCC]]$(@@@ @ @@@@@@@@ @$@ a@ aE$DsU]] tC0*aCC]]$(@@@ @ @@@@@@@@ @$@ a@ aE$CsU]U]WU]U(]E1҉u]u }}EC蘍uC]E]u u}}E]UU t3E@TB B aB!aBB.aBB]$(@@@ @ @@@@@@@@@@ @$cvirtual int fhandler_tty_slave::ready_for_read(int, long unsigned int)wait failed %Ev'UWd aVS,] 5( aʋEۍx;_} uEm a謋UUB9B s>4] aue[^_]$0] aD$D$/aD$ ajˡtL aUEBTD$$EED$ED$ Etre@t*Et'1q$ 4] au $$0] aD$D$/aD$ /a$뵐t&$ 말U]] uut$4$CCC؋]u]$(J@@@ @ @@@@@@@@ @$@ a@ arU]] uut$4$CCC؋]u]$(@@@ @ @@@@@@@@ @$@ a@ arU]] uut$4$CCC؋]u]$(@@@ @ @@@@@@@@ @$@ a@ arint peek_serial(select_record*, bool)error %Eoperation abortedWaitCommEventWaitForMultipleObjectsClearCommErrorinterruptfh->overlapped_armed %d&UWVSlEpF9F cFDX=4] a$d a=( aEEEBExE;X} uEm a'MTE1xtxuExtRxtL4] aut&'e[^_]$0] aD$D$3aD$ aD$E$CFDMFX^\$q@E\$$EȉD$B E̅tE@_\$E$FHD$B u;=4] a;=tP@aE@ 4] au $0] aD$D$3aD$ 3aЋ54] au1$0] aD$D$3aD$ 3a$0] aD$@D$3aD$ 3a^DFDFXD$ $D$EtL aEčED$?rj=tHD$E$6A=4] a$0] aD$@D$3aD$ 3a^D$E$@E$F\D$E؉D$@ u14] ad$0] aD$@D$3aD$ 4aE܅$ >9uD$E$c@4] au$$0] aD$D$3aD$ 4aE@ $ $0] aD$D$3aD$ 4aFDD$EPDWORD thread_serial(void*)exitingt&UW1VSu^[$t{9at|[$uFu?tա4] au 1[^_]$0] aD$D$8aD$ 8aΡ4] at$0] aD$D$8aD$ g&a떉$D$lbselect_serialv'Uuu }}]FHtG]u}]$ 11ɉÍFCڸ8aC$9a-1G1Wt^H먐Uuu ]^Htu ]u]C$_6$TFHǐv'UE t@@4a@@]$(d@@@ @ @@@@@@@@$@9a@ a@ :a눐v'U]] uut+C@4a4$CCC؋]u]$(@@@ @ @@@@@@@@ @$@ a@ akt&UE t@@@4a@@]$(@@@ @ @@@@@@@@ @$@ a@ a끐virtual int fhandler_base::ready_for_read(int, long unsigned int)read_ready %d, avail %dUWVSlEEEU EEEEEEEEEEEEEUU$UT$EƄSE xb5( ad a~U E;S} 4uEm ao~]}1҅tL aJ ~AU$t u}uF 4] au e[^_]E$0] aD$D$`<aD$ <aD$|$ċU$$6$1me$ Q$ D$E$UЉU]] uut$4$CCC؋]u]$(@@@ @ @@@@@@@@ @$@ a@ arU]] uut$4$CCC؋]u]$(j@@@ @ @@@@@@@@ @$@ a@ arUE t@@@]$(@@@ @ @@@@@@@@ @$@ a@ a눍t&'int peek_socket(select_record*, bool)peek_socketerror %dWINSOCK_SELECT returned %dv'adding except fd_set %s, fd %dadding write fd_set %s, fd %dadding read fd_set %s, fd %dconsidering handle %pUl0WVS<111ɉU11B$d a5( aE z1x;_} u m ay"54] aUzt(4] a@Ext( 4] a@Ext(4] a@$D$ t$|$D$zá4] aCt$$o uExt xtUB|$$@ uUzt ztE@D$$ uUzt ztE@U1zuzu zt &e[^_]Ív4] au@aX1ٍt&[ D$ @a$0] aD$D$@aD$뺐$0] aD$D$@aD$ @a\$ȵv@U@,D$ Aa$0] aD$D$@aD$D$艵t&@U@,D$ Aa$0] aD$D$@aD$D$It&B@,D$ =Aa$0] aD$D$@aD$D$ =&$0] aD$D$@aD$ ZAaD$ҴUB $ bDWORD thread_socket(void*)saw exitsock readexcept_readywrite_readyread_readys %p, testing fd %d (%s)Win32 select returned %dstuff_start %pv'UWVS,4] a$}ED$UE |$D$UT$  á4] aCE$0[$tt&{Iat_[$uU0|$$ t 4] au e1[^_]$0] aD$D$sEaD$ Ea*΋C$04] a4$|$ t4] aC4$UT$X t 4] auWC4$ED$5 #54] au C$0] aD$D$sEaD$ Eas$0] aD$D$sEaD$ EaM$0] aD$D$sEaD$ Ea'7CP,\$$0] aD$D$sEaD$ EaT$D$4] a4D$ @a$0] aD$D$sEaD$諱$0] aD$D$sEaD$ Ea\$~$0] aED$D$sEa$0D$ EaD$IJt&int start_thread_socket(select_record*, select_stuff*)start_thread_socketlisten failed, %Eselect_socketexitsock %pgetsockname errorcannot bind socket, %Ecannot create socket, %EAdded to exceptfdsAdded to writefdsAdded to readfdsHandle %pU8]E u}pXtUB]u}]$(0@11 E EX$t&{Ia[$u$D$D$ 0 |$0EED$D$D$ D$ 1E010101 0f0$00\$D$$ 0\$$ED$ T0D$${tZ4] au*Ia?à0$U^$0] aD$D$HaD$ +IaT밋 4] aF0T@0F  U @ rXE艆$04] au.$=Ia1ɸFaUB1z$0] aD$D$HaD$ EaD$読$0] aD$D$HaD$ KIa0D$z1=4] a$0] aD$D$HaD$ WIa4] a$0] aD$D$HaD$ iIaIa34] as$0] aD$D$HaD$ IaѬJC$84] a{tF|@F4] a{t @4] auU{  @ 4] a$0] aD$D$HaD$ IaV$0] aD$D$HaD$ Ia$0] aD$D$HaD$ Iaϫ9$0] aD$D$HaD$ Ia|$被void socket_cleanup(select_record*, select_stuff*)socket_cleanupsi %p si->thread %preturningconnect failedconnection to si->exitsock %pUWVSE pX4] at9$0] a1D$D$NaD$ Nat$tD$褪4] a.$$]D$D$FE lj$D$D$\$ D$0D$$D$\$ D$0<$D$D$ <$D$<$k0D$$i0$`$# E @X4$4] aue[^_]$0] aD$D$NaD$ Na9ҸNaXX4] a:$0] aD$D$NaD$ Oa$0] aD$D$NaD$ Oa0D$¨8UU t BpAaE@BB]$(g@@@ @ @@@@@@@@$@Ia@a@ 0Oav&UU t BpAaE@BB]$(Ǻ@@@ @ @@@@@@@@$@Ia@a@ 0Oav&U]U t7BpAaE1ۋHu tZB]]$( @@@ @ @@@@@@@@$@Ia@a@ 0Oa_int peek_windows(select_record*, bool)window %d(%p) readywindow %d(%p) not readyUWVS\UB$M5( aEĸd agEx;_} {$C< aCs ECC(EC,E]u]E }E]eshmnode* build_inprocess_shmds(void*, void*, long int, int)failed to malloc shm node &UWVSED$D$$D$ D$<E$,t\Nju $UPU PUS(UPUP  a@P ae[^_]Í$0] aD$D$`baD$ ba茖 a U$ E$ U $ 1땍vU$ E $  a АUSE a9tht,@9t&'t@9utCB$ C$a C$S $H]ËC aint fixup_shms_after_fork()failed to reattach to mapped file view %x failed to reattach to shm control file view %x UVS 5 aFD$D$D$$D$ @(^tU&F$CD$D$D$ DD$D$ ;u[uv^1e[^]$0] aD$D$daD$ daD$$0] aD$D$daD$ eat$ϐvoid* shmat(int, const void*, int)failed to tell deaemon that we have attached UWVS5 a}69~tv%9~uU t ae[^_]ËFD$D$D$ $EDD$E$,薥$D$|$$t 4] auDu6$ [ËEECF$\$o CE@$P $0] aD$@D$`faD$ fa떡 a $, |$D$ $D$$tu aX$P S t aۉ$P C$CD$C D$CD$ ۉu=O$P int shmdt(const void*) failed to tell deaemon that we have detached UVS aMC9t@9u$$,耣$D$CD$4$ot 4] auu 1e[^]Ë4$P $0] aD$@D$haD$ ia&á a뷋[0ᐍt&int shmctl(int, int, shmid_ds*)call to shmctl with cmd= IPC_RMID when memory area still has attachees &UWVS au} ɉMt+9qt It9quM$,-t$D$ $D$$2S t" aۉu [^_]Ë$P C$CD$C D$CD$ eۉE@Mt&'tlt a|]BCBC@ C @C@C@C@C@ C @$C$1-uXup$,t$D$ $D$$tu aX$P S E$x$0] aD$D$ jaD$ @jag$P U<WVSD$u<$D7蔾轾|$ D$E$%D$D$臎> at$Mt&'9r Ru$,褟}|$U D$$T$Ut$T$ +$t&u aXe[^_]Ë$P ދS t aۉt׋$P ͋C$Ct$D$CD$ ۉutF롋$P 0u t ] 9X r tBk aV aF a0U1} M~#t":tMt]ÀyZuy uy!uUjauBjaLjajajajajaFja jaja]Ð&'U|$}4$jaL|$4$‰](Ð&U1WV1S1ہ|}1$k0$ aD$D$D$ е aD$z0D$0 a$D$ $ED$D$ D$\$D$0D$$\$R xLD$LE\$D$$|D$ }ufE'u6ug/E$e[^_]Ë$P։$P뽍vE t |Lt<$tE녉$uۋD$$|$R x <$Х밋EP?$|D$ %Evoid (* signal(int, void (*)(int)))(int)%p = signal (%d, %p)SIG_ERR = signal (%d, %p)&U(}M} ]u2 ) J a@<I0@<I8J a@<I@J atw@<IHwUvka4] au]u}]$0] aD$D$qaD$ qat$L$|$,뿃w ka멍I놐IVI'I a4] au X$0] aD$D$qaD$ qaL$|$蔆ljunsigned int sleep(unsigned int)%d = sleep (%d)sleep (%d)t&UWVS< ( a}VEi44] atL a6Ht91ۡtL a1HMb 4] au]E؅u e[^_]Ã$E؃@E@$E؉$蟝E؃$E믐t&$0] aD$D$saD$ sa\$|$4rE؉$4F))$0] aD$D$saD$ sa|$v 9( aE( a( a1҉-( a) a~$( aD$9et&unsigned int usleep(unsigned int)0 = usleep (%d)usleep (%d)U]4] a]u[MbtL aQF4] au ]1]$0] aD$D$uaD$ ua\$͐t&$0] aD$D$uaD$ ua\$踃xvint sigprocmask(int, const sigset_t*, sigset_t*) SIG_ERR = sigprocmask signal %d out of rangeU(]M]uu vV a4] au]u]Ív$0] aD$D$pvaD$ vaL$؂čtJ att@@tEJ atQ@@t:~-t ak!‰$ߧ1Xuԋ &P몍Pint kill_worker(int, int)%d = kill_worker (%d, %d)%d = sig_send, %E &UEW1VSctty %d, myself->ctty %dpid %d, signal %d&UWVS]؃lE ( aEE4] aZEE1EEEĐaEE$D$e;usI1&EX t#E2J a(9(F ;ur}uu aE4] audE$eE؅u Ee[^_]Ã$E؃@E@$E؉$YE؃${E$0] aED$D$$|aD$ED$ <|aD$E D${^J a$E D$H E090&}~E9(E 4] au2;J at%$E D$nH EEE$0] aD$D$$|aD$ P|aD$(D$0D$J a0D$z|C/d$0] aED$D$$|aD$E D$ |aD$zo9( aKE( a( a1҉-( a) a/$( aD$U]]Tt&U8u ( au]u b9( atmo;Xppid_handleparent dead.WFSO for myself->ppid_handle(%p) failed, error %dparent still alivev'UV1S J aXu; 4] au 1ۃ [^]$0] aD$@D$aD$ arϋ@14==wDt FJ aы4] at$0] aD$@D$aD$ aRrouut$0] aJ aD$D$aD$ Іa@T$D$r4] au $0] aD$@D$aD$ aqЍUUpL at6qL at.;J at&R1uAAt ]t&L at3L a$1L a͐U‰(1ɉuu]$ORE'ËEtEu ؋u]]É4$SUU1҅t @x]ÐU1W}VSP a9}M a98t:A 9|\ a19}$P a98t A 9|1[^_]int proc_subproc(long unsigned int, long unsigned int)returning %dadded pid %d to wait list, slot %d, winpid %p, handle %p&Couldn't duplicate my handle<%p> for pid %d, %ECouldn't duplicate child handle for pid %d, %Efinished processing terminated/stopped childfinished clearingreleased waiting thread'couldn't wake up wait event %p, %Ewaiting thread found no childrenonly found non-terminated childrenwval->pid %d, wval->options %dclear waiting threadslooking for processes to reap'pid %d[%d], reparented old hProcess %p, new %pautomatically removing zombie %dzombifying [%d], pid %d, handle %p, nchildren %d pid %d[%d] terminated, handle %p, nchildren %d, nzombies %dt&couldn't get proc lock. Something is wrong.args: %x, %dUWVS]u]D$L aD$$ u΋L atċ |L at$0] aL aD$D$aD$ 0aD$^닍!L a$y1L a@void sigproc_init()sigsync_proc_subprocprocess/signal handling enabled(%x)cannot create wait_sig thread, %E%P: *** terminatingv'US$J aD$D$D$ L a$J aD$D$D$ 1Ƀ1ңtL aa$jaL ana\ ag\ a) a$+CCC CCCJ atP@<@P 4] au]$0] aJ aD$D$VaD$ a@D$\ɍ$) a\ a\$qN$0] aD$D$VaD$ Лa\$avoid sigproc_terminate()sigproc_terminate: sigproc handling not activedoneenteringU1SL a-;\ a|L au44] au]$0] aD$D$aD$ Нa[ա4] au-1ۅ|L at$0] aD$D$aD$ a$0] aD$D$aD$ aU[4] a먡L a$'D$L aD$$ Kyint sig_send(_pinfo*, int, long unsigned int, bool)returning %d from sending signal %dinvalid pid %d(%x), signal %dwait for sig_complete event failed, signal %d, rc %d, %E&Not waiting for sigcomplete. its_me %d signal %dWaiting for thiscomplete %pI'm going away nowerror sending signal %d to pid %d, semaphore %p, %Esigcatchpid %d, signal %d, its_me %dUWVSÃ\EEUԉMЈE<qL aEE1;J apL aEt5 L atV|L atLL aw1pL aJ aE$4] a a4] auaE؅uEȍe[^_]$uE؃@E@$E؉$3pE؃$UE$0] aUȋED$D$0aD$ paT$D$Wh$0] aUD$D$0aD$ aD$CT$D$Wt&4] aE`=L aUԍ\$$<$D$D$ N]E 4] atpEȅu EyL at |L au aXEP$0] aUԋED$D$0aD$ ПaT$D$V뵉<$$0] aUD$D$0aD$ at$T$CVK4] auB$`EăHEȅ%E13H!E$0] aED$D$0aD$ BaD$UpL at |L au754] a6$0] aD$D$0aD$ ^alU@t:$0] aED$D$0aD$ aD$|$D$*UEĺHE<$;=( atL a=L aUE( aL a( a=L aEċEЅң( aEϣ) aV$( aD$P a'UD$$HF ;5\ a|С4] a1;5P a}1M at&UD$$OtWHtKF ;5P a|ء4] au e[^_]$0] aD$D$1aD$ a|$Pʿ뺉$0] aD$D$1aD$ HaPM4$x뺍v$0] aP aD$D$1aD$\ aD$ aD$PPvoid* getsem(_pinfo*, const char*, int, int)can't create semaphore %s, %E/netrel/src/cygwin-1.3.12-1/winsup/cygwin/sigproc.cct&'pid %d, ppid %d, wait %d, initializing %xUVS ut^4$u a1e[^] 4] aY1Ft#v$CFt |$tmE $FD${$D$D$@ tnKt  au血 aʐ;jaƍJ at$E $E E$D$ED$E D$ j$0] aE D$D$aD$D$ aMPa,+11ir$0] aD$D$aD$ aD$FD$D$F D$|M\void remove_zombie(int) removing %d, pid %d, nzombies %d&'U(]4] a}}ۉu4P aCt'@$~C@ $m$"1\ aH9ǣ\ a}*@P aP aP aP aP aP a]u}]$0] aP aD$D$aD$ Ьa|$D$\ aD$9L4t&int stopped_or_terminated(waitq*, _pinfo*)stopped childconsidering pid %dt&UWVS4] a}u _tJ a(9(1tn1Ƀ~uC`SCɉG=4] aueCƆC $te[^_]$0] aD$D$aD$ PaC D$J$0] aD$D$aD$ aJrF$ED$@uEEtuĉCJ a<|$$`J at$$GC$|$-Ct$$%넉x;i(^$0] aD$D$aD$ )aD$I DWORD wait_sig(void*)loopingset main thread completion eventGot signal %dprocessing signal %dsignal %d blockedawakeWFMO failed, %EReady. dwProcessid %dSetEvent (subproc_ready) failed, %Esubproc_ready %pt&'sigcatch_nonmain %p, sigcatch_main %pv'UWVSLL aD$$b$D$ĠaD$D$ L a$J aD$D$D$ L a$J aD$D$D$ L a$J aD$D$D$ WL a$J aD$D$D$ 4] aL anJ a:CJ aH@J a`t) at|fxuu 4] a@ $t) a@ $讽=(kaJ aHna@$t$] a@'L a$04] a\ aL a҉EءL aEܡL aE|L a$U؉T$D$D$ Eԃ=}#4] a11\ a&' J a\$~X tStNJ ae@@$\$) atJ a@4] a^u$0] a=>H 4] aY$1}D$umJ a\$J a\$׻~C\ aEԅt^}t64] a5$0] aD$D$UaD$ kaD D$L aD$$ 먡L a$ڿ4] a$0] aD$D$UaD$ a6Db$D$9)1\ a$0] aD$D$UaD$ a\$Czt&$0] aD$D$UaD$ a\$C4] as$0] aD$D$UaD$ ԰a\$nCFPd$0] aD$D$UaD$ a0C|L au;4] au e1[^_]$0] aD$D$UaD$ aB$0] aD$D$UaD$ aB럡|L a,$0] aJ aD$D$UaD$ a@D$B(ka$`a g$0] aD$D$UaD$ 0aAB$0] aD$@D$UaD$ Ta@ D$Bt) a$0] aL aD$D$UaD$L aD$ paD$AWDWORD wait_subproc(void*)wait failed. nchildren %d, wait %d, %Enchildren %d, event[%d] %p, %Enchildren %d, event[%d] %p, pchildren[%d] %p, events[0] %p, %Epid %d, dwProcessId %u, hProcess %p, progname '%s'startingt&UVS0 4] a1ې&xL aD$L aP aD$T$ @$=bH1ۃt!$D$xL atYu84] at$0] aD$D$TaD$ ka@f$pL a뫡L a$膶54] a1L au e1[^]$0] aD$D$TaD$ a?ϋxL atCS $0] aP a1D$D$TaD$ paD$T$Q?;P aRM aL a1btI=tBuO$0] aP aD$D$TaD$L aD$ aD$D$>C ;P a~P aV\$$0] aD$L aT$ D$D$CD$L aD$TaD$ иaD$$>V$0] aD$JD$TaD$ aD$BD$BL$D$?>U$D$xL axL a`$0] aD$D$TaD$ Ca="U8uơ( a]]؅}tx4$|$OËE؃u؋u]}]Ít&$赸E؃@E@$E؉$sUE؃$蕸Ed9( awE( a( a1ۉ-( a) a[$( aD$TBUHMԋ ( a]]؅ɉuƉ}4$Eԉ|$D$ED$ ËE؃u؋u]}]$豷E؃@E@$E؉$oTE؃$葷E먐t&[9( afE( a( a1҉-( a) aJ$( aD$S1BOOL get_proc_lock(long unsigned int, long unsigned int)&Couldn't aquire sync_proc_subproc for(%d,%d), %E, last %dU(]\ a1ҋ]u ]]$@Et ] aڍv\ a1҅t$0] aE D$D$PaD$ ] aD$ a\$D$:뱐v'U] at ] au]Ít&$] aꐐ0123456789ABCDEFUWV1S,M]EɋU}tx|M~x~f+Ct&'1u aD5ȉFuO9~E CO9~&'ND.ȈC,[^_]Ãv-C(null)cygwin programt&UWVSL]U :tv<%t#E CU :ue)[^_]ƅ 1BU N%+BU @҃J$a`aa0a:a:a:a:a:a:a:a:a:aaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaa-aaaaaaaaMaaaYaaaaaaaaaatTBЉU ƅ0D$ E $E D$hNjE PU 8sEEt.1Ʉ9BCA9|Faˉ$D$ D$EEPT$D$ T$D$zWin3C2 erCror C 虮D$S $D$ D$D$ L$$t$D$Ma $D$ D$3$ED$D$PET$D$ D$EEB߃^w0CxC$D$D$T$ D$$D$ D$EED$ T$$ED$D$ED$L$ S0CxC$D$D$량$ED$ D$ED$ L$?CE @VU UEUT$$E D$A]ÐU8@SEU uT$]4$D$$蓭$t$\$D$ D$~$_$4u]]Ðconst char* perhaps_suffix(const char*, path_conv&)buf %s, suffix found '%s'prog '%s'&U(]4] a]uu $Hkaڹ+4tt ttK1ۡ4] au؋u]]Ít&$0] aD$@D$aD$ at$\$d3‰$ɉuȉĊ8tBu1҉Љ$0] aD$@D$aD$ a\$3.&'const char* find_exec(const char*, path_conv&, const char*, unsigned int, const char**)%s = find_exec (%s)trying %s%s%sfind_exec (%s)t&UWVƸxaS\4] a1Ex/!Ċ8tBu1҉ЅÄ4$D$tt|$$M4] auCM ttE e[^_]ЋĊ8tAu1ɉȉ$0] aD$@D$ aD$ yaD$t$;1ƅ.ƅ/߉$t$1MdwProcessId %dold hProcess %p, hProcess %p%d = DuplicateHandle, oldh %p, newh %pparent handle %pres = %xwait failed: nwait %d, pid %d, winpid %d, %Ewaitbuf[0] %p %dwaitbuf[1] %p = %dwaitbuf[w] %p = %dsubprocess exitedsignal arrivedspawned windows pid %dt&-1 = spawnve (), process table full%d = spawn_guts (%s, %.132s)/netrel/src/cygwin-1.3.12-1/winsup/cygwin/spawn.ccCreateProcess failed, %E\null_app_name %d (%s, %.132s) """\\" /bin/shPATH= %s is a scriptcommand.comcmd.exeargv is NULLspawn_guts (%d, %.132s)prog_arg is NULLv'U帜WVS] ( a0E=4] au e1E11҉81ۉ1EEEEEEƅ󫍍1}(Hfj1lۉ}D$T$$L$ -( aD$$D$D$D$ D$D$Ý$0] aD$D$aD$ `a&$fE؅ue[^_]$%E؃@E@$E؉$=E؃$E몺 M(U 1@t'M Cu1Ju ljBvtЃu 1KMD$ $uG a1ۍ;|K$t&CK;^|Ԁ8E@9i(}P(P 0ga, (@$11ɉ111<1@D$dp$D$t$D$xD8( a$  }t u }t( a~154] aH!ȅs ja1ɉ X8t x4t7 ja J a1(E@K$E1҃C( ax {?8D$Ét$ $D$t$ D$D$T$ L$$D$A(NjM ( ap [؍1?}0na@$tډ 4] a}gJ a9(G$1ɉBP$|$T$$2=( aD$ D$$D$D$D$D$Q$Pt$74] a1}}wCM$aaaa-aaaD$$D$,w1ۋ;|jOG $aE؅u$(E؃@E@$E؉$7E؃$E벋CF;^|넋]1P1ۡtL a4$|$D$D$ 螛_J apt uCc~$c 4] a04] aJ aҋxp9t$( aD$ D$$D$D$T$ѕá4] a2$0] aD$D$aD$ at$͖D$J a$0] aD$D$aD$ a@D$J a$0] aD$D$aD$ a|$@D$$0] aJ aD$D$aD$ @a\$|$@D$X$0] aD$D$aD$ gat$+J a$0] aD$D$aD$ xaD$<@t$J a1$0] aD$D$aD$ aD$BD$1ҋD$ aD$$0] aT$D$D$ae1ҋD$ aD$$0] aT$D$D$a&1ҋID$ aD$$0] aT$D$D$a a $$;| CCB;^|4] au;$D$u  $0] aD$D$aD$ aB럡4] au LV$0] aD$D$aD$ a $0] aD$D$aD$ %aD$M<$," a 4] auGt u)1ۍ;CA;^|<$$0] aD$D$aD$ @aHƂ4<] aL$@kaDkaJ a$ 6[&Q$0] a1D$D$aD$ daH ЋUD$T$D$J a$D$؍R7}$pac4] auSt $1ɍ61ۍ;4C1@;^|$0] aD$D$aD$ a뇉$11KjaJ a$薅(_@D$T$$a $|$D$t$D$ _/$_D$L$$wa $\$|$D$D$ n_4$D$a;2\$4$/2(1E@K@$E1҃C( ax B4á( aD$ T$ T$$D$L$D$T$(D$D$8D$$能,ǃ}( a$Q1@$0] aD$D$T$D$aD$ aD$S( a@D$J a( aD$D$($T$D$ D$舍>?C;^|닕w11;;44$2t4$D$ a5D$a$D$-'4$D$a@5Ét$)D$$$D$a5u$D$a $D$w두\$$t$t <"t|҉\$$t$r>D$a$D$ID$$D$a+;st@5D$xa$D$4$0 $t$D$Kt$ $\$N <D$ $D$D$ J aD$D$D$`$ƅƅƅƅT$D$D$ D$ۊ$舉U <$D$m+E $0,$\$J au$K aD$D$D$ 44] au a$0] aD$D$aD$ Pa$0] aEUD$D$aD$ ]aD$T$n4] at$0] aD$D$aD$ uaj9( aE( a( a1҉-( a) a$( aD$%$腄ͪ$J aFUUEE U E]dt&int spawnve(int, const char*, const char* const*, const char* const*)longjmping due to vforkspawnve (%s, %s, %x)U(]$) auu}} $辅t +1ۡ4] a$Taaaapaaat&<$UEt$ T$D$]u}]Zt$ EU<$D$T$ۉtɅ~ŋ=4] at$$0] aD$@D$aD$ a% 3C$D$r am$0] aUD$D$aD$ a|$D$ED$ vUEMȃBuUD$ $U T$T$ÐUS]Et&؋SӉAuE$E T$ D$D$[]ÐUEMȃBu?UD$ $U T$T$ÐUS]Et&؋SӉAuE$E T$ D$D$p[]ÐUUD$ $U T$UT$]Ít&UeUD$ $U T$UT$]Ít&UX$E E$aEEEEEEƅD$UD$E$D$ED$ ].com.cmd.bat.dllt&U} t]É}u+a'a1ңHkaLkaxaPkaTka,a`ka1dka1ahka1lka6a Xka1ɉ\ka1ңpka1tka xka|kasU$D$F]ÐcYg%8x %x**********************************************Program name: %s (%d)App version: %d.%d, api: %d.%dDLL version: %d.%d, api: %d.%dDLL build: %sOS version: Windows %sUHuu]Vtv]u]F@tD$a]؍F$D$D$ $Ft4$D$D$D$ aJ a4$D$PT$D$D$ OaD$v a4$D$D$ aD$D$ aD$0 aD$4 aD$2 a4$D$D$D$ aD$ aD$ aD$ aD$ a4$D$D$D$D$ a4$D$D$D$ aD$na4$D$D$D$ auZU=kat$kaD$]ka4' a ka$a{Ȑ&U(WVS }U Ċ8tBu1҉ЅÉtWC$5C<_s$#S(Ċ8tBu1҉ЅÉu1ɉȋU Ċ8tBu1҉Љ;u v'9t: tAJ;U w:*t39s&BG9r:G G] )[^_]BB…u%7d [%s] %s %s %d%s*** unknown ***.exe?!&'UWVS} |{1u5aÅu 5J aE$*UBU\$ 1ۉ$D$aD$D$aO$zD] aat4$D$\#C\$4$;4$D$.{#t(aۺtU<$J aT$u-aT$UD$ /aZ u1aD$MÅt8$ED$sÍ;$ED$ED$Í;9vPt' u @H9w 1@5D] ae)[^_]HD] a4$D$/"%x %scYg%08xUWVSE&GD$a\$t$$E D$ED$ ! t€u4$҃)ٍAD$aD$=F 4${e[^_]array bound exceeded %d v'UL'WVSzuxElj$wE4$D$E\$D$ ED$}E %fu9Fu<$Twe[^_]É4$E \$D$D$ $Ny$\$D$D$D$ 3x$y$wn$aD$$UEUT$$E D$ED$ED$ ]Ð&'UU%fu 4] at%T$EU $0] aD$T$UT$ ]]WM_NULLWM_CREATEWM_DESTROYWM_MOVEWM_SIZEWM_ACTIVATEWM_SETFOCUSWM_KILLFOCUSWM_ENABLEWM_SETREDRAWWM_SETTEXTWM_GETTEXTWM_GETTEXTLENGTHWM_PAINTWM_CLOSEWM_QUERYENDSESSIONWM_QUITWM_QUERYOPENWM_ERASEBKGNDWM_SYSCOLORCHANGEWM_ENDSESSIONWM_SHOWWINDOWWM_WININICHANGEWM_DEVMODECHANGEWM_ACTIVATEAPPWM_FONTCHANGEWM_TIMECHANGEWM_CANCELMODEWM_SETCURSORWM_MOUSEACTIVATEWM_CHILDACTIVATEWM_QUEUESYNCWM_GETMINMAXINFOWM_PAINTICONWM_ICONERASEBKGNDWM_NEXTDLGCTLWM_SPOOLERSTATUSWM_DRAWITEMWM_MEASUREITEMWM_DELETEITEMWM_VKEYTOITEMWM_CHARTOITEMWM_SETFONTWM_GETFONTWM_SETHOTKEYWM_GETHOTKEYWM_QUERYDRAGICONWM_COMPAREITEMWM_COMPACTINGWM_WINDOWPOSCHANGINGWM_WINDOWPOSCHANGEDWM_POWERWM_COPYDATAWM_CANCELJOURNALWM_NCCREATEWM_NCDESTROYWM_NCCALCSIZEWM_NCHITTESTWM_NCPAINTWM_NCACTIVATEWM_GETDLGCODEWM_NCMOUSEMOVEWM_NCLBUTTONDOWNWM_NCLBUTTONUPWM_NCLBUTTONDBLCLKWM_NCRBUTTONDOWNWM_NCRBUTTONUPWM_NCRBUTTONDBLCLKWM_NCMBUTTONDOWNWM_NCMBUTTONUPWM_NCMBUTTONDBLCLKWM_KEYFIRSTWM_KEYDOWNWM_KEYUPWM_CHARWM_DEADCHARWM_SYSKEYDOWNWM_SYSKEYUPWM_SYSCHARWM_SYSDEADCHARWM_KEYLASTWM_INITDIALOGWM_COMMANDWM_SYSCOMMANDWM_TIMERWM_HSCROLLWM_VSCROLLWM_INITMENUWM_INITMENUPOPUPWM_MENUSELECTWM_MENUCHARWM_ENTERIDLEWM_CTLCOLORMSGBOXWM_CTLCOLOREDITWM_CTLCOLORLISTBOXWM_CTLCOLORBTNWM_CTLCOLORDLGWM_CTLCOLORSCROLLBARWM_CTLCOLORSTATICWM_MOUSEFIRSTWM_MOUSEMOVEWM_LBUTTONDOWNWM_LBUTTONUPWM_LBUTTONDBLCLKWM_RBUTTONDOWNWM_RBUTTONUPWM_RBUTTONDBLCLKWM_MBUTTONDOWNWM_MBUTTONUPWM_MBUTTONDBLCLKWM_MOUSELASTWM_PARENTNOTIFYWM_ENTERMENULOOPWM_EXITMENULOOPWM_MDICREATEWM_MDIDESTROYWM_MDIACTIVATEWM_MDIRESTOREWM_MDINEXTWM_MDIMAXIMIZEWM_MDITILEWM_MDICASCADEWM_MDIICONARRANGEWM_MDIGETACTIVEWM_MDISETMENUWM_DROPFILESWM_MDIREFRESHMENUWM_CUTWM_COPYWM_PASTEWM_CLEARWM_UNDOWM_RENDERFORMATWM_RENDERALLFORMATSWM_DESTROYCLIPBOARDWM_DRAWCLIPBOARDWM_PAINTCLIPBOARDWM_VSCROLLCLIPBOARDWM_SIZECLIPBOARDWM_ASKCBFORMATNAMEWM_CHANGECBCHAINWM_HSCROLLCLIPBOARDWM_QUERYNEWPALETTEWM_PALETTEISCHANGINGWM_PALETTECHANGEDWM_HOTKEYWM_PENWINFIRSTWM_PENWINLASTASYNCIOwndproc %d unknown %d %dwndproc %d %s %d %dU(]Éuu@tX1=T] at!'9P] atA@]ÐUWEVu S1t'Ct&A9tuu1ۋE[^_]CU]Éu@$J aD$D$D$ sC ts$b aC؉$b a]u]m$l1v'U]Éu}jm9CtG{<$k9st4u$D$,ntC $ED$vusC@C]u}]É<$k1䍶U]]l9Ct$ Nk1]]ÉCtHCtC$D$mC$5kx͋C $o뽍&'U]]CCC$D$mC u]]É$j$J aD$D$CD$ qC Ðclose_all_filesUSpa1S( a;}@t&t$$P0\$( a$蕊 ( aC;|ĸpa0K aR$h[]check_pty_fdsv'USa1裴( a1҉;},t@%t*t%B;|ָarZ[]ûcygheap_fdmanipt&U(D$E]$D$\( a$ED$ED$<}E au ؋]]Ít&aܳݍv'U( a$ED$E D$ږ]int _unlink(const char*)%d = unlink (%s)unlinking a nonexistent fileunlinking a directorynon-writable directory/netrel/src/cygwin-1.3.12-1/winsup/cygwin/syscalls.cccouldn't delete file, err %d'CreateFile/CloseHandle succeededDeleteFile succeeded.lnk_unlink (%s)&UWVS]؁ ( a$Uع2VU a4] auXE؅u e[^_]Ã$EkE؃@E@$E؉$E؃$%kE$0] aED$D$jaD$ at$D$tt&Eăy4] a<Ẽu?4] au a$0] aD$D$jaD$ a1҃t tt?4] au a$0] aD$D$jaD$ aʉ$)eu7=4] a$0] aD$D$jaD$ aQE1҃t t1'$geu"uEu$D$R'naB t HEƅuB tƅ$D$D$D$ J aD$D$D$)d$%d54] a$f@tGu> tad 4] au"\$0K aR$O`4] a1$0] aD$D$jaD$ & aD$ $0] aD$D$jaD$ P aHgdQ덋E 4] ap$0] aD$D$jaD$ q afB$Y D a"$ẼD$e$0] aD$D$jaD$ a\$v aRc9( aaE( a( a1҉-( a) aE$( aD$),int remove(const char*)-1 = remove (%s)v'Uh]2$]QUtQ a4] au]]Ðt&$0] aD$D$aD$ a\$ōE1҃t tt $0i뢉$&똍t&UJ a]Ít&UJ a]@pid_t setsid()sid %d, pgid %d, ctty %dv'U(]J a9(J a0@0J ad,J aS(4] auJ a,]]É$0] aJ aD$D$aD$ a,D$(D$0D$뢍( a@Qvt J a=c abt&'ssize_t _read(int, void*, unsigned int)read (%d, %p, %d) %sblocking, sigcatchers %dnon %d = read (%d, %p, %d), errno %dnon-interruptible read U1WVSl}uu e[^_]ÐE 趡u⡀ aEčv ( aEt$Eȉ$D$D$ ̾E̅E1ۋ$bP4] aKtN$0] aU D$aD$aD$ 0at$T$|$u]aD$kaD$ UЋ\$$t$Eкu  a1 5EЋD$$ËEЋu  a1 ~FJ aHEЋu  a1 EЉU SDáJ a`t a:  a8E؉$ aUĉ}E au[E؅ $aE؃@E@$E؉$CE؃$eaEaܧ돀}E aE؅uT4] aug$0] aE D$D$aD$ aD$ pa\$t$|$D$ 뵃$`E؃@E@$E؉$qE؃$`EbaBEЋ@q }E auXE؅u $`E؃@E@$E؉$E؃$_E미aw뒐t&EЋ$RtUЋ@4] a$0] aD$@D$aD$ a*t&K\9( aE( a( a1҉-( a) a$( aD$yt&ssize_t _write(int, const void*, unsigned int)%d = write (%d, %p, %d)write (%d, %p, %d)UWVS]؃L ( auFt$Eȍ^$D$D$ E̅x E14] a}E au_E؅u e[^_]Ã$^E؃@E@$E؉$E؃$]E믍&al$0] aD$D$PaE D$ a|$D$Et$D$@?4] a1$0] aD$뱋E U衛^4] aEЋD$$J aHEЋ$E D$ED$RHǡJ a` a: vEЋ@g \$0] aD$D$PaE D$ at$D$ED$8C4] a6$0] aD$붐t&^3Y9( aE( a( a1҉-( a) a$( aD$atUWVSEH=v a[^_]ÉEE19}`G;}|EE19}JE X0~4&'t$E\$$\x!~E)ƅڃE G;}|U|MukUW1VSE;}}OE X0~4't$E\$$Mx+~)ƅEEE 9E|[^_]Åuvint _open(const char*, int, ...)%d = open (%s, %p)open (%s, %p)&'UWVS]؁( au} D 4] aؗ4] au]E؅ue[^_]Ð$YE؃@E@$E؉$E؃$YE$0] aD$D$aD$ aD$t$|$3hD$Eȋ]$D$0U̅T$( aEE$EEEEEƅt$D$ D$D$D$1ztA|$$D$( a!Á\$ R,tEẼ~*}E a`a G$nɡ( a$ẺD$At룍t&$0] aD$D$aD$ at$|$T9( aE( a( a1ۉ-( a) a$( aD$v__off64_t lseek64(int, long long int, int)%d = lseek (%d, %D, %d)UWVS]؃l ( aE Uɋ}EUZ a4] auaE؅ue؉[^_]Í&$VE؃@E@$E؉$E؃$VE$0] aEUD$MD$aD$ a\$t$D$T$L$ |$$UD$UEȉ$D$ T$譱E̅xMEЋ]ċM|$ \$$L$RLÉր}E aa~R9( aE( a( a1҉-( a) ay$( aD$`UE$E D$ET$D$ ]int _close(int)%d = close (%d)close (%d)UVS]@ ( auH4] at$Eػ$D$D$ ME܅x(E1ۋ$R0( a$E܉D$p4] au{}E auXEu e[^]Ã$]TE@E@$E$E$=TE밐a輚$0] aD$D$ aD$ ( a\$t$T$0] aD$D$ aD$ 8 at$qP9( aE( a( a1҉-( a) a$( aD$rint isatty(int)%d = isatty (%d)&'UVS]@ ( aut$E1ۉ$D$D$ }E܅xE$á4] a}}E auZEu e[^]Ã$RE@E@$E$]E$RE밍va$0] aD$D$"aD$ "a\$t$RO9( aE( a( a1҉-( a) a$( aD$2int _link(const char*, const char*)%d = link (%s, %s)file '%s' exists?cannot write streamId, %Ecannot write linkname, %Ecannot open source, %Etrailing dot, bailing outUWVS]؁ 5( aS$U ع2X;2U$; a4] auXE؅u e[^_]Ã$ePE؃@E@$E؉$#E؃$EPE$0] aED$D$#aD$E D$ #a|$D$mEtMЋ atC}tC4] au a$$0] aD$D$#aD$ #a\$GƉ$=D<.na@2$t$D$ t14$D$D$D$ J aD$D$D$OJ@ڹ(D$1@1 81ɉ$8D$$<1҉D$ HDD$D$D$S4] auR$I4$\$D$T aٱi$0] aD$D$#aD$ #aD$D$$(D$D$$D$ D$Ru 4] auJD$D$D$$$D$ D$D$R$0] aD$D$#aD$ $a됉4] a$0] aD$D$#aD$ -$a4] au a&$0] aD$D$#aD$ D$aMvI9( aE( a( a1ۉ-( a) a$( aD$g int chown_worker(const char*, unsigned int, long unsigned int, long unsigned int)l%d = %schown (%s,...)UuEu}}]`ugna1@ ub=4] atFE )a$0] aD$D$0)aD$ )a\$uaD$ED$ڋ]Ћu}]Ð$UM (6UЅt anE1҃t t1ۅP11҉E܃t tt @E%$D$D$D$ D$uitvE1҃t tt @t$Eȉ|$ %$D$D$|Eȅy jah1a낋rU(] ( a]D$E$E D$ED$ ËEu ؋]]Ã$rIE@E@$E$0E$RIE밍F9( aiE( a( a1҉-( a) aM$( aD$I4t&UW}VS,( a] uD$E$1fH 1f\$H Ɖt$ ËE؅u e[^_]Ív$eHE؃@E@$E؉$#E؃$EHEE9( aYE( a( a1-( a=) a=$( aD$B$U(] ( a]D$E$E D$ED$ ËEu ؋]]Ã$rGE@E@$E$0E$RGE밍D9( aiE( a( a1҉-( a) aM$( aD$I4t&UW}VS,( a] uD$E$1fH 1f\$H Ɖt$ ËE؅u e[^_]Ív$eFE؃@E@$E؉$#E؃$EFEC9( aYE( a( a1-( a=) a=$( aD$B$'int fchown32(int, long unsigned int, long unsigned int)&fchown (%d,...): calling chown_worker (%s,FOLLOW,...)v'-1 = fchown (%d,...) (no name)-1 = fchown (%d,...)UVS]@ ( au$t$E؉$D$D$ _E܅EX,4] a$E D$D$ED$ }E auZEu ؍e[^]Ã$_DE@E@$E$E$?DE밍va輊$0] aD$D$/aD$ /at$\$24] a aX}E au[Eu 2v$CE@E@$E$SE$uCE문a$0] aD$D$/aD$ 0at$J4] aB$0] aD$D$/aD$ /0at$?9( aE( a( a1҉-( a) a$( aD$t&U1U MfH 1fU H M]AUM( a]int chmod(const char*, int)%d = chmod (%s, %p)UWVS]؁ ( au =$Uع!,U a4] au]E؅u e[^_]Ã$AE؃@E@$E؉$?E؃$aAE믐t&$0] aED$D$03aD$ L3a|$D$t$kE1҃t t,Ẽua赤)$D$!?E1҃t tt@\$ED$%$D$ D$лE1҃t tt@\$Et$%$D$D$ u1=jaxƒtae%=tI=tB$ẺD$=>ttjat&1aM븃M<9( aE( a( a1҉-( a) a$( aD$}int fchmod(int, int)'fchmod (%d, 0%o): calling chmod (%s, 0%o)-1 = fchmod (%d, 0%o) (no name)-1 = fchmod (%d, 0%o)v'UWVS]؃L ( au} %t$Eȉ$D$D$ E̅EЋX,4] a$|$7}E au_E؅u؍e[^_]Í&$>E؃@E@$E؉$E؃$=E머ae닍v$0] aD$D$6aD$ 06at$|$\$|$<4&4] a aX}E au[E؅u $/=E؃@E@$E؉$E؃$=E믍va范$0] aD$D$6aD$ p6at$|$nF4] aD$0] aD$D$6aD$ 6at$|$0V99( aE( a( a1҉-( a) a$( aD$&'USM] % fACACA fC AfCAfCAQ% fCACA$Q(CSA,Q0C S$A4Q8C(S,AaD$ >aT$D$.$0] aD$@D$>aD$ ?a(D$(Bv4] aع񋕘ЋS4@tMtzBZ$P  Ë뿋P01fB$0] aD$@D$ED$>aD$ P?aT$|$t$D$ int stat64(const char*, __stat64*)enteringt&U(]( a]4] auw$E1ɋU ËEu ؋]]Ã$2E@E@$E$AE$c2E밍&$0] aD$D$PBaD$ sBaܶ`&.9( a8E( a( a1ɉ-( a ) a$( aD$)t&UhuEu]$t$t ؋u]]É4$E D$q int lstat64(const char*, __stat64*)U(] ( a]4] auw$EU ËEu ؋]]Ã$0E@E@$E$E$0E밍t&$0] aD$D$CaD$ sBa<`&[-9( a9E( a( a1҉-( a) a$( aD$t&UhuEu]$t$t ؋u]]É4$E D$㐍&'Ux] ( a]uu ti aEu]u]Ð$u/E@E@$E$3E$U/E멋jatft$E$ AËEu눍v$/E@E@$E$E$.E$E1ɍUt*J a 9E$9EEt]t"J a 9Etp$9Et_Et3t(J a 9Et9$9Et&E4$u1ۅ a EuE@E럀}xE dE[*9( aE( a( a1҉-( a) a$( aD$int _rename(const char*, const char*)-1 = rename (%s, %s)file to move doesn't exist%d = rename (%s, %s)deleting %s to be paranoidtry win95 hackv'UWVS]؁ ( a}u $1ۉD"U 4] auh aE؅ue[^_]Í$E,E؃@E@$E؉$E؃$%,E$0] aD$D$GaD$ Ha|$t$蝰Udt&$X"EuHu t[4] au# a$0] aD$D$GaD$ Ha|$t$믍$N&uG4] au a $0] aD$D$GaD$ Ha|$t$蒯X$%t}u?4] au a2$0] aD$D$GaD$ +Ha8ʋ1҃t tEu!uxt|X$D$0Nt&s&=@c&P2X$ẺD$-(DtDX.$'4] auUE؅u0$)E؃@E@$E؉$AE؃$c)E$0] aXD$D$GaD$ FHat$T$D$˭jaD׌1҃t t2X$D$ 'nax4] a1ۍX$&u $u1X$D$.u C~g1`4] aS$0] aXD$D$GaD$ [HaD$Ϭ $0] aD$D$GaD$ vHa覬ED$X$D$a. ` aGdoD$.X$DKCvX$D$%$ a(cuv't$Hމ$$D$ aQX$붍#9( aE( a( a1҉-( a) a$( aD$sh-c&'UXuu]}d=( a]؅K$]D$"E$D$"$6D$$3E\$$D$L'EENaENauE$D$NaD$詠$ED$ "$|$!E$D$D$&E؅uڋ]Ћu}]Ã$-%E؃@E@$E؉$E؃$ %E먻Y&E؅u닃$$E؃@E@$E؉$E؃$$Ev!9( aAE( a( a1ۉ-( a) a%$( aD$ &'U( aM; 1҉]Ð$)L$6;tҐv'U( a勀=s]Ít&Ukat]$kaA"ka損U8]na1ҋ]@ t} Zja1҅u ]]Ð$m+\$D$ $ Xá au;\tx$(ta$ED$ ED$ED$D$D$D$D$[( tU\a臆1F{\u`^a,U(uEu]] $t$D$D$ }E[$,SaTaTaTaMUaMUazUa Ua UaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUa}E au]u]øaBgى4$Xt*}E aua g㡀 a }E au yaf}E au Laf}E au akfE$aB aLEB%uދB0\$$}E auae㐍&'UX]] u[$TVaXaXaXaXaWaXa Xa Xa Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa'Xa4Xa4XaET[tt&']Ћu]ËE$))ٺҺ˺čt&빡 a$U10Ut  aE1҃t tu4$\$LUt&U(D$E$E]D$ D$5xExE$u0}E au 1]]Ít&a c݋E$R@E a}u뿸ab/dev/tty%d&U]]t`J a0x0=@t)$D$4] au 1]]$0] aD$D$YaD$ Yaэ\$E$D$D$ uEGMP%tZ4] au*}E ara`Y$0] aD$D$YaD$ Zaj u!B%fB t/ 4] ai$0] aD$D$YaD$ Za둋4] au-}E au a_$0] aD$D$YaD$ PZa襝뭸f;4] a$0] aD$D$YaD$ sZa$0] aD$D$YaD$ Za\$6int setmode_helper(FILE*)textsetmode: file was %s now %s rawU(]]$L;lat ]1]á4] atW$0] a ]aD$D$\aD$ ]aC %@fu+]ala ]aT$u+]aD$klatC @fC |C %쐍t&U(D$E$E]D$ D$rEx>EXE a}u ؋]]øa]t&}E au˸a]int setmode(int, int)setmode (%d<%s>, %p) returns %s binary&UWEVSgid: %d&'UWVS4] auna@ -( a1ɍz8؅t z4tuJ a; , ( a]؅4$E1E1ۍ|\xXǍE$|$ -uf aE؅u e[^_]Ã$E؃@E@$E؉$ڜE؃$E묡J a$$x$D$,m( ahdi2( aD$$tD$0 a8c( ah1ҋdX8t x4t( a$e-$0] aD$D$praD$ ra薃D$ txT$$ED$Y 4] a`t<$0] a`aD$@D$praD$ rauraD$`t@( a1ɍ؋Z8t z4t1҉`( a$ExD$pT$D$ X 4] aÅtE$0] a( aD$@D$praD$ raD$auraD$J( aÉE$\$)u EXD$Xx$\$D$ 1t$a`( a`ut\9$+u?4] aua(:$0] aD$@D$praD$ sa3ˡ( aÉhth;tp$D$覭( a$ED$-J a E؅ut&'1$E؃@E@$E؉$蜘E؃$E벉$( aRD$ ,D$$ED$G/u 4] aun( axD$ ,D$T$$ /u 4] au ( aJ$0] aD$@D$praD$ 0sa$0] aD$@D$praD$ psai|$Ex$T$Z( at\4] au&<$c( a{$0] aD$@D$praD$ sa~( a뮍&( aD$txlD$ $lD$- 4] a$0] aD$@D$praD$ sad~9J( at$( a$'M$0] aD$D$praD$ ra}$( at$g9( acE( a( a1҉-( a) aG$( aD$.v4] a$0] aD$@D$praD$ ta>}9$뵐t&$0] aJ aD$@D$praD$ *tat$$D$|0t&U1UfH ‰U]int setuid32(long unsigned int)real: %d, effective: %d&U(]E$uJ a ( a4] au ؋]]$0] a( aD$@D$p}aD$ }aD$J a D${볍v'U1UfH ‰U]Tint setegid32(long unsigned int)Impersonating in setegid failed: %EOpenProcessToken(): %E t&SetTokenInformation(process, TokenPrimaryGroup): %ESetTokenInformation(thread, TokenPrimaryGroup): %EUh]na]u@ ZJ a;$I@( au$EuEt9Xth aEu]u]Ã$TE@E@$E$E$4E몉4$D$,"tJ a1ҋ ( a$X8t x4tD$( a$ED$% 4] a( a1ɍX8t x4tu[Eu 1$^E@E@$E$E$>E벋$t"u$0] aD$D$p~aD$ ~axg$0] aD$@D$p~aD$ ~axD$Et$D$ ,$|'u 54] auE$$0] aD$@D$p~aD$ ~axNjD$ ,D$t$$'u 4] au %A$0] aD$@D$p~aD$ 0aw9( a?E( a( a1-( a5) a#$( aD$ t&U1UfH ‰U]t&UE$uJ a$( a]ÐUU1fH ‰$2uJ a$( a]int chroot(const char*)%d = chroot (%s)NULLUWVS]؁| ( au@$عEuẼ a4] at=$0] aD$D$`aD$ xat{ aD$taD$uE؅u e[^_]Ã$E؃@E@$E؉$ÍE؃$E미a똉11҃t tu a+\$( a1$EԉD$ v[9( aE( a( a1҉-( a) a$( aD$艌zt&U(]( a]t{D$E$E D$ËEu ؋]]Ã$E@E@$E$茌E$E밉{9( atE( a( a1ۉ-( a) aX$( aD$詋?t&U$c`&'U8] ( a]D$E$ED$D$ iHt]Eu؋]]Í$E@E@$E$sE$E몋]랍t&[9( aYE( a( a1҉-( a) a=$( aD$艊$t&U(]( a]uu D$E$D$t$ qF `ft`Eu]u]Ã$E@E@$E$mE$E몍vEu 1롐t&$UE@E@$E$E$5E9( aE( a( a1ۉ-( a) a$( aD$2USM] ft.f9t [)]Ãft f9tݍvՐv'UU1f:t @fE؃$`E믉$D$D$D$ J aD$D$D$\1҃<@8ut&@RD$Px|E$`E벍t&k a9( aE( a( a1ۉ-( a) a$( aD$I{t&UVuS ( a]غ4t^Eu 1e[^]Ã$E@E@$E$Q{E$sE밍&D$ la aD$4$z=4zfjC=8lauEu laX$E@E@$E$zE$E믍9( aE( a( a1҉-( a) a$( aD$yt&UVS] ( au4ctWEu 1e[^]Ã$E@E@$E$yE$ED$ la aD$4$ y=4u lafw$(laFD$D$uEu laN$iE@E@$E$'yE$IE9( aE( a( a1ۉ-( a) a$( aD$Fx.exeU} t]É}uakaakaka1ka1kakacygheap_fdnewcygheap_fdgett&U$D$v]Ðlong int sysconf(int)v'/netrel/src/cygwin-1.3.12-1/winsup/cygwin/sysconf.cct&'NtQuerySystemInformation: ret = %d, Dos(ret) = %d&'UX]]u $a$a<aCaJaQaZaaaealasasaaa&]Ћu]ú?*ֺ1˺a / naA tA u a{$EȉD$D$,D$ (EuB t4 | t" t uU؋E)ЍP&UUU $uEJPa< 4] a^4$KE$0] aD$@D$0aD$ at$D$]"& naC:\CYGWIN_SYSLOG.TXTv'U帰a]Ðvoid openlog(const char*, int, int)openlog called with (%s, %d, %d)failed to allocate memory for process_identUWVS4] au} t=$0] aD$@D$aD$ 0aD$E|$D$\}4$x@$mu94] au [^_]É$0] aD$@D$aD$ pa[%t$$wU$51ɉ;a &Ut$u$u$t$]Í}ҐUE@@]Ít&UE@@]Ít&U]v'U] v'U]]u]]Í&$Gint pass_handler::initialize(int)/dev/nullwbfailed to open /dev/null&U]]$lE t C@]]$aD$aNu64] au$0] aD$@D$ПaD$ aYC1랐&'UEUT$$E D$]Ðint pass_handler::print_va(const char*, char*)FAILURE ! fp_ and message_ both 0!! v'U(]]uu }}uiCuA4] au]u}]$0] aD$@D$aD$ 0a\Xȉ$RuSt$|$Љ$-1묉$t$|$9¸xS܉'void syslog(int, const char*, ...)failing message %x due to priority mask %x%s : LOG_EMERGCygwinRegisterEventSourceA failed with %Eafailed to lock file %serror in writing syslogfailed to open file %sLOG_ALERTLOG_CRITLOG_ERRLOG_WARNINGLOG_NOTICELOG_INFOLOG_DEBUG Win32 Process Id = 0x%X : Cygwin Process Id = 0x%X : %x %st&UWVS\4] au 6U!ʉЃuO4] aue[^_]UD$ Pa$0] aD$@D$aT$D$U뼉 a1$GEЉ$rt'<%Bu4$rD D$$ÉEt'<%CFuEEw/$ФaaaaaaaaaE}1<$\<$t$~\D$$D$$Ekt&\D${a<$D$B@k6na@ uWEC$aԥaa֨aaa a8aPa<$D${aD$a'<$U̍ED$T$U@F]܉$pt x }]ԡna@ Ya$D$vtj( aU@D$ T$$D$ED$D$ D$D$D$F$$<$4] at$0] aD$@D$aD$ aS>D$Ԣa$G*$( a7F$D$D$D$$D$ 9uF4] au 4$@+D$ ֢a$0] aD$@D$aD$>Rĉt$Eԉ$mG$ t$MG$D$D$D$ D$F @fj 4] a\$0] aD$@D$aD$ aQ354] a]HD$ a$0] aD$@D$aD$pQ+@z<$D${aD$a<$D${aD$&a<$D${aD$/a<$D${aD$7a<$D${aD$Ca<$D${aD$Na<$D${aD$Wa QD$pa<$\$D$ $@HESEG~m$UFT$vl;'C;ut&zmnGh$0] aED$@D$aD$ aD$t$OU]Ðint tcsendbreak(int, int)cygheap_fdmanip%d = tcsendbreak (%d, %d)UHuE؋u]}} $t$D$D$ &U܅xE$u~ a4] au8}E au؋u]}]øjaۍ$0] aD$D$PaD$ za\$t$|$N떋ED$$kE|$$RtSint tcdrain(int)%d = tcdrain (%d)tcdrain&UVS04] aut$E$D$D$ $ExE$uo a 4] au,}E au 0[^]øja$0] aD$D$aD$ a\$t$|M릋ED$$zE$Rxft&$0] aD$D$aD$ ϫaMint tcflush(int, int)%d = tcflush (%d, %d)v'UHuE؋u]}} $t$D$D$ w#E܅xE$u~ a4] au8}E au؋u]}]øja8ۍ$0] aD$D$ aD$ a\$t$|$L떋ED$$kE|$$RpSint tcflow(int, int)%d = tcflow (%d, %d)v'UHuE؋u]}} $t$D$D$ 7"E܅xE$u~ a4] au8}E au؋u]}]øja ۍ$0] aD$D$LaD$ aa\$t$|$J떋ED$$kE|$$R|St&int tcsetattr(int, int, const termios*)iflag %x, oflag %x, cflag %x, lflag %x, VMIN %d, VTIME %d%d = tcsetattr (%d, %d, %x)v'UWEVSL}$]D$|$D$  M܅0 a4 aiЉڃwc0T$(D$(CD$,CD$0CD$4CD$8CD$LCD$PC D$9C D$=CD$ACD$ECfD$IEӋ$ a 4] au-}E au e[^_]øja $0] aD$D$aD$ ЯaD$CD$CD$C D$CD$ C!D$$H4] av$0] aE D$D$aD$ at$|$D$\$EH:ED$$E\$$E D$int tcgetattr(int, termios*)%d = tcgetattr (%d, %p)UWVSL0 a4 au i؃0\$(D$E؉$ED$ D$:M܅x#E$ atq4] au3}E au e[^_]øja$0] aED$D$$aD$ Aa|$D$t$F똋54] at$0] aD$D$$aD$ ЯaD$CD$CD$C D$CD$ C!D$$rF:E\$$0 a4 aiЃvfCfFCfFC fFCFC$FC(FCF CF CFCFC!fFEint tcgetpgrp(int)%d = tcgetpgrp (%d)v'U8uEu]$t$D$D$ =ExE$uv a4] au4}E au؋u]]Ðt&ja$0] aD$D$OaD$ ba\$t$D랋E$int tcsetpgrp(int, int)%d = tcsetpgrp (%d, %x)&UHuE؋u]}} $t$D$D$ 'E܅xE$u~ a4] au8}E au؋u]}]øjaۍ$0] aD$D$XaD$ pa\$t$|$C떋E|$$rU0 a 4 aUiȉуw`0$BD$BD$BD$ BD$BD$$BD$(B D$B D$BD$BD$BfD$!A(]ÍU0 a 4 aUiȉуw`0$BD$BD$BD$ BD$BD$$BD$(B D$B D$BD$BD$BfD$!A$]ÍU0 a4 aMiЉʃw`0$AD$AD$AD$ AD$AD$$AD$(A D$A D$AD$AD$AfD$!E B(0 ai4 awSfBfABfAB fABAB$AB(ABA BA BABAB!fA1Ív'U0 a4 aMiЉʃw`0$AD$AD$AD$ AD$AD$$AD$(A D$A D$AD$AD$AfD$!E B$0 ai4 awSfBfABfAB fABAB$AB(ABA BA BABAB!fA1cygheap_fdgetUUM BJ]Ð&'Uuu]^t $F؋u]]ÐUE]@Ðt&U]] uut$D$|u]u]Ív'UVSu UtEt?;ptCvt1$t$v;pt $i׉][^])1[^]Ã[^]&U]]u34$']u]Ð&UU EU@P]ÍUU EU@P]ÍUSEtC$%$$uX[]Í&'U]uOơP a$NÉ4$1u]]ÉU]uơP a$É4$uC]]ÐUL a$]]ÍUL a$M]void ResourceLocks::Init()lock %p inited by %p , %dU(]]$̵C4] au ]]Ít&$0] aJ aD$ D$*aD$ Ea\$D$ aD$U=void ResourceLocks::Delete()Close Resource Locks %p U]]{t 4] au$̺C]]$0] aD$ D$ͼaD$ a\$t$<C$]]]& UE@$E D$ա1]ÍU aE@$Q]Ív'U]]uu $D$F ~ t ~na@tBC$RC C$P a\$$+C(]u]$J aD$D$蟣C ut&U]]uu $D$F t ~na@tBC$蒟C C$P a\$$kC(]u]$J aD$D$ߢC ut&USna]@uxCudCP a9tEH(t9tv'Q(ȅ҉t9u($C(D$诟]]ډ$돍C$@놐v'USna]@uxCudCP a9tEH(t9tv'Q(ȅ҉t9u($C(D$]]ډ$`돍C$萣놐v'UnaU@uB]t&B$襠1]ÍUnaU@tB$]ËB1@=吐&UnaU@tB$)1]ËB$՟䐍&void pthread_mutex::fixup_after_fork()%P: *** pthread_mutex::fixup_after_fork () failed to create new win32 mutex%P: *** pthread_mutex::fixup_after_fork () doesn'tunderstand PROCESS_SHARED mutex'smutex %x in fixup_after_fork&'U]4] a]u{C$ufna@t!C$vC ]]Ðt&$J aD$D$C u$a^$at&$0] aD$@D$paD$ da\$"XU]]D$I ߉$CC]]Ð&'U]]D$I ߉$CC]]Ð&'U]U]wU]]uu$D$L .$J at$D$D$ 莣CuE sC P a\$$ߚC]u]Ð&'U]]uu$D$L $J at$D$D$ CuE sC P a\$$OC]u]Ð&'US]CuWP a9t?Ht9tt&Qȅ҉t9u$CD$ߙ]]ډ$@뜐v'US]CuWP a9t?Ht9tt&Qȅ҉t9u$CD$_]]pډ$뜐v'U]]CD$D$$iC ]]ÍU]]1ҋC=tK1]]Í& a &'U]]CK]]Í'void semaphore::fixup_after_fork()%P: *** failed to create new win32 semaphore%P: *** doesn't understand PROCESS_SHARED semaphores variablessem %x in fixup_after_forkU]4] a]uPC u@$J aCD$ D$D$ПCt]]$ac$Pa$0] aD$@D$aD$ a\$UU E]ÐUU E]ÐUE]ÉUE]ÉUEt$D$s1҃t]U]]uu$u:t/t 9t"$zuU 9А]Ћu]Ít&UD$E$E D$p]Ðstatic void* pthread::thread_init_wrapper(void*)Cstarted thread %p %p %p %p %p %plocal storage for thread couldn't be setUWaxVS1ہ ؋u1|8111111111113 af$ͫf&4f(m1f* ƅf,af.aD1҉@1M1Q1U1Y1f]f0HIxƅ_FtC4$D$J +u*Cut$h$1ҋ]Ћu]ÍU]] }}ۉut$D$K u!<$D$J D$&u]Ћu}]$ R$1tD$<7<$D$J Jt%u  릉$$1됐U]];t0$D$J t ]]Ë$s1$D$뾐U]];t0$D$J t ]]Ë$31$D$뾐int __pthread_cond_dowait(pthread_cond**, pthread_mutex**, long int)v'U(uu ]]}>G;)4$D$F t]Ћu}]Ð$D$J u׋$HtMPtF;tB$u$0] aD$D$aD$ PaD$̓$~B $~$j$ED$Nj$~ $~$$udPu@ $G~$u$0] aD$D$aD$ PaD$"$0] aD$D$aD$ aD$m$0] aD$D$aD$ PaD$$0] aD$D$aD$ aD$1v$D$4$D$U(]]$t]]Í&E$t ])ixωL$E$E D$뵐t&UD$E$E D$]ÍUuu]$$4$D$K t-u ]u]É$$1t&U]]D$K ߉$Du PE 1ҋ]]ÍUuu]] 4$D$K u%wۺu1@&]Ћu]Ít&Uuu]D$K ߉4$uu1ҋ]Ћu]É$$ڍUD$E ߍE$Gu-UB4$D$F t%u  녉$l$T1lv'U]];t&$D$F ]]HྃXÉ$D$ȐU]]D$F D$$t~t$n1ҋ]]Ívu$D$iuɐU]];t?$D$F t ]]Ë$S1҅Jݍv$D$믍&'U]];t0$D$F _t ]]Ë$31$D$뾐Uuu]4$Yt1҃>tC4$D$F u*C ut$h$P1ҋ]Ћu]ÍU]];t&$D$F ]]HྃXÉ$D$ȐUD$I ߋE$7]HྃXÍt&U]]D$I ߉$u PE 1ҋ]]ÍU]]D$I ߉$u PE 1ҋ]]ÍUuu]D$I ߉4$Ht ]Ћu]$ A$4$D$I Et%u  뵉$$1럐&Uuu]D$I ߉4$uu1ҋ]Ћu]É$v$NڍUD$I ߋE$]HྃXÍt&UD$I ߋE$g]HྃXÍt&UD$I ߋE$7]HྃXÍt&U]]D$I ߉$uE u 1@]]Ðv'U]]D$I ߉$uE u 1@]]Ðv'Uuu}}]4$D$L [Ht]Ћu}]Ít&6eDw$$ËE |$D$b4$D$L t%u  떉$A$i1뀐Uuu]D$L ߉4$uu1ҋ]Ћu]É$$ڍU]]D$L ߉$Tt a]]Ë$1됍v'U]]D$L ߉$t a]]Ë]E]&U]]D$L ߉$t ]]É$v1琐long long unsigned int __to_clock_t(FILETIME*, int)total %08x %08x dwHighDateTime %u, dwLowDateTime %uU1WVSM=4] aY1օu{E t >Ձޱ$t$D$'D$ ,~Éu؉[^_]$0] aD$D$aD$ aT$\$D뾉$0] aD$D$aD$ aAD$D$=4] aIclock_t _times(tms*)ticks %d, CLOCKS_PER_SEC %dvuser_time %d, kernel_time %d, creation_time %d, exit_time %dUh]]u}t]Ћu}]tẺơna@ u3CC CU븡( a}؉|$ $ED$ED$EЉD$8z 4] a<$D$CEЉ$D$J a|$$<$D$C J a$EЉD$EЃ$D${C*$0] aD$D$aD$ 1at$D$ 4] a+$0] aEЋUD$D$E؉T$U܉D$ET$UD$ ET$$UD$aD$ PaD$(T$,int settimeofday(const timeval*, const timezone*)%d = settimeofday (%x, %x)UVS1ۃ0u4$苜PlfUPBfUPfUP fUPfUPfUMbfEN)EfU$y4] aÅu e[^]$0] aE D$D$paD$ a\$t$D$GMT%+d:%02dUVS aD$aų$މ򾉈 )‰T$)ʉx3)‰))L$ [^]Ðt&ɍUVS E u$ED$EEUD$@BMD$ iEEʹ@BUEӋU)ډEU$T$FED$@BUD$ $T$}e[^]t&U(=`ma}} ]u$pmaD$- !@ֺtw$t$D$@BD$ |M$t$D$@BD$ 2MAt.=mat6 a)¡aG1ҋ]Ћu}]ma`ma' apma$0a(&U]U帀mt$u $>ՁޱV$t$]ÐU |$}$t$u  oӁ>Ձޱ^$t$|$]&'UEEUEE]U(}E1҉]up11 tbD$*!Nb4$|$D$ }4$Á@KL|$D$D$ zk_kƉ)ڍ]u}]U(}E1҉]up1׉ uU B]u}]D$*!Nb4$|$D$ |4$Í|$D$D$ yƋE X0떐&'U8]]$t&BOOL tty::common_init(fhandler_pty_master*)cygtty%d.input.availcan't create %scygtty%d.input.mutextty%d openedcygtty%d.output.donecygtty%d.ioctl.donecygtty%d.ioctl.request'Can't set process security, %EUh]] uu}$t$D$W4$\$;1҅u]Ћu}]ÍCddNna@ t3= at*mD$( aD$$苃 C%=CDCHC@$|#a1҅CTMD$Ha}<$FD$ȟ$K aD$|$PCL uF 4] au a1$0] aD$D$P#aD$ #a|$ĉ<$D$#aFD$I$K aD$|$PCP tfFFPfFD4] au r$0] aD$D$P#aD$ #aFD$$#a1҅C@%$#a1҅CH$#ag1҅CDst&$0] aD$D$P#aD$ $alvoid internal_getlogin(cygheap_user&)OpenProcessToken(): %E SetTokenInformation(TokenPrimaryGroup): %ESetTokenInformation(TokenOwner): %EGetTokenInformation(): %ECouldn't retrieve SID from access token!UWV1Sna}@ u|tBVJ a V J a$t$( aD$$e[^_]Ë$&uJ a  J a$먍t&D$1ۉTEE( a$TD$} $0] aD$D$&aD$ &a_E\1ۉX$)tlt$X$ yuCًG$XD$xt<$D$F $tKtD$U$1yuED$TD$ ,$ED$u 4] aEt6D$TUT$D$ ,$u 4] auT$F$0] aD$@D$&aD$ 'a $0] aD$@D$&aD$ P'aUD$TD$ ,$ED$PD$ yu$$0] aD$D$&aD$ t'a$<$ED$$0] aD$D$&aD$ 'av'U t) atVJ a( a J a$$( a]á( a$h떍UE( a$T$]Ít&U( a]U( a]Ð&'U( a]U( a]Ð&'UJ a] UJ a] Ð&'UJ a]$UJ a]$Ð&'U]]t $D$؋]]Í]]t&const char* cygheap_user::ontherange(homebodies, passwd*)LOGONSERVER=USERNAME=\/HOMEHOME is already in the environment %sSet HOME (from /etc/passwd) to %sSet HOME (from HOMEDRIVE/HOMEPATH) to %sHOMEPATHHOMEDRIVEwhat %d, pw %pt&UWV1S1ہ1ۋ 4] a}9} PGut^t;w tp) atF G t;_tG] uG e[^_]Ít&Gp) a뼋uUBt 8ƅƅ<$D$,aD$ 01=p) aJ<$D$,aD$ 1=p) aJ!‰膅D$ <$D$,a1=p) aJ!QD$D$4$D$ mt\uE:tp) aƅ:ƅe$_뮋POuPl1t$D$,aM$,a\$#8$D$ +$E)7G ƋG$,a藇tC4] au} rx$0] aD$@D$,aD$ ,aD$rNjEUBt[8tV4] au $,aUBD$D$?$0] aD$@D$,aD$ 0-aBD$볅t$$$\$l$T$t4] au$,aT$Y$0] aD$@D$,aD$ p-aD$g$,aD$,a$E7&$-aWT$-a1.$0] aE UD$@D$,aD$ -aD$T$U$Ét$֋u1҃{8t {4tt$t$]Í&UȹqUSERDOMAIN=SYSTEMv'U8]E]}M ${؉uftC]u}]É$D$2aD$ 1=p) a‰$D$,aD$ r!1=p) aJ!…tк2a~tp) a늉p) a=D$4$t$賃YtCJ/netrel/src/cygwin-1.3.12-1/winsup/cygwin/uinfo.ccUWVS\uM ^^p) aFgp) a؍UF|$$\$D$D$ D$D$tpu3a_膤Fe[^_]ÉTFJFߐt&E^ډ$n6뾍t&U(uEu]M ^$ډ9t F]u]úp) a|D$ 4$D$,a1=p) aJ!t2a|tF\$$/tF느&'UE E]&UE E]&U]E]M $SQt C]]Ív$D$2aD$ ِSNPCYGWIN_%s%d.%d.%d%s(%d.%d/%d/%d)si%d86Ux]d]u|t ]Ћu]D$P6a a$k$D$D$d$D$T6aD$na Eȉ$<C$EED$rCMbC( a$D$^6aiD$ a)хD$ɸv6aL$ D$ aD$ aD$ aD$  aD$$[C<$ aD$t a)D<Eȃ~)tCPunknCTown1CPalphfCTauءna@t5Efvf wD$x6aCP$T$貌랋Utt͸QCPmipsCTh~6aregexp too bigout of spaceNULL argumentU(]]u}vma1ɺmama} ma5ma$ $|$s1҅tma=~!$8a%1ҋ]Ћu}]Ít&`$smamaF\ma$W $|$1҅tFP^]FQFTFX$`8uJF`^`<tktbEt5EE&;t!$#uEFTEFX'{<$;E|ω}<$EFQCFP$8a$8atoo many ()unmatched ()junk on end&'UWVSEu Ema ~$\:a1[^_]ÉE@maE$ ǍE$U1tɅ3<$\$Y Eu&ma <|< EE$@ <$ƉD$ t(&'$t$4 $uEt&maPma8)t $h:amat<)t$u:a1lBEma$ND$<$Z Eu&ma <|t< t1t&UWV1S}$0 E졠matW<)tS< tO<|tKE$1t?UЃ ȅtC4$\$ mat <)t< t<|ut E[^_]$  Љ*+ operand could be emptynested *?+&'UuE}}]$31t ma,*<v?tE]u}]Ð]u?t$<a11+*D@+?t#A maP,*<v?u$=a$t$ $D$4$` $ D$É4$F 4$\$ v' mazt$ t$$2D$É4$$$t$$$D$$ D$4$w&t $ v$t$$D$4$4$t$$4$z?+* follows nothingunmatched []invalid [] rangetrailing \internal urpUWVS EmaB maƒ|$?avFaCaCaCaCaCaCaCaCaCaFaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaAaCaCaCaAaFa Ba BaCaCaAaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCa BaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaBaaCaCaAaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaCaFa$lj [^_]$$ED$1tԋEU $Uǃ $)?aI 1례8^$pma<]<-t:<]t6v'<-tYB$maemat<]u$Hma8]t $=?adMPma BmaQ]tu $-AXF9(9~maBma{C$9~$J?aBma$ma $SmaBmaPma<<'$J1ۉmama Bma@|$CavFaEaEaEaEaEaEaEaEaEaFaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaFaEaEaEaFaFaEaEaEaEaFaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaFa!FaEaFaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaFa$mat&t0ma$MЃۉ$$maR$[?a> $ 7$ +$f?a~UmaEmatBBBma]ÍmamaUmaU=matma]Ít&ma򐍴&US] EEma=mat0@9ڣmavvJI9wECC[[]Ãmav'UVSEu =mat-t&'É$u;t)ڈSC[^]É)UEt =mat8t]ÃE]corrupted programNULL parameter&'UWVSu} YQ~\t$Ga1[^_]Ðt&VTto؈Ċ8tAu1ɉȅt̍t&'$T$FXD$-t'FTCىEĊ8tAu1ɉȅu냅{~Q=naFPtpȉȉĊ8tBu1҉Ѕ?&'4$\$tu%NPCډȈĊ8tBu1҉Ѕu4$\$4uCuu} [^_]t&$Gat&U VS]u C(ډ5mana na&IC]$Nt3maC([^]1corrupted pointersmemory corruptionv'UWVS]$Ѓ'5$dJa@KaKaIKaZKasKaKaKaKa LaKaLaLaLaTMaMaMaMaMaMaMaMa^Ma^Ma^Ma^Ma^Ma^Ma^Ma^Ma^MaMaMaMaMaMaMaMaMaMaMaEna9mau"$Ja2EE[^_]EEma8Ema8t@ma륋 matSĊ8tBu1҉ЅtA̋ matSĊ8tBu1҉Ѕtav>ts;C5ma$BE8$5ma8tma{E8C<$ ma<$ma\$D$VEtE>tf< maEC$<9}t!Uma8tEK9ma}W4$QEtFVU둡ma a$uE_;naR a$_maԉ4$X=mana4<$Ja4$X=ma~t nainternal foulup&'UWV1S UmaJ8t$Ma1Ema [^_]É$⍴&t#uB:uɍ&'CF:ttЉЉψĊ8tGu1ut&CFtЉЉψĊ8tGu1bՐt&PЉЉψĊ8tGu10t&CFЉЉψĊ8tGu1uUSM1ہmatA1Qt9t []Ð)U]Ðdamaged match stringdamaged regexp fed to regsubNULL parm to regsubv'UWVS}E U\UFt? 1&t\xgtD(uFuЋE[^_]ÉËET$)Ӊ\$$]tʋExuEpOa[^_]t&\t E@E<\t<&uFstatus %d, options %d, res %dproc_subproc returned 0%d = WaitForSingleObject (...)calling proc_subproc, pid %d, options %dUWVS\ut& ( aEEEHt ) a$ EUsS4] a{$\$: aX4] af}tdE؉$tUE؅@$"E؃@E@$E؉$þE؃$!EE؅4] auOCx e[^_]á4] at$0] a aD$D$QaD$ QaD$$$0] aUE D$T$UD$QaD$ QaD$C|$ T$D$ޥh$!E؃@E@$E؉$̽E؃$ E$0] aD$D$QaD$ RakqC tgǡ4] aujC u a 8Ct3t a;M  U $E$0] aD$D$QaD$ 0Ra|$貤i$0] aD$D$QaD$ PRaD$CD$|O$) a) aP$ $) aá) aPD$$D$諪) a$) a\$P aE؅u $<E؃@E@$E؉$E؃$E9( a-E( a( a1҉-( a) a$( aD$??%s-%d.%dNTService Pack 49895ME&U(]]u}t]u}]Í&%$x#C tHEVavEE}aE]ȉủ]uEEt'E$*ttE؅uE5WU؉)W!ېacosfv'Ux]]u}$6=  a]ut $=QtuE]u}]Í$H>vԉ]EEE~aEU]EEt-E$NstE؅u E]ESVU؉GV!Րacoshv'Ux]]uu }$t$=  a]$t$P]uEv{EEaE]ȉủ]uEEt:E$frt+E؅uEА&]u}]^UU؉RU!EՐacoshf&Ux]]u}$=  a]u$YO]EvvEEaEU]EEt;E$qt,E؅uE]Ev]u}]~TU؉rT!ؐ&uEȐasinv'Uh]]uu }$t$远=  a]t$t$5NtE]u}]Ð$t$4;vEEaE]ȉủ]uEEt'E$zptE؅uESU؉yS!ېasinfv'Ux]]u}$趞=  a]ut $MtuE]u}]Í$:vԉ]EEEaEU]EEt-E$otE؅u E]ERU؉R!Ր?9B.?u<7~u<7~9B.?&UXE]U]ĉځ~]]Ív/>awہA@~i$]69E]U$蛟EEE$d]EۋUĉEUEp؉EUE^$]8]E$9E}$e띐$8$Ua끐?r1?IqIqr1?UXE]UċEĉ~ ]]Ð1̄aw݁M@~a$]68E]U$蛣EEE$]ċEąۉEEx؉EEi$]7]E$AE}$ h$7$yUЄa느Oag?-DT!? s?-DT!?e/"+z<\3&awɅ ؆aaaaaa aaa a(ax'aʅ$ a# $4?;?1%aa1ف@Ȇaa=Іaatan2v'UxE]]uu}U$\$t$ =  a]t$t$FtE]u}]Í&E$Fuډ]uE~Eukz]]]ȉuEEaE]t*E$htE؅uEqLU؉K!Lv@92atan2f&Ux]] }}u\$<$ߥ=  a]ut $EtuE]u}]Ð<$Eu]E}Eٞzw]=  aE]E]EE0aEEt0E$gt!E؅uE]EZJU؉J!4-&8c>I?^{??i71h!"33h!3>L%I>8n.=5k=knYK=!i<?IqIq?@?i>!kn8Lɿ?t&UVSEUEÁP~-~ [^]؅~aat&>0awɅ ȋa̋aЋaԋa؋a܋a aaaaax'`aʅ$pa/($b0?;/?1%aa1ف@aa=ċaatanhUx]]uu }$t$=  a]t$t$5BtE]u}]Ð$t$4/vhEEaE]ȉủ]uEEt'E$odtE؅uEzGU؉nG!ۉ]uE5a]ȉủ]uă=  aEEaE]]u]ЉuatanhfUxuu]}4$=  a]]t 4$-At]E]u}]Í4$8.vquEEEaEU]EEt0E$3ct!E؅uE]Ew5FU؉)F!҉uE=  aEEaUU5aE]U]'<UEU EU ];=x*x)__?42%ޑ?n۶m۶?m۶m?__??42%ޑn۶m۶?m۶m?&UWVSEU]ف1ف]~[^_]U؋E ]؁ME]MPCUMEU]]؉ڻx)ME1Uapaxaaa]]u{}E]M] ډEUE]ػVUUU)ˁÓx*]bQ*Q& ?4P?۶?n۶> ?P?4۶?n۶>UE]UUӉс~ ]]Åt؉]EwKEE]E¸Q&UEaaa=a a]U ȉEEtغVUUU)Q*땐u<7~u<7~UWVSEU]M%ʍMx]ME}E! t@av~ MܸUU!1҉U]E[^_]Ðavمx tϻ?ƻ뿍v}3~}t뮍&E-mUtXao~(}t/E4Mܸ)MM9sCUE!6Ct&0IqIq&UE]UUӁHyxIt8dav~ !Ӊ]E]]Í&davׅx tϻ?Ȼt&v봉뮐UE]uu]M}]}ȋMEځ ʋ]UE]ÐUEU % ЉEE]ÐUHE]U]%=!?=~ ]]$ED$=~St*D$EU$ET$UD$T$ 몋EU$ET$UD$T$ 轥놅uEU$ET$UD$T$ 蓥[D$EU$ET$UD$T$ v맍t&$11뷐?U(E]UU%=I?=~ ]]$]\$t`~7tD$E$CD$뼋E$ED$ 릅uʋE$ED$D$E$ED$軥$ϐcoshv}3@Uh]]uu }$t$蟮=  a]t$t$%8tE]u}]Ð$t$$%avEEaE]ȉủ]uuKEEG=  at'E$^ZtE؅uEi=U؉]="ۡ}a}aEЉU밐coshfԲBt&Ux]]u}$=  a]ut $]7tuE]u}]Í$h$avЉ]EEEaEU]uTEEG=  at0E$bYt!E؅uE]Evd<U؉X<"ҡ}a}aEЉU말U]fU]fYn??@` ?in?in?hn?i}ԿOQ*hf#w yw?6UL?k"t?"]!? aBCо8uYcM?ø@׿ Q_?(>=c땗Y6*?? 8a#f>?3oJ?\c?5c`&?Qk?5WT?5d `4`s4&A% 0Of"(Ld\gWeRT\š#vp3@!jR 5a@q ){@h(!+@pW!z@,H([@JHG@bt﮿Jo94ޅpZ_U 1C]d(uY.ja?8ܛN8~Q&V>@ "\t@Q@j$h@;@ct}@b-qBp6? @in??in?hf#wOQ*i}Կhn? aBCо"]!?k"t?6UL? yw?? 8a땗Y6*?(>=c Q_?ø@׿M?8uYc5WT?Qk?5c`&?\c?3oJ?#f>?` ?` \š#WeRT\gf"(Ld 0O&A%`s45d `4bt﮿JHG@,H([@pW!z@h(!+@q ){@!jR 5a@vp3@?8ܛN8~Y.ja(uC]dZ_U 1ޅpJo94b-qBp6ct}@;@j$h@Q@ "\t@Q&V>@?UVSpEU]ډށ~!6)P$p[^]Á?/>. Лa ța ؛a a a aaa aa(aa0aaa뀁? @~؅a$Ym@@ a aaaȜaaМaa؜aaa aa(aa0aU1]Eˉ]E]U]]%a$EEEE]$ũMEx %a 8a pa@axaHaaPaaXaa`aahaa$Z pa 8axa@aaHaaPaaXaa`ahax a\aMhf#wOQ*i}Կhn? aBCо"]!?k"t?6UL? yw??? 8a땗Y6*?(>=c Q_?ø@׿M?8uYc5WT?Qk?5c`&?\c?3oJ?#f>??` ?\š#WeRT\gf"(Ld 0O&A%`s45d `4bt﮿JHG@,H([@pW!z@h(!+@q ){@!jR 5a@vp3@@?8ܛN8~Y.ja(uC]dZ_U 1ޅpJo94b-qBp6ct}@;@j$h@Q@ "\t@Q&V>@?UVSpEU]ډށ~1R6P,$p[^]Á?o< ߍɁ? ȡa aСaaءaaaaaa Ja?A;@~؅a $l@@ pa axaaaaaȢaaТaaآaaaaaU1]Eˉ]E]U]]%ha$-EEEE]$ME~aZ a 0aa8aa@aaHaaPa aXa(a`a@S$x 0a a8aa@aaHaaPaaXa a(ax`aha!`B ??@ VX?u>u?u>kR鼉VǷλ>c*=;I 9ℶh>T>㽳Q= 1=W ?=3>n_u>VǷRkℶI 9;c*=λ> Q=T>h>ZD<n_<3>=W ?1= VX? VX~+8Ìe"Wy"(1!w|?@EB CX!DoHCc C5Au #Ad KԝL!CCΐEGEYDqCYA?UxE]uUEÁ~)6)R$]u]Ðt&W?1. a a a a a aaaaaaaaaa뀉?"@~؅a$m6@B a aaaa aa$aa(a a,aa0aa4aŰU]%EE]]U%pa$莠EEEE]$eMEx %a 8a Ta<aXa@a\aDa`aHadaLahaPala$ Ԩa aبaaܨaaaĨaaȨaąaШax aPaAVǷRku>ℶI 9;c*=λ>? Q=T>h>ZD<n_<3>=W ?1=ԧ> VX?~+8Ìe"Wy"(1!w|?@EB CX!DoHCc C5A@u #Ad KԝL!CCΐEGEYDqCYA?&UxE]uUEÁ~ 1R6P,$]u]ÁW?#=> a aaaaaaaaa Na?AA~؅(a $ l6@B a aa aaaaaaaaaa aa$aŰU]%EE]U]%da$諛EEEE]$肛ME~(aX ,a Ha0aLa4aPa8aTa<aXa@a\aDa`a@S$ ȭa a̭aaЭaaԭaaحaaܭaaĭaxaa%9B.@Q0-Iexpt&9B.@Q0-I&UxE]u}$]=  aEU]u $] EaٞEEaEU]uVEEG=  at2E$h?t#E؅uEЋ]u}]h"U؉\""С}a}aEЉU륐av.EEaEU]EEi؉]uE{t&kqBexpfvqB&Uxuu]}4$=  aU]؉4$ u aEٞEEaEU]u\EEG=  at8E$>t)E؅uE]E]u}] U؉ "ʡ}a}aEЉU؉u$aEv.EEaEU]EEZ؉]Eu?u<7~Yn9B.@B.?v- n9B.@YnB.?v۪UZ?@@пt&haUWVSEUM]ȉفyhC@vA.@vXv3ف t'[^_]Åtеaصaٞv aͅtav뼁B.?Sف?aɾ%a1ɻ?M]EHa a(a0a8a@aPauكF9v%]]MMUEF] ?MȉE)UE]]MMUEZUMȹ)ʉEUEXavM]E `a aɾa[t& auK}1ɻ?M]EEf fEm]muV$ a a}1ɻ?Eaf fEm]mu븁$ف?yaɹ%a?UEaUʋ] aaa aaau ؃tzA9v ]UȉEE2ڸ?)UE]UȉEE)EE]avUE aQ]E>1aɹa auF}?UEEf fEm]mMQ$ a a5}?Eaf fEm]mM뺍v2wat&1ɺ?aܹaHم>琐UE]uu]]Mڋ]MUE]ÐUE%EE]ÐUEEÐUEE ÐU(E]U]%-y%ɋ]]]sEٞuzِU(EUU%-y3]UUE]Ðt&]E]䞋UuzӺ̐UEEXUEE XUE ]%-ÐUE]%=ÐUEEÐUE EÐUEUEUEUEÜu<7~u<7~UWVSEU]M%ʍMx^ME}E! tAavxUU!1҉U]E[^_]Mܸav˅x11% t뭃}3~}t럐t&E-mUtXabx UE!Q}t$E4Mܸ)MM9sCCƍv#IqIq&UE]UUӁHqxIt8avx!Ӊ]E]]ø䐍t&av΅x1ƅt»뻁v믐fmodv'UxE]]uu}U$\$t$ 腌=  a]t$t$ tE]u}]Í&E$ uډ]uEuzEEEa]UuEuC]Ѓ=  at*E$A0tE؅uEzIU؉=!EE뮐fmodfv'Uxuu }}]t$<$_=  a]]t 4$8 t]E]u}]Ð<$ uuEuzω}  aEuEEEaEU]uI]Ѓ=  at0E$7/t!E؅uE]Ep9U؉-!EE먐UE]EٞvTU]%-x]]]]K3ً]]EÍv뾐UEU v%-x]U ] 7؉UEEU]ÐPCPCUE}]]U}uu%=Q tM= aU}%Љ-?]]U]E]u}]ÐLL&UEM UU%=@t<=? a]U%~% ?EE]Í֐UEÐUEÐgammav'UxE] au}U$D$ō=  aU]ut؉$t$ct]uE]u}]E$>tEE0aEU]EEGE$Ez|rG=  aEt*E$+tE؅uEcU؉!؃=  aEtE$e+u|"̡}a}aEЉUIgammav'UxE]Eu}U$D$\=  aU]ut؉$t$t]uE]u}]E$tEEaEU]EEGE$IEz|rG=  aEt*E$C*tE؅uEcK U؉? !؃=  aEtE$)u "Ѝ&š}a}aEЉUBgammaf&Uxu au]}4$D$=  aU]t؉$t]E]u}]Í4$tۉ4$|uE EEaEU]uTEEG=  at0E$(t!E؅uE]EY U؉ !ҡ}a}aEЉU؉u  aEEEaEU]u6EEGtE$E(lX "\}a}aEЉU눍{gammaf&UxuE u]}4$D$_=  aU]t؉$t]E]u}]É4$tuEEaEU]EEG4$uErM=  aEt0E$'t!E؅uE]EY U؉ !҃=  aEtE$&u "̡}a}aEЉU?hypotv'UxE]u}]E]E$E\$#=  aU]ut؉$t$at]uE]u}]Í&E$5tE$&tEEE0aE]E]uNEEG=  at*E$%tE؅uEtU؉"ء}a}aEЉU뭐hypotf&Uxuu}} ]4$|$O=  aU]t؉$ft]E]u}]É4$Gt<$;tՉu  aE}]EEE`aE]uTEEG=  at0E$$t!E؅uE]EoU؉"ҡ}a}aEЉU말USU Eсf út+u,~&'J'[] ɺ~ J׍& 뽺붐UUt$%Ҹ~'H]Í&B␐U1UEE]ÐUEE]ÐUEU ]щ  )ȉ )ÐUE]%=ÐUEU ]щ  )ÐUE]%=Ðj0t&-DT!ICUh]]uu }$t$߈=  a]t$t$etE]u}]Ð$t$dxavEEpaE]ȉủ]uEEt'E$!tE؅uEU؉"y0-DT!ICUxE]u}$]=  aE]]u*$~EEESaEU]uVEEǃ=  at2E$ t#U؅uEЋ]u}]U؉!Ћ}a}aEЉUXaٞvU=  aEESaEU]EEtE$: aM"Q؉]uEK萐j0fIZ&Ux]]u}$=  a]ut $=tuE]u}]Í$HavЉ]EEEaEU]EEt-E$JtE؅u E]EOU؉C"y0fvIZUx]]u}$趓=  a]u1$Y!]EEEaEU]u\EEǃ=  at8E${t)U؅uE]E]u}]uU؉i!ʋ}a}aEЉU؉]aEٞvU=  aEEaEU]EEtE$U"E؍v'uE>j1t&-DT!ICUh]]uu }$t$_=  a]t$t$tE]u}]Ð$t$8avEE0aE]ȉủ]uEEt'E$tE؅uEU؉"y1-DT!ICUxE]u}$]裚=  aE]]u*$EEEaEU]uVEEǃ=  at2E$t#U؅uEЋ]u}]U؉ !Ћ}a}aEЉUaٞvU=  aEEaEU]EEtE$za"Q؉]uEK萐j1fIZ&Ux]]u}$覡=  a]ut $}tuE]u}]Í$avЉ]EEEaEU]EEt-E$tE؅u E]EU؉"y1fvIZUx]]u}$&=  a]u1$!]EEEuaEU]u\EEǃ=  at8E$t)U؅uE]E]u}]U؉!ʋ}a}aEЉU؉]|aEٞvU=  aEEuaEU]EEtE$U'"E؍v'uE>jnt&-DT!ICUh]E] uu}$\$t$x=  a]t$t$tE]u}]É$t$avEEEaE]ȉuEE]t'E$ tE؅uE+U؉"ynt&-DT!IC&Ux]] uu}}\$t$<$Ȫ=  a]?$t$+]uEW  a$EEaE]ȉu]uVEEǃ=  at2E$+t#U؅uEЋ]u}]+U؉!Ћ}a}aEЉU량]uaEv_W$=  aEEaE]ȉuE]EtE$R"BEDjnfIZ&UxuEu ]}$t$迫=  a]]t 4$t]E]u}]É4$tavEuEEpaEEE]E]t-E$tE؅u E]EU؉"ynfvIZUxuu }}]t$<$O=  a]]L4$<uEW  a$ɃEEYaE]]u\EEǃ=  at8E$t)U؅uE]E]u}]U؉!ʋ}a}aEЉU뙍t&؉u`aEٞv^W$Ƀ=  aEEYaE]EE]tE$H"8؉']E2U(]]uu $t$t]uEzu]]uuE]Í&$Et$D$-)]]u$t$xt]uEuz["뙐U]]$\t]Ezu ]]E]É$E D$*]]$t]Euz"봐lgamma&UxE] au}U$D$5=  aU]ut؉$t$st]uE]u}]E$NtEE aEU]EEGE$Ez|rG=  aEt*E$tE؅uEcU؉!؃=  aEtE$uu"̡}a}aEЉUIlgamma&UxE]Eu}U$D$̱=  aU]ut؉$t$ t]uE]u}]E$tEEaEU]EEGE$YEz|rG=  aEt*E$StE؅uEc[U؉O!؃=  aEtE$ u#"Ѝ&š}a}aEЉUBlgammaf&Uxu au]}4$D$8=  aU]t؉$t]E]u}]Í4$tۉuEEaEU]EEG4$\uErM=  aEt0E$t!E؅uE]ESU؉!҃=  aEtE$u"̡}a}aEЉU?lgammaf&UxuE u]}4$D$ϸ=  aU]t؉$Tt]E]u}]É4$5tuEEpaEU]EEG4$uErM=  aEt0E$| t!E؅uE]EY~U؉r!҃=  aEtE$/ uF"̡}a}aEЉU?logUh]]uu $t$@=  a]t&$t$ u]uEv؉E]u]ÍvEa  aE]Ѕɉuԉ]؉uu{EElj]uEuOzMEt4Eȉ$5 tEuE@U4!'"Eu؋}a}aEUwlog10v'Ux]]uu }$t$蟼=  a] $t$]uEٞEaE]uĉ]ȉuEElj]uEubz`=  aEtCE$ t'E؅uEЍt&]u}]U؉!"뿃=  aEuԋ}a}aEЉU`؍'E닐log10f&Uxuu]}4$f=  a]]4$uEE`aEU]EEljuEufzd=  aEtGE$ t+E؅uE]E]u}]U؉!"뻃=  aEuԋ}a}aEЉU_؍t&']E눐B.?v?PC?v?x ?˖dF?xq?Y"$I??UUUUU?aaUWVS EU}y??~/aٞuza [^_]>8av <~ a볍v%I>)c>%3:>O>>L?7q1?*?@>O>%3:>)c>%I>>&aaU}Muω]~؉ME]u}]É>?~-؉MaEu za뼉ME밁0@؉MEav E$~؉MEE ah jA= jAv؉M1Et&'tc؁YMEUUpvME57 ?EE au{z/؅t V$ a a at*V$ a aHa aaaaaaauV$ʃ a aΉ ?FE)EMEȉprUE]UM]ȉف t/~ ȋ]]uaꍁP$$=aː&UEUU%t(=~ȉ]uDaP$$=@alogfv'Uhuu]4$8=  a]]t*4$ruuEv؍']E]u]Éu  aEE̠aEU]u~EEljuEuUzSEt:Eȉ$htEu E]EmUa!T"Eu؋}a}aEUtU1]Ð?&UWVSP~$Iq\$͊ a|$`B \$貊 aa؃ ȉEE a@Љ3U]]uu $t$RP$$t$\$iu]]ÐU]]$P$$\$7]]UHE]U]%=!?=~ ]]$ED$],~St$EU$ET$UD$T$ 0D$EU$ET$UD$T$ (҅uD$EU$ET$UD$T$ (SEU$ET$UD$T$ /.$11҉D$T$ D$뷐U(E]UU%=I?=~ ]]$]\$5t\~7tE$CD$I8D$E$ED$0uD$E$ED$/놋E$ED$7o$D$D$ʐsinhv'UxE]u}U$S=  aU]ut؉$t$t]uE]u}]Í&E$tEEE aEU]ujEvPGEЉUԃ=  at*E$mtE؅uEvuU؉i"ظEɋ }a}awMЉ]댐sinhfv'Uxuu]}4$f=  aU]t؉$t]E]u}]Ít&4$دt݉uEEE aEUUumvVGEЉUԃ=  at0E$@t!E؅uE]EvBU؉6"Ҹɋ }a}awMЉ]뉐sqrtv'Ux]]uu }$t$=  a]$t$ѿ]uEٞEE aE]ȉủ]uuP]Ѓ=  at7E$#t(E؅uEАt&]u}]U؉!EE؍E뻐sqrtfv'Ux]]u}$=  a]u$]EEE aEU]ucEE=  at?E$t0E؅uE]E&]u}]U؉!EEؐ&uE븐UHE]U]%=!?~Q=~ ]]$ED$%MUL$M$UL$ T$)‰T$$11҉D$T$ D$U(EUU%=I?~F=~ ]Í$ED$!/U$UT$)‰T$?$D$D$㐐?@Yn?@UE]U]%=~!xH a]]%H a=5@x=<H aӐt&=?~,$q$藢P aP ay$E X a$gP aҍ&Ő?@`B ?@&UE]UE%=~!x< a]]%< a=Ax=#< aӐt&=?~,$$g@ a@ ay$蕨 D a$7@ aҍ&Ő?-DT! @-DT!?\3& N>F$O:89-W@a30.Ɲ=I@?8O:F$ N>*>.Ɲ=a30-W@9?h!3??I@t&UXEUċEĉ%=?O=?~ ]=>=#  a  a  a  a a  a a a a a a a a- aQv $ a$]E]ċU  a%EE a a  a a  a a a a a $ a  a  a$ a  a a a a a a] a] EE( a% a&؅ a?9B.?9B.??UXE]UM]ĉȁ?]]ÉA~~$r  aэ tr؁@~:$]]\]EE]] % a$]]E]]L?r1?r1??UXEUċUā? ]ÁM~~$Q  aց?th؁@~3$]] EE]] % a$] E]]W]?u<7~-DT!?\3&<-DT!?UUUUUU?}oԿUDU?;h(uI? =?K-':ȊY*@Yl濂.Ÿ?-DT!?\3&d aw$) x a ( a X a$0 aU` a8 ah a@ ap aH a]P a]23?EUM]EE~4% a- a]~ډ]1EE]MEE] aE a]E댍v ( a X a0 a` a8 ah a@ ap aH aP a  a?Iq?.;I?*> N>F$O:89-W@a30.Ɲ=?.;Iq?8O:F$ N>*>.Ɲ=a30-W@9?I?t&UVSPEUċEĉÁ? ?~P[^]Ít&>1\$! aw$豛 T! a ,! a D! a$0! aUH! a4! aL! a8! aP! a?PC?B.?v?˖dF?Y"$I?UUUUU?&UW1VSEU]M:% u& a[^_]Í (& aU]]؁d_ ?8 ٍCM%E%0& a~z0؅aW$ @& a 8& a; H& a-P& at&W$ @& a 8& aWX& aQ$) x& a `& a& ah& a& ap& a& a~AÅ P& auP @& a 8& aՅu 8& a @& a5 & a?`B &UWVSEUU%=vX[^_]Ít&؅؉=w1ut&@t)ƍvt11۹v'99<)ut؃?UEPE>q1?7L*?>%I>)c>%3:>O>>L?q1?7>?@O>)c>>>%3:>%I>*?&UE]1UUuظE]E]Å(~]Eٍ * a]UЁ J\5? ЉEBE%˃%$* az6]ۋEOS$ (* a ,* a]]K 0* a-4* au ]!S$ ,* a (* a]S8* a50\$) H* a <* aL* a@* aP* aD* aT* a~KÅ 4* au0 ,* a (* aU(u ,* a (* a]U5* aYn-DT!?-DT!?-DT! @\3&<-DT! @-DT! -DT!-DT!?-DT!?-DT!!3|@!3|\3&2 aw]u?MuE4$ 2 ax냍$52 aa?IqIq?&UE]UE?~ ]]Á?tw1d3 aw؉U>E.$r 3 ax$뭍&53 ao?IUUUUUſ?a*}W>+Z|Z:=|Z:=+Z}W>a*?IUUUUUſ?USEEU]%=?>'}Ef fEmUmE~ɋE 4 a4 a4 a5 a5 au5 a[]Ív 5 a 5 aːDNn)W'4b<ACcQޫa:n$MBI .)>5D.&pA~_֑9S99_(;/ Zmm~6 'FOf?-_'u={9Rk_]0V{Fk 6^ae_@h'sM1Vɨs{`k!?! @|@!@zj@|"@%@!)@:F,@zj/@\G1@|2@k4@5@ۏ7@!9@:@:F<@Z=@zj?@L~@@\GA@lB@|B@C@kD@4E@E@F@ۏG@XH@!I@?pAm0_?@T!?1cba=`a=sp.;.;I %{9@T!?1cba=`a=sp.;m0_??.;I %{9pAt&(8 aUWVS|EU]ށ!?&ً]CC 1|[^_]Í&{@م~I!?%7 at7 aEX%7 aU7 aZہ!?7 at 7 aMYh7 a]7 a[؁!9A ~UR#]}E]ىE)EƉU1Ef  8 afEmUmƋEP$\BUغulzf'JDzMt؉\$MEȉ$T$ L$D$D$5 a6xZ]ssHM$} 8 aEf 8 afEm]mƋMQ$ 7 a 7 aG;4 7 at>EEPx LXHUUE%)ƒ~|] 7 a 7 aUE%)ƃ1~1 8 a 8 a5.'?LUUUUU?wQlV>RO~ı!>8?8ı!>RO~>wQlVLUUUUU???UWVSEEU}?>)}Ef fEmUmEɁ23? ; a; a; a; a; a; a$ < a[^_]É?~,< a < a-; a1ɉM]E멐?*< P864/ײ././4/ײ86 P<*?&U EE UU%=1#}Ef fEmUmEt}ɋE ,= a0= a4= a8= a<= au@= a] D= a @= a֍t&̐nND)'W4b<CAQca$n:BMI. )>5.Dp&_~A99S9_(;/Z mm6~' OF?f_-u'{=9Rk_]V0F{k 6a^e_h@Ms'1Vs`{k&?I@˖@@S@A/AIA1bAS{A:A˖A\AA~AAA1AASAB: BBBB\#B)B/B66B~ a虊xww뵐t&$y} A aEf A afEm]m֋MQ$ A a A aH%;U EE UU1)}Ef fEmUmEɁ> @E aDE aHE aLE aPE aTE a XE aÁH?~,\E a XE a-A~vrB~RԲB~G a&']]$?UUUUU?lf,%jV?kAФri7f>9B.@Q0-I+eG?B.?vkA,%jV?lf>UUUUU?@pt&I aI aUWVSEUM]ȉA.@v`v$ف t [^_]ÅthI aٞvpI axI avȁB.?/ف?(I aɉ$I a)؍pʅ I aI aI aI aI au%I a2I aˁ| ]]MMUEv]]M3>MUE I a} I aEf H afEm]muV$ I a I a/>w)I av Y1??Iq q1?q17;?*>a 6U8ݵL13;?q1?7IqL13ݵU8a 6*>@ \L a\L aUE]UUщЁv]]Á=rB~,L a؅fr>ف? L aɉ$L a)ȍXʅ @L aDL aHL aLL aPL au%TL aHTL a˃|]U؉EE]U2EE XL a} 0L aEf K afEm]m]S$ 4L a 8L a 1w)xEUEU $T$ED$A?]]UE$E D$H]]UWVSEEUɋ]U}9 ډ؉ˉ]u؉])=uE]uMuE~ [^_]10_~6Uu uU] u]%%]XE]ME 5UE ]EEˍ&'ve]U]UE$1?EUE&UE]MEE]E$j]%%]XE]ME t&USMU 9~ȉщ‰M)E=UE~[]Í1ہXbځ~(tځt썶؁""DMEUEɁ&*؁?~EEvT؁ME$?EEʉUEEE$؁""DMEUE0u<7~?mBP ?m0_??(9P ѱ>?s3Ȃ?WҦ?ՄT;>]t>mBP ?u<7~??s39P ѱ>(?]t>ՄT;>WҦ?Ȃ?п?UxE]U]~]]Ív$c?? Y av ?>~ (Y aʁ? PY a 0Y aXY a8Y a`Y a@Y ahY aHY apY a xY aY$]װE]$:EUE]E]~mH~ E Y a$]E$]E]$`EMME$ Y a]kE$J:EMEڞv u]^u]Qt&˙䲿?lLk M6?\sϾԫN;WU>ȳ?i=Žɑp?x?-d>;P=?mBP ?m0_?˙䲿ȳ?i=ŽԫN;WU>\sϾk M6?lL?;P=-d>x?ɑp?&UhE]UUEӁ~EU=[ a]]Í u \ a?@>E$ \ a \ aE (\ a X\ a0\ a`\ a8\ ah\ a@\ ap\ aH\ aP\ a \ aE[ a$]]E$ME \ aE$έ]E$7EUEE]]~pH~!E \ aE$]EE$|E]$\EMME \ a$]eEE$C7EMٞv u]_u]T\ a '2yO) c{pMnj=d6 Qg3"]@8iYP}@_n@@I,OwA@̕Gk p}Z/PcBgt׋(uŘ `N@d(~\m@`Z@8v@d ̢@o%KtENLJ5E B" Mؒr?}A@|JF9v@amn@~ø@7e@m'wB^IbC$96c$b&珯 YYe86@a@Bp@:M@f@9[6xd@ckNX@?TRfAC+ڃ(A= (k)A0,mٌ)==Lr?=W@鈇 `@ȝ @S@C^T@!ڠ;@mY{g@r#@Tz@ ۾Wj2>B?a @ݮ-OE@^Ye@!|d@C"aH@NT-@cMK@(jl<@O٪@ bkT;1>4>>ž?w'?o,@J)?@Kq@0@z]>@@Kp@""Ef@\|@eSj@1)j>&US EU]%=@a aa aJ(H(B @ B@B@B@c a []=.@~b aPb an=l@~b ab aVc aPc aGIq?n?"?<.5G5<5.5GFgbi*9<2!/P€/l!4e8P<&UH]EÁ~EEU=Hg a]]ÅuLg a?2E$i Xg a\g aE `g a xg adg a|g ahg ag alg ag apg atg a\g aEHg a$]l]E$ME Xg aE$E]$-~EU]E]~pv!E Tg aE$]EE$;E]$EMME Tg a$]褿EE$b-EMٞv u]_u]TPg aNvSZ(ŘBoEەG|G :GH{Y›y7sBhD׺EeF`E/-RQhelBCs3DD-C̱W63 N-ñA4C2F]G GRh1p=V@|*B*C&C CBl1D_gEgEWEEY?ۉ!4*=?gAqTAAAC)2SD\DTCXUEUU%=@0k aHk aJHB@B @ B@B@k a=W@~`k axk ar&=g6@~k ak aUk ak aFu<7~?mBP ?m0_?a,G W?h Fj>S~c ?d͹V_(??3>,}Ɉ5>~*=mBP ?u<7~? Fj>ha,G W?~*=,}Ɉ5>?3>d͹V_(?S~c ?UxE]u}U]]~]u}]Í$]5O?E]u}?>hm av pm a량 m a xm am am am am am am am a pm av؉4$|$訜4$]|$&EɋUE]؁EЉUEee]]~yH~/E `m a4$|$]tEE4$|$4$]|$rEMɉ4$MЉ|$ `m a] E몉u}E$%EMv u]Xu]M<fɿ,)vө?DHU_>VxM? e?dw%l*?NZ>[:>*w9P=?mBP ?m0_俸Vx>DHU_,)vө?<fɿ*w9P=[:>NZ>dw%l*?M? e?m0_?&UhE]UUEӁ~EU=Xp a]]Í u `p a?< E=xp aE p a p ap ap ap ap ap ap ap ap aEM$]]E$说MuE p aE$x]E$#UE]E؉UEEee]]~pH~!E pp aE$]FEE$qE]$QEMME pp a$]EE$"EMv u]gu]\hp a ?5z*@.ey@2}E@݂'z@leE\@O'M܅@ŗ @,@- zi@}g=C?cn6@&E[@IR-@ ~@=cM@g6@WD@@Q^o0@ݞ!)>{![?^v@)ѦHA@7,MV@>GH@4IeA@_3 u@#7P|[@1.}֋@S.|mY@DU|> vB?@dq7|(@1@tIK@Պo5@,R_@ۢm@zk]@QN @&US EU]%=@~ys aPs aH(J @ B@B@B@ʃ []=.@~s as a{v=l@~t aPt abt at aS?ygE0vSмt@$jeЦ[ަ,d@b@^WArS%A\wW$AiCY?K lmfOs1ithZQT@9{1@)d @ѺmW@K6|K@.oOȏө5TQ?3p]qL_GӇl\_fkg#G@>1@|DNh@T@K z@1 )p`&D&H>Nih3Jޣ)ERn96_5dx=@ho@I@)H%@><^~c@k?&US EU]%=@u a0v aJ(H(B @ B@B@B@w a []=.@~pv av an=l@~v a0w aVpw aw aGIq?n?"?l:6.WU3Yd5[>B^w(DrBSE]ED32?uѽ#$0OM)²TDAG|C.`=D*8DC7>UEUU%=@ a aJHB@B @ B@B@@ a=W@~ a ar&=g6@~ a aU a( aFmBP ?@?mBP ??@eA9B.@}Ô%IT aUWVS|}E UEU ؉ =v |[^_]؅~EM!}$](;E ]P=W$E0؁R~ztdt=E ` a$]4E }4-E$E$]ĈEE$څuE$E$]荈EgE$vE$]E$IE$]{E9}!BP$9u}.'ف>G؃!~ E9 h aRB$9~x a?P$uE=p aZBvٍ: ?9]|R$9ue]}E=p aE$]]]8$EEE aڞvXWP$~AJ%p aɅu~E$]EMݍWP$~P a1ɻ?%p auvM]}]EJ~|sE]|[^_]-E]|[^_]u߁8mBP ?Ѕ aUhE ]uuUEUӉ Љف =v]u]Ív u  alWR~{tVt1 ȅ aE]$E~`WE$跄]E$EE$]E$艄m독uE$s]E$mhE$P]Eu׀$^mAE$E]$i9]E*= AP$9ue]UE=uQS$E]$M0E]u]]wމ)< an?@??@(knNqBPUWVSlu }~uEl[^_]Å!E4$4]ut<t4W$uEU0\؃!~'}uzu9E @ aUUQA$U9E~H a?P$uEE=D a&Avٍ9? 9]|&&Q$u9Ee]}uE=D aE$]]]l3$DEEEL aڞvmO P$~V&UʋUuIEˉU%D aE~ى4$]pEMcO P$~kP a? UɋUuEʉU%D aEv]}]EI~d[}؉4$4$]E9}8] UPA$u9EUE|piul[^_]ul[^_]I߁5vUHE ]]uUԋUԉЁ~]u]Åu ̋ a ۾$]+E]$KE]ԋUԉк9}d=tY&'BP$9e]UԋM}$tم~.%V$]$M]]u]kۉ؃)Ћ a0C??-DT! @Ȱ}gij?L?bU>?{T"?O@~?kحg?]?oS?ƶ@?M,?}P?RBtp>7X??Vcb?BüP8+? ƍ'¿AՔB?5ߨɠ f?j쑺Dpx?.n.ӂb?-Va L?sAlm4?8$4>5?Ȱ}gij]@?o\G?PDvI?$ N? +g?aץ@+%@PP?|SU?aWZj?Ȱ}gijx6?YO?徜?a~H?9hs&^?E?tbE?ӓ?'?u.t?[A}I?@>i}ɐ?;UUUUU?\.lf8ϘJ?AˀCLgK?C Z-DT! @?@0C?@USTEUЋ]ԁ?2 ` aD$D$ D$$LT[]Í$]/EK?C1$( aq aD aD a a a a ah aD$D$ ` a$覫c ` a$D$D$ D$艤 ` a$% aD$D$ ` a$D% a뙁/C"x a]ЋMЉȃP$ h a$].E}Ef fE p am]mE뼍t&-DT! @?Za?@?Vcb?RBtp>M,?]?oS?O@~?bU>?Ȱ}gij?7X?}P?ƶ@?kحg?{T"?L??lm4?-VDpx?5ߨɠ8+?8$4a L?.n f? ƍ'¿>5?sA.ӂb?j쑺AՔB?PBü +g?$ N?PDvI?o\G?]@?Ȱ}gijaWZj?|SU?PP?+%@aץ@E?9hs&^?a~H?徜?YO?x6?@>[A}I?u.t?'?ӓ?tbE?@@@@C ZLgK?AˀC8ϘJ?\.lf;UUUUU?i}ɐ?&UxE]}}U]uM]́~ɋ]u}]É ;M̅x $角U̅  uE̅ym둁??w´?9p a1Yt p a ax a a a a a a a a a` a Ȓ a t a a a a a a aȑ a aБ a aؑ a aO 8 a  a@ a a a aH a a aP a( a aX a0 a a-` ah aô?~%x aɸ%` aɸ$]̏Ci?E~ x`?~%h a뫉@J}Ef fEm]mEP$ В a aؒ a a a a a a a a a a( a awe$ a, a" a a a a0 a8 a@ aH ap a]$]ECo$]7E]m% a P aX a` ah ap ax a a$]ȍE%` aD5/C~ P a$]jE]EuzEU$#=X a$@E]Ev닐K??I@?#=f>=<~;n=;T:4:gg9E87u,<8?R1^>^<[<.@-9@D?r=R;?#Z$\>z̦>>@<5:g8;-?8?n0>T=a 6 P:\=[:պI@?@K?@UHE]UԋUԉӁ>% aD$D$$`]]$] &E4K1$@ a a\ a\ a a a a a aD$ a$o a$D$D$象 a$% aD$ a$蔩% a멁J" a]ԋUԉЃP$, a$]$E}Ef fE am]mEI@? [>@?7gg9T:~;=?#=u,<8E84:n=;?k{9v;GM^>'gf:wq=7<Kz?:?"??#R;r=D?-9@.@g85:@<>z̦>Z$\>6K:T8?;-?@@@@@պ=[:\ P:a 6=>&UhE]uu UE}Á~ɋ]u}]Åx $萌?@?fff??N\ a1ntٍ&OmG ܜ a a a a a a a a a a aT a  aStH d a | ah a al a ap a at a ax a a aO a aĜ a a a aȜ a a a̜ a a aМ a a a-Ԝ a؜ a?~%` aɸ%T aɸ$]豉J;?E~ c3m>~%X a뫍&@J}Ef fEm]mEP$ a $ a a a( a a, a a0 a a4 a a8 a awe$С a a a a a a< a@ aD aH a\ a]$=E#\o$]E]m% a L aP aT aX a\ a` ad a$]訇E%T a}J~ L a$]E]EuzEU$N=P a$ E]EȞv닐PC&{?`PD?6+Y=PC6+Y=&{?`PD?&UXE]u1U]ĉ}M9% u a]u}]Å aU]ā~ ΍]0)0Pu$u ʃUE a]$] aE aEW5 aJL[> >'T5L'T5[> >t&UHE]1UԋUuԤ a]]Ív~v ܤ a]ԋUԉщȁ\)ЍR $ME a]$]Ʉ aE aEd5ؤ aS??@?CL>?@@Cu<7~Yn33333?o۶m?M&QUU?A`t?eɓJ?NEJ(~?>UUUUU?lf,%jV?kAФri7f>9B.?C.?9l a\ +eG<: ? ?[/>+eG?`G?D] T>??UUUUUU??`G?D] T>+eG?@CNEJ(~?eɓJ?A`t?M&QUU?o۶m?33333?@ ?[/>: ?u<7~+eGkA,%jV?lf>UUUUU?@&UWVS|EEUɋ]MU]ȋ]}ȉMċMށ؁ ȉځhcP8EEȅu0J?$@ ?$]]EEEu ?^EH Eu'|[^_]؁A3C~"؁?x aƅ?܁?~1 a  a- a a- a  a]]E]EmEEUHE?J u p a]U1]Eʉ]EU]M]}@E-@  avE x a x aEU?~t؍ѸMȉE%-ỦE1MԁeEM!ډUUE)Ј}̋E]]1EẺ]E a] aE aE a a a aȧ a%Ч aU]]EE~]MUMUEE0$]̉\$\] aE%=ː@~=E4o? u'ME a a"E  aEUɋ]E]̉؉}?}]~%}y E~E-E]EԋM}M MEХ a1E1]EE]UU9EUE1EP aE a( a0 a8 a@ aH aE]]E1]EUEM]]EEԉ]E ` a X a h a a a1]]E]E؅x0uȅ Eu }=ئ a븋Eȅ]|[^_]uRمxC8؍ Eu "?~9x.?C~ ES?G-Eԃ~5E4)EME9eEE)E,EMԉ)MME9뾅t&YEąuD???5?@KIq`B ?m>>>U2l>BS>*>a 6U8ݵL13r1?r1?5<83O8v?8v?Ý6;??p6?>>??p6;?KBS>U2l>>m>?@@8v?Ý6O8v?Iq<83`B r1?r1?5L13ݵU8a 6*>@UxE }Eʉ]UʋEUԋ}ԉÉuƁف~]u}]ÉEEԅf?@?$]] EE]Ux?EH Eu ZفM?؅x7H a,?~؅މUE L a-P a \ a X a-T a ` a]U%EEmEE?UHJ u  a]UUʉ%EE]]ށمۉCC_E?~]J8E%XU؈فe)فM!ЉEE}؅]M%EEE a a a] aEE a aE a aE% a]]‰~Ӊ]EM$E؉D$U]]]]E aE a aC7CN]E;E a aYEUE d aE]U׋M؉1ȍPU؉ׁ?q~ֳ]~~1ہE؉}E  aE]EE%ȉEЉ8EEUMEM h a| al ap aP at aEx aEE]U%EEEM]U%EE a] a aEEȯ aЯ a]U%EEe؅x=uԅx ]EF Eu]E]]؃}uҁʉUE=D a]]띋EԅA]]u}]qمx؁?t)?~VxKyK~ E?zع)9^E)UL"?&UWVS\EEUɋM]Uu}Mǁ؉%E t&~& t\[^_]Ít&)}) ]u a$]E]$sE@v/r]]UM1ډMUEr av $]\$.EB?t&UXEE ɉ]uUɋUUĉ}ӋUĉ߁ցt ~]u}]Á~9$]E]$~E6v%r]ċUĉ1EE h av d aQ$]\$֗EK@U(EEU]$RtEM]Ít&E$5uE$u%EٞvE؀uEuE$FEzt aEwJ aEvEE]]M}EEEf fEm]m]EE]Ɛ}G}ǐ&Uuu]] 4$vtuE]Eɋ]u]É$Ru܉$u3]Eٞv uE؉uE]E뫉$G]Ezt؉] aEwP] aEvuE ]u]\M}E]Euf fEm] mωuE Ð?3t<{?3t<{?U(E]u}U]ځ~]u}] a]5@`/> aw$$? aM aA.@~KU3@u~3@t aQ}w$G a$ًE'$%$轋 a]%?½|?½|?UE]uUUӁ~ ]u]ÅҾ?Aj1L aw$$_? P auEP a損t&rB~5ԲB~ L a\$M H a$uE$+$뒐4?-DT!?\3&<&cUUUUU?z?A?7d?n&?(V"mm?W?eDC?h&0?7~?2?sS`uztp*>?-DT!?\3&2?h&0?W?n&?A?cUUUUU?UWVS}EEU]Mށ/>a}Ef fEmUmEuB ΍G t#Ot a񐍴&[^_]$<捶'?~#{- a- a]Ɂ'?  a H a aP a( aX a0 a` a8 ah a@ ap a x a]M]~BW$)EEɉ$$ʃ]MO]EtN؉]1E1E]ME= aU]E]E a^Ux?I?h!"3>> ]='<7<ik;H޾:&:79E8z8_S7?I?h!"3_E8&:ik;'<>S7z879H޾:7< ]=>&UVSuEE UEÁ1e}Ef fEmUmEuFٍF t(Nt a&'[^]$獴&?,?~#y- a- a]Ɂ?,?  a , a a0 a a4 a a8 a$ a< a( a@ a D a]U~BV$)EEɉ$$ʃ]UNEtR؉%EEUE= aUˋU%EE acvWz@!?-Dt>F<`Qx;9@ %z8"6i5?pAp>p>pA? @?&UWV*SEM} aYO1)‰H!R))99$t&x؋MݜCB9~1;C&19 ;t&)݄E B9~ݜݸC;~؋݄1ۅ~ٽ a af f'٭۝٭P$٭\٭C݄հJ$T$@ aݝ$ ( aٽ݅f f1٭ە٭ۅZD)ى))щD~g119}(ɋTut)ЉDC9|ڋ~aK>^1;|&DK ;}؋Dut&B)ЋDt^9󉵘hU؍41ҍ ;9ݜ"v')݄E B9~ݜݸC;~؋hٞ؃NDuNDt$D$?T$>F aDݜݸKy؅xC11;&9 ݄Ÿ հ aB;9~ݜXGKy؃}}x ܄XKyݕtM 9QܭX ܄XC9~ݝtM AQ Č[^_]Ë}ux ܄XKyݝtM Q룃}u~)݄P݄XݜPݜXK׃~*݄P݄XݜPݜXKփ~ ܄XK󋅜u.X\M Q`dAQ Y\XM Qd`AQ $؉D$< arpٽ  af f٭۝٭P$٭\٭F٭\٭ٽf f٭\٭5.uݝ$T$/;݅id?OdBuL0 aٞ ?973.P+'"D?C;;C>A?UWVSEU} aOЃ41ۉH!)9)99 tمtx؋uٜHCB9~1;K 19 ;t&)لHE B9~ٜC;~؋ل1ۅ~ٽ, a0 af f'٭۝٭P$٭\٭CلJ$T$ : 4 aٝx$ 8 aٽمxf f1٭ە٭ۅD)ى))щD~g119}(ɋTut)ЉDC9|ڋ~zc  ^1;|&DK ;}؋Dut&B)ЋDt^9󉵈hU؍41ҍ ;9ٜH"v')لHE B9~ٜC;~؋hٞWQ؃NDuNDt$?T$7, aDٜKy؅xC11;&9 ل aB;9~ٜGKy؃}}x ؄Kyٕttt5U 9ح ؄C9~ٝttt5M AĜ[^_]Ë}ux ؄Kyٝttt5M 뭃}u~)للٜٜK׃~*للٜٜKփ~ ؄K󋅌uu ^F U 5Z5BZ$؉D$50 arpٽ , af f٭۝٭P$٭\٭F٭\٭>ٽf f٭\٭ 5t&)uٝx$T$4مxd?duL < aٞBU a@ $ED$E D$ED$ ED$U塀 a]ÐU塀 a]ÐU]]$uK@Ћ]]Ít&UVS] uCTu aCTP8CCC ftCu$u8C);K}>K@ ;CtC ft t [^]É$eu$RuӋ1뫍v$H[UEx]Ít&UE$ a`D$]ÐSunMonTueWedThuFriSatt&'JanFebMarAprMayJunJulAugSepOctNovDec%.3s %.3s%3d %.2d:%.2d:%.2d %d U(]U] D$ a$B@p aD$B@ aD$ B D$BD$BD$D$BlD$ 9؋]]ÐU aHt[QEDBA1]$ 4tA a1HH1믉LH뗐UD$E$wO]ÐUD$E$O]ÐUD$ED$ $R]ÐUD$ED$ $Q]ÐU]%UEU E U]K&Uuu]}EtEt 9ur&1ҋ]Ћu}]Ë]E} NjE|$$Ux~C]9ur뻉UE UHt HBu]ÐU]] uuuuu] ]]Tt&4$D$ډUWVS u;5 at}FLt>1vt '؋4$D$uFLG~Ӊ4$D$Ht L9tÉ؋4$D$9uFTu-F8u [^_]É4$V<\t4$D$ ډ4$D$}Őv'UWVS }tDHt#^Kxv'TKy6uWt2;utv.Cx>t'~&FCOt<[^_]Å~0OC~H&'0COJyE0C넉$t$6릐UWVS<}ED$ U] EET$$ED$GD$ED$ED$ED$M'BCE ut.Ct~'BCNt}g}G~&0NCEICɉMxi+Cc~(ȺQ)ˆЍ0)шCMȺgfff)ˆЍ0)CMEC0<[^_]-CMEEtEek$D$5͍t&𿐍&UWVSL]Euۋ} a]v aٞwu$\$D$ t$E|$D$ED$;Est&'ABC;Mr9})։t&'0CJuEL[^_]É$\$D$ 뉋 aF#9BP~ZTG$BT]ȉD$F$E܉D$hEȉ1t aE܉ZTBP땐&UWV1S<]E}]tz a$EE]܉D$E\$D$ D$E|$D$ ;EsBFC;Ur9})t&'0CNuE܃<[^_]á a9xP~XTy$@TD$GE؉D$耳1tš aU؉XTPP-C6?UWVS\]E}uE ɈEۉ]vٞuz0CEԃ\[^_] as]4$WEٞr+<$FD$Eۉ\$\$D$E D$멍v8<$\$D$ t$ED$ED$E܉D$Uǁ't%~!v' GUCNJUt҉~*~&B0CENҍA~E u?tF;]tq.CEx>t~GCNtE t~t&0NC~H&0CMNҍHy뚋EԉC0넉$D$1a<$\$D$ U8]UM] uu}} C"$ a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a|$ET$L$ $E$t$\$tD$D$I']u}]Ð|$ET$L$ $E$t$\$D$JȅuT$EL$t$ $E$|$\$D$뗐US]E t&؋SӉAuE$D$T$'F[]ÐUE MȃBuE$D$GÐU]EUWVS  aHtU&^Kxex/'t=E$D$TKyދ6u aPv'<$U)ދ\$D$E$ʳugEX9w̉<$Ut$D$E)p0@ %@fu E[^_]É$EUD$ D$T$V1u ӋUB %@fu)uE)uED$ U$ET$D$B1UWVS]sTu  aƉCTF84$E D$ED$EgC f.fC 4$ED$ D$ED$F{ NjECS0CCCCtC@9tCTT$$oC0C4SDujCHxPf{E[C afC C$ aC( aC,P a$t C @fC ؃[^_]fC E1CTT$$CD{t&4$CD$fuS,C$$މ$X뒍4$sTXU aUT$ $ED$E D$n]Ít&UEUT$ $E D$ED$Zn]ÐUWVS|u^Tu  aÉFTC8(F %f=F(E}=}#}t|[^_]E~N %fu$%f} ats fF 4$uFU $ET$D$U@tV0tF@9tFTT$$F0FFF fF 1JFfx$D$ED$?uE%=t N TF FL fF }U UMN %fQVPUV0F)E҉U&V<)UUE^8~F<))]É% fuTE9E|L9EsEEU):)ӉE^t%F@9EtFTU$T$ԪN F0FLUH!ЉEFD$$ED$U@AFV0F҉tF@9tFTT$$lF0F ]+]fF [4$F9)؉F4&~))]FD$D$$UE@N N V0FU$FD$ED$*^E ]؉E#4$X vE4$N %ftYVPUȃft/F)EF0tV<)U~EEE Eȃftڋtԋ~)E͋FD$D$$UE}BN y)4$8v$8^TUE$E D$D$~]ÐU]]CTu aCTP8C(uCT]]É$S %ft?KPЃftC)C0tC<)뿍t&ЃfttS)ߋCD$D$$S(yS 땉$0QUH]E]}} uEЍEЉE؋Euԉu$EED$+مt E1)Ɖ]ȋu}]ÐU]]uCHCxf0@C %@ft t ]u]ËCHCx"@ t$\$k8ξ lj$ڍ$떐UE@E]^&'U a$]ÐU]UWVS } u 4$ ttC19t [^_]ÍU a$ED$]ÐU]'U aM PBTE$L$D$9]Ðt&UEU@T$$E D$^9]ÐUE] a$ÐUE] a$ÐU1}]ÐUE] a$ ÐUE] a$ÐUE] a$ÍUE] a%ÐUE] a$ÐUE] a$ÐUE] a$ÐUE] a$ÐUE] a$DÐUEx]Ít&U |$}t$u $x!xڋt$ȋ$|$]Ðt&A)~I2ِU]'.` ab ab ab ab ab ab ab ab ab aC&'U]]uut$D$ au^4E F0 a]Ћu]É$D$b a1҅u΍t&U帀 a]ÍU a$ED$E D$o]Ðv'U a$]ÐUEt8u1]1} DUVU1SM ҋ]t fAfftFJu[^]ÐUU 1Mt}ttff1:]ÐUWE M}1҅t OJ!Ѝe_ÐUSWV}u M1t1 ut 1ҊV1G)Ѝe^_[ÐUVWS}Mu v&˃t)у)vكEe[_^ÐUVWS}Mu 9sC\19w;v+˃t NO)FGكNO*v#˃t)у)كEe[_^ÐUWS}E M%uv Љ Ee[_ÐUWVS\} E$?tC;uK;Xs'9vE;/tKUE|$D$$1ɅuE@uE1\[^_]/Etp|$UD$ D$ $UyUt1Ƀ u1ɄtzuaC a$taˆ느|$E$ED$tU1Ƀ:R̍t&')ȉ0K;Xt&'UE$E D$ED$qtU]Ð&'U]E] D$$\$-H!É؋]]Ð&U a$ED$ED$tU]ÐU] a]D$$\$H!É؋]]Ð: U]E ]t8u8$~t$C D$E C ]E ]v$C D$$P aC D$뤍U a$ED$f]ÐUEU$@T$ D$E D$A]ÍU aM PBTE$L$D$@]ÐU]] C %@ft} t`CHCxU@]];C|-U < tЍA$ \$~ŋE$CHCx  ;C|) 8 t@s$ \$3^$ 鐐UEU @UE ]&U a$ED$]Ð &'U8]] $E@EE؉EE]Ep a@EE$ED$]]H Ð&'U a$ED$v]ÐUWVSLEE1}E؃} EE ]Mȃ} EE UMHE‰Mȃ} (EUM$L$UUM܉$L$UKUUE؅EMMEUȋu}E֋Mlj}щ}MMv';}<$UT$U{u"E]؅uEMEEM빃}~&u]t&'NCANju]N;}EU$T$Uu(EU؅u"MMMEU)UM)M뫃}~#u]M荴&NCAɋu]MN맋E؅u"MEENjE)E}~uMNCAȋuMN먐Eԅ@M uEU΋]ȋM)ډE܉)9~Ѕ~,)ƒ}]ƉэNCAEUu])‹E))9vЅ~1U)ƒ}|Ɖэt&'NCAM);Ew*EU);EvU)‰U1uE L[^_]ËUM$1uL$D$ED$ W벉ƉыN눋]ыNEM UȋEU9xE̋EEU9Uv{}EM)lj<$L$U~bE؅uME)EŃ}~"u]䍴&NCAЋu]N밋EUE9Ue}~ u]MNCAu]MNU܋ET$$UUUEU܉$T$UzME܉ $D$UU܅bUZ $u ˋE6$.{ CCC %|fC E tmtROt1S ЃftЃfH!Ɖs1]u}]C ڃfC 1} H!‰SsCT@< aE C뚅u4$ E tC fC iE$ڛE uC CCfC CCCELCT$CD$蘏v($UxfEEUT$EEE aEEE$E D$ #U]ÐUxfEE UT$EEEEEEE$ED$.3U]Ít&UxfEEUT$EEE aEEE$E D$2U]ÐUx]E ]fEESE1H!‹EUUUEE$ET$D$2ۉtE]]Í&'Ux]E] fEESE1H!¡ aUUUEE$ET$D$2ۉtE]]ÐU1]Ð&UxfEEEE$UEE aE@ aEE$ED$E ET$ D$sN]Ð&'UxfEE EE$CUEE aE@ aEEEET$ $ED$ED$N]ÐUWVSu} te a$t ЈE a$t 9uFG a$t U a$t )Z[^_]EǐUSEu6! u&! tȀ8t@8u$E D$[]ÐUWS1ۋ}] u@ ˉ Ӄ!€u1ȍ!€tэG@t8u8t1e[_USUM ȃu ;t:t,8t )[]BAt8t፶։‰'!Щu;t1뮐U]gUWU V}S uI Ӊʍ!Щu!Щtڍ'BAu[^_]ÐUWVu S]t/t&'t&8tAuCu)[^_]Ät񐐐UWU׹1)׍Ge_ÐUSMt a$tB Au[]ÐU1WVS]u} t&Kt|ȈE a$t ЈE a$t 9ut}t }tFGM a$t U a$t )Z[^_]EEUWUVu S]u0э! u! tʀ:tB:uKt,FBt!'uKt FBu[^_]ÐUW1VSMu] t: ؃u]v9tW]ItCE8t)ǃ[^_]Ít&t}tFCIE8t1ƒt! uۃEvU9tvUWUVMS] ؃uSvNދ׉ڍ!Щu1v'vÍ!ЩtىtICBtuIt'BIu[E^_]ÐU1Vu S]t<t&8t"B uCu1P![^]Ät萐UVS1ۃu Et,$t$ttÍ@[^]É$t$TUW} VS]tt8tAu)[^_]ÄtCu鐐UVu S];u1>H![^]1 1؄t:uAC;u1ϐ@?5?55?5?UW1VS]E EEEUЃ-$ a a a a a a a a a ap( ap( ap( ap( ap( a a a a a a a a a a a a a a a a a a ap( a a a a a a a a a a a a a aEEMu,] ]UtE}EEtļ[^_]<0V EM1E1҉Mȃ/~=98t&'} ]DAЉEEEȋE/~9~Ӌ]ȃ.] EeEEȅu>E3()U}ąu}ȉ}ċ]ȃ~E1RP,$ Uv a1RV,$]}EcuM}EE @ a]Uȹ)эA9E )ME @ aU @ a͍&EȋU)…уt E @ a]4~{]}a}a"EUEM] $\$RE}D$<$@U<$T$1M<$L$"]<$\$th1~ at E ]@mPE a]u|2|EEEUMĉ$]ȋ}T$L$\$ |$zE EUM$AD$諊}]E $\$GD$UEET$$ED$ \$襕MED$ $ߍEEu11uԋElj}ЋUL39~;M~MЅ~)M))΅~F\$UET$$規MED$E $D$}MUÉL$$Y]~|$]E$D$LEEԅ~UM]ԉ$L$\$9E~t$}E<$D$ EEЅ~UM]Љ$L$\$E}UE<$T$D$=}X @ E$|$TUM$L$/ aUUUH}@w?ڞr2}E af fEm]mދEP$uEݝxݝh$݅h݅xE]u9utI؋UM$L$譈}]|$$蛈E$D$茈U$T$}}Ef fEmUmދEP$uMu Et0 aw a\t& aݍt&ݝx}umPݝhE$ڐ݅h݅xE]E%=|v%؁tEEFuEP}u\Et1؃}t auuE"]v a  a  aۅE%=tTEu-E$ԏm]YeNE$觏E]8}uEE%EEuEvEE%- EEED$UET$$E$|$댉6)%t&)E]1ۉEPډуt E4@ a]31~` at E ]@` auE}]uJz?`d݅`]uEE`WN}%]EM4@ aEȅuu]u } }^EEEE ] +-AЃ 0AσwlE0EM\] /~%9 E]DAЉEE/~9~E\)ȃ~EE̅h]`ETE] 0tmM M6EEE8EۋE0AσEY1E'Gt=~OEEȃM}EIuEEȃ&MCE1E] AЃ vr}4C؃}4EG] 0tTYЃ j1t&}tAEvEU<0t]E_&U a$ED$E D$]Ðv'U a$ED$E D$]E]ÐUD$ E$E D$ a\D$]UW}VS]tM CAts&'9tLAuu 1[^_]ÍsM C'A9tuu1ۉCEuC1u뫐UD$ E$E D$ED$9]ÐUWVSEu] v' C a$u-L+: u 0t6E1}11UEv' a$09}?Ex/;}w*;}tE CÍv;M~t&'EދEx,utߋMtUE tCU[^_]Ë}E"$tҍAuAR0Xt [^_]1/tmptU(]] uutJ4$"D$F4$\$D$9/ aD$ >/ aD$tF؋]u]1t&^TMPDIRUWVS}u tq4$M<$CUDD$$lt:E$U\$t$1ЋUD$|$ Ѓ$D$v1҅tڃ[^_]$/ a踇y9/ aot&/ a]U a$ED$E D$]Ðv'U a$ED$]Ðwb+U8}E]u$D$I1t&<$D$0 aƋE<$E]u}]Í&'U a$}]ÐUE]ÐUU a$t ]ÐUU a$t ]ÐU(]MEu}Q0@9taMy4ATT$$?ED$BdƸt#t$7$|$MUr0J41]u}]Í&ATD$$]jƸt΋Ep0@4UD:@7Oy2뢐&Uuu]] t}CTu aCTP8C ƒfS Ѓfu&Ѓft=fC fC C0t8C49C}BBC]ȋu]É$uЋCtA9vB9t)S8CC4CC$ED8)~4D@ 5 aDẼE@E[̋DZE 5 a@]ЃDE;E $EȉD$UDU EȉD$$z`ED뀋E $EȉD$UUD-@PD%0fPHQPBẼED@ENE $EȉD$UD&E $EȉD$UDU EȉD$$y_EDc@(؃O uE)h$O0 ڈu@t<0tO0ǃve&'$Ot$D$ D$ ?0$t$D$ D$ =Éw wO0] wN@>ƅ0,ƅS-ۃg@u @@tEE3EEÉ郍@@ tEEp1ƅS@u@@tEE1̋EE@@ tEEp@u@@tEE1ӋEEJ5 a(@ t7EEp@4 *@@u@@tEE1믋EEEXEX,ƅS/@@L̋Y]E aE@EE $E $ED$(h뚋E $ED$h/M ED$ $h 9FQE9@UE)Ӆ~d~8AEE a@EEȋYEE a@]E+6AEE aE $ED$h뭋E $ED$ghSE $ED$<yh‰AEE9@EvAEE a@EE!)؉AE9E $ED$h뷋E $ED$phYAEE a@EERuAEE@Eۅ~`~4@E aEE@Ev̋XE aE]@E8BEU ED$$<yh빋U ED$$Qh_U ED$$&hE $ED$ht&Gƅ.AEE@EWmz:PQUHEE@E[EAEE@ENU ED$$h#E $ED$htKm~4AEE a@EE̋Y]E aE $ED$Lh빋E $ED$$h~+AE9@EEE $ED$hdM ED$ $VhM ED$ $+hh")Å~;&BEE a@EE^̋ZEE a@]EXM ED$ $h-M ED$ $ThwE $ED$)hU%0fBEE@E_M ED$ $h4E $ED$ohE $ED$Dhk؃O وuE)|$O0 وut<0tO0ăvf $Ot$D$ D$ #'0$t$D$ D$ $Éw wO0Y wJ:ƅc0c(ƅ-ۃ^u @tEE*EEÉ郍 tEEp1ƅu@tEE1̋EE tEEpu@tEE1ӋEEE a t7EEp4 *u@tEE1믋EEEEƅ_g4G'EE HPMЉỦEȍEȉ$IHUEȋMЉ$ỦD$L$ T$D$D$D$L$T$ D$$gGeftD9|*trƅ-~p)Ѝpׅ~$օu tt믋뤋JE$T$L$$H~FgW萍t&~;~1gHegE amvƅ-E a܋EE}@)d4$W>t߅XdËd)Njd~؍v1dH dth1(t(NGBIdNt~"(u؅Xl4$=t҅u&EEÉ`(t5N`Bd`tF~1(uˋ`)z`\b4$!=t9`uj1dH duyEEÉ` a$u8N`Bd`t~~" a$tȋ`)4$<t1 a$NGBIdN~ a$tl4$+<t[ddlv ldxd`CՃM$h al auj al auj auj aj a$l a$l a$l a$l a$l a$l a$l a:l a:l auj auj auj auj auj auj auj aXl aXl aXl aXl aXl aXl auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj aal auj auj auj auj auj auj auj auj aXl aXl aXl aXl aXl aXl auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj auj aal aTuT?`@`FHFdV@`XxX tx)``X`xET$D$$TD$ PtEEf\uutpP+ at;D$ExT$$TD$ 5jщ‹EEKD$UxD$$TT$ lËEEk`$t$x9``Bt$$t&4$8ip?9@Y%Ta aTˋTa aTT y9`Td1L1dl@v ld11ہdxHD`<CՃ:+$m a5p a,n a5p aFp a,n am ap ap ap ap ap ap ap ap ap a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n afp a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n a,n afp aHXFHFdHtyXm``Xet&Et!$t$``X$t$`%=DuSD$x$tEE6tEE8!EED$@UD$ @$D$蜺‹D)‹Do9@r @D$b a@T$$耢6LH)ЉD‹`ډ@듍x9` ``t$$x9`wt&4$4?`@d`@HL뵉%=tHu LH)Ћ`D@1HL4$3%4$3|+ aPT; $hD$eh 1=) a1PTu=uuEXEEEXSxEXEfa+ aPT@6+ aP a$룋~~& a$XBNӉ4$2ȍ&'UW}VS] C^t|11ɉ9A~tU)Ɖ:& C-u* ]t9|Cv'B9ʈ:|Ժ--t봍C[^_]Ã]tCxU a@$ED$E D$]Ð&UE$@D$E D$ED$ J]ÐU a$@D$ED$E D$ H]Ít&UE$@D$E D$ED$ ]ÐUxfEEEEEE aEE$E D$ED$U]ÉUxfEE UEEEED$EU$D$EED$ JU]Ux]E] fEESE1H!¡ aUUEE$ED$ED$1ۉtE]]ÍUx]E ]fEMSEE1M $H!ED$EUUD$ED$ ۉtE]]ÐU1]Ð&U a$ED$E D$ED$ ]Ít&Ux]E ]fEEE$-EEED$E]$D$EEu aEED$ ]]ÐUVU1SM ҋ]tCtFJu[^]ÐUMU 1t]ÐU]UE$D$&]ÉU a$]ÐUS$] E\$$P$D$$gC]P$D$$gCEP]$D$$gEU$[]ÉU a$ED$f]ÐU]E] $\$eSC]]ÐU a$ED$]ÐUU MfBfBfBfBfB fB f]Ð&U a$ED$]ÐU]]$D$蒒]]ÍU a$]ÐU]]$D$2]]Ð&U a$]ÐU]E] $\$ՑSC]]Ð&'U a$ED$]ÐUUM fpoafroaftoafAfAffmff fpoa]Ð&U a$ED$V]ÐUU E3ffmfff ff]Ð&U a$ED$]Ð/bin/shsh-cU8]U u}t'JAt9u)։)t*?tvtJAC;u)3 [^_]É<$趏0UW} VuS]t+ItBCt'Iutt&'Bu[)B^_]Åt𐐐SunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarsAprilJuneJulyAugustSeptemberOctoberNovemberDecemberampmlU]]}1uuCQUEE)9uE)9u]u}]ÉUWV1S } t:$؍UË$\$D$tFuҸ [^_]ËEUVS]~'&$0=K[^]Ð&Uuu]] Fl$N))ЉFx ]u]ÉVFꐍ&'UW$IVS,U] Bl$, )ىEuE֋EU)֍))֋UZU܉E؋E܍))ЋU))ɉJx,[^_]ÍN ))ЋU)JBĉUWVSu] Fl$a$Ix :EU1)э)ʉ)э)ڋ^HD)ȃFx [^_]Ðt&NF%m/%d/%y%H:%M%H:%M:%S%I:%M:%S %p%Y:%m:%dUWVSu }uEEE[^_]É$~pt+v'E$bptEFu뵀%tE8u@EE렍t&~tFE OÃyO$ a aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ a aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ aǒ ah a aȎ a aǒ aǒ aǒ al a aǒ aǒ aǒ a; aǒ aǒ aǒ aǒ ar a ax a a a8 ax a aÐ aǒ aǒ aǒ aǒ aǒ aǒ a͐ a! a a a aǒ aǒ a! aǒ a4 al a a a aǒ a( aǒ aq aǒ a a aǒ a a a+ aD$` aE$EbGNE8%D$ aE$oE,G_D$ E$ED$莜M;MEGMD$ aE$|$EED$ E$ED$E‹E;EWD$ aE$D$ E$ED$ԛE‹E;E;D$ E$ED$螛E‹E9E<$T$ECD$ E$ED$[E‹E9E<$T$D$ E$ED$E‹E9E<$T${D$ aE$D$ E$ED$˚M;ME4?D$@ aE$#D$ E$ED$lE‹E;EW D$ aE$xD$ E$ED$"M;ME@GD$ E$ED$E‹E;EQWD$ E$ED$賙M;ME1 H!ЉG D$ E$ED$qM;ME@GE8 D$ aE$EGuJG GD$ aE$E8 D$ E$ED$ǘM;ME0@G>E€8%h@E8ZZD$ E$ED$uE‹E;EW&D$ aE$D$ E$ED$+M;MEE@dGvF ((((( AAAAAABBBBBB U]GCU]U]gUE$E D$ED$衅]ÐU]U E‹U$D$1toC$wivBSCv-C#SC vCSCB؋]]Ð$D$D$ljUWVS$Mt$L$TfNjG]v؉ˉEvE$1}E̋E9EU؋uB ыR$ύYB PMvGWGAG v1MWAGA #GvUBуGBW GABUE؋u)ŰUM aM̉HMB ȉB$Mt$L$S;CE~BT$E$E‹EU9‰UȉEs$&'UE9‰UrU<]܃]ȉ}؍49UԉuЉ]UԋÁ]tsEE܋}̉E&'U]E ËЋU4Uf7ً]fO9]UrUԋEtvE}̋]܋] fEEu؋]4EfwЋ% U؉9UErE]ЃE9]EUȅ<~uvMu~ tE]X<[^_]}UWVSutGExHtyv'u8t't|$E|$$ߋE [^_]É|$U ET$$jU ËET$$F] 뙉$D$qUljBHnD$ U a$U D$T$E (UWVSU }E JX@EB9E~ vC9E\$M $EÃ]~𐍴&UHUuM U AEtk )1&'M 2M;Urߋ]3tEE]U HCET$$E[^_]ËM;UMrt&UVMS] AS)t [^]Í&q0D 9u9w19붐UWVS,u E}4$D$01ۉ<$~FD$MEX FuEEAUME܍'UE ÉE؋U)E)ˋEf‹EfV9EMr;}s= MfʉfV;}Mr҃>u'MtEUBE,[^_]ÉuMuM<$D$jE@@뼐UuE ]%ɉ~1ۉ]]uuE]֍1)ʸ봸v'UWVSEEEx@\34$B )‰EE } MU )Љ1 ?9EvSE] ) ։uE[^_]É9vlm tQME E)EM Ɓ?u19vsM M)Ȉ U뚍&?u鐍t&1땍UWVSED$u] $Ǎ@E%EUt E]E$^ )Eu GmEMA@G]t%M荄 M5)ЋU[^_]ÍUUD$yM)É΋EG덍E$‹EG G뀍t&U(]E]uu D$$ED$]4$NEU])‹C)~EE]uu])E萐?$@Y@@@@j@.AcAחAeA _BvH7BmB@0BļB4&k C7yAC؅W4vCNgmC=`XC@xDPKDMDJ-DyCxD7yACnF?O8M20HwZ}utU9UtME $D$UM$L$U҉UEMUEɋ}܉UtK}]K9]E)؉EU̅҉UD$MЋEMΉ$gE~~u9~}ЋU)U))֋E؅~g]UM~IMUE $T$D$VUMET$ $D$-MËE $D$ ]]+]D$E$UE~D$UE$D$E1ۃ}fE:FEЋMЅt Uи )ЉEЃ}mUU֋E܅~EUM܉$T$L$hE~t$EU$T$KEME̅EES~|$EU$T$EMۉME&'ME $D$MU0L$$EMUËEL$T$$ Ƌ@ Nt$U$juEu EuEu E\MԋE@U9UЉED$ MED$ $D$U9UEtRD$ UED$ T$$MEE $D$ D$D$ EET$MD$ D$ $EED$UET$$aME$L$_~LMU<9tMAM|9MtMU<9tE|1@Eu EuMU:0tBU~}9t EԋUE9@Eq~9D$UM$L$E$ED$~Eԃ}:tUԋM:uEtڃ}9t~EMԋE?&t$E$AE$AD$XME $E D$AD$9UED$T$$EUM]$EL$u0EԈE9E&D$ UMD$ $L$EЉE몃};E̅WD$UED$ T$$PMED$ $>ME $D$MUD$ MD$ $L$UEu MĉMD$ EUD$ $T$Eΐt&}EMMUBD$Q)MEEEuEFg\$UM$L$)EEUM؉$T$L$E})8EE)]]Ut 3E E6M)M(EH ap}U艝t݅p48 aE0 aݝpptEf fEt&'Em]mURU0$mUBpt݅pUٞwVEٞw;EЋU9U}%ݝpptE]|;pỦt݅p 8 a}0 aEݝpptEf fEt&'Em]mEURU0$UBE9EЉUtEE]ىptH a݅pڞw'݅pMU:0tBUP~t؋}E @ a] at EBM ]EuYEM~UUЉUĉULEEEUЉEčHɉMЉM EEM)MىM1]o']UЍ2 U~B@)ыU⍈E m31RP,$E]mq}й U)ƋuU'uEE atE a]$tMytȃU$EE[vADBIDMBT$ $E@@U(uu}1]F %@fu`FT$FD$E D$ED$ ?u'x^P؋u]}]ÐF %fF F|$$FD$$誑눍U(]]}1uC %fu~C %fC %@fuICT$CD$E D$ED$ >u]u}]ÐC|$$ CD$$ 럍CT$CD$ D$D$>Z&U]]CT$CD$E D$ED$ S>tC SP fC ]]ÍvC %fC UUBT$BD$ ]U]7U$M t$rratE1$t$]þAt)<+tEy+t?tF a$u-F+4E}Eu10DEEEEuEEEEЋEUԋU$EЉT$UԉD$T$ 腩UE܋ET$Uԉ$EЉT$ D$REEЉUUEEEEȉU̍t&' a$ 0;}Ex:U9Uw2rU9Uw(EUM1‹E1 u$;}~ E>F듍vEEMeȉ}EEȋEʋMȉUĉUȋEMEUU봋Ex7}t ]U]MtUE tFUEUP^_]EEEuEEE"묐$tҍGuG0FEUWVPEu &'>F a$u-+E}Eu10DE$ED$EЉUԉD$T$ EEЉUU$D$D$T$ UԉE܋EEEEEȉU a$0;}Ex:U9Uw2rU9Uw(EUM1‹E1 u$;}~ E>F듍vEEMeȉ}EEȋEʋMȉUĉUȋEMEUU봋Ex7}t ]U]MtUE tFUEUP^_]EEE"$tҍGuG0CFEU10xaE $Et]Ë 0xatE鐐UU Mt$1t}tff19]ÍUאUE t&fJy]ÐUSM U fKy[]Í&'U]]$u C5fC]]Ít&U]]$l1҅uC1%f‹]]ÍUUB%f=t1]É$荴&'UU1B%f=t ]Ðt&1ɍ&'fu A~1ҹˍt&UUt&fHy f]Ð&UVSU] rB%ff%fC%f=t0f&fJyf[^]É$t!fBf ~̺fB ~fa&UWVS }Eu Ef fF^fyt01ҍt&'fBfv [^_]É<$tuE [^_]>,uEE [^_]YUE t&fJy]ÐUE fJy]ÐUSM U fKyf[]Ð&UMA%f=t 1]Í&t&'f<$t<$ED$ɉ$EȉD$@E<$D$1t EfEu})~9Eލ]$\$Eȉ$ED$Eȉ$D$}Eo}E$ED$ED$}"t$Eȉ$YEEf9EtBEȾ$ED$vt$E$E|$ D$@D$ED$녍E1$ED$뿍Eȉ$ED$uoEf9EtE$f}uE%ft+f|Eu@ ~f}GE$E]$\$VEȉ$ED$DEȉ$D$5Ux]]uu }}$t$|$]u}]Ív4$t4$։$D$ au4$D$ at$/t4$#t<$D$o덉4$t8$4$9tfG<$ED$fQfG$uK$MȉL$nE4$D$_EUfu8&f|UuB ~<$M $U)fu6v'f|UuB ~Ef9E9Mȉ $)ƍE)M$EL$D$M?D$ E $T$D$D$D$@MEf9Eȉ $|$ffEED$2Ux]]uu }}$t$|$]u}]Ív4$t4$։$7t4$D$ at 4$t&$D$ asu<$D$O덉$u 4$t8$4$9tfG<$ED$:EfG$MȉL$NE4$D$?UEfu1f|Eu@ ~<$Mȉ $U)fu"f|Eu@ ~ȍE$)ÍMȍE $MD$L$M3D$E $D$D$T$ D$@MEf9Eȉ $|$ffEED$0;v'UWVS]ȃ\u} fIyfIyUډ%fuE%ff]t$]ȉ vfIy\[^_]1ɃtMfEUBUȉ$U|$D$D$ D$@T$x_?북<EU$U)EȉD$T$?j&$U|$|$T$ y$0 aED$UE$U)EȉD$T$m??t&1ɻF-+,0< w8 FDP=qT,0< v׋x7D~Uȉ$6fE nyF_FBF tz$D$ @UW}VS}xSD$E$E0D$~EUD$D$$dEUD$$肊EU$B D$EȉD$lE܉$ED$9UB$s]9rEEtMȉEEt UHEE1҅EE ƅxƅwuUECUNG5++C 1ۍ}UED$$N$Ɖ|$@Uu?ƅxEtƉuĀwtUUx ~FT$Eȉ$'t$t$E\$D$ltƅwE ut&v\$Eȉ$ET$ D$ҋEUECUNG5++C 1EU@ER$UЍTE0$UB $&UWVSl]$0Cs EC EC$EC$$]t$u$t${P 4$|$D$ED$ t4$ED$0 aD$D$ t1E$( a$$( a$D$0 aD$ aJE$ÍE$ID$<UEl( a]ÉUEl( a]ÉUEl( a$]Ðt&UE$( a$]Ðt&UE$( a$]Ðt&U]]$( a$f$]]ÐUE]@@U}]E Pu%RuX ]]]cvX $B $v'U]E ]CES B aB aB0++CB4CUNGB B8P a[@$蝁$uPU]b[tXX0$n$F!Uuu]}P4$蓐t-$D$D$P%}CP]u]Ðt&=wa1Ɂw7tt&Aw!Ѓu lj=wa oau~&'UMoar"was]oa !waÉAE]UU]b$7b}]Ð&U a$UUU a$UU] a aÐUU] a aÐUE( a]ÉUE( a]ÉUE( aE]v'UE<( a$Y]Ðt&UE<( a$9]Ðt&U]]<( a$$>]]ÐUE ( a$]Ðt&UE ( a$]Ðt&U]] ( a$$]]ÐU1]Ð&U1]Ð&UE PE]9PÍU1]Ð&UEL' a$y]Ðt&UEL' a$Y]Ðt&U]]L' a$6]]]&UE' a$y]Ðt&UE' a$Y]Ðt&U]]' a$6]]]&UE' a$ ]Ðt&UE' a$]Ðt&U]]' a$]]](&U]M ]A9Ct1҃}v ]]ÍvU\$ $T$Pܐ&U(]EME]EEE$E D$L$ D$R1ҋEu E]]Ð&UE;E]DÐv'U(]M]uu9ˉ}}t1F\$$E L$|$ D$R ‹]Ћu}]ÉG9FtUWVS};}Mq Nty\t&'StSE$Et} t:}EtЋ 8L$$E D$ED$ ED$R Nu[^_]À}tUB9AtMt&U$E];] t$M$ut$PE;Pu qA $1t$]ËPE;Puԉq㍴&'U8}U}]M] uu B;GuKE$ۋUPx+ 9}$DG 1]u}]Í&uE$@ 9t;B}t$$E|$}D$ E$\$L$|$D$R럍v};GuUE$P뇐UWVSl}$Gt UBGM 9MUBM;AuBM EUɉWx!U ;E DG 1҃l[^_]Ã} uG EMA HE)TUt&'EwME]EEu؋QЈttMMu } UL$M$E \$L$D$ED$ E D$EȉD$R_MЈE ً]ԉOPG}.uUE̋UȉGE҉EttUB4$u#tMm}U;UEDžutEMȅut]Gw t GuEuEE1~:}~EEȋuẺGw 1҄ @!u}G E!G ~|z~bE@UM UȅxM ;E DE7} tMT$U $M T$ L$M L$P ǃ~t MAu du xM ;E DC} tMT$U $M T$ L$M L$P ȋE G ,U_ EȉẺG&/UMB;AMEGqt&UE MPE9PuA EA]É1U(]E]uu }}$t$|$D$ t]Ћu}]ËC|$$Et$D$ Rҍv'UWVSLE}U $E|$ T$D$' WUԃt E@EԋUr N\EEԋMEEECUĈUӈ€UuE4t}EtЋL$$E D$E؉D$ Rt`}E܃~ }uE܋W upEعU܃WEGEG ~0t2UB4$uvN1ɃL[^_]ÃtE@tˋ;Eu/uMttB9AuE GG}-E#&UWVS]ȃL}p@EEEEE\$1ۉ$EL$D$D$E|$D$ E D$RMȅthUԉˉЃtYuЋ]̉!؉˃tE1ۃt;u]x:U 9DEԉƒ1ۃu]ȍL[^_]Ã}t͋U|$$UL$T$U T$ P 몐U$]t$K0S0xBSI9tsC(t$$]ø)Љ؍t&U]uK0‹^x4Ktx ^]u]SFF0$uݍ&Cu@FƐUEK@]ÐAllocation failed.@, a&UWVS }} ~#gfffv4) ~<ËE $C0D$Ot*gfff))ƅ1҃ [^_]ú@, aD$-E $oO@, at`D$0E $LOP@, a릐&U$]{@ 1t$ED$IH!؋]]Ðv'USEtX$eJۉuX[]Ðv'Uuu]] VB JB~ D9t9$B J\$ȉD$=M1҅J@, aH!Ћ]u]É$B JD$ ȉD$MH%@, auʋV떐v'U$]]¸@, at CB1S]]Ðv'UUBHJ]Ð&'UE]@@ ÉUEPE B ]Ð&'UEM PB ȉB ]Ív'UE@P HP1~| t]ø&UE]PB JÐU(uu}]^$?HǸ@, atP<$E \$D$VB Z؉D$ Mtn^ 9^t6MCVF D<$ȈD1]u}]Í&~;FFV$D$}Ft ^ 럐t&<$G@, aF&UU Ex;P |1]Ë@ AЋE⍴&'U$ >|1҅t@@]ÉU]]Cu]]]|$萍t&UUM BuJJA]ÐBH됍&UU EJ@t&'@1ɅtJu]Ðv'UMU AQ]ÐUVS]u S9t!t&'C$C9u[^]ÐUE]@Ðt&U$,]uuz1҅t60p@@ @ @$E1҅Cu ]Ћu]ËC$zCtC$E C(C NjC$E1븐&'UVSuFt&'$ۉu^ Kxv'F؉$REKyF$$zF$F$.Eu[^]zExpected ?t&U]M] Q9t+ atX  a]]$3 az aލBA1܉U]]D$_$t ]]É$D$Zuu$1҅J!͐v'U]]u$SƋCB BGEtqTtl$ED$|t ]u]ËCt(.Unexpected character in ..::UWVSu} 4$EEE&F 7 aItE,0< ,1<CDStzZtaIuL4$R*u81}vStF8Et4$ED$D$f[^_]1EH%`7 a4$&9u몋EtsV$B JȉD$7 a~ t7 aD$BH%@, auSt#4$ED$tvA4$|$44낉E뿐Unexpected character in .t&U]]uu S ,0< vz,a<wIct1$ED$D$Ft]Ћu]Ít&1:tʀzvu뼈,C< 9 aẁCt $_t&$(Zero length in .&U]E]D$D$ $D$ et]]ËU9 at$T$CD$u֋S$B JȉD$CD$?1҅J@, aH!U$ ]uu=ø@, at@\$Et$$ED$ @CD$t$$iU $ =1]u]Internal error.UWVS u]} t$ ; at [^_]ËEtFK9ntG,0< v$u-@~(Z#<$D$AC@@, atK1렍AC<$D$-@@, at_GLOBAL_(anonymous namespace) Unexpected end of name in .&UWVS E] }$<U\$$'<@, aK~3W:M $D$BG?K͡wauGu; avىuu%EU<.t#<_t<$t 1҃ [^_]ËMyNuD$; au4$H<֍@, a˺< aaN&=aS=aa&&ad&ancl()cm,co~dV/=da delete[]de*dl deletedv/eO^=eo^eq==ge>=gt>ix[]lS<<=le<=ls<<lt<mI-=mL*=mi-mlmm--na new[]ne!=ngnt!nw newoR|=oo||or|pL+=pl+pm->*pp++pspt->qu?rM%=rS>>=rm%rs>>sz sizeof.= a1= a4= a7= a9= a<= a?= aB= aD= aB= aG= aJ= aM= aP= aR= aU= aW= aZ= a]= a`= aj= am= ao= ar= az= a}= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= am= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a= a> a> a> a > a > a> a> a> a> a> a > a> a"> a%> a(> a*> a-> a0> a3> a7> a:> a<> a?> aB> aE> aUnknown code in .operatoroperator UW`> aVSUMBP0QPE@ aAvUFcv'E)i@H9t*9@ at9|9u9E|빉]봃[^_]9Eu΋} u2MQ$B rD$@ aD$ 9H%@, auEP$B JȉD$CD$8H%@, auCU1w}v!MQ$B JD$@ aȉD$8H%@, a7E$0$U뛉Ѓ0 Q$B ZD$@ a؉D$08H%@, aM $qE9 [nv:t&U($]1ۉu}}4Ƹ@, at7<$t$D$ D$ wau 4$41H!؋]u}]ÐW$ZB D$B a؉D$a7HÁ@, auW$B Jt$ȉD$6HÁ@, auW$B zD$]D$7X@, aK [v:U($]u1}}3ø@, at7<$\$D$ D$  wa$3t ]u}]É<$D$_u$a3ø@, atȉ<$\$D$ D$ wau$y31H!돋W$rB \$D$R5HƁ@, auW$B JD$]ȉD$P6p@, a댋W$B JD$C aȉD$5HƁ@, aW$rB \$D$4HƁ@, aW$B JD$,ȉD$5Unrecognized .t&U]]Cht9vt E a]]@C$u$D$_u1@C$Error.vtable for Unrecognized .construction vtable for -in-typeinfo fn for typeinfo for java Class for typeinfo name for VTT for covariant return thunk to non-virtual thunkvirtual thunkguard variable for reference temporary for U(]]u}SM aȉD$B+H%@, a,S$B JȉD$L aC$뙃3uC$C$::*U(]]uu }SE}A$P aP aR aR aR aR aP aR aR aR aR aR aR aGQ aR aR a`P aR aR aBC$t$|$jt]u}]Ã{ t)C$D$*D$*H%@, auuu1뵉$|$D$u$t$uɋSJB ȉ$B JD$J= aȉD$)H%@, aL$t$ sBC$#$$;EC.U8uu]}4$NjF4$EEE,0< NZ,a<wprtk4$Bt&']u}]E]t4$E|$D$6u‰4$ED$31ÃA1p$hT a(V aW aMV aW aW aV aV aW aW aW a0U aW aV aW aW aV aW aV aV a@W aW a0U aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW aW a0U a$"E4$]Eܸ@, a4$ED$V$JB UȉT$D$$U4$XB@, a؉D$TE$i"ۉ?V$B ZD$ ؉D$p%H%@, a 4$D$4$t4$U܉T$4$D$&V$B JD$S aȉD$T$H%@, aF4$본 S aiV$B ZD$IS a؉D$봉4$ED$|$#^1Ҁ;tS,0< v/_t*4$ED$C9F4$ED$F8I4$5 4$H F8I4$E|$D$뺍&F4$mV$B JD$ ȉD$#H%@, a:t&`S a&4$ED$Lsigned charboolchardoublelong doublefloat__float128unsigned charintunsignedlongunsigned long__int128unsigned __int128shortunsigned shortvoidwchar_tlong longunsigned long long...W aX aX a X aX aX a#X a.X a code.Unrecognized code.&'Uuu]Futv,a<Y awF~ tS‹K%CC${$t$1S$B JD$\ aȉD$H%@, aibi iii ll ii i vc aUnimplemented.Unrecognized bool constant.truefalsev'U(]]u5wa}Su><`~:g aȉD$>H%@, a$S$B zD$)D$H%@, a'qS$B J|$ȉD$p@, aS$B JD$(ȉD$HƁ@, a$nS$rB D$)D$p@, a1&zr$.&'$&'U]]D$s$t ]]É$D$ru$WuӋS$B JD$7 aȉD$rH%@, at렉$V1҅J!댍v'U]]S >basic_iostreamstd::istreamistreambasic_istreamstd::basic_istream >std::ostreamostreambasic_ostreamv'std::basic_ostream >Unrecognized .std::stringstringstd::basic_string, std::allocator >&U(]]uu }$D$St]Ћu}]ÍC_,0< v B$ED$D$$D$ u$Et$@D$k atS$B rL$D$. H%@, atR$D$_1҅J!3B1$@n avn a-o ap ago ap ap ap ap ao ap ap ap ap ap aqp ap ap ap ap an aS$B JD$"k aȉD$ H%@, a?CtC|$$ @, au1nS$zB D$&k a5k aD$ H%@, a떋S$B JD$?k aȉD$t H%@, aQk a뾋=wauCS^k a$B JD$gk aȉD$+ H%@, aYS$B zD$k aD$ H%@, ak a뻡wau=S$zB D$k ak aD$ H%@, azSk a$B JD$l aȉD$h H%@, a=wau=S$zB D$3l a@l aD$" H%@, aKSHl a$B JD$`l aȉD$ H%@, al a]wau=S$zB D$l al aD$ H%@, ajSQk a$B JD$l aȉD$X H%@, a-E+string literalt&U]]D$Z$Tt]]É$u$D$E-uًS$B JD$7 aȉD$H%@, auC8st2$ED$Su$D$_w1pS$B JD$q aȉD$QH%@, a=C$D$ [#0] [#U]]C8_tME u wau 1]]ÍvS$B ZD$r a؉D$H%@, au@CwaC,0< vF a롉$ED$D$ D$ lzwakE@$CD$RwaCS$B JD$]ȉD$JS$B JD$r aȉD$H%@, a5U]]uu }$#~;_t)4$\$M@, at1ۉڋ]Ћu}]Ð{Zuщ$ED$苽@, atЉ$t <$붉<$u<$2E4$D$s@, atE$뻐UD$@E]u}$@, at$苹t$荽]Ћu}]É$tuى$薹NjE |$$@, at<$뭉U8u1u]]}} tXE}UEE؀;_tb$U؉T$t5=@, at&t1]u}]ËE$27܋EtE؋UEĀ{Zu$E؉D$D$D$E؉$TW_Z%s Memory allocation failed. &U(}6v a]]u18t]ȋu}]Ít&$D$@ tQ$買u4$蔼t4$覻1믉4$蚻 a@ |$D$9v a$x$=v a aD$D$@ D$ ѐU%1ҋt]ÐUwa]ÍUwa]ÐU]] uuu$=51҅FtF]Ћu]ÐU$ ]41t$ED$t؋]]Í&$41t&U]]C$4]]]4v'U]EX@$4؋]]Ð&US]E @9Љ~v'99tCT$$e4Ct؃[]É$.41v'UUBB]Ðv'U]] uu9t@4$CD$[1҅u ]Ћu]ËF$CD$CFut&U}} uu]<$裝D$É4$1҅u]Ћu}]ËF|$$葜^ؐUD$E$E D$@]ÍUD$E$E D$]ÍUWVS }9}u ty<$UBWЉD$51҅tR_9|&UًGJK9}GUƉ4$BD$BD$UBG [^_]&'UWVS E} $IUƉ$BD$1҅tHEX9|vU BK9}EUHt$T$ω<$PEp [^_]Ðv'UVS]u $C@D$1҅t-K9|t&SDI9}SEC[^]ÍU]]uu $FKȉD$1҅u ]Ћu]ËSCЉ$FD$AFCЍt&U]]}} u<$$ƋCD$@1҅u]Ћu}]ËSC|$Љ$יsӐU]]$C@D$1҅tSE K SCDC]]ÍUWVS Uu)9^M A9T9P|$E$|1҅t1KxUE JP3 KyUBz [^_]U]M] 1ҋC9At ]]ËA$CD$1҅ܐQ=r -) ̋@UD$EU $ET$UD$T$ ]Í&'UWVS,EUEME] EE҉U܉߉ƉMuy9vOEȉU؉EԋutEU؉UMEUQuԋEЉuEEU,[^_]Åu 1ƉUEЋEU؉E9]v#E]EtM}됍E܉ÃuE;}w9ur,EE)}܉EEU_U؉UEݍUܸ )؉ËM̉ M̉U܉EMe lju܉Eԉ9w=9t4EEE)M̉E U;EvM)U뽐U(EU $ET$UD$ET$ D$UE]Ð&UWVS,EUEME] EE҉U܉߉ƉMuy9vOEȉU؉EԋutEU؉UMEUQuԋEЉuEEU,[^_]Åu 1ƉUEЋEU؉E9]v#E]EtM}됍E܉ÃuE;}w9ur,EE)}܉EEU_U؉UEݍUܸ )؉ËM̉ M̉U܉EMe lju܉Eԉ9w=9t4EEE)M̉E U;EvM)U뽐UWVSLEU EME]EҋEEEEMȉ]xtxL$]ȋủT$\$t$ D$zMtƉމu؅tHEԋEЋUԃL[^_]ÉUΉمutIM܋M؋]܉Mȉ]EƉ؅utHEEUgUWVS,EUEME] EE҉U܉߉ƉMuy9vOEȉU؉EԋEtEU؉UMEUQuԋEЉuEEU,[^_]Åu 1ƉUEЋEU؉E9]v#EEEtM}됍E܉ÃuE;}w9ur,EE)}܉EEE_U؉UEݍUܸ )؉ËM̉ M̉U܉EMe lju܉Eԉ9w=9t4EuE)M̉E U;EvM)U뽐UWVSLEU EME]EҋEEEEM]x[$]ET$uĉD$\$t$ Et%EUމ؉uȅtHE̋EȋỦEUEUL[^_]ÉΉމuمtIMԋMЋ]ԉM]EƉ؅utHE܋E؋U[UWVS,EUEME] EE҉U܉߉ƉMuy9vOEȉU؉EԋEtEU؉UMEUQuԋEЉuEEU,[^_]Åu 1ƉUEЋEU؉E9]v#EEEtM}됍E܉ÃuE;}w9ur,EE)}܉EEE_U؉UEݍUܸ )؉ËM̉ M̉U܉EMe lju܉Eԉ9w=9t4EuE)M̉E U;EvM)U뽐UU1tt u]ÃtUEU TBZ 9E s 9r1҉9E ryEЋUMR $L$UEċEEp9uHUЃUvEЍU]M|T$ $EĉD$GD$aMD$E $D$D$ CU9U s 9urE‰9U C]tEUZ ;t&M $D$E D$3u~UM $B L$D$W`$XM1U ;FMAtUW1VS5 xa]t&;vu5xat\&F\$4$xa xaǡ xa9r H@u1F1u5xautLFU FBF%Fu6t$؉$D$GD$E $D$ [^_]ËW)Ѓ$붡 xau4$\$7 q&UWVS,UB u?BAZ M Q ‰Q 9t Q1+E@gX 4Et 9pE aE@uE0 aUBtEP aML$ EU$ET$D$MUAZ9L$EU$T$MuyMtW^MOLMܐt*EU܉$DT$D$U~DKDҋM܍LuUMBF $MUA IQ ,[^_]ËEMD$E $D$MˋUML$$D$;uEUT$$@ D$$HEt'@$2Et@)1"vM $D$\ƋuE$@ D$=UWV1Sxa}G}9ƉEsMxat.E$DD$D$U yU)ʋU\F]E;ur111;Ms"&]Dt DDBF;urWEH[^_]ËD]DAېFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFx5i+.b*0[ *0[ *0[ *0[ *0[ *0[ *0[ FFFF F@呰 חb@;>V;>V~-)=sRn@8$6%n@8$6%n@8$6%j +)=sRn@8$6%n@8$6%Vj +)=sRUj +)=sRQj +)=sRWj +)=sRRj +)=sRTj +)=sRSj +)=sRn@8$6%n@8$6%Pj +)=sRX}lBX}lB0FR KQR KQR KQR KQ"d+.2FyK yK yK yK yK FF1FyK FF FFF FFFyK !d+.FFFFFFR KQyK yK FR KQyK yK 0+)=sR՜.+,Oh+'՜.+, CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 F CPf0 F CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 * _,da _,d* _,d+ _,dag _,dF%FB: ` yK yK FH+)=sRyK yK yK yK FFv nrFF4Fi;Yi+-zyK 44*Fʼ"hN@Gp@3"}Te++FFFFFF#F$FFFFF!F"FFF44FFFyK FFFȼ"hN@Gp@糗`F;F9F FBJ7<}iFFFF }Te++@'1nD5KQFʙ^Ai@aUt0 t0 yK yK yK yK yK yK yK FMm8gh FFFFFYtNOF F[ _,dH+)=sRFF(F)FF˼"hN@GpF444ż"hN@GpǼ"hN@GpƼ"hN@GpFFFV ^>;)FF,$4pLؠ.$4pLFFFFF0` FЗ`J`F(R h 7p@8I h 7 Fi;Yi+-zFk7E8+. F F7PByK `O7B5KQ FF F#N-+. {20 {20 U5qLɼ"hN@GpXשFh *'UB5KQ444eF$+.4:F8F4:KQ'FFQbH6k!Pi)? F FFF`k;Yi+-zFj;Yi+-zFj;Yi+-z&FFF0:s *Dw=i;Yi+-zF@Qm6t4` +tN0 4FF F F&FF`= ߏTe++TtUI#RRBnFFFFFFFAJ7<}iF F'FB: ` yK yK yK 0FFFFFFF!FF F FFFF FFFFFF"F F#F FFFFFF FFFFFFF"hN@GpH+)=sRUWVSUP,$Alj‹Et BI,u1EM9U}I1_UB7$(7T$D$L E,M,9U|MAuSMBy BUE t+A$(T$D$ e[^_]$)AE랉7sU]ÐU1]1ÐUEl aE]@UEl a]ÐUE@$|]ÐUE@$E D$襥]ÐU1]ÐU]]u$P$@Ƌ$PD$4$D$2$t$P]u]ÐU $1]t$|$HtKLuVLL ȉ׈Ċ8tGu1PtLPЋ$t$|$]ÍPu 1L1ՉL뒐U(uu]Ht1U ^P1L1H$肑,u84t-#t$1҃t tt 1]u]ána@D$$D$D$D$ D$D$(Dt$D$苢Í@$+HD$HD$\$D$ED$ u=Hu)D1ɉH$賠D $͋EH$U]]D at $KHu]]]0=$h萐U]]D at $Hu]]Í&$萐U}}]]EEuu EC a}ux;( a;}-ȉCtsC ]u}]C}t  a }u C ύ6al޸6a6hU]]{  au]]];*5aܐUEx au ]Í&*5aߐUE]]uu EC ax~( a$FD$uCCx+US ( aC]u]Í a}uC ٸ6a%v( a$@뀸6aSU]]{  au]]]z:*5aܐUEx au ]Í&*5a|ߐUE] ÐU1]ÐU1]ÐUE] ÐUE]@%LF aÐU]ÐUE] ÐU]ÐUE $]ÐU1]ÐU1]ÐUE]@%ÐU1]ÐU]ÐUE]@,ÐU]ÐU1]ÐU]ÐU1]ÐU}U ]]uu B,uN1C,U B0u81C0CCC C$C(]u}]ÐMM뭐UE@<]ÐU]] a$]]]؅UE a$蹆]ÐU]] a$VO]]]鈅UE a$)O]ÐU]]{  au]]]j7*5aܐUEx au ]Í&*5alߐU1]1ÐU]ÐUE]@@ÐUEU P@1]U]] a$膅]]]xUE a$Y]ÐU1]1ÐUE$R0]ÐUE]ÐUuu]F(uzV@tcBuQBtËu-BIV@B$]F@u]IvvIuV@fIV@륐]u]Í$記vUE]ÐUE$E D$ED$RH]ÐU]]| a$]]]UE| a$]ÐUE]@LÐU]] a$vL]]]騂UE a$IL]ÐU]ÐUE$E D$R]ÐUE]8ÐU]ÐU]ÐU]ÐU]ÐU]]| a$]]]؁UE| a$蹂]ÐU]ÐU1]ÐU1]1ÐU]] a$f]]]XUE a$9]ÐUl]ÐU]]u$P$Q3Ƌ$PD$4$D$%$t$P]u]ÐUE@$]ÐU]ÐU]]u$P$2Ƌ$PD$4$D$S%$t$P]u]ÐU]]T a$]]]UET a$]ÐU]] a$ƀ]]]UE a$虀]ÐU]] a$fa]]]hUE a$9a]ÐU]] a$&]]]UE a$]ÐU]] a$H]]]~UE a$iH]ÐU]]< a$O]]]0UE< a$iO]ÐU1]ÐU]]T a$&]]]~UET a$~]ÐU1]1ÐU]]| a$~]]]}UE| a$~]ÐU]]t a$f_]]]h}UEt a$9_]ÐUE]@8ÐU]] a$~]]]}UE a$}]ÐU1]1ÐU]]| a$}]]]|UE| a$}]ÐUE]@\ÐU]]| a$V}]]]H|UE| a$)}]ÐU]]| a$}]]]{UE| a$|]ÐU]ÐU]]t% a$|]]]{UEt% a$y|]ÐU]]t& a$fL]]]x-UEt& a$9L]ÐU]]& a$L]]](-UE& a$K]ÐU]]& a$K]]],UE& a$K]ÐUE@$輑]ÐU$]ÐU]]u$P$,Ƌ$PD$4$D$$t$P]u]ÐUWVS,EMU EEΉUMEna@$tދUMA9M[Q1ɀ}$I8}~EM]Q[Ht:19s$E܍J&E܋p9t!G ;}rUM E,[^_];5J atU܉U,[^_]&MA$D$\UB$B@D$;MAEUEl aE]*UEl a]ÐU1]ÐUE]@8ÐN10__cxxabiv117__class_type_infoEN10__cxxabiv120__si_class_type_infoEN10__cxxabiv121__vmi_class_type_infoESt10bad_typeidSt13bad_exceptionSt8bad_castSt9bad_allocSt9exceptionSt9type_infoia~aa Va@a@aaaia0a`a9uz}H a  H a 2h}T a%27[F a aH apDa3ͫ4m  aaapa6L) a a0 a0a2a5a=aEaNaSa[aKaKaKaKaKa La La+La9LaKaKaNLa(< a(< a a@aaaaaaaaaaa"a(aa3a@aaaaaaaaAa`aaaaaaaaaaaaaaaaaaaaaaaa a a a a a "a %a /a 2a BaEaHaLaPaTaXa\a`adahalaoasawa{a~aaaaaaa a!a"a#a$a%a&a'a(a)a*a+#a,)a-0a-=a.Da.Na/Ta/\a0aa1ea2ia3oa4ta5ya6}a7a8a9a:a;a<a=a>a?a@a[a\a\a]*a^5a^Ga_Ra_[a`ha{sa{a|a}a}a~a'a'a'a'a(a (a((a5(aO(aZ(ar(a~(a(a(a(a(a(a(a )a)a ()a2)a N)aY)a q)a|)a )a)a)a)a)a*a"*a@*ab*a*aaaaa a4aFaYaoaaaaaaa a@aVapaЌa?91$21fB];޵o @HkIt۱Y\Teh.y=kC-*.gڈʈ]si5O֏Qokna?A6"Ƹ*{׈ "G' a a a ama6 pacygwin1S3Ї aԇ a؇ a܇ a a a a a a a a a a a% a) a- a1 a5 a9 a= aA aE aI aM aQ aU a] af ak a5 aq av a{ a a a a a a a ax a a( a a3ͫ4m  a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a  a  a( a( a0 a0 a8 a8 a@ a@ aH aH aP aP aX aX a` a` ah ah ap ap ax ax a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a  a  a( a( a0 a0 a8 a8 a@ a@ aH aH aP aP aX aX a` a` ah ah ap ap ax ax a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a  a  a( a( a0 a0 a8 a8 a@ a@ aH aH aP aP aX aX a` a` ah ah ap ap ax ax a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a  a  a( a( a0 a0 a8 a8 a@ a@ aH aH aP aP aX aX a` a` ah ah ap ap ax ax a a a a a?veJJ?Lɚ R`%u2jRΚ2(M]=];ZlRP(= e uuvHMfXPT\eƑFݍ~QC576l3oߌGAP%kqk<զIx@ p+ŝi@4@ @@ @@@0 á#-ޟݦ d%I-64OSk%?kXWڥ2122q#2IZ9>SU9zc%C1 *$bGט#?9'*?[ Jg9Eϔ?qyh.L[Mľ?M==|6+ aw̫?UN@a+eX? ףp= ףp= ףp= ף??aP a' aP a\ a' a a a' a a a' a aT a' a aT a' a4 aT a' a@ aT aL' aP aL' a` a a a@ a aP a a4ap a a aP a a a` a a a\aP]a ap aPaa a0ba a0 a_aBapRaUaSaPYa aGaKaOapTa@WaXaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca a a a ap aa aa a0 a_aBaaUaSaPYa aPaKapapTa@Waaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a aa0(a(a`)a<a a a@ a apcacacacacaca a a a ap aPaa a0ba a0 a_a a)a aSaPYa a)a*aP(apTa@Wa(aaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a ap&a`a(a (a0(a@(a`a a-a,a,a,ap a0 a a a a ap aPaa a~a~a0 a_aia`laUaSaPYa aGaKa apTa ha0aaaaa`haPoamama0naPqa@ya a a a a a a a aaafa a a a` a:a;a;a<a a a0 a apcacacacacaca a0apa ap apa@a`aPaP a_aBa aaвaa aa`a@ apTa@Waaaaaa VaZaZaZaZa[a0[aP[ap[aP a a ap a a a ?aP@a a a a` apQaRaRa<a a a0 a apcacacacacaca a a` a ap aa a`aa0 a_a}aaUa0aPYa ataaapTa@Waaaaaaa@aZaZaZaaaaa a a a a a a ?aP@a a a@ a` a`,a -a-a<a aa0 a apcacacacacaca0 a aP a` a aPapa ap aPaa a0baPa0 a_aaaUaaPYa aaaapTaaaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca aa0a ap aPaa a0ba a0 a_a@aaaSaPYa aPaaapTaaPa aa@aa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca a=a>a ap aPaa aIaJa0 a_a?aAaUaPJaPYa aGaKaOapTa@WaPIaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a`BaFa a a a` a>a`?a@a<a a a0 a apcacacacacaca;a;aP aP a a a a ap aPaa a0ba a0 a_aa)aaSaPYa a)a*aP(apTa@Wa(aaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a ap&aa(a (a0(a@(aaa a a a ap aPaa aa a0 a_aBapRaUaSaPYa aGaKaapTa@WaXaaaaa VaZaZaZaZa[a0[aaa a a a a a a ?aP@a a a@ a` a>a`?a@a<a aa0 a apcacacacacacap a aP a` a a%a%a ap aPaa a0ba a0 a_a*a)aUaSaPYa a)a*aP(apTa@Wa(aaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a ap&aca(a (a0(a@(a +a0+a a@ a a ap a-a a .a a0 a_a+a aUa`-aPYa a,ap,a apTa@WaXaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` aUa`VaWa<a a a0 a apcacacacacacaP a` a4ap ap a a a4ap a a a a` a ap aPaa a0ba a0 a_a aaaSaPYa aGaKaOaa@WaXaaaaa VaZaZaZaZa[a0[aP[ap[aP a@ a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a aaaaaa@a a a a ap aPaa a0ba a0 a_aBapRaUaSaPYa aGaKaOapTa`^aXaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a1a02a2a<a a a0 a apcacacacacaca a0 a a ap aPaa aIaJa0 a_aaaaaPYa aGaKaapTa@Wapaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a`BaFa a a a` a>a`?a@a<a a a0 a apcacacacacacaPa;aapa a aP a ap aPaa a0ba a0 a_a/a/aUaSaPYa a`/aP/a/apTa/aXaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca a a a ap aPaa a0ba a0 a_aWa`Za@PaSaPYa a)a*aP(apTa@Wa(aaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a ap&a@SaUaUa0VaVaLaZa-a,a a a a aP a ap aPaa a0ba a0 a_a aaaSaPYa aGaKaOaa@WaXaaaaa VaZaZaZaZa[a0[aP[ap[aP a@ a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a aaaPa`aa`a a a a ap aa aP!a a0 a_aa aUa aPYa apaPa apTa@Wa aaaaa@aaZaZaZaaaaa a a a a a a ?aP@a a a@ a` a.ap.a.a0a aa0 a apcacacacacacap a a aa a0 a a ap aPaa aIaJa0 a_aaaUaaPYa aGaKapapTa@WaPIaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a`BaFa a a a` a>a`?a@a<a a a0 a apcacacacacaca;a;aa`a a a` aP ap aPaa a0ba a0 a_a2a 7aUaSaPYa a6ap5a7apTa8a7aaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca a a a ap a"a aP!a a0 a_aaPaUaaPYa a@aa apTa@Wa aaaaa VaaZaZaZaapaaa a aa a a a ?aP@a a a@ aa`.ap.a.a<a aa0 a apcacacacacacaa0a aa aP a a ap aa aP!a a0 a_aBa aUaSaPYa aGaKaapTa@Wa aaaaa VaZaZaZaZa[a0[aaa a a a a a a ?aP@a a a@ a` a`.ap.a.a<a aa0 a apcacacacacacap a a aa a ap a ap a"a a#a#a0 a_aaPaUaaPYa a@aa apTa@Wa aaaaa VaaZaZaZaapaaa a aa a a a ?aP@a a a@ aa`.ap.a.a<a aa0 a apcacacacacacaa0a aa3a 3a03a@3aP3a`3ap3a3aP5a6a7a9ap:a;a=a@?a a a a ap aPaa a0ba a0 a_a famaUaSaPYa akajamapTanaeaaaaa VaZaZaZaZa[a0[aP[ap[aP a a a a a a ?aP@a a a a` a>a`?a@a<a a a0 a apcacacacacaca-a,aP a aAaBaCa Ca@CaCap3a3a-a,a ap a-a,a a a a0 a4ap a@ aPaPaaa aa a a ap a a a a a a' a" a`! a a a a a a a a( a# a! a aP ap a a a a a( a# a! a$ a a a@ a0 a a a@ a< a@ a` a@ aH a a a@ aT a a a@ a\ a a a a a  a@ a) a ) a,) aa aPaaaaa0aaaaa0aaaaa0aaaaa0aaa$aa0aaaaaapa(aa1a a8at aAaaMa8/ aTaa^aacaja`^aoajaua a~ap aaaaaaaaaD aTERM=cygwinga 5ara 5a|a 2aa a a 4aa 5aa 5akataaaaaaaaa*aPaqaaaaaaaaaaa$aBaVagavaaaaaaaa-aHa[awaaaaaaa a a:a=a@aCaTaoa}aaaaaaaaa aa1aOaeazaaaaaaaaaPaaaaaaa0apaaaa4aMa[aoaaaaaaaaaa a aaa.aPaaaaa>aQaha{aaaaaaa a*a;aRapaaaaPasaaaaaaaa2a6CaRaaaua a a aa aaaYaa a !a $!a.&9a='Da2UaX3ca@4paP5yaCaPaRaWaYa ma naqaxaX{aa ,a?aZMa\aiaxa aaaaaaaa aa aF0a :aDaSaFba+ka{aaaCa a b a d a ha]a aLaiaNaO(aP9akJa8\a`anapxaaaaaaa:a%aBa`a|aaaaaa1aLaja&aa%aaaa.aAaWafavada%mamamaqa'vavavaza&aaaa(aaaa!aaaa"aaaa$aaaa#aaaa-aaa¨a.ȨaȨaȨaͨapӨaبaqިaaraasaataau aaavaaw$a*ax0a6ay<aBazبa{aeHa Ha6aLa GMTwp``pP`@p0`p ` ` p ٢ gpfeyHiGY*I)9 ) ")` ` p`p`p` v!`"U#j$5%J&'*s'p) U)ޥp*7+p,T`-ip.6`/~Kp0`1gg2r`3GI4R`5'+62`7 889:;۞p?b@opA`BOpCda`D/vpEDC`FXpG$%`GtI`IVJ`K8LMNOwPQapRlS@pTLU pV,oWpX`XpYn`Zp[P`\]2`^_``ica~0bIEc^d)'e=fDpgg&phipjݚkplƷ`mpn`oqpp{`qZrf]`s:tF?`uv/[vpx=xRyz4{|Qp}~3pcpw`BpW`"p7` `j`˹L`h}Jk_,T|p`4^p?@p) `"p`p` ȳ`𝨕`|w`\q?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~'Ra3'[a 4'jaw5'yax6'al7'ay8'az9'ak:'am;'a{<'a|='a_>'a`?'aj@'apA',a}B'=asC'IarD'Xa~E'eaqF'uahG'aiH'aI'aJ'anK'aL'atM'aoN'a\O'a[P'auQ'avR'aZS'"aT'.aU'8aV'BaW'LaB&'Wa'aaka*a*a*a* a8naEnaKnaRna\nagnaqna{nananananananananananananaoastupid_pipe.%u.%ucygnus01aaaaaaaa a a a a&a7a@aIa\adaqaaaaaaaaaa a!a"%a#6a$Ca&Ta'aa(sa*a+a,a-a.a/a0a1a2a3a7a9aA'aF5aGJaH^aJgaKsaaaaaaaaaaaa!a2aAaTaeataaaaaaaaaaaaaa!a*a5a@aLa]a ka!wa2a3a4a5a6a7a8aa aa(a5aFaUabasaa a aaaa a!a"a#a$a%!a&0a';a(Ia)[a0ka3ya4aaaaaaaaaa  a a 0a Aa Taeayaaaaaaa]8]W<]_<}|}|CygwinWndClassaaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aaws2_32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aawsock32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32aaadvapi32 a aAddAccessAllowedAcet&/ a aAddAccessDeniedAceW a aAddAceo a aAdjustTokenPrivilegesv a aAllocateLocallyUniqueId a a CopySidנ a a,CreateProcessAsUserAt& a aCryptAcquireContextAt&' a a CryptGenRandomG a a CryptReleaseContextt&o a aDeregisterEventSourcev a aDuplicateTokenEx a aEqualSidϡ a a GetAce a aGetFileSecurityA a aGetKernelObjectSecurity/ a aGetLengthSidt&O a aGetSecurityDescriptorDacl& a a GetSecurityDescriptorGroup a a GetSecurityDescriptorOwnerߢ a a GetSecurityInfo a aGetSidIdentifierAuthority&/ a aGetSidSubAuthorityW a aGetSidSubAuthorityCount a aGetTokenInformationt& a aGetUserNameAt&ǣ a aImpersonateLoggedOnUser a aImpersonateNamedPipeClient a a InitializeAclv? a aInitializeSecurityDescriptort&o a a InitializeSidv a aIsValidSid a aLogonUserAϤ a aLookupAccountNameA a aLookupAccountNameW a aLookupAccountSidA&G a a LookupPrivilegeValueAvo a aLsaClose a aLsaEnumerateAccountRights& a aLsaFreeMemoryvץ a aLsaNtStatusToWinErrorv a aLsaOpenPolicyv a a LsaQueryInformationPolicy&O a a MakeSelfRelativeSDw a a OpenProcessToken a aRegCloseKeyt& a a$RegCreateKeyExAצ a aRegDeleteKeyAv a aRegDeleteValueA a a RegLoadKeyAt&7 a a RegEnumKeyExAvW a a RegEnumValueAvw a aRegOpenKeyExAv a a0RegQueryInfoKeyA a aRegQueryValueExAק a aRegSetValueExA a aRegisterEventSourceAt& a a$ReportEventAt&? a aRevertToSelft&_ a a SetKernelObjectSecurity a a SetSecurityDescriptorControlt& a aSetSecurityDescriptorDacl& a a SetSecurityDescriptorGroup a a SetSecurityDescriptorOwnerG a aSetTokenInformationaanetapi32aanetapi32aanetapi32aanetapi32aanetapi32aanetapi32aanetapi32 a aNetApiBufferFree' a a NetGetDCNamet&G a aNetLocalGroupEnum&o a a NetLocalGroupGetMembers a aNetUserGetGroups a aNetUserGetInfo a a NetWkstaUserGetInfoaantdllaantdllaantdllaantdllaantdllaantdllaantdllaantdllaantdllaantdllaantdllaantdll a a5NtCreateTokenv' a a)NtMapViewOfSectionO a aNtOpenFileo a a NtOpenSectionv a aNtQueryInformationFile a aNtQueryInformationProcess& a aNtQueryObjectv a aNtQuerySystemInformation/ a aNtQueryVirtualMemoryt&W a a NtUnmapViewOfSectiont& a a RtlInitUnicodeStringt& a aRtlNtStatusToDosErroraapsapi a a GetProcessMemoryInfoaasecur32aasecur32aasecur32aasecur32aasecur32 a aLsaDeregisterLogonProcess&7 a aLsaFreeReturnBuffert&_ a a9LsaLogonUsert& a a LsaLookupAuthenticationPackage a a LsaRegisterLogonProcessaauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32aauser32@ a0 aCharToOemA'@ a0 a CharToOemBuffAG@ a0 aCloseClipboardg@ a0 a0CreateWindowExA@ a0 aDefWindowProcA@ a0 aDispatchMessageA@ a0 aEmptyClipboard@ a0 aFindWindowAt&A a0 aGetClipboardData'A a0 aGetKeyboardLayout&OA a0 aGetMessageAt&oA a0 aGetPriorityClipboardFormatA a0 aGetProcessWindowStationA a0 aGetThreadDesktopA a0 aGetUserObjectInformationA&B a0 aKillTimer&7B a0 aMessageBoxAt&WB a0 aMsgWaitForMultipleObjects&B a0 a OemToCharBuffAB a0 aOpenClipboardvB a0 aPeekMessageAt&B a0 aPostMessageAt&C a0 aPostQuitMessage'C a0 aRegisterClassAGC a0 aRegisterClipboardFormatAoC a0 aSendMessageAt&C a0 aSetClipboardDataC a0 aSetTimerC a0 a SetUserObjectSecurityP a aload_wsock32t&'P a aWSAAsyncSelectGP a aWSACleanupgP a aWSAGetLastErrorP a aWSASetLastErrorP a a__WSAFDIsSett&P a a acceptP a a bindt&P a aclosesockett&Q a a connect/Q a a gethostbyaddrvOQ a agethostbynamevoQ a agethostnamet&Q a a getpeernamet&Q a agetprotobynameQ a agetprotobynumberQ a agetservbynamevR a agetservbyportv/R a a getsocknamet&OR a agetsockoptoR a ainet_addr&R a ainet_networkt&R a ainet_ntoa&R a a ioctlsockett&R a alistenS a arcmdt&S a arecvt&7S a arecvfromOS a arexecvgS a arresvport&S a aselectS a asendt&S a asendtoS a asetsockoptS a ashutdownT a a socket` ap aWSACloseEventv'` ap aWSACreateEventG` ap a WSADuplicateSocketAt&o` ap aWSAGetOverlappedResult` ap aWSARecv` ap a%WSARecvFromt&` ap aWSASend` ap a%WSASendTo&a ap aWSASetEventt&'a ap aWSASocketAGa ap aWSAWaitForMultipleEventsoa ap a WSAEventSelecta ap a WSAEnumNetworkEventsaaiphlpapiaaiphlpapi ap a GetIfTable' ap a GetIpAddrTableaaole32aaole32aaole32 a aCoInitializet&' a aCoUninitializeG a aCoCreateInstanceaakernel32aakernel32aakernel32aakernel32aakernel32aakernel32aakernel32aakernel32 a aCancelIo a a CreateHardLinkA? a a CreateToolhelp32Snapshotg a aIsDebuggerPresent& a a Process32First a a Process32Nextv a aSignalObjectAndWaitt& a aTryEnterCriticalSectionaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmmaawinmm a awaveOutGetNumDevs&/ a awaveOutOpent&O a awaveOutResett&o a awaveOutCloset& a a waveOutGetVolume a a waveOutSetVolume a a waveOutUnprepareHeader a a waveOutPrepareHeadert& a a waveOutWritet&? a a timeGetDevCaps_ a atimeGetTimet& a atimeBeginPeriod a atimeEndPeriodzPL|  a 0  a a zPL|  a $ a( a zP|  a  P a3 zPL|  a ,  a a  zPL|  a $  a{ ,H a 8x@ ak , aj ,  aX  , a a zP|  a $ P aE  $H a` $p a/ zP|  a 0 0 a  zPL|  a $  a', a $HP a $pp a $ a zP|  a $ aH $H ag 4p! a_  (! a 4# a   ( # a 48( af  (p( a (P* a zP|  a ( + a]  | } a2 (8~ a |  a7 (8 a | ( a (DЂ a | ( a (D a | p aI 8 ap ,X a  ( a[ ,` az  , a (З as  ,@P a ,p a& ,@ a7 , av (М a  <, aX (l a   @ a     < a      a |  aI ,8 a  $h` a:  a% $P a  a   a&  aK ,8p a  (hP a ( a ( a (@ a0 (p a (D a/ (p a ,` a( ( a , a a#=($      0о0@Pp`` P}|}``0 }}  P  EЍ``P~~0`} @n@ @@p  0 ` @  ppX `3, P Pu@0Ж@0P P,`0 p@ \v Й@0 p vRpw pp-@ `- .Pd0p00о0@Pp`` @P62 `5  0 P   00 T P `  p 0 <pi<`  c@ @  e ` Q0,,+wuv`}`+]QSo pRQNLl@k + @P[h`P@p    p 0" @ P ` @w z .@x  0P ` pPax @E P P v r  pp`y @pPq0V|  pz p0 ` P  @ P Pr00 H t   x     `n0 ` z t  0Q0@} xPa0 ^RPknRm@~ P`@q ` v  p s `@p   0 z P  Cf0  0  0 @  `~ p  @  0   0 Ћ   0 ( ( ( ) p+ + P- - - - @. 0>1 3 КN   ` P @`0 tp0 @1 0 `1 p1 1 eX М`3P62 up  4 W0E Pa a 0Ps s s t t u u P Q@v v p 0 EЍ``P~~0`@n@ @@p  0 ` v P @  pp`3,+` P Pu@00Ж@PY0PP,`00p2P 00p_2PPЮ 0 p@ `@_p`}~v Й@0 p v<Rpw pp-@ `- . 0p0@P62P0 `5  0 P   00 TR P `  p 0 <:pi<`  c0a@ @  e ` Q0, ,,+++wwutvu`} }  P_`+]QSp0mo  pRQNOLKNLl@k 0P++ @P[h`P \@P@p   ~~0b  p 0" @ P ` @w z .-@x  0P @` pPpax  @E D P P v@r r  ``p0y pp`y @pPq0VP|  0z *P]]p0 ` @p0P0@`P0 `0 0@P`pPP`p @@pp` P  @ P pd, Pr000<0 8`OHrO H t 2   x/     `n0 ` Pppprr0rt tz t@t `= 0Qp0@}Pt x<^Pa0 ^RPknRmc@~} --------P`@q ` 0v  p s 5`@p   0 z aP  CBf0  0  0 @  `~ p  @  0   0 Ћ  k 0 ( ( ( ) p+ + `lP- - - - @. 0>1 3 КN   ` P @`0 tsp0 @1 0 `1 p1 1 e dXpМ`3P62 `up  4 W0E Pa a 0Ps s s t t u u PPQR Q@v v p` p*18ANZk~˲ղ(6DOVcnyγܳ !(07?JS^dkrzƴ̴Ӵܴ /6=EOV]gq{Ƶ͵׵ )0:EOYbgmtzȶѶ۶ *29AHPV]cks{÷ʷӷڷ ")/8?FMS\cks}Ÿ̸ոݸ )8AIRZdnxĹ͹չ޹#19CLW]djt|úκպ޺ #+4;CLU^gquz~ǻͻջ߻")18@FMS\els{Ǽϼּݼ  ,2;BIOXaks{̽ҽ۽ #,7CKS[fnt{ɾҾھ %0;DPYblwɿֿ+7<BHOY`jr{ %-6>HR[dlt (.7=JT]emrx~ $-7@HOW^fmu}%+4<DNV_fntx$*16<CIOV]bhmry~ &,2;DLU_chmsy4HZu#:Ut $Dm$*.6>E_kx #*07>CGLRY^dipw~ #-5;AGLTZahqw+3=DLV]foz%-5<DSdnw )1;@FKT[dlt{ *08@HPW_gou| '/9>EPZfjpw}$+19@GLSX^dmu{ &48=DSh6Sn2D]y "6CViv1Rp4ANe{ !&-27?HNV_dmu %-3;Rix "'/6=KS]dlv}(/8AIPX`ipw!&+1:@IP[bjr{%.7?GNUaiqy (19@GKPU[cjr|%,29?FMV_fls| #+18;?BFI  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~cygwin1.dll__argc__argv__assert__assertfail__ctype_ptr__cygwin_environ__cygwin_user_data__eprintf__errno__f_atan2__f_atan2f__f_exp__f_expf__f_frexp__f_frexpf__f_ldexp__f_ldexpf__f_log__f_log10__f_log10f__f_logf__f_pow__f_powf__f_tan__f_tanf__fpclassifyd__fpclassifyf__infinity__main__mb_cur_max__progname__signbitd__signbitf__signgam__srget__swbuf_abort_abs_access_acl_aclcheck_aclfrommode_aclfrompbits_aclfromtext_aclsort_acltomode_acltopbits_acltotext_acos_acosf_acosh_acoshf_alarm_alloca_alphasort_asctime_asctime_r_asin_asinf_asinh_asinhf_atan_atan2_atan2f_atanf_atanh_atanhf_atexit_atof_atoff_atoi_atol_bcmp_bcopy_bsearch_bzero_cabs_cabsf_calloc_cbrt_cbrtf_ceil_ceilf_chdir_check_for_executable_chmod_chown_chroot_clearerr_clock_close_closedir_closelog_copysign_copysignf_cos_cosf_cosh_coshf_creat_ctime_ctime_r_ctype__cuserid_cwait_daylight_difftime_dirfd_div_dll_crt0@0_drand48_drem_dremf_dup_dup2_ecvt_ecvtbuf_ecvtf_endgrent_endmntent_endpwent_endutent_erand48_erf_erfc_erfcf_erff_execl_execle_execlp_execv_execve_execvp_exit_exp_expf_expm1_expm1f_f_atan2_f_atan2f_f_exp_f_expf_f_frexp_f_frexpf_f_ldexp_f_ldexpf_f_log_f_log10_f_log10f_f_logf_f_pow_f_powf_f_tan_f_tanf_fabs_fabsf_facl_fchdir_fchmod_fchown_fclose_fcntl_fcvt_fcvtbuf_fcvtf_fdopen_feof_ferror_fflush_ffs_fgetc_fgetpos_fgets_fileno_finite_finitef_fiprintf_floor_floorf_fmod_fmodf_fnmatch_fopen_fork_fprintf_fputc_fputs_fread_free_freopen_frexp_frexpf_fscanf_fscanf_r_fseek_fsetpos_fstat_fstatfs_fsync_ftell_ftime_ftruncate_fwrite_gamma_gamma_r_gammaf_gammaf_r_gcvt_gcvtf_get_osfhandle_getc_getchar_getcwd_getdomainname_getdtablesize_getegid_getenv_geteuid_getgid_getgrent_getgrgid_getgrnam_getgroups_gethostname_getlogin_getmntent_getmode_getpagesize_getpass_getpgrp_getpid_getppid_getpwduid_getpwent_getpwnam_getpwuid_getrlimit_getrusage_gets_gettimeofday_getuid_getutent_getutid_getutline_getw_getwd_glob_globfree_gmtime_gmtime_r_htonl_htons_hypot_hypotf_ilogb_ilogbf_index_infinity_infinityf_ioctl_iprintf_isalnum_isalpha_isascii_isatty_iscntrl_isdigit_isgraph_isinf_isinff_islower_isnan_isnanf_isprint_ispunct_isspace_isupper_isxdigit_j0_j0f_j1_j1f_jn_jnf_jrand48_kill_labs_lacl_lchown_lcong48_ldexp_ldexpf_ldiv_lgamma_lgamma_r_lgammaf_lgammaf_r_link_localeconv_localtime_localtime_r_log_log10_log10f_log1p_log1pf_logb_logbf_logf_longjmp_lrand48_lseek_lstat_malloc_matherr_mblen_mbstowcs_mbtowc_memccpy_memchr_memcmp_memcpy_memmove_memset_mkdir_mknod_mkstemp_mktemp_mktime_modf_modff_mount_nan_nanf_nextafter_nextafterf_nice_nrand48_ntohl_ntohs_open_opendir_openlog_pathconf_pclose_perror_pipe_poll_popen_pow_powf_printf_pthread_cleanup_pop_pthread_cleanup_push_putc_putchar_putenv_puts_putw_qsort_raise_rand_read_readdir_readlink_readv_realloc_remainder_remainderf_remove_rename_rewind_rewinddir_rindex_rint_rintf_rmdir_sbrk_scalb_scalbf_scalbn_scalbnf_scandir_scanf_scanf_r_seed48_seekdir_select_setbuf_setdtablesize_setegid_setenv_seteuid_setgid_setgrent_setjmp_setlocale_setmntent_setmode_setpassent_setpgid_setpgrp_setpwent_setrlimit_setsid_settimeofday_setuid_setutent_setvbuf_sigaction_sigaddset_sigdelset_sigemptyset_sigfillset_sigismember_signal_significand_significandf_sigpending_sigprocmask_sigsuspend_sin_sinf_sinh_sinhf_siprintf_sleep_snprintf_spawnl_spawnle_spawnlp_spawnlpe_spawnv_spawnve_spawnvp_spawnvpe_sprintf_sqrt_sqrtf_srand_srand48_sscanf_sscanf_r_stat_statfs_strcasecmp_strcat_strchr_strcmp_strcoll_strcpy_strcspn_strdup_strerror_strftime_strlcat_strlcpy_strlen_strlwr_strncasecmp_strncat_strncmp_strncpy_strpbrk_strptime_strrchr_strsep_strspn_strstr_strtod_strtodf_strtok_strtok_r_strtol_strtoll_strtoul_strtoull_strupr_strxfrm_swab_symlink_sync_sys_errlist_sys_nerr_sysconf_syslog_system_tan_tanf_tanh_tanhf_tcdrain_tcflow_tcflush_tcgetattr_tcgetpgrp_tcsendbreak_tcsetattr_tcsetpgrp_telldir_tempnam_time_times_timezone_tmpfile_tmpnam_toascii_tolower_toupper_truncate_ttyname_tzname_tzset_ualarm_umask_umount_uname_ungetc_unlink_unsetenv_usleep_utime_utimes_utmpname_vfiprintf_vfork_vfprintf_vfscanf_vfscanf_r_vhangup_vprintf_vscanf_vscanf_r_vsnprintf_vsprintf_vsscanf_vsscanf_r_wait_waitpid_wcscmp_wcslen_wcstombs_wctomb_wprintf_write_writevabortabsacceptaccessaclaclcheckaclfrommodeaclfrompbitsaclfromtextaclsortacltomodeacltopbitsacltotextacosacosfacoshacoshfalarmalphasortasctimeasctime_rasinasinfasinhasinhfatanatan2atan2fatanfatanhatanhfatexitatofatoffatoiatolbarflybcmpbcopybindbsearchbzerocabscabsfcalloccbrtcbrtfceilceilfcfgetispeedcfgetospeedcfsetispeedcfsetospeedchdirchmodchownchown32chrootcleanup_glueclearerrclockcloseclosedircloselogconnectcopysigncopysignfcoscosfcoshcoshfcreatctermidctimectime_rcuseridcwaitcygwin32_attach_handle_to_fdcygwin32_conv_to_full_posix_pathcygwin32_conv_to_full_win32_pathcygwin32_conv_to_posix_pathcygwin32_conv_to_win32_pathcygwin32_detach_dllcygwin32_internalcygwin32_posix_path_list_pcygwin32_posix_to_win32_path_listcygwin32_posix_to_win32_path_list_buf_sizecygwin32_split_pathcygwin32_win32_to_posix_path_listcygwin32_win32_to_posix_path_list_buf_sizecygwin32_winpid_to_pidcygwin_attach_handle_to_fdcygwin_conv_to_full_posix_pathcygwin_conv_to_full_win32_pathcygwin_conv_to_posix_pathcygwin_conv_to_win32_pathcygwin_detach_dllcygwin_dll_initcygwin_internalcygwin_logon_usercygwin_posix_path_list_pcygwin_posix_to_win32_path_listcygwin_posix_to_win32_path_list_buf_sizecygwin_set_impersonation_tokencygwin_split_pathcygwin_stackdumpcygwin_umountcygwin_win32_to_posix_path_listcygwin_win32_to_posix_path_list_buf_sizecygwin_winpid_to_piddifftimedirfddivdlclosedlerrordlforkdll_crt0__FP11per_processdll_dllcrt0dll_entry@12dll_noncygwin_dllcrt0dlopendlsymdrand48dremdremfdupdup2ecvtecvtbufecvtfendgrentendhostentendmntentendpwentendutenterand48erferfcerfcferffexeclexecleexeclpexecvexecveexecvpexitexpexpfexpm1expm1ffabsfabsffaclfchdirfchmodfchownfchown32fclosefcntlfcvtfcvtbuffcvtffdopenfeofferrorfflushffsfgetcfgetposfgetsfilenofinitefiniteffiprintffloorfloorffmodfmodffnmatchfopenforkfpathconffprintffputcfputsfreadfreefreopenfrexpfrexpffscanffscanf_rfseekfsetposfstatfstat64fstatfsfsyncftellftimeftruncateftruncate64fwritegammagamma_rgammafgammaf_rgcvtgcvtfget_osfhandlegetcgetchargetcwdgetdomainnamegetdtablesizegetegidgetegid32getenvgeteuidgeteuid32getgidgetgid32getgrentgetgrent32getgrgidgetgrgid32getgrnamgetgrnam32getgroupsgetgroups32gethostbyaddrgethostbynamegethostnamegetitimergetlogingetmntentgetmodegetpagesizegetpassgetpeernamegetpgidgetpgrpgetpidgetppidgetprotobynamegetprotobynumbergetpwduidgetpwentgetpwnamgetpwnam_rgetpwuidgetpwuid32getpwuid_rgetpwuid_r32getrlimitgetrusagegetsgetservbynamegetservbyportgetsocknamegetsockoptgettimeofdaygetuidgetuid32getutentgetutidgetutlinegetwgetwdglobglobfreegmtimegmtime_rgrantpth_errnoherrorhstrerrorhtonlhtonshypothypotfilogbilogbfindexinet_addrinet_atoninet_makeaddrinet_netofinet_networkinet_ntoainfinityinfinityfinitgroupsinitgroups32initstateioctliprintfisalnumisalphaisasciiisattyiscntrlisdigitisgraphisinfisinffislowerisnanisnanfisprintispunctisspaceisupperisxdigitj0j0fj1j1fjnjnfjrand48killkillpglabslacllchownlchown32lcong48ldexpldexpfldivlgammalgamma_rlgammaflgammaf_rlinklistenlocaleconvlocaltimelocaltime_rloglog10log10flog1plog1pflogblogbflogfloginlogoutlongjmplrand48lseeklseek64lstatlstat64mallocmatherrmblenmbstowcsmbtowcmemccpymemchrmemcmpmemcpymemmovememsetmkdirmkfifomknodmkstempmktempmktimemmapmmap64modfmodffmountmprotectmrand48msyncmunmapnannanfnextafternextafterfnicenrand48ntohlntohsopenopendiropenlogpathconfpausepcloseperrorpipepollpopenposix_regcompposix_regerrorposix_regexecposix_regfreepowpowfprintfpthread_atforkpthread_attr_destroypthread_attr_getdetachstatepthread_attr_getinheritschedpthread_attr_getschedparampthread_attr_getschedpolicypthread_attr_getscopepthread_attr_getstacksizepthread_attr_initpthread_attr_setdetachstatepthread_attr_setinheritschedpthread_attr_setschedparampthread_attr_setschedpolicypthread_attr_setscopepthread_attr_setstacksizepthread_cancelpthread_cond_broadcastpthread_cond_destroypthread_cond_initpthread_cond_signalpthread_cond_timedwaitpthread_cond_waitpthread_condattr_destroypthread_condattr_getpsharedpthread_condattr_initpthread_condattr_setpsharedpthread_continuepthread_createpthread_detachpthread_equalpthread_exitpthread_getconcurrencypthread_getschedparampthread_getspecificpthread_joinpthread_key_createpthread_key_deletepthread_killpthread_mutex_destroypthread_mutex_getprioceilingpthread_mutex_initpthread_mutex_lockpthread_mutex_setprioceilingpthread_mutex_trylockpthread_mutex_unlockpthread_mutexattr_destroypthread_mutexattr_getprioceilingpthread_mutexattr_getprotocolpthread_mutexattr_getpsharedpthread_mutexattr_gettypepthread_mutexattr_initpthread_mutexattr_setprioceilingpthread_mutexattr_setprotocolpthread_mutexattr_setpsharedpthread_mutexattr_settypepthread_oncepthread_selfpthread_setcancelstatepthread_setcanceltypepthread_setconcurrencypthread_setschedparampthread_setspecificpthread_sigmaskpthread_suspendpthread_testcancelptsnameputcputcharputenvputsputwqsortraiserandrandomrcmdreadreaddirreadlinkreadvreallocrealpathrecvrecvfromrecvmsgreent_dataregcompregerrorregexecregfreeregsubremainderremainderfremoverenamerewindrewinddirrexecrindexrintrintfrmdirrresvportsbrkscalbscalbfscalbnscalbnfscandirscanfscanf_rsched_get_priority_maxsched_get_priority_minsched_getparamsched_getschedulersched_rr_get_intervalsched_setparamsched_setschedulersched_yieldseed48seekdirseekdir64selectsem_destroysem_initsem_postsem_trywaitsem_waitsendsendmsgsendtosetbufsetdtablesizesetegidsetegid32setenvseteuidseteuid32setgidsetgid32setgrentsethostentsetitimersetjmpsetlocalesetlogmasksetmntentsetmodesetpassentsetpgidsetpgrpsetpwentsetrlimitsetsidsetsockoptsetstatesettimeofdaysetuidsetuid32setutentsetvbufsexeclsexeclesexeclpsexeclpesexecpsexecvsexecvesexecvpeshutdownsigactionsigaddsetsigdelsetsigemptysetsigfillsetsigismembersignalsignificandsignificandfsigpausesigpendingsigprocmasksigsuspendsinsinfsinhsinhfsiprintfsleepsnprintfsocketsocketpairspawnlspawnlespawnlpspawnlpespawnvspawnvespawnvpspawnvpesprintfsqrtsqrtfsrandsrand48srandomsscanfsscanf_rstatstat64statfsstrcasecmpstrcatstrchrstrcmpstrcollstrcpystrcspnstrdupstrerrorstrftimestrlcatstrlcpystrlenstrlwrstrncasecmpstrncatstrncmpstrncpystrpbrkstrptimestrrchrstrsepstrsignalstrspnstrstrstrtodstrtodfstrtokstrtok_rstrtolstrtollstrtosignostrtoulstrtoullstruprstrxfrmswabsymlinksyncsys_errlistsys_nerrsysconfsyslogsystemtantanftanhtanhftcdraintcflowtcflushtcgetattrtcgetpgrptcsendbreaktcsetattrtcsetpgrptelldirtelldir64tempnamtimetimestimezonetmpfiletmpnamtoasciitolowertouppertruncatetruncate64ttynamettyslottzsetualarmumaskumountunameungetcunlinkunlockptunsetenvusleeputimeutimesutmpnamevfiprintfvforkvfprintfvfscanfvfscanf_rvhangupvprintfvscanfvscanf_rvsnprintfvsprintfvsscanfvsscanf_rwaitwait3wait4waitpidwcscmpwcslenwcstombswctombwprintfwritewritevy0y0fy1y1fynynf,h@P`p(@Pdt,8P`p ,<Xl$<\p8Ph $8Xd|0DXl,H`x (8LXh$4@Tp 0P`p $4P`l(8H\p(8H\l|(4LP`p(@Pdt,8P`p ,<Xl$<\p8Ph $8Xd|0DXl,H`x (8LXh$4@Tp 0P`p $4P`l(8H\p(8H\l|(4LBackupReadBackupSeek BackupWrite BeepClearCommBreakClearCommErrorCloseHandle CompareFileTime#ConnectNamedPipe)CopyFileA.CreateDirectoryA2CreateEventA5CreateFileA6CreateFileMappingA@CreateMutexABCreateNamedPipeADCreatePipeECreateProcessAHCreateSemaphoreAKCreateThreadVDeleteCriticalSectionXDeleteFileA]DeviceIoControl_DisconnectNamedPipebDuplicateHandleeEnterCriticalSectionEraseTapeEscapeCommFunctionExitProcessExitThreadExpandEnvironmentStringsAFillConsoleOutputAttributeFillConsoleOutputCharacterAFindCloseFindFirstChangeNotificationAFindFirstFileAFindNextChangeNotificationFindNextFileAFlushConsoleInputBufferFlushFileBuffersFlushViewOfFileFreeConsoleFreeEnvironmentStringsAFreeLibraryGetACPGetCommStateGetCommandLineAGetComputerNameAGetConsoleCPGetConsoleModeGetConsoleOutputCPGetConsoleScreenBufferInfoGetConsoleTitleAGetCurrentDirectoryAGetCurrentProcessGetCurrentProcessIdGetCurrentThreadGetCurrentThreadIdGetDiskFreeSpaceAGetDriveTypeAGetEnvironmentStrings GetEnvironmentVariableAGetExitCodeProcessGetFileAttributesAGetFileInformationByHandleGetFileSizeGetFileTimeGetFileTypeGetFullPathNameAGetLastError!GetLogicalDriveStringsA#GetLogicalDrives'GetModuleFileNameA)GetModuleHandleA2GetNumberOfConsoleInputEvents4GetOEMCP5GetOverlappedResult6GetPriorityClassAGetProcAddressGGetProcessTimesTGetStartupInfoAVGetStdHandle^GetSystemDirectoryA`GetSystemInfobGetSystemTimedGetSystemTimeAsFileTimeeGetTapeParametersfGetTapePositionlGetThreadContextnGetThreadPriorityrGetTickCountuGetTimeZoneInformation{GetVersionExA}GetVolumeInformationAGlobalAllocGlobalFreeGlobalLockGlobalMemoryStatusGlobalUnlockInitializeCriticalSectionInterlockedDecrementInterlockedExchangeInterlockedIncrementIsBadReadPtrIsBadStringPtrAIsBadWritePtrLeaveCriticalSectionLoadLibraryALoadLibraryExALocalFreeLockFileLockFileExMapViewOfFileMapViewOfFileExMoveFileAMoveFileExAMultiByteToWideCharOpenEventAOpenFileMappingAOpenMutexAOpenProcessOpenSemaphoreAOutputDebugStringAPeekConsoleInputAPeekNamedPipePrepareTapePulseEventPurgeCommQueryDosDeviceAQueryPerformanceCounterQueryPerformanceFrequency ReadConsoleInputAReadConsoleOutputAReadFileReadProcessMemory!ReleaseMutex"ReleaseSemaphore#RemoveDirectoryA'ResetEvent(ResumeThread-ScrollConsoleScreenBufferA3SetCommBreak5SetCommMask6SetCommState7SetCommTimeouts=SetConsoleCtrlHandler@SetConsoleCursorPositionJSetConsoleModePSetConsoleTextAttributeQSetConsoleTitleAUSetCurrentDirectoryAYSetEndOfFileZSetEnvironmentVariableA\SetErrorMode]SetEvent^SetFileApisToANSI_SetFileApisToOEM`SetFileAttributesAbSetFilePointerdSetFileTimefSetHandleInformationiSetLastErrornSetNamedPipeHandleStateoSetPriorityClasstSetStdHandlevSetSystemTimexSetTapeParametersySetTapePosition{SetThreadContextSetThreadPrioritySleepSuspendThreadSystemTimeToFileTimeTerminateProcessTlsAllocTlsFreeTlsGetValueTlsSetValueTransmitCommCharUnlockFileUnlockFileExUnmapViewOfFileVirtualAllocVirtualFreeVirtualProtectVirtualQueryWaitCommEventWaitForMultipleObjectsWaitForSingleObjectWaitNamedPipeAWideCharToMultiByteWriteConsoleOutputAWriteFileWriteProcessMemoryWriteTapemarkKERNEL32.dlla#=a#=0a#= HX4VS_VERSION_INFO  ?.StringFileInfo 040904B00CompanyNameRed Hat`FileDescriptionCygwin POSIX Emulation DLL.FileVersion1.3.128 InternalNamecygwin1.dlll$LegalCopyrightCopyright Red Hat, Inc. 1996-2002@ OriginalFilenamecygwin1.dll.ProductNameCygwin2ProductVersion1.3.12&APIVersion0.544SharedMemoryVersion3PRegistryKeyCygnus Solutions\Cygwin>BuildDate2002-07-03 16:42DVarFileInfo$Translation 000912J22B34454?4N4U4p444444444444555*565@5O5_5g5o5y555555555555666,6;6@6P6X667/7H7N7]7777?8L8R8`89999:7:j::::B;;;;;;;;; 6>\>t>>????? 0000000 1!111l111122223344R5b5j5555a789,979Y9i9q9}9999 :I:::O;;;&3>C>K>c>>>>>>>>>?#?+?c?s?{?????050R0m0000111.2A2Q222333/44*6C6S6[66R7g7n7~77+8;8C89e9999999{:::::;(;0; <@>G>W>q>|>>>>>>L?[?k?s??@t 0i00282X224?4F4V44444555666677,747A7P7`7h777777799r::::<<<<<2=====>?P$00)0>0M1S1a1D22222o333k4w44444444444(5N5`5g5y5555555556 6.636;6F6Q6c6t6z666667(737D7I7Q7\7h7r7{777777778C8R8888888 9c999999::":?:T:h:p:u:::::::;Q;q;y;;;;<)<<<<<<,=8=^=h=r={====>#>@>_>u>>>>>>?6?V?^?j?p???`0#0)0.070=0V0o0Y1i1y111111 22#282D2P2Z2o2222222343?3O3W3r33334425J557777#868>8X88888888899999#9-929<9F9K9P9Z9_9i9p9v9|9999 :#:>:K:j:q:::::A;G;l;;; <1>G>O>C???????p000$030C0K0`0p0x0001#1+1l11}2222223}555555"646D6L667 7$747I7\7d777778,888999`9999 :N:`:m:x:::;O;;<|<<=>>3>C>K>[>w>??*?2?D?q???A0F0M0Y0g00000000J1_1k234d5t5|5555677k88999999::Q:y:::::::::::;;!;&;/;6;W;;;;;)<-=S=c=k======>?b0000011T2!34\444455556 66-6Q6s666q788888888888888888888888999 99999999;;;1>e>u>}>P?j?~??????00080H0P00001111111122222'3<3L3T3344V4k4{444F5T55555J6z66666J77777788C9999999(:^::::>;;<#<3<<< =<=M=]=e=>>>>?#?3?;?o??0001121C1S1[1<2Q2g2o222244(444>4I4\4d4T5\5u555555666/67667C7V7^78899:N:T::::c;;<<%<9>!>*>=>B>Q>a>i>s>>>>,?7?G?O?f?q???00!0,0<0D0V0v001W2s222233(30333444v44444444e5j5555555666]7e7m7u77$818:8K8Q8\8b8t8{8888E9v992:y:::::;E;};;==== >>+>3>????|0 0p0000011F1V1^12C3333 4$4:4B4Y4t44:5J55555 6=66666666777777788%81888H8P888 99!9t<7<<<@>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>e>o>y>>>>>>>>>>>>>>???#?-?7?A?K?U?_?i?s?}?????????????? 000'010;0E0O0Y0c0m0w000000000000001 11!1+151?1I1S1]1g1q1{11111111111222%2/292C2M2W2a2k2u222222222222223 333)3: ; ;E;O;Y;c;m;u;|;;;;;;;;;;<-<5<<>>> ?P?W?~???J1{1111111111222%2N3d3j333344v44 55.565H5[5v5555*797D77778%8-8C8I8k8{888888899n9~999999999::: ;;-;5;N;;<<<<='==========z>>>>>>>?000011>1M1u1z111123 3+3@3F3R3]3c3h3333333394I4444444565D6x6666666 7777@7899"9999999 ::$:/:?:G:W:::::#;/;V;v;;;;;;<<>&>c>???? 020B0J0_0y001111/1g1t1y1111r22(3Q3b33333334 484C4S4[4q44444"515A5I5Q5]5556&6.6666667#707=7V7a7q7y78888889 9/9K9P9U9e9u9}99999999999:::::::::;;;;;<<>.?:?O?f?n?}?????????000070<0C0K0S0[0h0u000000000001$1.191>1J1O1V1]1c1n1v11-272O2T2X2\2`2d2h2l2p2t2x2|2222222222 333(3333384g445555 66b6w6::;';/;<<===(=0=7=s===e>>>>??????@0001"12222f34444445@5T5l5|55566618M8]8e88 99H9W9b9r9}999999;;<>??P%0.0M0]0e000O1c1y111111z22222 32393I33344414<4L4T4r446666G7V7f7n7 8R88888888n9t9x9|999999999999::a:::::;2;R;r;;+<<=a==>g>v>>>?Z?i?y??` 050E0M000001111:2O2w2~222222r333333Z44445556 6i666Q8s8x888/9T9d9l999999999;>;W;g;o;;; <<=>>>>???px00b0q0000000$1T111222'245555u66\7~77#828B8J8T8k8{88 9h99:::/:7:M:K>c>>>6?l?s????D2223333334$4,44g55556+7J7]7g7789&9.9S99: [0`0d0h0l0p0t0x0|000000000000000000000000000000000111 11111 1$1(1,10141`1d1h1l1p1t1x1|111111111111111111111111111111111222 22222 2$2(2::::::::;;<<<<q????????????????1`2i22223383?3O343484<4@4D4H4L4P4T4X44444477 8878J8V8d8z999;;<<<<<< ==$=4=<=>>>>>>>???.?6?H0M1.222 3G4P4s444R5[5q555F6p666I77v;;;;p<<>>?F?C0L0c0s0{00#141F1V1^11112222N33445566666 727 838N8c88t99999:::::<;<<<<<=Q=>>>??S?\22{33333334 4#464E4f4v4~4:(:v::;;;[;~;4Y4c4i444 55558h8@99::;V;^;w;;;;<<<<<<>D>>>>>>>>>>> ??c?r????????,040r0}00000000001R1a1q1y11111112>2J3h3t333333333z445F667798q:|:::::;;;;;%>>>>??00001(1S11112s22222222.3^33344x4444444455 6C6X6h6{66p77777777 88888@9D9H9L9P9T9X9\9`9w::=>c0n00001-282^2n2v2344 55+5G5W5_555677777 888889(9|9999:.:::::;;; ;;;;; ;$;(;,;J;P;T;X;\;`;d;h;l;p;t;x;|;;y<<=> x0l1v1111T3%515@5P5X55]67a8p8t8x8|888888888888888888888899:::::;;a<====>0+0k0{00011'1t111112222 2$2(2,2024282<2@2D2y223474G4O4o44444566788&8.8:9T9g9o9::;;=X===>???K?e?u?}??@d'002O3Q4a4x4444444444525A5Q5Y5h5w5555556Q8~8'9:<-=> ?3?R?c?v??????Ph.002o33333344a56777177b8w88888=9{9999 :":7:::;;;;d<>>>>U?h???`"01122243D3L333333D4T4\4s44445)51566)61666677'868F8N89::::; ;A;;;;;;;< <7#?3?;?pph1#2,2H2X2`222224585H5P5_5p555 66"678s88888899999P:_:r:z:1;l;|;;">4>D>L>>>???G0g112A2222)363335!5(585[5556666666677:8c8s8{88888U:^:s:::::::;;F;V;^;k<<<<='=/=R=a=q=y=========[>>>>#?U?w????a111111 22V2_2p2u2222233334.4A4I44j666667m7z777778889K:q::;(;8;@;f>>>>>>,??????00001111O22222222334444}5555555636=7J7O7W7_7l7%8O889#9+99::':,:4:<:I:X;(<<<====>>>!>)>6>?-0000]1m1u111111112s333344!41494D44&555E5M5a5666&6.696667$7(7,7074787d7t7|77777777,898>8F8N8[88899y:::::;;< <<<<=>M>e?111 22C2Z2j2r223334\44444c5v5~55556u6k7777778*818l8q88888889 90989C9R9b9j9v999*:U:s:::: ;;.;;<.3>;>u>>>>>>>>>>>!?>???00W1p11122333k44445<5V5q5z55555666&606T66S77E8:o;;;$T>t>}>>>>>>??$?,?C?d?y????????? 020;0P0W0g00000001 11.161C1L1c1s1{1Z334B4M4]4e444444445 5617I7c777Q888A99 ::!:0::::::::;;#;3;;;J;Y;i;q;{;;;;;;;;+<;J>>>Z???E061g1*2D2222223J344-454[4k4s44b55 666a6{666j99999%:6:c:j:z:::::::;#;+;C;S;[;s;;;;;;;;< <5>)???? \111222R2r2U3y333/4M44%5a555666667778899:v;;<>>?0000:1M133j4,6C6S6[66667+8m8888888 9#979J9R9z;;;;;L<\=N=V=d=t=|====>)>9>A>j????????@030C0S0[0l0u0000022233$383J3\3333334J4V4n444444444 55&52575G5O555566>6I6N6`6g6o66&9D9\9999::!:3:h::;/;5;Q;w;;;<><<===== >>>&>^>f>r>z>>>>>>>?>?G?S?a?o?????P00#030o0x0000+171G1O1^1h1t11111112%2P22222222N3^3f3333333444=55556$6,686H6P6Z6e666667 7'74797A7I7V7w7k8888 99'979?99999::G:T:Y:a:i:v:::::::e?`X0%4l6z66`7777&8========>>>>>>?#?A?H?n?x??????????p00<0F0^0y0000 11%111A1I1Q1_1o1w1111112233$333?3O3W3_3q333333333444%4,434;4A4G4M4R4X4`444445C5T5`5555556636<6L6]6f66667'787W7x777777-8=8I8Q8x88888999_::;K;[;c;<<<< ='=?====9>G>L>R>g>????0[0k0s000000011V1i1x11111111a2r2222"3333333 44444Z555K6[6c666:7@7I7O7U7_7e7777777777777R8z88888;b>+><>W>n>u>>>>>?#?G?Q?u??TI1/2<256777:';.;7;:<<=5=U==> >)>3>F>U>>>>>>> ?(???????h0z000000011'1,1N1Y1k1111)2/22223R3333[66 77#7a799 ::#:J:;;;>q>|>>>;22m4445 5%555=5S5^5t506E66Y7c777o88888899%959=9s9:::@;S;c;x;;;;;;<#<+<{======= >>>4>B>R>Z>>>>>>> ??1?A?I????0001&1.1K1V1_1h1}111122!202@2H222233'323B3J3X3q3y33334M66"7?7i7q777777888.868J8Z8i8y888 9K9t9999:;u;~;;;;;<<<'<7)>}>?"?9?I?Q?????|00P0`0h00000000012%2-223333e4444Z555555556666d8;;;;u<|<<<>>>>?)?5?A?k?w?????0000$1s11122222#333;3f4444455556666666/77777u88888S9c9k9:':/:7:?:::::::;;;;;&;+;1;6;=;C;H;O;T;[;`;k;p;u;`>>>????v0000 1M111112 222&2B2R2t233Q333333 44455555 6666 77 888(838<8G8i8q8888 99:::::::::::::::::::::::;{<4>i>>>>>4?? \ 01B20334456666778_8S::(;;<<==#>;>J>>>>>> ?!?7?D?I?Q?Y?f??0000000N1g1t1y11115283333384F4Y4a4~44444445606<6K6a6s66667E8L8t8{888888 9#9,9[9k9s99999999::&::::::::: ;;!;*;C;S;[;;;;;;;;;;;;<<(<0@03334"4*4?4D4445505:5B5c5555555556 66#656=6L6c6m6666666666777*7;7G7h777[88889'929A9M9]9e9m9y9999999::::":):3:::E:J:P:V:\:b:j::::::;2;D;U;^;;;;;<)<2?>K>l>>>>?)?2?S?o???P1%111R1o11111222<2X22223(393B3c3333s444445@5Q5]5x555555567X7;8l888E9Z9m9u99999;;;E; =E=U=]=,>Z>j>r>>`H0~2e33r45666777781898]8~8885<====>>>">??p0M0g00000011-1;1h1111 2t2222222_33304D444?55566277V88899-9?9O9:;;;<<<===Q=l=??0`0N1c1s1{11111}3333 44$4B4Z4444444 5 5(5I5Y5g5n555556y6~6687X79n999 :`:o:::::::B;<<<<<>>>? ???(?>?Y?i?q?????,0P000001222g3v333555556 6068666666_7u7}7777(8R8f889@9K9f9n9}9999O:c:}:::::::;;K>(>0>?>K>c>u>>>?/?7?F?R?m??????T00>0.12+2P2q334!5:5B5`6699:0::P;;;;=====%>>?#?3?;?W??j00000L1n1111}22233*323`333333j44G55556p7789999;;C;c;k;;;;-,>0>4>8><>@>>>w0011111112 2~222222 333S4s4z4444441555667 8o888888999999 :::>:e:w:::; ;];;;2k>>n?B2I233@3P3X3m4>5I5q55555D6W6_6677C7H7X7d7p777777 8$818888888 9919<999:::g;;/s>>1???00%03090F0V0^0z001 22222.3 444*40444x55555D77777858E9|999999:::$;A;;;;;<)E>>?$x0002"2i2334 444(4333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4F556F91>>F?Q???p\C0]00V112Z23^34y6Z888"9V9l9t99999~;;;;;<$>B>R>Z>>>>? ?3333566666"717A7I77777777777888 88888 8$8(8,8084888<8@8D8H8L8P8T8X8\8k8999:::::;2;A;T;\;{;=3=*?`?}????????000)040D0L0Z3r34666666(7777777777777777888 88888 8$8(8,8084888<8@8D8H88;99 :h::::<]<<~=>>>0?[??300'11922V3315556666777777?8888889'969M9o9w9x:::::;*;O;d;t;|;;;;;;;;<<*<2<<@=I=p=======>?"?1?9?G?O?]?e?s?{???????????` 00"0*0000011123334Z444455/5B5J5e5 7Q8x9m::::::;;8>Y>l>y>??` 00Z000001&1.1A112$424f4v46667707H77 858J8_8t8888:;;;;;9<>>>>00 11112U2d2t2|22222#3,3333334 4#434;4L4\4d4t46678W889C9S9[9 :Q:s::::::;;;-;=;L;\;d;;;;;;<\A?P?c?k????????`00#0+0B0T0d0l0z0000 1a1233344444 66777777888:8+99;; <)y112/272H2[2c2~222222223x33333344!4/454B44444S555555 6666784999K:Z:m:u:::::::::;;;4;D;L;c;y;;;;;;;<$<,<6>>>>>>???? C1I11$2S2222223 303L3S3c33333344C4f4v4~445 5535J5Z5b55555666667$747<777@8G8N8]88H9O9p9w9~99R:n:~::::::::1;y<<=3====B>I>>??000[0{00000+1?1O1W12222t3{3j44445;5K5S556/6D6T6\6i6{6666666,7>7N7V777777%858=8f8v8~8889#9+979B9R9Z999::::);;;;?%>->D?K???@0011232J2{22 333 44 434C4K4m4t44444445#595A56f666666 7)7P7x7777777777 88#8<8Q8X8h8}888888S:v;;;;;;<#<,=F=e======= >>">0>@>H>Y>i>q>@?K?_?g?}?P00000011 131C1K11111 22222J3Q3X344S44444585B5R555M6y667)7777778 8889::::::8;?;Y;;;;<<">*>8>?>P>X>s>>>>>>>>>u????`0o001z1 2O3^3s33333 44:556 6%656=66777788\8}8:999999:;;I<<<<4===K>[>q>>>>>>>>>? ?1????p"2Z2~2222222A3M3c3s3{334444V44445#5+5G5T5Y5a5i5v55566$6,6C6S6[667#737;7V7q7788888949D9L9Z999.:G:]:i::::;;;;;;;;<<<<>&>@>>>>>>???R?a?z????????f0k0s0{00Z1u111111H2o22222x333333X4c4z44445535C5K5a555X6+787N7^7f7777777788"878G8O8k8s8{8888]9f999== >#>6>>>O>k>t>}>>>>?'?;?O?c?w?????????00&060U0\0l00000011'1/1>1F1U1e1m11111172J2R2}22222222 33!3A3S3c3k3w33333333333 4484E4T4Z4`4f4l4r4{4444444444444445,5?5G5h5x55555555556 6#636;67(717C7S7[7g7o7777777788C8M8T8k888888888899/9n9~99999999k:}:::::::;;;;;M;<<%>5>>>N>^>f>r>>>>>>>>>>>1<1H1_1i1r111111*2@2H2a2t2|222!3E3N3W3p333333314D4L4q4z44444444"5*505?5D5J5P5]5f5s55555662676C6[677?7D7K7U7b7m7r7777778l8|8888889 9 90989Z9j9r999999::;;;;<%<1<@t>> ??#?8?H?P???P)090A0111122>2H2j2t2222222233#3+3E3T3j3o3t3~333334@4j4~44444405R5a5q5y55555556"626:6S6c6k6~6666666667&7.7<7L7T7`7q7v7777777777788!818:8B8Z9r9z9999999:.:<:F:\:l:t:::::::::;;;;&;A;M;[;f;;;;;;;; <<.<6<\<<<====K==> >>>&>>???1?:?B?g?p???111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|111111111111111111111111111111111222 22222 2$2(2,223+6C6x666666777h88889z:S;i;q;;;;;;;<>223334L556667G7Z778I8i88999999999:!;_;};;;;; <<(>0>:>w>>>>>>???2?:?Z?e?????0 00-0J0R0y000<1L1T111|222]333333344450555 66L7a778u88889>99999):=:I:]:::;;B;K;];m;u;;;;;;;;;;;< <#>6>>>0W1\1c1m1r1w111111111111111(3o3y3333333344"4-4;4Z4z444444444h6t666667:7G7Y7e777M88:v::,3C3M3k3333j444B6666667B7N777 8+8G8999Z:m:u::::::;!;*;<;L;T;p;;;;=N=V======>>>1>W>d>i>q>y>>??#?3?;?????0$040=0S0Y0i0q000011A2P2b2j2r22223-3D3j3x3333+4=4O4a4t4}444'555555666!6)66667+7777777$8S8y88888889,91999A9N99;5;R;;;; <<<<=C=S=[=x======.>Y>n>>>>t???????? ]0s0000K1Y1i1q1111111111=222 33)313N3[3`3h3p3}3v444:5M5\5~5555555@67Y7o7777;8K8S8a8p8888888888888 99999:::`:j;;7=K=P=X=`=m==7>D>I>Q>Y>f>>>?K?P?X?`?m?0]000K1Y1i1q11112 20282Q2`2p2x22222223v333#464>4}4H55555555567277777778{888888888 9999+9!:::K;Y;l;t;;;;;;;<>!>)>G>T>Y>a>i>v>@010c0p00000011111 2222#333;3W3d3i3q3y33+4A444445 555&555)666"7S7777777888Z9j9r999 ::!:J:S:e:u:}::::::;<8<@<[<<<=&=<=D=Y=i=q==">f>>>>>>>????P000000 181111111;222(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|4444444444445'5B5T5o555556N6T6X6\6`6d6h6l6p6t6x6|666666666666666666666666666666666777 77777 7$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7x7|777777777777777777(8X888919b9~99:::::;;`;o;;;;;;<<<"<1A>W>o> ??;???`00!0>0O0W0_0j0~00=1111;2N2V223&3<3I3N3V3^3k3.4444 5(5>5K5P5X5`5m586G6k6y666617w788889(959:9B9J9W9y99B:W:::::::;^;;;;J>>>>>>W?d?i?q?y???p.070<0D0L0Y0y00;1M11111111"2B2]4m444455555 6I6i6y666666667O777777777r8888888;9T99: :>:H:T:d:l:z::::::; ;(;3;B;;;;;;;<$<,>!>z????Y0a0000V1f1n1111111282M2]2e2w22222223E3P3333444&444445 555&5J5555556K667 777&7J7N8[8`8h8p8}82999#::G;T;Y;a;i;v;<$>)>1>9>F>>>3?A1N1S1[1c1p11102=2M2Z2_2g2o2|222273D3I3Q3Y3f333Z4j4r444444444444*5@5T55&676D6I6Q6Y6f6677L7Z7777777 888888:9G9L9T9\9i999999999:::::;;; ;;;;; ;u;;6c>s>{>>I0Q0a0s00011113334414444444444X5555555555555<6f6666 7757P77777@8O8_8g8w888888888899'9/9?9G9W9_9x9::::;;/;C;S;[;;8>>?#?3?;?o0u011!1<1J1Z1b11111o2u22223#363>3W3b3r3z333444 55)515555636C6K6667777*86888*969;;;J>>>>I?????|00#0+0@0P0X0w0343D3L3c3v333333p45[77777K8888899;;K;S;e;u;};<<<< ==#=3=;=Z=>>2?>?G?W?_??`E000w112(2222(3M33344'5666 77#737;78L888#99:;;<<<)<1>`?q?0080m000000 113H3x34:4x4H99B<=@11222233323B3J3a3q3y356W6=1>P???????x001*1e1111122Q2Y2>3U3h3p33345z555555558888 ::+:>:F:w::;/;E;T;l;;;; <<<<>00001191s1111 22:2D2W2222V3`3333344465I5q55555566666@7O7_7g7g9:9:m:}::::::::::I;Y;a;;;;;;<<{<<<<<<<<<<=!=1=9=j==>>>>? ?#?3?;? 0+0C0S0[0q0z0000111222+2W2b2r2z222222 33"34445"5;5\5e5y5555555 66.6N6n6666777 8;8P8|8888999: ::(:0:w:::::::::;8;G;m;;;;;;<"<2<= >V>>>>>> ?^??00`0o000000011m1x1111111 2%2;2C23+393R3c3q3z3G4Z4495S5_5l5'66666,777R7b7w777777 8;8888888$929g9q9y9G:S::::);;;;;;;(?????????????????????@000 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|000000000000000000000000000000000111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|111111111111222r2}22222223*383O3X3i33333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|444444444444444444444444444444444555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|55555555555555555555.6M6^66666666667"7'757_77788899999`:d:h:l:p:t:x:|:::::::::::::::::::::::::::::::::; ;;%;Q;b;m;u;;;>+?Pz0002223333333344&4444445I5Y5a5v5555555555g6t6y6666?7D7[7777777777 808]8b8z8888889 9a999:9:f:t:y:~:::::;G;W;_;y;;;;;;+&>B>S>Z>b>j>>>>>>> ??-?A?j?????????`T01111122:2@2r2x2~22222222333+353@3^3h3z333333334 444,444S4|444444444444888@8D8L8P8X8\8d8h8p8t8|888888888888888888888899 9999$9(90949<9@9H9L9T9X9`9d9l9p9x9|99999999999999::+:<:P::::::::;;;G;P;V;;;;;;;; t>>V??80011$22334 557777778888 8(80888C8R888888=99c:::>>>> ?q????A1O1W1_1g122222T333447878`8888999\999>>$>.>>>F>N>V>f>n>~>>>>>>? ???-?5?E?M?]?e?u?}??????\40E0M0U0]0m0u000000000001 11$141<1L1T1d1l1~1113333 44"4*4:4B4c44444444555&565>5N5V5f5n555666&666>6N6V6f6n6~666666666777.767F7N7`7j7}799: ::":*:2:B:J:Z:b:r:z::::::: ;;#;+;;;C;S;[;k;s;;;;<%<-<5<=>>> ??"?*?:?B?c????????000&060>0N0V0f0n00011 1(181@1P1X1h1p1111111111222.262F2N2`2j2}22333V33333L4v4445 5595r66667F7S7{777777788889D9L9g992::::: ;;;";*;:;;<=_>e>0001111262J2[2j22:3Z33 4C444444c555?66666 77*7778889Q9V9o999*:d::;W;m;;;;;< <<<<===>U>Z>w>>>=0]000B1u1{112d22223:333%4X4^444;55556C6I66637t778'8,8889e9w9|9::::;1;;<<;_>>>M?{???????t0 000!0)0S0]0 1,1~11122227 8889398999O:[::::;,;2;8;;*<<+=2=e=j==>k>>>>>R?X?^?? PM00A1z23F4z4*555{666U7778(88j999K::::=>Q>>>>N?~??? 30}00<111333333 4z4444444g66666666666677737U7f7x777777777888$848<8L8T8d8u888x9999999999999::<:Q:c:{::::::::::;;;';7;?;O;`;x;;;0<<=`=>>?!?-?5?B?O?_?g?w?????? 80E0h0p0x00000000011111222/272G2Z222223 3(303@3H3X3`3j3r3~33366L7~77777778%8-858E8M8[8k888888: ;?;G;f;r;;;;;;;;<<%<5W>]>h>n>>>#?2?W?????0 "1(191B111112=2L2c2r2X33394r44{5555555528888888 999:M:[:::: ;;K;S;nP T001399::':/:?:G:W:_:y:::I;<<<<===&=6=>=N=V=`=h=v====J>>` 00?1D1X1]1g1l133,4@4E4X4]4g4l4V5u55555555556z667777888&868>8N8V8`8h8v8888K99~:::: ;;!;&;"<'<<<<<<<<9>H>X>`>h>p>>>>>>>9??p 1(1Q1`1h1p1x11111112h2235$555555588888888899999:::*:2:B:V::;;<1>J?O?]?b?q?v? Lr0w000111'1,11{2333^444 555:668"9J9j99+:j:::<9=? @#0(0,0004080<0@0F0^0s000000 131b4444444444445555=5E5M5]5e5u5}55555555555 66"6.6:6F6R6^6j6t666666D7N7V7^7f7v7~77777777777778 888&8088888888889T9::;@;D;H;L;P;T;X;^;n;;;;;;; <3<(>h>p>x>>>>>>>>>>>?? ?(?8?@?P?X?h?p???????????? 00!0-090E0O0_0i0000$1.161>1F1V1^1n1v11111111111111122h2p2z22222222434444445>5555549l9x999999F:\:b:;$;3;R;`;n;v;~;;)>u> |1222%2-292y2c3o3}3333333F4d4j4444B55555555I6\6d6q6~6689I:j:H;X;i<|>>>"?5? p0$1,1M1U1]1e1u1}11111111b223334%4-454E4M4]4e4u4}4444%5L5]6>7D777:b:|<<=X>^?d??? 032z2V4r45556f6M7888w88:;;= 0111 222#3455 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|55555*777l9s9~999l::;=>>>>> X12222w33{4t8g::;z;;;; <*$>7>g> $1233374W555=7>a>7?? 01422w3~333M4f444V7777 8;;;;;<<< <<<<< <$<(<,<0<4<8<<<@9>C>o>>>?9? @112233333o55576888:s:w;;;Sp?x?0 ?0S0a0w001G1y1124!6667 77777 7$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7x7|777777777777777777777777777777777888 88888 8$8(8,8084888<8@8D8H8L8P8T8X8\8`8d8h8l84:::o;;> ?P ,0K00L11w2245R66(:<==>>` <d1122222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|44444444444444L5555555557 8;8n888888888999 99999 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9x9|999999999999999999999999999999999::: ::::.;.T>X>\>`>d>h>l>p>t>x>|>I?P?T?X?\?`?d?h?l?p?t?x?|????????????????????????????????? 000 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|00000000000171P1f11112O2x222$3f3334F4l444 545j555$6F66{<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=== ===== =$=(=,=0=4=8=<=@=D=H=L=P=T=X=\=`=d=h=l=p=t=x=|=================================>>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>l>>?v? h|00%1,2u236D:::: ;=;R;`;q;;;;<<&<,<7C>d>>>>B?M?T?[??? LH01D1r1111222222233N333333 445R67777*9G99:B: <188;;F>>>>P?? $088899B:::;&>>>> <2 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|222222222222222222222222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444^5f5688;:g::;;<)^>>>>>?? !0,0f0u0&2,2024282<2@2D2H2L2P2T2X2\2 :(:::E:M::::::;;;;<<<<<< =W========>+>K>n>>>>[?{???? 0;0[0~0T<<=A=>Z>>?0 90*363D3N355}6677l88889Z:::K;;;Z<<< =!=(=`>d>l>p>x>|>>>>>>>>>>>>>>>>>>>>>>?? ??? ?$?,?0?8?+>D>c>z>>>9?S?o???P 8000 0$0(0,0004080<0@0D0H0L0P0T0X0\001*111"2i2c4h4l4p4t4x4|444444444444444444444444444444444555 55555 5$5(5,5N555]6v66677888888888888889 9999 9$9@9D9H9L9P9T9X9\9`9d9l9p9t9x99999999Q:c:j:::L;[;e;;;;;{<<>>>j?` 070o0001(2U222T333 4a4444!565566S6l666 8L8s8889H99?:X::==9>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>??=?V?a?i?u???????p h00%080I0b0r0000000001151H1Y1r112`2y222233M3u3334F444,55p666 77d7t7 |8888999 99999 9$9;;;;;;;;;;;;;;;;;;;;;;<<< <<<<< <$<(<,<0<4<8<<<@;>n>>>>.?[?~??? < 0.0[0~0000123(3t4x4|444444444444 (4080<0d03333L4P4T45555555555555555555666P6T6X6\6`6d6h6l6p6t6x6|66666666666666666666666666667777 7(70787@7H7P7X7`7h7p7x777777777777777778888 8(80888@8H8P8X8`8h8p8x888888888888888889999 9(90989@9H9P9X9`9h9p9x9999999999999999:: ::::$:(:0:4:<:@:H:L:T:X:`:d:l:p:x:|:::::::::::::@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;;;;;<<<<<<@=D=H=L=P=T=X=`=d=h=l=p=t=x===========================>>>>D> L111111111111111111111111111222 22222 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|222222222222222222222222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|444444444444444444444444444444444555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|555555588999 99999 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9l9p9t9x99999999999999999999999::: ::::: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:::::::::::::::::::::::::::::::;;; ;;;;; ;$;(;,;0;4;8;<;@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<< <<<<< <$<(<,<0<4<8<<<@>> >>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??? ??? ?$?(?,?0?4?8?>> >>>>> >$>(>,>0>4>8><>@>D>H>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??? ????? ?$?(?,?0?4?8?h>l>p>t>x>>>>>>>>>>>>>>>>>>>>>? ???X?\?p?t???????????0 0000,00040H0L0`0d0x0|000000000081@1H1P1X1`1h1x1111111111111111111111111222 22222 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|222222222222222222222222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3333333333333333333333333344 4,484D4P4\4h4t444444444444555(545@5L5X5d5p5|555555555556 66$606<6H6T6`6l6x66666666666677 7,787D7P7\7h7t7777777778 888$8,848<8D8L8T8\8d8l8t8|8888888899999999999999:::::::$:(:,:0:8:<:@:D:L:P:T:X:`:d:h:l:t:x:|:::::::::::::::;;;;(;,;<;@;P;d;x;;;;@ 44$404<4H4T4`4l4x44444444444455 5,585D5P5\5h5t55555555555 66$606P6T6X6\6`6d6h6l6p6t6x6|6666666666P T=\=d=l=t=|=================> >>>$>,>4><>D>L>T>\>d>l>t>|>>>>>>>>>>>>>>>>>? ???$?,?4?0K0W0d0p0}00000000000111,181E1Q1^1j1w111111111112 22&222?2K2X2d2q2}2222222222233 3,393E3R3^3k3w333333333334 44&434?4L4X4e4q4~4444444444455 5-595F5R5_5k5x55555555555666'636@6L6 00)0/0Q0W0i0o000000000!1'1A1G1i1o11111111122)2/2I2O2y22222222)3/3Q3W3y333333334494?4i4o44444444455A5G5i5o55555555566I6O6q6w666666666771777Q7W7q7w7777777778898?8Y8_888888899A9G9 $0 00%020>0K0W0d0p0}0000 $00!0'0A0G0i0o0000000 80 00"0,080B0N0X0d0n0z0000000000000 800!0'0I0O0i0o000000011)1/1Q1W1y1111 0 0 00 0 00$000<0H0T0`0l0 001070Y0_0y00000 |0 00#0.0:0E0Q0\0h0s0000000000000 11 1+171B1N1Y1e1p1|111111111111222(242?2K2V2b2m2y222@ |00!0'0A0G0a0g00000000011!1'1I1O1i1o1111111221272Q2W22222222233!3'3A3G3i3o3333333P 00!0'0A0G0a0g0000000000011)1/1I1O1i1o111111111 22)2/2I2O2i2o22222222233331373I3O3a3g3333333333344` <00!0'0A0G0i0o00000000011!1'1A1G1i1o111p 0 00%0 00!0'0 0 00"0,080 00!0'0A0G0 (0 00%020>0K0W0d0p0}000000 (000090?0a0g000000000 <0 00"0,080B0N0X0d0n0z000000000000011 <00)0/0I0O0i0o0000000001191?1Y1_1y1111 0$0-0b0t0}00000121D1l111282A2q222233V3h3q33334$4L4t4445<5t5555(6H66667T7777808\88889H9x999:@::::;H;p;;;;; / 1025819373 0 0 0 2922 ` rrrXXXlll!"!"!"###%%%("("("***,,,/^/^/^1114@4@4@666888;l;l;l===@@@BBBDDDG>G>G>IIIKKKN"N"N"PPPRRRU:U:U:WWWYYY\X\X\X^^^```c(c(c(e^e^e^gggiiillln\n\n\ppprrr_wpcap_dll_iname__head_wpcap_dll_wsockinit__imp__wsockinit__nm__wsockinit_pcap_strerror__imp__pcap_strerror__nm__pcap_strerror_pcap_stats__imp__pcap_stats__nm__pcap_stats_pcap_snapshot__imp__pcap_snapshot__nm__pcap_snapshot_pcap_setmode__imp__pcap_setmode__nm__pcap_setmode_pcap_setmintocopy__imp__pcap_setmintocopy__nm__pcap_setmintocopy_pcap_setfilter__imp__pcap_setfilter__nm__pcap_setfilter_pcap_setbuff__imp__pcap_setbuff__nm__pcap_setbuff_pcap_sendpacket__imp__pcap_sendpacket__nm__pcap_sendpacket_pcap_read__imp__pcap_read__nm__pcap_read_pcap_perror__imp__pcap_perror__nm__pcap_perror_pcap_open_offline__imp__pcap_open_offline__nm__pcap_open_offline_pcap_open_live__imp__pcap_open_live__nm__pcap_open_live_pcap_open_dead__imp__pcap_open_dead__nm__pcap_open_dead_pcap_offline_read__imp__pcap_offline_read__nm__pcap_offline_read_pcap_next_etherent__imp__pcap_next_etherent__nm__pcap_next_etherent_pcap_next__imp__pcap_next__nm__pcap_next_pcap_minor_version__imp__pcap_minor_version__nm__pcap_minor_version_pcap_major_version__imp__pcap_major_version__nm__pcap_major_version_pcap_loop__imp__pcap_loop__nm__pcap_loop_pcap_lookupnet__imp__pcap_lookupnet__nm__pcap_lookupnet_pcap_lookupdev__imp__pcap_lookupdev__nm__pcap_lookupdev_pcap_is_swapped__imp__pcap_is_swapped__nm__pcap_is_swapped_pcap_getevent__imp__pcap_getevent__nm__pcap_getevent_pcap_geterr__imp__pcap_geterr__nm__pcap_geterr_pcap_fileno__imp__pcap_fileno__nm__pcap_fileno_pcap_file__imp__pcap_file__nm__pcap_file_pcap_dump_open__imp__pcap_dump_open__nm__pcap_dump_open_pcap_dump_close__imp__pcap_dump_close__nm__pcap_dump_close_pcap_dump__imp__pcap_dump__nm__pcap_dump_pcap_dispatch__imp__pcap_dispatch__nm__pcap_dispatch_pcap_datalink__imp__pcap_datalink__nm__pcap_datalink_pcap_compile_nopcap__imp__pcap_compile_nopcap__nm__pcap_compile_nopcap_pcap_compile__imp__pcap_compile__nm__pcap_compile_pcap_close__imp__pcap_close__nm__pcap_close_optind__imp__optind__nm__optind_opterr__imp__opterr__nm__opterr_optarg__imp__optarg__nm__optarg_getservent__imp__getservent__nm__getservent_getopt__imp__getopt__nm__getopt_eproto_db__imp__eproto_db__nm__eproto_db_endservent__imp__endservent__nm__endservent_bpf_image__imp__bpf_image__nm__bpf_image_bpf_filter__imp__bpf_filter__nm__bpf_filterd000064.o/ 1025819373 1003 513 644 253 ` L.idata$4.idata$5.idata$7 wpcap.dll.idata$4.idata$5.idata$7_wpcap_dll_iname d000019.o/ 1025819373 1003 513 644 334 ` L.idata$2.idata$5.idata$45 .idata$2.idata$5.idata$4&__head_wpcap_dll_wpcap_dll_inamed000063.o/ 1025819373 1003 513 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %+wsockinit.text.idata$7.idata$5.idata$4.idata$6 0A_wsockinit__imp__wsockinit__nm__wsockinit__head_wpcap_dll d000062.o/ 1025819373 1003 513 644 535 ` L( .text .idata$7 .idata$5.idata$4.idata$6%*pcap_strerror.text.idata$7.idata$5.idata$4.idata$6(<M_pcap_strerror__imp__pcap_strerror__nm__pcap_strerror__head_wpcap_dll d000061.o/ 1025819373 1003 513 644 526 ` L( .text .idata$7 .idata$5.idata$4.idata$6%)pcap_stats.text.idata$7.idata$5.idata$4.idata$6"3D_pcap_stats__imp__pcap_stats__nm__pcap_stats__head_wpcap_dlld000060.o/ 1025819373 1003 513 644 535 ` L( .text .idata$7 .idata$5.idata$4.idata$6%(pcap_snapshot.text.idata$7.idata$5.idata$4.idata$6(<M_pcap_snapshot__imp__pcap_snapshot__nm__pcap_snapshot__head_wpcap_dll d000059.o/ 1025819373 1003 513 644 532 ` L( .text .idata$7 .idata$5.idata$4.idata$6%'pcap_setmode.text.idata$7.idata$5.idata$4.idata$6&9J_pcap_setmode__imp__pcap_setmode__nm__pcap_setmode__head_wpcap_dlld000058.o/ 1025819373 1003 513 644 563 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%&pcap_setmintocopy .text.idata$7.idata$5.idata$4.idata$60HY_pcap_setmintocopy__imp__pcap_setmintocopy__nm__pcap_setmintocopy__head_wpcap_dll d000057.o/ 1025819373 1003 513 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%%pcap_setfilter.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_setfilter__imp__pcap_setfilter__nm__pcap_setfilter__head_wpcap_dlld000056.o/ 1025819373 1003 513 644 532 ` L( .text .idata$7 .idata$5.idata$4.idata$6%$pcap_setbuff.text.idata$7.idata$5.idata$4.idata$6&9J_pcap_setbuff__imp__pcap_setbuff__nm__pcap_setbuff__head_wpcap_dlld000055.o/ 1025819373 1003 513 644 557 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%#pcap_sendpacket.text.idata$7.idata$5.idata$4.idata$6,BS_pcap_sendpacket__imp__pcap_sendpacket__nm__pcap_sendpacket__head_wpcap_dll d000054.o/ 1025819373 1003 513 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %"pcap_read.text.idata$7.idata$5.idata$4.idata$6 0A_pcap_read__imp__pcap_read__nm__pcap_read__head_wpcap_dll d000053.o/ 1025819373 1003 513 644 529 ` L( .text .idata$7 .idata$5.idata$4.idata$6%!pcap_perror.text.idata$7.idata$5.idata$4.idata$6$6G_pcap_perror__imp__pcap_perror__nm__pcap_perror__head_wpcap_dll d000052.o/ 1025819373 1003 513 644 563 ` L8 .text .idata$7.idata$5$.idata$4..idata$6% pcap_open_offliney.text.idata$7.idata$5.idata$4.idata$60HY_pcap_open_offline__imp__pcap_open_offline__nm__pcap_open_offline__head_wpcap_dll d000051.o/ 1025819373 1003 513 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_open_live.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_open_live__imp__pcap_open_live__nm__pcap_open_live__head_wpcap_dlld000050.o/ 1025819373 1003 513 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_open_dead.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_open_dead__imp__pcap_open_dead__nm__pcap_open_dead__head_wpcap_dlld000049.o/ 1025819373 1003 513 644 563 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_offline_read.text.idata$7.idata$5.idata$4.idata$60HY_pcap_offline_read__imp__pcap_offline_read__nm__pcap_offline_read__head_wpcap_dll d000048.o/ 1025819373 1003 513 644 566 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_next_etherent.text.idata$7.idata$5.idata$4.idata$62K\_pcap_next_etherent__imp__pcap_next_etherent__nm__pcap_next_etherent__head_wpcap_dlld000047.o/ 1025819373 1003 513 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %pcap_next.text.idata$7.idata$5.idata$4.idata$6 0A_pcap_next__imp__pcap_next__nm__pcap_next__head_wpcap_dll d000046.o/ 1025819373 1003 513 644 566 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_minor_version.text.idata$7.idata$5.idata$4.idata$62K\_pcap_minor_version__imp__pcap_minor_version__nm__pcap_minor_version__head_wpcap_dlld000045.o/ 1025819373 1003 513 644 566 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_major_version.text.idata$7.idata$5.idata$4.idata$62K\_pcap_major_version__imp__pcap_major_version__nm__pcap_major_version__head_wpcap_dlld000044.o/ 1025819373 1003 513 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %pcap_loop.text.idata$7.idata$5.idata$4.idata$6 0A_pcap_loop__imp__pcap_loop__nm__pcap_loop__head_wpcap_dll d000043.o/ 1025819373 1003 513 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_lookupnet.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_lookupnet__imp__pcap_lookupnet__nm__pcap_lookupnet__head_wpcap_dlld000042.o/ 1025819373 1003 513 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_lookupdev.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_lookupdev__imp__pcap_lookupdev__nm__pcap_lookupdev__head_wpcap_dlld000041.o/ 1025819373 1003 513 644 557 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_is_swapped.text.idata$7.idata$5.idata$4.idata$6,BS_pcap_is_swapped__imp__pcap_is_swapped__nm__pcap_is_swapped__head_wpcap_dll d000040.o/ 1025819373 1003 513 644 535 ` L( .text .idata$7 .idata$5.idata$4.idata$6%pcap_getevent.text.idata$7.idata$5.idata$4.idata$6(<M_pcap_getevent__imp__pcap_getevent__nm__pcap_getevent__head_wpcap_dll d000039.o/ 1025819373 1003 513 644 529 ` L( .text .idata$7 .idata$5.idata$4.idata$6%pcap_geterr.text.idata$7.idata$5.idata$4.idata$6$6G_pcap_geterr__imp__pcap_geterr__nm__pcap_geterr__head_wpcap_dll d000038.o/ 1025819373 1003 513 644 529 ` L( .text .idata$7 .idata$5.idata$4.idata$6%pcap_fileno.text.idata$7.idata$5.idata$4.idata$6$6G_pcap_fileno__imp__pcap_fileno__nm__pcap_fileno__head_wpcap_dll d000037.o/ 1025819373 1003 513 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %pcap_file.text.idata$7.idata$5.idata$4.idata$6 0A_pcap_file__imp__pcap_file__nm__pcap_file__head_wpcap_dll d000036.o/ 1025819373 1003 513 644 554 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_dump_open.text.idata$7.idata$5.idata$4.idata$6*?P_pcap_dump_open__imp__pcap_dump_open__nm__pcap_dump_open__head_wpcap_dlld000035.o/ 1025819373 1003 513 644 557 ` L8 .text .idata$7.idata$5$.idata$4..idata$6%pcap_dump_close.text.idata$7.idata$5.idata$4.idata$6,BS_pcap_dump_close__imp__pcap_dump_close__nm__pcap_dump_close__head_wpcap_dll d000034.o/ 1025819373 1003 513 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %pcap_dump.text.idata$7.idata$5.idata$4.idata$6 0A_pcap_dump__imp__pcap_dump__nm__pcap_dump__head_wpcap_dll d000033.o/ 1025819373 1003 513 644 535 ` L( .text .idata$7 .idata$5.idata$4.idata$6% pcap_dispatch.text.idata$7.idata$5.idata$4.idata$6(<M_pcap_dispatch__imp__pcap_dispatch__nm__pcap_dispatch__head_wpcap_dll d000032.o/ 1025819373 1003 513 644 535 ` L( .text .idata$7 .idata$5.idata$4.idata$6% pcap_datalink.text.idata$7.idata$5.idata$4.idata$6(<M_pcap_datalink__imp__pcap_datalink__nm__pcap_datalink__head_wpcap_dll d000031.o/ 1025819373 1003 513 644 569 ` L8 .text .idata$7.idata$5$.idata$4..idata$6% pcap_compile_nopcap.text.idata$7.idata$5.idata$4.idata$64N__pcap_compile_nopcap__imp__pcap_compile_nopcap__nm__pcap_compile_nopcap__head_wpcap_dll d000030.o/ 1025819373 1003 513 644 532 ` L( .text .idata$7 .idata$5.idata$4.idata$6% pcap_compile.text.idata$7.idata$5.idata$4.idata$6&9J_pcap_compile__imp__pcap_compile__nm__pcap_compile__head_wpcap_dlld000029.o/ 1025819373 1003 513 644 526 ` L( .text .idata$7 .idata$5.idata$4.idata$6% pcap_close.text.idata$7.idata$5.idata$4.idata$6"3D_pcap_close__imp__pcap_close__nm__pcap_close__head_wpcap_dlld000028.o/ 1025819373 1003 513 644 506 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %optind.text.idata$7.idata$5.idata$4.idata$6_optind0__imp__optind__nm__optind__head_wpcap_dlld000027.o/ 1025819373 1003 513 644 506 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %opterr.text.idata$7.idata$5.idata$4.idata$6_opterr0__imp__opterr__nm__opterr__head_wpcap_dlld000026.o/ 1025819373 1003 513 644 506 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %optarg.text.idata$7.idata$5.idata$4.idata$6_optarg0__imp__optarg__nm__optarg__head_wpcap_dlld000025.o/ 1025819373 1003 513 644 526 ` L( .text .idata$7 .idata$5.idata$4.idata$6%getservent.text.idata$7.idata$5.idata$4.idata$6"3D_getservent__imp__getservent__nm__getservent__head_wpcap_dlld000024.o/ 1025819373 1003 513 644 506 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %getopt.text.idata$7.idata$5.idata$4.idata$6_getopt0__imp__getopt__nm__getopt__head_wpcap_dlld000023.o/ 1025819373 1003 513 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %eproto_db.text.idata$7.idata$5.idata$4.idata$6 0A_eproto_db__imp__eproto_db__nm__eproto_db__head_wpcap_dll d000022.o/ 1025819373 1003 513 644 526 ` L( .text .idata$7 .idata$5.idata$4.idata$6%endservent.text.idata$7.idata$5.idata$4.idata$6"3D_endservent__imp__endservent__nm__endservent__head_wpcap_dlld000021.o/ 1025819373 1003 513 644 523 ` L( .text .idata$7 .idata$5.idata$4.idata$6 %bpf_image.text.idata$7.idata$5.idata$4.idata$6 0A_bpf_image__imp__bpf_image__nm__bpf_image__head_wpcap_dll d000020.o/ 1025819373 1003 513 644 526 ` L( .text .idata$7 .idata$5.idata$4.idata$6%bpf_filter.text.idata$7.idata$5.idata$4.idata$6"3D_bpf_filter__imp__bpf_filter__nm__bpf_filter__head_wpcap_dlltcptrace-6.6.7/cygwin-libs/winNT/wpcap.dll0100644001217500001440000042557607511147363020176 0ustar mramadasusersMZ@ !L!This program cannot be run in DOS mode. $PEL$= 8Z&pLp`D +.textYZ `.data`p^@.bssPn.edata+b.idata h@.relocr.stab0B.stabstr@BUhhuV1҅uÉUhhuUÍvUVSu u8hVuU 1KTuVu=TÃu u"u=u1 ؍e[^ USt:9rvtЃ9sP;UjU]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)vULWVS]u b11=$`h<p,x4 DH dQvChaS(vSLvSpvu}SB;E{M  P Oƃ SB;EOM  PO S;U&E 4nU9S CM $Js@{8Ct()C|(Ct( C|(Cv;sv/C-;sr#C!;suC#Ct CvCÉ9w"9s9tt C|Cpi)aXu11?v!5 -#vvs +ssv1s#s sKKe[^_]ÉUWVS}u 19}kfu)Ku B9r1WB9}B9}ft%f`uzwf:4uztC9|Df[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)%d %u %u %u %u { 0x%x, %d, %d, 0x%08x }, U WVSEU 8X~GWh> N19CPCPCPPhBM F9|^~319}SCPCPCPPhOM F9|&19} VSWPqM F9|e[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)unimp0x%xret#%dld[%d]ldhldb#pktlen[x + %d]#0x%xldxldxb4*([%d]&0xf)M[%d]ststxja%djgtjgejeqjsetxaddsubmuldivandorlshrshnegtaxtxa(%03d) %-8s %-16s jt %d jf %d(%03d) %-8s %sULWVS}O=$ L\lp\\\\\\\\\\\\\\\\\\\\\\\\\\$\\\\\\\\\\\4\\\\\\\\\\T\\\\\\\\\\\\D\\\,<\\\\\\\\\d\\\\\\\\\\\\\\t\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\{k_O?/G@M vgW G7' "&*-1znbV"J&>*2-&159=QRj@]SFGU DPGDPSVR_fu tARhh fF e[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)U WVS 1 EPEÃ8uXjSEt u  8uX%hSzEu'vMQTE Eu;18uXvjSEts<8uXvjSDtssɃEPDÃ8uX%hSD8uXvjS]DtC<8uXvjS%DtCC ƃMQCÃ :uMQCÃGR8uXjSCuEPC tyurMQhCÃ8uXjSICt u #u#vEPC tu&yGMQBÃ8uXvjSBu tN tEPB tu  1e[^_]ÐUUu1u @t]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)UE =t$PEPhP.PAjhAout of memoryUWVSE$EU;v\=~h5%^S@FSjPJA 9]v h5%#+EFe[^_]ÍvU WVS1<;t;P7@;F~׍e[^_]ÐU WVS]߰փVǃVSW@~D7e[^_]ÐUS]h@@`X]]É'syntax error in filter expressionsnaplen of 0 rejects all packetsexpression rejects all packetsU pEhW?t7J UEPu#h&hEpP>Eu'P7UR萺P0.t=pth&=uP2}tC= u:hƧ=txuxuh0'XEPPU BEw6"1]UVSEU PR萺Ãt+EPEPEPEPSNƃ S診e[^]ÉUS]{tCP =C]]UEM tvx,u PÃ0VSU BP-PUBP-PjGPÃ,VSU P-PUP-PjWÃ,VSZEPà VS?e[^_]ÍvUVS]E $7`77$7`747SjjqSjjajSƃjSà SV5jSuƃjShà SV .ve[^]ÍvUVS]E $7 877 87SjjqSjjajSƃjSà SV5jSuƃjShà SV) /.ve[^]ÍvUVS]E $888888Sjj+qSjjajSƃjSà SV55jSuƃjShà SVi o-ve[^]ÐISO host filtering not implementedUWVS]E $t9:99:9d:d:d:d:d:d:d:d:d:d:d:d:d:d:d:d:d:T:EvEzEPjSQEURjS?EPjS)EURjSà SMQ!h09,vh`Eh)Ph)PjEEPƃ,ۉ]S})PjUD:PÃSV.0jjjMQƃEP;)PjUD:Pǃ,WVSW? h(Ph(PjMQƃEP(PjUMDPZǃ0WVSW jjjEPƃUR(PjMUD Pǃ,WV-SW SMQ؍e[^_]Í&'tcp' modifier applied to host'udp' modifier applied to host'icmp' modifier applied to host'igmp' modifier applied to host'igrp' modifier applied to host'pim' modifier applied to hostATALK host filtering not implementedAARP host filtering not implementedSCA host filtering not implementedLAT host filtering not implementedMOPDL host filtering not implementedMOPRC host filtering not implemented'ip6' modifier applied to ip host'icmp6' modifier applied to host'ah' modifier applied to host'esp' modifier applied to host'esis' modifier applied to host'isis' modifier applied to host'clnp' modifier applied to hostU WVSE}$p??B8@@`@@@@@@A0AXAHAxAhAAAAAA AAAAAWjE PEPhÃ=t;WjE PEPJƃVS^ WjE PEP+ÃSV?PR PhWE PEPPRPh5WE PEPPRPhWE PEPm`h<3h0<#hP<hp<h<h<h<h=PWEPhP=h=h={h>khP>[h>Kh>;h>+h09h> h?h0?s$ve[^_]Ð'ip' modifier applied to ip6 host'rarp' modifier applied to ip6 host'arp' modifier applied to ip6 host'decnet' modifier applied to ip6 hostUE$4CvC@ECCCCCCDD8DXDxDhDDDDDDD(DHDEE E0E{h0B;hpB+hBh< h0<hP<hp<h<h<h<h=hBhP={h=kh=[h>KPRPh݆EPE PEPNxh>h>h>h09h>h?h0?;!v]Ít&link layer applied in wrong contextUSEHX$EFFFFEF4FDFTFFFGF GG,G8GHGdGdFFGGGGjjjÃjjjkjjjfÃjjjKjjjjjjjjj rjjjgÃjjjgh vhvh5vhPE/hvhvh`vh`vh`vh`~h`rh݆fjjj:jjj32Ãjjj3jjj2Ãjjj2 SPWvhCvjjhjjhjjh vv؋]]ÍvUVSj>(F hCE[`CsSy؍e[^]ÉU WVS]u jG jHGX h@@`xpe[^_]ÉUE PjE(P]ÍvUWVS]E }Pj PEPV $DIvtIXI`ItIISjSjÃbSjƃSjà SV4SjƃSjà SVIvSEP/؍e[^_]ÍvUWVS] }h@EttPuKWSEPÃ>WjEPƃWjEPà SV vSEP؍e[^_]ÍvU WVS]E uPjP"ǃ$JKJJK,KSjSjÃbSjƃSjà SVI4SjƃSjà SV#vSW؍e[^_]ÉUWVS] }h݆EttPuKWSEPÃ>WjEPƃWjEPà SV}vSEP؍e[^_]unknown ip proto '%s'unknown ether proto '%s'esisisisclnpunknown osi proto '%s'U WVSE tK tt tfEPXbÃEPhL)EPbÃEPh/LpvuHLuRuMLu6uRLuEPhWL؍e[^_]Ðbad protocol applied for 'protochain'unsupported proto to gen_protochainUWVS]!Tp1d󫉅d} tb} t H} uBPSjEPlSjURà SlQJhMg jp} t} tlvhwlj\0p P Gj3B Grh݆lj0p H Gj@ (GhMW\jp2]X 2@2@`GjT2@2@2@ ;\ 2AhG} j2@2@2@ h 2AGjD H@@@ <GjuD H@@@ +Gj8D H@@@ ,dPGLjGjPB GjTP GjGjz@ Gj\GjEPB Gj$@ Gj$@ GjGj`TH Gj 1\)HB T1BG;d[LBA;P~t7|tJSjRvSjRعC5dSjRC%WjDjTƃ^ h@@`ÃsSH؍e[^]not a broadcast linkonly ether/ip broadcast filters supportedU WVSE~ tz=Ђujhpv=Ђ ujhphv=Ђujhpvhq胲bh˽NjSjjP޸ƃ SSjPǸÃSV请 SWBhqe[^_]Ðt&only IP multicast filters supported on ethernet/FDDIvUVSE~=Ђujݱ0ƃF *=Ђ j豱0ƃF h蒱@E@`CshsÃhjPF5+h݆?ÃhjP赶ƃ VSڵhr觰e[^]Ðinbound/outbound not supported on linktype %d UЂ @|;EPjPjjPjgPj ЂPhpt1]Í&no VLAN support for data link type %dUVSu= puJp p=ЂuЂPhu]hjpP1Ã|Vj pPƃVS?؍e[^]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $[vovWvkvdw`wdw`wtcpudpUnknown errorResolved protocol is unknownInvalid value for hintst&System error returned in errnoai_socktype not supported&servname not supported for ai_socktypehostname nor servname provided, or not knownNo address associated with hostnameMemory allocation failureai_family not supportedv'Non-recoverable failure in name resolutionInvalid value for ai_flagsTemporary failure in name resolutionAddress family for hostname not supportedSuccessUEvp]ÐUVS]s{tCPoScu֍e[^]ÐUS];t?8uPjRu1 C;u¸]]ÉU|WVSUEEEE]ECCC CCCC}u} u 4vzzzzt EBtttEv߉{tZ{ tTEv=v|DSE;u-xt'xt!CM;AuC ;AtE KEE8}{t {t{uB}{uCE PS Eߍu}Ev=v"vߍuCU;tBt :CM;AtAt yC U;BtBt z{uMC{uExt@C{ uUztBC }uEPM QjSEPE PURSWE}}tMytE@EtxuEU:}u}u EEv=vGߍuCU;t t :Ev=vߍu{uUCCM;tAt 9CU;BtBt zC M;AtAttyuu{uUC{uMytAC{ uExt@C EPU RMQSE}tExtURUtzuEM9EE8}tE}u}t EU1%E}t EPMEx[^_]ÉULWVSEEEE}URMQ'uFPẼ~E PE܃ t!E܃8t8t U܋B 8u E}1ۋM܋A 8tC<uCPE؃uF PzEԃ }PjEPE9]}_U܋B MЃ<u u;EH Uы@ uЋUԃQPRUB EԋM؉E9]|Eu؃>vEpUЋM؋u(;u#{uh{ 9Cu E;putuBSURPpGu mjMQGPÃuQ&vuVEPSGPURS& tuEЋMЋu؃<4EU1>}tMQ}tuV}t EP؍e[^_]U,WVSu}EE]jjFPv}Z8tPWVusFPƒtBPRVCt#vBPRVCu%jWCPÃu EU1}t EP ؍e[^_]ÉU#tӃhMVÃt5@hPVÃtC; t; thPSƃtFS LfHPDǃt62; t,; t'؅shPS+Ãt Ct;u@e[^_]USE] ڀ:t 8 tB:u@u1[]Ðwindump%s: illegal option -- %c %s: option requires an argument -- %c U WVSu} ]=Pu xp8u[P95tp}3tpxp8-u!xpxt,xpxp8-utpxpȊxppxp:tPSuK=p-u xp8utp=pp;:pPhhɊex:t`xp8uwxp8u^tp;5tpHxpȊ;:u :T=pptpPhh@P!?$tp`xpȊtppe[^_]ÐrU=puhhpppPvE ]ÐU=ptpP;p]# ,/UVS=puhhppt!pPhhƃu1>#t҃h]VÃt5h`VƃtF> t> thcVÃqCVPQfƃh`SkÃ0t?Ct9;t4; t,; t'sh`S2ÃtCue[^]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)%sUEpPh+裕]:<CB?=>@IFEDGH;  !"#$%&'()*+,-./0123456789AJJKLLLLLMNOOOPPPPPPPPQRSSSTTUUVVVVVVWWWWWWXXYYYYYYZZZ[\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]^^^___``aaaaaaaaaaaaabbbbbcc,9:8;<=>?@ABCDEGFsUV7mHIJKXLMNO,,+*`_RSWk ,,`_% .-3645"#PQ !$Z\^Y[]onqrp,,_&ltijhgcdef()T_ 02/1ab?<=~GH7)*+,UVW8.gh/0n1-E@-EE-----------T# %IPWdbFFVoTT3EE6"vw} -(6{@F2>'-MAOJP3@4:;qvoXAtw5xuu:;y9((zI}J''--%5ijp|ssbcklmrr--I5@>uXBCDEs(zrr--JJ&#\]`abc%^_`abcII  !"#$% BCDE !"#$%  !"#$%  !"YZ[$\]%^_`abc\]defKLMNOP\]QR_`abc\]^_`abcST`abc(*!'I(* !!7!89<=5G7<=B<=89B$'(B*@HI'('(Cs!5*;<7!@<=?@DEF<=<=!HI8989s89rBBrs!GX89\]^_`abcB!ghH89()*+rsBrsrs:,-U=>?@C;<=>?@ !"#$./01234567:> C!"#$()*+./01234567:> C!"#$./01234567:>C!$./0124567%&'>,-C;<=>?@,-DEF ,- <=>?@,-;<=>?@ HI=>?@parse errorparser stack overflowUWVSp 0DžDž,Dž$,f DQ9)Ήp'C ҉'v Dž'E$6P QS U$ÃPQS Dp| DQ9 ,E(==u 诮=1$v=8wQd(((Ƙ9f(}ډ({v(( =t W$\ $Q , M^(4(Et+Njt(Hsa$$v{J{ 8P{4h|ԡP{ 4{{PlȢ $H{X`lxx`lx`lx̣أ 8,8DP\htȤ ,8 ,8D{Tl̥0xDPX`hp{xGP踈sGPGP?vGPGP'vGPGP(vGPGPv_SP_SPjGP"_SjPGP _SjPv_SPjGPq_ShjPq\v_SPHv_wpGPGP>GPGP@*_SPjƃ,GPhwvG0 G ÊvG0  óG0 ÁG0 ÁG0 Áwyw_lPYvjjPGPGPƋp57p&v1    u i]QE9-! GPPvGPvPPsPGPGP[jLj<P-+j Q0E9PijGPGPGPGPGPvPGPjPGPjPGPj pPGPj0\PGPjPHPGPj@4PGPj` PGPjpo PÃ9.v&$|<> =_)Nj)w(U( U,w+Ƙf;uf,v(E,v$uh&$u=Dž$, 9 ,,E(=t@(=wfƘuf(}=t؉(v(k(t'W(,v1h2[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)U蹿Ѕ}&v!E EPhE EPhԿ]inet class for 0x%x unknownvU WVSE] u}VSP蜿u)0jhWjPjh&cv>uU;} H%=u 0%=tPh%W6!31e[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $vUSE] P"]]ÐU,WVS}EEEE ?0G?xt?Xu EEӡ8uPjR詻tUUÍTЉU}ӡ8uP%hRRt` UUӡ8uPjRt EtUtuG?.u9msdUEEG?t28uPvjR虺tUEE)Hv )E19M}]ve EB9|Ee[^_]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $vU}uEPE PdCa]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)UVSEP踶ƃ t/^ ;t!vPg‹ ;uF 1e[^]ÐU@WS]}1҉EEURURjS8uEv1e[_]ÐUEPu1@ ]udptcpU WVS}ujWÃtiCP訵fCЋE C PSc>u_PWյÃtCP_fC1e[^_]UEP讵u v@]decdnsdecdtsloopbackatalkarpatalkvprodvexplanbridgescalatdecnetmoprcmopdlspriterarparpip6ipxnspupvUVSup=pt'vVP蘷u Cv;uܸe[^]ÉUVSM] 11 DPA9t9.u#% 9tA҉[^]%d.%dmalformed decnet address '%s'U VSu] EPEPh<VotVhBYtE %E%  e[^]UWVS}j螵EE?E?:uGG8uXjS蹵ts<8uXvjS聵tss8uP%vhR>t|G8uXvjStC<8uXvjSʹtCC ƉUBU?Ee[^_]r/etc/ethersUVSu=\qu(h6h86Xq\quTi=Xqt^XqP4VCP跴u j足…t'CfBXqPmÃu1e[^]Ðdecnet name support not included, '%s' cannot be translated vUEPhq1]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)US]C;tWCCd{<t.CauA ;F u9>u9E>tFv@t8tDžtn? uiG@t8tÅtR;uMSRtA:tt8%@u,A B vU:Mut<t>DAA% t0uEP<@TMAUu2zu,@ BBEMRmU<MATA% t' tF0t'@t28E;P2M;Q"E;PM#Q{vMAT;A z<t"BPWUREЍ\EU 9U|;}rȋE@`Ee[^_]malloc: %sError opening adapter: %sCannot determine the network typefailed to allocate the PACKET structuredriver error: not enough memory to allocate the kernel buffer driver error: not enough memory to allocate kernel the buffer U,WVSuhp_Ãu&>P.PhhVuW1\EPui8jhSjPjh(߰ҍB~ DDPhhVvPP2uhfwc$ `<0````HTC .vC "vC vC vC }tj hP CThՆCXu+賆PPhhV E CCu h0lCTPCXPCP0h@BPp u hp7vh>PltEPPvKhhVM;tPZ{XtCXPŅS蹅1[^_]Ív'Driver error: cannot set bpf filter.vUS]E ;uPSL}83PPduhhCpP臅1]]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)USU] MEzu PQSR. PQSR ]]U WVSu] }~tWEPSV WEPSVt~ ~)Å1e[^_]ÍvUVS]M uABABA B s[^]ÐUEU UURh8jP ~Ev1]ÉUE@ ]ÍvUE@]ÍvUE@]ÍvUE@$]ÍvUE@(]ÍvUE@]ÍvUE8u ]%s: %s UE UpRPh@Pl]UEp]ÍvUEP覄]ÉUWhp…t"1\E BEB 1}]ÍvUS]Ʉ;tP{t&C;t P膃{,tC, {XtCXP2ChPDS]]Ð@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)UVSu1҃=`qt,`qdqv94uvB<`qu[^]ÉUVSM1҃=dqt,dq`qv9 u0vB=====??(????? ???&!????"?1;;;:===>======????????#??===>==>==========????.???;;;=====>====>======?%'/????======>=================??0?;=======>====>====>========)*?=========>========================$=======<==>====>====>====>=====================<>===========================================>====>====>====>====>========================>=========================================================================================================================================   !"#$%&'()*+,-.t&./Gt$(mg'&h2Tl%,}|~{|wvuzuuurw|on{CfziilupejalGkn\^]\\`W`U[ZrQ`ONPOP%edcba`4MQLQOBB<>Y;<:@G@:9bUSYN]MLn~KJM<,<7.26%44?>H=<;:l987:54%) .      (<\` 8d 2(  U ic y  i O  ~ !k LRF vEK    ]Y m"( 6s< @  q 1 dt /fk i h g Se 5w9d _ N^ vL O Y@ ? D: < $6 H5 3%hG+l[<p4 ( ]oc" q!   ( <Pd  @ d  * w, .   R  15 U_Y@xTs~ 9u |o htj m W]b a   ` ( M L #L K 074I K` G 9_sIF t E lx9  3 s&}2 ; 1 D) # G    !    ` 0 a T { x   J     < @ ! U } n E i   % I  m     0 D  h % | 9 X \ ` q }  z  m Y   W V &D I 5 X^ 3 2  %  +      3    ( O  G K R s  V Z a d  p t i { ~  Y S  , N  1 2 C d j x  !       : ^       " $ & ( * vu, b. 0 2 4 C6 8 : < > @ B D B*F H J L N P R T V X Z \ ^ ` b d rcf h j l bNn >('p r t v x z | ~     mY E1 !  yUQ :1     g WQ P  /  #$t&gX(!*,.13w56vonF7328xpfQFE>610XSQC    !/   ////k"#3p$kk%&'()*+,-./01234+&5678(9:2;<=>?@ABCD)EFG2H;<>I=7JLKOLMNUOZ\PEFfhQHRSTsUIVW)X+2Y4Z[\]^_`abcdeRSfUghijklmno^_pabcqerstuvwxyz{|}~ "028;>AGLNXZgiwy*6:>ADGJO         !"#$%&'()*+,-./012345!"#67-./012345897:;<=>89?:;<=>@?@    !"#$%&'())256E))89X2))Jd2FIY))GH2U2eK**-.///0V123W-11111122222222222222232)2111Z)[1R24:S2T:)2\B:2]^_*C:22222<22a222222Mb|N cijjOPQ221112lll }2):=~):>):?@A):22111*<22lll2llljjjD2lllz2.kkk0sl2lllllloooo2oooooo).)pqq)r)rrrrrr*jjj2.e   677 :;;->??-.000.LMM   OPP999XYY`aa===UVVIdee\]]"""#$I$$$$$$[[[ccc#hii()))*+,++++++gggl777999y,///#0n;;;0000001222345444444qqqYYYl7775<<<m=======(ZZZ*[m[[[[[[1fff3gn;;;ggggggoYYYaaaccceeeopppqqqqqqqrssstuvuuuuuuaaav{{{{{{{{{{(~~~,eee,1'((5*++(5.//2331(|y1899 ;<<>??   ABBrtS-JKK&RSSVWW(#^__ 1rtabbeffnooqrruvv(((    (((}___r---t}ooo111 GHH                  NOOMMMUUUZ[[YYYdddijj hhh      !"""#$%$$$$$$tttyzzxxxm%0001~+++&111111r---|///spLLL  MmMMMMMM XXX    YKKKlYYYYYYggghchhhhhh!www#x`~+++xxxxxx///]TKKKSSSQSSSC@UUUWWW=:54,!"")___WWW&ooo$%%bbbbbb()) MNNdddffffffrrr!%.rrrtttk%."""vvvb_z{{Q}~~NMMMYYYhhh xxxA@8     vvv!'''+++/!{{{1444/0:;;<LLLM0MMMMMM XXXYPPPYYYYYYggghUhhhhhh!wwwxXXXxxxxxxZ127t\rl2___jb   d***   +    b++++++3334d   \444444566678Z9888888aUgggUV9>>>?i@a@@@@@@VZj5i["""AAABq1/CCCCCCC[\Kq]{{{DDDEHFFFFFFF]b   lEcGGGHBIIIIIIIcd   ooo?eJJJKL   LLLLLLer%%%!'''jOOOkPt)))PPPPPPWWW?XkXXXXXX^^^B_www______fffEglggggggmr%%%st)))umnnnHRKoHsEB?oooooouvvvK7w~wwwwww57+++?!NNNBE ?HB***KF7+NNN++++++EHK~~~~~~7PPP57FOOO77tP#PPPPPP r57nl5 1-(    TK}Kzyxwt #TK##KHGF;E;;;mm    $$%%&&++44JJRRSSWW^^jjuu||  $$66DDEEIIPP\\kk{{)),,55QQTT]]``ccllppss||,,88==@@CCFFIILLQQTTYY``  hhpp##&&xx--SS||DCB3*'#!.{yxwvutnhgf`L7,+&    %  @ % ?> = !q!<;""""q:NSNS9$$G87$...11116G5):GQ):4):321):0Q):Q/====EEEEjjjjIIIIE./////=I/llll-//////333nnnn3zzzz33333344,+4444*?z44)444444('4iiii?&i%ikkkk$Mk#kkkkkkppppppPpM"pppppp! Pp   !!!###     (((V---''''V111****lllnnn++++/////3333]irrr444477779999] ittt;;;; }}} ====YYYY66666 [[[[))))))6))))))222222::::222222:XXXXaaaaXcccceeeegggg:<<<<<<X<<<<<<>>>>>>>>>>>>>pppppuuuu````>III`IIIIIIILLLLLL`LLLLLLLdddddLOOOOOOOOOOOOOdOUUUUUUUUUUUUUUZZZZZZZZZZZZ\\\\\\3\\\\\\\3\ffffffffffffhhhhhhhhhhhhhhssssssssssss   99!!!(((''''<?___'<?BHOoooBHO~~~[[jzjz        ####$$$$++++----////1111FFFF      KKKK      MMMM""""""****""""""*....JJJJ.RRRRJSSSSR{z*UUUUWWWWyx.00000Jvu0tR000000222222s2^^^222222^VVVVYYYYreVnnn288888ncb8^8888888Vaaaabbbbana8;;;;;;_;;;;;;;addddffff^Yeeee;>>>>>e>X>>>>>>>hhhhqqqqWUeq>AAAAATSA;AAAAAAARqrrrrttttH;AGGGGGGG"""GGGGGGvvvvxxxxFEGLLLLL///L@LLLLLLNNNNN111N?N555NNNNNNUUUNXXXXXZZZX=XXXXXXZZZZZ\\\Z<ZbbbZZZZZZ;2Zgggggdddgggggggiiiiijjji-illliiiiiiuuuu+*uiuwwwwwrrrw wwwwwwyyyyytttyy{{{yyyyyyy            !!!!|xw!zzzzpohgz`_Y    X TSR    %%%%''''Q=4))))-,&#++++ $$$$33333$((((8888($(******@@@@******666666CCCC666666:::::::::::::FFFFIIIILLLL:>>>>>|{s>NNNNp>>>>>>AAAAAlkcAPPPP`AAAAAADDDDD]\TDWWWWWDDDDDDGGGGGQPIG^^^^^GGGGGGJJJJJEDCJ@MMMMJJJJJJMfffffnnnnnvvvvv~~~~=}}}}MOOOOO}:7O6OOOOOO54},)  ~|zxwqkjb_^   W TSRQNKJHGFBA@80&%$"      !!""##$$%%&&''(()),,..//001133445566778899::>>AABBCCDDGGIIJJKKLLMMNNOOPPQQVVZZ[[\\]]``ddffgghhiijjkkllmmnnooppqqww||}}~~    }|yxwvsromgfdcba`_^]\[YXWVUTRPOMLKJHFDCBA@?0('&#&@(#) $Header: /usr/local/cvs/tcptrace/cygwin-libs/winNT/wpcap.dll,v 1.1 2002/07/04 22:40:51 alakhian Exp $ (LBL)bogus IPv6 address %sbogus ethernet address %sillegal token: %s illegal char '%c'fatal flex scanner internal error--no action foundU425&    76~!r,f Z!N1B@3v#&$%=*+@P v@PF(v@P^'v}1EEEPEPj@P (t@PhK~@P)#v@PhLM@ @@P&@PhL@Ph.L4rPj0P@PCv1+@K rz$uB0rB$ rB9$rwL@$rÃS`@U؃t$r=$ry=$r t tt?v.u t%@$r,rJPEv=0rPI@$rË=$r @M rB$rË=$r@E2vhPL cve[^_]Ðfatal flex scanner internal error--end of buffer missed&fatal error - scanner input buffer overflowinput in flex scanner failedvU WVS rX5@@9$rvhT  rx u&$rH9@u H<=@=$r19} FCB9| rx$@ rC5$r)ƃ{t9S  C C C PCPCC{uhU.s5$r rX )Kw ~ rx*1 r@F9}0rPƒt uу u r@ Fu%0rPrthtEEf]ÉUEPj]ÐU=tP]ÐU]UWVSuE 1>0~xt~XuEvEFvF8uXvjStS<8uXvjStSSɋEǍ<>we[^_]Ðimpossible to set mode while reading from a file driver error: working mode not recognizedUS];u hP`'vE PPt1h`CpP]]ÐWriting a packet is allowed only on a physical adapterUVSu>uh0aFpPWF/ÃEPE PSjSP tS1Se[^]ÐThe buffer size cannot be set while reading from a file&driver error: not enough memory to allocate the bufferUS];u ha'vE PPt1h0bCpP/]]ÐThe read event cannot be retrieved while reading from a filevUE8t @HvhbpP1]ÐInpossible to set the mintocopy parameter on an offline capturedriver error: unable to set the read block sizeUS];u hPc'vE PPt1hcCpP]]Ð%%%%%%%%%%%U U@r8t@rС@rP@rxuÐUSiu1=itiv@:uÅt iKuhd蓪]ÉUS=DruMDriu1=iti@:uÅt iKuhd/]ÐQ=r -) ̋@%%%% %4%%D%%T%P%%<%%%x%L%@%% %p%H%l%$%%\%(%,%h%|%`%d%%t%%%0%8%X%%%%%%%%%%%%%%%%%%%%% %ypy0yxxxxpx0xwwwwvwhw/etc/networksȊ/etc/services݆5~x`r`k`g`c`Y8T[N\H?6/>(< d efghhj22iillqqi$=,,(p(p(h`pptpP'(,xHc̨Dh p hahbc``X &-4;FSgu ':DWix!  !"#$%&'()*+wpcap.dllbpf_filterbpf_imageendserventeproto_dbgetoptgetserventoptargopterroptindpcap_closepcap_compilepcap_compile_nopcappcap_datalinkpcap_dispatchpcap_dumppcap_dump_closepcap_dump_openpcap_filepcap_filenopcap_geterrpcap_geteventpcap_is_swappedpcap_lookupdevpcap_lookupnetpcap_looppcap_major_versionpcap_minor_versionpcap_nextpcap_next_etherentpcap_offline_readpcap_open_deadpcap_open_livepcap_open_offlinepcap_perrorpcap_readpcap_sendpacketpcap_setbuffpcap_setfilterpcap_setmintocopypcap_setmodepcap_snapshotpcap_statspcap_strerrorwsockinit|(8L,|$0@P\hp|  (0<DP\ht$4DTdx0DXl$0@P\hp|  (0<DP\ht$4DTdx0DXl_closeK_strdup$__dllonexit/__mb_cur_max_errno_fileno_iob_isctypeX_pctypeq_setjmpu_setmodex_snprintf_vsnprintfabortatoi callocexitfcloseferrorfflushfgets!fopen"fprintf'fread(free0fwrite2getcZlongjmp[mallocamemcpycmemsethprintfkputsqrealloctrewind|sprintfsscanfstrchrstrcmpstrcpystrerrorstrncpystrpbrkFormatMessageAGetLastErrorzGetVersionWSAStartup(gethostbyaddr)gethostbyname-getprotobyname/getservbyname3htonl4htons5inet_addr:ntohl;ntohsHsocketPacketAllocatePacketPacketCloseAdapterPacketFreePacketPacketGetAdapterNamesPacketGetNetInfoPacketGetNetTypePacketGetStats PacketInitPacket PacketOpenAdapter PacketReceivePacketPacketSendPacketPacketSetBpfPacketSetBuffPacketSetHwFilterPacketSetMinToCopyPacketSetModePacketSetReadTimeoutmsvcrt.dllmsvcrt.dll(((KERNEL32.dll<<<<<<<<<<<WSOCK32.DLLPPPPPPPPPPPPPPPPPPacket.dll 0060;0j00000111111111222 22222 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|222222222222222222222222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|4444444444444888::::::::::::::::::::::::::::;;; ;;;;; ;$;(;,;0;4;8;<;@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<< <<<<< <$<(<,<0<4<8<<<@ >>>">->2>=>B>M>R>]>b>m>r>>>>>>>>>>>>>>>>>? ???%?*?5?:?E?J?U?Z?e?j?u?z????????????????????? &060A0K0000)1311111 22I2S22223 3^3h3333B445,5Y5b5k5v5|55555X7b7l7x7777778'858@8K8Z8e8s8{8889:<<<=== ===== =$=(=,=0=4=8=<=@=D=H=L=P=T=X=\=`=d=h=l=p=t=x=|=================================>>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>>>??$?6?@?R?\?n?x???????????0Z0q01&1S11`2t22&3.3364<4@4D4H4L4:5@5D5H5L5P56777 77777777z888888o9t9x9|999999999999999999999X:k?p?t?x?|????????????????????????@<0d000000011$141L1\1l1|111111111-34383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|33333333333333 44,4<4L4\4l4|444444455$5455555555555555555555555555568}888 9=9D9H9L9P9T9:::::::<<==8=X=>>> ?`??P123R4888888888888888888999 9999b999999999:(:8:H:X:h:x:::::=Z===>8>>>|?????`|0*0001122L223 4`44p5555667778<8L8999999999999999999999::w::V;;?????pp022"2/2B2O2d22222V3~334@4444E5M5R5W5\5b5k5u555556666667079::S;Y;<<_=e===778#8`88888899 9+979A9_9j9o9y9999999:#:*:/:L:[::<;D;O;Y;`;h;r;~;;;;;;;;;;;; <<<$<-<9A>G>L>Q>[>>>>;?D?<<======>>6>E>>>>>>>?$?(?,?0?4?8?>??w0000%1/1c1m11111Q2\2a2k2q2222^333/4R4]4i444444505555555 6-6u6|66667Q7X7\7`7d7h7l7p7t7 88888 8$8(8,8i99999:::S:g::::::: ;;;m<<>=p=,>f>>?`?d?h?l?p?t?x?|?????????????????????????????????X000 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|000000000000000000000000000000000111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1p1t1x1|111111111111111111111111111111111222 22222 2$2(2f2223344A4o4%5B5u55B667S9999;=>U>>>>>??$0000f1n1t11111112;2L2T2Z2222222<3I33333333J4g4m4s4444444444444555585E5K5d5q5|55555556666=7F7O7~78 8F8K8~8888999::;0<,>>>? ????? ?$?(?,???X0T01|22373344445 550567(7Q777N89:::::::;;;5;h;<<===@<<<<<<<<<<<<< ===&=1=:=@=H=X=a=f=p============ >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??? ????? ?$?)?1?7?Pli1111122F2[2a2l2w2222222222223$3*323@3E3T3Y3b3j3p3333333334%4:4@4M4S4b4g4o4|444f5o5t5}555555555 66i6z66666677'717:7J7Y7n7|777777777777888*8?8P8Y8_8g8w8888888889 99#9,91969@9h9v999999999:":1:F:L:Q:]:b:i::::::::::::: ;;%;.;4;;;B;;;< <<;==>~>>>+? A.data`.bssl.file6gscanner.cd w $_yy_init( , _yy_ec_yy_meta_yy_base_yy_def0_yy_nxt_yy_chk_rcsid; <  l l m l l \E  H 5 H _inputI G J _ K t L  M  N  N  N  O  O  m 4O _stoilO  N  lL  gfakehnamefthunk.textX.data`.bss m.idata$2.idata$5.idata$4.fileagfake.textX.data`.bss m.idata$40.idata$5.idata$7 .textX.data`.bss m.idata$7.idata$5.idata$4@.idata$6$.textX.data`.bss m.idata$7.idata$5.idata$4<.idata$6.textX.data`.bss m.idata$7.idata$5.idata$48.idata$6.fileqgfakehname8fthunk.textX.data`.bss m.idata$2(.idata$5.idata$44.filegfake.textX.data`.bss m.idata$4D.idata$5.idata$7.textX.idata$78.idata$5.idata$4.idata$6.textX.idata$7<.idata$5.idata$4.idata$6.textX.idata$7@.idata$5.idata$4.idata$6.textX.idata$7D.idata$5.idata$4.idata$6.textY.idata$7H.idata$5.idata$4.idata$6.textY.idata$7L.idata$5.idata$4.idata$60.text Y.idata$7P.idata$5.idata$4.idata$6D.text0Y.idata$7T.idata$5.idata$4.idata$6X.text@Y.idata$7X.idata$5.idata$4.idata$6l.textPY.idata$7\.idata$5.idata$4.idata$6.text`Y.idata$7`.idata$5.idata$4.idata$6.textpY.idata$7d.idata$5.idata$4.idata$6.textY.idata$7h.idata$5.idata$4.idata$6.textY.idata$7l.idata$5.idata$4.idata$6.textY.idata$7p.idata$5.idata$4.idata$6.textY.idata$7t.idata$5 .idata$4.idata$6.textY.idata$7x.idata$5.idata$4.idata$6.idata$2P.idata$5.idata$4|.idata$4.idata$5.idata$7|  m' m_sprintfW 4 D l\ k X  Y_freePV _strcmp`W _opterrp   _ntohl@40T _longjmpW  __errno`V < _vmapm2 L_getcV _rewindW hUr`Y |X_putsV 3(IWmcTu0_ferrorX P%__setjmpV 3X J__dll__aTm_fwritePX _strncpyV DV pT_atoi0W Pm_memcpyPW  Y _optarg`m_memsetW -_optoptpm<VX end``TqT`Y`_fflush@V etextYPn<_fprintfW __allocaUY _strdupV  $(h_blocksm60Y HY_fread@X W__fileno X tY _fopenW _callocX T0_strpbrkW H.l<OPY d_realloc`X  DxpY 0n Y _levelsm1EXT__end__k@n_strchrW \0V _mallocpV Y_fcloseW ,X_strcpy@W _optindtL_sscanfW mY .X DQY `yX p_abortV @m(T-t=_htons@4TX4dV o_end0X PT( W _fgetspW &Y 8Ph@Y _exitpX _htonl@4PT{ _edgesnm0m_printfV d_spacen4 n_ntohs@4@T3@B|Tc~,XX mY _pcap_in0_close V  8gcc2_compiled.___gnu_compiled_c_next_atexit_first_atexit_DllMainCRTStartup@12___dll_exit_bpf_filter_bpf_validate_bpf_dump_image.15_bpf_image_pcap_next_etherent_bpf_error_bpf_pcap_newchunk_cur_chunk_freechunks_gen_retblk_pcap_compile_pcap_compile_nopcap_pcap_freecode_backpatch_finish_parse_gen_cmp_gt_gen_mcmp_gen_bcmp_init_linktype_linktype_off_linktype_gen_uncond_gen_linktype_gen_snap_gen_hostop_gen_hostop6_gen_ehostop_gen_fhostop_gen_thostop_gen_dnhostop_gen_host_gen_host6_gen_proto_abbrev_gen_ipfrag_gen_portatom_gen_portatom6_gen_portop_gen_port_gen_portop6_gen_port6_lookup_proto_gen_protochain_gen_proto_gen_scode_gen_mcode_gen_ncode_gen_mcode6_gen_ecode_xfer_to_x_xfer_to_a_gen_load_gen_relation_gen_loadlen_gen_loadi_gen_arth_alloc_reg_free_reg_gen_greater_gen_less_gen_byteop_ebroadcast.243_gen_broadcast_gen_multicast_gen_inbound_orig_linktype.253_orig_nl.254_gen_vlan_in_addrany_in6_addrany_in_loopback_in6_loopback_ai_errlist_gai_strerror_freeaddrinfo_str_isnumber_getaddrinfo_explore_fqdn_explore_null_explore_numeric_explore_numeric_scope_get_name_get_canonname_get_portmatch_get_port_find_afd_getnetbyname_setnetent_endnetent_getnetent_net_aliases_place.39_setservent_endservent_getservent_serv_aliases_pcap_error_yytranslate_yydefact_yydefgoto_AdaptersName.135_AdaptersName.136_pcap_lookupdev_pcap_lookupnet_inet_aton_inet_network_inet_pton_pcap_nametoaddr_pcap_nametoaddrinfo_pcap_nametonetaddr_pcap_nametoport_pcap_nametoeproto___pcap_atoin___pcap_atodn_pcap_ether_aton_init.166_pcap_ether_hostton___pcap_nametodnaddr_pcap_nametoproto_find_levels_r_cur_mark_find_levels_n_blocks_find_dom_all_dom_sets_nodewords_propedom_edgewords_find_edom_all_edge_sets_find_closure_all_closure_sets_compute_local_ud_init_val_opt_peep_opt_stmt_deadstmt_opt_deadstores_use_conflict_fold_edge_or_pullup_and_pullup_opt_blks_find_inedges_opt_root_opt_loop_bpf_optimize_make_marks_mark_code_eq_slist_intern_blocks_opt_cleanup_count_blocks_number_blks_r_count_stmts_opt_init_convert_code_r_icode_to_fcode_install_bpf_program_wsockinit_pcap_stats_pcap_read_pcap_open_live_pcap_setfilter_pcap_dispatch_pcap_loop_pcap_oneshot_pcap_next_pcap_datalink_pcap_snapshot_pcap_is_swapped_pcap_major_version_pcap_minor_version_pcap_file_pcap_fileno_pcap_perror_pcap_geterr_pcap_strerror_pcap_open_dead_pcap_close_dlt_to_linktype_linktype_to_dlt_sf_write_header_swap_hdr_pcap_open_offline_tsize.61_sf_next_packet_pcap_offline_read_pcap_dump_pcap_dump_open_pcap_dump_close_yy_current_buffer_yy_c_buf_p_yy_start_yy_accept_pcap_lex_yy_hold_char_yy_last_accepting_state_yy_last_accepting_cpos_yy_n_chars_yy_did_buffer_switch_on_eof_yy_get_next_buffer_yy_get_previous_state_yy_try_NUL_trans_pcap__switch_to_buffer_pcap__delete_buffer_pcap__scan_buffer_pcap__scan_string_yy_fatal_error_yy_flex_alloc_yy_flex_realloc_yy_flex_free_lex_init_in_buffer_lex_cleanup_pcap__scan_bytes_pcap__flush_buffer_pcap__init_buffer_pcap_restart_pcap_wrap_pcap__load_buffer_state_pcap__create_buffer_pcap_setmode_pcap_sendpacket_pcap_setbuff_pcap_getevent_pcap_setmintocopy_DllMain@12_initialized___do_global_dtors___do_global_ctors__imp__GetVersion@0_pcap_char_no_optimize__imp___setmode__nm__PacketOpenAdapter__data_start___PacketCloseAdapter___DTOR_LIST____imp__getprotobyname@4__imp__GetLastError@0__nm__PacketSendPacket__imp__PacketOpenAdapter__libmsvcrt_a_iname__imp__getc__imp__abort__size_of_stack_commit____size_of_stack_reserve____major_subsystem_version_____chkstk_PacketSendPacket__imp____mb_cur_max__imp__strpbrk_GetLastError@0__imp__PacketCloseAdapter__imp___pctype__nm__PacketSetHwFilter__nm__PacketFreePacket__imp___iob__imp__PacketGetNetType__libmoldname_a_iname__imp__strdup_vnode_base_getprotobyname@4__imp___isctype__imp__PacketGetStats__bss_start____nm__PacketGetNetType__size_of_heap_commit____imp___errno__imp___snprintf__imp__PacketAllocatePacket__head_Packet_dll__imp__ferror_PacketGetAdapterNames__imp__getservbyname@8__imp__puts__minor_os_version____nm__PacketGetStats__head_libmsvcrt_a__image_base____isctype__imp__exit__section_alignment___socket@12_optreset__imp__htonl@4_PacketSetBuff__head_libmoldname_a__imp__htons@4__nm__PacketReceivePacket_strerror_gethostbyname@4_getservbyname@8__data_end____CTOR_LIST____imp__sprintf__bss_end____head_libwsock32_a__nm__PacketCloseAdapter_PacketSetReadTimeout__imp__ntohl@4__imp__fgets__imp__socket@12__imp__strchr_PacketInitPacket___CTOR_LIST____imp__PacketGetAdapterNames_PacketGetNetInfo__imp__PacketSetMinToCopy__nm__PacketGetNetInfo_WSAStartup@8_n_errors__imp__PacketSendPacket__imp__fread__imp____dllonexit__imp__memcpy__imp__PacketSetHwFilter__imp__strcmp__imp__inet_addr@4_PacketReceivePacket__nm__PacketGetAdapterNames__file_alignment____imp__atoi__imp__malloc__imp__strncpy__nm__PacketAllocatePacket_PacketSetBpf__major_os_version___pcap_leng_PacketGetStats__imp__PacketSetReadTimeout__nm__PacketSetBuff__imp__realloc__imp__gethostbyname@4__imp__PacketFreePacket_pcap_text__imp___fileno__imp__rewind___dllonexit_eproto_db__DTOR_LIST____imp__fprintf_FormatMessageA@28__imp__memset__imp__fclose_pcap_nerrs_PacketSetHwFilter_PacketAllocatePacket__imp__close_PacketSetMode__size_of_heap_reserve____subsystem___GetVersion@0__imp__fflush__imp__PacketGetNetInfo__imp__strcpy__imp__calloc__net_stayopen__nm__PacketSetBpf__imp__fopen_gethostbyaddr@12__imp__PacketSetBuff__imp__strerror__imp__PacketReceivePacket__imp__free__snprintf__major_image_version____loader_flags____setmode__imp__printf__nm__PacketSetMode_inet_addr@4__head_libkernel32_a__vsnprintf__minor_subsystem_version____minor_image_version___PacketGetNetType__imp__PacketInitPacket__imp__gethostbyaddr@12_PacketOpenAdapter__imp__PacketSetMode_pcap_lval__imp__WSAStartup@8_pcap_fddipad__imp__sscanf__imp___setjmp_pcap_out_next_vnode__libkernel32_a_iname__imp__FormatMessageA@28__imp__PacketSetBpf__imp__longjmp_Packet_dll_iname__imp__ntohs@4__nm__PacketSetReadTimeout__libwsock32_a_iname__nm__PacketInitPacket_PacketFreePacket__imp___vsnprintf__serv_stayopen_PacketSetMinToCopy__nm__PacketSetMinToCopy__imp__fwritetcptrace-6.6.7/flex_bison/0040755001217500001440000000000010142531754015204 5ustar mramadasuserstcptrace-6.6.7/flex_bison/README_FLEX_BISON0100644001217500001440000000036007242307060017626 0ustar mramadasusersThese are the flex and bison output files that I generated. If you don't have Gnu's Flex and Bison, you "might" be able to copy these files to the upper directory and get things to compile. No promises, sorry, but it usually works for me tcptrace-6.6.7/flex_bison/filt_parser.c0100644001217500001440000007550710142511747017675 0ustar mramadasusers /* A Bison parser, made from ./filt_parser.y by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ #define yyparse filtyyparse #define yylex filtyylex #define yyerror filtyyerror #define yylval filtyylval #define yychar filtyychar #define yydebug filtyydebug #define yynerrs filtyynerrs #define EOS 257 #define LPAREN 258 #define RPAREN 259 #define GREATER 260 #define GREATER_EQ 261 #define LESS 262 #define LESS_EQ 263 #define EQUAL 264 #define NEQUAL 265 #define NOT 266 #define AND 267 #define OR 268 #define BAND 269 #define BOR 270 #define PLUS 271 #define MINUS 272 #define TIMES 273 #define DIVIDE 274 #define MOD 275 #define VARIABLE 276 #define STRING 277 #define SIGNED 278 #define UNSIGNED 279 #define BOOL 280 #define IPADDR 281 #line 1 "./filt_parser.y" /* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 * Ohio University. * * --- * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * http://www.tcptrace.org/ * ostermann@cs.ohiou.edu */ #include #include #include "tcptrace.h" #include "filter.h" #define YYDEBUG 1 #line 70 "./filt_parser.y" typedef union { /* the types that we use in the tokens */ char *string; long signed_long; u_long unsigned_long; ipaddr *pipaddr; Bool bool; enum optype op; struct filter_node *pf; } YYSTYPE; #include #ifndef __cplusplus #ifndef __STDC__ #define const #endif #endif #define YYFINAL 44 #define YYFLAG -32768 #define YYNTBASE 28 #define YYTRANSLATE(x) ((unsigned)(x) <= 281 ? yytranslate[x] : 33) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 }; #if YYDEBUG != 0 static const short yyprhs[] = { 0, 0, 3, 7, 11, 14, 18, 20, 24, 28, 32, 36, 40, 44, 48, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76 }; static const short yyrhs[] = { 29, 3, 0, 29, 13, 29, 0, 29, 14, 29, 0, 12, 29, 0, 30, 32, 30, 0, 30, 0, 30, 17, 30, 0, 30, 18, 30, 0, 30, 19, 30, 0, 30, 20, 30, 0, 30, 21, 30, 0, 30, 15, 30, 0, 30, 16, 30, 0, 4, 29, 5, 0, 31, 0, 22, 0, 24, 0, 25, 0, 23, 0, 26, 0, 27, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, 110, 115, 117, 119, 121, 123, 129, 131, 133, 135, 137, 139, 141, 143, 145, 150, 152, 154, 156, 158, 160, 166, 168, 170, 172, 174, 176 }; #endif #if YYDEBUG != 0 || defined (YYERROR_VERBOSE) static const char * const yytname[] = { "$","error","$undefined.","EOS","LPAREN", "RPAREN","GREATER","GREATER_EQ","LESS","LESS_EQ","EQUAL","NEQUAL","NOT","AND", "OR","BAND","BOR","PLUS","MINUS","TIMES","DIVIDE","MOD","VARIABLE","STRING", "SIGNED","UNSIGNED","BOOL","IPADDR","line","expr","number","leaf","relop", NULL }; #endif static const short yyr1[] = { 0, 28, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32 }; static const short yyr2[] = { 0, 2, 3, 3, 2, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; static const short yydefact[] = { 0, 0, 0, 16, 19, 17, 18, 20, 21, 0, 6, 15, 0, 4, 1, 0, 0, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 0, 0, 14, 2, 3, 12, 13, 7, 8, 9, 10, 11, 5, 0, 0, 0 }; static const short yydefgoto[] = { 42, 9, 10, 11, 30 }; static const short yypact[] = { -4, -4, -4,-32768,-32768,-32768,-32768,-32768,-32768, 33, 24, -32768, -2, -9,-32768, -4, -4,-32768,-32768,-32768,-32768, -32768,-32768, 2, 2, 2, 2, 2, 2, 2, 2, -32768, -7,-32768, 46, 46, 49, 49,-32768,-32768,-32768, 41, 9, 10,-32768 }; static const short yypgoto[] = {-32768, 0, 25,-32768,-32768 }; #define YYLAST 70 static const short yytable[] = { 1, 12, 13, 31, 15, 16, 1, 16, 2, 43, 44, 15, 16, 0, 0, 32, 33, 0, 3, 4, 5, 6, 7, 8, 3, 4, 5, 6, 7, 8, 17, 18, 19, 20, 21, 22, 14, 0, 0, 23, 24, 25, 26, 27, 28, 29, 15, 16, 34, 35, 36, 37, 38, 39, 40, 41, 23, 24, 25, 26, 27, 28, 29, 25, 26, 27, 28, 29, 27, 28, 29 }; static const short yycheck[] = { 4, 1, 2, 5, 13, 14, 4, 14, 12, 0, 0, 13, 14, -1, -1, 15, 16, -1, 22, 23, 24, 25, 26, 27, 22, 23, 24, 25, 26, 27, 6, 7, 8, 9, 10, 11, 3, -1, -1, 15, 16, 17, 18, 19, 20, 21, 13, 14, 23, 24, 25, 26, 27, 28, 29, 30, 15, 16, 17, 18, 19, 20, 21, 17, 18, 19, 20, 21, 19, 20, 21 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/share/bison.simple" /* This file comes from bison-1.28. */ /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ /* This is the parser code that is written into each bison parser when the %semantic_parser declaration is not specified in the grammar. It was written by Richard Stallman by simplifying the hairy parser used when %semantic_parser is specified. */ #ifndef YYSTACK_USE_ALLOCA #ifdef alloca #define YYSTACK_USE_ALLOCA #else /* alloca not defined */ #ifdef __GNUC__ #define YYSTACK_USE_ALLOCA #define alloca __builtin_alloca #else /* not GNU C. */ #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) #define YYSTACK_USE_ALLOCA #include #else /* not sparc */ /* We think this test detects Watcom and Microsoft C. */ /* This used to test MSDOS, but that is a bad idea since that symbol is in the user namespace. */ #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) #if 0 /* No need for malloc.h, which pollutes the namespace; instead, just don't use alloca. */ #include #endif #else /* not MSDOS, or __TURBOC__ */ #if defined(_AIX) /* I don't know what this was needed for, but it pollutes the namespace. So I turned it off. rms, 2 May 1997. */ /* #include */ #pragma alloca #define YYSTACK_USE_ALLOCA #else /* not MSDOS, or __TURBOC__, or _AIX */ #if 0 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, and on HPUX 10. Eventually we can turn this on. */ #define YYSTACK_USE_ALLOCA #define alloca __builtin_alloca #endif /* __hpux */ #endif #endif /* not _AIX */ #endif /* not MSDOS, or __TURBOC__ */ #endif /* not sparc */ #endif /* not GNU C */ #endif /* alloca not defined */ #endif /* YYSTACK_USE_ALLOCA not defined */ #ifdef YYSTACK_USE_ALLOCA #define YYSTACK_ALLOC alloca #else #define YYSTACK_ALLOC malloc #endif /* Note: there must be only one dollar sign in this file. It is replaced by the list of actions, each action as one case of the switch. */ #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(token, value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { yychar = (token), yylval = (value); \ yychar1 = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { yyerror ("syntax error: cannot back up"); YYERROR; } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 #ifndef YYPURE #define YYLEX yylex() #endif #ifdef YYPURE #ifdef YYLSP_NEEDED #ifdef YYLEX_PARAM #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) #else #define YYLEX yylex(&yylval, &yylloc) #endif #else /* not YYLSP_NEEDED */ #ifdef YYLEX_PARAM #define YYLEX yylex(&yylval, YYLEX_PARAM) #else #define YYLEX yylex(&yylval) #endif #endif /* not YYLSP_NEEDED */ #endif /* If nonreentrant, generate the variables here */ #ifndef YYPURE int yychar; /* the lookahead symbol */ YYSTYPE yylval; /* the semantic value of the */ /* lookahead symbol */ #ifdef YYLSP_NEEDED YYLTYPE yylloc; /* location data for the lookahead */ /* symbol */ #endif int yynerrs; /* number of parse errors so far */ #endif /* not YYPURE */ #if YYDEBUG != 0 int yydebug; /* nonzero means print parse trace */ /* Since this is uninitialized, it does not stop multiple parsers from coexisting. */ #endif /* YYINITDEPTH indicates the initial size of the parser's stacks */ #ifndef YYINITDEPTH #define YYINITDEPTH 200 #endif /* YYMAXDEPTH is the maximum size the stacks can grow to (effective only if the built-in stack extension method is used). */ #if YYMAXDEPTH == 0 #undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif /* Define __yy_memcpy. Note that the size argument should be passed with type unsigned int, because that is what the non-GCC definitions require. With GCC, __builtin_memcpy takes an arg of type size_t, but it can handle unsigned int. */ #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) #else /* not GNU C or C++ */ #ifndef __cplusplus /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void __yy_memcpy (to, from, count) char *to; char *from; unsigned int count; { register char *f = from; register char *t = to; register int i = count; while (i-- > 0) *t++ = *f++; } #else /* __cplusplus */ /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void __yy_memcpy (char *to, char *from, unsigned int count) { register char *t = to; register char *f = from; register int i = count; while (i-- > 0) *t++ = *f++; } #endif #endif #line 217 "/usr/share/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. It should actually point to an object. Grammar actions can access the variable by casting it to the proper pointer type. */ #ifdef YYPARSE_PARAM #ifdef __cplusplus #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM #define YYPARSE_PARAM_DECL #else /* not __cplusplus */ #define YYPARSE_PARAM_ARG YYPARSE_PARAM #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; #endif /* not __cplusplus */ #else /* not YYPARSE_PARAM */ #define YYPARSE_PARAM_ARG #define YYPARSE_PARAM_DECL #endif /* not YYPARSE_PARAM */ /* Prevent warning if -Wstrict-prototypes. */ #ifdef __GNUC__ #ifdef YYPARSE_PARAM int yyparse (void *); #else int yyparse (void); #endif #endif int yyparse(YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL { register int yystate; register int yyn; register short *yyssp; register YYSTYPE *yyvsp; int yyerrstatus; /* number of tokens to shift before error messages enabled */ int yychar1 = 0; /* lookahead token as an internal (translated) token number */ short yyssa[YYINITDEPTH]; /* the state stack */ YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ short *yyss = yyssa; /* refer to the stacks thru separate pointers */ YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ #ifdef YYLSP_NEEDED YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ YYLTYPE *yyls = yylsa; YYLTYPE *yylsp; #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) #else #define YYPOPSTACK (yyvsp--, yyssp--) #endif int yystacksize = YYINITDEPTH; int yyfree_stacks = 0; #ifdef YYPURE int yychar; YYSTYPE yylval; int yynerrs; #ifdef YYLSP_NEEDED YYLTYPE yylloc; #endif #endif YYSTYPE yyval; /* the variable used to return */ /* semantic values from the action */ /* routines */ int yylen; #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Starting parse\n"); #endif yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss - 1; yyvsp = yyvs; #ifdef YYLSP_NEEDED yylsp = yyls; #endif /* Push a new state, which is found in yystate . */ /* In all cases, when you get here, the value and location stacks have just been pushed. so pushing a state here evens the stacks. */ yynewstate: *++yyssp = yystate; if (yyssp >= yyss + yystacksize - 1) { /* Give user a chance to reallocate the stack */ /* Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; short *yyss1 = yyss; #ifdef YYLSP_NEEDED YYLTYPE *yyls1 = yyls; #endif /* Get the current used size of the three stacks, in elements. */ int size = yyssp - yyss + 1; #ifdef yyoverflow /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. */ #ifdef YYLSP_NEEDED /* This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow("parser stack overflow", &yyss1, size * sizeof (*yyssp), &yyvs1, size * sizeof (*yyvsp), &yyls1, size * sizeof (*yylsp), &yystacksize); #else yyoverflow("parser stack overflow", &yyss1, size * sizeof (*yyssp), &yyvs1, size * sizeof (*yyvsp), &yystacksize); #endif yyss = yyss1; yyvs = yyvs1; #ifdef YYLSP_NEEDED yyls = yyls1; #endif #else /* no yyoverflow */ /* Extend the stack our own way. */ if (yystacksize >= YYMAXDEPTH) { yyerror("parser stack overflow"); if (yyfree_stacks) { free (yyss); free (yyvs); #ifdef YYLSP_NEEDED free (yyls); #endif } return 2; } yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; #ifndef YYSTACK_USE_ALLOCA yyfree_stacks = 1; #endif yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); __yy_memcpy ((char *)yyss, (char *)yyss1, size * (unsigned int) sizeof (*yyssp)); yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * (unsigned int) sizeof (*yyvsp)); #ifdef YYLSP_NEEDED yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); __yy_memcpy ((char *)yyls, (char *)yyls1, size * (unsigned int) sizeof (*yylsp)); #endif #endif /* no yyoverflow */ yyssp = yyss + size - 1; yyvsp = yyvs + size - 1; #ifdef YYLSP_NEEDED yylsp = yyls + size - 1; #endif #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Stack size increased to %d\n", yystacksize); #endif if (yyssp >= yyss + yystacksize - 1) YYABORT; } #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Entering state %d\n", yystate); #endif goto yybackup; yybackup: /* Do appropriate processing given the current state. */ /* Read a lookahead token if we need one and don't already have one. */ /* yyresume: */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYFLAG) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* yychar is either YYEMPTY or YYEOF or a valid token in external form. */ if (yychar == YYEMPTY) { #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Reading a token: "); #endif yychar = YYLEX; } /* Convert token to internal form (in yychar1) for indexing tables with */ if (yychar <= 0) /* This means end of input. */ { yychar1 = 0; yychar = YYEOF; /* Don't call YYLEX any more */ #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Now at end of input.\n"); #endif } else { yychar1 = YYTRANSLATE(yychar); #if YYDEBUG != 0 if (yydebug) { fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); /* Give the individual parser a way to print the precise meaning of a token, for further debugging info. */ #ifdef YYPRINT YYPRINT (stderr, yychar, yylval); #endif fprintf (stderr, ")\n"); } #endif } yyn += yychar1; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) goto yydefault; yyn = yytable[yyn]; /* yyn is what to do for this token type in this state. Negative => reduce, -yyn is rule number. Positive => shift, yyn is new state. New state is final state => don't bother to shift, just return success. 0, or most negative number => error. */ if (yyn < 0) { if (yyn == YYFLAG) goto yyerrlab; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); #endif /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; #ifdef YYLSP_NEEDED *++yylsp = yylloc; #endif /* count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; yystate = yyn; goto yynewstate; /* Do the default action for the current state. */ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; /* Do a reduction. yyn is the number of a rule to reduce with. */ yyreduce: yylen = yyr2[yyn]; if (yylen > 0) yyval = yyvsp[1-yylen]; /* implement default value of the action */ #if YYDEBUG != 0 if (yydebug) { int i; fprintf (stderr, "Reducing via rule %d (line %d), ", yyn, yyrline[yyn]); /* Print the symbols being reduced, and their result. */ for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) fprintf (stderr, "%s ", yytname[yyrhs[i]]); fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); } #endif switch (yyn) { case 1: #line 111 "./filt_parser.y" {InstallFilter(yyvsp[-1].pf);; break;} case 2: #line 116 "./filt_parser.y" { yyval.pf = MakeBinaryNode(OP_AND,yyvsp[-2].pf,yyvsp[0].pf);; break;} case 3: #line 118 "./filt_parser.y" { yyval.pf = MakeBinaryNode(OP_OR,yyvsp[-2].pf,yyvsp[0].pf);; break;} case 4: #line 120 "./filt_parser.y" { yyval.pf = MakeUnaryNode(OP_NOT,yyvsp[0].pf); ; break;} case 5: #line 122 "./filt_parser.y" { yyval.pf = MakeBinaryNode(yyvsp[-1].op,yyvsp[-2].pf,yyvsp[0].pf);; break;} case 6: #line 124 "./filt_parser.y" { yyval.pf = yyvsp[0].pf; ; break;} case 7: #line 130 "./filt_parser.y" { yyval.pf = MakeBinaryNode(OP_PLUS,yyvsp[-2].pf,yyvsp[0].pf);; break;} case 8: #line 132 "./filt_parser.y" { yyval.pf = MakeBinaryNode(OP_MINUS,yyvsp[-2].pf,yyvsp[0].pf);; break;} case 9: #line 134 "./filt_parser.y" { yyval.pf = MakeBinaryNode(OP_TIMES,yyvsp[-2].pf,yyvsp[0].pf);; break;} case 10: #line 136 "./filt_parser.y" { yyval.pf = MakeBinaryNode(OP_DIVIDE,yyvsp[-2].pf,yyvsp[0].pf);; break;} case 11: #line 138 "./filt_parser.y" { yyval.pf = MakeBinaryNode(OP_MOD,yyvsp[-2].pf,yyvsp[0].pf);; break;} case 12: #line 140 "./filt_parser.y" { yyval.pf = MakeBinaryNode(OP_BAND,yyvsp[-2].pf,yyvsp[0].pf);; break;} case 13: #line 142 "./filt_parser.y" { yyval.pf = MakeBinaryNode(OP_BOR,yyvsp[-2].pf,yyvsp[0].pf);; break;} case 14: #line 144 "./filt_parser.y" { yyval.pf = yyvsp[-1].pf; ; break;} case 15: #line 146 "./filt_parser.y" { yyval.pf = yyvsp[0].pf; ; break;} case 16: #line 151 "./filt_parser.y" { yyval.pf = MakeVarNode(yyvsp[0].string); ; break;} case 17: #line 153 "./filt_parser.y" { yyval.pf = MakeSignedConstNode(yyvsp[0].signed_long); ; break;} case 18: #line 155 "./filt_parser.y" { yyval.pf = MakeUnsignedConstNode(yyvsp[0].unsigned_long); ; break;} case 19: #line 157 "./filt_parser.y" { yyval.pf = MakeStringConstNode(yyvsp[0].string); ; break;} case 20: #line 159 "./filt_parser.y" { yyval.pf = MakeBoolConstNode(yyvsp[0].bool); ; break;} case 21: #line 162 "./filt_parser.y" { yyval.pf = MakeIPaddrConstNode(yyvsp[0].pipaddr); ; break;} case 22: #line 167 "./filt_parser.y" { yyval.op = OP_GREATER;; break;} case 23: #line 169 "./filt_parser.y" { yyval.op = OP_GREATER_EQ;; break;} case 24: #line 171 "./filt_parser.y" { yyval.op = OP_LESS;; break;} case 25: #line 173 "./filt_parser.y" { yyval.op = OP_LESS_EQ;; break;} case 26: #line 175 "./filt_parser.y" { yyval.op = OP_EQUAL;; break;} case 27: #line 177 "./filt_parser.y" { yyval.op = OP_NEQUAL;; break;} } /* the action file gets copied in in place of this dollarsign */ #line 543 "/usr/share/bison.simple" yyvsp -= yylen; yyssp -= yylen; #ifdef YYLSP_NEEDED yylsp -= yylen; #endif #if YYDEBUG != 0 if (yydebug) { short *ssp1 = yyss - 1; fprintf (stderr, "state stack now"); while (ssp1 != yyssp) fprintf (stderr, " %d", *++ssp1); fprintf (stderr, "\n"); } #endif *++yyvsp = yyval; #ifdef YYLSP_NEEDED yylsp++; if (yylen == 0) { yylsp->first_line = yylloc.first_line; yylsp->first_column = yylloc.first_column; yylsp->last_line = (yylsp-1)->last_line; yylsp->last_column = (yylsp-1)->last_column; yylsp->text = 0; } else { yylsp->last_line = (yylsp+yylen-1)->last_line; yylsp->last_column = (yylsp+yylen-1)->last_column; } #endif /* Now "shift" the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTBASE] + *yyssp; if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTBASE]; goto yynewstate; yyerrlab: /* here on detecting error */ if (! yyerrstatus) /* If not already recovering from an error, report this error. */ { ++yynerrs; #ifdef YYERROR_VERBOSE yyn = yypact[yystate]; if (yyn > YYFLAG && yyn < YYLAST) { int size = 0; char *msg; int x, count; count = 0; /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ for (x = (yyn < 0 ? -yyn : 0); x < (sizeof(yytname) / sizeof(char *)); x++) if (yycheck[x + yyn] == x) size += strlen(yytname[x]) + 15, count++; msg = (char *) malloc(size + 15); if (msg != 0) { strcpy(msg, "parse error"); if (count < 5) { count = 0; for (x = (yyn < 0 ? -yyn : 0); x < (sizeof(yytname) / sizeof(char *)); x++) if (yycheck[x + yyn] == x) { strcat(msg, count == 0 ? ", expecting `" : " or `"); strcat(msg, yytname[x]); strcat(msg, "'"); count++; } } yyerror(msg); free(msg); } else yyerror ("parse error; also virtual memory exceeded"); } else #endif /* YYERROR_VERBOSE */ yyerror("parse error"); } goto yyerrlab1; yyerrlab1: /* here on error raised explicitly by an action */ if (yyerrstatus == 3) { /* if just tried and failed to reuse lookahead token after an error, discard it. */ /* return failure if at end of input */ if (yychar == YYEOF) YYABORT; #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); #endif yychar = YYEMPTY; } /* Else will try to reuse lookahead token after shifting the error token. */ yyerrstatus = 3; /* Each real token shifted decrements this */ goto yyerrhandle; yyerrdefault: /* current state does not do anything special for the error token. */ #if 0 /* This is wrong; only states that explicitly want error tokens should shift them. */ yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ if (yyn) goto yydefault; #endif yyerrpop: /* pop the current state because it cannot handle the error token */ if (yyssp == yyss) YYABORT; yyvsp--; yystate = *--yyssp; #ifdef YYLSP_NEEDED yylsp--; #endif #if YYDEBUG != 0 if (yydebug) { short *ssp1 = yyss - 1; fprintf (stderr, "Error: state stack now"); while (ssp1 != yyssp) fprintf (stderr, " %d", *++ssp1); fprintf (stderr, "\n"); } #endif yyerrhandle: yyn = yypact[yystate]; if (yyn == YYFLAG) goto yyerrdefault; yyn += YYTERROR; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) goto yyerrdefault; yyn = yytable[yyn]; if (yyn < 0) { if (yyn == YYFLAG) goto yyerrpop; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Shifting error token, "); #endif *++yyvsp = yylval; #ifdef YYLSP_NEEDED *++yylsp = yylloc; #endif yystate = yyn; goto yynewstate; yyacceptlab: /* YYACCEPT comes here. */ if (yyfree_stacks) { free (yyss); free (yyvs); #ifdef YYLSP_NEEDED free (yyls); #endif } return 0; yyabortlab: /* YYABORT comes here. */ if (yyfree_stacks) { free (yyss); free (yyvs); #ifdef YYLSP_NEEDED free (yyls); #endif } return 1; } #line 179 "./filt_parser.y" void filtyyerror(char *error_string, ...) { fprintf(stderr,"Bad filter expr: '%s'\n", error_string); } tcptrace-6.6.7/flex_bison/filt_parser.h0100644001217500001440000000127710021711265017664 0ustar mramadasuserstypedef union { /* the types that we use in the tokens */ char *string; long signed_long; u_long unsigned_long; ipaddr *pipaddr; Bool bool; enum optype op; struct filter_node *pf; } YYSTYPE; #define EOS 257 #define LPAREN 258 #define RPAREN 259 #define GREATER 260 #define GREATER_EQ 261 #define LESS 262 #define LESS_EQ 263 #define EQUAL 264 #define NEQUAL 265 #define NOT 266 #define AND 267 #define OR 268 #define BAND 269 #define BOR 270 #define PLUS 271 #define MINUS 272 #define TIMES 273 #define DIVIDE 274 #define MOD 275 #define VARIABLE 276 #define STRING 277 #define SIGNED 278 #define UNSIGNED 279 #define BOOL 280 #define IPADDR 281 extern YYSTYPE filtyylval; tcptrace-6.6.7/flex_bison/filt_scanner.c0100644001217500001440000013201410142530247020011 0ustar mramadasusers#define yy_create_buffer filtyy_create_buffer #define yy_delete_buffer filtyy_delete_buffer #define yy_scan_buffer filtyy_scan_buffer #define yy_scan_string filtyy_scan_string #define yy_scan_bytes filtyy_scan_bytes #define yy_flex_debug filtyy_flex_debug #define yy_init_buffer filtyy_init_buffer #define yy_flush_buffer filtyy_flush_buffer #define yy_load_buffer_state filtyy_load_buffer_state #define yy_switch_to_buffer filtyy_switch_to_buffer #define yyin filtyyin #define yyleng filtyyleng #define yylex filtyylex #define yyout filtyyout #define yyrestart filtyyrestart #define yytext filtyytext #define yywrap filtyywrap /* A lexical scanner generated by flex */ /* Scanner skeleton version: * $Header: /usr/local/cvs/tcptrace/flex_bison/filt_scanner.c,v 1.37 2004/11/04 22:43:51 mramadas Exp $ */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 #include /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ #ifdef c_plusplus #ifndef __cplusplus #define __cplusplus #endif #endif #ifdef __cplusplus #include #include /* Use prototypes in function declarations. */ #define YY_USE_PROTOS /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST #else /* ! __cplusplus */ #if __STDC__ #define YY_USE_PROTOS #define YY_USE_CONST #endif /* __STDC__ */ #endif /* ! __cplusplus */ #ifdef __TURBOC__ #pragma warn -rch #pragma warn -use #include #include #define YY_USE_CONST #define YY_USE_PROTOS #endif #ifdef YY_USE_CONST #define yyconst const #else #define yyconst #endif #ifdef YY_USE_PROTOS #define YY_PROTO(proto) proto #else #define YY_PROTO(proto) () #endif /* Returned upon end-of-file. */ #define YY_NULL 0 /* Promotes a possibly negative, possibly signed char to an unsigned * integer for use as an array index. If the signed char is negative, * we want to instead treat it as an 8-bit unsigned char, hence the * double cast. */ #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN yy_start = 1 + 2 * /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START ((yy_start - 1) / 2) #define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ #define YY_NEW_FILE yyrestart( yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #define YY_BUF_SIZE 16384 typedef struct yy_buffer_state *YY_BUFFER_STATE; extern int yyleng; extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 /* The funky do-while in the following #define is used to turn the definition * int a single C statement (which needs a semi-colon terminator). This * avoids problems with code like: * * if ( condition_holds ) * yyless( 5 ); * else * do_something_else(); * * Prior to using the do-while the compiler would get upset at the * "else" because it interpreted the "if" statement as being all * done when it reached the ';' after the yyless() call. */ /* Return all but the first 'n' matched characters back to the input stream. */ #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ *yy_cp = yy_hold_char; \ YY_RESTORE_YY_MORE_OFFSET \ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, yytext_ptr ) /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want * flex-generated scanners to compile on their own). */ typedef unsigned int yy_size_t; struct yy_buffer_state { FILE *yy_input_file; char *yy_ch_buf; /* input buffer */ char *yy_buf_pos; /* current position in input buffer */ /* Size of input buffer in bytes, not including room for EOB * characters. */ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ int yy_is_our_buffer; /* Whether this is an "interactive" input source; if so, and * if we're using stdio for input, then we want to use getc() * instead of fread(), to make sure we stop fetching input after * each newline. */ int yy_is_interactive; /* Whether we're considered to be at the beginning of a line. * If so, '^' rules will be active on the next match, otherwise * not. */ int yy_at_bol; /* Whether to try to fill the input buffer when we reach the * end of it. */ int yy_fill_buffer; int yy_buffer_status; #define YY_BUFFER_NEW 0 #define YY_BUFFER_NORMAL 1 /* When an EOF's been seen but there's still some text to process * then we mark the buffer as YY_EOF_PENDING, to indicate that we * shouldn't try reading from the input source any more. We might * still have a bunch of tokens to match, though, because of * possible backing-up. * * When we actually see the EOF, we change the status to "new" * (via yyrestart()), so that the user can continue scanning by * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 }; static YY_BUFFER_STATE yy_current_buffer = 0; /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". */ #define YY_CURRENT_BUFFER yy_current_buffer /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ int yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; static int yy_init = 1; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow yywrap()'s to do buffer switches * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; void yyrestart YY_PROTO(( FILE *input_file )); void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); void yy_load_buffer_state YY_PROTO(( void )); YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); static void *yy_flex_alloc YY_PROTO(( yy_size_t )); static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); static void yy_flex_free YY_PROTO(( void * )); #define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! yy_current_buffer ) \ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ yy_current_buffer->yy_is_interactive = is_interactive; \ } #define yy_set_bol(at_bol) \ { \ if ( ! yy_current_buffer ) \ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ yy_current_buffer->yy_at_bol = at_bol; \ } #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) typedef unsigned char YY_CHAR; FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; typedef int yy_state_type; extern char *yytext; #define yytext_ptr yytext static yy_state_type yy_get_previous_state YY_PROTO(( void )); static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); static int yy_get_next_buffer YY_PROTO(( void )); static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ yytext_ptr = yy_bp; \ yyleng = (int) (yy_cp - yy_bp); \ yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; #define YY_NUM_RULES 36 #define YY_END_OF_BUFFER 37 static yyconst short int yy_accept[68] = { 0, 0, 0, 37, 35, 1, 2, 17, 35, 7, 26, 8, 9, 5, 3, 4, 6, 29, 10, 14, 12, 34, 34, 34, 34, 34, 34, 34, 25, 1, 16, 0, 33, 21, 30, 20, 23, 0, 29, 0, 0, 11, 15, 13, 34, 34, 34, 34, 34, 22, 34, 24, 0, 0, 0, 19, 34, 18, 34, 0, 28, 34, 32, 0, 31, 0, 27, 0 } ; static yyconst int yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, 5, 1, 1, 6, 7, 1, 8, 9, 10, 11, 1, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 1, 17, 18, 19, 1, 1, 20, 21, 21, 22, 23, 24, 25, 25, 25, 25, 25, 26, 25, 27, 28, 25, 25, 29, 30, 31, 32, 25, 25, 25, 25, 25, 1, 1, 1, 1, 25, 1, 33, 21, 21, 22, 21, 21, 25, 25, 25, 25, 25, 25, 25, 27, 28, 25, 25, 34, 25, 35, 25, 25, 25, 25, 25, 25, 1, 36, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static yyconst int yy_meta[37] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, 3, 1, 1, 1, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1 } ; static yyconst short int yy_base[72] = { 0, 0, 0, 124, 125, 121, 125, 104, 116, 125, 113, 125, 125, 125, 125, 22, 125, 25, 101, 100, 99, 43, 89, 19, 64, 87, 14, 85, 77, 110, 125, 106, 125, 125, 95, 125, 125, 94, 36, 92, 31, 125, 125, 125, 0, 80, 84, 27, 26, 0, 73, 125, 47, 88, 87, 0, 66, 0, 72, 79, 77, 69, 0, 68, 0, 75, 74, 125, 97, 99, 79, 42 } ; static yyconst short int yy_def[72] = { 0, 67, 1, 67, 67, 67, 67, 67, 68, 67, 67, 67, 67, 67, 67, 67, 67, 69, 67, 67, 67, 67, 21, 21, 21, 24, 24, 24, 67, 67, 67, 68, 67, 67, 67, 67, 67, 67, 69, 70, 69, 67, 67, 67, 24, 21, 24, 21, 24, 24, 24, 67, 67, 70, 71, 24, 24, 24, 24, 67, 71, 24, 24, 67, 24, 67, 67, 0, 67, 67, 67, 67 } ; static yyconst short int yy_nxt[162] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 4, 16, 17, 4, 18, 19, 20, 21, 22, 22, 22, 23, 24, 24, 25, 26, 24, 24, 27, 24, 21, 24, 24, 28, 34, 37, 47, 38, 39, 35, 49, 67, 60, 44, 39, 49, 37, 36, 38, 39, 56, 44, 35, 44, 57, 45, 39, 59, 57, 52, 45, 45, 45, 45, 45, 44, 44, 46, 44, 44, 44, 44, 44, 45, 44, 44, 44, 67, 65, 53, 63, 44, 44, 44, 44, 44, 66, 66, 44, 64, 54, 63, 62, 61, 44, 31, 31, 31, 40, 40, 54, 54, 58, 55, 44, 54, 52, 34, 32, 29, 51, 50, 48, 44, 43, 42, 41, 33, 32, 30, 29, 67, 3, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67 } ; static yyconst short int yy_chk[162] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 17, 23, 17, 17, 15, 26, 40, 71, 23, 40, 26, 38, 15, 38, 38, 47, 47, 15, 21, 48, 21, 21, 52, 48, 52, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 24, 24, 63, 70, 63, 24, 24, 24, 24, 24, 66, 65, 24, 61, 60, 59, 58, 56, 24, 68, 68, 68, 69, 69, 54, 53, 50, 46, 45, 39, 37, 34, 31, 29, 28, 27, 25, 22, 20, 19, 18, 10, 8, 7, 5, 3, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67 } ; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; #line 1 "./filt_scanner.l" #define INITIAL 0 #line 2 "./filt_scanner.l" /* * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 * Ohio University. * * --- * Starting with the release of tcptrace version 6 in 2001, tcptrace * is licensed under the GNU General Public License (GPL). We believe * that, among the available licenses, the GPL will do the best job of * allowing tcptrace to continue to be a valuable, freely-available * and well-maintained tool for the networking community. * * Previous versions of tcptrace were released under a license that * was much less restrictive with respect to how tcptrace could be * used in commercial products. Because of this, I am willing to * consider alternate license arrangements as allowed in Section 10 of * the GNU GPL. Before I would consider licensing tcptrace under an * alternate agreement with a particular individual or company, * however, I would have to be convinced that such an alternative * would be to the greater benefit of the networking community. * * --- * * This file is part of Tcptrace. * * Tcptrace was originally written and continues to be maintained by * Shawn Ostermann with the help of a group of devoted students and * users (see the file 'THANKS'). The work on tcptrace has been made * possible over the years through the generous support of NASA GRC, * the National Science Foundation, and Sun Microsystems. * * Tcptrace is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tcptrace is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tcptrace (in the file 'COPYING'); if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * * Author: Shawn Ostermann * School of Electrical Engineering and Computer Science * Ohio University * Athens, OH * http://www.tcptrace.org/ * ostermann@cs.ohiou.edu */ #include #include "tcptrace.h" #include "filter.h" #define yylval filtyylval #include "filt_parser.h" /* define our own input routine using filter_getc() */ #define YY_INPUT(buf,result,max_size) \ { \ int c = filter_getc(); \ result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \ } /* Macros after this point can all be overridden by user definitions in * section 1. */ #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus extern "C" int yywrap YY_PROTO(( void )); #else extern int yywrap YY_PROTO(( void )); #endif #endif #ifndef YY_NO_UNPUT static void yyunput YY_PROTO(( int c, char *buf_ptr )); #endif #ifndef yytext_ptr static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen YY_PROTO(( yyconst char * )); #endif #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput YY_PROTO(( void )); #else static int input YY_PROTO(( void )); #endif #endif #if YY_STACK_USED static int yy_start_stack_ptr = 0; static int yy_start_stack_depth = 0; static int *yy_start_stack = 0; #ifndef YY_NO_PUSH_STATE static void yy_push_state YY_PROTO(( int new_state )); #endif #ifndef YY_NO_POP_STATE static void yy_pop_state YY_PROTO(( void )); #endif #ifndef YY_NO_TOP_STATE static int yy_top_state YY_PROTO(( void )); #endif #else #define YY_NO_PUSH_STATE 1 #define YY_NO_POP_STATE 1 #define YY_NO_TOP_STATE 1 #endif #ifdef YY_MALLOC_DECL YY_MALLOC_DECL #else #if __STDC__ #ifndef __cplusplus #include #endif #else /* Just try to get by without declaring the routines. This will fail * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) * or sizeof(void*) != sizeof(int). */ #endif #endif /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #define YY_READ_BUF_SIZE 8192 #endif /* Copy whatever the last rule matched to the standard output. */ #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ #define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( yy_current_buffer->yy_is_interactive ) \ { \ int c = '*', n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ if ( c == EOF && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); #endif /* No semi-colon after return; correct usage is to write "yyterminate();" - * we don't want an extra ';' after the "return" because that will cause * some compilers to complain about unreachable statements. */ #ifndef yyterminate #define yyterminate() return YY_NULL #endif /* Number of entries by which start-condition stack grows. */ #ifndef YY_START_STACK_INCR #define YY_START_STACK_INCR 25 #endif /* Report a fatal error. */ #ifndef YY_FATAL_ERROR #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) #endif /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL #define YY_DECL int yylex YY_PROTO(( void )) #endif /* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION #define YY_USER_ACTION #endif /* Code executed at the end of each rule. */ #ifndef YY_BREAK #define YY_BREAK break; #endif #define YY_RULE_SETUP \ YY_USER_ACTION YY_DECL { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; #line 74 "./filt_scanner.l" if ( yy_init ) { yy_init = 0; #ifdef YY_USER_INIT YY_USER_INIT; #endif if ( ! yy_start ) yy_start = 1; /* first start state */ if ( ! yyin ) yyin = stdin; if ( ! yyout ) yyout = stdout; if ( ! yy_current_buffer ) yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); yy_load_buffer_state(); } while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = yy_c_buf_p; /* Support of yytext. */ *yy_cp = yy_hold_char; /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; yy_current_state = yy_start; yy_match: do { register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if ( yy_accept[yy_current_state] ) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 68 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } while ( yy_base[yy_current_state] != 125 ); yy_find_action: yy_act = yy_accept[yy_current_state]; if ( yy_act == 0 ) { /* have to back up */ yy_cp = yy_last_accepting_cpos; yy_current_state = yy_last_accepting_state; yy_act = yy_accept[yy_current_state]; } YY_DO_BEFORE_ACTION; do_action: /* This label is used only to access EOF actions. */ switch ( yy_act ) { /* beginning of action switch */ case 0: /* must back up */ /* undo the effects of YY_DO_BEFORE_ACTION */ *yy_cp = yy_hold_char; yy_cp = yy_last_accepting_cpos; yy_current_state = yy_last_accepting_state; goto yy_find_action; case 1: YY_RULE_SETUP #line 76 "./filt_scanner.l" { } /* Just ignore white space */ YY_BREAK case 2: YY_RULE_SETUP #line 78 "./filt_scanner.l" { return(EOS); } YY_BREAK case 3: YY_RULE_SETUP #line 79 "./filt_scanner.l" { return(PLUS); } YY_BREAK case 4: YY_RULE_SETUP #line 80 "./filt_scanner.l" { return(MINUS); } YY_BREAK case 5: YY_RULE_SETUP #line 81 "./filt_scanner.l" { return(TIMES); } YY_BREAK case 6: YY_RULE_SETUP #line 82 "./filt_scanner.l" { return(DIVIDE); } YY_BREAK case 7: YY_RULE_SETUP #line 83 "./filt_scanner.l" { return(MOD); } YY_BREAK case 8: YY_RULE_SETUP #line 84 "./filt_scanner.l" { return(LPAREN); } YY_BREAK case 9: YY_RULE_SETUP #line 85 "./filt_scanner.l" { return(RPAREN); } YY_BREAK case 10: YY_RULE_SETUP #line 86 "./filt_scanner.l" { return(LESS); } YY_BREAK case 11: YY_RULE_SETUP #line 87 "./filt_scanner.l" { return(LESS_EQ); } YY_BREAK case 12: YY_RULE_SETUP #line 88 "./filt_scanner.l" { return(GREATER); } YY_BREAK case 13: YY_RULE_SETUP #line 89 "./filt_scanner.l" { return(GREATER_EQ); } YY_BREAK case 14: YY_RULE_SETUP #line 90 "./filt_scanner.l" { return(EQUAL); } YY_BREAK case 15: YY_RULE_SETUP #line 91 "./filt_scanner.l" { return(EQUAL); } /* same as "=" */ YY_BREAK case 16: YY_RULE_SETUP #line 92 "./filt_scanner.l" { return(NEQUAL); } YY_BREAK case 17: YY_RULE_SETUP #line 93 "./filt_scanner.l" { return(NOT); } YY_BREAK case 18: YY_RULE_SETUP #line 94 "./filt_scanner.l" { return(NOT); } /* same as "!" */ YY_BREAK case 19: YY_RULE_SETUP #line 95 "./filt_scanner.l" { return(AND); } YY_BREAK case 20: YY_RULE_SETUP #line 96 "./filt_scanner.l" { return(AND); } /* same as "AND" */ YY_BREAK case 21: YY_RULE_SETUP #line 97 "./filt_scanner.l" { return(AND); } /* same as "AND" */ YY_BREAK case 22: YY_RULE_SETUP #line 98 "./filt_scanner.l" { return(OR); } YY_BREAK case 23: YY_RULE_SETUP #line 99 "./filt_scanner.l" { return(OR); } /* same as "OR" */ YY_BREAK case 24: YY_RULE_SETUP #line 100 "./filt_scanner.l" { return(OR); } /* same as "OR" */ YY_BREAK case 25: YY_RULE_SETUP #line 101 "./filt_scanner.l" { return(BOR); } /* bitwise OR */ YY_BREAK case 26: YY_RULE_SETUP #line 102 "./filt_scanner.l" { return(BAND); } /* bitwise AND */ YY_BREAK case 27: YY_RULE_SETUP #line 105 "./filt_scanner.l" { /* an IPv4 addr */ yylval.pipaddr = str2ipaddr(yytext); return(IPADDR); } YY_BREAK case 28: YY_RULE_SETUP #line 111 "./filt_scanner.l" { /* an IPv6 addr */ yylval.pipaddr = str2ipaddr(yytext); return(IPADDR); } YY_BREAK case 29: YY_RULE_SETUP #line 117 "./filt_scanner.l" { /* an unsigned integer */ yylval.unsigned_long = atoi(yytext); return(UNSIGNED); } YY_BREAK case 30: YY_RULE_SETUP #line 123 "./filt_scanner.l" { /* a signed integer */ yylval.signed_long = atoi(yytext); return(SIGNED); } YY_BREAK case 31: YY_RULE_SETUP #line 128 "./filt_scanner.l" { yylval.unsigned_long = 0; return(UNSIGNED); } YY_BREAK case 32: YY_RULE_SETUP #line 129 "./filt_scanner.l" { yylval.unsigned_long = 1; return(UNSIGNED); } YY_BREAK case 33: YY_RULE_SETUP #line 131 "./filt_scanner.l" { /* a string */ yylval.string = strdup(yytext+1); /* make a copy of the string */ yylval.string[strlen(yylval.string)-1] = '\00'; return(STRING); } YY_BREAK case 34: YY_RULE_SETUP #line 138 "./filt_scanner.l" { /* a variable (word) */ yylval.string = strdup(yytext); /* make a copy of the string */ return(VARIABLE); } YY_BREAK case 35: YY_RULE_SETUP #line 145 "./filt_scanner.l" { /* if we haven't matched anything yet, then it's illegal */ fprintf(stderr, "filter scanner: Bad character '%c' (%d decimal)\n", *yytext, *yytext); exit(-1); } YY_BREAK case 36: YY_RULE_SETUP #line 153 "./filt_scanner.l" ECHO; YY_BREAK case YY_STATE_EOF(INITIAL): yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ *yy_cp = yy_hold_char; YY_RESTORE_YY_MORE_OFFSET if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) { /* We're scanning a new file or input source. It's * possible that this happened because the user * just pointed yyin at a new source and called * yylex(). If so, then we have to assure * consistency between yy_current_buffer and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ yy_n_chars = yy_current_buffer->yy_n_chars; yy_current_buffer->yy_input_file = yyin; yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for yy_c_buf_p "<=" to the position * of the first EOB in the buffer, since yy_c_buf_p will * already have been incremented past the NUL character * (since all states make transitions on EOB to the * end-of-buffer state). Contrast this with the test * in input(). */ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) { /* This was really a NUL. */ yy_state_type yy_next_state; yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state(); /* Okay, we're now positioned to make the NUL * transition. We couldn't have * yy_get_previous_state() go ahead and do it * for us because it doesn't know how to deal * with the possibility of jamming (and we don't * want to build jamming into it because then it * will run more slowly). */ yy_next_state = yy_try_NUL_trans( yy_current_state ); yy_bp = yytext_ptr + YY_MORE_ADJ; if ( yy_next_state ) { /* Consume the NUL. */ yy_cp = ++yy_c_buf_p; yy_current_state = yy_next_state; goto yy_match; } else { yy_cp = yy_c_buf_p; goto yy_find_action; } } else switch ( yy_get_next_buffer() ) { case EOB_ACT_END_OF_FILE: { yy_did_buffer_switch_on_eof = 0; if ( yywrap() ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up * yytext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the * YY_NULL, it'll still work - another * YY_NULL will get returned. */ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; yy_act = YY_STATE_EOF(YY_START); goto do_action; } else { if ( ! yy_did_buffer_switch_on_eof ) YY_NEW_FILE; } break; } case EOB_ACT_CONTINUE_SCAN: yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state(); yy_cp = yy_c_buf_p; yy_bp = yytext_ptr + YY_MORE_ADJ; goto yy_match; case EOB_ACT_LAST_MATCH: yy_c_buf_p = &yy_current_buffer->yy_ch_buf[yy_n_chars]; yy_current_state = yy_get_previous_state(); yy_cp = yy_c_buf_p; yy_bp = yytext_ptr + YY_MORE_ADJ; goto yy_find_action; } break; } default: YY_FATAL_ERROR( "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ } /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: * EOB_ACT_LAST_MATCH - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ static int yy_get_next_buffer() { register char *dest = yy_current_buffer->yy_ch_buf; register char *source = yytext_ptr; register int number_to_move, i; int ret_val; if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) YY_FATAL_ERROR( "fatal flex scanner internal error--end of buffer missed" ); if ( yy_current_buffer->yy_fill_buffer == 0 ) { /* Don't try to fill the buffer, so this is an EOF. */ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) { /* We matched a single character, the EOB, so * treat this as a final EOF. */ return EOB_ACT_END_OF_FILE; } else { /* We matched some text prior to the EOB, first * process it. */ return EOB_ACT_LAST_MATCH; } } /* Try to read more data. */ /* First move last chars to start of buffer. */ number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ yy_current_buffer->yy_n_chars = yy_n_chars = 0; else { int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ #ifdef YY_USES_REJECT YY_FATAL_ERROR( "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); #else /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = yy_current_buffer; int yy_c_buf_p_offset = (int) (yy_c_buf_p - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ yy_flex_realloc( (void *) b->yy_ch_buf, b->yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" ); yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1; #endif } if ( num_to_read > YY_READ_BUF_SIZE ) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), yy_n_chars, num_to_read ); yy_current_buffer->yy_n_chars = yy_n_chars; } if ( yy_n_chars == 0 ) { if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; yyrestart( yyin ); } else { ret_val = EOB_ACT_LAST_MATCH; yy_current_buffer->yy_buffer_status = YY_BUFFER_EOF_PENDING; } } else ret_val = EOB_ACT_CONTINUE_SCAN; yy_n_chars += number_to_move; yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; return ret_val; } /* yy_get_previous_state - get the state just before the EOB char was reached */ static yy_state_type yy_get_previous_state() { register yy_state_type yy_current_state; register char *yy_cp; yy_current_state = yy_start; for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) { register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 68 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } return yy_current_state; } /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis * next_state = yy_try_NUL_trans( current_state ); */ #ifdef YY_USE_PROTOS static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) #else static yy_state_type yy_try_NUL_trans( yy_current_state ) yy_state_type yy_current_state; #endif { register int yy_is_jam; register char *yy_cp = yy_c_buf_p; register YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 68 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_is_jam = (yy_current_state == 67); return yy_is_jam ? 0 : yy_current_state; } #ifndef YY_NO_UNPUT #ifdef YY_USE_PROTOS static void yyunput( int c, register char *yy_bp ) #else static void yyunput( c, yy_bp ) int c; register char *yy_bp; #endif { register char *yy_cp = yy_c_buf_p; /* undo effects of setting up yytext */ *yy_cp = yy_hold_char; if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ register int number_to_move = yy_n_chars + 2; register char *dest = &yy_current_buffer->yy_ch_buf[ yy_current_buffer->yy_buf_size + 2]; register char *source = &yy_current_buffer->yy_ch_buf[number_to_move]; while ( source > yy_current_buffer->yy_ch_buf ) *--dest = *--source; yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); yy_current_buffer->yy_n_chars = yy_n_chars = yy_current_buffer->yy_buf_size; if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); } *--yy_cp = (char) c; yytext_ptr = yy_bp; yy_hold_char = *yy_cp; yy_c_buf_p = yy_cp; } #endif /* ifndef YY_NO_UNPUT */ #ifdef __cplusplus static int yyinput() #else static int input() #endif { int c; *yy_c_buf_p = yy_hold_char; if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) { /* yy_c_buf_p now points to the character we want to return. * If this occurs *before* the EOB characters, then it's a * valid NUL; if not, then we've hit the end of the buffer. */ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) /* This was really a NUL. */ *yy_c_buf_p = '\0'; else { /* need more input */ int offset = yy_c_buf_p - yytext_ptr; ++yy_c_buf_p; switch ( yy_get_next_buffer() ) { case EOB_ACT_LAST_MATCH: /* This happens because yy_g_n_b() * sees that we've accumulated a * token and flags that we need to * try matching the token before * proceeding. But for input(), * there's no matching to consider. * So convert the EOB_ACT_LAST_MATCH * to EOB_ACT_END_OF_FILE. */ /* Reset buffer status. */ yyrestart( yyin ); /* fall through */ case EOB_ACT_END_OF_FILE: { if ( yywrap() ) return EOF; if ( ! yy_did_buffer_switch_on_eof ) YY_NEW_FILE; #ifdef __cplusplus return yyinput(); #else return input(); #endif } case EOB_ACT_CONTINUE_SCAN: yy_c_buf_p = yytext_ptr + offset; break; } } } c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ *yy_c_buf_p = '\0'; /* preserve yytext */ yy_hold_char = *++yy_c_buf_p; return c; } #ifdef YY_USE_PROTOS void yyrestart( FILE *input_file ) #else void yyrestart( input_file ) FILE *input_file; #endif { if ( ! yy_current_buffer ) yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); yy_init_buffer( yy_current_buffer, input_file ); yy_load_buffer_state(); } #ifdef YY_USE_PROTOS void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) #else void yy_switch_to_buffer( new_buffer ) YY_BUFFER_STATE new_buffer; #endif { if ( yy_current_buffer == new_buffer ) return; if ( yy_current_buffer ) { /* Flush out information for old buffer. */ *yy_c_buf_p = yy_hold_char; yy_current_buffer->yy_buf_pos = yy_c_buf_p; yy_current_buffer->yy_n_chars = yy_n_chars; } yy_current_buffer = new_buffer; yy_load_buffer_state(); /* We don't actually know whether we did this switch during * EOF (yywrap()) processing, but the only time this flag * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ yy_did_buffer_switch_on_eof = 1; } #ifdef YY_USE_PROTOS void yy_load_buffer_state( void ) #else void yy_load_buffer_state() #endif { yy_n_chars = yy_current_buffer->yy_n_chars; yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; yyin = yy_current_buffer->yy_input_file; yy_hold_char = *yy_c_buf_p; } #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) #else YY_BUFFER_STATE yy_create_buffer( file, size ) FILE *file; int size; #endif { YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; yy_init_buffer( b, file ); return b; } #ifdef YY_USE_PROTOS void yy_delete_buffer( YY_BUFFER_STATE b ) #else void yy_delete_buffer( b ) YY_BUFFER_STATE b; #endif { if ( ! b ) return; if ( b == yy_current_buffer ) yy_current_buffer = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) yy_flex_free( (void *) b->yy_ch_buf ); yy_flex_free( (void *) b ); } #ifndef YY_ALWAYS_INTERACTIVE #ifndef YY_NEVER_INTERACTIVE extern int isatty YY_PROTO(( int )); #endif #endif #ifdef YY_USE_PROTOS void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) #else void yy_init_buffer( b, file ) YY_BUFFER_STATE b; FILE *file; #endif { yy_flush_buffer( b ); b->yy_input_file = file; b->yy_fill_buffer = 1; #if YY_ALWAYS_INTERACTIVE b->yy_is_interactive = 1; #else #if YY_NEVER_INTERACTIVE b->yy_is_interactive = 0; #else b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; #endif #endif } #ifdef YY_USE_PROTOS void yy_flush_buffer( YY_BUFFER_STATE b ) #else void yy_flush_buffer( b ) YY_BUFFER_STATE b; #endif { if ( ! b ) return; b->yy_n_chars = 0; /* We always need two end-of-buffer characters. The first causes * a transition to the end-of-buffer state. The second causes * a jam in that state. */ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; b->yy_buf_pos = &b->yy_ch_buf[0]; b->yy_at_bol = 1; b->yy_buffer_status = YY_BUFFER_NEW; if ( b == yy_current_buffer ) yy_load_buffer_state(); } #ifndef YY_NO_SCAN_BUFFER #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) #else YY_BUFFER_STATE yy_scan_buffer( base, size ) char *base; yy_size_t size; #endif { YY_BUFFER_STATE b; if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ return 0; b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; yy_switch_to_buffer( b ); return b; } #endif #ifndef YY_NO_SCAN_STRING #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) #else YY_BUFFER_STATE yy_scan_string( yy_str ) yyconst char *yy_str; #endif { int len; for ( len = 0; yy_str[len]; ++len ) ; return yy_scan_bytes( yy_str, len ); } #endif #ifndef YY_NO_SCAN_BYTES #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) #else YY_BUFFER_STATE yy_scan_bytes( bytes, len ) yyconst char *bytes; int len; #endif { YY_BUFFER_STATE b; char *buf; yy_size_t n; int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = len + 2; buf = (char *) yy_flex_alloc( n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); for ( i = 0; i < len; ++i ) buf[i] = bytes[i]; buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; b = yy_scan_buffer( buf, n ); if ( ! b ) YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. */ b->yy_is_our_buffer = 1; return b; } #endif #ifndef YY_NO_PUSH_STATE #ifdef YY_USE_PROTOS static void yy_push_state( int new_state ) #else static void yy_push_state( new_state ) int new_state; #endif { if ( yy_start_stack_ptr >= yy_start_stack_depth ) { yy_size_t new_size; yy_start_stack_depth += YY_START_STACK_INCR; new_size = yy_start_stack_depth * sizeof( int ); if ( ! yy_start_stack ) yy_start_stack = (int *) yy_flex_alloc( new_size ); else yy_start_stack = (int *) yy_flex_realloc( (void *) yy_start_stack, new_size ); if ( ! yy_start_stack ) YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); } yy_start_stack[yy_start_stack_ptr++] = YY_START; BEGIN(new_state); } #endif #ifndef YY_NO_POP_STATE static void yy_pop_state() { if ( --yy_start_stack_ptr < 0 ) YY_FATAL_ERROR( "start-condition stack underflow" ); BEGIN(yy_start_stack[yy_start_stack_ptr]); } #endif #ifndef YY_NO_TOP_STATE static int yy_top_state() { return yy_start_stack[yy_start_stack_ptr - 1]; } #endif #ifndef YY_EXIT_FAILURE #define YY_EXIT_FAILURE 2 #endif #ifdef YY_USE_PROTOS static void yy_fatal_error( yyconst char msg[] ) #else static void yy_fatal_error( msg ) char msg[]; #endif { (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* Redefine yyless() so it works in section 3 code. */ #undef yyless #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ yytext[yyleng] = yy_hold_char; \ yy_c_buf_p = yytext + n; \ yy_hold_char = *yy_c_buf_p; \ *yy_c_buf_p = '\0'; \ yyleng = n; \ } \ while ( 0 ) /* Internal utility routines. */ #ifndef yytext_ptr #ifdef YY_USE_PROTOS static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) #else static void yy_flex_strncpy( s1, s2, n ) char *s1; yyconst char *s2; int n; #endif { register int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN #ifdef YY_USE_PROTOS static int yy_flex_strlen( yyconst char *s ) #else static int yy_flex_strlen( s ) yyconst char *s; #endif { register int n; for ( n = 0; s[n]; ++n ) ; return n; } #endif #ifdef YY_USE_PROTOS static void *yy_flex_alloc( yy_size_t size ) #else static void *yy_flex_alloc( size ) yy_size_t size; #endif { return (void *) malloc( size ); } #ifdef YY_USE_PROTOS static void *yy_flex_realloc( void *ptr, yy_size_t size ) #else static void *yy_flex_realloc( ptr, size ) void *ptr; yy_size_t size; #endif { /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter * because both ANSI C and C++ allow castless assignment from * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ return (void *) realloc( (char *) ptr, size ); } #ifdef YY_USE_PROTOS static void yy_flex_free( void *ptr ) #else static void yy_flex_free( ptr ) void *ptr; #endif { free( ptr ); } #if YY_MAIN int main() { yylex(); return 0; } #endif #line 153 "./filt_scanner.l" int yywrap(void) { if (0) unput(0); /* never really called, but shuts up gcc */ return(1); } tcptrace-6.6.7/input/0040755001217500001440000000000010142531755014214 5ustar mramadasuserstcptrace-6.6.7/input/OUTPUTbench/0040755001217500001440000000000010142531755016254 5ustar mramadasuserstcptrace-6.6.7/input/OUTPUTbench/6syns.dmp.gz.long0100644001217500001440000002736107672375061021435 0ustar mramadasusers1 arg remaining, starting with '6syns.dmp.gz' 68 packets seen, 68 TCP packets traced trace file elapsed time: 0:07:05.580142 TCP connection info: 2 TCP connections traced: *** 2 packets were too short to process at some point (use -w option to show details) TCP connection 1: host a: 132.235.67.20:4333 host b: 132.235.67.34:9080 complete conn: yes first packet: Mon Nov 2 13:22:01.021516 1998 last packet: Mon Nov 2 13:24:54.257715 1998 elapsed time: 0:02:53.236198 total packets: 19 filename: 6syns.dmp.gz a->b: b->a: total packets: 13 total packets: 6 ack pkts sent: 9 ack pkts sent: 6 pure acks sent: 2 pure acks sent: 4 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 5378 unique bytes sent: 0 actual data pkts: 7 actual data pkts: 0 actual data bytes: 9722 actual data bytes: 0 rexmt data pkts: 6 rexmt data pkts: 0 rexmt data bytes: 4347 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 4/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 8 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 1034 bytes min segm size: 0 bytes avg segm size: 1388 bytes avg segm size: 0 bytes max win adv: 1516544 bytes max win adv: 246720 bytes min win adv: 1516544 bytes min win adv: 241344 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 1516544 bytes avg win adv: 243700 bytes max owin: 2897 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1380 bytes avg owin: 1 bytes wavg owin: 2168 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 5378 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 9344 bytes truncated data: 0 bytes truncated packets: 7 pkts truncated packets: 0 pkts data xmit time: 129.376 secs data xmit time: 0.000 secs idletime max: 63998.8 ms idletime max: 128463.5 ms throughput: 31 Bps throughput: 0 Bps RTT samples: 2 RTT samples: 2 RTT min: 846.7 ms RTT min: 0.3 ms RTT max: 909.8 ms RTT max: 0.5 ms RTT avg: 878.2 ms RTT avg: 0.4 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.3 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 909.8 ms RTT full_sz min: 0.5 ms RTT full_sz max: 909.8 ms RTT full_sz max: 0.5 ms RTT full_sz avg: 909.7 ms RTT full_sz avg: 0.5 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 2 ambiguous acks: 0 RTT min (last): 886.7 ms RTT min (last): 0.0 ms RTT max (last): 1004.5 ms RTT max (last): 0.0 ms RTT avg (last): 945.6 ms RTT avg (last): 0.0 ms RTT sdv (last): 0.0 ms RTT sdv (last): 0.0 ms segs cum acked: 1 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 3 max # retrans: 0 min retr time: 5990.1 ms min retr time: 0.0 ms max retr time: 128462.3 ms max retr time: 0.0 ms avg retr time: 49671.7 ms avg retr time: 0.0 ms sdv retr time: 46027.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 132.235.67.20:4333 host d: 132.235.67.34:9080 complete conn: yes first packet: Mon Nov 2 13:28:51.030694 1998 last packet: Mon Nov 2 13:29:06.601658 1998 elapsed time: 0:00:15.570964 total packets: 49 filename: 6syns.dmp.gz c->d: d->c: total packets: 29 total packets: 20 ack pkts sent: 27 ack pkts sent: 20 pure acks sent: 2 pure acks sent: 18 sack pkts sent: 0 sack pkts sent: 3 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 1 unique bytes sent: 33811 unique bytes sent: 0 actual data pkts: 25 actual data pkts: 0 actual data bytes: 35259 actual data bytes: 0 rexmt data pkts: 2 rexmt data pkts: 0 rexmt data bytes: 1449 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 2/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 8 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 3 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 507 bytes min segm size: 0 bytes avg segm size: 1410 bytes avg segm size: 0 bytes max win adv: 1516544 bytes max win adv: 246720 bytes min win adv: 1516544 bytes min win adv: 212904 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 1516544 bytes avg win adv: 227461 bytes max owin: 6300 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 3529 bytes avg owin: 1 bytes wavg owin: 2369 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 33811 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 33909 bytes truncated data: 0 bytes truncated packets: 25 pkts truncated packets: 0 pkts data xmit time: 7.762 secs data xmit time: 0.000 secs idletime max: 5981.4 ms idletime max: 977.8 ms throughput: 2171 Bps throughput: 0 Bps RTT samples: 13 RTT samples: 2 RTT min: 759.6 ms RTT min: 0.1 ms RTT max: 1025.7 ms RTT max: 0.2 ms RTT avg: 865.2 ms RTT avg: 0.2 ms RTT stdev: 78.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 13 RTT full_sz smpls: 1 RTT full_sz min: 759.6 ms RTT full_sz min: 0.1 ms RTT full_sz max: 1025.7 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 865.2 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 78.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 1 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 1 ambiguous acks: 0 RTT min (last): 933.8 ms RTT min (last): 0.0 ms RTT max (last): 933.8 ms RTT max (last): 0.0 ms RTT avg (last): 933.7 ms RTT avg (last): 0.0 ms RTT sdv (last): 0.0 ms RTT sdv (last): 0.0 ms segs cum acked: 10 segs cum acked: 0 duplicate acks: 4 duplicate acks: 0 triple dupacks: 1 triple dupacks: 0 max # retrans: 1 max # retrans: 0 min retr time: 1379.0 ms min retr time: 0.0 ms max retr time: 5981.4 ms max retr time: 0.0 ms avg retr time: 3680.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/6syns.dmp.gz.packets0100644001217500001440000012004307302732550022105 0ustar mramadasusers1 arg remaining, starting with '6syns.dmp.gz' Packet 1 Packet Length: 78 Collected: Mon Nov 2 13:22:01.021516 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 37505 CKSUM: 0x582a (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0x6194dd5c ACK: 0x00000000 WIN: 65535 HLEN: 44 CKSUM: 0x85ea (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(8) TS(1748113,0) SACKREQ Packet 2 Packet Length: 78 Collected: Mon Nov 2 13:22:07.011639 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 38722 CKSUM: 0x5369 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0x6194dd5c ACK: 0x00000000 WIN: 65535 HLEN: 44 CKSUM: 0x85df (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(8) TS(1748124,0) SACKREQ Packet 3 Packet Length: 78 Collected: Mon Nov 2 13:22:19.013682 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 40906 CKSUM: 0x4ae1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0x6194dd5c ACK: 0x00000000 WIN: 65535 HLEN: 44 CKSUM: 0x85c7 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(8) TS(1748148,0) SACKREQ Packet 4 Packet Length: 78 Collected: Mon Nov 2 13:22:43.019053 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 45887 CKSUM: 0x376c (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0x6194dd5c ACK: 0x00000000 WIN: 65535 HLEN: 44 CKSUM: 0x8597 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(8) TS(1748196,0) SACKREQ Packet 5 Packet Length: 74 Collected: Mon Nov 2 13:22:44.023593 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 60 ID: 54152 CKSUM: 0x1927 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A--S- (0x12) SEQ: 0x9ca6a020 ACK: 0x6194dd5d WIN: 16384 HLEN: 40 CKSUM: 0x4694 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(3) SACKREQ Packet 6 Packet Length: 66 Collected: Mon Nov 2 13:22:44.023898 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 46079 CKSUM: 0x36b8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x6194dd5d ACK: 0x9ca6a021 WIN: 5924 HLEN: 32 CKSUM: 0xf251 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1748199,1933308) Packet 7 Packet Length: 120 Collected: Mon Nov 2 13:22:44.032222 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 46081 CKSUM: 0x310e (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x6194dd5d ACK: 0x9ca6a021 WIN: 5924 HLEN: 32 CKSUM: 0xeca9 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748199,1933308) data: 1448 bytes Packet 8 Packet Length: 66 Collected: Mon Nov 2 13:22:44.883478 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 54310 CKSUM: 0x1891 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x9ca6a021 ACK: 0x6194dd5d WIN: 30840 HLEN: 32 CKSUM: 0x3dfd (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933310,0) Packet 9 Packet Length: 66 Collected: Mon Nov 2 13:22:44.941992 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 54322 CKSUM: 0x1885 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x9ca6a021 ACK: 0x6194e305 WIN: 30659 HLEN: 32 CKSUM: 0x8c07 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933311,1748199) Packet 10 Packet Length: 120 Collected: Mon Nov 2 13:22:44.943537 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 46295 CKSUM: 0x3038 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x6194e305 ACK: 0x9ca6a021 WIN: 5924 HLEN: 32 CKSUM: 0xe700 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748200,1933308) data: 1448 bytes Packet 11 Packet Length: 120 Collected: Mon Nov 2 13:22:44.944753 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 46296 CKSUM: 0x3037 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x6194e8ad ACK: 0x9ca6a021 WIN: 5924 HLEN: 32 CKSUM: 0xe158 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748200,1933308) data: 1448 bytes Packet 12 Packet Length: 120 Collected: Mon Nov 2 13:23:48.519991 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 59226 CKSUM: 0xfdb4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x6194e305 ACK: 0x9ca6a021 WIN: 5924 HLEN: 32 CKSUM: 0xe681 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748327,1933308) data: 1448 bytes Packet 13 Packet Length: 120 Collected: Mon Nov 2 13:24:52.518802 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 7627 CKSUM: 0xc744 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x6194e305 ACK: 0x9ca6a021 WIN: 5924 HLEN: 32 CKSUM: 0xe601 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748455,1933308) data: 1448 bytes Packet 14 Packet Length: 66 Collected: Mon Nov 2 13:24:53.405507 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9506 CKSUM: 0xc795 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x9ca6a021 ACK: 0x6194e8ad WIN: 30478 HLEN: 32 CKSUM: 0x8514 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933567,1748455) Packet 15 Packet Length: 120 Collected: Mon Nov 2 13:24:53.407032 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 7802 CKSUM: 0xc695 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x6194e8ad ACK: 0x9ca6a021 WIN: 5924 HLEN: 32 CKSUM: 0xe057 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748457,1933308) data: 1448 bytes Packet 16 Packet Length: 120 Collected: Mon Nov 2 13:24:53.407835 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1086 ID: 7803 CKSUM: 0xc832 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -AP--F (0x19) SEQ: 0x6194ee55 ACK: 0x9ca6a021 WIN: 5924 HLEN: 32 CKSUM: 0xdc44 (too short to verify) DLEN: 1034 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748457,1933308) data: 1034 bytes Packet 17 Packet Length: 66 Collected: Mon Nov 2 13:24:54.254576 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9649 CKSUM: 0xc706 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x9ca6a021 ACK: 0x6194f260 WIN: 30168 HLEN: 32 CKSUM: 0x7c93 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933569,1748457) Packet 18 Packet Length: 66 Collected: Mon Nov 2 13:24:54.257254 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9650 CKSUM: 0xc705 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---F (0x11) SEQ: 0x9ca6a021 ACK: 0x6194f260 WIN: 30168 HLEN: 32 CKSUM: 0x7c92 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933569,1748457) Packet 19 Packet Length: 66 Collected: Mon Nov 2 13:24:54.257715 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 7969 CKSUM: 0xcb96 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x6194f260 ACK: 0x9ca6a022 WIN: 5924 HLEN: 32 CKSUM: 0xdb44 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1748459,1933569) Packet 20 Packet Length: 78 Collected: Mon Nov 2 13:28:51.030694 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 57685 CKSUM: 0x0956 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0xe671d16d ACK: 0x00000000 WIN: 65535 HLEN: 44 CKSUM: 0x09c8 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(8) TS(1748933,0) SACKREQ Packet 21 Packet Length: 78 Collected: Mon Nov 2 13:28:57.012102 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 59056 CKSUM: 0x03fb (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0xe671d16d ACK: 0x00000000 WIN: 65535 HLEN: 44 CKSUM: 0x09bd (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(8) TS(1748944,0) SACKREQ Packet 22 Packet Length: 74 Collected: Mon Nov 2 13:28:57.945891 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 60 ID: 48380 CKSUM: 0x2fb3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A--S- (0x12) SEQ: 0x235e889d ACK: 0xe671d16e WIN: 16384 HLEN: 40 CKSUM: 0x5b84 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(3) SACKREQ Packet 23 Packet Length: 66 Collected: Mon Nov 2 13:28:57.946104 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 59255 CKSUM: 0x0340 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe671d16e ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x0457 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1748946,1934057) Packet 24 Packet Length: 120 Collected: Mon Nov 2 13:28:57.953761 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 59261 CKSUM: 0xfd91 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe671d16e ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xfeae (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748946,1934057) data: 1448 bytes Packet 25 Packet Length: 66 Collected: Mon Nov 2 13:28:58.828546 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 48533 CKSUM: 0x2f22 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe671d16e WIN: 30840 HLEN: 32 CKSUM: 0x52ee (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934058,0) Packet 26 Packet Length: 66 Collected: Mon Nov 2 13:28:58.851093 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 48550 CKSUM: 0x2f11 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe671d716 WIN: 30659 HLEN: 32 CKSUM: 0x9e0d (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934059,1748946) Packet 27 Packet Length: 120 Collected: Mon Nov 2 13:28:58.852969 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 59514 CKSUM: 0xfc94 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe671d716 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xf904 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748948,1934057) data: 1448 bytes Packet 28 Packet Length: 120 Collected: Mon Nov 2 13:28:58.854201 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 59515 CKSUM: 0xfc93 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe671dcbe ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xf35c (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748948,1934057) data: 1448 bytes Packet 29 Packet Length: 66 Collected: Mon Nov 2 13:28:59.639286 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 48683 CKSUM: 0x2e8c (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe671e266 WIN: 30297 HLEN: 32 CKSUM: 0x9424 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934060,1748948) Packet 30 Packet Length: 120 Collected: Mon Nov 2 13:28:59.640731 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 59724 CKSUM: 0xfbc2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe671e266 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xedb2 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748950,1934057) data: 1448 bytes Packet 31 Packet Length: 120 Collected: Mon Nov 2 13:28:59.641941 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 59725 CKSUM: 0xfbc1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe671e80e ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xe80a (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748950,1934057) data: 1448 bytes Packet 32 Packet Length: 66 Collected: Mon Nov 2 13:29:00.526363 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 48862 CKSUM: 0x2dd9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe671edb6 WIN: 29935 HLEN: 32 CKSUM: 0x8a3a (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934062,1748950) Packet 33 Packet Length: 120 Collected: Mon Nov 2 13:29:00.531752 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 59939 CKSUM: 0xfaeb (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe671edb6 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x3805 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748952,1934057) data: 1448 bytes Packet 34 Packet Length: 120 Collected: Mon Nov 2 13:29:00.533231 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 59940 CKSUM: 0xfaea (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe671f35e ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x10c9 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748952,1934057) data: 1448 bytes Packet 35 Packet Length: 66 Collected: Mon Nov 2 13:29:01.504129 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49014 CKSUM: 0x2d41 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe671f906 WIN: 29573 HLEN: 32 CKSUM: 0x8051 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934063,1748952) Packet 36 Packet Length: 120 Collected: Mon Nov 2 13:29:01.506326 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60122 CKSUM: 0xfa34 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe671f906 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xd70f (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748953,1934057) data: 1448 bytes Packet 37 Packet Length: 120 Collected: Mon Nov 2 13:29:01.507572 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60123 CKSUM: 0xfa33 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe671feae ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xd167 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748953,1934057) data: 1448 bytes Packet 38 Packet Length: 120 Collected: Mon Nov 2 13:29:01.513689 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60124 CKSUM: 0xfa32 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe6720456 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x4ee5 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748953,1934057) data: 1448 bytes Packet 39 Packet Length: 66 Collected: Mon Nov 2 13:29:02.343839 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49151 CKSUM: 0x2cb8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe6720456 WIN: 29211 HLEN: 32 CKSUM: 0x7668 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934065,1748953) Packet 40 Packet Length: 120 Collected: Mon Nov 2 13:29:02.348985 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60316 CKSUM: 0xf972 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe67209fe ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x9f77 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748955,1934057) data: 1448 bytes Packet 41 Packet Length: 120 Collected: Mon Nov 2 13:29:02.350122 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60317 CKSUM: 0xf971 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe6720fa6 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x98d7 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748955,1934057) data: 1448 bytes Packet 42 Packet Length: 66 Collected: Mon Nov 2 13:29:02.351602 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49157 CKSUM: 0x2cb2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe67209fe WIN: 29030 HLEN: 32 CKSUM: 0x7175 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934065,1748953) Packet 43 Packet Length: 120 Collected: Mon Nov 2 13:29:02.357110 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60323 CKSUM: 0xf96b (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe672154e ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xbac5 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748955,1934057) data: 1448 bytes Packet 44 Packet Length: 66 Collected: Mon Nov 2 13:29:03.209850 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49283 CKSUM: 0x2c34 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe672154e WIN: 28668 HLEN: 32 CKSUM: 0x678b (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934067,1748955) Packet 45 Packet Length: 120 Collected: Mon Nov 2 13:29:03.212050 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60487 CKSUM: 0xf8c7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe6721af6 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xb51b (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748957,1934057) data: 1448 bytes Packet 46 Packet Length: 120 Collected: Mon Nov 2 13:29:03.213264 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60488 CKSUM: 0xf8c6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe672209e ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xaf73 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748957,1934057) data: 1448 bytes Packet 47 Packet Length: 120 Collected: Mon Nov 2 13:29:03.214911 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60489 CKSUM: 0xf8c5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe6722646 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xa9cb (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748957,1934057) data: 1448 bytes Packet 48 Packet Length: 66 Collected: Mon Nov 2 13:29:03.302519 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49322 CKSUM: 0x2c0d (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe6721af6 WIN: 28487 HLEN: 32 CKSUM: 0x6298 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934067,1748955) Packet 49 Packet Length: 120 Collected: Mon Nov 2 13:29:03.304109 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60534 CKSUM: 0xf898 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe6722bee ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x3fb1 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748957,1934057) data: 1448 bytes Packet 50 Packet Length: 66 Collected: Mon Nov 2 13:29:03.971622 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49445 CKSUM: 0x2b92 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe672209e WIN: 28306 HLEN: 32 CKSUM: 0x5da1 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934069,1748957) Packet 51 Packet Length: 120 Collected: Mon Nov 2 13:29:03.973788 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60677 CKSUM: 0xf809 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe6723196 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x8ca1 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748958,1934057) data: 1448 bytes Packet 52 Packet Length: 66 Collected: Mon Nov 2 13:29:04.000410 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49459 CKSUM: 0x2b84 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe6722bee WIN: 27944 HLEN: 32 CKSUM: 0x53bb (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934069,1748957) Packet 53 Packet Length: 120 Collected: Mon Nov 2 13:29:04.002180 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60699 CKSUM: 0xf7f3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe672373e ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x98d2 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748958,1934057) data: 1448 bytes Packet 54 Packet Length: 120 Collected: Mon Nov 2 13:29:04.003409 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60700 CKSUM: 0xf7f2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe6723ce6 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x932a (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748958,1934057) data: 1448 bytes Packet 55 Packet Length: 66 Collected: Mon Nov 2 13:29:04.329810 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49502 CKSUM: 0x2b59 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe6723196 WIN: 27763 HLEN: 32 CKSUM: 0x4ec8 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934069,1748957) Packet 56 Packet Length: 120 Collected: Mon Nov 2 13:29:04.337137 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60771 CKSUM: 0xf7ab (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe672428e ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x4a8a (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748959,1934057) data: 1448 bytes Packet 57 Packet Length: 66 Collected: Mon Nov 2 13:29:04.819639 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49598 CKSUM: 0x2af9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe6723ce6 WIN: 27401 HLEN: 32 CKSUM: 0x44e0 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934070,1748958) Packet 58 Packet Length: 120 Collected: Mon Nov 2 13:29:04.821798 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60905 CKSUM: 0xf725 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe6724836 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xc331 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748960,1934057) data: 1448 bytes Packet 59 Packet Length: 120 Collected: Mon Nov 2 13:29:04.823029 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 60906 CKSUM: 0xf724 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe6724dde ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0xbebf (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748960,1934057) data: 1448 bytes Packet 60 Packet Length: 120 Collected: Mon Nov 2 13:29:04.823321 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 559 ID: 60907 CKSUM: 0xfad0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -AP--F (0x19) SEQ: 0xe6725386 ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x802c (too short to verify) DLEN: 507 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748960,1934057) data: 507 bytes Packet 61 Packet Length: 66 Collected: Mon Nov 2 13:29:04.846385 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49603 CKSUM: 0x2af4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe672428e WIN: 27220 HLEN: 32 CKSUM: 0x3fec (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934071,1748958) Packet 62 Packet Length: 78 Collected: Mon Nov 2 13:29:05.708418 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 64 ID: 49732 CKSUM: 0x2a67 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe672428e WIN: 27220 HLEN: 44 CKSUM: 0xa6d9 (CORRECT) DLEN: 0 OPTS: 24 bytes TS(1934072,1748958) SACKS(1)[0xe6724836-0xe6724dde] Packet 63 Packet Length: 78 Collected: Mon Nov 2 13:29:05.710661 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 64 ID: 49733 CKSUM: 0x2a66 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe672428e WIN: 27220 HLEN: 44 CKSUM: 0xa131 (CORRECT) DLEN: 0 OPTS: 24 bytes TS(1934072,1748958) SACKS(1)[0xe6724836-0xe6725386] Packet 64 Packet Length: 78 Collected: Mon Nov 2 13:29:05.713943 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 64 ID: 49734 CKSUM: 0x2a65 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe672428e WIN: 27220 HLEN: 44 CKSUM: 0x9f36 (CORRECT) DLEN: 0 OPTS: 24 bytes TS(1934072,1748958) SACKS(1)[0xe6724836-0xe6725581] Packet 65 Packet Length: 120 Collected: Mon Nov 2 13:29:05.716105 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 61105 CKSUM: 0xf65d (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe672428e ACK: 0x235e889e WIN: 5924 HLEN: 32 CKSUM: 0x4a87 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748962,1934057) data: 1448 bytes Packet 66 Packet Length: 66 Collected: Mon Nov 2 13:29:06.599307 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49865 CKSUM: 0x29ee (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---- (0x10) SEQ: 0x235e889e ACK: 0xe6725582 WIN: 26613 HLEN: 32 CKSUM: 0x2f50 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934074,1748962) Packet 67 Packet Length: 66 Collected: Mon Nov 2 13:29:06.601522 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49867 CKSUM: 0x29ec (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4333 FLG: -A---F (0x11) SEQ: 0x235e889e ACK: 0xe6725582 WIN: 26613 HLEN: 32 CKSUM: 0x2f4f (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1934074,1748962) Packet 68 Packet Length: 66 Collected: Mon Nov 2 13:29:06.601658 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 61268 CKSUM: 0xfb62 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4333 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xe6725582 ACK: 0x235e889f WIN: 5924 HLEN: 32 CKSUM: 0x801e (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1748964,1934074) 68 packets seen, 68 TCP packets traced trace file elapsed time: 0:07:05.580142 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: *** 4 packets were too short to process at some point (use -w option to show details) 1: 132.235.67.20:4333 - 132.235.67.34:9080 (a2b) 13> 6< (complete) 2: 132.235.67.20:4333 - 132.235.67.34:9080 (c2d) 29> 20< (complete) tcptrace-6.6.7/input/OUTPUTbench/6syns.dmp.gz.short0100644001217500001440000000060007253211547021611 0ustar mramadasusers1 arg remaining, starting with '6syns.dmp.gz' 68 packets seen, 68 TCP packets traced trace file elapsed time: 0:07:05.580142 TCP connection info: *** 2 packets were too short to process at some point (use -w option to show details) 1: 132.235.67.20:4333 - 132.235.67.34:9080 (a2b) 13> 6< (complete) 2: 132.235.67.20:4333 - 132.235.67.34:9080 (c2d) 29> 20< (complete) tcptrace-6.6.7/input/OUTPUTbench/6syns.dmp.gz.xplots.cksum0100644001217500001440000000115407751776616023151 0ustar mramadasusers3784035608 1929 a2b_owin.xpl 3379057715 252 a2b_rtt.xpl 3211061338 1227 a2b_ssize.xpl 324713085 349 a2b_tput.xpl 2532514217 3348 a2b_tsg.xpl 3353251943 3794 a_b_tline.xpl 2317814203 1509 b2a_owin.xpl 514847952 209 b2a_rtt.xpl 1880157240 127 b2a_ssize.xpl 69312787 118 b2a_tput.xpl 3116777365 2505 b2a_tsg.xpl 1609672760 8474 c2d_owin.xpl 3449402934 1091 c2d_rtt.xpl 2194933853 4086 c2d_ssize.xpl 3298772018 1282 c2d_tput.xpl 716611079 9053 c2d_tsg.xpl 4030144784 10094 c_d_tline.xpl 2186470093 5765 d2c_owin.xpl 608742993 209 d2c_rtt.xpl 1880157240 127 d2c_ssize.xpl 69312787 118 d2c_tput.xpl 505121273 7018 d2c_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/NASA_ipv6.snoop.gz.long0100644001217500001440000002404307662255050022403 0ustar mramadasusers1 arg remaining, starting with 'NASA_ipv6.snoop.gz' 169 packets seen, 169 TCP packets traced trace file elapsed time: 0:00:28.233468 TCP connection info: 2 TCP connections traced: TCP connection 1: host a: fe80::0002:0a00:20ff:fe22:e80f:32797 host b: fe80::0001:0a00:20ff:fe22:ddb7:21 complete conn: no (SYNs: 1) (FINs: 1) first packet: Mon Nov 10 11:02:36.261535 1997 last packet: Mon Nov 10 11:03:04.495004 1997 elapsed time: 0:00:28.233468 total packets: 16 filename: NASA_ipv6.snoop.gz a->b: b->a: total packets: 16 total packets: 0 ack pkts sent: 15 ack pkts sent: 0 pure acks sent: 8 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 122 unique bytes sent: 0 actual data pkts: 6 actual data pkts: 0 actual data bytes: 122 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 6 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1440 bytes mss requested: 0 bytes max segm size: 66 bytes max segm size: 0 bytes min segm size: 6 bytes min segm size: 0 bytes avg segm size: 20 bytes avg segm size: 0 bytes max win adv: 8640 bytes max win adv: 0 bytes min win adv: 8640 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8640 bytes avg win adv: 0 bytes max owin: 125 bytes max owin: 0 bytes min non-zero owin: 2 bytes min non-zero owin: 0 bytes avg owin: 65 bytes avg owin: 0 bytes wavg owin: 43 bytes wavg owin: 0 bytes initial window: 122 bytes initial window: 0 bytes initial window: 6 pkts initial window: 0 pkts ttl stream length: 122 bytes ttl stream length: NA missed data: 0 bytes missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 24.939 secs data xmit time: 0.000 secs idletime max: 8705.5 ms idletime max: NA ms throughput: 4 Bps throughput: 0 Bps RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: fe80::0002:0a00:20ff:fe22:e80f:32798 host d: fe80::0001:0a00:20ff:fe22:ddb7:20 complete conn: no (SYNs: 1) (FINs: 1) first packet: Mon Nov 10 11:02:58.836617 1997 last packet: Mon Nov 10 11:02:59.155372 1997 elapsed time: 0:00:00.318755 total packets: 153 filename: NASA_ipv6.snoop.gz c->d: d->c: total packets: 153 total packets: 0 ack pkts sent: 153 ack pkts sent: 0 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 204800 unique bytes sent: 0 actual data pkts: 150 actual data pkts: 0 actual data bytes: 204800 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 72 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1440 bytes mss requested: 0 bytes max segm size: 1440 bytes max segm size: 0 bytes min segm size: 992 bytes min segm size: 0 bytes avg segm size: 1365 bytes avg segm size: 0 bytes max win adv: 25920 bytes max win adv: 0 bytes min win adv: 8640 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 25807 bytes avg win adv: 0 bytes max owin: 204803 bytes max owin: 0 bytes min non-zero owin: 1442 bytes min non-zero owin: 0 bytes avg owin: 104607 bytes avg owin: 0 bytes wavg owin: 87986 bytes wavg owin: 0 bytes initial window: 204800 bytes initial window: 0 bytes initial window: 150 pkts initial window: 0 pkts ttl stream length: 204800 bytes ttl stream length: NA missed data: 0 bytes missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.251 secs data xmit time: 0.000 secs idletime max: 5339.6 ms idletime max: NA ms throughput: 642500 Bps throughput: 0 Bps RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/NASA_ipv6.snoop.gz.packets0100644001217500001440000015016307302732550023075 0ustar mramadasusers1 arg remaining, starting with 'NASA_ipv6.snoop.gz' Packet 1 Packet Length: 78 Collected: Mon Nov 10 11:02:36.261535 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 24 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: ----S- (0x02) SEQ: 0x0ab40451 ACK: 0x00000000 WIN: 8640 HLEN: 24 CKSUM: 0xd232 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1440) Packet 2 Packet Length: 74 Collected: Mon Nov 10 11:02:36.263395 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: -A---- (0x10) SEQ: 0x0ab40452 ACK: 0x0a8c379d WIN: 8640 HLEN: 20 CKSUM: 0xa7a2 (CORRECT) DLEN: 0 Packet 3 Packet Length: 74 Collected: Mon Nov 10 11:02:36.710441 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: -A---- (0x10) SEQ: 0x0ab40452 ACK: 0x0a8c37db WIN: 8640 HLEN: 20 CKSUM: 0xa764 (CORRECT) DLEN: 0 Packet 4 Packet Length: 85 Collected: Mon Nov 10 11:02:39.551149 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 31 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0x0ab40452 ACK: 0x0a8c37db WIN: 8640 HLEN: 20 CKSUM: 0xfebc (CORRECT) DLEN: 11 data: 11 bytes Packet 5 Packet Length: 74 Collected: Mon Nov 10 11:02:39.600451 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: -A---- (0x10) SEQ: 0x0ab4045d ACK: 0x0a8c37fc WIN: 8640 HLEN: 20 CKSUM: 0xa738 (CORRECT) DLEN: 0 Packet 6 Packet Length: 89 Collected: Mon Nov 10 11:02:43.006097 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 35 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0x0ab4045d ACK: 0x0a8c37fc WIN: 8640 HLEN: 20 CKSUM: 0x433e (CORRECT) DLEN: 15 data: 15 bytes Packet 7 Packet Length: 74 Collected: Mon Nov 10 11:02:43.100618 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: -A---- (0x10) SEQ: 0x0ab4046c ACK: 0x0a8c3816 WIN: 8640 HLEN: 20 CKSUM: 0xa70f (CORRECT) DLEN: 0 Packet 8 Packet Length: 82 Collected: Mon Nov 10 11:02:50.070774 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 28 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0x0ab4046c ACK: 0x0a8c3816 WIN: 8640 HLEN: 20 CKSUM: 0xd50d (CORRECT) DLEN: 8 data: 8 bytes Packet 9 Packet Length: 74 Collected: Mon Nov 10 11:02:50.120494 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: -A---- (0x10) SEQ: 0x0ab40474 ACK: 0x0a8c382a WIN: 8640 HLEN: 20 CKSUM: 0xa6f3 (CORRECT) DLEN: 0 Packet 10 Packet Length: 140 Collected: Mon Nov 10 11:02:58.825976 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 86 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0x0ab40474 ACK: 0x0a8c382a WIN: 8640 HLEN: 20 CKSUM: 0x396b (CORRECT) DLEN: 66 data: 66 bytes Packet 11 Packet Length: 90 Collected: Mon Nov 10 11:02:58.829606 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 36 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0x0ab404b6 ACK: 0x0a8c3848 WIN: 8640 HLEN: 20 CKSUM: 0x2125 (CORRECT) DLEN: 16 data: 16 bytes Packet 12 Packet Length: 78 Collected: Mon Nov 10 11:02:58.836617 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 24 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A--S- (0x12) SEQ: 0x0ae0083d ACK: 0x0ab92681 WIN: 8640 HLEN: 24 CKSUM: 0x9cd0 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1440) Packet 13 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.866108 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0083e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xa4d1 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 14 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.869422 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae00dde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xdfc2 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 15 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.869635 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0137e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x31f6 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 16 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.873227 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0191e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xf6ed (CORRECT) DLEN: 1440 data: 1440 bytes Packet 17 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.873418 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae01ebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x5761 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 18 Packet Length: 1066 Collected: Mon Nov 10 11:02:58.873583 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0245e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x7d26 (CORRECT) DLEN: 992 data: 992 bytes Packet 19 Packet Length: 74 Collected: Mon Nov 10 11:02:58.880451 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32797 DPRT: 21 FLG: -A---- (0x10) SEQ: 0x0ab404c6 ACK: 0x0a8c3896 WIN: 8640 HLEN: 20 CKSUM: 0xa635 (CORRECT) DLEN: 0 Packet 20 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.921196 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0283e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xe1f4 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 21 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.921367 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae02dde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x3611 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 22 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.921561 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0337e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x0315 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 23 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.921747 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0391e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xbac1 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 24 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.927896 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae03ebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xb842 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 25 Packet Length: 1066 Collected: Mon Nov 10 11:02:58.928072 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0445e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xe219 (CORRECT) DLEN: 992 data: 992 bytes Packet 26 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.928243 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0483e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x4faa (CORRECT) DLEN: 1440 data: 1440 bytes Packet 27 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.928425 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae04dde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x9db5 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 28 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.928620 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0537e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x418f (CORRECT) DLEN: 1440 data: 1440 bytes Packet 29 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.934870 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0591e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xf7b8 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 30 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.935096 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae05ebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x1d4e (CORRECT) DLEN: 1440 data: 1440 bytes Packet 31 Packet Length: 1066 Collected: Mon Nov 10 11:02:58.935250 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0645e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x01cb (CORRECT) DLEN: 992 data: 992 bytes Packet 32 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.935438 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0683e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xecd9 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 33 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.935622 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae06dde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x4842 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 34 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.941651 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0737e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xd2fb (CORRECT) DLEN: 1440 data: 1440 bytes Packet 35 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.941865 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0791e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xddc8 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 36 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.942038 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae07ebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x6716 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 37 Packet Length: 1066 Collected: Mon Nov 10 11:02:58.942220 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0845e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x356b (CORRECT) DLEN: 992 data: 992 bytes Packet 38 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.942396 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0883e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x2987 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 39 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.948528 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae08dde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x3eb5 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 40 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.948728 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0937e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x426a (CORRECT) DLEN: 1440 data: 1440 bytes Packet 41 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.948924 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0991e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xc42c (CORRECT) DLEN: 1440 data: 1440 bytes Packet 42 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.949121 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae09ebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xa924 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 43 Packet Length: 1066 Collected: Mon Nov 10 11:02:58.949293 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0a45e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x4221 (CORRECT) DLEN: 992 data: 992 bytes Packet 44 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.957789 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0a83e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xecc4 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 45 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.958289 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0adde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xbd6b (CORRECT) DLEN: 1440 data: 1440 bytes Packet 46 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.958794 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0b37e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xaf55 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 47 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.959383 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0b91e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x1745 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 48 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.959910 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0bebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x703e (CORRECT) DLEN: 1440 data: 1440 bytes Packet 49 Packet Length: 1066 Collected: Mon Nov 10 11:02:58.960580 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0c45e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x6402 (CORRECT) DLEN: 992 data: 992 bytes Packet 50 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.962511 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0c83e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xcbbc (CORRECT) DLEN: 1440 data: 1440 bytes Packet 51 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.963050 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0cdde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x1393 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 52 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.963779 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0d37e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xb2e6 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 53 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.970245 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0d91e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xed0a (CORRECT) DLEN: 1440 data: 1440 bytes Packet 54 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.970457 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0debe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x000a (CORRECT) DLEN: 1440 data: 1440 bytes Packet 55 Packet Length: 1066 Collected: Mon Nov 10 11:02:58.970629 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0e45e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xca37 (CORRECT) DLEN: 992 data: 992 bytes Packet 56 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.970861 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0e83e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x2b38 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 57 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.971065 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae0edde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x6604 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 58 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.971273 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0f37e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x2484 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 59 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.971694 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0f91e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x66d8 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 60 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.972156 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae0febe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x867a (CORRECT) DLEN: 1440 data: 1440 bytes Packet 61 Packet Length: 1066 Collected: Mon Nov 10 11:02:58.984046 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1045e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xf568 (CORRECT) DLEN: 992 data: 992 bytes Packet 62 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.993270 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1083e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x446c (CORRECT) DLEN: 1440 data: 1440 bytes Packet 63 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.993708 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae10dde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x7758 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 64 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.994147 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1137e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xfef9 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 65 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.994624 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1191e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xaa4b (CORRECT) DLEN: 1440 data: 1440 bytes Packet 66 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.995069 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae11ebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xa285 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 67 Packet Length: 1066 Collected: Mon Nov 10 11:02:58.995474 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1245e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x8a57 (CORRECT) DLEN: 992 data: 992 bytes Packet 68 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.996680 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1283e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xa3d3 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 69 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.997169 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae12dde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xc0b6 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 70 Packet Length: 1514 Collected: Mon Nov 10 11:02:58.997598 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1337e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x9f63 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 71 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.005179 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1391e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xc044 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 72 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.005365 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae13ebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x0b7b (CORRECT) DLEN: 1440 data: 1440 bytes Packet 73 Packet Length: 1066 Collected: Mon Nov 10 11:02:59.005529 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1445e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xacbe (CORRECT) DLEN: 992 data: 992 bytes Packet 74 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.005706 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1483e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xafa7 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 75 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.005886 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae14dde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x69b2 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 76 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.006104 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1537e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xf80e (CORRECT) DLEN: 1440 data: 1440 bytes Packet 77 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.008538 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1591e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x6676 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 78 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.014523 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae15ebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x3c6d (CORRECT) DLEN: 1440 data: 1440 bytes Packet 79 Packet Length: 1066 Collected: Mon Nov 10 11:02:59.014701 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1645e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xa39d (CORRECT) DLEN: 992 data: 992 bytes Packet 80 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.014902 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1683e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x0456 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 81 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.015091 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae16dde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x29c5 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 82 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.015302 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1737e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x4b93 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 83 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.015491 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1791e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xc472 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 84 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.016050 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae17ebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x1148 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 85 Packet Length: 1066 Collected: Mon Nov 10 11:02:59.016505 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1845e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xfcfd (CORRECT) DLEN: 992 data: 992 bytes Packet 86 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.019854 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1883e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xcae3 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 87 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.020502 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae18dde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x0fbb (CORRECT) DLEN: 1440 data: 1440 bytes Packet 88 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.027563 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1937e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x5f02 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 89 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.027766 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1991e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xb0cb (CORRECT) DLEN: 1440 data: 1440 bytes Packet 90 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.027956 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae19ebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xff05 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 91 Packet Length: 1066 Collected: Mon Nov 10 11:02:59.028137 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1a45e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xa72a (CORRECT) DLEN: 992 data: 992 bytes Packet 92 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.028317 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1a83e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xa2a3 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 93 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.028494 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1adde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xdafe (CORRECT) DLEN: 1440 data: 1440 bytes Packet 94 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.029084 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1b37e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x4617 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 95 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.029588 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1b91e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x4dd5 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 96 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.030137 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x0ae1bebe ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x8637 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 97 Packet Length: 1066 Collected: Mon Nov 10 11:02:59.039359 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1c45e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xd798 (CORRECT) DLEN: 992 data: 992 bytes Packet 98 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.039570 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1c83e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0x7240 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 99 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.039768 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1cdde ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xa2d7 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 100 Packet Length: 1514 Collected: Mon Nov 10 11:02:59.039978 1997 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 32798 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x0ae1d37e ACK: 0x0ab92681 WIN: 25920 HLEN: 20 CKSUM: 0xb977 (CORRECT) DLEN: 1440 data: 1440 bytes 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:22.778442 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: fe80::0002:0a00:20ff:fe22:e80f:32797 - fe80::0001:0a00:20ff:fe22:ddb7:21 (a2b) 12> 0< (unidirectional) 2: fe80::0002:0a00:20ff:fe22:e80f:32798 - fe80::0001:0a00:20ff:fe22:ddb7:20 (c2d) 88> 0< (unidirectional) tcptrace-6.6.7/input/OUTPUTbench/NASA_ipv6.snoop.gz.short0100644001217500001440000000057707253211550022602 0ustar mramadasusers1 arg remaining, starting with 'NASA_ipv6.snoop.gz' 169 packets seen, 169 TCP packets traced trace file elapsed time: 0:00:28.233468 TCP connection info: 1: fe80::0002:0a00:20ff:fe22:e80f:32797 - fe80::0001:0a00:20ff:fe22:ddb7:21 (a2b) 16> 0< (unidirectional) 2: fe80::0002:0a00:20ff:fe22:e80f:32798 - fe80::0001:0a00:20ff:fe22:ddb7:20 (c2d) 153> 0< (unidirectional) tcptrace-6.6.7/input/OUTPUTbench/NASA_ipv6.snoop.gz.xplots.cksum0100644001217500001440000000071407751776616024134 0ustar mramadasusers3781533915 4438 a2b_owin.xpl 2882023071 1028 a2b_ssize.xpl 2635363065 334 a2b_tput.xpl 4256698918 2162 a2b_tsg.xpl 1143470980 3148 a_b_tline.xpl 3269830500 162 b2a_owin.xpl 26354894 160 b2a_ssize.xpl 1895462471 3382 b2a_tsg.xpl 146442902 49046 c2d_owin.xpl 2757124690 23923 c2d_ssize.xpl 783701041 8262 c2d_tput.xpl 4120905869 23737 c2d_tsg.xpl 655059292 29686 c_d_tline.xpl 3636276899 162 d2c_owin.xpl 3421599232 160 d2c_ssize.xpl 726941266 30178 d2c_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/all.snoop.gz.long0100644001217500001440000103436607662255050021477 0ustar mramadasusers1 arg remaining, starting with 'all.snoop.gz' 829 packets seen, 829 TCP packets traced trace file elapsed time: 0:00:04.147060 TCP connection info: 55 TCP connections traced: *** 2 packets were too short to process at some point (use -w option to show details) TCP connection 1: host a: 132.235.1.2:119 host b: 192.20.239.131:2380 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:51.975039 1994 last packet: Tue Mar 8 21:42:55.515583 1994 elapsed time: 0:00:03.540544 total packets: 97 filename: all.snoop.gz a->b: b->a: total packets: 43 total packets: 54 ack pkts sent: 43 ack pkts sent: 54 pure acks sent: 17 pure acks sent: 4 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 273 unique bytes sent: 16126 actual data pkts: 26 actual data pkts: 50 actual data bytes: 273 actual data bytes: 16126 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 26 pushed data pkts: 25 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 13 bytes max segm size: 512 bytes min segm size: 8 bytes min segm size: 35 bytes avg segm size: 10 bytes avg segm size: 322 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 2684 bytes min win adv: 4083 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4063 bytes avg win adv: 4095 bytes max owin: 14 bytes max owin: 1413 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 7 bytes avg owin: 593 bytes wavg owin: 2 bytes wavg owin: 320 bytes initial window: 8 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 273 bytes truncated data: 16126 bytes truncated packets: 26 pkts truncated packets: 50 pkts data xmit time: 3.366 secs data xmit time: 3.260 secs idletime max: 780.7 ms idletime max: 920.1 ms throughput: 77 Bps throughput: 4555 Bps RTT samples: 26 RTT samples: 28 RTT min: 10.2 ms RTT min: 1.0 ms RTT max: 174.2 ms RTT max: 127.7 ms RTT avg: 38.3 ms RTT avg: 27.5 ms RTT stdev: 35.9 ms RTT stdev: 40.5 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 13 RTT full_sz smpls: 3 RTT full_sz min: 10.2 ms RTT full_sz min: 1.6 ms RTT full_sz max: 174.2 ms RTT full_sz max: 2.1 ms RTT full_sz avg: 36.0 ms RTT full_sz avg: 1.8 ms RTT full_sz stdev: 44.3 ms RTT full_sz stdev: 0.3 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 22 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 132.235.200.5:17157 host d: 132.235.2.30:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:51.994384 1994 last packet: Tue Mar 8 21:42:55.881094 1994 elapsed time: 0:00:03.886709 total packets: 22 filename: all.snoop.gz c->d: d->c: total packets: 14 total packets: 8 ack pkts sent: 14 ack pkts sent: 8 pure acks sent: 14 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 8192 actual data pkts: 0 actual data pkts: 8 actual data bytes: 0 actual data bytes: 8192 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 1024 bytes min segm size: 0 bytes min segm size: 1024 bytes avg segm size: 0 bytes avg segm size: 1023 bytes max win adv: 2048 bytes max win adv: 4096 bytes min win adv: 394 bytes min win adv: 4096 bytes zero win adv: 2 times zero win adv: 0 times avg win adv: 1084 bytes avg win adv: 4096 bytes max owin: 1 bytes max owin: 2049 bytes min non-zero owin: 1 bytes min non-zero owin: 1025 bytes avg owin: 0 bytes avg owin: 1281 bytes wavg owin: 0 bytes wavg owin: 1459 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 8192 bytes truncated packets: 0 pkts truncated packets: 8 pkts data xmit time: 0.000 secs data xmit time: 3.878 secs idletime max: 858.2 ms idletime max: 867.9 ms throughput: 0 Bps throughput: 2108 Bps RTT samples: 0 RTT samples: 8 RTT min: 0.0 ms RTT min: 4.4 ms RTT max: 0.0 ms RTT max: 8.3 ms RTT avg: 0.0 ms RTT avg: 6.5 ms RTT stdev: 0.0 ms RTT stdev: 1.2 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 8 RTT full_sz min: 0.0 ms RTT full_sz min: 4.4 ms RTT full_sz max: 0.0 ms RTT full_sz max: 8.3 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 6.5 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 1.2 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 3: host e: 132.235.3.130:1022 host f: 132.235.1.2:513 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.008614 1994 last packet: Tue Mar 8 21:42:56.091352 1994 elapsed time: 0:00:04.082737 total packets: 27 filename: all.snoop.gz e->f: f->e: total packets: 15 total packets: 12 ack pkts sent: 15 ack pkts sent: 12 pure acks sent: 6 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 9 unique bytes sent: 962 actual data pkts: 9 actual data pkts: 9 actual data bytes: 9 actual data bytes: 962 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 9 pushed data pkts: 9 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 532 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 0 bytes avg segm size: 106 bytes max win adv: 16384 bytes max win adv: 4096 bytes min win adv: 16384 bytes min win adv: 4095 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 16384 bytes avg win adv: 4095 bytes max owin: 2 bytes max owin: 533 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 81 bytes wavg owin: 0 bytes wavg owin: 147 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 9 bytes truncated data: 962 bytes truncated packets: 9 pkts truncated packets: 9 pkts data xmit time: 4.083 secs data xmit time: 3.048 secs idletime max: 1000.1 ms idletime max: 1121.0 ms throughput: 2 Bps throughput: 236 Bps RTT samples: 8 RTT samples: 9 RTT min: 2.5 ms RTT min: 25.9 ms RTT max: 153.6 ms RTT max: 198.5 ms RTT avg: 65.3 ms RTT avg: 131.1 ms RTT stdev: 59.4 ms RTT stdev: 65.8 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 17.8 ms RTT full_sz min: 197.0 ms RTT full_sz max: 17.8 ms RTT full_sz max: 197.0 ms RTT full_sz avg: 17.8 ms RTT full_sz avg: 197.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 4: host g: 132.235.1.2:1835 host h: 149.84.33.3:1729 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.021157 1994 last packet: Tue Mar 8 21:42:55.621480 1994 elapsed time: 0:00:03.600322 total packets: 5 filename: all.snoop.gz g->h: h->g: total packets: 3 total packets: 2 ack pkts sent: 3 ack pkts sent: 2 pure acks sent: 3 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 77 actual data pkts: 0 actual data pkts: 2 actual data bytes: 0 actual data bytes: 77 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 2 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 54 bytes min segm size: 0 bytes min segm size: 23 bytes avg segm size: 0 bytes avg segm size: 38 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4042 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4070 bytes avg win adv: 4096 bytes max owin: 1 bytes max owin: 55 bytes min non-zero owin: 1 bytes min non-zero owin: 24 bytes avg owin: 0 bytes avg owin: 39 bytes wavg owin: 0 bytes wavg owin: 38 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 77 bytes truncated packets: 0 pkts truncated packets: 2 pkts data xmit time: 0.000 secs data xmit time: 2.564 secs idletime max: 2599.9 ms idletime max: 2563.6 ms throughput: 0 Bps throughput: 21 Bps RTT samples: 0 RTT samples: 2 RTT min: 0.0 ms RTT min: 65.2 ms RTT max: 0.0 ms RTT max: 101.4 ms RTT avg: 0.0 ms RTT avg: 83.3 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 1 RTT full_sz min: 0.0 ms RTT full_sz min: 65.2 ms RTT full_sz max: 0.0 ms RTT full_sz max: 65.2 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 65.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 5: host i: 132.235.1.2:23 host j: 132.235.1.64:32023 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.021353 1994 last packet: Tue Mar 8 21:42:55.863931 1994 elapsed time: 0:00:03.842578 total packets: 35 filename: all.snoop.gz i->j: j->i: total packets: 15 total packets: 20 ack pkts sent: 15 ack pkts sent: 20 pure acks sent: 5 pure acks sent: 10 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 32 unique bytes sent: 10 actual data pkts: 10 actual data pkts: 10 actual data bytes: 32 actual data bytes: 10 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 10 pushed data pkts: 10 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 21 bytes max segm size: 1 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 3 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 164 bytes min win adv: 4093 bytes min win adv: 89 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4095 bytes avg win adv: 155 bytes max owin: 22 bytes max owin: 3 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 3 bytes avg owin: 1 bytes wavg owin: 1 bytes wavg owin: 0 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 32 bytes truncated data: 10 bytes truncated packets: 10 pkts truncated packets: 10 pkts data xmit time: 3.777 secs data xmit time: 3.555 secs idletime max: 889.2 ms idletime max: 852.1 ms throughput: 8 Bps throughput: 3 Bps RTT samples: 10 RTT samples: 8 RTT min: 11.7 ms RTT min: 1.0 ms RTT max: 49.2 ms RTT max: 78.4 ms RTT avg: 20.8 ms RTT avg: 21.2 ms RTT stdev: 11.7 ms RTT stdev: 31.3 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 11.7 ms RTT full_sz min: 3.5 ms RTT full_sz max: 11.7 ms RTT full_sz max: 3.5 ms RTT full_sz avg: 11.7 ms RTT full_sz avg: 3.5 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 2 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 6: host k: 129.110.31.10:2770 host l: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.025175 1994 last packet: Tue Mar 8 21:42:54.182271 1994 elapsed time: 0:00:02.157096 total packets: 14 filename: all.snoop.gz k->l: l->k: total packets: 8 total packets: 6 ack pkts sent: 8 ack pkts sent: 6 pure acks sent: 4 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 6 unique bytes sent: 61 actual data pkts: 4 actual data pkts: 4 actual data bytes: 6 actual data bytes: 61 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 4 pushed data pkts: 4 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 3 bytes max segm size: 55 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 1 bytes avg segm size: 15 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4096 bytes max owin: 3 bytes max owin: 56 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 11 bytes wavg owin: 0 bytes wavg owin: 1 bytes initial window: 3 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 6 bytes truncated data: 61 bytes truncated packets: 4 pkts truncated packets: 4 pkts data xmit time: 2.055 secs data xmit time: 2.062 secs idletime max: 1939.8 ms idletime max: 2013.3 ms throughput: 3 Bps throughput: 28 Bps RTT samples: 4 RTT samples: 4 RTT min: 13.5 ms RTT min: 73.5 ms RTT max: 156.4 ms RTT max: 196.9 ms RTT avg: 54.9 ms RTT avg: 141.6 ms RTT stdev: 67.9 ms RTT stdev: 51.7 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 21.5 ms RTT full_sz min: 73.5 ms RTT full_sz max: 21.5 ms RTT full_sz max: 73.5 ms RTT full_sz avg: 21.5 ms RTT full_sz avg: 73.5 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 7: host m: 132.235.1.64:26638 host n: 132.235.4.63:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.098512 1994 last packet: Tue Mar 8 21:42:56.095870 1994 elapsed time: 0:00:03.997358 total packets: 51 filename: all.snoop.gz m->n: n->m: total packets: 34 total packets: 17 ack pkts sent: 34 ack pkts sent: 17 pure acks sent: 17 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 17 unique bytes sent: 47 actual data pkts: 17 actual data pkts: 17 actual data bytes: 17 actual data bytes: 47 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 17 pushed data pkts: 17 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 7 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 0 bytes avg segm size: 2 bytes max win adv: 130 bytes max win adv: 8774 bytes min win adv: 83 bytes min win adv: 8774 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 104 bytes avg win adv: 8774 bytes max owin: 2 bytes max owin: 8 bytes min non-zero owin: 1 bytes min non-zero owin: 2 bytes avg owin: 1 bytes avg owin: 3 bytes wavg owin: 0 bytes wavg owin: 2 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 17 bytes truncated data: 47 bytes truncated packets: 17 pkts truncated packets: 17 pkts data xmit time: 3.981 secs data xmit time: 3.981 secs idletime max: 409.5 ms idletime max: 426.5 ms throughput: 4 Bps throughput: 12 Bps RTT samples: 17 RTT samples: 17 RTT min: 4.1 ms RTT min: 12.1 ms RTT max: 4.8 ms RTT max: 40.7 ms RTT avg: 4.4 ms RTT avg: 17.5 ms RTT stdev: 0.1 ms RTT stdev: 7.4 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 5 RTT full_sz min: 4.4 ms RTT full_sz min: 12.1 ms RTT full_sz max: 4.4 ms RTT full_sz max: 28.6 ms RTT full_sz avg: 4.4 ms RTT full_sz avg: 17.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 7.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 8: host o: 147.205.85.10:3043 host p: 132.235.1.100:5000 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.100613 1994 last packet: Tue Mar 8 21:42:55.863232 1994 elapsed time: 0:00:03.762618 total packets: 6 filename: all.snoop.gz o->p: p->o: total packets: 3 total packets: 3 ack pkts sent: 3 ack pkts sent: 3 pure acks sent: 2 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 3 unique bytes sent: 720 actual data pkts: 1 actual data pkts: 2 actual data bytes: 3 actual data bytes: 720 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 3 bytes max segm size: 512 bytes min segm size: 3 bytes min segm size: 208 bytes avg segm size: 2 bytes avg segm size: 359 bytes max win adv: 6144 bytes max win adv: 4096 bytes min win adv: 6144 bytes min win adv: 4093 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 6144 bytes avg win adv: 4095 bytes max owin: 3 bytes max owin: 721 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 411 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 3 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 3 bytes truncated data: 720 bytes truncated packets: 1 pkts truncated packets: 2 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 2870.5 ms idletime max: 942.7 ms throughput: 1 Bps throughput: 191 Bps RTT samples: 1 RTT samples: 1 RTT min: 86.5 ms RTT min: 683.8 ms RTT max: 86.5 ms RTT max: 683.8 ms RTT avg: 86.5 ms RTT avg: 683.8 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 86.5 ms RTT full_sz min: 683.8 ms RTT full_sz max: 86.5 ms RTT full_sz max: 683.8 ms RTT full_sz avg: 86.5 ms RTT full_sz avg: 683.8 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 9: host q: 132.235.200.5:24077 host r: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.119240 1994 last packet: Tue Mar 8 21:42:56.046143 1994 elapsed time: 0:00:03.926902 total packets: 22 filename: all.snoop.gz q->r: r->q: total packets: 14 total packets: 8 ack pkts sent: 14 ack pkts sent: 8 pure acks sent: 14 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 8192 actual data pkts: 0 actual data pkts: 8 actual data bytes: 0 actual data bytes: 8192 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 1024 bytes min segm size: 0 bytes min segm size: 1024 bytes avg segm size: 0 bytes avg segm size: 1023 bytes max win adv: 2048 bytes max win adv: 4096 bytes min win adv: 394 bytes min win adv: 4096 bytes zero win adv: 2 times zero win adv: 0 times avg win adv: 1084 bytes avg win adv: 4096 bytes max owin: 1 bytes max owin: 2049 bytes min non-zero owin: 1 bytes min non-zero owin: 1025 bytes avg owin: 0 bytes avg owin: 1281 bytes wavg owin: 0 bytes wavg owin: 1246 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 8192 bytes truncated packets: 0 pkts truncated packets: 8 pkts data xmit time: 0.000 secs data xmit time: 3.917 secs idletime max: 859.3 ms idletime max: 867.5 ms throughput: 0 Bps throughput: 2086 Bps RTT samples: 0 RTT samples: 8 RTT min: 0.0 ms RTT min: 5.4 ms RTT max: 0.0 ms RTT max: 7.8 ms RTT avg: 0.0 ms RTT avg: 6.6 ms RTT stdev: 0.0 ms RTT stdev: 0.9 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 8 RTT full_sz min: 0.0 ms RTT full_sz min: 5.4 ms RTT full_sz max: 0.0 ms RTT full_sz max: 7.8 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 6.6 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.9 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 10: host s: 132.235.17.1:3711 host t: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.157530 1994 last packet: Tue Mar 8 21:42:52.722329 1994 elapsed time: 0:00:00.564799 total packets: 7 filename: all.snoop.gz s->t: t->s: total packets: 4 total packets: 3 ack pkts sent: 4 ack pkts sent: 3 pure acks sent: 2 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 6 unique bytes sent: 6 actual data pkts: 2 actual data pkts: 2 actual data bytes: 6 actual data bytes: 6 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 2 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 3 bytes max segm size: 3 bytes min segm size: 3 bytes min segm size: 3 bytes avg segm size: 2 bytes avg segm size: 2 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4096 bytes max owin: 4 bytes max owin: 4 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 2 bytes avg owin: 3 bytes wavg owin: 1 bytes wavg owin: 1 bytes initial window: 3 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 6 bytes truncated data: 6 bytes truncated packets: 2 pkts truncated packets: 2 pkts data xmit time: 0.169 secs data xmit time: 0.446 secs idletime max: 3399.8 ms idletime max: 3508.1 ms throughput: 11 Bps throughput: 11 Bps RTT samples: 2 RTT samples: 2 RTT min: 10.4 ms RTT min: 108.3 ms RTT max: 94.8 ms RTT max: 154.5 ms RTT avg: 52.6 ms RTT avg: 131.4 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 2 RTT full_sz smpls: 2 RTT full_sz min: 10.4 ms RTT full_sz min: 108.3 ms RTT full_sz max: 94.8 ms RTT full_sz max: 154.5 ms RTT full_sz avg: 52.6 ms RTT full_sz avg: 131.4 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 11: host u: 150.252.1.1:1211 host v: 132.235.1.100:5000 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.187863 1994 last packet: Tue Mar 8 21:42:55.828634 1994 elapsed time: 0:00:03.640771 total packets: 14 filename: all.snoop.gz u->v: v->u: total packets: 8 total packets: 6 ack pkts sent: 8 ack pkts sent: 6 pure acks sent: 4 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 12 unique bytes sent: 1186 actual data pkts: 4 actual data pkts: 4 actual data bytes: 12 actual data bytes: 1186 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 4 pushed data pkts: 4 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 3 bytes max segm size: 425 bytes min segm size: 3 bytes min segm size: 189 bytes avg segm size: 2 bytes avg segm size: 296 bytes max win adv: 6144 bytes max win adv: 4096 bytes min win adv: 6144 bytes min win adv: 4093 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 6144 bytes avg win adv: 4095 bytes max owin: 4 bytes max owin: 426 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 2 bytes avg owin: 198 bytes wavg owin: 1 bytes wavg owin: 287 bytes initial window: 3 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 12 bytes truncated data: 1186 bytes truncated packets: 4 pkts truncated packets: 4 pkts data xmit time: 3.356 secs data xmit time: 3.237 secs idletime max: 898.6 ms idletime max: 1249.2 ms throughput: 3 Bps throughput: 326 Bps RTT samples: 4 RTT samples: 4 RTT min: 34.5 ms RTT min: 175.0 ms RTT max: 110.0 ms RTT max: 279.7 ms RTT avg: 67.0 ms RTT avg: 230.0 ms RTT stdev: 32.2 ms RTT stdev: 43.3 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 4 RTT full_sz smpls: 1 RTT full_sz min: 34.5 ms RTT full_sz min: 240.5 ms RTT full_sz max: 110.0 ms RTT full_sz max: 240.5 ms RTT full_sz avg: 67.0 ms RTT full_sz avg: 240.5 ms RTT full_sz stdev: 32.2 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 12: host w: 132.235.24.25:23 host x: 129.71.2.1:1890 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.200649 1994 last packet: Tue Mar 8 21:42:55.802193 1994 elapsed time: 0:00:03.601544 total packets: 32 filename: all.snoop.gz w->x: x->w: total packets: 32 total packets: 0 ack pkts sent: 32 ack pkts sent: 0 pure acks sent: 0 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 34 unique bytes sent: 0 actual data pkts: 32 actual data pkts: 0 actual data bytes: 68 actual data bytes: 0 rexmt data pkts: 16 rexmt data pkts: 0 rexmt data bytes: 34 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 32 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 11 bytes max segm size: 0 bytes min segm size: 1 bytes min segm size: 0 bytes avg segm size: 2 bytes avg segm size: 0 bytes max win adv: 9112 bytes max win adv: 0 bytes min win adv: 9112 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 9112 bytes avg win adv: 0 bytes max owin: 11 bytes max owin: 0 bytes min non-zero owin: 1 bytes min non-zero owin: 0 bytes avg owin: 2 bytes avg owin: 0 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 34 bytes initial window: 0 bytes initial window: 16 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 68 bytes truncated data: 0 bytes truncated packets: 32 pkts truncated packets: 0 pkts data xmit time: 3.602 secs data xmit time: 0.000 secs idletime max: 436.1 ms idletime max: NA ms hardware dups: 16 segs hardware dups: 0 segs ** WARNING: presence of hardware duplicates makes these figures suspect! throughput: 9 Bps throughput: 0 Bps RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 1 max # retrans: 0 min retr time: 0.3 ms min retr time: 0.0 ms max retr time: 1.4 ms max retr time: 0.0 ms avg retr time: 0.7 ms avg retr time: 0.0 ms sdv retr time: 0.3 ms sdv retr time: 0.0 ms ================================ TCP connection 13: host y: 132.235.2.30:23 host z: 132.235.200.5:3592 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.205305 1994 last packet: Tue Mar 8 21:42:55.908570 1994 elapsed time: 0:00:03.703265 total packets: 16 filename: all.snoop.gz y->z: z->y: total packets: 8 total packets: 8 ack pkts sent: 8 ack pkts sent: 8 pure acks sent: 0 pure acks sent: 8 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 245 unique bytes sent: 0 actual data pkts: 8 actual data pkts: 0 actual data bytes: 245 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 8 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 153 bytes max segm size: 0 bytes min segm size: 1 bytes min segm size: 0 bytes avg segm size: 30 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 2048 bytes min win adv: 4096 bytes min win adv: 2048 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 2048 bytes max owin: 154 bytes max owin: 1 bytes min non-zero owin: 2 bytes min non-zero owin: 1 bytes avg owin: 31 bytes avg owin: 1 bytes wavg owin: 73 bytes wavg owin: 0 bytes initial window: 16 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 245 bytes truncated data: 0 bytes truncated packets: 8 pkts truncated packets: 0 pkts data xmit time: 3.505 secs data xmit time: 0.000 secs idletime max: 1666.7 ms idletime max: 1651.3 ms throughput: 66 Bps throughput: 0 Bps RTT samples: 8 RTT samples: 0 RTT min: 158.3 ms RTT min: 0.0 ms RTT max: 201.9 ms RTT max: 0.0 ms RTT avg: 187.3 ms RTT avg: 0.0 ms RTT stdev: 18.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 198.7 ms RTT full_sz min: 0.0 ms RTT full_sz max: 198.7 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 198.7 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 14: host aa: 147.205.85.10:3054 host ab: 132.235.1.100:5000 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.220433 1994 last packet: Tue Mar 8 21:42:56.014661 1994 elapsed time: 0:00:03.794227 total packets: 10 filename: all.snoop.gz aa->ab: ab->aa: total packets: 4 total packets: 6 ack pkts sent: 4 ack pkts sent: 6 pure acks sent: 2 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 8 unique bytes sent: 617 actual data pkts: 2 actual data pkts: 4 actual data bytes: 8 actual data bytes: 1129 rexmt data pkts: 0 rexmt data pkts: 1 rexmt data bytes: 0 rexmt data bytes: 512 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 2 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 5 bytes max segm size: 512 bytes min segm size: 3 bytes min segm size: 52 bytes avg segm size: 3 bytes avg segm size: 282 bytes max win adv: 6144 bytes max win adv: 4096 bytes min win adv: 6144 bytes min win adv: 4091 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 6144 bytes avg win adv: 4094 bytes max owin: 5 bytes max owin: 565 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 2 bytes avg owin: 226 bytes wavg owin: 3 bytes wavg owin: 20 bytes initial window: 5 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 8 bytes truncated data: 1129 bytes truncated packets: 2 pkts truncated packets: 4 pkts data xmit time: 1.489 secs data xmit time: 2.843 secs idletime max: 2305.3 ms idletime max: 1443.1 ms throughput: 2 Bps throughput: 163 Bps RTT samples: 2 RTT samples: 1 RTT min: 37.8 ms RTT min: 593.4 ms RTT max: 148.9 ms RTT max: 593.4 ms RTT avg: 93.4 ms RTT avg: 593.4 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 37.8 ms RTT full_sz min: 593.4 ms RTT full_sz max: 37.8 ms RTT full_sz max: 593.4 ms RTT full_sz avg: 37.8 ms RTT full_sz avg: 593.4 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 1 segs cum acked: 0 segs cum acked: 1 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 1 min retr time: 0.0 ms min retr time: 1353.8 ms max retr time: 0.0 ms max retr time: 1353.8 ms avg retr time: 0.0 ms avg retr time: 1353.6 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 15: host ac: 132.235.1.64:11049 host ad: 132.235.2.1:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.258052 1994 last packet: Tue Mar 8 21:42:55.852370 1994 elapsed time: 0:00:03.594317 total packets: 50 filename: all.snoop.gz ac->ad: ad->ac: total packets: 28 total packets: 22 ack pkts sent: 28 ack pkts sent: 22 pure acks sent: 14 pure acks sent: 5 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 16 unique bytes sent: 525 actual data pkts: 14 actual data pkts: 17 actual data bytes: 16 actual data bytes: 525 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 14 pushed data pkts: 12 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 2 bytes max segm size: 82 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 1 bytes avg segm size: 30 bytes max win adv: 164 bytes max win adv: 16384 bytes min win adv: 123 bytes min win adv: 16384 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 154 bytes avg win adv: 16384 bytes max owin: 3 bytes max owin: 165 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 34 bytes wavg owin: 0 bytes wavg owin: 10 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 16 bytes truncated data: 525 bytes truncated packets: 14 pkts truncated packets: 17 pkts data xmit time: 2.361 secs data xmit time: 3.577 secs idletime max: 595.0 ms idletime max: 733.7 ms throughput: 4 Bps throughput: 146 Bps RTT samples: 12 RTT samples: 14 RTT min: 2.7 ms RTT min: 12.8 ms RTT max: 137.5 ms RTT max: 50.7 ms RTT avg: 28.5 ms RTT avg: 22.3 ms RTT stdev: 40.7 ms RTT stdev: 10.7 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 2 RTT full_sz smpls: 3 RTT full_sz min: 15.9 ms RTT full_sz min: 30.5 ms RTT full_sz max: 47.0 ms RTT full_sz max: 50.7 ms RTT full_sz avg: 31.4 ms RTT full_sz avg: 37.9 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 11.1 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 2 segs cum acked: 3 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 16: host ae: 132.235.1.100:5000 host af: 134.241.10.5:1783 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.259342 1994 last packet: Tue Mar 8 21:42:52.373971 1994 elapsed time: 0:00:00.114629 total packets: 2 filename: all.snoop.gz ae->af: af->ae: total packets: 1 total packets: 1 ack pkts sent: 1 ack pkts sent: 1 pure acks sent: 0 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 437 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 437 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 437 bytes max segm size: 0 bytes min segm size: 437 bytes min segm size: 0 bytes avg segm size: 436 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4096 bytes max owin: 437 bytes max owin: 1 bytes min non-zero owin: 437 bytes min non-zero owin: 1 bytes avg owin: 437 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 437 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 437 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 3862.8 ms idletime max: 3748.1 ms throughput: 3812 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 0 RTT min: 114.6 ms RTT min: 0.0 ms RTT max: 114.6 ms RTT max: 0.0 ms RTT avg: 114.6 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 114.6 ms RTT full_sz min: 0.0 ms RTT full_sz max: 114.6 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 114.6 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 17: host ag: 132.235.17.161:28930 host ah: 132.235.1.6:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.290607 1994 last packet: Tue Mar 8 21:42:56.047586 1994 elapsed time: 0:00:03.756978 total packets: 32 filename: all.snoop.gz ag->ah: ah->ag: total packets: 16 total packets: 16 ack pkts sent: 16 ack pkts sent: 16 pure acks sent: 8 pure acks sent: 8 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 8 unique bytes sent: 8 actual data pkts: 8 actual data pkts: 8 actual data bytes: 8 actual data bytes: 8 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 8 pushed data pkts: 8 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 1 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 1024 bytes max win adv: 7798 bytes min win adv: 1024 bytes min win adv: 7791 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 1024 bytes avg win adv: 7794 bytes max owin: 2 bytes max owin: 2 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 8 bytes truncated data: 8 bytes truncated packets: 8 pkts truncated packets: 8 pkts data xmit time: 3.748 secs data xmit time: 3.746 secs idletime max: 1894.1 ms idletime max: 1899.7 ms throughput: 2 Bps throughput: 2 Bps RTT samples: 8 RTT samples: 8 RTT min: 1.4 ms RTT min: 3.8 ms RTT max: 1.6 ms RTT max: 5.0 ms RTT avg: 1.5 ms RTT avg: 4.2 ms RTT stdev: 0.0 ms RTT stdev: 0.4 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 1.6 ms RTT full_sz min: 4.4 ms RTT full_sz max: 1.6 ms RTT full_sz max: 4.4 ms RTT full_sz avg: 1.6 ms RTT full_sz avg: 4.4 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 18: host ai: 132.235.200.5:2065 host aj: 132.235.2.30:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.330993 1994 last packet: Tue Mar 8 21:42:55.999623 1994 elapsed time: 0:00:03.668629 total packets: 16 filename: all.snoop.gz ai->aj: aj->ai: total packets: 9 total packets: 7 ack pkts sent: 9 ack pkts sent: 7 pure acks sent: 5 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 11 unique bytes sent: 381 actual data pkts: 4 actual data pkts: 6 actual data bytes: 11 actual data bytes: 381 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 4 pushed data pkts: 6 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 3 bytes max segm size: 251 bytes min segm size: 2 bytes min segm size: 2 bytes avg segm size: 2 bytes avg segm size: 63 bytes max win adv: 2048 bytes max win adv: 4096 bytes min win adv: 2048 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 2048 bytes avg win adv: 4096 bytes max owin: 4 bytes max owin: 252 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 2 bytes avg owin: 55 bytes wavg owin: 0 bytes wavg owin: 128 bytes initial window: 3 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 11 bytes truncated data: 381 bytes truncated packets: 4 pkts truncated packets: 6 pkts data xmit time: 3.665 secs data xmit time: 3.657 secs idletime max: 1399.7 ms idletime max: 1371.6 ms throughput: 3 Bps throughput: 104 Bps RTT samples: 4 RTT samples: 5 RTT min: 3.6 ms RTT min: 158.6 ms RTT max: 92.9 ms RTT max: 198.9 ms RTT avg: 28.0 ms RTT avg: 177.2 ms RTT stdev: 43.4 ms RTT stdev: 18.6 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 3 RTT full_sz smpls: 1 RTT full_sz min: 3.6 ms RTT full_sz min: 198.9 ms RTT full_sz max: 11.3 ms RTT full_sz max: 198.9 ms RTT full_sz avg: 6.3 ms RTT full_sz avg: 198.9 ms RTT full_sz stdev: 4.3 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 19: host ak: 132.235.1.64:32301 host al: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.358858 1994 last packet: Tue Mar 8 21:42:55.480405 1994 elapsed time: 0:00:03.121547 total packets: 24 filename: all.snoop.gz ak->al: al->ak: total packets: 16 total packets: 8 ack pkts sent: 16 ack pkts sent: 8 pure acks sent: 8 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 8 unique bytes sent: 59 actual data pkts: 8 actual data pkts: 8 actual data bytes: 8 actual data bytes: 59 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 8 pushed data pkts: 8 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 8 bytes min segm size: 1 bytes min segm size: 3 bytes avg segm size: 0 bytes avg segm size: 7 bytes max win adv: 153 bytes max win adv: 4096 bytes min win adv: 94 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 121 bytes avg win adv: 4096 bytes max owin: 2 bytes max owin: 9 bytes min non-zero owin: 1 bytes min non-zero owin: 4 bytes avg owin: 1 bytes avg owin: 8 bytes wavg owin: 0 bytes wavg owin: 7 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 8 bytes truncated data: 59 bytes truncated packets: 8 pkts truncated packets: 8 pkts data xmit time: 3.105 secs data xmit time: 3.093 secs idletime max: 1277.2 ms idletime max: 1294.6 ms throughput: 3 Bps throughput: 19 Bps RTT samples: 8 RTT samples: 8 RTT min: 3.3 ms RTT min: 12.7 ms RTT max: 62.6 ms RTT max: 42.3 ms RTT avg: 19.2 ms RTT avg: 18.2 ms RTT stdev: 22.2 ms RTT stdev: 10.2 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 7 RTT full_sz min: 3.3 ms RTT full_sz min: 12.7 ms RTT full_sz max: 3.3 ms RTT full_sz max: 42.3 ms RTT full_sz avg: 3.3 ms RTT full_sz avg: 18.9 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 10.8 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 20: host am: 132.235.1.100:5000 host an: 144.32.128.6:4427 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.414407 1994 last packet: Tue Mar 8 21:42:52.671748 1994 elapsed time: 0:00:00.257341 total packets: 2 filename: all.snoop.gz am->an: an->am: total packets: 1 total packets: 1 ack pkts sent: 1 ack pkts sent: 1 pure acks sent: 0 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 55 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 55 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 55 bytes max segm size: 0 bytes min segm size: 55 bytes min segm size: 0 bytes avg segm size: 54 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 61440 bytes min win adv: 4096 bytes min win adv: 61440 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 61440 bytes max owin: 55 bytes max owin: 1 bytes min non-zero owin: 55 bytes min non-zero owin: 1 bytes avg owin: 55 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 55 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 55 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 3707.7 ms idletime max: 3450.4 ms throughput: 214 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 0 RTT min: 257.3 ms RTT min: 0.0 ms RTT max: 257.3 ms RTT max: 0.0 ms RTT avg: 257.3 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 257.3 ms RTT full_sz min: 0.0 ms RTT full_sz max: 257.3 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 257.3 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 21: host ao: 132.235.1.2:3141 host ap: 132.235.1.147:9100 complete conn: no (SYNs: 2) (FINs: 0) first packet: Tue Mar 8 21:42:52.585542 1994 last packet: Tue Mar 8 21:42:53.888845 1994 elapsed time: 0:00:01.303303 total packets: 16 filename: all.snoop.gz ao->ap: ap->ao: total packets: 9 total packets: 7 ack pkts sent: 8 ack pkts sent: 7 pure acks sent: 1 pure acks sent: 6 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 3695 unique bytes sent: 0 actual data pkts: 7 actual data pkts: 0 actual data bytes: 3695 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 6 pushed data pkts: 0 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 1/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1460 bytes max segm size: 0 bytes min segm size: 2 bytes min segm size: 0 bytes avg segm size: 527 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 8760 bytes min win adv: 4096 bytes min win adv: 7244 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 8101 bytes max owin: 2178 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 645 bytes avg owin: 1 bytes wavg owin: 451 bytes wavg owin: 0 bytes initial window: 42 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 3695 bytes truncated data: 0 bytes truncated packets: 7 pkts truncated packets: 0 pkts data xmit time: 1.177 secs data xmit time: 0.000 secs idletime max: 2349.6 ms idletime max: 2233.3 ms throughput: 2835 Bps throughput: 0 Bps RTT samples: 7 RTT samples: 1 RTT min: 3.7 ms RTT min: 0.8 ms RTT max: 212.2 ms RTT max: 0.8 ms RTT avg: 104.5 ms RTT avg: 0.8 ms RTT stdev: 76.3 ms RTT stdev: 0.0 ms RTT from 3WHS: 3.7 ms RTT from 3WHS: 0.8 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 109.6 ms RTT full_sz min: 0.8 ms RTT full_sz max: 109.6 ms RTT full_sz max: 0.8 ms RTT full_sz avg: 109.6 ms RTT full_sz avg: 0.8 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 1 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 22: host aq: 130.236.254.159:2000 host ar: 132.235.1.2:1459 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.593311 1994 last packet: Tue Mar 8 21:42:52.621670 1994 elapsed time: 0:00:00.028359 total packets: 2 filename: all.snoop.gz aq->ar: ar->aq: total packets: 1 total packets: 1 ack pkts sent: 1 ack pkts sent: 1 pure acks sent: 0 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 327 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 327 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 327 bytes max segm size: 0 bytes min segm size: 327 bytes min segm size: 0 bytes avg segm size: 326 bytes avg segm size: 0 bytes max win adv: 9112 bytes max win adv: 4096 bytes min win adv: 9112 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 9112 bytes avg win adv: 4096 bytes max owin: 327 bytes max owin: 1 bytes min non-zero owin: 327 bytes min non-zero owin: 1 bytes avg owin: 327 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 327 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 327 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 3528.8 ms idletime max: 3500.4 ms throughput: 11531 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 0 RTT min: 28.4 ms RTT min: 0.0 ms RTT max: 28.4 ms RTT max: 0.0 ms RTT avg: 28.4 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 28.4 ms RTT full_sz min: 0.0 ms RTT full_sz max: 28.4 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 28.4 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 23: host as: 132.235.1.2:23 host at: 132.235.1.64:22058 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.603979 1994 last packet: Tue Mar 8 21:42:52.647744 1994 elapsed time: 0:00:00.043765 total packets: 6 filename: all.snoop.gz as->at: at->as: total packets: 4 total packets: 2 ack pkts sent: 4 ack pkts sent: 2 pure acks sent: 0 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 327 unique bytes sent: 0 actual data pkts: 4 actual data pkts: 0 actual data bytes: 327 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 82 bytes max segm size: 0 bytes min segm size: 81 bytes min segm size: 0 bytes avg segm size: 81 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 164 bytes min win adv: 4096 bytes min win adv: 164 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 164 bytes max owin: 164 bytes max owin: 1 bytes min non-zero owin: 82 bytes min non-zero owin: 1 bytes avg owin: 102 bytes avg owin: 1 bytes wavg owin: 45 bytes wavg owin: 0 bytes initial window: 164 bytes initial window: 0 bytes initial window: 2 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 327 bytes truncated data: 0 bytes truncated packets: 4 pkts truncated packets: 0 pkts data xmit time: 0.025 secs data xmit time: 0.000 secs idletime max: 3492.9 ms idletime max: 3474.4 ms throughput: 7472 Bps throughput: 0 Bps RTT samples: 2 RTT samples: 0 RTT min: 18.5 ms RTT min: 0.0 ms RTT max: 23.4 ms RTT max: 0.0 ms RTT avg: 21.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 23.4 ms RTT full_sz min: 0.0 ms RTT full_sz max: 23.4 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 23.4 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 2 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 24: host au: 132.235.1.64:6917 host av: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.607895 1994 last packet: Tue Mar 8 21:42:55.733841 1994 elapsed time: 0:00:03.125945 total packets: 42 filename: all.snoop.gz au->av: av->au: total packets: 25 total packets: 17 ack pkts sent: 25 ack pkts sent: 17 pure acks sent: 12 pure acks sent: 5 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 15 unique bytes sent: 47 actual data pkts: 13 actual data pkts: 12 actual data bytes: 15 actual data bytes: 47 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 13 pushed data pkts: 12 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 3 bytes max segm size: 15 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 1 bytes avg segm size: 3 bytes max win adv: 164 bytes max win adv: 4096 bytes min win adv: 95 bytes min win adv: 4093 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 119 bytes avg win adv: 4095 bytes max owin: 4 bytes max owin: 16 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 3 bytes wavg owin: 0 bytes wavg owin: 1 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 15 bytes truncated data: 47 bytes truncated packets: 13 pkts truncated packets: 12 pkts data xmit time: 3.110 secs data xmit time: 2.780 secs idletime max: 1252.6 ms idletime max: 1287.8 ms throughput: 5 Bps throughput: 15 Bps RTT samples: 12 RTT samples: 12 RTT min: 4.0 ms RTT min: 12.2 ms RTT max: 104.5 ms RTT max: 37.6 ms RTT avg: 29.4 ms RTT avg: 20.1 ms RTT stdev: 36.5 ms RTT stdev: 8.4 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 6.4 ms RTT full_sz min: 27.0 ms RTT full_sz max: 6.4 ms RTT full_sz max: 27.0 ms RTT full_sz avg: 6.4 ms RTT full_sz avg: 27.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 1 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 25: host aw: 132.235.1.64:272 host ax: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.697360 1994 last packet: Tue Mar 8 21:42:54.881238 1994 elapsed time: 0:00:02.183878 total packets: 19 filename: all.snoop.gz aw->ax: ax->aw: total packets: 12 total packets: 7 ack pkts sent: 12 ack pkts sent: 7 pure acks sent: 6 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 6 unique bytes sent: 19 actual data pkts: 6 actual data pkts: 6 actual data bytes: 6 actual data bytes: 19 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 6 pushed data pkts: 6 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 5 bytes min segm size: 1 bytes min segm size: 2 bytes avg segm size: 0 bytes avg segm size: 3 bytes max win adv: 111 bytes max win adv: 4096 bytes min win adv: 92 bytes min win adv: 4095 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 101 bytes avg win adv: 4095 bytes max owin: 2 bytes max owin: 6 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 3 bytes wavg owin: 0 bytes wavg owin: 3 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 6 bytes truncated data: 19 bytes truncated packets: 6 pkts truncated packets: 6 pkts data xmit time: 2.168 secs data xmit time: 2.153 secs idletime max: 1240.9 ms idletime max: 1253.7 ms throughput: 3 Bps throughput: 9 Bps RTT samples: 6 RTT samples: 6 RTT min: 3.1 ms RTT min: 12.9 ms RTT max: 18.3 ms RTT max: 48.4 ms RTT avg: 9.8 ms RTT avg: 21.6 ms RTT stdev: 7.0 ms RTT stdev: 13.7 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 3.1 ms RTT full_sz min: 15.1 ms RTT full_sz max: 3.1 ms RTT full_sz max: 15.1 ms RTT full_sz avg: 3.1 ms RTT full_sz avg: 15.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 26: host ay: 132.235.17.13:1569 host az: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.897830 1994 last packet: Tue Mar 8 21:42:56.062954 1994 elapsed time: 0:00:03.165124 total packets: 19 filename: all.snoop.gz ay->az: az->ay: total packets: 12 total packets: 7 ack pkts sent: 12 ack pkts sent: 7 pure acks sent: 6 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 6 unique bytes sent: 24 actual data pkts: 6 actual data pkts: 6 actual data bytes: 6 actual data bytes: 24 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 6 pushed data pkts: 6 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 4 bytes min segm size: 1 bytes min segm size: 4 bytes avg segm size: 0 bytes avg segm size: 3 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4096 bytes max owin: 2 bytes max owin: 5 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 4 bytes wavg owin: 0 bytes wavg owin: 3 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 6 bytes truncated data: 24 bytes truncated packets: 6 pkts truncated packets: 6 pkts data xmit time: 3.029 secs data xmit time: 2.981 secs idletime max: 1373.4 ms idletime max: 1433.9 ms throughput: 2 Bps throughput: 8 Bps RTT samples: 6 RTT samples: 6 RTT min: 3.7 ms RTT min: 15.4 ms RTT max: 95.4 ms RTT max: 131.7 ms RTT avg: 29.4 ms RTT avg: 66.0 ms RTT stdev: 37.2 ms RTT stdev: 47.9 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 6 RTT full_sz min: 4.8 ms RTT full_sz min: 15.4 ms RTT full_sz max: 4.8 ms RTT full_sz max: 131.7 ms RTT full_sz avg: 4.8 ms RTT full_sz avg: 66.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 47.9 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 27: host ba: 128.8.11.201:5000 host bb: 132.235.1.2:2865 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.904102 1994 last packet: Tue Mar 8 21:42:53.021472 1994 elapsed time: 0:00:00.117370 total packets: 2 filename: all.snoop.gz ba->bb: bb->ba: total packets: 1 total packets: 1 ack pkts sent: 1 ack pkts sent: 1 pure acks sent: 0 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 37 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 37 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 37 bytes max segm size: 0 bytes min segm size: 37 bytes min segm size: 0 bytes avg segm size: 36 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4096 bytes max owin: 37 bytes max owin: 1 bytes min non-zero owin: 37 bytes min non-zero owin: 1 bytes avg owin: 37 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 37 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 37 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 3218.0 ms idletime max: 3100.6 ms throughput: 315 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 0 RTT min: 117.4 ms RTT min: 0.0 ms RTT max: 117.4 ms RTT max: 0.0 ms RTT avg: 117.4 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 117.4 ms RTT full_sz min: 0.0 ms RTT full_sz max: 117.4 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 117.4 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 28: host bc: 132.235.1.2:23 host bd: 132.235.1.64:26129 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:52.914649 1994 last packet: Tue Mar 8 21:42:52.931796 1994 elapsed time: 0:00:00.017147 total packets: 2 filename: all.snoop.gz bc->bd: bd->bc: total packets: 1 total packets: 1 ack pkts sent: 1 ack pkts sent: 1 pure acks sent: 0 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 38 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 38 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 38 bytes max segm size: 0 bytes min segm size: 38 bytes min segm size: 0 bytes avg segm size: 37 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 123 bytes min win adv: 4096 bytes min win adv: 123 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 123 bytes max owin: 38 bytes max owin: 1 bytes min non-zero owin: 38 bytes min non-zero owin: 1 bytes avg owin: 38 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 38 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 38 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 3207.5 ms idletime max: 3190.3 ms throughput: 2216 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 0 RTT min: 17.1 ms RTT min: 0.0 ms RTT max: 17.1 ms RTT max: 0.0 ms RTT avg: 17.1 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 17.1 ms RTT full_sz min: 0.0 ms RTT full_sz max: 17.1 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 17.1 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 29: host be: 132.235.1.64:23326 host bf: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.041195 1994 last packet: Tue Mar 8 21:42:54.303985 1994 elapsed time: 0:00:01.262790 total packets: 17 filename: all.snoop.gz be->bf: bf->be: total packets: 11 total packets: 6 ack pkts sent: 11 ack pkts sent: 6 pure acks sent: 6 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 6 unique bytes sent: 12 actual data pkts: 5 actual data pkts: 6 actual data bytes: 6 actual data bytes: 12 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 5 pushed data pkts: 6 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 2 bytes max segm size: 6 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 1 bytes avg segm size: 1 bytes max win adv: 99 bytes max win adv: 4096 bytes min win adv: 87 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 95 bytes avg win adv: 4096 bytes max owin: 3 bytes max owin: 7 bytes min non-zero owin: 1 bytes min non-zero owin: 2 bytes avg owin: 1 bytes avg owin: 3 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 6 bytes truncated data: 12 bytes truncated packets: 5 pkts truncated packets: 6 pkts data xmit time: 1.117 secs data xmit time: 1.229 secs idletime max: 1818.1 ms idletime max: 1836.8 ms throughput: 5 Bps throughput: 10 Bps RTT samples: 5 RTT samples: 6 RTT min: 4.5 ms RTT min: 13.4 ms RTT max: 15.1 ms RTT max: 30.9 ms RTT avg: 8.5 ms RTT avg: 21.6 ms RTT stdev: 4.2 ms RTT stdev: 5.9 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 4.5 ms RTT full_sz min: 18.7 ms RTT full_sz max: 4.5 ms RTT full_sz max: 18.7 ms RTT full_sz avg: 4.5 ms RTT full_sz avg: 18.7 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 30: host bg: 132.235.1.129:14458 host bh: 132.235.2.1:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.052803 1994 last packet: Tue Mar 8 21:42:56.111077 1994 elapsed time: 0:00:03.058273 total packets: 66 filename: all.snoop.gz bg->bh: bh->bg: total packets: 42 total packets: 24 ack pkts sent: 42 ack pkts sent: 24 pure acks sent: 24 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 21 unique bytes sent: 554 actual data pkts: 18 actual data pkts: 24 actual data bytes: 21 actual data bytes: 554 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 18 pushed data pkts: 24 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 2 bytes max segm size: 217 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 1 bytes avg segm size: 23 bytes max win adv: 4096 bytes max win adv: 16384 bytes min win adv: 4079 bytes min win adv: 16384 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4095 bytes avg win adv: 16384 bytes max owin: 3 bytes max owin: 218 bytes min non-zero owin: 1 bytes min non-zero owin: 2 bytes avg owin: 1 bytes avg owin: 24 bytes wavg owin: 0 bytes wavg owin: 35 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 21 bytes truncated data: 554 bytes truncated packets: 18 pkts truncated packets: 24 pkts data xmit time: 3.052 secs data xmit time: 3.052 secs idletime max: 384.1 ms idletime max: 391.3 ms throughput: 7 Bps throughput: 181 Bps RTT samples: 18 RTT samples: 24 RTT min: 3.1 ms RTT min: 2.2 ms RTT max: 14.1 ms RTT max: 38.0 ms RTT avg: 5.1 ms RTT avg: 7.4 ms RTT stdev: 3.1 ms RTT stdev: 8.8 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 3 RTT full_sz smpls: 1 RTT full_sz min: 6.6 ms RTT full_sz min: 38.0 ms RTT full_sz max: 14.1 ms RTT full_sz max: 38.0 ms RTT full_sz avg: 11.0 ms RTT full_sz avg: 38.0 ms RTT full_sz stdev: 3.9 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 31: host bi: 132.235.24.250:6381 host bj: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.099697 1994 last packet: Tue Mar 8 21:42:54.661395 1994 elapsed time: 0:00:01.561698 total packets: 38 filename: all.snoop.gz bi->bj: bj->bi: total packets: 20 total packets: 18 ack pkts sent: 20 ack pkts sent: 18 pure acks sent: 18 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2 unique bytes sent: 1473 actual data pkts: 2 actual data pkts: 18 actual data bytes: 2 actual data bytes: 1473 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 18 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 279 bytes min segm size: 1 bytes min segm size: 7 bytes avg segm size: 0 bytes avg segm size: 81 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 3802 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4048 bytes avg win adv: 4096 bytes max owin: 2 bytes max owin: 280 bytes min non-zero owin: 1 bytes min non-zero owin: 8 bytes avg owin: 1 bytes avg owin: 82 bytes wavg owin: 0 bytes wavg owin: 23 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 2 bytes truncated data: 1473 bytes truncated packets: 2 pkts truncated packets: 18 pkts data xmit time: 1.511 secs data xmit time: 1.534 secs idletime max: 1460.7 ms idletime max: 1480.1 ms throughput: 1 Bps throughput: 943 Bps RTT samples: 2 RTT samples: 18 RTT min: 3.7 ms RTT min: 3.3 ms RTT max: 7.8 ms RTT max: 19.4 ms RTT avg: 5.7 ms RTT avg: 6.4 ms RTT stdev: 0.0 ms RTT stdev: 5.3 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 3.7 ms RTT full_sz min: 15.1 ms RTT full_sz max: 3.7 ms RTT full_sz max: 15.1 ms RTT full_sz avg: 3.7 ms RTT full_sz avg: 15.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 32: host bk: 132.235.200.5:32260 host bl: 132.235.2.30:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.212625 1994 last packet: Tue Mar 8 21:42:53.659849 1994 elapsed time: 0:00:00.447224 total packets: 6 filename: all.snoop.gz bk->bl: bl->bk: total packets: 3 total packets: 3 ack pkts sent: 3 ack pkts sent: 3 pure acks sent: 2 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1 unique bytes sent: 401 actual data pkts: 1 actual data pkts: 2 actual data bytes: 1 actual data bytes: 401 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 2 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 350 bytes min segm size: 1 bytes min segm size: 51 bytes avg segm size: 0 bytes avg segm size: 200 bytes max win adv: 2048 bytes max win adv: 4096 bytes min win adv: 2048 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 2048 bytes avg win adv: 4096 bytes max owin: 1 bytes max owin: 351 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 134 bytes wavg owin: 0 bytes wavg owin: 20 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 1 bytes truncated data: 401 bytes truncated packets: 1 pkts truncated packets: 2 pkts data xmit time: 0.000 secs data xmit time: 0.190 secs idletime max: 2462.3 ms idletime max: 2663.1 ms throughput: 2 Bps throughput: 897 Bps RTT samples: 1 RTT samples: 2 RTT min: 8.9 ms RTT min: 188.2 ms RTT max: 8.9 ms RTT max: 200.8 ms RTT avg: 8.9 ms RTT avg: 194.5 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 8.9 ms RTT full_sz min: 200.8 ms RTT full_sz max: 8.9 ms RTT full_sz max: 200.8 ms RTT full_sz avg: 8.9 ms RTT full_sz avg: 200.8 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 33: host bm: 132.235.17.195:17802 host bn: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.406767 1994 last packet: Tue Mar 8 21:42:54.904013 1994 elapsed time: 0:00:01.497246 total packets: 13 filename: all.snoop.gz bm->bn: bn->bm: total packets: 8 total packets: 5 ack pkts sent: 8 ack pkts sent: 5 pure acks sent: 6 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 3 unique bytes sent: 415 actual data pkts: 2 actual data pkts: 4 actual data bytes: 3 actual data bytes: 415 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 4 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 2 bytes max segm size: 366 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 1 bytes avg segm size: 103 bytes max win adv: 1024 bytes max win adv: 4096 bytes min win adv: 658 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 972 bytes avg win adv: 4096 bytes max owin: 3 bytes max owin: 367 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 84 bytes wavg owin: 0 bytes wavg owin: 114 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 3 bytes truncated data: 415 bytes truncated packets: 2 pkts truncated packets: 4 pkts data xmit time: 0.103 secs data xmit time: 1.283 secs idletime max: 1218.1 ms idletime max: 1222.1 ms throughput: 2 Bps throughput: 277 Bps RTT samples: 2 RTT samples: 4 RTT min: 15.5 ms RTT min: 2.0 ms RTT max: 106.7 ms RTT max: 12.5 ms RTT avg: 61.1 ms RTT avg: 5.5 ms RTT stdev: 0.0 ms RTT stdev: 4.7 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 106.7 ms RTT full_sz min: 3.6 ms RTT full_sz max: 106.7 ms RTT full_sz max: 3.6 ms RTT full_sz avg: 106.7 ms RTT full_sz avg: 3.6 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 34: host bo: 132.235.4.216:10388 host bp: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.436676 1994 last packet: Tue Mar 8 21:42:53.692947 1994 elapsed time: 0:00:00.256271 total packets: 4 filename: all.snoop.gz bo->bp: bp->bo: total packets: 2 total packets: 2 ack pkts sent: 2 ack pkts sent: 2 pure acks sent: 1 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1 unique bytes sent: 72 actual data pkts: 1 actual data pkts: 1 actual data bytes: 1 actual data bytes: 72 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 72 bytes min segm size: 1 bytes min segm size: 72 bytes avg segm size: 0 bytes avg segm size: 71 bytes max win adv: 512 bytes max win adv: 4096 bytes min win adv: 512 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 512 bytes avg win adv: 4096 bytes max owin: 1 bytes max owin: 73 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 37 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 1 bytes truncated data: 72 bytes truncated packets: 1 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 2429.2 ms idletime max: 2478.4 ms throughput: 4 Bps throughput: 281 Bps RTT samples: 1 RTT samples: 1 RTT min: 185.2 ms RTT min: 49.2 ms RTT max: 185.2 ms RTT max: 49.2 ms RTT avg: 185.1 ms RTT avg: 49.2 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 185.2 ms RTT full_sz min: 49.2 ms RTT full_sz max: 185.2 ms RTT full_sz max: 49.2 ms RTT full_sz avg: 185.1 ms RTT full_sz avg: 49.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 35: host bq: 132.235.1.2:2635 host br: 162.148.13.44:4000 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.623190 1994 last packet: Tue Mar 8 21:42:55.021229 1994 elapsed time: 0:00:01.398039 total packets: 6 filename: all.snoop.gz bq->br: br->bq: total packets: 3 total packets: 3 ack pkts sent: 3 ack pkts sent: 3 pure acks sent: 2 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 3 unique bytes sent: 396 actual data pkts: 1 actual data pkts: 2 actual data bytes: 3 actual data bytes: 396 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 2 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 3 bytes max segm size: 354 bytes min segm size: 3 bytes min segm size: 42 bytes avg segm size: 2 bytes avg segm size: 197 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4093 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4095 bytes max owin: 3 bytes max owin: 355 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 133 bytes wavg owin: 1 bytes wavg owin: 118 bytes initial window: 3 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 3 bytes truncated data: 396 bytes truncated packets: 1 pkts truncated packets: 2 pkts data xmit time: 0.000 secs data xmit time: 0.466 secs idletime max: 1100.9 ms idletime max: 1225.0 ms throughput: 2 Bps throughput: 283 Bps RTT samples: 1 RTT samples: 2 RTT min: 95.8 ms RTT min: 124.2 ms RTT max: 95.8 ms RTT max: 190.1 ms RTT avg: 95.8 ms RTT avg: 157.1 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 95.8 ms RTT full_sz min: 190.1 ms RTT full_sz max: 95.8 ms RTT full_sz max: 190.1 ms RTT full_sz avg: 95.8 ms RTT full_sz avg: 190.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 36: host bs: 192.216.54.2:8888 host bt: 132.235.1.2:1527 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.961778 1994 last packet: Tue Mar 8 21:42:55.421124 1994 elapsed time: 0:00:01.459346 total packets: 10 filename: all.snoop.gz bs->bt: bt->bs: total packets: 5 total packets: 5 ack pkts sent: 5 ack pkts sent: 5 pure acks sent: 0 pure acks sent: 5 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 165 unique bytes sent: 0 actual data pkts: 5 actual data pkts: 0 actual data bytes: 242 actual data bytes: 0 rexmt data pkts: 1 rexmt data pkts: 0 rexmt data bytes: 77 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 4 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 77 bytes max segm size: 0 bytes min segm size: 15 bytes min segm size: 0 bytes avg segm size: 48 bytes avg segm size: 0 bytes max win adv: 9112 bytes max win adv: 4096 bytes min win adv: 9112 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 9112 bytes avg win adv: 4096 bytes max owin: 78 bytes max owin: 1 bytes min non-zero owin: 16 bytes min non-zero owin: 1 bytes avg owin: 42 bytes avg owin: 1 bytes wavg owin: 27 bytes wavg owin: 0 bytes initial window: 25 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 242 bytes truncated data: 0 bytes truncated packets: 5 pkts truncated packets: 0 pkts data xmit time: 1.375 secs data xmit time: 0.000 secs idletime max: 785.7 ms idletime max: 701.0 ms throughput: 113 Bps throughput: 0 Bps RTT samples: 4 RTT samples: 0 RTT min: 60.0 ms RTT min: 0.0 ms RTT max: 155.3 ms RTT max: 0.0 ms RTT avg: 101.3 ms RTT avg: 0.0 ms RTT stdev: 40.5 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 155.3 ms RTT full_sz min: 0.0 ms RTT full_sz max: 155.3 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 155.3 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 37: host bu: 192.216.54.2:8888 host bv: 132.235.1.2:4548 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.962408 1994 last packet: Tue Mar 8 21:42:56.056105 1994 elapsed time: 0:00:02.093697 total packets: 5 filename: all.snoop.gz bu->bv: bv->bu: total packets: 3 total packets: 2 ack pkts sent: 3 ack pkts sent: 2 pure acks sent: 0 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 92 unique bytes sent: 0 actual data pkts: 3 actual data pkts: 0 actual data bytes: 92 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 3 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 37 bytes max segm size: 0 bytes min segm size: 26 bytes min segm size: 0 bytes avg segm size: 30 bytes avg segm size: 0 bytes max win adv: 9112 bytes max win adv: 4096 bytes min win adv: 9112 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 9112 bytes avg win adv: 4096 bytes max owin: 38 bytes max owin: 1 bytes min non-zero owin: 26 bytes min non-zero owin: 1 bytes avg owin: 31 bytes avg owin: 1 bytes wavg owin: 26 bytes wavg owin: 0 bytes initial window: 26 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 92 bytes truncated data: 0 bytes truncated packets: 3 pkts truncated packets: 0 pkts data xmit time: 2.094 secs data xmit time: 0.000 secs idletime max: 1775.0 ms idletime max: 1799.1 ms throughput: 44 Bps throughput: 0 Bps RTT samples: 2 RTT samples: 0 RTT min: 59.6 ms RTT min: 0.0 ms RTT max: 83.6 ms RTT max: 0.0 ms RTT avg: 71.6 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 83.6 ms RTT full_sz min: 0.0 ms RTT full_sz max: 83.6 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 83.6 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 38: host bw: 132.235.1.2:23 host bx: 132.235.1.64:19211 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.976717 1994 last packet: Tue Mar 8 21:42:56.074308 1994 elapsed time: 0:00:02.097590 total packets: 6 filename: all.snoop.gz bw->bx: bx->bw: total packets: 3 total packets: 3 ack pkts sent: 3 ack pkts sent: 3 pure acks sent: 0 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 92 unique bytes sent: 0 actual data pkts: 3 actual data pkts: 0 actual data bytes: 92 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 3 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 37 bytes max segm size: 0 bytes min segm size: 26 bytes min segm size: 0 bytes avg segm size: 30 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 164 bytes min win adv: 4096 bytes min win adv: 92 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 127 bytes max owin: 38 bytes max owin: 1 bytes min non-zero owin: 26 bytes min non-zero owin: 1 bytes avg owin: 31 bytes avg owin: 1 bytes wavg owin: 25 bytes wavg owin: 0 bytes initial window: 26 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 92 bytes truncated data: 0 bytes truncated packets: 3 pkts truncated packets: 0 pkts data xmit time: 2.082 secs data xmit time: 0.000 secs idletime max: 1763.6 ms idletime max: 1747.9 ms throughput: 44 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 0 RTT min: 13.4 ms RTT min: 0.0 ms RTT max: 29.0 ms RTT max: 0.0 ms RTT avg: 19.3 ms RTT avg: 0.0 ms RTT stdev: 8.5 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 15.4 ms RTT full_sz min: 0.0 ms RTT full_sz max: 15.4 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 15.4 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 39: host by: 144.32.128.6:3207 host bz: 132.235.1.100:5000 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.985870 1994 last packet: Tue Mar 8 21:42:55.469003 1994 elapsed time: 0:00:01.483133 total packets: 7 filename: all.snoop.gz by->bz: bz->by: total packets: 3 total packets: 4 ack pkts sent: 3 ack pkts sent: 4 pure acks sent: 2 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 3 unique bytes sent: 1002 actual data pkts: 1 actual data pkts: 3 actual data bytes: 3 actual data bytes: 1002 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 2 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 3 bytes max segm size: 512 bytes min segm size: 3 bytes min segm size: 122 bytes avg segm size: 2 bytes avg segm size: 333 bytes max win adv: 61440 bytes max win adv: 4096 bytes min win adv: 61440 bytes min win adv: 4093 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 61440 bytes avg win adv: 4095 bytes max owin: 3 bytes max owin: 881 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 379 bytes wavg owin: 1 bytes wavg owin: 607 bytes initial window: 3 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 3 bytes truncated data: 1002 bytes truncated packets: 1 pkts truncated packets: 3 pkts data xmit time: 0.000 secs data xmit time: 1.023 secs idletime max: 1026.5 ms idletime max: 1023.1 ms throughput: 2 Bps throughput: 676 Bps RTT samples: 1 RTT samples: 2 RTT min: 71.8 ms RTT min: 284.8 ms RTT max: 71.8 ms RTT max: 288.2 ms RTT avg: 71.8 ms RTT avg: 286.5 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 71.8 ms RTT full_sz min: 284.8 ms RTT full_sz max: 71.8 ms RTT full_sz max: 284.8 ms RTT full_sz avg: 71.8 ms RTT full_sz avg: 284.8 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 40: host ca: 132.235.1.64:18461 host cb: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:53.985977 1994 last packet: Tue Mar 8 21:42:53.985977 1994 elapsed time: 0:00:00.000000 total packets: 1 filename: all.snoop.gz ca->cb: cb->ca: total packets: 1 total packets: 0 ack pkts sent: 1 ack pkts sent: 0 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 148 bytes max win adv: 0 bytes min win adv: 148 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 148 bytes avg win adv: 0 bytes max owin: 0 bytes max owin: 0 bytes min non-zero owin: 0 bytes min non-zero owin: 0 bytes avg owin: 0 bytes avg owin: 0 bytes wavg owin: NA wavg owin: NA initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 2136.1 ms idletime max: NA ms throughput: NA throughput: NA RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 41: host cc: 132.235.1.64:17416 host cd: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:54.080341 1994 last packet: Tue Mar 8 21:42:54.080341 1994 elapsed time: 0:00:00.000000 total packets: 1 filename: all.snoop.gz cc->cd: cd->cc: total packets: 1 total packets: 0 ack pkts sent: 1 ack pkts sent: 0 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 126 bytes max win adv: 0 bytes min win adv: 126 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 126 bytes avg win adv: 0 bytes max owin: 0 bytes max owin: 0 bytes min non-zero owin: 0 bytes min non-zero owin: 0 bytes avg owin: 0 bytes avg owin: 0 bytes wavg owin: NA wavg owin: NA initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 2041.8 ms idletime max: NA ms throughput: NA throughput: NA RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 42: host ce: 132.235.4.217:7581 host cf: 132.235.1.6:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:54.147527 1994 last packet: Tue Mar 8 21:42:54.196709 1994 elapsed time: 0:00:00.049182 total packets: 4 filename: all.snoop.gz ce->cf: cf->ce: total packets: 2 total packets: 2 ack pkts sent: 2 ack pkts sent: 2 pure acks sent: 1 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1 unique bytes sent: 1 actual data pkts: 1 actual data pkts: 1 actual data bytes: 1 actual data bytes: 1 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 1 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 512 bytes max win adv: 7903 bytes min win adv: 512 bytes min win adv: 7903 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 512 bytes avg win adv: 7903 bytes max owin: 1 bytes max owin: 2 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 1 bytes truncated data: 1 bytes truncated packets: 1 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 1925.4 ms idletime max: 1968.1 ms throughput: 20 Bps throughput: 20 Bps RTT samples: 1 RTT samples: 1 RTT min: 1.6 ms RTT min: 42.7 ms RTT max: 1.6 ms RTT max: 42.7 ms RTT avg: 1.6 ms RTT avg: 42.7 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 1.6 ms RTT full_sz min: 42.7 ms RTT full_sz max: 1.6 ms RTT full_sz max: 42.7 ms RTT full_sz avg: 1.6 ms RTT full_sz avg: 42.7 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 43: host cg: 132.235.1.100:5000 host ch: 144.32.128.6:3379 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:54.156057 1994 last packet: Tue Mar 8 21:42:55.468574 1994 elapsed time: 0:00:01.312516 total packets: 5 filename: all.snoop.gz cg->ch: ch->cg: total packets: 3 total packets: 2 ack pkts sent: 3 ack pkts sent: 2 pure acks sent: 0 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1041 unique bytes sent: 0 actual data pkts: 3 actual data pkts: 0 actual data bytes: 1041 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 512 bytes max segm size: 0 bytes min segm size: 120 bytes min segm size: 0 bytes avg segm size: 346 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 61440 bytes min win adv: 4096 bytes min win adv: 61440 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 61440 bytes max owin: 512 bytes max owin: 1 bytes min non-zero owin: 121 bytes min non-zero owin: 1 bytes avg owin: 347 bytes avg owin: 1 bytes wavg owin: 318 bytes wavg owin: 0 bytes initial window: 921 bytes initial window: 0 bytes initial window: 2 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 1041 bytes truncated data: 0 bytes truncated packets: 3 pkts truncated packets: 0 pkts data xmit time: 1.024 secs data xmit time: 0.000 secs idletime max: 1023.7 ms idletime max: 1026.8 ms throughput: 793 Bps throughput: 0 Bps RTT samples: 2 RTT samples: 0 RTT min: 285.5 ms RTT min: 0.0 ms RTT max: 288.6 ms RTT max: 0.0 ms RTT avg: 287.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 285.5 ms RTT full_sz min: 0.0 ms RTT full_sz max: 285.5 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 285.4 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 1 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 44: host ci: 132.235.1.2:3143 host cj: 129.174.1.3:25 complete conn: no (SYNs: 2) (FINs: 0) first packet: Tue Mar 8 21:42:54.265149 1994 last packet: Tue Mar 8 21:42:54.400563 1994 elapsed time: 0:00:00.135414 total packets: 3 filename: all.snoop.gz ci->cj: cj->ci: total packets: 2 total packets: 1 ack pkts sent: 1 ack pkts sent: 1 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 1/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4096 bytes max owin: 1 bytes max owin: 0 bytes min non-zero owin: 1 bytes min non-zero owin: 0 bytes avg owin: 1 bytes avg owin: 0 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 1721.5 ms idletime max: 1722.2 ms throughput: 0 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 1 RTT min: 134.7 ms RTT min: 0.7 ms RTT max: 134.7 ms RTT max: 0.7 ms RTT avg: 134.7 ms RTT avg: 0.7 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 134.7 ms RTT from 3WHS: 0.7 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 134.7 ms RTT full_sz min: 0.7 ms RTT full_sz max: 134.7 ms RTT full_sz max: 0.7 ms RTT full_sz avg: 134.7 ms RTT full_sz avg: 0.7 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 45: host ck: 132.235.1.64:21809 host cl: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:54.318874 1994 last packet: Tue Mar 8 21:42:54.864610 1994 elapsed time: 0:00:00.545736 total packets: 8 filename: all.snoop.gz ck->cl: cl->ck: total packets: 4 total packets: 4 ack pkts sent: 4 ack pkts sent: 4 pure acks sent: 3 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2 unique bytes sent: 183 actual data pkts: 1 actual data pkts: 4 actual data bytes: 2 actual data bytes: 183 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 2 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 2 bytes max segm size: 82 bytes min segm size: 2 bytes min segm size: 2 bytes avg segm size: 1 bytes avg segm size: 45 bytes max win adv: 164 bytes max win adv: 4096 bytes min win adv: 162 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 163 bytes avg win adv: 4096 bytes max owin: 2 bytes max owin: 100 bytes min non-zero owin: 1 bytes min non-zero owin: 3 bytes avg owin: 1 bytes avg owin: 67 bytes wavg owin: 0 bytes wavg owin: 3 bytes initial window: 2 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 2 bytes truncated data: 183 bytes truncated packets: 1 pkts truncated packets: 4 pkts data xmit time: 0.000 secs data xmit time: 0.498 secs idletime max: 1257.5 ms idletime max: 1281.0 ms throughput: 4 Bps throughput: 335 Bps RTT samples: 1 RTT samples: 3 RTT min: 24.5 ms RTT min: 15.4 ms RTT max: 24.5 ms RTT max: 23.5 ms RTT avg: 24.5 ms RTT avg: 19.6 ms RTT stdev: 0.0 ms RTT stdev: 4.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 24.5 ms RTT full_sz min: 15.4 ms RTT full_sz max: 24.5 ms RTT full_sz max: 15.4 ms RTT full_sz avg: 24.5 ms RTT full_sz avg: 15.4 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 46: host cm: 132.235.1.2:3122 host cn: 134.53.14.115:4000 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:54.344409 1994 last packet: Tue Mar 8 21:42:54.821050 1994 elapsed time: 0:00:00.476641 total packets: 4 filename: all.snoop.gz cm->cn: cn->cm: total packets: 2 total packets: 2 ack pkts sent: 2 ack pkts sent: 2 pure acks sent: 1 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2 unique bytes sent: 164 actual data pkts: 1 actual data pkts: 1 actual data bytes: 2 actual data bytes: 164 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 2 bytes max segm size: 164 bytes min segm size: 2 bytes min segm size: 164 bytes avg segm size: 1 bytes avg segm size: 163 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4094 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4095 bytes max owin: 2 bytes max owin: 165 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 83 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 2 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 2 bytes truncated data: 164 bytes truncated packets: 1 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 1301.0 ms idletime max: 1308.7 ms throughput: 4 Bps throughput: 344 Bps RTT samples: 1 RTT samples: 1 RTT min: 56.7 ms RTT min: 7.6 ms RTT max: 56.7 ms RTT max: 7.6 ms RTT avg: 56.7 ms RTT avg: 7.6 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 56.7 ms RTT full_sz min: 7.6 ms RTT full_sz max: 56.7 ms RTT full_sz max: 7.6 ms RTT full_sz avg: 56.7 ms RTT full_sz avg: 7.6 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 47: host co: 132.235.24.50:1906 host cp: 132.235.1.2:119 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:54.365071 1994 last packet: Tue Mar 8 21:42:54.793855 1994 elapsed time: 0:00:00.428784 total packets: 7 filename: all.snoop.gz co->cp: cp->co: total packets: 4 total packets: 3 ack pkts sent: 4 ack pkts sent: 3 pure acks sent: 2 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 27 unique bytes sent: 3152 actual data pkts: 2 actual data pkts: 3 actual data bytes: 27 actual data bytes: 3152 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 2 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 15 bytes max segm size: 1460 bytes min segm size: 12 bytes min segm size: 771 bytes avg segm size: 13 bytes avg segm size: 1050 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4096 bytes max owin: 16 bytes max owin: 2382 bytes min non-zero owin: 1 bytes min non-zero owin: 772 bytes avg owin: 7 bytes avg owin: 1538 bytes wavg owin: 2 bytes wavg owin: 704 bytes initial window: 12 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 27 bytes truncated data: 3152 bytes truncated packets: 2 pkts truncated packets: 3 pkts data xmit time: 0.416 secs data xmit time: 0.392 secs idletime max: 1328.2 ms idletime max: 1334.4 ms throughput: 63 Bps throughput: 7351 Bps RTT samples: 2 RTT samples: 2 RTT min: 5.8 ms RTT min: 6.1 ms RTT max: 31.0 ms RTT max: 103.9 ms RTT avg: 18.4 ms RTT avg: 55.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 5.8 ms RTT full_sz min: 6.1 ms RTT full_sz max: 5.8 ms RTT full_sz max: 6.1 ms RTT full_sz avg: 5.8 ms RTT full_sz avg: 6.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 48: host cq: 130.236.253.6:113 host cr: 132.235.1.2:3138 complete conn: no (SYNs: 0) (FINs: 2) first packet: Tue Mar 8 21:42:54.549107 1994 last packet: Tue Mar 8 21:42:54.733576 1994 elapsed time: 0:00:00.184469 total packets: 5 filename: all.snoop.gz cq->cr: cr->cq: total packets: 3 total packets: 2 ack pkts sent: 3 ack pkts sent: 2 pure acks sent: 1 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 34 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 34 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 0/1 SYN/FIN pkts sent: 0/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 34 bytes max segm size: 0 bytes min segm size: 34 bytes min segm size: 0 bytes avg segm size: 33 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4096 bytes max owin: 34 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 12 bytes avg owin: 1 bytes wavg owin: 32 bytes wavg owin: 0 bytes initial window: 34 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 34 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 183.3 ms idletime max: 183.1 ms throughput: 184 Bps throughput: 0 Bps RTT samples: 2 RTT samples: 1 RTT min: 0.6 ms RTT min: 181.9 ms RTT max: 1.4 ms RTT max: 181.9 ms RTT avg: 1.0 ms RTT avg: 181.9 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 1.4 ms RTT full_sz min: 181.9 ms RTT full_sz max: 1.4 ms RTT full_sz max: 181.9 ms RTT full_sz avg: 1.4 ms RTT full_sz avg: 181.9 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 49: host cs: 132.235.1.2:25 host ct: 130.236.253.6:4234 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:54.558445 1994 last packet: Tue Mar 8 21:42:55.945957 1994 elapsed time: 0:00:01.387512 total packets: 13 filename: all.snoop.gz cs->ct: ct->cs: total packets: 8 total packets: 5 ack pkts sent: 8 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 452 unique bytes sent: 171 actual data pkts: 6 actual data pkts: 5 actual data bytes: 452 actual data bytes: 171 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 6 pushed data pkts: 5 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 125 bytes max segm size: 56 bytes min segm size: 50 bytes min segm size: 6 bytes avg segm size: 75 bytes avg segm size: 34 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4096 bytes max owin: 126 bytes max owin: 57 bytes min non-zero owin: 1 bytes min non-zero owin: 7 bytes avg owin: 57 bytes avg owin: 35 bytes wavg owin: 70 bytes wavg owin: 34 bytes initial window: 118 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 452 bytes truncated data: 171 bytes truncated packets: 6 pkts truncated packets: 5 pkts data xmit time: 1.388 secs data xmit time: 1.149 secs idletime max: 352.2 ms idletime max: 354.9 ms throughput: 326 Bps throughput: 123 Bps RTT samples: 5 RTT samples: 5 RTT min: 164.5 ms RTT min: 2.6 ms RTT max: 196.6 ms RTT max: 187.7 ms RTT avg: 180.4 ms RTT avg: 70.6 ms RTT stdev: 14.0 ms RTT stdev: 70.8 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 183.9 ms RTT full_sz min: 79.5 ms RTT full_sz max: 183.9 ms RTT full_sz max: 79.5 ms RTT full_sz avg: 183.9 ms RTT full_sz avg: 79.5 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 50: host cu: 132.235.1.64:1816 host cv: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:54.824975 1994 last packet: Tue Mar 8 21:42:56.122100 1994 elapsed time: 0:00:01.297125 total packets: 2 filename: all.snoop.gz cu->cv: cv->cu: total packets: 1 total packets: 1 ack pkts sent: 1 ack pkts sent: 1 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 82 actual data pkts: 0 actual data pkts: 1 actual data bytes: 0 actual data bytes: 82 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 82 bytes min segm size: 0 bytes min segm size: 82 bytes avg segm size: 0 bytes avg segm size: 81 bytes max win adv: 151 bytes max win adv: 4096 bytes min win adv: 151 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 151 bytes avg win adv: 4096 bytes max owin: 0 bytes max owin: 83 bytes min non-zero owin: 0 bytes min non-zero owin: 83 bytes avg owin: 0 bytes avg owin: 83 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 82 bytes truncated packets: 0 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 1297.1 ms idletime max: 0.0 ms throughput: 0 Bps throughput: 63 Bps RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 51: host cw: 132.235.1.64:2598 host cx: 132.235.1.2:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:55.376363 1994 last packet: Tue Mar 8 21:42:55.376363 1994 elapsed time: 0:00:00.000000 total packets: 1 filename: all.snoop.gz cw->cx: cx->cw: total packets: 1 total packets: 0 ack pkts sent: 1 ack pkts sent: 0 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 127 bytes max win adv: 0 bytes min win adv: 127 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 127 bytes avg win adv: 0 bytes max owin: 0 bytes max owin: 0 bytes min non-zero owin: 0 bytes min non-zero owin: 0 bytes avg owin: 0 bytes avg owin: 0 bytes wavg owin: NA wavg owin: NA initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 745.7 ms idletime max: NA ms throughput: NA throughput: NA RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 52: host cy: 132.235.8.7:2033 host cz: 132.235.1.100:5000 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:55.998438 1994 last packet: Tue Mar 8 21:42:56.057449 1994 elapsed time: 0:00:00.059011 total packets: 2 filename: all.snoop.gz cy->cz: cz->cy: total packets: 1 total packets: 1 ack pkts sent: 1 ack pkts sent: 1 pure acks sent: 0 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 80 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 80 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 80 bytes max segm size: 0 bytes min segm size: 80 bytes min segm size: 0 bytes avg segm size: 79 bytes avg segm size: 0 bytes max win adv: 4096 bytes max win adv: 4016 bytes min win adv: 4096 bytes min win adv: 4016 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4016 bytes max owin: 80 bytes max owin: 1 bytes min non-zero owin: 80 bytes min non-zero owin: 1 bytes avg owin: 80 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 80 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 80 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 123.7 ms idletime max: 64.7 ms throughput: 1356 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 0 RTT min: 59.0 ms RTT min: 0.0 ms RTT max: 59.0 ms RTT max: 0.0 ms RTT avg: 59.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 59.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 59.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 59.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 53: host da: 130.215.24.1:20 host db: 132.235.17.163:3129 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:56.016189 1994 last packet: Tue Mar 8 21:42:56.016189 1994 elapsed time: 0:00:00.000000 total packets: 1 filename: all.snoop.gz da->db: db->da: total packets: 1 total packets: 0 ack pkts sent: 1 ack pkts sent: 0 pure acks sent: 0 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 1 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 0 bytes min segm size: 1 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 16384 bytes max win adv: 0 bytes min win adv: 16384 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 16384 bytes avg win adv: 0 bytes max owin: 1 bytes max owin: 0 bytes min non-zero owin: 1 bytes min non-zero owin: 0 bytes avg owin: 1 bytes avg owin: 0 bytes wavg owin: NA wavg owin: NA initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 1 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 105.9 ms idletime max: NA ms throughput: NA throughput: NA RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 54: host dc: 132.235.1.64:17922 host dd: 132.235.24.50:23 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:56.024915 1994 last packet: Tue Mar 8 21:42:56.024915 1994 elapsed time: 0:00:00.000000 total packets: 1 filename: all.snoop.gz dc->dd: dd->dc: total packets: 1 total packets: 0 ack pkts sent: 1 ack pkts sent: 0 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 164 bytes max win adv: 0 bytes min win adv: 164 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 164 bytes avg win adv: 0 bytes max owin: 0 bytes max owin: 0 bytes min non-zero owin: 0 bytes min non-zero owin: 0 bytes avg owin: 0 bytes avg owin: 0 bytes wavg owin: NA wavg owin: NA initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 97.2 ms idletime max: NA ms throughput: NA throughput: NA RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 55: host de: 192.216.54.2:8888 host df: 132.235.1.2:2892 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Mar 8 21:42:56.107132 1994 last packet: Tue Mar 8 21:42:56.107132 1994 elapsed time: 0:00:00.000000 total packets: 1 filename: all.snoop.gz de->df: df->de: total packets: 1 total packets: 0 ack pkts sent: 1 ack pkts sent: 0 pure acks sent: 0 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 267 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 267 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 267 bytes max segm size: 0 bytes min segm size: 267 bytes min segm size: 0 bytes avg segm size: 266 bytes avg segm size: 0 bytes max win adv: 9112 bytes max win adv: 0 bytes min win adv: 9112 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 9112 bytes avg win adv: 0 bytes max owin: 267 bytes max owin: 0 bytes min non-zero owin: 267 bytes min non-zero owin: 0 bytes avg owin: 267 bytes avg owin: 0 bytes wavg owin: NA wavg owin: NA initial window: 267 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 267 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 15.0 ms idletime max: NA ms throughput: NA throughput: NA RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/all.snoop.gz.packets0100644001217500001440000016417507520175206022170 0ustar mramadasusers1 arg remaining, starting with 'all.snoop.gz' Packet 1 Packet Length: 62 (saved length 54) Collected: Tue Mar 8 21:42:51.975039 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 192.20.239.131 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 48 ID: 1319 CKSUM: 0x441c (CORRECT) OFFSET: 0x0000 TCP SPRT: 119 DPRT: 2380 FLG: -AP--- (0x18) SEQ: 0x2e71ab91 ACK: 0x090918d4 WIN: 4096 HLEN: 20 CKSUM: 0x9fd3 (too short to verify) DLEN: 8 (none of it in dump file) data: 8 bytes Packet 2 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:51.994384 1994 ETH Srce: 08:00:02:03:a8:6f ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.200.5 IP Dest: 132.235.2.30 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 58951 CKSUM: 0xe27e (CORRECT) OFFSET: 0x0000 TCP SPRT: 17157 DPRT: 23 FLG: -A---- (0x10) SEQ: 0xba61450d ACK: 0x2115129e WIN: 2048 HLEN: 20 CKSUM: 0x5d9c (CORRECT) DLEN: 0 Packet 3 Packet Length: 1078 (saved length 54) Collected: Tue Mar 8 21:42:51.996231 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:02:03:a8:6f Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.2.30 IP Dest: 132.235.200.5 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 1064 ID: 1320 CKSUM: 0xa1ae (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 17157 FLG: -A---- (0x10) SEQ: 0x2115129e ACK: 0xba61450d WIN: 4096 HLEN: 20 CKSUM: 0xe86d (too short to verify) DLEN: 1024 (none of it in dump file) data: 1024 bytes Packet 4 Packet Length: 1078 (saved length 54) Collected: Tue Mar 8 21:42:51.997089 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:02:03:a8:6f Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.2.30 IP Dest: 132.235.200.5 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 1064 ID: 1321 CKSUM: 0xa1ad (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 17157 FLG: -A---- (0x10) SEQ: 0x2115169e ACK: 0xba61450d WIN: 4096 HLEN: 20 CKSUM: 0xb685 (too short to verify) DLEN: 1024 (none of it in dump file) data: 1024 bytes Packet 5 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.001687 1994 ETH Srce: 08:00:02:03:a8:6f ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.200.5 IP Dest: 132.235.2.30 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 58952 CKSUM: 0xe27d (CORRECT) OFFSET: 0x0000 TCP SPRT: 17157 DPRT: 23 FLG: -A---- (0x10) SEQ: 0xba61450d ACK: 0x2115169e WIN: 1024 HLEN: 20 CKSUM: 0x5d9c (CORRECT) DLEN: 0 Packet 6 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.004776 1994 ETH Srce: 08:00:02:03:a8:6f ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.200.5 IP Dest: 132.235.2.30 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 58953 CKSUM: 0xe27c (CORRECT) OFFSET: 0x0000 TCP SPRT: 17157 DPRT: 23 FLG: -A---- (0x10) SEQ: 0xba61450d ACK: 0x21151a9e WIN: 0 HLEN: 20 CKSUM: 0x5d9c (CORRECT) DLEN: 0 Packet 7 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.008614 1994 ETH Srce: 08:00:2b:15:c3:b7 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.130 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 50919 CKSUM: 0xa98d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1022 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x021343d8 ACK: 0x2a486969 WIN: 16384 HLEN: 20 CKSUM: 0x1cd5 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 8 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.017653 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:2b:15:c3:b7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.130 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 1322 CKSUM: 0x6b4b (CORRECT) OFFSET: 0x0000 TCP SPRT: 513 DPRT: 1022 FLG: -AP--- (0x18) SEQ: 0x2a486969 ACK: 0x021343d9 WIN: 4096 HLEN: 20 CKSUM: 0x4cd4 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 9 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.021157 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 149.84.33.3 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 1323 CKSUM: 0x3d61 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1835 DPRT: 1729 FLG: -A---- (0x10) SEQ: 0x09b09310 ACK: 0x068cc5cd WIN: 4073 HLEN: 20 CKSUM: 0xeca0 (CORRECT) DLEN: 0 Packet 10 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.021353 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 1324 CKSUM: 0x6d8c (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 32023 FLG: -A---- (0x10) SEQ: 0x083c5684 ACK: 0x3d7294a3 WIN: 4094 HLEN: 20 CKSUM: 0xe5b9 (CORRECT) DLEN: 0 Packet 11 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.025175 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 129.110.31.10 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 44 LEN: 43 ID: 60446 CKSUM: 0x7c49 (CORRECT) OFFSET: 0x0000 TCP SPRT: 2770 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x00abebdb ACK: 0x24bec127 WIN: 4096 HLEN: 20 CKSUM: 0x3cbf (too short to verify) DLEN: 3 (none of it in dump file) data: 3 bytes Packet 12 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.046685 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 129.110.31.10 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 44 ID: 1325 CKSUM: 0x533a (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 2770 FLG: -AP--- (0x18) SEQ: 0x24bec127 ACK: 0x00abebde WIN: 4096 HLEN: 20 CKSUM: 0x38a5 (too short to verify) DLEN: 4 (none of it in dump file) data: 4 bytes Packet 13 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.063628 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 1326 CKSUM: 0x6d89 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 32023 FLG: -AP--- (0x18) SEQ: 0x083c5684 ACK: 0x3d7294a3 WIN: 4094 HLEN: 20 CKSUM: 0x75b0 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 14 Packet Length: 566 (saved length 54) Collected: Tue Mar 8 21:42:52.076053 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.20.239.131 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 55 LEN: 552 ID: 52842 CKSUM: 0x7de0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 2380 DPRT: 119 FLG: -A---- (0x10) SEQ: 0x090918d4 ACK: 0x2e71ab99 WIN: 4096 HLEN: 20 CKSUM: 0x90a7 (too short to verify) DLEN: 512 (none of it in dump file) data: 512 bytes Packet 15 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.077124 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 30005 CKSUM: 0x1b83 (CORRECT) OFFSET: 0x0000 TCP SPRT: 32023 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x3d7294a3 ACK: 0x083c5685 WIN: 89 HLEN: 20 CKSUM: 0xf55d (CORRECT) DLEN: 0 Packet 16 Packet Length: 566 (saved length 54) Collected: Tue Mar 8 21:42:52.080254 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.20.239.131 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 55 LEN: 552 ID: 52843 CKSUM: 0x7ddf (CORRECT) OFFSET: 0x0000 TCP SPRT: 2380 DPRT: 119 FLG: -A---- (0x10) SEQ: 0x09091ad4 ACK: 0x2e71ab99 WIN: 4096 HLEN: 20 CKSUM: 0xcf61 (too short to verify) DLEN: 512 (none of it in dump file) data: 512 bytes Packet 17 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.082337 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 192.20.239.131 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 1327 CKSUM: 0x441c (CORRECT) OFFSET: 0x0000 TCP SPRT: 119 DPRT: 2380 FLG: -A---- (0x10) SEQ: 0x2e71ab99 ACK: 0x09091cd4 WIN: 4096 HLEN: 20 CKSUM: 0x60a4 (CORRECT) DLEN: 0 Packet 18 Packet Length: 566 (saved length 54) Collected: Tue Mar 8 21:42:52.083192 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.20.239.131 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 55 LEN: 552 ID: 52844 CKSUM: 0x7dde (CORRECT) OFFSET: 0x0000 TCP SPRT: 2380 DPRT: 119 FLG: -A---- (0x10) SEQ: 0x09091cd4 ACK: 0x2e71ab99 WIN: 4096 HLEN: 20 CKSUM: 0x68bc (too short to verify) DLEN: 512 (none of it in dump file) data: 512 bytes Packet 19 Packet Length: 342 (saved length 54) Collected: Tue Mar 8 21:42:52.084088 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.20.239.131 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 55 LEN: 328 ID: 52845 CKSUM: 0x7ebd (CORRECT) OFFSET: 0x0000 TCP SPRT: 2380 DPRT: 119 FLG: -AP--- (0x18) SEQ: 0x09091ed4 ACK: 0x2e71ab99 WIN: 4096 HLEN: 20 CKSUM: 0xd943 (too short to verify) DLEN: 288 (none of it in dump file) data: 288 bytes Packet 20 Packet Length: 67 (saved length 54) Collected: Tue Mar 8 21:42:52.097531 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 192.20.239.131 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 53 ID: 1328 CKSUM: 0x440e (CORRECT) OFFSET: 0x0000 TCP SPRT: 119 DPRT: 2380 FLG: -AP--- (0x18) SEQ: 0x2e71ab99 ACK: 0x09091ff4 WIN: 4096 HLEN: 20 CKSUM: 0x9cc4 (too short to verify) DLEN: 13 (none of it in dump file) data: 13 bytes Packet 21 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.098512 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:1b:4b:f4 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.4.63 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 41 ID: 30006 CKSUM: 0x1844 (CORRECT) OFFSET: 0x0000 TCP SPRT: 26638 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x3d9bf35c ACK: 0x44444a8d WIN: 130 HLEN: 20 CKSUM: 0x5805 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 22 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.100362 1994 ETH Srce: 08:00:2b:15:c3:b7 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.130 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 50920 CKSUM: 0xa98c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1022 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x021343d9 ACK: 0x2a48696a WIN: 16384 HLEN: 20 CKSUM: 0x0fd3 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 23 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.100613 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:09:99:75 Type: 0x800 (IP) IP VERS: 4 IP Srce: 147.205.85.10 IP Dest: 132.235.1.100 Type: 0x6 (TCP) HLEN: 20 TTL: 48 LEN: 40 ID: 14479 CKSUM: 0xe31a (CORRECT) OFFSET: 0x0000 TCP SPRT: 3043 DPRT: 5000 FLG: -A---- (0x10) SEQ: 0x1af56c06 ACK: 0x1c2e99dc WIN: 6144 HLEN: 20 CKSUM: 0xcc3c (CORRECT) DLEN: 0 Packet 24 Packet Length: 61 (saved length 54) Collected: Tue Mar 8 21:42:52.102961 1994 ETH Srce: 08:00:20:1b:4b:f4 ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.4.63 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 47 ID: 27736 CKSUM: 0x001b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 23 DPRT: 26638 FLG: -AP--- (0x18) SEQ: 0x44444a8d ACK: 0x3d9bf35d WIN: 8774 HLEN: 20 CKSUM: 0x896d (too short to verify) DLEN: 7 (none of it in dump file) data: 7 bytes Packet 25 Packet Length: 100 (saved length 54) Collected: Tue Mar 8 21:42:52.109527 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.20.239.131 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 55 LEN: 86 ID: 52847 CKSUM: 0x7fad (CORRECT) OFFSET: 0x0000 TCP SPRT: 2380 DPRT: 119 FLG: -AP--- (0x18) SEQ: 0x09091ff4 ACK: 0x2e71aba6 WIN: 4096 HLEN: 20 CKSUM: 0xc49d (too short to verify) DLEN: 46 (none of it in dump file) data: 46 bytes Packet 26 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.115071 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:1b:4b:f4 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.4.63 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 30007 CKSUM: 0x1844 (CORRECT) OFFSET: 0x0000 TCP SPRT: 26638 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x3d9bf35d ACK: 0x44444a94 WIN: 123 HLEN: 20 CKSUM: 0x780d (CORRECT) DLEN: 0 Packet 27 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.119240 1994 ETH Srce: 08:00:02:03:a8:6f ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.200.5 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 58956 CKSUM: 0xe395 (CORRECT) OFFSET: 0x0000 TCP SPRT: 24077 DPRT: 23 FLG: -A---- (0x10) SEQ: 0xba5967ba ACK: 0x1c620145 WIN: 1418 HLEN: 20 CKSUM: 0x398d (CORRECT) DLEN: 0 Packet 28 Packet Length: 1078 (saved length 54) Collected: Tue Mar 8 21:42:52.121144 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:02:03:a8:6f Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.200.5 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 1064 ID: 1329 CKSUM: 0xa2c1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 24077 FLG: -A---- (0x10) SEQ: 0x1c620145 ACK: 0xba5967ba WIN: 4096 HLEN: 20 CKSUM: 0x09bf (too short to verify) DLEN: 1024 (none of it in dump file) data: 1024 bytes Packet 29 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.122955 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:2b:15:c3:b7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.130 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 1330 CKSUM: 0x6b43 (CORRECT) OFFSET: 0x0000 TCP SPRT: 513 DPRT: 1022 FLG: -AP--- (0x18) SEQ: 0x2a48696a ACK: 0x021343da WIN: 4096 HLEN: 20 CKSUM: 0x3fd2 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 30 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.127640 1994 ETH Srce: 08:00:02:03:a8:6f ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.200.5 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 58957 CKSUM: 0xe394 (CORRECT) OFFSET: 0x0000 TCP SPRT: 24077 DPRT: 23 FLG: -A---- (0x10) SEQ: 0xba5967ba ACK: 0x1c620545 WIN: 394 HLEN: 20 CKSUM: 0x398d (CORRECT) DLEN: 0 Packet 31 Packet Length: 75 (saved length 54) Collected: Tue Mar 8 21:42:52.152715 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 61 ID: 1331 CKSUM: 0x6d70 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 32023 FLG: -AP--- (0x18) SEQ: 0x083c5685 ACK: 0x3d7294a3 WIN: 4096 HLEN: 20 CKSUM: 0xe012 (too short to verify) DLEN: 21 (none of it in dump file) data: 21 bytes Packet 32 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.157530 1994 ETH Srce: 08:00:20:11:cf:1e ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.17.1 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 43 ID: 5848 CKSUM: 0x4c1c (CORRECT) OFFSET: 0x0000 TCP SPRT: 3711 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x4345ce33 ACK: 0x5d8fc762 WIN: 4096 HLEN: 20 CKSUM: 0xe29f (too short to verify) DLEN: 3 (none of it in dump file) data: 3 bytes Packet 33 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.164450 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 30008 CKSUM: 0x1b80 (CORRECT) OFFSET: 0x0000 TCP SPRT: 32023 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x3d7294a3 ACK: 0x083c569a WIN: 164 HLEN: 20 CKSUM: 0xf4fd (CORRECT) DLEN: 0 Packet 34 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.167886 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:20:11:cf:1e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.17.1 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 43 ID: 1332 CKSUM: 0x5dc0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 3711 FLG: -AP--- (0x18) SEQ: 0x5d8fc762 ACK: 0x4345ce36 WIN: 4096 HLEN: 20 CKSUM: 0xe290 (too short to verify) DLEN: 3 (none of it in dump file) data: 3 bytes Packet 35 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.184067 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 129.110.31.10 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 44 LEN: 40 ID: 60460 CKSUM: 0x7c3e (CORRECT) OFFSET: 0x0000 TCP SPRT: 2770 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x00abebde ACK: 0x24bec12b WIN: 4096 HLEN: 20 CKSUM: 0x9c12 (CORRECT) DLEN: 0 Packet 36 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.185039 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 129.110.31.10 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 1333 CKSUM: 0x5335 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 2770 FLG: -AP--- (0x18) SEQ: 0x24bec12b ACK: 0x00abebde WIN: 4096 HLEN: 20 CKSUM: 0x5809 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 37 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.187863 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:09:99:75 Type: 0x800 (IP) IP VERS: 4 IP Srce: 150.252.1.1 IP Dest: 132.235.1.100 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 43 ID: 57961 CKSUM: 0x8f17 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1211 DPRT: 5000 FLG: -AP--- (0x18) SEQ: 0x38fde379 ACK: 0x1c0d82cf WIN: 6144 HLEN: 20 CKSUM: 0x36d9 (too short to verify) DLEN: 3 (none of it in dump file) data: 3 bytes Packet 38 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.200649 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.24.25 IP Dest: 129.71.2.1 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 41 ID: 46086 CKSUM: 0xa87b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 23 DPRT: 1890 FLG: -AP--- (0x18) SEQ: 0x53f0ec27 ACK: 0x76540554 WIN: 9112 HLEN: 20 CKSUM: 0x3fad (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 39 Packet Length: 55 (saved length 54) Collected: Tue Mar 8 21:42:52.200980 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.24.25 IP Dest: 129.71.2.1 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 41 ID: 46086 CKSUM: 0xa87b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 23 DPRT: 1890 FLG: -AP--- (0x18) SEQ: 0x53f0ec27 ACK: 0x76540554 WIN: 9112 HLEN: 20 CKSUM: 0x3fad (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 40 Packet Length: 70 (saved length 54) Collected: Tue Mar 8 21:42:52.205305 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:02:03:a8:6f Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.2.30 IP Dest: 132.235.200.5 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 56 ID: 1334 CKSUM: 0xa590 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 3592 FLG: -AP--- (0x18) SEQ: 0x5474ae28 ACK: 0xb9ddaccf WIN: 4096 HLEN: 20 CKSUM: 0x524c (too short to verify) DLEN: 16 (none of it in dump file) data: 16 bytes Packet 41 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.220433 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:09:99:75 Type: 0x800 (IP) IP VERS: 4 IP Srce: 147.205.85.10 IP Dest: 132.235.1.100 Type: 0x6 (TCP) HLEN: 20 TTL: 48 LEN: 45 ID: 14480 CKSUM: 0xe314 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3054 DPRT: 5000 FLG: -AP--- (0x18) SEQ: 0x1e049d97 ACK: 0x1f31cfe4 WIN: 6144 HLEN: 20 CKSUM: 0xadfc (too short to verify) DLEN: 5 (none of it in dump file) data: 5 bytes Packet 42 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.221160 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 192.20.239.131 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 1335 CKSUM: 0x4414 (CORRECT) OFFSET: 0x0000 TCP SPRT: 119 DPRT: 2380 FLG: -A---- (0x10) SEQ: 0x2e71aba6 ACK: 0x09092022 WIN: 4096 HLEN: 20 CKSUM: 0x5d49 (CORRECT) DLEN: 0 Packet 43 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.258052 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:2b:1d:6f:30 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.2.1 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 41 ID: 30009 CKSUM: 0x1a7f (CORRECT) OFFSET: 0x0000 TCP SPRT: 11049 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x3db4abf4 ACK: 0x737e6856 WIN: 164 HLEN: 20 CKSUM: 0x4c52 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 44 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.258249 1994 ETH Srce: 08:00:20:09:99:75 ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.100 IP Dest: 147.205.85.10 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 21946 CKSUM: 0xb9ef (CORRECT) OFFSET: 0x0000 TCP SPRT: 5000 DPRT: 3054 FLG: -A---- (0x10) SEQ: 0x1f31cfe4 ACK: 0x1e049d9c WIN: 4091 HLEN: 20 CKSUM: 0x6686 (CORRECT) DLEN: 0 Packet 45 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.258436 1994 ETH Srce: 08:00:20:09:99:75 ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.100 IP Dest: 150.252.1.1 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 21947 CKSUM: 0x0ac9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5000 DPRT: 1211 FLG: -A---- (0x10) SEQ: 0x1c0d82cf ACK: 0x38fde37c WIN: 4093 HLEN: 20 CKSUM: 0xadf1 (CORRECT) DLEN: 0 Packet 46 Packet Length: 491 (saved length 54) Collected: Tue Mar 8 21:42:52.259342 1994 ETH Srce: 08:00:20:09:99:75 ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.100 IP Dest: 134.241.10.5 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 477 ID: 21948 CKSUM: 0x101a (CORRECT) OFFSET: 0x0000 TCP SPRT: 5000 DPRT: 1783 FLG: -AP--- (0x18) SEQ: 0x27b576dc ACK: 0x0c65d838 WIN: 4096 HLEN: 20 CKSUM: 0x2f5c (too short to verify) DLEN: 437 (none of it in dump file) data: 437 bytes Packet 47 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.261280 1994 ETH Srce: 08:00:2b:1d:6f:30 ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.2.1 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 55470 CKSUM: 0x9909 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 11049 FLG: -AP--- (0x18) SEQ: 0x737e6856 ACK: 0x3db4abf5 WIN: 16384 HLEN: 20 CKSUM: 0x0cf5 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 48 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.267403 1994 ETH Srce: 08:00:2b:15:c3:b7 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.130 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 50921 CKSUM: 0xa98b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1022 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x021343da ACK: 0x2a48696b WIN: 16384 HLEN: 20 CKSUM: 0x53d1 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 49 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.276253 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:2b:1d:6f:30 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.2.1 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 30010 CKSUM: 0x1a7f (CORRECT) OFFSET: 0x0000 TCP SPRT: 11049 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x3db4abf5 ACK: 0x737e6857 WIN: 163 HLEN: 20 CKSUM: 0xb15a (CORRECT) DLEN: 0 Packet 50 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.282865 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 41 ID: 30011 CKSUM: 0x1b7c (CORRECT) OFFSET: 0x0000 TCP SPRT: 32023 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x3d7294a3 ACK: 0x083c569a WIN: 164 HLEN: 20 CKSUM: 0x87f4 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 51 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.290607 1994 ETH Srce: 02:60:8c:8d:4d:de ETH Dest: aa:00:04:00:54:b4 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.17.161 IP Dest: 132.235.1.6 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 11123 CKSUM: 0x36df (CORRECT) OFFSET: 0x0000 TCP SPRT: 28930 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x00158499 ACK: 0x22832b16 WIN: 1024 HLEN: 20 CKSUM: 0x2bed (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 52 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.292137 1994 ETH Srce: aa:00:04:00:54:b4 ETH Dest: 02:60:8c:8d:4d:de Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.6 IP Dest: 132.235.17.161 Type: 0x6 (TCP) HLEN: 20 TTL: 32 LEN: 40 ID: 2056 CKSUM: 0x764b (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 28930 FLG: -A---- (0x10) SEQ: 0x22832b16 ACK: 0x0015849a WIN: 7798 HLEN: 20 CKSUM: 0x317f (CORRECT) DLEN: 0 Packet 53 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.296804 1994 ETH Srce: aa:00:04:00:54:b4 ETH Dest: 02:60:8c:8d:4d:de Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.6 IP Dest: 132.235.17.161 Type: 0x6 (TCP) HLEN: 20 TTL: 32 LEN: 41 ID: 2057 CKSUM: 0x7649 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 28930 FLG: -AP--- (0x18) SEQ: 0x22832b16 ACK: 0x0015849a WIN: 7798 HLEN: 20 CKSUM: 0x1176 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 54 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.300842 1994 ETH Srce: 02:60:8c:8d:4d:de ETH Dest: aa:00:04:00:54:b4 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.17.161 IP Dest: 132.235.1.6 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 11379 CKSUM: 0x35e0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 28930 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x0015849a ACK: 0x22832b17 WIN: 1024 HLEN: 20 CKSUM: 0x4bec (CORRECT) DLEN: 0 Packet 55 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.319045 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:1b:4b:f4 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.4.63 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 41 ID: 30012 CKSUM: 0x183e (CORRECT) OFFSET: 0x0000 TCP SPRT: 26638 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x3d9bf35d ACK: 0x44444a94 WIN: 123 HLEN: 20 CKSUM: 0x0a04 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 56 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.322349 1994 ETH Srce: 08:00:20:11:cf:1e ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.17.1 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 5850 CKSUM: 0x4c1d (CORRECT) OFFSET: 0x0000 TCP SPRT: 3711 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x4345ce36 ACK: 0x5d8fc765 WIN: 4096 HLEN: 20 CKSUM: 0x3ef4 (CORRECT) DLEN: 0 Packet 57 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.323367 1994 ETH Srce: 08:00:20:1b:4b:f4 ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.4.63 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 41 ID: 27737 CKSUM: 0x0020 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 23 DPRT: 26638 FLG: -AP--- (0x18) SEQ: 0x44444a94 ACK: 0x3d9bf35e WIN: 8774 HLEN: 20 CKSUM: 0xe837 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 58 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.325764 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:2b:1d:6f:30 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.2.1 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 41 ID: 30013 CKSUM: 0x1a7b (CORRECT) OFFSET: 0x0000 TCP SPRT: 11049 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x3db4abf5 ACK: 0x737e6857 WIN: 163 HLEN: 20 CKSUM: 0x3a51 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 59 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.326830 1994 ETH Srce: 08:00:20:11:cf:1e ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.17.1 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 43 ID: 5851 CKSUM: 0x4c19 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3711 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x4345ce36 ACK: 0x5d8fc765 WIN: 4096 HLEN: 20 CKSUM: 0xe299 (too short to verify) DLEN: 3 (none of it in dump file) data: 3 bytes Packet 60 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.328457 1994 ETH Srce: 08:00:2b:1d:6f:30 ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.2.1 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 55471 CKSUM: 0x9908 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 11049 FLG: -AP--- (0x18) SEQ: 0x737e6857 ACK: 0x3db4abf6 WIN: 16384 HLEN: 20 CKSUM: 0xfaf2 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 61 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.330993 1994 ETH Srce: 08:00:02:03:a8:6f ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.200.5 IP Dest: 132.235.2.30 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 43 ID: 58960 CKSUM: 0xe272 (CORRECT) OFFSET: 0x0000 TCP SPRT: 2065 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0xba3a1300 ACK: 0x09832f11 WIN: 2048 HLEN: 20 CKSUM: 0x697d (too short to verify) DLEN: 3 (none of it in dump file) data: 3 bytes Packet 62 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.340700 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:1b:4b:f4 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.4.63 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 30014 CKSUM: 0x183d (CORRECT) OFFSET: 0x0000 TCP SPRT: 26638 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x3d9bf35e ACK: 0x44444a95 WIN: 122 HLEN: 20 CKSUM: 0x780c (CORRECT) DLEN: 0 Packet 63 Packet Length: 72 (saved length 54) Collected: Tue Mar 8 21:42:52.342278 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:02:03:a8:6f Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.2.30 IP Dest: 132.235.200.5 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 58 ID: 1338 CKSUM: 0xa58a (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 2065 FLG: -AP--- (0x18) SEQ: 0x09832f11 ACK: 0xba3a1303 WIN: 4096 HLEN: 20 CKSUM: 0x4374 (too short to verify) DLEN: 18 (none of it in dump file) data: 18 bytes Packet 64 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.350591 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:2b:1d:6f:30 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.2.1 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 30015 CKSUM: 0x1a7a (CORRECT) OFFSET: 0x0000 TCP SPRT: 11049 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x3db4abf6 ACK: 0x737e6858 WIN: 162 HLEN: 20 CKSUM: 0xb159 (CORRECT) DLEN: 0 Packet 65 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.358858 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 41 ID: 30016 CKSUM: 0x1b77 (CORRECT) OFFSET: 0x0000 TCP SPRT: 32301 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x3d910135 ACK: 0x1a2e948d WIN: 153 HLEN: 20 CKSUM: 0xbe53 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 66 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.373971 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:09:99:75 Type: 0x800 (IP) IP VERS: 4 IP Srce: 134.241.10.5 IP Dest: 132.235.1.100 Type: 0x6 (TCP) HLEN: 20 TTL: 15 LEN: 40 ID: 48962 CKSUM: 0xd548 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1783 DPRT: 5000 FLG: -A---- (0x10) SEQ: 0x0c65d838 ACK: 0x27b57891 WIN: 4096 HLEN: 20 CKSUM: 0xe92b (CORRECT) DLEN: 0 Packet 67 Packet Length: 62 (saved length 54) Collected: Tue Mar 8 21:42:52.374224 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 48 ID: 1339 CKSUM: 0x6d75 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 32301 FLG: -AP--- (0x18) SEQ: 0x1a2e948d ACK: 0x3d910136 WIN: 4096 HLEN: 20 CKSUM: 0x0094 (too short to verify) DLEN: 8 (none of it in dump file) data: 8 bytes Packet 68 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.381942 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 129.110.31.10 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 44 LEN: 40 ID: 60480 CKSUM: 0x7c2a (CORRECT) OFFSET: 0x0000 TCP SPRT: 2770 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x00abebde ACK: 0x24bec12c WIN: 4096 HLEN: 20 CKSUM: 0x9c11 (CORRECT) DLEN: 0 Packet 69 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.386906 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 30017 CKSUM: 0x1b77 (CORRECT) OFFSET: 0x0000 TCP SPRT: 32301 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x3d910136 ACK: 0x1a2e9495 WIN: 145 HLEN: 20 CKSUM: 0x375c (CORRECT) DLEN: 0 Packet 70 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.407247 1994 ETH Srce: 08:00:02:03:a8:6f ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.200.5 IP Dest: 132.235.2.30 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 58961 CKSUM: 0xe274 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3592 DPRT: 23 FLG: -A---- (0x10) SEQ: 0xb9ddaccf ACK: 0x5474ae38 WIN: 2048 HLEN: 20 CKSUM: 0x5c61 (CORRECT) DLEN: 0 Packet 71 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.409177 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:02:03:a8:6f Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.2.30 IP Dest: 132.235.200.5 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 43 ID: 1340 CKSUM: 0xa597 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 3592 FLG: -AP--- (0x18) SEQ: 0x5474ae38 ACK: 0xb9ddaccf WIN: 4096 HLEN: 20 CKSUM: 0x404c (too short to verify) DLEN: 3 (none of it in dump file) data: 3 bytes Packet 72 Packet Length: 109 (saved length 54) Collected: Tue Mar 8 21:42:52.414407 1994 ETH Srce: 08:00:20:09:99:75 ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.100 IP Dest: 144.32.128.6 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 95 ID: 21949 CKSUM: 0x9266 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5000 DPRT: 4427 FLG: -AP--- (0x18) SEQ: 0x2b1f2ce4 ACK: 0x68966b10 WIN: 4096 HLEN: 20 CKSUM: 0x464b (too short to verify) DLEN: 55 (none of it in dump file) data: 55 bytes Packet 73 Packet Length: 107 (saved length 54) Collected: Tue Mar 8 21:42:52.415197 1994 ETH Srce: 08:00:20:09:99:75 ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.100 IP Dest: 147.205.85.10 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 93 ID: 21950 CKSUM: 0xb9b6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5000 DPRT: 3054 FLG: -AP--- (0x18) SEQ: 0x1f31cfe4 ACK: 0x1e049d9c WIN: 4096 HLEN: 20 CKSUM: 0xf804 (too short to verify) DLEN: 53 (none of it in dump file) data: 53 bytes Packet 74 Packet Length: 378 (saved length 54) Collected: Tue Mar 8 21:42:52.416298 1994 ETH Srce: 08:00:20:09:99:75 ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.100 IP Dest: 150.252.1.1 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 364 ID: 21951 CKSUM: 0x0981 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5000 DPRT: 1211 FLG: -AP--- (0x18) SEQ: 0x1c0d82cf ACK: 0x38fde37c WIN: 4096 HLEN: 20 CKSUM: 0xc4ae (too short to verify) DLEN: 324 (none of it in dump file) data: 324 bytes Packet 75 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.416714 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.24.25 IP Dest: 129.71.2.1 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 42 ID: 46087 CKSUM: 0xa879 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 23 DPRT: 1890 FLG: -AP--- (0x18) SEQ: 0x53f0ec28 ACK: 0x76540554 WIN: 9112 HLEN: 20 CKSUM: 0x3b8b (too short to verify) DLEN: 2 (none of it in dump file) data: 2 bytes Packet 76 Packet Length: 56 (saved length 54) Collected: Tue Mar 8 21:42:52.417133 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.24.25 IP Dest: 129.71.2.1 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 42 ID: 46087 CKSUM: 0xa879 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 23 DPRT: 1890 FLG: -AP--- (0x18) SEQ: 0x53f0ec28 ACK: 0x76540554 WIN: 9112 HLEN: 20 CKSUM: 0x3b8b (too short to verify) DLEN: 2 (none of it in dump file) data: 2 bytes Packet 77 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.418165 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 41 ID: 30018 CKSUM: 0x1b75 (CORRECT) OFFSET: 0x0000 TCP SPRT: 32023 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x3d7294a4 ACK: 0x083c569a WIN: 164 HLEN: 20 CKSUM: 0x93f3 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 78 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.421010 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:2b:15:c3:b7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.130 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 1341 CKSUM: 0x6b39 (CORRECT) OFFSET: 0x0000 TCP SPRT: 513 DPRT: 1022 FLG: -A---- (0x10) SEQ: 0x2a48696b ACK: 0x021343db WIN: 4096 HLEN: 20 CKSUM: 0xb1d9 (CORRECT) DLEN: 0 Packet 79 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.421319 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 1342 CKSUM: 0x6d7a (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 32023 FLG: -A---- (0x10) SEQ: 0x083c569a ACK: 0x3d7294a5 WIN: 4095 HLEN: 20 CKSUM: 0xe5a0 (CORRECT) DLEN: 0 Packet 80 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.421598 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:20:11:cf:1e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.17.1 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 1343 CKSUM: 0x5db8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 3711 FLG: -A---- (0x10) SEQ: 0x5d8fc765 ACK: 0x4345ce39 WIN: 4096 HLEN: 20 CKSUM: 0x3ef1 (CORRECT) DLEN: 0 Packet 81 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.422424 1994 ETH Srce: 08:00:2b:15:c3:b7 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.130 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 50922 CKSUM: 0xa98a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1022 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x021343db ACK: 0x2a48696b WIN: 16384 HLEN: 20 CKSUM: 0x1ed0 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 82 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.497040 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:1b:4b:f4 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.4.63 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 41 ID: 30019 CKSUM: 0x1837 (CORRECT) OFFSET: 0x0000 TCP SPRT: 26638 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x3d9bf35e ACK: 0x44444a95 WIN: 122 HLEN: 20 CKSUM: 0x0903 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 83 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.501308 1994 ETH Srce: 08:00:20:1b:4b:f4 ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.4.63 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 41 ID: 27738 CKSUM: 0x001f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 23 DPRT: 26638 FLG: -AP--- (0x18) SEQ: 0x44444a95 ACK: 0x3d9bf35f WIN: 8774 HLEN: 20 CKSUM: 0xe735 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 84 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.505988 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:2b:15:c3:b7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.130 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 1344 CKSUM: 0x6b35 (CORRECT) OFFSET: 0x0000 TCP SPRT: 513 DPRT: 1022 FLG: -AP--- (0x18) SEQ: 0x2a48696b ACK: 0x021343dc WIN: 4096 HLEN: 20 CKSUM: 0x83cf (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 85 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.507967 1994 ETH Srce: 08:00:02:03:a8:6f ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.200.5 IP Dest: 132.235.2.30 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 58963 CKSUM: 0xe272 (CORRECT) OFFSET: 0x0000 TCP SPRT: 2065 DPRT: 23 FLG: -A---- (0x10) SEQ: 0xba3a1303 ACK: 0x09832f23 WIN: 2048 HLEN: 20 CKSUM: 0xc5ce (CORRECT) DLEN: 0 Packet 86 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.515214 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:1b:4b:f4 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.4.63 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 30020 CKSUM: 0x1837 (CORRECT) OFFSET: 0x0000 TCP SPRT: 26638 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x3d9bf35f ACK: 0x44444a96 WIN: 121 HLEN: 20 CKSUM: 0x780b (CORRECT) DLEN: 0 Packet 87 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.538325 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:2b:1d:6f:30 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.2.1 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 41 ID: 30021 CKSUM: 0x1a73 (CORRECT) OFFSET: 0x0000 TCP SPRT: 11049 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x3db4abf6 ACK: 0x737e6858 WIN: 162 HLEN: 20 CKSUM: 0x4250 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 88 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.541109 1994 ETH Srce: 08:00:2b:1d:6f:30 ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.2.1 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 55473 CKSUM: 0x9906 (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 11049 FLG: -AP--- (0x18) SEQ: 0x737e6858 ACK: 0x3db4abf7 WIN: 16384 HLEN: 20 CKSUM: 0x02f1 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 89 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.544960 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 41 ID: 30022 CKSUM: 0x1b71 (CORRECT) OFFSET: 0x0000 TCP SPRT: 32301 DPRT: 23 FLG: -AP--- (0x18) SEQ: 0x3d910136 ACK: 0x1a2e9495 WIN: 145 HLEN: 20 CKSUM: 0xc852 (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 90 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.551175 1994 ETH Srce: 08:00:2b:15:c3:b7 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.130 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 50923 CKSUM: 0xa989 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1022 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x021343dc ACK: 0x2a48696c WIN: 16384 HLEN: 20 CKSUM: 0x74ce (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 91 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.553682 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:2b:15:c3:b7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.130 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 41 ID: 1345 CKSUM: 0x6b34 (CORRECT) OFFSET: 0x0000 TCP SPRT: 513 DPRT: 1022 FLG: -AP--- (0x18) SEQ: 0x2a48696c ACK: 0x021343dd WIN: 4095 HLEN: 20 CKSUM: 0x4ece (too short to verify) DLEN: 1 (none of it in dump file) data: 1 bytes Packet 92 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.558200 1994 ETH Srce: 00:00:d0:00:80:05 ETH Dest: 08:00:2b:1d:6f:30 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.64 IP Dest: 132.235.2.1 Type: 0x6 (TCP) HLEN: 20 TTL: 30 LEN: 40 ID: 30023 CKSUM: 0x1a72 (CORRECT) OFFSET: 0x0000 TCP SPRT: 11049 DPRT: 23 FLG: -A---- (0x10) SEQ: 0x3db4abf7 ACK: 0x737e6859 WIN: 161 HLEN: 20 CKSUM: 0xb158 (CORRECT) DLEN: 0 Packet 93 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.585542 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:09:49:d4:f9 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.147 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 44 ID: 1348 CKSUM: 0x6d1d (CORRECT) OFFSET: 0x0000 TCP SPRT: 3141 DPRT: 9100 FLG: ----S- (0x02) SEQ: 0x301b6e00 ACK: 0x00000000 WIN: 4096 HLEN: 24 (only 20 bytes in dump file) CKSUM: 0xadce (too short to verify) DLEN: 0 OPTS: 4 bytes (none of it in dump file) Packet 94 Packet Length: 62 (saved length 54) Collected: Tue Mar 8 21:42:52.588438 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 48 ID: 1349 CKSUM: 0x6d6b (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 32301 FLG: -AP--- (0x18) SEQ: 0x1a2e9495 ACK: 0x3d910137 WIN: 4096 HLEN: 20 CKSUM: 0x0a8b (too short to verify) DLEN: 8 (none of it in dump file) data: 8 bytes Packet 95 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.589239 1994 ETH Srce: 08:00:09:49:d4:f9 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.147 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 44 ID: 1528 CKSUM: 0x6c69 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9100 DPRT: 3141 FLG: -A--S- (0x12) SEQ: 0x0003281d ACK: 0x301b6e01 WIN: 8760 HLEN: 24 (only 20 bytes in dump file) CKSUM: 0x7365 (too short to verify) DLEN: 0 OPTS: 4 bytes (none of it in dump file) Packet 96 Packet Length: 60 (saved length 54) Collected: Tue Mar 8 21:42:52.590064 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:09:49:d4:f9 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.147 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 1350 CKSUM: 0x6d1f (CORRECT) OFFSET: 0x0000 TCP SPRT: 3141 DPRT: 9100 FLG: -A---- (0x10) SEQ: 0x301b6e01 ACK: 0x0003281e WIN: 4096 HLEN: 20 CKSUM: 0x9d5a (CORRECT) DLEN: 0 Packet 97 Packet Length: 381 (saved length 54) Collected: Tue Mar 8 21:42:52.593311 1994 ETH Srce: aa:00:04:00:fd:b5 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.236.254.159 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 241 LEN: 367 ID: 16286 CKSUM: 0x4171 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 2000 DPRT: 1459 FLG: -AP--- (0x18) SEQ: 0x3c65a2fb ACK: 0x704c23a5 WIN: 9112 HLEN: 20 CKSUM: 0xf455 (too short to verify) DLEN: 327 (none of it in dump file) data: 327 bytes Packet 98 Packet Length: 96 (saved length 54) Collected: Tue Mar 8 21:42:52.595327 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:09:49:d4:f9 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.147 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 82 ID: 1351 CKSUM: 0x6cf4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3141 DPRT: 9100 FLG: -AP--- (0x18) SEQ: 0x301b6e01 ACK: 0x0003281e WIN: 4096 HLEN: 20 CKSUM: 0x121b (too short to verify) DLEN: 42 (none of it in dump file) data: 42 bytes Packet 99 Packet Length: 136 (saved length 54) Collected: Tue Mar 8 21:42:52.603979 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 122 ID: 1352 CKSUM: 0x6d1e (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 22058 FLG: -A---- (0x10) SEQ: 0x6f484aad ACK: 0x3d457089 WIN: 4096 HLEN: 20 CKSUM: 0x6e7e (too short to verify) DLEN: 82 (none of it in dump file) data: 82 bytes Packet 100 Packet Length: 136 (saved length 54) Collected: Tue Mar 8 21:42:52.604321 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 00:00:d0:00:80:05 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.64 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 122 ID: 1353 CKSUM: 0x6d1d (CORRECT) OFFSET: 0x0000 TCP SPRT: 23 DPRT: 22058 FLG: -A---- (0x10) SEQ: 0x6f484aff ACK: 0x3d457089 WIN: 4096 HLEN: 20 CKSUM: 0x3330 (too short to verify) DLEN: 82 (none of it in dump file) data: 82 bytes 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:00.629282 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: *** 4 packets were too short to process at some point (use -w option to show details) 1: 132.235.1.2:119 - 192.20.239.131:2380 (a2b) 4> 5< 2: 132.235.200.5:17157 - 132.235.2.30:23 (c2d) 3> 2< 3: 132.235.3.130:1022 - 132.235.1.2:513 (e2f) 5> 5< 4: 132.235.1.2:1835 - 149.84.33.3:1729 (g2h) 1> 0< (unidirectional) 5: 132.235.1.2:23 - 132.235.1.64:32023 (i2j) 4> 4< 6: 129.110.31.10:2770 - 132.235.1.2:23 (k2l) 3> 2< 7: 132.235.1.64:26638 - 132.235.4.63:23 (m2n) 6> 3< 8: 147.205.85.10:3043 - 132.235.1.100:5000 (o2p) 1> 0< (unidirectional) 9: 132.235.200.5:24077 - 132.235.1.2:23 (q2r) 2> 1< 10: 132.235.17.1:3711 - 132.235.1.2:23 (s2t) 3> 2< 11: 150.252.1.1:1211 - 132.235.1.100:5000 (u2v) 1> 2< 12: 132.235.24.25:23 - 129.71.2.1:1890 (w2x) 4> 0< (unidirectional) ** Warning, w2x: detected 2 hardware duplicate(s) (same seq # and IP ID) 13: 132.235.2.30:23 - 132.235.200.5:3592 (y2z) 2> 1< 14: 147.205.85.10:3054 - 132.235.1.100:5000 (aa2ab) 1> 2< 15: 132.235.1.64:11049 - 132.235.2.1:23 (ac2ad) 6> 3< 16: 132.235.1.100:5000 - 134.241.10.5:1783 (ae2af) 1> 1< 17: 132.235.17.161:28930 - 132.235.1.6:23 (ag2ah) 2> 2< 18: 132.235.200.5:2065 - 132.235.2.30:23 (ai2aj) 2> 1< 19: 132.235.1.64:32301 - 132.235.1.2:23 (ak2al) 3> 2< 20: 132.235.1.100:5000 - 144.32.128.6:4427 (am2an) 1> 0< (unidirectional) 21: 132.235.1.2:3141 - 132.235.1.147:9100 (ao2ap) 3> 1< 22: 130.236.254.159:2000 - 132.235.1.2:1459 (aq2ar) 1> 0< (unidirectional) 23: 132.235.1.2:23 - 132.235.1.64:22058 (as2at) 2> 0< (unidirectional) tcptrace-6.6.7/input/OUTPUTbench/all.snoop.gz.short0100644001217500001440000000765707520175206021676 0ustar mramadasusers1 arg remaining, starting with 'all.snoop.gz' 829 packets seen, 829 TCP packets traced trace file elapsed time: 0:00:04.147060 TCP connection info: *** 2 packets were too short to process at some point (use -w option to show details) 1: 132.235.1.2:119 - 192.20.239.131:2380 (a2b) 43> 54< 2: 132.235.200.5:17157 - 132.235.2.30:23 (c2d) 14> 8< 3: 132.235.3.130:1022 - 132.235.1.2:513 (e2f) 15> 12< 4: 132.235.1.2:1835 - 149.84.33.3:1729 (g2h) 3> 2< 5: 132.235.1.2:23 - 132.235.1.64:32023 (i2j) 15> 20< 6: 129.110.31.10:2770 - 132.235.1.2:23 (k2l) 8> 6< 7: 132.235.1.64:26638 - 132.235.4.63:23 (m2n) 34> 17< 8: 147.205.85.10:3043 - 132.235.1.100:5000 (o2p) 3> 3< 9: 132.235.200.5:24077 - 132.235.1.2:23 (q2r) 14> 8< 10: 132.235.17.1:3711 - 132.235.1.2:23 (s2t) 4> 3< 11: 150.252.1.1:1211 - 132.235.1.100:5000 (u2v) 8> 6< 12: 132.235.24.25:23 - 129.71.2.1:1890 (w2x) 32> 0< (unidirectional) ** Warning, w2x: detected 16 hardware duplicate(s) (same seq # and IP ID) 13: 132.235.2.30:23 - 132.235.200.5:3592 (y2z) 8> 8< 14: 147.205.85.10:3054 - 132.235.1.100:5000 (aa2ab) 4> 6< 15: 132.235.1.64:11049 - 132.235.2.1:23 (ac2ad) 28> 22< 16: 132.235.1.100:5000 - 134.241.10.5:1783 (ae2af) 1> 1< 17: 132.235.17.161:28930 - 132.235.1.6:23 (ag2ah) 16> 16< 18: 132.235.200.5:2065 - 132.235.2.30:23 (ai2aj) 9> 7< 19: 132.235.1.64:32301 - 132.235.1.2:23 (ak2al) 16> 8< 20: 132.235.1.100:5000 - 144.32.128.6:4427 (am2an) 1> 1< 21: 132.235.1.2:3141 - 132.235.1.147:9100 (ao2ap) 9> 7< 22: 130.236.254.159:2000 - 132.235.1.2:1459 (aq2ar) 1> 1< 23: 132.235.1.2:23 - 132.235.1.64:22058 (as2at) 4> 2< 24: 132.235.1.64:6917 - 132.235.1.2:23 (au2av) 25> 17< 25: 132.235.1.64:272 - 132.235.1.2:23 (aw2ax) 12> 7< 26: 132.235.17.13:1569 - 132.235.1.2:23 (ay2az) 12> 7< 27: 128.8.11.201:5000 - 132.235.1.2:2865 (ba2bb) 1> 1< 28: 132.235.1.2:23 - 132.235.1.64:26129 (bc2bd) 1> 1< 29: 132.235.1.64:23326 - 132.235.1.2:23 (be2bf) 11> 6< 30: 132.235.1.129:14458 - 132.235.2.1:23 (bg2bh) 42> 24< 31: 132.235.24.250:6381 - 132.235.1.2:23 (bi2bj) 20> 18< 32: 132.235.200.5:32260 - 132.235.2.30:23 (bk2bl) 3> 3< 33: 132.235.17.195:17802 - 132.235.1.2:23 (bm2bn) 8> 5< 34: 132.235.4.216:10388 - 132.235.1.2:23 (bo2bp) 2> 2< 35: 132.235.1.2:2635 - 162.148.13.44:4000 (bq2br) 3> 3< 36: 192.216.54.2:8888 - 132.235.1.2:1527 (bs2bt) 5> 5< 37: 192.216.54.2:8888 - 132.235.1.2:4548 (bu2bv) 3> 2< 38: 132.235.1.2:23 - 132.235.1.64:19211 (bw2bx) 3> 3< 39: 144.32.128.6:3207 - 132.235.1.100:5000 (by2bz) 3> 4< 40: 132.235.1.64:18461 - 132.235.1.2:23 (ca2cb) 1> 0< (unidirectional) 41: 132.235.1.64:17416 - 132.235.1.2:23 (cc2cd) 1> 0< (unidirectional) 42: 132.235.4.217:7581 - 132.235.1.6:23 (ce2cf) 2> 2< 43: 132.235.1.100:5000 - 144.32.128.6:3379 (cg2ch) 3> 2< 44: 132.235.1.2:3143 - 129.174.1.3:25 (ci2cj) 2> 1< 45: 132.235.1.64:21809 - 132.235.1.2:23 (ck2cl) 4> 4< 46: 132.235.1.2:3122 - 134.53.14.115:4000 (cm2cn) 2> 2< 47: 132.235.24.50:1906 - 132.235.1.2:119 (co2cp) 4> 3< 48: 130.236.253.6:113 - 132.235.1.2:3138 (cq2cr) 3> 2< 49: 132.235.1.2:25 - 130.236.253.6:4234 (cs2ct) 8> 5< 50: 132.235.1.64:1816 - 132.235.1.2:23 (cu2cv) 1> 1< 51: 132.235.1.64:2598 - 132.235.1.2:23 (cw2cx) 1> 0< (unidirectional) 52: 132.235.8.7:2033 - 132.235.1.100:5000 (cy2cz) 1> 1< 53: 130.215.24.1:20 - 132.235.17.163:3129 (da2db) 1> 0< (unidirectional) 54: 132.235.1.64:17922 - 132.235.24.50:23 (dc2dd) 1> 0< (unidirectional) 55: 192.216.54.2:8888 - 132.235.1.2:2892 (de2df) 1> 0< (unidirectional) tcptrace-6.6.7/input/OUTPUTbench/all.snoop.gz.xplots.cksum0100644001217500001440000004056007751776616023221 0ustar mramadasusers1921872397 12748 a2b_owin.xpl 1027049012 2001 a2b_rtt.xpl 3621647073 3894 a2b_ssize.xpl 930342019 1194 a2b_tput.xpl 3157100788 17722 a2b_tsg.xpl 1253959722 18309 a_b_tline.xpl 961624720 1207 aa2ab_owin.xpl 954409389 249 aa2ab_rtt.xpl 2037772854 402 aa2ab_ssize.xpl 1833242043 148 aa2ab_tput.xpl 2131188969 1688 aa2ab_tsg.xpl 1529392095 2137 aa_ab_tline.xpl 2402223617 1548 ab2aa_owin.xpl 3746147981 141 ab2aa_rtt.xpl 732809015 721 ab2aa_ssize.xpl 989891958 248 ab2aa_tput.xpl 798006717 1629 ab2aa_tsg.xpl 3999167185 8322 ac2ad_owin.xpl 64615658 958 ac2ad_rtt.xpl 880777809 2090 ac2ad_ssize.xpl 776129738 566 ac2ad_tput.xpl 1443349227 8588 ac2ad_tsg.xpl 2536236485 9913 ac_ad_tline.xpl 3930932336 6511 ad2ac_owin.xpl 1001881006 1119 ad2ac_rtt.xpl 2199422289 2556 ad2ac_ssize.xpl 1818630756 678 ad2ac_tput.xpl 2693425648 9308 ad2ac_tsg.xpl 2054782304 217 ae2af_owin.xpl 1968988836 140 ae2af_rtt.xpl 3051607485 185 ae2af_ssize.xpl 819790075 117 ae2af_tput.xpl 1245080295 299 ae2af_tsg.xpl 2906470238 561 ae_af_tline.xpl 4116650282 216 af2ae_owin.xpl 35010345 126 af2ae_ssize.xpl 2647835338 117 af2ae_tput.xpl 3009692756 196 af2ae_tsg.xpl 1468640459 4704 ag2ah_owin.xpl 3375273289 660 ag2ah_rtt.xpl 505753745 1246 ag2ah_ssize.xpl 618054625 326 ag2ah_tput.xpl 2929065510 4960 ag2ah_tsg.xpl 1571777653 6389 ag_ah_tline.xpl 3458136513 4751 ah2ag_owin.xpl 2789766905 660 ah2ag_rtt.xpl 142779423 1246 ah2ag_ssize.xpl 3794841941 358 ah2ag_tput.xpl 3774181513 5500 ah2ag_tsg.xpl 3703455346 2638 ai2aj_owin.xpl 2739934488 385 ai2aj_rtt.xpl 2838621435 681 ai2aj_ssize.xpl 3276982259 206 ai2aj_tput.xpl 4210357535 2608 ai2aj_tsg.xpl 910545306 3320 ai_aj_tline.xpl 4215013732 2152 aj2ai_owin.xpl 3475609291 477 aj2ai_rtt.xpl 2496057121 995 aj2ai_ssize.xpl 2715096871 271 aj2ai_tput.xpl 90861107 3092 aj2ai_tsg.xpl 965507643 4702 ak2al_owin.xpl 2091580568 670 ak2al_rtt.xpl 3383106998 1244 ak2al_ssize.xpl 3374978337 324 ak2al_tput.xpl 376045820 3982 ak2al_tsg.xpl 2935829040 4832 ak_al_tline.xpl 542842103 2364 al2ak_owin.xpl 1903040705 681 al2ak_rtt.xpl 2539095592 1244 al2ak_ssize.xpl 2301877706 330 al2ak_tput.xpl 3902985684 4698 al2ak_tsg.xpl 3809704169 215 am2an_owin.xpl 2074016734 140 am2an_rtt.xpl 3778241749 183 am2an_ssize.xpl 2473933456 117 am2an_tput.xpl 1969642934 299 am2an_tsg.xpl 186649185 561 am_an_tline.xpl 2524249268 216 an2am_owin.xpl 1692167614 126 an2am_ssize.xpl 2890429801 117 an2am_tput.xpl 4129956174 198 an2am_tsg.xpl 2145640989 2492 ao2ap_owin.xpl 3319651270 619 ao2ap_rtt.xpl 2651314217 1172 ao2ap_ssize.xpl 469994341 346 ao2ap_tput.xpl 1323540036 2932 ao2ap_tsg.xpl 1648337387 3255 ao_ap_tline.xpl 2981900699 1760 ap2ao_owin.xpl 2051443182 137 ap2ao_rtt.xpl 1393570025 125 ap2ao_ssize.xpl 3026382906 116 ap2ao_tput.xpl 789624948 1979 ap2ao_tsg.xpl 1119696412 218 aq2ar_owin.xpl 2669260045 140 aq2ar_rtt.xpl 1687289684 186 aq2ar_ssize.xpl 46795952 118 aq2ar_tput.xpl 2737783497 305 aq2ar_tsg.xpl 880921008 559 aq_ar_tline.xpl 2739340439 217 ar2aq_owin.xpl 2766059647 127 ar2aq_ssize.xpl 3134003651 118 ar2aq_tput.xpl 2337010464 199 ar2aq_tsg.xpl 294729443 1219 as2at_owin.xpl 1687446942 243 as2at_rtt.xpl 1955971515 702 as2at_ssize.xpl 2489565220 217 as2at_tput.xpl 2194579168 969 as2at_tsg.xpl 4290917104 1327 as_at_tline.xpl 614649157 578 at2as_owin.xpl 1269293803 123 at2as_ssize.xpl 3168676784 114 at2as_tput.xpl 1254020353 880 at2as_tsg.xpl 3065265996 7356 au2av_owin.xpl 646726421 964 au2av_rtt.xpl 2921164448 1948 au2av_ssize.xpl 3790128966 529 au2av_tput.xpl 3675228649 7184 au2av_tsg.xpl 621007399 8274 au_av_tline.xpl 3732037937 4993 av2au_owin.xpl 3921391170 972 av2au_rtt.xpl 250973849 1813 av2au_ssize.xpl 2748171025 540 av2au_tput.xpl 2573555656 7678 av2au_tsg.xpl 2274727786 3520 aw2ax_owin.xpl 104804585 525 aw2ax_rtt.xpl 1233943802 960 aw2ax_ssize.xpl 814885697 262 aw2ax_tput.xpl 728157191 3153 aw2ax_tsg.xpl 731458628 3828 aw_ax_tline.xpl 658028626 2067 ax2aw_owin.xpl 1400337027 533 ax2aw_rtt.xpl 270789095 960 ax2aw_ssize.xpl 1252504433 263 ax2aw_tput.xpl 746816572 3576 ax2aw_tsg.xpl 3296048092 3522 ay2az_owin.xpl 567906137 527 ay2az_rtt.xpl 778326430 962 ay2az_ssize.xpl 1076241675 264 ay2az_tput.xpl 589581693 3155 ay2az_tsg.xpl 1854107264 3873 ay_az_tline.xpl 872792185 2094 az2ay_owin.xpl 2548347394 539 az2ay_rtt.xpl 1681424087 962 az2ay_ssize.xpl 2293444374 267 az2ay_tput.xpl 862044899 3734 az2ay_tsg.xpl 592043271 16899 b2a_owin.xpl 2887292570 2108 b2a_rtt.xpl 1095911454 7714 b2a_ssize.xpl 2777659423 2563 b2a_tput.xpl 4188518090 17897 b2a_tsg.xpl 3030127784 213 ba2bb_owin.xpl 3044574924 138 ba2bb_rtt.xpl 319054546 181 ba2bb_ssize.xpl 4173802679 115 ba2bb_tput.xpl 130799415 302 ba2bb_tsg.xpl 2596101023 555 ba_bb_tline.xpl 3338016421 214 bb2ba_owin.xpl 3133964753 124 bb2ba_ssize.xpl 1271121143 115 bb2ba_tput.xpl 4079404613 194 bb2ba_tsg.xpl 2026078464 212 bc2bd_owin.xpl 713795303 136 bc2bd_rtt.xpl 2997961021 180 bc2bd_ssize.xpl 1110327622 114 bc2bd_tput.xpl 31281898 296 bc2bd_tsg.xpl 1642452788 553 bc_bd_tline.xpl 4254656991 213 bd2bc_owin.xpl 2289256925 123 bd2bc_ssize.xpl 1429084700 114 bd2bc_tput.xpl 270260088 195 bd2bc_tsg.xpl 1047279864 3227 be2bf_owin.xpl 250240966 451 be2bf_rtt.xpl 2293695086 821 be2bf_ssize.xpl 1664339619 236 be2bf_tput.xpl 1660145519 2716 be2bf_tsg.xpl 3243046571 3461 be_bf_tline.xpl 3547191459 1765 bf2be_owin.xpl 1616078324 535 bf2be_rtt.xpl 658343706 962 bf2be_ssize.xpl 2518728520 267 bf2be_tput.xpl 274909541 3307 bf2be_tsg.xpl 838365893 12495 bg2bh_owin.xpl 47355074 1365 bg2bh_rtt.xpl 3757790105 2655 bg2bh_ssize.xpl 1658850638 689 bg2bh_tput.xpl 821827196 10497 bg2bh_tsg.xpl 2856661729 13192 bg_bh_tline.xpl 291878984 7246 bh2bg_owin.xpl 3335471632 1800 bh2bg_rtt.xpl 1400332170 3584 bh2bg_ssize.xpl 2266541281 1123 bh2bg_tput.xpl 1567313262 14107 bh2bg_tsg.xpl 4018187792 5883 bi2bj_owin.xpl 2919352986 239 bi2bj_rtt.xpl 3674682778 399 bi2bj_ssize.xpl 1352875875 145 bi2bj_tput.xpl 3888230776 5207 bi2bj_tsg.xpl 2895188103 7542 bi_bj_tline.xpl 3861195665 5489 bj2bi_owin.xpl 3308924483 1368 bj2bi_rtt.xpl 3546877904 2766 bj2bi_ssize.xpl 2270925965 739 bj2bi_tput.xpl 1613925168 7985 bj2bi_tsg.xpl 1156171946 869 bk2bl_owin.xpl 2070381494 137 bk2bl_rtt.xpl 1776699480 180 bk2bl_ssize.xpl 2574779652 116 bk2bl_tput.xpl 3319840371 861 bk2bl_tsg.xpl 215939192 1338 bk_bl_tline.xpl 757222231 935 bl2bk_owin.xpl 825285387 250 bl2bk_rtt.xpl 2329149426 416 bl2bk_ssize.xpl 2799348715 182 bl2bk_tput.xpl 3300012322 1047 bl2bk_tsg.xpl 2095340529 2344 bm2bn_owin.xpl 3634423738 247 bm2bn_rtt.xpl 337973707 400 bm2bn_ssize.xpl 4203246460 147 bm2bn_tput.xpl 3732921237 1663 bm2bn_tsg.xpl 1668325145 2741 bm_bn_tline.xpl 1994713450 1523 bn2bm_owin.xpl 516966216 383 bn2bm_rtt.xpl 1152493177 700 bn2bm_ssize.xpl 95202115 241 bn2bm_tput.xpl 4220345030 2490 bn2bm_tsg.xpl 36159202 573 bo2bp_owin.xpl 870690882 138 bo2bp_rtt.xpl 1575571576 179 bo2bp_ssize.xpl 2025103642 115 bo2bp_tput.xpl 29515853 568 bo2bp_tsg.xpl 1918060174 943 bo_bp_tline.xpl 1621271607 580 bp2bo_owin.xpl 1074253381 137 bp2bo_rtt.xpl 3588723372 181 bp2bo_ssize.xpl 17114048 148 bp2bo_tput.xpl 2136578147 620 bp2bo_tsg.xpl 2179272282 910 bq2br_owin.xpl 3360158123 138 bq2br_rtt.xpl 3165072784 180 bq2br_ssize.xpl 3709997207 116 bq2br_tput.xpl 3820488474 866 bq2br_tsg.xpl 1406486767 1347 bq_br_tline.xpl 1522685329 942 br2bq_owin.xpl 3434070402 250 br2bq_rtt.xpl 4040468344 418 br2bq_ssize.xpl 438716036 179 br2bq_tput.xpl 2622416538 1047 br2bq_tsg.xpl 1531833039 1234 bs2bt_owin.xpl 2439931642 397 bs2bt_rtt.xpl 3540505152 850 bs2bt_ssize.xpl 2880177239 242 bs2bt_tput.xpl 2299129320 2003 bs2bt_tsg.xpl 2014772541 2132 bs_bt_tline.xpl 657453513 1464 bt2bs_owin.xpl 898158090 124 bt2bs_ssize.xpl 3666188570 115 bt2bs_tput.xpl 3276490066 1312 bt2bs_tsg.xpl 566925845 930 bu2bv_owin.xpl 1728340397 244 bu2bv_rtt.xpl 690093853 556 bu2bv_ssize.xpl 1713878903 178 bu2bv_tput.xpl 640952795 923 bu2bv_tsg.xpl 2481327298 1144 bu_bv_tline.xpl 719554254 579 bv2bu_owin.xpl 2804173140 124 bv2bu_ssize.xpl 2582170044 115 bv2bu_tput.xpl 1152195745 678 bv2bu_tsg.xpl 3516668584 919 bw2bx_owin.xpl 3122000774 316 bw2bx_rtt.xpl 3700951239 555 bw2bx_ssize.xpl 360037312 177 bw2bx_tput.xpl 3069230516 1152 bw2bx_tsg.xpl 763797769 1323 bw_bx_tline.xpl 1256435675 873 bx2bw_owin.xpl 3771403240 123 bx2bw_ssize.xpl 2213640775 114 bx2bw_tput.xpl 2284566530 753 bx2bw_tsg.xpl 1538623378 911 by2bz_owin.xpl 1156801317 139 by2bz_rtt.xpl 3393736211 181 by2bz_ssize.xpl 3896897175 117 by2bz_tput.xpl 127709031 1064 by2bz_tsg.xpl 1364900916 1549 by_bz_tline.xpl 83011896 1265 bz2by_owin.xpl 280709080 251 bz2by_rtt.xpl 3681046286 574 bz2by_ssize.xpl 2791496490 218 bz2by_tput.xpl 3232022409 1213 bz2by_tsg.xpl 3353366429 4075 c2d_owin.xpl 66638582 125 c2d_ssize.xpl 1397933260 116 c2d_tput.xpl 3603073964 2606 c2d_tsg.xpl 4025619827 4290 c_d_tline.xpl 3529287 210 ca2cb_owin.xpl 1400106119 123 ca2cb_ssize.xpl 650483870 114 ca2cb_tput.xpl 2436915042 195 ca2cb_tsg.xpl 1224899789 354 ca_cb_tline.xpl 6893645 125 cb2ca_owin.xpl 3282302726 123 cb2ca_ssize.xpl 2250700536 119 cb2ca_tsg.xpl 1276980276 210 cc2cd_owin.xpl 631594147 123 cc2cd_ssize.xpl 658335860 114 cc2cd_tput.xpl 417969245 195 cc2cd_tsg.xpl 2105702044 354 cc_cd_tline.xpl 2143080544 125 cd2cc_owin.xpl 276872387 123 cd2cc_ssize.xpl 2579985383 119 cd2cc_tsg.xpl 3440053904 572 ce2cf_owin.xpl 172432415 135 ce2cf_rtt.xpl 2895198192 178 ce2cf_ssize.xpl 3826405519 114 ce2cf_tput.xpl 1628345384 567 ce2cf_tsg.xpl 3798342622 947 ce_cf_tline.xpl 1625610317 573 cf2ce_owin.xpl 3735907747 136 cf2ce_rtt.xpl 3801196965 178 cf2ce_ssize.xpl 1545105702 146 cf2ce_tput.xpl 1589528078 619 cf2ce_tsg.xpl 1906255363 943 cg2ch_owin.xpl 1281175141 251 cg2ch_rtt.xpl 3457396048 574 cg2ch_ssize.xpl 406662029 185 cg2ch_tput.xpl 780058258 880 cg2ch_tsg.xpl 205948449 1147 cg_ch_tline.xpl 2590528732 581 ch2cg_owin.xpl 3855860603 126 ch2cg_ssize.xpl 987883693 117 ch2cg_tput.xpl 3978193359 664 ch2cg_tsg.xpl 3558108172 211 ci2cj_owin.xpl 1927701960 135 ci2cj_rtt.xpl 1555884679 121 ci2cj_ssize.xpl 2044207878 112 ci2cj_tput.xpl 2529803337 369 ci2cj_tsg.xpl 165792099 725 ci_cj_tline.xpl 3243755192 123 cj2ci_owin.xpl 448851083 133 cj2ci_rtt.xpl 3503400067 121 cj2ci_ssize.xpl 3557955359 112 cj2ci_tput.xpl 1136791384 332 cj2ci_tsg.xpl 1909701404 1162 ck2cl_owin.xpl 1042660801 136 ck2cl_rtt.xpl 2946746504 178 ck2cl_ssize.xpl 1615211569 114 ck2cl_tput.xpl 455595425 1138 ck2cl_tsg.xpl 4100906750 1706 ck_cl_tline.xpl 3304613797 1218 cl2ck_owin.xpl 2850400486 316 cl2ck_rtt.xpl 159510901 698 cl2ck_ssize.xpl 1039634140 213 cl2ck_tput.xpl 3985286296 1501 cl2ck_tsg.xpl 900854610 574 cm2cn_owin.xpl 3985718580 138 cm2cn_rtt.xpl 2856029983 180 cm2cn_ssize.xpl 3679722351 116 cm2cn_tput.xpl 3936446219 595 cm2cn_tsg.xpl 4214001373 941 cm_cn_tline.xpl 3677460706 588 cn2cm_owin.xpl 3802897957 137 cn2cm_rtt.xpl 2441818464 184 cn2cm_ssize.xpl 809895742 148 cn2cm_tput.xpl 1685633443 621 cn2cm_tsg.xpl 1229084624 1211 co2cp_owin.xpl 4192197756 242 co2cp_rtt.xpl 3026916843 409 co2cp_ssize.xpl 1653193966 146 co2cp_tput.xpl 1046052752 1068 co2cp_tsg.xpl 2272498654 1540 co_cp_tline.xpl 4211028891 968 cp2co_owin.xpl 1450918355 244 cp2co_rtt.xpl 108936826 581 cp2co_ssize.xpl 3487920270 184 cp2co_tput.xpl 4138489360 1302 cp2co_tsg.xpl 2647536809 925 cq2cr_owin.xpl 1948072048 206 cq2cr_rtt.xpl 335558174 181 cq2cr_ssize.xpl 165754170 115 cq2cr_tput.xpl 3045903112 814 cq2cr_tsg.xpl 3403951670 1135 cq_cr_tline.xpl 2124614495 579 cr2cq_owin.xpl 2797867058 138 cr2cq_rtt.xpl 132650456 124 cr2cq_ssize.xpl 1615377783 115 cr2cq_tput.xpl 1822519769 814 cr2cq_tsg.xpl 777407275 2464 cs2ct_owin.xpl 3418345300 476 cs2ct_rtt.xpl 2430912527 1008 cs2ct_ssize.xpl 1112401999 274 cs2ct_tput.xpl 3626920083 2325 cs2ct_tsg.xpl 567944462 2686 cs_ct_tline.xpl 1163235348 1541 ct2cs_owin.xpl 1099973858 463 ct2cs_rtt.xpl 273081777 847 ct2cs_ssize.xpl 4067470640 241 ct2cs_tput.xpl 1594351587 2720 ct2cs_tsg.xpl 1170669914 209 cu2cv_owin.xpl 1611358967 122 cu2cv_ssize.xpl 168886541 113 cu2cv_tput.xpl 3696252493 194 cu2cv_tsg.xpl 1339313207 545 cu_cv_tline.xpl 1192878663 213 cv2cu_owin.xpl 3283458771 179 cv2cu_ssize.xpl 3707178723 113 cv2cu_tput.xpl 3898268724 251 cv2cu_tsg.xpl 3972240755 209 cw2cx_owin.xpl 2939214120 122 cw2cx_ssize.xpl 2038726440 113 cw2cx_tput.xpl 1810261074 194 cw2cx_tsg.xpl 2877565452 353 cw_cx_tline.xpl 1368952900 124 cx2cw_owin.xpl 3895680755 122 cx2cw_ssize.xpl 1730148649 118 cx2cw_tsg.xpl 3921464561 214 cy2cz_owin.xpl 2824021760 138 cy2cz_rtt.xpl 2483752135 182 cy2cz_ssize.xpl 1645844672 116 cy2cz_tput.xpl 698033476 298 cy2cz_tsg.xpl 3287955947 559 cy_cz_tline.xpl 1291803358 215 cz2cy_owin.xpl 845909068 125 cz2cy_ssize.xpl 570745963 116 cz2cy_tput.xpl 729962354 195 cz2cy_tsg.xpl 1720638652 2583 d2c_owin.xpl 3849824297 660 d2c_rtt.xpl 3703342439 1384 d2c_ssize.xpl 211424588 353 d2c_tput.xpl 2474819861 4170 d2c_tsg.xpl 1411837971 212 da2db_owin.xpl 63890466 180 da2db_ssize.xpl 158273153 116 da2db_tput.xpl 1434849119 258 da2db_tsg.xpl 247759017 358 da_db_tline.xpl 2709547764 127 db2da_owin.xpl 3269571747 125 db2da_ssize.xpl 703337215 121 db2da_tsg.xpl 2652536338 212 dc2dd_owin.xpl 2361935679 125 dc2dd_ssize.xpl 2934933975 116 dc2dd_tput.xpl 3562315543 197 dc2dd_tsg.xpl 3840802800 356 dc_dd_tline.xpl 2425627667 127 dd2dc_owin.xpl 1304438366 125 dd2dc_ssize.xpl 1833448487 121 dd2dc_tsg.xpl 4260246055 215 de2df_owin.xpl 2470102161 183 de2df_ssize.xpl 4129459007 115 de2df_tput.xpl 195224210 302 de2df_tsg.xpl 1516953355 363 de_df_tline.xpl 12186563 126 df2de_owin.xpl 3194278034 124 df2de_ssize.xpl 3880940064 120 df2de_tsg.xpl 2244570477 4408 e2f_owin.xpl 3397701086 686 e2f_rtt.xpl 2572402126 1386 e2f_ssize.xpl 2795964444 356 e2f_tput.xpl 1268767004 4551 e2f_tsg.xpl 1160573876 5467 e_f_tline.xpl 44874038 3645 f2e_owin.xpl 1705862086 774 f2e_rtt.xpl 2960131944 1406 f2e_ssize.xpl 385144708 364 f2e_tput.xpl 2534097057 5161 f2e_tsg.xpl 3685463419 828 g2h_owin.xpl 1939541232 123 g2h_ssize.xpl 1921587382 114 g2h_tput.xpl 1502997883 538 g2h_tsg.xpl 1902283124 1145 g_h_tline.xpl 504989865 589 h2g_owin.xpl 1280760415 245 h2g_rtt.xpl 2508956498 408 h2g_ssize.xpl 3341653219 144 h2g_tput.xpl 2938243310 971 h2g_tsg.xpl 2493940434 4402 i2j_owin.xpl 543867971 827 i2j_rtt.xpl 1225281223 1533 i2j_ssize.xpl 3568952403 474 i2j_tput.xpl 3315726775 6262 i2j_tsg.xpl 2538661456 6978 i_j_tline.xpl 635632916 5888 j2i_owin.xpl 3802310481 667 j2i_rtt.xpl 1295442311 1526 j2i_ssize.xpl 2477458591 469 j2i_tput.xpl 3428779716 6000 j2i_tsg.xpl 2548628530 2342 k2l_owin.xpl 3310133971 392 k2l_rtt.xpl 4072639338 680 k2l_ssize.xpl 134910237 204 k2l_tput.xpl 2224344824 2200 k2l_tsg.xpl 1257194088 2878 k_l_tline.xpl 1834386411 1803 l2k_owin.xpl 3049078466 398 l2k_rtt.xpl 817412116 684 l2k_ssize.xpl 1344366870 205 l2k_tput.xpl 2692824977 2562 l2k_tsg.xpl 359612601 10013 m2n_owin.xpl 2244116929 1289 m2n_rtt.xpl 634495786 2514 m2n_ssize.xpl 2271215425 650 m2n_tput.xpl 3139750414 8618 m2n_tsg.xpl 1607948501 10011 m_n_tline.xpl 28547286 4978 n2m_owin.xpl 419403878 1339 n2m_rtt.xpl 295992133 2514 n2m_ssize.xpl 1755264423 656 n2m_tput.xpl 809650548 10372 n2m_tsg.xpl 2015029960 862 o2p_owin.xpl 973730458 140 o2p_rtt.xpl 1701253561 182 o2p_ssize.xpl 2649867724 148 o2p_tput.xpl 1800079059 868 o2p_tsg.xpl 2105858087 1346 o_p_tline.xpl 235527050 901 p2o_owin.xpl 722921049 141 p2o_rtt.xpl 3440710825 422 p2o_ssize.xpl 910448596 186 p2o_tput.xpl 2390573089 953 p2o_tsg.xpl 166722703 4074 q2r_owin.xpl 1864947380 124 q2r_ssize.xpl 3402249818 115 q2r_tput.xpl 4030168670 2605 q2r_tsg.xpl 1886030089 4454 q_r_tline.xpl 2054132174 2588 r2q_owin.xpl 50420923 659 r2q_rtt.xpl 3124745734 1383 r2q_ssize.xpl 243461854 352 r2q_tput.xpl 592328158 4169 r2q_tsg.xpl 736824857 1202 s2t_owin.xpl 3268170717 242 s2t_rtt.xpl 866648085 397 s2t_ssize.xpl 1909931488 144 s2t_tput.xpl 2522646757 1094 s2t_tsg.xpl 3197365483 1528 s_t_tline.xpl 219498476 913 t2s_owin.xpl 3324431189 247 t2s_rtt.xpl 3907178083 397 t2s_ssize.xpl 2570041119 143 t2s_tput.xpl 1241746646 1275 t2s_tsg.xpl 3382063261 2385 u2v_owin.xpl 529336891 393 u2v_rtt.xpl 2628665333 682 u2v_ssize.xpl 93360090 206 u2v_tput.xpl 3618090260 2292 u2v_tsg.xpl 1975136538 2905 u_v_tline.xpl 1289102288 1878 v2u_owin.xpl 1749414663 402 v2u_rtt.xpl 619980303 726 v2u_ssize.xpl 3730398820 245 v2u_tput.xpl 3647867805 2564 v2u_tsg.xpl 3018265389 4532 w2x_owin.xpl 2962126167 4633 w2x_ssize.xpl 1007871968 1513 w2x_tput.xpl 1587368842 6678 w2x_tsg.xpl 3337124664 6516 w_x_tline.xpl 4095894393 124 x2w_owin.xpl 3748976309 122 x2w_ssize.xpl 4292185383 6465 x2w_tsg.xpl 2434891666 2424 y2z_owin.xpl 3968276587 705 y2z_rtt.xpl 1156309236 1274 y2z_ssize.xpl 495621339 332 y2z_tput.xpl 3528512814 3375 y2z_tsg.xpl 4257595436 3289 y_z_tline.xpl 1317966284 2349 z2y_owin.xpl 3043556507 124 z2y_ssize.xpl 547571725 115 z2y_tput.xpl 1563705264 2149 z2y_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/atm.erf.gz.long0100644001217500001440000001220007756517506021117 0ustar mramadasusers1 arg remaining, starting with 'atm.erf.gz' 13 packets seen, 13 TCP packets traced trace file elapsed time: 0:00:01.191704 TCP connection info: 1 TCP connection traced: *** 13 packets were too short to process at some point (use -w option to show details) TCP connection 1: host a: 130.216.128.100:80 host b: 209.202.148.58:3631 complete conn: no (SYNs: 1) (FINs: 1) first packet: Tue Jun 12 14:00:04.558952 2001 last packet: Tue Jun 12 14:00:05.750656 2001 elapsed time: 0:00:01.191704 total packets: 13 filename: atm.erf.gz a->b: b->a: total packets: 13 total packets: 0 ack pkts sent: 13 ack pkts sent: 0 pure acks sent: 2 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 12888 unique bytes sent: 0 actual data pkts: 10 actual data pkts: 0 actual data bytes: 12888 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 10 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1368 bytes max segm size: 0 bytes min segm size: 576 bytes min segm size: 0 bytes avg segm size: 1288 bytes avg segm size: 0 bytes max win adv: 31740 bytes max win adv: 0 bytes min win adv: 31740 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 31740 bytes avg win adv: 0 bytes max owin: 12891 bytes max owin: 0 bytes min non-zero owin: 2 bytes min non-zero owin: 0 bytes avg owin: 7280 bytes avg owin: 0 bytes wavg owin: 5498 bytes wavg owin: 0 bytes initial window: 12888 bytes initial window: 0 bytes initial window: 10 pkts initial window: 0 pkts ttl stream length: 12888 bytes ttl stream length: NA missed data: 0 bytes missed data: NA truncated data: 13008 bytes truncated data: 0 bytes truncated packets: 10 pkts truncated packets: 0 pkts data xmit time: 0.598 secs data xmit time: 0.000 secs idletime max: 247.0 ms idletime max: NA ms throughput: 10815 Bps throughput: 0 Bps RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/atm.erf.gz.packets0100644001217500001440000002150207756517506021617 0ustar mramadasusers1 arg remaining, starting with 'atm.erf.gz' Packet 1 Packet Length: 48 Collected: Tue Jun 12 14:00:04.558952 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 56 ID: 60634 CKSUM: 0xe7a3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -A--S- (0x12) SEQ: 0x56b9831f ACK: 0x64f77553 WIN: 31740 HLEN: 36 (only 20 bytes in dump file) CKSUM: 0xd1c8 (too short to verify) DLEN: 0 OPTS: 16 bytes (none of it in dump file) Packet 2 Packet Length: 48 Collected: Tue Jun 12 14:00:04.799870 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 52 ID: 60635 CKSUM: 0xe7a6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -A---- (0x10) SEQ: 0x56b98320 ACK: 0x64f77689 WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0xe7cf (too short to verify) DLEN: 0 OPTS: 12 bytes (none of it in dump file) Packet 3 Packet Length: 48 Collected: Tue Jun 12 14:00:04.911244 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 1420 ID: 60636 CKSUM: 0xe24d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -AP--- (0x18) SEQ: 0x56b98320 ACK: 0x64f77689 WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0xede0 (too short to verify) DLEN: 1368 (none of it in dump file) OPTS: 12 bytes (none of it in dump file) data: 1368 bytes Packet 4 Packet Length: 48 Collected: Tue Jun 12 14:00:04.914398 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 1420 ID: 60637 CKSUM: 0xe24c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -AP--- (0x18) SEQ: 0x56b98878 ACK: 0x64f77689 WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0xf07a (too short to verify) DLEN: 1368 (none of it in dump file) OPTS: 12 bytes (none of it in dump file) data: 1368 bytes Packet 5 Packet Length: 48 Collected: Tue Jun 12 14:00:05.161445 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 1420 ID: 60638 CKSUM: 0xe24b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -AP--- (0x18) SEQ: 0x56b98dd0 ACK: 0x64f77689 WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0xdbd1 (too short to verify) DLEN: 1368 (none of it in dump file) OPTS: 12 bytes (none of it in dump file) data: 1368 bytes Packet 6 Packet Length: 48 Collected: Tue Jun 12 14:00:05.164596 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 1420 ID: 60639 CKSUM: 0xe24a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -AP--- (0x18) SEQ: 0x56b99328 ACK: 0x64f77689 WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0x989b (too short to verify) DLEN: 1368 (none of it in dump file) OPTS: 12 bytes (none of it in dump file) data: 1368 bytes Packet 7 Packet Length: 48 Collected: Tue Jun 12 14:00:05.167744 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 1420 ID: 60640 CKSUM: 0xe249 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -AP--- (0x18) SEQ: 0x56b99880 ACK: 0x64f77689 WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0x9a23 (too short to verify) DLEN: 1368 (none of it in dump file) OPTS: 12 bytes (none of it in dump file) data: 1368 bytes Packet 8 Packet Length: 48 Collected: Tue Jun 12 14:00:05.409611 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 1420 ID: 60641 CKSUM: 0xe248 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -AP--- (0x18) SEQ: 0x56b99dd8 ACK: 0x64f77689 WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0x7595 (too short to verify) DLEN: 1368 (none of it in dump file) OPTS: 12 bytes (none of it in dump file) data: 1368 bytes Packet 9 Packet Length: 48 Collected: Tue Jun 12 14:00:05.412756 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 1420 ID: 60642 CKSUM: 0xe247 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -AP--- (0x18) SEQ: 0x56b9a330 ACK: 0x64f77689 WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0x0590 (too short to verify) DLEN: 1368 (none of it in dump file) OPTS: 12 bytes (none of it in dump file) data: 1368 bytes Packet 10 Packet Length: 48 Collected: Tue Jun 12 14:00:05.415910 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 1420 ID: 60643 CKSUM: 0xe246 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -AP--- (0x18) SEQ: 0x56b9a888 ACK: 0x64f77689 WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0xdb9f (too short to verify) DLEN: 1368 (none of it in dump file) OPTS: 12 bytes (none of it in dump file) data: 1368 bytes Packet 11 Packet Length: 48 Collected: Tue Jun 12 14:00:05.506494 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 1420 ID: 60644 CKSUM: 0xe245 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -AP--- (0x18) SEQ: 0x56b9ade0 ACK: 0x64f77689 WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0xd100 (too short to verify) DLEN: 1368 (none of it in dump file) OPTS: 12 bytes (none of it in dump file) data: 1368 bytes Packet 12 Packet Length: 48 Collected: Tue Jun 12 14:00:05.509640 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 628 ID: 60645 CKSUM: 0xe55c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -AP--F (0x19) SEQ: 0x56b9b338 ACK: 0x64f77689 WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0xea94 (too short to verify) DLEN: 576 (none of it in dump file) OPTS: 12 bytes (none of it in dump file) data: 576 bytes Packet 13 Packet Length: 48 Collected: Tue Jun 12 14:00:05.750656 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.128.100 IP Dest: 209.202.148.58 Type: 0x6 (TCP) HLEN: 20 TTL: 61 LEN: 52 ID: 60646 CKSUM: 0xe79b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 3631 FLG: -A---- (0x10) SEQ: 0x56b9b579 ACK: 0x64f7768a WIN: 31740 HLEN: 32 (only 20 bytes in dump file) CKSUM: 0xb4b7 (too short to verify) DLEN: 0 OPTS: 12 bytes (none of it in dump file) 13 packets seen, 13 TCP packets traced trace file elapsed time: 0:00:01.191704 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: *** 26 packets were too short to process at some point (use -w option to show details) 1: 130.216.128.100:80 - 209.202.148.58:3631 (a2b) 13> 0< (unidirectional) tcptrace-6.6.7/input/OUTPUTbench/atm.erf.gz.short0100644001217500001440000000047307756517506021330 0ustar mramadasusers1 arg remaining, starting with 'atm.erf.gz' 13 packets seen, 13 TCP packets traced trace file elapsed time: 0:00:01.191704 TCP connection info: *** 13 packets were too short to process at some point (use -w option to show details) 1: 130.216.128.100:80 - 209.202.148.58:3631 (a2b) 13> 0< (unidirectional) tcptrace-6.6.7/input/OUTPUTbench/atm.erf.gz.xplots.cksum0100644001217500001440000000034507751776616022645 0ustar mramadasusers2720684015 3717 a2b_owin.xpl 3084714168 1703 a2b_ssize.xpl 2498515533 525 a2b_tput.xpl 2793482353 2375 a2b_tsg.xpl 127636116 2654 a_b_tline.xpl 2346252560 130 b2a_owin.xpl 2010545445 128 b2a_ssize.xpl 2745824695 2668 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/bad_ack_code.dmp.gz.long0100644001217500001440000002635107672375062022710 0ustar mramadasusers1 arg remaining, starting with 'bad_ack_code.dmp.gz' 40 packets seen, 40 TCP packets traced trace file elapsed time: 0:00:01.448223 TCP connection info: 2 TCP connections traced: *** 2 packets were too short to process at some point (use -w option to show details) TCP connection 1: host a: 128.224.2.23:1036 host b: 128.224.1.148:9 complete conn: no (SYNs: 2) (FINs: 0) first packet: Tue Feb 11 19:25:57.818762 1997 last packet: Tue Feb 11 19:25:59.266986 1997 elapsed time: 0:00:01.448223 total packets: 37 filename: bad_ack_code.dmp.gz a->b: b->a: total packets: 19 total packets: 18 ack pkts sent: 18 ack pkts sent: 18 pure acks sent: 1 pure acks sent: 16 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 8650 unique bytes sent: 0 actual data pkts: 17 actual data pkts: 0 actual data bytes: 8650 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 1 rexmt data bytes: 0 rexmt data bytes: 1 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 0 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 2/0 req 1323 ws/ts: Y/N req 1323 ws/ts: N/N adv wind scale: 0 adv wind scale: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 536 bytes max segm size: 536 bytes max segm size: 0 bytes min segm size: 74 bytes min segm size: 0 bytes avg segm size: 508 bytes avg segm size: 0 bytes max win adv: 16616 bytes max win adv: 16384 bytes min win adv: 16384 bytes min win adv: 16384 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 16603 bytes avg win adv: 16384 bytes max owin: 16081 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 6560 bytes avg owin: 1 bytes wavg owin: 6081 bytes wavg owin: 0 bytes initial window: 610 bytes initial window: 0 bytes initial window: 2 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 8412 bytes truncated data: 0 bytes truncated packets: 17 pkts truncated packets: 0 pkts data xmit time: 1.382 secs data xmit time: 0.000 secs idletime max: 87.1 ms idletime max: 687.4 ms hardware dups: 0 segs hardware dups: 9 segs ** WARNING: presence of hardware duplicates makes these figures suspect! throughput: 5973 Bps throughput: 0 Bps RTT samples: 9 RTT samples: 0 RTT min: 1.2 ms RTT min: 0.0 ms RTT max: 2.0 ms RTT max: 0.0 ms RTT avg: 1.4 ms RTT avg: 0.0 ms RTT stdev: 0.2 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.6 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 8 RTT full_sz smpls: 0 RTT full_sz min: 1.2 ms RTT full_sz min: 0.0 ms RTT full_sz max: 2.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 1.4 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.2 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 0 ambiguous acks: 1 RTT min (last): 0.0 ms RTT min (last): 35.4 ms RTT max (last): 0.0 ms RTT max (last): 35.4 ms RTT avg (last): 0.0 ms RTT avg (last): 35.4 ms RTT sdv (last): 0.0 ms RTT sdv (last): 0.0 ms segs cum acked: 1 segs cum acked: 0 duplicate acks: 8 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 1 min retr time: 0.0 ms min retr time: 2.6 ms max retr time: 0.0 ms max retr time: 2.6 ms avg retr time: 0.0 ms avg retr time: 2.6 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 128.224.2.23:1037 host d: 128.224.1.148:19 complete conn: no (SYNs: 2) (FINs: 0) first packet: Tue Feb 11 19:25:57.831914 1997 last packet: Tue Feb 11 19:25:57.835566 1997 elapsed time: 0:00:00.003652 total packets: 3 filename: bad_ack_code.dmp.gz c->d: d->c: total packets: 1 total packets: 2 ack pkts sent: 0 ack pkts sent: 2 pure acks sent: 0 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 1 rexmt data bytes: 0 rexmt data bytes: 1 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 2/0 req 1323 ws/ts: Y/N req 1323 ws/ts: N/N adv wind scale: 0 adv wind scale: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 536 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 16384 bytes max win adv: 1 bytes min win adv: 16384 bytes min win adv: 1 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 16384 bytes avg win adv: 1 bytes max owin: 0 bytes max owin: 0 bytes min non-zero owin: 0 bytes min non-zero owin: 0 bytes avg owin: 0 bytes avg owin: 0 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 1435.1 ms idletime max: 1431.4 ms hardware dups: 0 segs hardware dups: 1 segs ** WARNING: presence of hardware duplicates makes these figures suspect! throughput: 0 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 0 RTT min: 1.1 ms RTT min: 0.0 ms RTT max: 1.1 ms RTT max: 0.0 ms RTT avg: 1.1 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.1 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 1.1 ms RTT full_sz min: 0.0 ms RTT full_sz max: 1.1 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 1.1 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 1 min retr time: 0.0 ms min retr time: 2.6 ms max retr time: 0.0 ms max retr time: 2.6 ms avg retr time: 0.0 ms avg retr time: 2.6 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/bad_ack_code.dmp.gz.packets0100644001217500001440000005544707302732552023402 0ustar mramadasusers1 arg remaining, starting with 'bad_ack_code.dmp.gz' Packet 1 Packet Length: 82 (saved length 68) Collected: Tue Feb 11 19:25:57.818762 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 68 ID: 17307 CKSUM: 0xf3ad (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: ----S- (0x02) SEQ: 0x4fa65001 ACK: 0x00000000 WIN: 16384 HLEN: 48 (only 34 bytes in dump file) CKSUM: 0xc481 (too short to verify) DLEN: 0 OPTS: 28 bytes (14 bytes in file) MSS(1460) WS(0) Packet 2 Packet Length: 60 Collected: Tue Feb 11 19:25:57.820318 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 6607 CKSUM: 0x9c91 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A--S- (0x12) SEQ: 0xb5648846 ACK: 0x4fa65002 WIN: 16384 HLEN: 24 CKSUM: 0x74de (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(536) Packet 3 Packet Length: 60 Collected: Tue Feb 11 19:25:57.822881 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 44 ID: 6607 CKSUM: 0x9d91 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A--S- (0x12) SEQ: 0xb5648846 ACK: 0x4fa65002 WIN: 16384 HLEN: 24 CKSUM: 0x74de (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(536) Packet 4 Packet Length: 82 (saved length 68) Collected: Tue Feb 11 19:25:57.831914 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 68 ID: 17309 CKSUM: 0xf3ab (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1037 DPRT: 19 FLG: ----S- (0x02) SEQ: 0x4fa74a01 ACK: 0x00000000 WIN: 16384 HLEN: 48 (only 34 bytes in dump file) CKSUM: 0xca74 (too short to verify) DLEN: 0 OPTS: 28 bytes (14 bytes in file) MSS(1460) WS(0) Packet 5 Packet Length: 60 Collected: Tue Feb 11 19:25:57.833011 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 6608 CKSUM: 0x9c90 (CORRECT) OFFSET: 0x0000 TCP SPRT: 19 DPRT: 1037 FLG: -A--S- (0x12) SEQ: 0xb56493fe ACK: 0x4fa74a02 WIN: 1 HLEN: 24 CKSUM: 0xaf19 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(536) Packet 6 Packet Length: 60 Collected: Tue Feb 11 19:25:57.835566 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 44 ID: 6608 CKSUM: 0x9d90 (CORRECT) OFFSET: 0x0000 TCP SPRT: 19 DPRT: 1037 FLG: -A--S- (0x12) SEQ: 0xb56493fe ACK: 0x4fa74a02 WIN: 1 HLEN: 24 CKSUM: 0xaf19 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(536) Packet 7 Packet Length: 60 Collected: Tue Feb 11 19:25:57.858270 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 40 ID: 17310 CKSUM: 0xf3c6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65002 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x8817 (CORRECT) DLEN: 0 Packet 8 Packet Length: 128 (saved length 68) Collected: Tue Feb 11 19:25:57.884522 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 114 ID: 17312 CKSUM: 0xf37a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -AP--- (0x18) SEQ: 0x4fa65002 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0xe0fd (too short to verify) DLEN: 74 (only 14 bytes in dump file) data: 74 bytes Packet 9 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:57.971608 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17313 CKSUM: 0xf1ab (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa6504c ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x4788 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 10 Packet Length: 60 Collected: Tue Feb 11 19:25:57.972862 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6609 CKSUM: 0x9c93 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65264 WIN: 16384 HLEN: 20 CKSUM: 0x869d (CORRECT) DLEN: 0 Packet 11 Packet Length: 60 Collected: Tue Feb 11 19:25:57.975427 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6609 CKSUM: 0x9d93 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65264 WIN: 16384 HLEN: 20 CKSUM: 0x869d (CORRECT) DLEN: 0 Packet 12 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.057734 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17314 CKSUM: 0xf1aa (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65264 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x3964 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 13 Packet Length: 60 Collected: Tue Feb 11 19:25:58.059060 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6610 CKSUM: 0x9c92 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa6547c WIN: 16384 HLEN: 20 CKSUM: 0x8485 (CORRECT) DLEN: 0 Packet 14 Packet Length: 60 Collected: Tue Feb 11 19:25:58.061661 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6610 CKSUM: 0x9d92 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa6547c WIN: 16384 HLEN: 20 CKSUM: 0x8485 (CORRECT) DLEN: 0 Packet 15 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.143811 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17315 CKSUM: 0xf1a9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa6547c ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x2b40 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 16 Packet Length: 60 Collected: Tue Feb 11 19:25:58.145820 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6611 CKSUM: 0x9c91 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65694 WIN: 16384 HLEN: 20 CKSUM: 0x826d (CORRECT) DLEN: 0 Packet 17 Packet Length: 60 Collected: Tue Feb 11 19:25:58.148399 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6611 CKSUM: 0x9d91 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65694 WIN: 16384 HLEN: 20 CKSUM: 0x826d (CORRECT) DLEN: 0 Packet 18 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.230253 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17316 CKSUM: 0xf1a8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65694 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x8b00 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 19 Packet Length: 60 Collected: Tue Feb 11 19:25:58.231697 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6612 CKSUM: 0x9c90 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa658ac WIN: 16384 HLEN: 20 CKSUM: 0x8055 (CORRECT) DLEN: 0 Packet 20 Packet Length: 60 Collected: Tue Feb 11 19:25:58.234260 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6612 CKSUM: 0x9d90 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa658ac WIN: 16384 HLEN: 20 CKSUM: 0x8055 (CORRECT) DLEN: 0 Packet 21 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.316637 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17317 CKSUM: 0xf1a7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa658ac ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x7e84 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 22 Packet Length: 60 Collected: Tue Feb 11 19:25:58.317993 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6613 CKSUM: 0x9c8f (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65ac4 WIN: 16384 HLEN: 20 CKSUM: 0x7e3d (CORRECT) DLEN: 0 Packet 23 Packet Length: 60 Collected: Tue Feb 11 19:25:58.320594 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6613 CKSUM: 0x9d8f (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65ac4 WIN: 16384 HLEN: 20 CKSUM: 0x7e3d (CORRECT) DLEN: 0 Packet 24 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.402943 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17318 CKSUM: 0xf1a6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65ac4 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x1963 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 25 Packet Length: 60 Collected: Tue Feb 11 19:25:58.404383 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6614 CKSUM: 0x9c8e (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65cdc WIN: 16384 HLEN: 20 CKSUM: 0x7c25 (CORRECT) DLEN: 0 Packet 26 Packet Length: 60 Collected: Tue Feb 11 19:25:58.406932 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6614 CKSUM: 0x9d8e (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65cdc WIN: 16384 HLEN: 20 CKSUM: 0x7c25 (CORRECT) DLEN: 0 Packet 27 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.489366 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17319 CKSUM: 0xf1a5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65cdc ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0xbbef (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 28 Packet Length: 60 Collected: Tue Feb 11 19:25:58.490698 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6615 CKSUM: 0x9c8d (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65ef4 WIN: 16384 HLEN: 20 CKSUM: 0x7a0d (CORRECT) DLEN: 0 Packet 29 Packet Length: 60 Collected: Tue Feb 11 19:25:58.493308 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6615 CKSUM: 0x9d8d (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65ef4 WIN: 16384 HLEN: 20 CKSUM: 0x7a0d (CORRECT) DLEN: 0 Packet 30 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.575800 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17320 CKSUM: 0xf1a4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65ef4 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0xd797 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 31 Packet Length: 60 Collected: Tue Feb 11 19:25:58.577042 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6616 CKSUM: 0x9c8c (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa6610c WIN: 16384 HLEN: 20 CKSUM: 0x77f5 (CORRECT) DLEN: 0 Packet 32 Packet Length: 60 Collected: Tue Feb 11 19:25:58.579624 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6616 CKSUM: 0x9d8c (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa6610c WIN: 16384 HLEN: 20 CKSUM: 0x77f5 (CORRECT) DLEN: 0 Packet 33 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.661993 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17344 CKSUM: 0xf18c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa68f1c ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0xeab2 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 34 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.748523 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17345 CKSUM: 0xf18b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa69134 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x2f3f (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 35 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.834693 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17347 CKSUM: 0xf189 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa6934c ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x6765 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 36 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.921277 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17350 CKSUM: 0xf186 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa69564 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0xbd43 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 37 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:59.007758 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17352 CKSUM: 0xf184 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa6977c ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x602e (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 38 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:59.094309 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17359 CKSUM: 0xf17d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa69994 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x1dd6 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 39 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:59.180587 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17369 CKSUM: 0xf173 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -AP--- (0x18) SEQ: 0x4fa69bac ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x94d5 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 40 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:59.266986 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17371 CKSUM: 0xf171 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa69dc4 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x911d (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes 40 packets seen, 40 TCP packets traced trace file elapsed time: 0:00:01.448223 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: *** 4 packets were too short to process at some point (use -w option to show details) 1: 128.224.2.23:1036 - 128.224.1.148:9 (a2b) 19> 18< ** Warning, b2a: detected 9 hardware duplicate(s) (same seq # and IP ID) 2: 128.224.2.23:1037 - 128.224.1.148:19 (c2d) 1> 2< ** Warning, d2c: detected 1 hardware duplicate(s) (same seq # and IP ID) tcptrace-6.6.7/input/OUTPUTbench/bad_ack_code.dmp.gz.short0100644001217500001440000000100307253211551023056 0ustar mramadasusers1 arg remaining, starting with 'bad_ack_code.dmp.gz' 40 packets seen, 40 TCP packets traced trace file elapsed time: 0:00:01.448223 TCP connection info: *** 2 packets were too short to process at some point (use -w option to show details) 1: 128.224.2.23:1036 - 128.224.1.148:9 (a2b) 19> 18< ** Warning, b2a: detected 9 hardware duplicate(s) (same seq # and IP ID) 2: 128.224.2.23:1037 - 128.224.1.148:19 (c2d) 1> 2< ** Warning, d2c: detected 1 hardware duplicate(s) (same seq # and IP ID) tcptrace-6.6.7/input/OUTPUTbench/bad_ack_code.dmp.gz.xplots.cksum0100644001217500001440000000106407751776616024425 0ustar mramadasusers3017168630 5769 a2b_owin.xpl 3919851649 728 a2b_rtt.xpl 1770673556 2709 a2b_ssize.xpl 2037755829 736 a2b_tput.xpl 3830229492 6680 a2b_tsg.xpl 4150372792 6764 a_b_tline.xpl 4003407307 4755 b2a_owin.xpl 1547498569 123 b2a_ssize.xpl 2946010257 114 b2a_tput.xpl 2465268075 5229 b2a_tsg.xpl 387554380 126 c2d_owin.xpl 2322257161 136 c2d_rtt.xpl 3547524405 124 c2d_ssize.xpl 2401853822 115 c2d_tput.xpl 2832848055 506 c2d_tsg.xpl 3211285756 746 c_d_tline.xpl 3292905497 126 d2c_owin.xpl 613628918 124 d2c_ssize.xpl 2317801752 115 d2c_tput.xpl 1285756174 563 d2c_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/bad_tcp_checksum.dmp.gz.long0100644001217500001440000001207707662255050023621 0ustar mramadasusers1 arg remaining, starting with 'bad_tcp_checksum.dmp.gz' 10 packets seen, 10 TCP packets traced trace file elapsed time: 0:00:00.012379 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 139.88.44.112:139 host b: 139.88.45.93:2270 complete conn: no (SYNs: 0) (FINs: 0) first packet: Wed Mar 8 15:29:58.085005 2000 last packet: Wed Mar 8 15:29:58.097384 2000 elapsed time: 0:00:00.012379 total packets: 10 filename: bad_tcp_checksum.dmp.gz a->b: b->a: total packets: 7 total packets: 3 ack pkts sent: 7 ack pkts sent: 3 pure acks sent: 0 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 10220 unique bytes sent: 0 actual data pkts: 7 actual data pkts: 0 actual data bytes: 10220 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1460 bytes max segm size: 0 bytes min segm size: 1460 bytes min segm size: 0 bytes avg segm size: 1459 bytes avg segm size: 0 bytes max win adv: 8632 bytes max win adv: 8760 bytes min win adv: 8632 bytes min win adv: 8760 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8632 bytes avg win adv: 8760 bytes max owin: 8761 bytes max owin: 1 bytes min non-zero owin: 1460 bytes min non-zero owin: 1 bytes avg owin: 5423 bytes avg owin: 1 bytes wavg owin: 3392 bytes wavg owin: 0 bytes initial window: 1460 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.012 secs data xmit time: 0.000 secs idletime max: 6.0 ms idletime max: 6.2 ms throughput: 825592 Bps throughput: 0 Bps RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 1 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/bad_tcp_checksum.dmp.gz.packets0100644001217500001440000001326407302732553024312 0ustar mramadasusers1 arg remaining, starting with 'bad_tcp_checksum.dmp.gz' Packet 1 Packet Length: 1514 Collected: Wed Mar 8 15:29:58.085005 2000 ETH Srce: 00:60:08:31:e4:8c ETH Dest: 00:00:0c:20:00:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 139.88.44.112 IP Dest: 139.88.45.93 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 1500 ID: 51825 CKSUM: 0xba2c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 139 DPRT: 2270 FLG: -A---- (0x10) SEQ: 0x0e009304 ACK: 0x0176c158 WIN: 8632 HLEN: 20 CKSUM: 0xd2a6 (WRONG) DLEN: 1460 data: 1460 bytes Packet 2 Packet Length: 60 Collected: Wed Mar 8 15:29:58.089687 2000 ETH Srce: 00:00:0c:20:00:12 ETH Dest: 00:60:08:31:e4:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 139.88.45.93 IP Dest: 139.88.44.112 Type: 0x6 (TCP) HLEN: 20 TTL: 125 LEN: 40 ID: 25416 CKSUM: 0x2a0a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 2270 DPRT: 139 FLG: -A---- (0x10) SEQ: 0x0176c158 ACK: 0x0e1f81e8 WIN: 8760 HLEN: 20 CKSUM: 0xc0df (CORRECT) DLEN: 0 Packet 3 Packet Length: 1514 Collected: Wed Mar 8 15:29:58.091023 2000 ETH Srce: 00:60:08:31:e4:8c ETH Dest: 00:00:0c:20:00:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 139.88.44.112 IP Dest: 139.88.45.93 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 1500 ID: 52081 CKSUM: 0xb92c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 139 DPRT: 2270 FLG: -A---- (0x10) SEQ: 0x0e1f98b8 ACK: 0x0176c158 WIN: 8632 HLEN: 20 CKSUM: 0xdf4b (CORRECT) DLEN: 1460 data: 1460 bytes Packet 4 Packet Length: 60 Collected: Wed Mar 8 15:29:58.091090 2000 ETH Srce: 00:00:0c:20:00:12 ETH Dest: 00:60:08:31:e4:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 139.88.45.93 IP Dest: 139.88.44.112 Type: 0x6 (TCP) HLEN: 20 TTL: 125 LEN: 40 ID: 25672 CKSUM: 0x290a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 2270 DPRT: 139 FLG: -A---- (0x10) SEQ: 0x0176c158 ACK: 0x0e1f8d50 WIN: 8760 HLEN: 20 CKSUM: 0xb577 (CORRECT) DLEN: 0 Packet 5 Packet Length: 60 Collected: Wed Mar 8 15:29:58.091157 2000 ETH Srce: 00:00:0c:20:00:12 ETH Dest: 00:60:08:31:e4:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 139.88.45.93 IP Dest: 139.88.44.112 Type: 0x6 (TCP) HLEN: 20 TTL: 125 LEN: 40 ID: 25928 CKSUM: 0x280a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 2270 DPRT: 139 FLG: -A---- (0x10) SEQ: 0x0176c158 ACK: 0x0e1f98b8 WIN: 8760 HLEN: 20 CKSUM: 0xaa0f (CORRECT) DLEN: 0 Packet 6 Packet Length: 1514 Collected: Wed Mar 8 15:29:58.092412 2000 ETH Srce: 00:60:08:31:e4:8c ETH Dest: 00:00:0c:20:00:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 139.88.44.112 IP Dest: 139.88.45.93 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 1500 ID: 52337 CKSUM: 0xb82c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 139 DPRT: 2270 FLG: -A---- (0x10) SEQ: 0x0e1f9e6c ACK: 0x0176c158 WIN: 8632 HLEN: 20 CKSUM: 0x0a01 (CORRECT) DLEN: 1460 data: 1460 bytes Packet 7 Packet Length: 1514 Collected: Wed Mar 8 15:29:58.093648 2000 ETH Srce: 00:60:08:31:e4:8c ETH Dest: 00:00:0c:20:00:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 139.88.44.112 IP Dest: 139.88.45.93 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 1500 ID: 52593 CKSUM: 0xb72c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 139 DPRT: 2270 FLG: -A---- (0x10) SEQ: 0x0e1fa420 ACK: 0x0176c158 WIN: 8632 HLEN: 20 CKSUM: 0xeed8 (CORRECT) DLEN: 1460 data: 1460 bytes Packet 8 Packet Length: 1514 Collected: Wed Mar 8 15:29:58.094891 2000 ETH Srce: 00:60:08:31:e4:8c ETH Dest: 00:00:0c:20:00:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 139.88.44.112 IP Dest: 139.88.45.93 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 1500 ID: 52849 CKSUM: 0xb62c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 139 DPRT: 2270 FLG: -A---- (0x10) SEQ: 0x0e1fa9d4 ACK: 0x0176c158 WIN: 8632 HLEN: 20 CKSUM: 0x7b7f (CORRECT) DLEN: 1460 data: 1460 bytes Packet 9 Packet Length: 1514 Collected: Wed Mar 8 15:29:58.096135 2000 ETH Srce: 00:60:08:31:e4:8c ETH Dest: 00:00:0c:20:00:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 139.88.44.112 IP Dest: 139.88.45.93 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 1500 ID: 53105 CKSUM: 0xb52c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 139 DPRT: 2270 FLG: -A---- (0x10) SEQ: 0x0e1faf88 ACK: 0x0176c158 WIN: 8632 HLEN: 20 CKSUM: 0xd023 (CORRECT) DLEN: 1460 data: 1460 bytes Packet 10 Packet Length: 1514 Collected: Wed Mar 8 15:29:58.097384 2000 ETH Srce: 00:60:08:31:e4:8c ETH Dest: 00:00:0c:20:00:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 139.88.44.112 IP Dest: 139.88.45.93 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 1500 ID: 53361 CKSUM: 0xb42c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 139 DPRT: 2270 FLG: -A---- (0x10) SEQ: 0x0e1fb53c ACK: 0x0176c158 WIN: 8632 HLEN: 20 CKSUM: 0xa89f (CORRECT) DLEN: 1460 data: 1460 bytes 10 packets seen, 9 TCP packets traced trace file elapsed time: 0:00:00.012379 bad IP checksums: 0 bad TCP checksums: 1 TCP connection info: 1: 139.88.45.93:2270 - 139.88.44.112:139 (a2b) 3> 6< tcptrace-6.6.7/input/OUTPUTbench/bad_tcp_checksum.dmp.gz.short0100644001217500001440000000033307253211551024003 0ustar mramadasusers1 arg remaining, starting with 'bad_tcp_checksum.dmp.gz' 10 packets seen, 10 TCP packets traced trace file elapsed time: 0:00:00.012379 TCP connection info: 1: 139.88.44.112:139 - 139.88.45.93:2270 (a2b) 7> 3< tcptrace-6.6.7/input/OUTPUTbench/bad_tcp_checksum.dmp.gz.xplots.cksum0100644001217500001440000000040007751776616025336 0ustar mramadasusers2412869863 2261 a2b_owin.xpl 3599292829 1225 a2b_ssize.xpl 2427541600 331 a2b_tput.xpl 2758536695 1550 a2b_tsg.xpl 722592821 1986 a_b_tline.xpl 4228329452 875 b2a_owin.xpl 2854328153 125 b2a_ssize.xpl 613936023 116 b2a_tput.xpl 1574063076 1483 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/badsyns.dmp.gz.long0100644001217500001440000002437107672375062022015 0ustar mramadasusers1 arg remaining, starting with 'badsyns.dmp.gz' 17 packets seen, 17 TCP packets traced trace file elapsed time: 0:03:23.788559 TCP connection info: 2 TCP connections traced: TCP connection 1: host a: 132.235.67.36:1700 host b: 132.235.67.21:9080 complete conn: no (SYNs: 1) (FINs: 0) first packet: Wed Nov 25 09:29:23.422612 1998 last packet: Wed Nov 25 09:30:05.298931 1998 elapsed time: 0:00:41.876319 total packets: 4 filename: badsyns.dmp.gz a->b: b->a: total packets: 4 total packets: 0 ack pkts sent: 0 ack pkts sent: 0 pure acks sent: 0 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 3 rexmt data pkts: 0 rexmt data bytes: 3 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 4/0 SYN/FIN pkts sent: 0/0 req 1323 ws/ts: Y/Y req 1323 ws/ts: N/N adv wind scale: 0 adv wind scale: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 16384 bytes max win adv: 0 bytes min win adv: 16384 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 16384 bytes avg win adv: 0 bytes max owin: 0 bytes max owin: 0 bytes min non-zero owin: 0 bytes min non-zero owin: 0 bytes avg owin: 0 bytes avg owin: 0 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 161912.2 ms idletime max: NA ms throughput: 0 Bps throughput: 0 Bps RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 3 max # retrans: 0 min retr time: 5869.8 ms min retr time: 0.0 ms max retr time: 24005.4 ms max retr time: 0.0 ms avg retr time: 13958.3 ms avg retr time: 0.0 ms sdv retr time: 9225.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 132.235.67.36:1700 host d: 132.235.67.21:9080 complete conn: yes first packet: Wed Nov 25 09:32:40.470421 1998 last packet: Wed Nov 25 09:32:47.211172 1998 elapsed time: 0:00:06.740751 total packets: 13 filename: badsyns.dmp.gz c->d: d->c: total packets: 9 total packets: 4 ack pkts sent: 8 ack pkts sent: 4 pure acks sent: 2 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 6231 unique bytes sent: 0 actual data pkts: 6 actual data pkts: 0 actual data bytes: 7679 actual data bytes: 0 rexmt data pkts: 1 rexmt data pkts: 0 rexmt data bytes: 1448 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 0 adv wind scale: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 439 bytes min segm size: 0 bytes avg segm size: 1279 bytes avg segm size: 0 bytes max win adv: 17520 bytes max win adv: 65535 bytes min win adv: 17520 bytes min win adv: 64088 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 17520 bytes avg win adv: 65052 bytes max owin: 2897 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1304 bytes avg owin: 1 bytes wavg owin: 1706 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 6231 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 7355 bytes truncated data: 0 bytes truncated packets: 6 pkts truncated packets: 0 pkts data xmit time: 3.873 secs data xmit time: 0.000 secs idletime max: 1918.7 ms idletime max: 3732.7 ms throughput: 924 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 939.6 ms RTT min: 0.1 ms RTT max: 1035.0 ms RTT max: 0.2 ms RTT avg: 998.3 ms RTT avg: 0.2 ms RTT stdev: 51.4 ms RTT stdev: 0.0 ms RTT from 3WHS: 939.6 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 2 RTT full_sz smpls: 1 RTT full_sz min: 1020.3 ms RTT full_sz min: 0.1 ms RTT full_sz max: 1035.0 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 1027.6 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 1 post-loss acks: 0 segs cum acked: 2 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 1 max # retrans: 0 min retr time: 1812.4 ms min retr time: 0.0 ms max retr time: 1812.4 ms max retr time: 0.0 ms avg retr time: 1812.2 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/badsyns.dmp.gz.packets0100644001217500001440000002435207302732554022500 0ustar mramadasusers1 arg remaining, starting with 'badsyns.dmp.gz' Packet 1 Packet Length: 74 Collected: Wed Nov 25 09:29:23.422612 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 60 ID: 6913 CKSUM: 0xcfab (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0x6261df04 ACK: 0x00000000 WIN: 16384 HLEN: 40 CKSUM: 0xf989 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(0) TS(5612,0) Packet 2 Packet Length: 74 Collected: Wed Nov 25 09:29:29.292397 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 60 ID: 8177 CKSUM: 0xcabb (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0x6261df04 ACK: 0x00000000 WIN: 16384 HLEN: 40 CKSUM: 0xf97e (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(0) TS(5623,0) Packet 3 Packet Length: 74 Collected: Wed Nov 25 09:29:41.293485 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 60 ID: 10701 CKSUM: 0xc0df (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0x6261df04 ACK: 0x00000000 WIN: 16384 HLEN: 40 CKSUM: 0xf966 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(0) TS(5647,0) Packet 4 Packet Length: 74 Collected: Wed Nov 25 09:30:05.298931 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 60 ID: 15918 CKSUM: 0xac7e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0x6261df04 ACK: 0x00000000 WIN: 16384 HLEN: 40 CKSUM: 0xf936 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(0) TS(5695,0) Packet 5 Packet Length: 74 Collected: Wed Nov 25 09:32:40.470421 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 60 ID: 50614 CKSUM: 0x24f6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0xa6a7ca89 ACK: 0x00000000 WIN: 16384 HLEN: 40 CKSUM: 0xc834 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(0) TS(6006,0) Packet 6 Packet Length: 74 Collected: Wed Nov 25 09:32:41.410044 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 60 ID: 17809 CKSUM: 0xa71b (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 1700 FLG: -A--S- (0x12) SEQ: 0x17748010 ACK: 0xa6a7ca8a WIN: 16384 HLEN: 40 CKSUM: 0x9333 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(0) TS(171369,6006) Packet 7 Packet Length: 66 Collected: Wed Nov 25 09:32:41.410271 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 50850 CKSUM: 0x2412 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xa6a7ca8a ACK: 0x17748011 WIN: 17520 HLEN: 32 CKSUM: 0xba85 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(6008,171369) Packet 8 Packet Length: 1514 (saved length 120) Collected: Wed Nov 25 09:32:41.419890 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 50851 CKSUM: 0x1e69 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xa6a7ca8a ACK: 0x17748011 WIN: 17520 HLEN: 32 CKSUM: 0xb4dd (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(6008,171369) data: 1448 bytes Packet 9 Packet Length: 66 Collected: Wed Nov 25 09:32:42.454890 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 17967 CKSUM: 0x6685 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 1700 FLG: -A---- (0x10) SEQ: 0x17748011 ACK: 0xa6a7d032 WIN: 65535 HLEN: 32 CKSUM: 0xf94b (CORRECT) DLEN: 0 OPTS: 12 bytes TS(171371,6008) Packet 10 Packet Length: 1514 (saved length 120) Collected: Wed Nov 25 09:32:42.456841 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 51149 CKSUM: 0x1d3f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xa6a7d032 ACK: 0x17748011 WIN: 17520 HLEN: 32 CKSUM: 0xaf33 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(6010,171369) data: 1448 bytes Packet 11 Packet Length: 1514 (saved length 120) Collected: Wed Nov 25 09:32:42.458090 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 51150 CKSUM: 0x1d3e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xa6a7d5da ACK: 0x17748011 WIN: 17520 HLEN: 32 CKSUM: 0xa98b (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(6010,171369) data: 1448 bytes Packet 12 Packet Length: 66 Collected: Wed Nov 25 09:32:43.478400 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 18095 CKSUM: 0x6605 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 1700 FLG: -A---- (0x10) SEQ: 0x17748011 ACK: 0xa6a7db82 WIN: 64088 HLEN: 32 CKSUM: 0xf39e (CORRECT) DLEN: 0 OPTS: 12 bytes TS(171373,6010) Packet 13 Packet Length: 1514 (saved length 120) Collected: Wed Nov 25 09:32:43.480078 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 51323 CKSUM: 0x1c91 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xa6a7db82 ACK: 0x17748011 WIN: 17520 HLEN: 32 CKSUM: 0xa3e1 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(6012,171369) data: 1448 bytes Packet 14 Packet Length: 505 (saved length 120) Collected: Wed Nov 25 09:32:43.480378 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 491 ID: 51324 CKSUM: 0x2081 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: -AP--F (0x19) SEQ: 0xa6a7e12a ACK: 0x17748011 WIN: 17520 HLEN: 32 CKSUM: 0xa221 (too short to verify) DLEN: 439 (only 54 bytes in dump file) OPTS: 12 bytes TS(6012,171369) data: 439 bytes Packet 15 Packet Length: 1514 (saved length 120) Collected: Wed Nov 25 09:32:45.292433 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 51646 CKSUM: 0x1b4e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xa6a7db82 ACK: 0x17748011 WIN: 17520 HLEN: 32 CKSUM: 0xa3de (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(6015,171369) data: 1448 bytes Packet 16 Packet Length: 66 Collected: Wed Nov 25 09:32:47.211080 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 18679 CKSUM: 0x63bd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 1700 FLG: -A---F (0x11) SEQ: 0x17748011 ACK: 0xa6a7e2e2 WIN: 65535 HLEN: 32 CKSUM: 0xe68d (CORRECT) DLEN: 0 OPTS: 12 bytes TS(171380,6012) Packet 17 Packet Length: 66 Collected: Wed Nov 25 09:32:47.211172 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 52069 CKSUM: 0x1f4f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1700 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0xa6a7e2e2 ACK: 0x17748012 WIN: 17520 HLEN: 32 CKSUM: 0xa216 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(6019,171380) 17 packets seen, 17 TCP packets traced trace file elapsed time: 0:03:23.788559 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.67.36:1700 - 132.235.67.21:9080 (a2b) 4> 0< (unidirectional) 2: 132.235.67.36:1700 - 132.235.67.21:9080 (c2d) 9> 4< (complete) tcptrace-6.6.7/input/OUTPUTbench/badsyns.dmp.gz.short0100644001217500001440000000046107253211552022173 0ustar mramadasusers1 arg remaining, starting with 'badsyns.dmp.gz' 17 packets seen, 17 TCP packets traced trace file elapsed time: 0:03:23.788559 TCP connection info: 1: 132.235.67.36:1700 - 132.235.67.21:9080 (a2b) 4> 0< (unidirectional) 2: 132.235.67.36:1700 - 132.235.67.21:9080 (c2d) 9> 4< (complete) tcptrace-6.6.7/input/OUTPUTbench/badsyns.dmp.gz.xplots.cksum0100644001217500001440000000102407751776617023527 0ustar mramadasusers293841553 129 a2b_owin.xpl 122707759 127 a2b_ssize.xpl 1392997788 118 a2b_tput.xpl 3902425936 852 a2b_tsg.xpl 1787309671 925 a_b_tline.xpl 2292235016 129 b2a_owin.xpl 740553723 127 b2a_ssize.xpl 2519932109 123 b2a_tsg.xpl 1569154668 2250 c2d_owin.xpl 1963093619 333 c2d_rtt.xpl 3824786269 1065 c2d_ssize.xpl 1528210320 321 c2d_tput.xpl 1194395967 2198 c2d_tsg.xpl 663635862 2531 c_d_tline.xpl 1842754414 885 d2c_owin.xpl 3257076635 209 d2c_rtt.xpl 740553723 127 d2c_ssize.xpl 4289611792 118 d2c_tput.xpl 2361838732 2091 d2c_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/chdlc.erf.gz.long0100644001217500001440000003551107717464074021423 0ustar mramadasusers1 arg remaining, starting with 'chdlc.erf.gz' 3 packets seen, 3 TCP packets traced trace file elapsed time: 0:00:00.000402 TCP connection info: 3 TCP connections traced: TCP connection 1: host a: 1.30.197.172:0 host b: 198.19.1.1:0 complete conn: no (SYNs: 0) (FINs: 0) first packet: Fri Jun 22 05:53:38.532316 2001 last packet: Fri Jun 22 05:53:38.532316 2001 elapsed time: 0:00:00.000000 total packets: 1 filename: chdlc.erf.gz a->b: b->a: total packets: 1 total packets: 0 ack pkts sent: 0 ack pkts sent: 0 pure acks sent: 0 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 264 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 264 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 264 bytes max segm size: 0 bytes min segm size: 264 bytes min segm size: 0 bytes avg segm size: 263 bytes avg segm size: 0 bytes max win adv: 0 bytes max win adv: 0 bytes min win adv: 0 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 0 bytes avg win adv: 0 bytes max owin: 264 bytes max owin: 0 bytes min non-zero owin: 264 bytes min non-zero owin: 0 bytes avg owin: 264 bytes avg owin: 0 bytes wavg owin: NA wavg owin: NA initial window: 264 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 0.4 ms idletime max: NA ms throughput: NA throughput: NA RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 1.30.197.173:0 host d: 198.19.1.1:0 complete conn: no (SYNs: 0) (FINs: 0) first packet: Fri Jun 22 05:53:38.532517 2001 last packet: Fri Jun 22 05:53:38.532517 2001 elapsed time: 0:00:00.000000 total packets: 1 filename: chdlc.erf.gz c->d: d->c: total packets: 1 total packets: 0 ack pkts sent: 0 ack pkts sent: 0 pure acks sent: 0 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 264 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 264 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 264 bytes max segm size: 0 bytes min segm size: 264 bytes min segm size: 0 bytes avg segm size: 263 bytes avg segm size: 0 bytes max win adv: 0 bytes max win adv: 0 bytes min win adv: 0 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 0 bytes avg win adv: 0 bytes max owin: 264 bytes max owin: 0 bytes min non-zero owin: 264 bytes min non-zero owin: 0 bytes avg owin: 264 bytes avg owin: 0 bytes wavg owin: NA wavg owin: NA initial window: 264 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 0.2 ms idletime max: NA ms throughput: NA throughput: NA RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 3: host e: 1.30.197.174:0 host f: 198.19.1.1:0 complete conn: no (SYNs: 0) (FINs: 0) first packet: Fri Jun 22 05:53:38.532718 2001 last packet: Fri Jun 22 05:53:38.532718 2001 elapsed time: 0:00:00.000000 total packets: 1 filename: chdlc.erf.gz e->f: f->e: total packets: 1 total packets: 0 ack pkts sent: 0 ack pkts sent: 0 pure acks sent: 0 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 264 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 264 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 264 bytes max segm size: 0 bytes min segm size: 264 bytes min segm size: 0 bytes avg segm size: 263 bytes avg segm size: 0 bytes max win adv: 0 bytes max win adv: 0 bytes min win adv: 0 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 0 bytes avg win adv: 0 bytes max owin: 264 bytes max owin: 0 bytes min non-zero owin: 264 bytes min non-zero owin: 0 bytes avg owin: 264 bytes avg owin: 0 bytes wavg owin: NA wavg owin: NA initial window: 264 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 0.0 ms idletime max: NA ms throughput: NA throughput: NA RTT samples: 0 RTT samples: 0 RTT min: 0.0 ms RTT min: 0.0 ms RTT max: 0.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 0 RTT full_sz min: 0.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/chdlc.erf.gz.packets0100644001217500001440000000334307717464074022114 0ustar mramadasusers1 arg remaining, starting with 'chdlc.erf.gz' Packet 1 Packet Length: 308 Collected: Fri Jun 22 05:53:38.532316 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 1.30.197.172 IP Dest: 198.19.1.1 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 304 ID: 0 CKSUM: 0xebe9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 0 DPRT: 0 FLG: ------ (0x00) SEQ: 0xffeb0000 ACK: 0x00000000 WIN: 0 HLEN: 20 CKSUM: 0xd187 (WRONG) DLEN: 264 data: 264 bytes Packet 2 Packet Length: 308 Collected: Fri Jun 22 05:53:38.532517 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 1.30.197.173 IP Dest: 198.19.1.1 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 304 ID: 0 CKSUM: 0xebe8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 0 DPRT: 0 FLG: ------ (0x00) SEQ: 0xffeb0000 ACK: 0x00000000 WIN: 0 HLEN: 20 CKSUM: 0xd187 (WRONG) DLEN: 264 data: 264 bytes Packet 3 Packet Length: 308 Collected: Fri Jun 22 05:53:38.532718 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 1.30.197.174 IP Dest: 198.19.1.1 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 304 ID: 0 CKSUM: 0xebe7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 0 DPRT: 0 FLG: ------ (0x00) SEQ: 0xffeb0000 ACK: 0x00000000 WIN: 0 HLEN: 20 CKSUM: 0xd187 (WRONG) DLEN: 264 data: 264 bytes 3 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:00.000402 bad IP checksums: 0 bad TCP checksums: 3 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/chdlc.erf.gz.short0100644001217500001440000000054607717464074021623 0ustar mramadasusers1 arg remaining, starting with 'chdlc.erf.gz' 3 packets seen, 3 TCP packets traced trace file elapsed time: 0:00:00.000402 TCP connection info: 1: 1.30.197.172:0 - 198.19.1.1:0 (a2b) 1> 0< (unidirectional) 2: 1.30.197.173:0 - 198.19.1.1:0 (c2d) 1> 0< (unidirectional) 3: 1.30.197.174:0 - 198.19.1.1:0 (e2f) 1> 0< (unidirectional) tcptrace-6.6.7/input/OUTPUTbench/chdlc.erf.gz.xplots.cksum0100644001217500001440000000123507751776617023141 0ustar mramadasusers3667628773 208 a2b_owin.xpl 2155300841 176 a2b_ssize.xpl 1087705472 108 a2b_tput.xpl 3120994518 250 a2b_tsg.xpl 3515214861 335 a_b_tline.xpl 3982467648 119 b2a_owin.xpl 1059353779 117 b2a_ssize.xpl 4091063571 113 b2a_tsg.xpl 3069806376 208 c2d_owin.xpl 1711274208 176 c2d_ssize.xpl 3117389154 108 c2d_tput.xpl 2806574904 250 c2d_tsg.xpl 449297985 319 c_d_tline.xpl 1168536259 119 d2c_owin.xpl 3071741439 117 d2c_ssize.xpl 2758863174 113 d2c_tsg.xpl 2666506732 208 e2f_owin.xpl 784696714 176 e2f_ssize.xpl 1594372258 108 e2f_tput.xpl 1800707814 250 e2f_tsg.xpl 2932474716 319 e_f_tline.xpl 302540691 119 f2e_owin.xpl 46941634 117 f2e_ssize.xpl 115878234 113 f2e_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/discard.solaris.dmp.gz.long0100644001217500001440000006417307672375062023442 0ustar mramadasusers1 arg remaining, starting with 'discard.solaris.dmp.gz' 2550 packets seen, 2550 TCP packets traced trace file elapsed time: 0:00:38.349719 TCP connection info: 5 TCP connections traced: TCP connection 1: host a: 132.235.1.184:35651 host b: 132.235.1.2:9 complete conn: RESET (SYNs: 1) (FINs: 0) first packet: Thu Aug 4 16:47:57.261947 1994 last packet: Thu Aug 4 16:47:57.263033 1994 elapsed time: 0:00:00.001086 total packets: 2 filename: discard.solaris.dmp.gz a->b: b->a: total packets: 1 total packets: 1 resets sent: 0 resets sent: 1 ack pkts sent: 0 ack pkts sent: 1 pure acks sent: 0 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 8760 bytes max win adv: 0 bytes min win adv: 8760 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 0 bytes max owin: 0 bytes max owin: 0 bytes min non-zero owin: 0 bytes min non-zero owin: 0 bytes avg owin: 0 bytes avg owin: 0 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 0.0 ms idletime max: 0.0 ms throughput: 0 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 0 RTT min: 1.1 ms RTT min: 0.0 ms RTT max: 1.1 ms RTT max: 0.0 ms RTT avg: 1.1 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.1 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 1.1 ms RTT full_sz min: 0.0 ms RTT full_sz max: 1.1 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 1.1 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 132.235.1.184:35652 host d: 132.235.2.1:9 complete conn: RESET (SYNs: 1) (FINs: 0) first packet: Thu Aug 4 16:48:03.250874 1994 last packet: Thu Aug 4 16:48:03.255572 1994 elapsed time: 0:00:00.004698 total packets: 2 filename: discard.solaris.dmp.gz c->d: d->c: total packets: 1 total packets: 1 resets sent: 0 resets sent: 1 ack pkts sent: 0 ack pkts sent: 1 pure acks sent: 0 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 8760 bytes max win adv: 0 bytes min win adv: 8760 bytes min win adv: 0 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 0 bytes max owin: 0 bytes max owin: 0 bytes min non-zero owin: 0 bytes min non-zero owin: 0 bytes avg owin: 0 bytes avg owin: 0 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 0.0 ms idletime max: 0.0 ms throughput: 0 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 0 RTT min: 4.7 ms RTT min: 0.0 ms RTT max: 4.7 ms RTT max: 0.0 ms RTT avg: 4.7 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 4.7 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 4.7 ms RTT full_sz min: 0.0 ms RTT full_sz max: 4.7 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 4.7 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 3: host e: 132.235.1.184:35653 host f: 132.235.3.134:9 complete conn: yes first packet: Thu Aug 4 16:48:06.166396 1994 last packet: Thu Aug 4 16:48:08.236911 1994 elapsed time: 0:00:02.070514 total packets: 1040 filename: discard.solaris.dmp.gz e->f: f->e: total packets: 604 total packets: 436 ack pkts sent: 603 ack pkts sent: 436 pure acks sent: 2 pure acks sent: 434 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 819200 unique bytes sent: 0 actual data pkts: 600 actual data pkts: 0 actual data bytes: 819200 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 2 outoforder pkts: 0 pushed data pkts: 39 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1460 bytes max segm size: 0 bytes min segm size: 892 bytes min segm size: 0 bytes avg segm size: 1365 bytes avg segm size: 0 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 1744 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 3241 bytes max owin: 3813 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 2165 bytes avg owin: 1 bytes wavg owin: 2197 bytes wavg owin: 0 bytes initial window: 1460 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 819200 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 794000 bytes truncated data: 0 bytes truncated packets: 600 pkts truncated packets: 0 pkts data xmit time: 1.875 secs data xmit time: 0.000 secs idletime max: 226.5 ms idletime max: 167.4 ms throughput: 395650 Bps throughput: 0 Bps RTT samples: 311 RTT samples: 2 RTT min: 0.4 ms RTT min: 0.6 ms RTT max: 85.0 ms RTT max: 50.6 ms RTT avg: 1.9 ms RTT avg: 25.6 ms RTT stdev: 4.7 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.3 ms RTT from 3WHS: 50.6 ms RTT full_sz smpls: 273 RTT full_sz smpls: 1 RTT full_sz min: 1.2 ms RTT full_sz min: 0.6 ms RTT full_sz max: 85.0 ms RTT full_sz max: 0.6 ms RTT full_sz avg: 1.9 ms RTT full_sz avg: 0.6 ms RTT full_sz stdev: 5.1 ms RTT full_sz stdev: 0.0 ms post-loss acks: 2 post-loss acks: 0 segs cum acked: 289 segs cum acked: 0 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 4: host g: 132.235.1.184:35654 host h: 132.235.1.221:9 complete conn: yes first packet: Thu Aug 4 16:48:11.951023 1994 last packet: Thu Aug 4 16:48:14.456877 1994 elapsed time: 0:00:02.505853 total packets: 1380 filename: discard.solaris.dmp.gz g->h: h->g: total packets: 655 total packets: 725 ack pkts sent: 654 ack pkts sent: 725 pure acks sent: 2 pure acks sent: 723 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 819200 unique bytes sent: 0 actual data pkts: 651 actual data pkts: 0 actual data bytes: 888196 actual data bytes: 0 rexmt data pkts: 51 rexmt data pkts: 0 rexmt data bytes: 68996 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 216 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1436 bytes max segm size: 1436 bytes max segm size: 0 bytes min segm size: 1012 bytes min segm size: 0 bytes avg segm size: 1364 bytes avg segm size: 0 bytes max win adv: 10052 bytes max win adv: 8192 bytes min win adv: 8760 bytes min win adv: 88 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 10050 bytes avg win adv: 7018 bytes max owin: 8193 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 5151 bytes avg owin: 1 bytes wavg owin: 3867 bytes wavg owin: 0 bytes initial window: 1436 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 819200 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 860854 bytes truncated data: 0 bytes truncated packets: 651 pkts truncated packets: 0 pkts data xmit time: 2.165 secs data xmit time: 0.000 secs idletime max: 134.4 ms idletime max: 144.6 ms throughput: 326914 Bps throughput: 0 Bps RTT samples: 281 RTT samples: 2 RTT min: 0.7 ms RTT min: 0.5 ms RTT max: 11.9 ms RTT max: 47.5 ms RTT avg: 7.1 ms RTT avg: 24.0 ms RTT stdev: 2.7 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.0 ms RTT from 3WHS: 47.5 ms RTT full_sz smpls: 231 RTT full_sz smpls: 1 RTT full_sz min: 1.7 ms RTT full_sz min: 0.5 ms RTT full_sz max: 11.9 ms RTT full_sz max: 0.5 ms RTT full_sz avg: 7.2 ms RTT full_sz avg: 0.5 ms RTT full_sz stdev: 2.7 ms RTT full_sz stdev: 0.0 ms post-loss acks: 54 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 4 ambiguous acks: 0 RTT min (last): 1.9 ms RTT min (last): 0.0 ms RTT max (last): 2.2 ms RTT max (last): 0.0 ms RTT avg (last): 2.0 ms RTT avg (last): 0.0 ms RTT sdv (last): 0.1 ms RTT sdv (last): 0.0 ms segs cum acked: 263 segs cum acked: 0 duplicate acks: 307 duplicate acks: 1 triple dupacks: 51 triple dupacks: 0 max # retrans: 1 max # retrans: 0 min retr time: 9.3 ms min retr time: 0.0 ms max retr time: 18.2 ms max retr time: 0.0 ms avg retr time: 12.9 ms avg retr time: 0.0 ms sdv retr time: 1.6 ms sdv retr time: 0.0 ms ================================ TCP connection 5: host i: 132.235.1.184:35655 host j: 132.235.201.18:9 complete conn: no (SYNs: 2) (FINs: 1) first packet: Thu Aug 4 16:48:21.933818 1994 last packet: Thu Aug 4 16:48:35.611666 1994 elapsed time: 0:00:13.677847 total packets: 126 filename: discard.solaris.dmp.gz i->j: j->i: total packets: 88 total packets: 38 ack pkts sent: 86 ack pkts sent: 38 pure acks sent: 2 pure acks sent: 37 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 28884 unique bytes sent: 0 actual data pkts: 84 actual data pkts: 0 actual data bytes: 114688 actual data bytes: 0 rexmt data pkts: 64 rexmt data pkts: 0 rexmt data bytes: 85806 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 12 pushed data pkts: 0 SYN/FIN pkts sent: 2/2 SYN/FIN pkts sent: 1/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1436 bytes max segm size: 1436 bytes max segm size: 0 bytes min segm size: 1012 bytes min segm size: 0 bytes avg segm size: 1365 bytes avg segm size: 0 bytes max win adv: 10052 bytes max win adv: 8192 bytes min win adv: 8760 bytes min win adv: 8192 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 10022 bytes avg win adv: 8192 bytes max owin: 6757 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 2743 bytes avg owin: 1 bytes wavg owin: 3995 bytes wavg owin: 0 bytes initial window: 1436 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 28884 bytes ttl stream length: NA missed data: 0 bytes missed data: NA truncated data: 111160 bytes truncated data: 0 bytes truncated packets: 84 pkts truncated packets: 0 pkts data xmit time: 12.652 secs data xmit time: 0.000 secs idletime max: 1027.7 ms idletime max: 640.3 ms hardware dups: 44 segs hardware dups: 0 segs ** WARNING: presence of hardware duplicates makes these figures suspect! throughput: 2112 Bps throughput: 0 Bps RTT samples: 0 RTT samples: 1 RTT min: 0.0 ms RTT min: 43.7 ms RTT max: 0.0 ms RTT max: 43.7 ms RTT avg: 0.0 ms RTT avg: 43.7 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 43.7 ms RTT full_sz smpls: 0 RTT full_sz smpls: 1 RTT full_sz min: 0.0 ms RTT full_sz min: 43.7 ms RTT full_sz max: 0.0 ms RTT full_sz max: 43.7 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 43.7 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 1 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 19 ambiguous acks: 0 RTT min (last): 19.0 ms RTT min (last): 0.0 ms RTT max (last): 1112.7 ms RTT max (last): 0.0 ms RTT avg (last): 359.2 ms RTT avg (last): 0.0 ms RTT sdv (last): 239.9 ms RTT sdv (last): 0.0 ms segs cum acked: 0 segs cum acked: 0 duplicate acks: 18 duplicate acks: 0 triple dupacks: 4 triple dupacks: 0 max # retrans: 5 max # retrans: 0 min retr time: 1.0 ms min retr time: 0.0 ms max retr time: 2898.0 ms max retr time: 0.0 ms avg retr time: 406.1 ms avg retr time: 0.0 ms sdv retr time: 746.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/discard.solaris.dmp.gz.packets0100644001217500001440000016137407302732555024130 0ustar mramadasusers1 arg remaining, starting with 'discard.solaris.dmp.gz' Packet 1 Packet Length: 60 Collected: Thu Aug 4 16:47:57.261947 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 22575 CKSUM: 0x170c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35651 DPRT: 9 FLG: ----S- (0x02) SEQ: 0x940689d0 ACK: 0x00000000 WIN: 8760 HLEN: 24 CKSUM: 0xc03a (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 2 Packet Length: 60 Collected: Thu Aug 4 16:47:57.263033 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 1005 CKSUM: 0x6e53 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35651 FLG: -A-R-- (0x14) SEQ: 0x00000000 ACK: 0x940689d1 WIN: 0 HLEN: 20 CKSUM: 0xfa1b (CORRECT) DLEN: 0 Packet 3 Packet Length: 60 Collected: Thu Aug 4 16:48:03.250874 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: aa:00:04:00:fd:b5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.2.1 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 28565 CKSUM: 0xfea6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35652 DPRT: 9 FLG: ----S- (0x02) SEQ: 0x941435d0 ACK: 0x00000000 WIN: 8760 HLEN: 24 CKSUM: 0x132d (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 4 Packet Length: 60 Collected: Thu Aug 4 16:48:03.255572 1994 ETH Srce: 08:00:2b:1d:6f:30 ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.2.1 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 43559 CKSUM: 0xc719 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35652 FLG: -A-R-- (0x14) SEQ: 0x00000000 ACK: 0x941435d1 WIN: 0 HLEN: 20 CKSUM: 0x4d0e (CORRECT) DLEN: 0 Packet 5 Packet Length: 60 Collected: Thu Aug 4 16:48:06.166396 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 9394 CKSUM: 0x4805 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: ----S- (0x02) SEQ: 0x941c05d0 ACK: 0x00000000 WIN: 8760 HLEN: 24 CKSUM: 0x419f (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 6 Packet Length: 60 Collected: Thu Aug 4 16:48:06.167702 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 44 ID: 34478 CKSUM: 0xe909 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A--S- (0x12) SEQ: 0x1fce9401 ACK: 0x941c05d1 WIN: 4096 HLEN: 24 CKSUM: 0x9ff6 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 7 Packet Length: 60 Collected: Thu Aug 4 16:48:06.218278 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 9395 CKSUM: 0x4808 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c05d1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xa57b (CORRECT) DLEN: 0 Packet 8 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.329428 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9396 CKSUM: 0x4253 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -AP--- (0x18) SEQ: 0x941c05d1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x77b5 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 9 Packet Length: 60 Collected: Thu Aug 4 16:48:06.332186 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34479 CKSUM: 0xe90c (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c0b85 WIN: 4096 HLEN: 20 CKSUM: 0xb1ff (CORRECT) DLEN: 0 Packet 10 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.333881 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9397 CKSUM: 0x4252 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c0b85 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x3a73 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 11 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.335090 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9398 CKSUM: 0x4251 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -AP--- (0x18) SEQ: 0x941c1139 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x7b5c (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 12 Packet Length: 60 Collected: Thu Aug 4 16:48:06.336971 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34480 CKSUM: 0xe90b (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c16ed WIN: 3224 HLEN: 20 CKSUM: 0xa9ff (CORRECT) DLEN: 0 Packet 13 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.338560 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9399 CKSUM: 0x4250 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c16ed ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xb6f1 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 14 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.339827 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9400 CKSUM: 0x424f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c1ca1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x79a7 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 15 Packet Length: 60 Collected: Thu Aug 4 16:48:06.341171 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34481 CKSUM: 0xe90a (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c2255 WIN: 2200 HLEN: 20 CKSUM: 0xa297 (CORRECT) DLEN: 0 Packet 16 Packet Length: 946 (saved length 96) Collected: Thu Aug 4 16:48:06.342295 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 932 ID: 9401 CKSUM: 0x4486 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c2255 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xb0c3 (too short to verify) DLEN: 892 (only 42 bytes in dump file) data: 892 bytes Packet 17 Packet Length: 60 Collected: Thu Aug 4 16:48:06.342526 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34482 CKSUM: 0xe909 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c2255 WIN: 4096 HLEN: 20 CKSUM: 0x9b2f (CORRECT) DLEN: 0 Packet 18 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.344161 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9402 CKSUM: 0x424d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c25d1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x57bd (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 19 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.345300 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9403 CKSUM: 0x424c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c2b85 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x1a73 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 20 Packet Length: 60 Collected: Thu Aug 4 16:48:06.347160 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34483 CKSUM: 0xe908 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c3139 WIN: 2200 HLEN: 20 CKSUM: 0x93b3 (CORRECT) DLEN: 0 Packet 21 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.348436 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9404 CKSUM: 0x424b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c3139 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x5b64 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 22 Packet Length: 60 Collected: Thu Aug 4 16:48:06.348663 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34484 CKSUM: 0xe907 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c3139 WIN: 4096 HLEN: 20 CKSUM: 0x8c4b (CORRECT) DLEN: 0 Packet 23 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.350165 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9405 CKSUM: 0x424a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c36ed ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x96f1 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 24 Packet Length: 60 Collected: Thu Aug 4 16:48:06.351566 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34485 CKSUM: 0xe906 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c3ca1 WIN: 3224 HLEN: 20 CKSUM: 0x844b (CORRECT) DLEN: 0 Packet 25 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.353132 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9406 CKSUM: 0x4249 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c3ca1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x59a7 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 26 Packet Length: 946 (saved length 96) Collected: Thu Aug 4 16:48:06.353889 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 932 ID: 9407 CKSUM: 0x4480 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c4255 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x90c3 (too short to verify) DLEN: 892 (only 42 bytes in dump file) data: 892 bytes Packet 27 Packet Length: 60 Collected: Thu Aug 4 16:48:06.355357 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34486 CKSUM: 0xe905 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c45d1 WIN: 2768 HLEN: 20 CKSUM: 0x7ce3 (CORRECT) DLEN: 0 Packet 28 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.356910 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9408 CKSUM: 0x4247 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c45d1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x37bd (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 29 Packet Length: 60 Collected: Thu Aug 4 16:48:06.358765 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34487 CKSUM: 0xe904 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c4b85 WIN: 3660 HLEN: 20 CKSUM: 0x73b3 (CORRECT) DLEN: 0 Packet 30 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.360887 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9409 CKSUM: 0x4246 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c4b85 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xfa72 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 31 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.362145 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9410 CKSUM: 0x4245 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c5139 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x3b64 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 32 Packet Length: 60 Collected: Thu Aug 4 16:48:06.363491 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34488 CKSUM: 0xe903 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c56ed WIN: 2200 HLEN: 20 CKSUM: 0x6dff (CORRECT) DLEN: 0 Packet 33 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.365175 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9411 CKSUM: 0x4244 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c56ed ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x76f1 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 34 Packet Length: 60 Collected: Thu Aug 4 16:48:06.365864 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34489 CKSUM: 0xe902 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c56ed WIN: 4096 HLEN: 20 CKSUM: 0x6697 (CORRECT) DLEN: 0 Packet 35 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.366777 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9412 CKSUM: 0x4243 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c5ca1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x39a7 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 36 Packet Length: 60 Collected: Thu Aug 4 16:48:06.368564 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34490 CKSUM: 0xe901 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c6255 WIN: 3224 HLEN: 20 CKSUM: 0x5e97 (CORRECT) DLEN: 0 Packet 37 Packet Length: 946 (saved length 96) Collected: Thu Aug 4 16:48:06.369624 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 932 ID: 9413 CKSUM: 0x447a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c6255 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x70c3 (too short to verify) DLEN: 892 (only 42 bytes in dump file) data: 892 bytes Packet 38 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.370837 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9414 CKSUM: 0x4241 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -AP--- (0x18) SEQ: 0x941c65d1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x17b5 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 39 Packet Length: 60 Collected: Thu Aug 4 16:48:06.372100 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34491 CKSUM: 0xe900 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c6b85 WIN: 2768 HLEN: 20 CKSUM: 0x572f (CORRECT) DLEN: 0 Packet 40 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.373726 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9415 CKSUM: 0x4240 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c6b85 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xda72 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 41 Packet Length: 60 Collected: Thu Aug 4 16:48:06.375220 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34492 CKSUM: 0xe8ff (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c7139 WIN: 3660 HLEN: 20 CKSUM: 0x4dff (CORRECT) DLEN: 0 Packet 42 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.376784 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9416 CKSUM: 0x423f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c7139 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x1b64 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 43 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.377992 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9417 CKSUM: 0x423e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c76ed ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x56f1 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 44 Packet Length: 60 Collected: Thu Aug 4 16:48:06.379345 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34493 CKSUM: 0xe8fe (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c7ca1 WIN: 2200 HLEN: 20 CKSUM: 0x484b (CORRECT) DLEN: 0 Packet 45 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.380920 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9418 CKSUM: 0x423d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c7ca1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x19a7 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 46 Packet Length: 60 Collected: Thu Aug 4 16:48:06.381161 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34494 CKSUM: 0xe8fd (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c7ca1 WIN: 4096 HLEN: 20 CKSUM: 0x40e3 (CORRECT) DLEN: 0 Packet 47 Packet Length: 946 (saved length 96) Collected: Thu Aug 4 16:48:06.382089 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 932 ID: 9419 CKSUM: 0x4474 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c8255 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x50c3 (too short to verify) DLEN: 892 (only 42 bytes in dump file) data: 892 bytes Packet 48 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.383332 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9420 CKSUM: 0x423b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -AP--- (0x18) SEQ: 0x941c85d1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xf7b4 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 49 Packet Length: 60 Collected: Thu Aug 4 16:48:06.384930 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34495 CKSUM: 0xe8fc (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c8b85 WIN: 2332 HLEN: 20 CKSUM: 0x38e3 (CORRECT) DLEN: 0 Packet 50 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.386755 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9421 CKSUM: 0x423a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c8b85 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xba72 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 51 Packet Length: 60 Collected: Thu Aug 4 16:48:06.387220 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34496 CKSUM: 0xe8fb (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c8b85 WIN: 4096 HLEN: 20 CKSUM: 0x31ff (CORRECT) DLEN: 0 Packet 52 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.388677 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9422 CKSUM: 0x4239 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c9139 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xfb63 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 53 Packet Length: 60 Collected: Thu Aug 4 16:48:06.388920 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34497 CKSUM: 0xe8fa (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c9139 WIN: 4096 HLEN: 20 CKSUM: 0x2c4b (CORRECT) DLEN: 0 Packet 54 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.390282 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9423 CKSUM: 0x4238 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c96ed ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x36f1 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 55 Packet Length: 60 Collected: Thu Aug 4 16:48:06.391733 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34498 CKSUM: 0xe8f9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941c9ca1 WIN: 3224 HLEN: 20 CKSUM: 0x244b (CORRECT) DLEN: 0 Packet 56 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.393276 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9424 CKSUM: 0x4237 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941c9ca1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xf9a6 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 57 Packet Length: 946 (saved length 96) Collected: Thu Aug 4 16:48:06.394031 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 932 ID: 9425 CKSUM: 0x446e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941ca255 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x30c3 (too short to verify) DLEN: 892 (only 42 bytes in dump file) data: 892 bytes Packet 58 Packet Length: 60 Collected: Thu Aug 4 16:48:06.395512 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34499 CKSUM: 0xe8f8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941ca5d1 WIN: 2768 HLEN: 20 CKSUM: 0x1ce3 (CORRECT) DLEN: 0 Packet 59 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.397214 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9426 CKSUM: 0x4235 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941ca5d1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xd7bc (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 60 Packet Length: 60 Collected: Thu Aug 4 16:48:06.398703 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34500 CKSUM: 0xe8f7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941cab85 WIN: 3660 HLEN: 20 CKSUM: 0x13b3 (CORRECT) DLEN: 0 Packet 61 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.400353 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9427 CKSUM: 0x4234 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941cab85 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x9a72 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 62 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.401561 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9428 CKSUM: 0x4233 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941cb139 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xdb63 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 63 Packet Length: 60 Collected: Thu Aug 4 16:48:06.402924 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34501 CKSUM: 0xe8f6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941cb6ed WIN: 2200 HLEN: 20 CKSUM: 0x0dff (CORRECT) DLEN: 0 Packet 64 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.404497 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9429 CKSUM: 0x4232 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941cb6ed ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x16f1 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 65 Packet Length: 60 Collected: Thu Aug 4 16:48:06.404732 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34502 CKSUM: 0xe8f5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941cb6ed WIN: 4096 HLEN: 20 CKSUM: 0x0697 (CORRECT) DLEN: 0 Packet 66 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.406202 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9430 CKSUM: 0x4231 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941cbca1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xd9a6 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 67 Packet Length: 946 (saved length 96) Collected: Thu Aug 4 16:48:06.406885 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 932 ID: 9431 CKSUM: 0x4468 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -AP--- (0x18) SEQ: 0x941cc255 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x10bb (too short to verify) DLEN: 892 (only 42 bytes in dump file) data: 892 bytes Packet 68 Packet Length: 60 Collected: Thu Aug 4 16:48:06.408552 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34503 CKSUM: 0xe8f4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941cc5d1 WIN: 2332 HLEN: 20 CKSUM: 0xfe96 (CORRECT) DLEN: 0 Packet 69 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.410246 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9432 CKSUM: 0x422f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941cc5d1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xb7bc (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 70 Packet Length: 60 Collected: Thu Aug 4 16:48:06.410505 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34504 CKSUM: 0xe8f3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941cc5d1 WIN: 4096 HLEN: 20 CKSUM: 0xf7b2 (CORRECT) DLEN: 0 Packet 71 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.411737 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9433 CKSUM: 0x422e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941ccb85 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x7a72 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 72 Packet Length: 60 Collected: Thu Aug 4 16:48:06.413240 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34505 CKSUM: 0xe8f2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941cd139 WIN: 3224 HLEN: 20 CKSUM: 0xefb2 (CORRECT) DLEN: 0 Packet 73 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.414791 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9434 CKSUM: 0x422d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941cd139 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xbb63 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 74 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.415998 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9435 CKSUM: 0x422c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941cd6ed ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xf6f0 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 75 Packet Length: 60 Collected: Thu Aug 4 16:48:06.417436 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34506 CKSUM: 0xe8f1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941cdca1 WIN: 2200 HLEN: 20 CKSUM: 0xe84a (CORRECT) DLEN: 0 Packet 76 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.419055 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9436 CKSUM: 0x422b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941cdca1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xb9a6 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 77 Packet Length: 60 Collected: Thu Aug 4 16:48:06.419296 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34507 CKSUM: 0xe8f0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941cdca1 WIN: 4096 HLEN: 20 CKSUM: 0xe0e2 (CORRECT) DLEN: 0 Packet 78 Packet Length: 946 (saved length 96) Collected: Thu Aug 4 16:48:06.420285 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 932 ID: 9437 CKSUM: 0x4462 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941ce255 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xf0c2 (too short to verify) DLEN: 892 (only 42 bytes in dump file) data: 892 bytes Packet 79 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.421489 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9438 CKSUM: 0x4229 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941ce5d1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x97bc (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 80 Packet Length: 60 Collected: Thu Aug 4 16:48:06.423008 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34508 CKSUM: 0xe8ef (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941ceb85 WIN: 2332 HLEN: 20 CKSUM: 0xd8e2 (CORRECT) DLEN: 0 Packet 81 Packet Length: 60 Collected: Thu Aug 4 16:48:06.425242 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34509 CKSUM: 0xe8ee (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941ceb85 WIN: 4096 HLEN: 20 CKSUM: 0xd1fe (CORRECT) DLEN: 0 Packet 82 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.425629 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9439 CKSUM: 0x4228 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941ceb85 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x5a72 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 83 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.426860 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9440 CKSUM: 0x4227 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941cf139 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x9b63 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 84 Packet Length: 60 Collected: Thu Aug 4 16:48:06.428669 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34510 CKSUM: 0xe8ed (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941cf6ed WIN: 3224 HLEN: 20 CKSUM: 0xc9fe (CORRECT) DLEN: 0 Packet 85 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.430379 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9441 CKSUM: 0x4226 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941cf6ed ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xd6f0 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 86 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.431502 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9442 CKSUM: 0x4225 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -AP--- (0x18) SEQ: 0x941cfca1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x999e (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 87 Packet Length: 60 Collected: Thu Aug 4 16:48:06.432877 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34511 CKSUM: 0xe8ec (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941d0255 WIN: 2200 HLEN: 20 CKSUM: 0xc296 (CORRECT) DLEN: 0 Packet 88 Packet Length: 946 (saved length 96) Collected: Thu Aug 4 16:48:06.434058 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 932 ID: 9443 CKSUM: 0x445c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941d0255 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xd0c2 (too short to verify) DLEN: 892 (only 42 bytes in dump file) data: 892 bytes Packet 89 Packet Length: 60 Collected: Thu Aug 4 16:48:06.434292 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34512 CKSUM: 0xe8eb (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941d0255 WIN: 4096 HLEN: 20 CKSUM: 0xbb2e (CORRECT) DLEN: 0 Packet 90 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.435779 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9444 CKSUM: 0x4223 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941d05d1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x77bc (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 91 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.436981 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9445 CKSUM: 0x4222 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941d0b85 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x3a72 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 92 Packet Length: 60 Collected: Thu Aug 4 16:48:06.438453 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34513 CKSUM: 0xe8ea (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941d1139 WIN: 2200 HLEN: 20 CKSUM: 0xb3b2 (CORRECT) DLEN: 0 Packet 93 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.440162 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9446 CKSUM: 0x4221 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941d1139 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x7b63 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 94 Packet Length: 60 Collected: Thu Aug 4 16:48:06.440406 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34514 CKSUM: 0xe8e9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941d1139 WIN: 4096 HLEN: 20 CKSUM: 0xac4a (CORRECT) DLEN: 0 Packet 95 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.441707 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9447 CKSUM: 0x4220 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941d16ed ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xb6f0 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 96 Packet Length: 60 Collected: Thu Aug 4 16:48:06.443250 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34515 CKSUM: 0xe8e8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941d1ca1 WIN: 3224 HLEN: 20 CKSUM: 0xa44a (CORRECT) DLEN: 0 Packet 97 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.444862 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9448 CKSUM: 0x421f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941d1ca1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x79a6 (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes Packet 98 Packet Length: 946 (saved length 96) Collected: Thu Aug 4 16:48:06.445617 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 932 ID: 9449 CKSUM: 0x4456 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941d2255 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0xb0c2 (too short to verify) DLEN: 892 (only 42 bytes in dump file) data: 892 bytes Packet 99 Packet Length: 60 Collected: Thu Aug 4 16:48:06.447181 1994 ETH Srce: 08:00:20:10:4d:db ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.134 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 34516 CKSUM: 0xe8e7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 35653 FLG: -A---- (0x10) SEQ: 0x1fce9402 ACK: 0x941d25d1 WIN: 2768 HLEN: 20 CKSUM: 0x9ce2 (CORRECT) DLEN: 0 Packet 100 Packet Length: 1514 (saved length 96) Collected: Thu Aug 4 16:48:06.448803 1994 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:20:10:4d:db Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.134 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 1500 ID: 9450 CKSUM: 0x421d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 35653 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x941d25d1 ACK: 0x1fce9402 WIN: 8760 HLEN: 20 CKSUM: 0x57bc (too short to verify) DLEN: 1460 (only 42 bytes in dump file) data: 1460 bytes 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:09.186856 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.1.184:35651 - 132.235.1.2:9 (a2b) 1> 1< (reset) 2: 132.235.1.184:35652 - 132.235.2.1:9 (c2d) 1> 1< (reset) 3: 132.235.1.184:35653 - 132.235.3.134:9 (e2f) 57> 39< tcptrace-6.6.7/input/OUTPUTbench/discard.solaris.dmp.gz.short0100644001217500001440000000111707253211552023613 0ustar mramadasusers1 arg remaining, starting with 'discard.solaris.dmp.gz' 2550 packets seen, 2550 TCP packets traced trace file elapsed time: 0:00:38.349719 TCP connection info: 1: 132.235.1.184:35651 - 132.235.1.2:9 (a2b) 1> 1< (reset) 2: 132.235.1.184:35652 - 132.235.2.1:9 (c2d) 1> 1< (reset) 3: 132.235.1.184:35653 - 132.235.3.134:9 (e2f) 604> 436< (complete) 4: 132.235.1.184:35654 - 132.235.1.221:9 (g2h) 655> 725< (complete) 5: 132.235.1.184:35655 - 132.235.201.18:9 (i2j) 88> 38< ** Warning, i2j: detected 44 hardware duplicate(s) (same seq # and IP ID) tcptrace-6.6.7/input/OUTPUTbench/discard.solaris.dmp.gz.xplots.cksum0100644001217500001440000000155507751776617025161 0ustar mramadasusers3359967874 125 a2b_owin.xpl 739051954 135 a2b_rtt.xpl 1885032463 123 a2b_ssize.xpl 450082611 114 a2b_tput.xpl 1718341737 351 a2b_tsg.xpl 753449053 525 a_b_tline.xpl 1189726422 125 b2a_owin.xpl 223710956 123 b2a_ssize.xpl 299400916 114 b2a_tput.xpl 282654973 218 b2a_tsg.xpl 811169263 125 c2d_owin.xpl 643964083 135 c2d_rtt.xpl 848957676 123 c2d_ssize.xpl 2910164527 114 c2d_tput.xpl 1680029533 351 c2d_tsg.xpl 2742759657 525 c_d_tline.xpl 2291127419 125 d2c_owin.xpl 4012173156 123 d2c_ssize.xpl 3380656714 114 d2c_tput.xpl 1093956761 218 d2c_tsg.xpl 4063332650 185139 e2f_owin.xpl 3604205802 21033 e2f_rtt.xpl 2190779471 91567 e2f_ssize.xpl 731123304 31384 e2f_tput.xpl 2177377269 184812 e2f_tsg.xpl 1338798091 176412 e_f_tline.xpl 3381266558 122710 f2e_owin.xpl 2495884061 138 f2e_rtt.xpl 1123405081 125 f2e_ssize.xpl 601366973 116 f2e_tput.xpl 1938884194 144789 f2e_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/dlt_null.dmp.gz.long0100644001217500001440000001252207715773637022172 0ustar mramadasusers1 arg remaining, starting with 'dlt_null.dmp.gz' 470 packets seen, 470 TCP packets traced trace file elapsed time: 0:00:01.046289 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 10.0.0.3:1479 host b: 10.0.0.4:9000 complete conn: yes first packet: Fri Sep 5 13:47:33.254875 1997 last packet: Fri Sep 5 13:47:34.301165 1997 elapsed time: 0:00:01.046289 total packets: 470 filename: dlt_null.dmp.gz a->b: b->a: total packets: 241 total packets: 229 ack pkts sent: 240 ack pkts sent: 229 pure acks sent: 2 pure acks sent: 227 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 331296 unique bytes sent: 0 actual data pkts: 238 actual data pkts: 0 actual data bytes: 331296 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 214 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 0 adv wind scale: 0 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1392 bytes mss requested: 1392 bytes max segm size: 1392 bytes max segm size: 0 bytes min segm size: 1392 bytes min segm size: 0 bytes avg segm size: 1391 bytes avg segm size: 0 bytes max win adv: 16704 bytes max win adv: 16704 bytes min win adv: 16704 bytes min win adv: 15312 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 16704 bytes avg win adv: 15397 bytes max owin: 16705 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 14356 bytes avg owin: 1 bytes wavg owin: 12574 bytes wavg owin: 0 bytes initial window: 1392 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 331296 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 321776 bytes truncated data: 0 bytes truncated packets: 238 pkts truncated packets: 0 pkts data xmit time: 0.968 secs data xmit time: 0.000 secs idletime max: 41.3 ms idletime max: 40.1 ms throughput: 316639 Bps throughput: 0 Bps RTT samples: 228 RTT samples: 2 RTT min: 26.7 ms RTT min: 0.1 ms RTT max: 61.0 ms RTT max: 0.1 ms RTT avg: 38.1 ms RTT avg: 0.1 ms RTT stdev: 6.5 ms RTT stdev: 0.0 ms RTT from 3WHS: 35.8 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 41.2 ms RTT full_sz min: 0.1 ms RTT full_sz max: 41.2 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 41.2 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 11 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/dlt_null.dmp.gz.packets0100644001217500001440000016607207715773637022677 0ustar mramadasusers1 arg remaining, starting with 'dlt_null.dmp.gz' Packet 1 Packet Length: 68 Collected: Fri Sep 5 13:47:33.254875 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 13166 CKSUM: 0x3344 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: ----S- (0x02) SEQ: 0x260c3c00 ACK: 0x00000000 WIN: 16384 HLEN: 44 CKSUM: 0x9690 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1392) WS(0) TS(311470,0) SACKREQ Packet 2 Packet Length: 68 Collected: Fri Sep 5 13:47:33.290664 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 13168 CKSUM: 0x3342 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A--S- (0x12) SEQ: 0x260d3600 ACK: 0x260c3c01 WIN: 16704 HLEN: 44 CKSUM: 0x787f (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1392) WS(0) TS(311470,311470) SACKREQ Packet 3 Packet Length: 56 Collected: Fri Sep 5 13:47:33.290726 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13170 CKSUM: 0x334c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c3c01 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xb906 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311470,311470) Packet 4 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.291629 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13172 CKSUM: 0x2dda (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260c3c01 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xb38e (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311470,311470) data: 1392 bytes Packet 5 Packet Length: 56 Collected: Fri Sep 5 13:47:33.330699 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13174 CKSUM: 0x3348 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260c4171 WIN: 15312 HLEN: 32 CKSUM: 0xb906 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311470,311470) Packet 6 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.330784 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13176 CKSUM: 0x2dd6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c4171 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xae26 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311470,311470) data: 1392 bytes Packet 7 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.330817 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13177 CKSUM: 0x2dd5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c46e1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xa8b6 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311470,311470) data: 1392 bytes Packet 8 Packet Length: 56 Collected: Fri Sep 5 13:47:33.370652 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13180 CKSUM: 0x3342 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260c46e1 WIN: 16704 HLEN: 32 CKSUM: 0xae26 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311470,311470) Packet 9 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.370708 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13182 CKSUM: 0x2dd0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c4c51 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xa346 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311470,311470) data: 1392 bytes Packet 10 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.370735 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13183 CKSUM: 0x2dcf (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c51c1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x9dd6 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311470,311470) data: 1392 bytes Packet 11 Packet Length: 56 Collected: Fri Sep 5 13:47:33.410770 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13186 CKSUM: 0x333c (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260c51c1 WIN: 16704 HLEN: 32 CKSUM: 0xa346 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311470,311470) Packet 12 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.410836 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13190 CKSUM: 0x2dc8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c5731 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x9865 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 13 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.410865 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13191 CKSUM: 0x2dc7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c5ca1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x92f5 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 14 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.410889 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13192 CKSUM: 0x2dc6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c6211 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x8d85 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 15 Packet Length: 56 Collected: Fri Sep 5 13:47:33.430621 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13188 CKSUM: 0x333a (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260c5731 WIN: 16704 HLEN: 32 CKSUM: 0x9dd6 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311470,311470) Packet 16 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.430678 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13196 CKSUM: 0x2dc2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c6781 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x8815 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 17 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.430704 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13197 CKSUM: 0x2dc1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c6cf1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x82a5 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 18 Packet Length: 56 Collected: Fri Sep 5 13:47:33.453375 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13200 CKSUM: 0x332e (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260c6211 WIN: 16704 HLEN: 32 CKSUM: 0x92f4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 19 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.453433 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13204 CKSUM: 0x2dba (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c7261 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x7d35 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 20 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.453464 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13205 CKSUM: 0x2db9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c77d1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x77c5 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 21 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.453485 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13206 CKSUM: 0x2db8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c7d41 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x7255 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 22 Packet Length: 56 Collected: Fri Sep 5 13:47:33.470634 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13202 CKSUM: 0x332c (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260c6cf1 WIN: 16704 HLEN: 32 CKSUM: 0x8814 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 23 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.470686 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13210 CKSUM: 0x2db4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c82b1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x6ce5 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 24 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.470709 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13211 CKSUM: 0x2db3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c8821 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x6775 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 25 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.470729 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13212 CKSUM: 0x2db2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c8d91 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x6205 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 26 Packet Length: 56 Collected: Fri Sep 5 13:47:33.494625 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13216 CKSUM: 0x331e (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260c77d1 WIN: 16704 HLEN: 32 CKSUM: 0x7d34 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 27 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.494679 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13222 CKSUM: 0x2da8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c9301 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x5c95 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 28 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.494700 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13223 CKSUM: 0x2da7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c9871 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x5725 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 29 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.494721 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13224 CKSUM: 0x2da6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260c9de1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x51b5 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 30 Packet Length: 56 Collected: Fri Sep 5 13:47:33.495142 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13218 CKSUM: 0x331c (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260c82b1 WIN: 16704 HLEN: 32 CKSUM: 0x7254 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 31 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.495194 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13226 CKSUM: 0x2da4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260ca351 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x4c45 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 32 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.495216 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13227 CKSUM: 0x2da3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260ca8c1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x46d5 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 33 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.495235 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13228 CKSUM: 0x2da2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260cae31 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x4165 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 34 Packet Length: 56 Collected: Fri Sep 5 13:47:33.515955 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13220 CKSUM: 0x331a (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260c8d91 WIN: 16704 HLEN: 32 CKSUM: 0x6774 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 35 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.516007 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13238 CKSUM: 0x2d98 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260cb3a1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x3bf5 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 36 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.516028 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13239 CKSUM: 0x2d97 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260cb911 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x3685 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 37 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.516049 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13240 CKSUM: 0x2d96 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260cbe81 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x310d (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 38 Packet Length: 56 Collected: Fri Sep 5 13:47:33.530695 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13234 CKSUM: 0x330c (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260c9871 WIN: 16704 HLEN: 32 CKSUM: 0x5c94 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 39 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.530747 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13246 CKSUM: 0x2d90 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -A---- (0x10) SEQ: 0x260cc3f1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x2ba5 (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 40 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.530771 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13247 CKSUM: 0x2d8f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260cc961 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x262d (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 41 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.530823 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13248 CKSUM: 0x2d8e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260cced1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x20bd (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 42 Packet Length: 56 Collected: Fri Sep 5 13:47:33.531516 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13236 CKSUM: 0x330a (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260ca351 WIN: 16704 HLEN: 32 CKSUM: 0x51b4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 43 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.531571 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13250 CKSUM: 0x2d8c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260cd441 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x1b4d (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 44 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.531626 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13251 CKSUM: 0x2d8b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260cd9b1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x15dd (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 45 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.531670 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13252 CKSUM: 0x2d8a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260cdf21 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x106d (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 46 Packet Length: 56 Collected: Fri Sep 5 13:47:33.542340 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13244 CKSUM: 0x3302 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cae31 WIN: 16704 HLEN: 32 CKSUM: 0x46d4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 47 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.542443 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13262 CKSUM: 0x2d80 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260ce491 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x0afd (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 48 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.542488 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13263 CKSUM: 0x2d7f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260cea01 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x058d (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 49 Packet Length: 56 Collected: Fri Sep 5 13:47:33.548110 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13255 CKSUM: 0x32f7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cb911 WIN: 16704 HLEN: 32 CKSUM: 0x3bf4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 50 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.548208 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13270 CKSUM: 0x2d78 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260cef71 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x001d (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 51 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.548253 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13271 CKSUM: 0x2d77 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260cf4e1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xfaac (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 52 Packet Length: 56 Collected: Fri Sep 5 13:47:33.556608 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13260 CKSUM: 0x32f2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cc3f1 WIN: 15312 HLEN: 32 CKSUM: 0x3684 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 53 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.556712 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13282 CKSUM: 0x2d6c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260cfa51 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xf53c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 54 Packet Length: 56 Collected: Fri Sep 5 13:47:33.563063 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13266 CKSUM: 0x32ec (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cc961 WIN: 16704 HLEN: 32 CKSUM: 0x2ba4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 55 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.563113 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13290 CKSUM: 0x2d64 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260cffc1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xefcc (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 56 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.563168 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13291 CKSUM: 0x2d63 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d0531 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xea5c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 57 Packet Length: 56 Collected: Fri Sep 5 13:47:33.563529 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13268 CKSUM: 0x32ea (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cced1 WIN: 15312 HLEN: 32 CKSUM: 0x2ba4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 58 Packet Length: 56 Collected: Fri Sep 5 13:47:33.568084 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13274 CKSUM: 0x32e4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cd441 WIN: 15312 HLEN: 32 CKSUM: 0x2634 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 59 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.568171 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13296 CKSUM: 0x2d5e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d0aa1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xe4ec (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 60 Packet Length: 56 Collected: Fri Sep 5 13:47:33.568623 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13276 CKSUM: 0x32e2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cd9b1 WIN: 15312 HLEN: 32 CKSUM: 0x20c4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 61 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.568674 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13298 CKSUM: 0x2d5c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d1011 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xdf7c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 62 Packet Length: 56 Collected: Fri Sep 5 13:47:33.569061 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13278 CKSUM: 0x32e0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cdf21 WIN: 15312 HLEN: 32 CKSUM: 0x1b54 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 63 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.569112 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13300 CKSUM: 0x2d5a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d1581 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xda0c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 64 Packet Length: 56 Collected: Fri Sep 5 13:47:33.569505 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13280 CKSUM: 0x32de (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260ce491 WIN: 15312 HLEN: 32 CKSUM: 0x15e4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 65 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.569556 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13302 CKSUM: 0x2d58 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d1af1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xd49c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 66 Packet Length: 56 Collected: Fri Sep 5 13:47:33.575585 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13284 CKSUM: 0x32da (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cea01 WIN: 15312 HLEN: 32 CKSUM: 0x1074 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 67 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.575671 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13306 CKSUM: 0x2d54 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d2061 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xcf2c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 68 Packet Length: 56 Collected: Fri Sep 5 13:47:33.576075 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13286 CKSUM: 0x32d8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cef71 WIN: 15312 HLEN: 32 CKSUM: 0x0b04 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 69 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.576125 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13308 CKSUM: 0x2d52 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d25d1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xc9bc (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 70 Packet Length: 56 Collected: Fri Sep 5 13:47:33.576511 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13288 CKSUM: 0x32d6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cf4e1 WIN: 15312 HLEN: 32 CKSUM: 0x0594 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 71 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.576561 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13310 CKSUM: 0x2d50 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d2b41 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xc44c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 72 Packet Length: 56 Collected: Fri Sep 5 13:47:33.583868 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13294 CKSUM: 0x32d0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cfa51 WIN: 15312 HLEN: 32 CKSUM: 0x0024 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 73 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.583936 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13318 CKSUM: 0x2d48 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d30b1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xbedc (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 74 Packet Length: 56 Collected: Fri Sep 5 13:47:33.589933 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13304 CKSUM: 0x32c6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260cffc1 WIN: 15312 HLEN: 32 CKSUM: 0xfab3 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 75 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.589985 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13326 CKSUM: 0x2d40 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d3621 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xb96c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 76 Packet Length: 56 Collected: Fri Sep 5 13:47:33.595746 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13312 CKSUM: 0x32be (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d0531 WIN: 15312 HLEN: 32 CKSUM: 0xf543 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 77 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.595812 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13334 CKSUM: 0x2d38 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d3b91 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xb3fc (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 78 Packet Length: 56 Collected: Fri Sep 5 13:47:33.596300 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13314 CKSUM: 0x32bc (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d0aa1 WIN: 15312 HLEN: 32 CKSUM: 0xefd3 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 79 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.596351 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13336 CKSUM: 0x2d36 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d4101 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xae8c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 80 Packet Length: 56 Collected: Fri Sep 5 13:47:33.596738 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13316 CKSUM: 0x32ba (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d1011 WIN: 15312 HLEN: 32 CKSUM: 0xea63 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 81 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.596789 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13338 CKSUM: 0x2d34 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d4671 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xa91c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 82 Packet Length: 56 Collected: Fri Sep 5 13:47:33.601603 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13320 CKSUM: 0x32b6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d1581 WIN: 15312 HLEN: 32 CKSUM: 0xe4f3 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 83 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.601672 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13342 CKSUM: 0x2d30 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d4be1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0xa3ac (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 84 Packet Length: 56 Collected: Fri Sep 5 13:47:33.602060 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13322 CKSUM: 0x32b4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d1af1 WIN: 15312 HLEN: 32 CKSUM: 0xdf83 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 85 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.602110 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13344 CKSUM: 0x2d2e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d5151 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x9e3c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 86 Packet Length: 56 Collected: Fri Sep 5 13:47:33.602507 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13324 CKSUM: 0x32b2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d2061 WIN: 15312 HLEN: 32 CKSUM: 0xda13 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 87 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.602560 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13346 CKSUM: 0x2d2c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d56c1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x98cc (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 88 Packet Length: 56 Collected: Fri Sep 5 13:47:33.607841 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13328 CKSUM: 0x32ae (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d25d1 WIN: 15312 HLEN: 32 CKSUM: 0xd4a3 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 89 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.607925 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13350 CKSUM: 0x2d28 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d5c31 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x935c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 90 Packet Length: 56 Collected: Fri Sep 5 13:47:33.608331 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13330 CKSUM: 0x32ac (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d2b41 WIN: 15312 HLEN: 32 CKSUM: 0xcf33 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 91 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.608381 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13352 CKSUM: 0x2d26 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d61a1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x8dec (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 92 Packet Length: 56 Collected: Fri Sep 5 13:47:33.608771 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13332 CKSUM: 0x32aa (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d30b1 WIN: 15312 HLEN: 32 CKSUM: 0xc9c3 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 93 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.608821 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13354 CKSUM: 0x2d24 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d6711 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x887c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 94 Packet Length: 56 Collected: Fri Sep 5 13:47:33.616241 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13340 CKSUM: 0x32a2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d3621 WIN: 15312 HLEN: 32 CKSUM: 0xc453 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 95 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.616295 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13362 CKSUM: 0x2d1c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d6c81 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x830c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 96 Packet Length: 56 Collected: Fri Sep 5 13:47:33.623693 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13348 CKSUM: 0x329a (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d3b91 WIN: 15312 HLEN: 32 CKSUM: 0xbee3 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 97 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.623762 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13372 CKSUM: 0x2d12 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d71f1 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x7d9c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 98 Packet Length: 56 Collected: Fri Sep 5 13:47:33.628656 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13356 CKSUM: 0x3292 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d4101 WIN: 15312 HLEN: 32 CKSUM: 0xb973 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) Packet 99 Packet Length: 1448 (saved length 96) Collected: Fri Sep 5 13:47:33.628745 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.3 IP Dest: 10.0.0.4 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1444 ID: 13378 CKSUM: 0x2d0c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1479 DPRT: 9000 FLG: -AP--- (0x18) SEQ: 0x260d7761 ACK: 0x260d3601 WIN: 16704 HLEN: 32 CKSUM: 0x782c (too short to verify) DLEN: 1392 (only 40 bytes in dump file) OPTS: 12 bytes TS(311471,311470) data: 1392 bytes Packet 100 Packet Length: 56 Collected: Fri Sep 5 13:47:33.629169 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 10.0.0.4 IP Dest: 10.0.0.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 13358 CKSUM: 0x3290 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9000 DPRT: 1479 FLG: -A---- (0x10) SEQ: 0x260d3601 ACK: 0x260d4671 WIN: 15312 HLEN: 32 CKSUM: 0xb403 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(311471,311471) 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:00.374294 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 10.0.0.3:1479 - 10.0.0.4:9000 (a2b) 61> 39< tcptrace-6.6.7/input/OUTPUTbench/dlt_null.dmp.gz.short0100644001217500001440000000033107253211553022342 0ustar mramadasusers1 arg remaining, starting with 'dlt_null.dmp.gz' 470 packets seen, 470 TCP packets traced trace file elapsed time: 0:00:01.046289 TCP connection info: 1: 10.0.0.3:1479 - 10.0.0.4:9000 (a2b) 241> 229< (complete) tcptrace-6.6.7/input/OUTPUTbench/dlt_null.dmp.gz.xplots.cksum0100644001217500001440000000050007751776617023677 0ustar mramadasusers2209347639 79628 a2b_owin.xpl 817540095 16735 a2b_rtt.xpl 1646278201 37946 a2b_ssize.xpl 4122067272 13008 a2b_tput.xpl 802463919 98259 a2b_tsg.xpl 402513605 84320 a_b_tline.xpl 3772140873 67925 b2a_owin.xpl 3570510458 199 b2a_rtt.xpl 1985184340 117 b2a_ssize.xpl 2785094597 108 b2a_tput.xpl 3581312898 64435 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/dsack.dmp.gz.long0100644001217500001440000001363307672375062021436 0ustar mramadasusers1 arg remaining, starting with 'dsack.dmp.gz' 15710 packets seen, 15710 TCP packets traced trace file elapsed time: 0:02:31.129120 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 132.235.3.145:1024 host b: 132.235.3.157:5001 complete conn: yes first packet: Thu Aug 22 14:09:27.357161 1996 last packet: Thu Aug 22 14:11:58.486281 1996 elapsed time: 0:02:31.129120 total packets: 15710 filename: dsack.dmp.gz a->b: b->a: total packets: 11597 total packets: 4113 ack pkts sent: 11596 ack pkts sent: 4113 pure acks sent: 2 pure acks sent: 4111 sack pkts sent: 0 sack pkts sent: 179 dsack pkts sent: 0 dsack pkts sent: 1 max sack blks/ack: 0 max sack blks/ack: 1 unique bytes sent: 16777216 unique bytes sent: 0 actual data pkts: 11594 actual data pkts: 0 actual data bytes: 16787352 actual data bytes: 0 rexmt data pkts: 7 rexmt data pkts: 0 rexmt data bytes: 10136 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 0 adv wind scale: 1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 179 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 996 bytes min segm size: 0 bytes avg segm size: 1447 bytes avg segm size: 0 bytes max win adv: 17520 bytes max win adv: 121180 bytes min win adv: 17520 bytes min win adv: 3892 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 17520 bytes avg win adv: 120711 bytes max owin: 120185 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 73984 bytes avg owin: 1 bytes wavg owin: 67137 bytes wavg owin: 0 bytes initial window: 2896 bytes initial window: 0 bytes initial window: 2 pkts initial window: 0 pkts ttl stream length: 16777216 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 15233756 bytes truncated data: 0 bytes truncated packets: 11594 pkts truncated packets: 0 pkts data xmit time: 149.877 secs data xmit time: 0.000 secs idletime max: 621.4 ms idletime max: 559.9 ms throughput: 111012 Bps throughput: 0 Bps RTT samples: 3900 RTT samples: 2 RTT min: 559.5 ms RTT min: 0.9 ms RTT max: 907.2 ms RTT max: 0.9 ms RTT avg: 585.6 ms RTT avg: 0.9 ms RTT stdev: 20.9 ms RTT stdev: 0.0 ms RTT from 3WHS: 559.5 ms RTT from 3WHS: 0.9 ms RTT full_sz smpls: 3897 RTT full_sz smpls: 1 RTT full_sz min: 560.4 ms RTT full_sz min: 0.9 ms RTT full_sz max: 907.2 ms RTT full_sz max: 0.9 ms RTT full_sz avg: 585.6 ms RTT full_sz avg: 0.9 ms RTT full_sz stdev: 20.9 ms RTT full_sz stdev: 0.0 ms post-loss acks: 3 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 4 ambiguous acks: 0 RTT min (last): 561.3 ms RTT min (last): 0.0 ms RTT max (last): 616.8 ms RTT max (last): 0.0 ms RTT avg (last): 588.1 ms RTT avg (last): 0.0 ms RTT sdv (last): 28.3 ms RTT sdv (last): 0.0 ms segs cum acked: 7681 segs cum acked: 0 duplicate acks: 169 duplicate acks: 0 triple dupacks: 3 triple dupacks: 0 max # retrans: 1 max # retrans: 0 min retr time: 652.2 ms min retr time: 0.0 ms max retr time: 969.7 ms max retr time: 0.0 ms avg retr time: 745.8 ms avg retr time: 0.0 ms sdv retr time: 153.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/dsack.dmp.gz.packets0100644001217500001440000017166307662254750022140 0ustar mramadasusers1 arg remaining, starting with 'dsack.dmp.gz' Packet 1 Packet Length: 78 Collected: Thu Aug 22 14:09:27.357161 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 357 CKSUM: 0x684f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: ----S- (0x02) SEQ: 0x023f3201 ACK: 0x00000000 WIN: 16384 HLEN: 44 CKSUM: 0x96e7 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(0) TS(588,0) SACKREQ Packet 2 Packet Length: 78 Collected: Thu Aug 22 14:09:27.916658 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 18716 CKSUM: 0x2098 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A--S- (0x12) SEQ: 0x1ac67e01 ACK: 0x023f3202 WIN: 65535 HLEN: 44 CKSUM: 0x22a8 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(1) TS(7014,588) SACKREQ Packet 3 Packet Length: 66 Collected: Thu Aug 22 14:09:27.917600 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 358 CKSUM: 0x685a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f3202 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x1f01 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(591,7014) Packet 4 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:28.022684 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 361 CKSUM: 0x62af (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f3202 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5abe (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(591,7014) data: 1448 bytes Packet 5 Packet Length: 66 Collected: Thu Aug 22 14:09:28.476607 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18717 CKSUM: 0x20a3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f3202 WIN: 60590 HLEN: 32 CKSUM: 0x76c4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7015,588) Packet 6 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:28.479568 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 363 CKSUM: 0x62ad (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f37aa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x7adc (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(592,7014) data: 1448 bytes Packet 7 Packet Length: 66 Collected: Thu Aug 22 14:09:28.696566 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18719 CKSUM: 0x20a1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f37aa WIN: 60590 HLEN: 32 CKSUM: 0x7119 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7015,591) Packet 8 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:28.699346 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 364 CKSUM: 0x62ac (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f3d52 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3c5a (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(592,7014) data: 1448 bytes Packet 9 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:28.700621 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 365 CKSUM: 0x62ab (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f42fa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5c79 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(592,7014) data: 1448 bytes Packet 10 Packet Length: 66 Collected: Thu Aug 22 14:09:29.096527 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18720 CKSUM: 0x20a0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f3d52 WIN: 60590 HLEN: 32 CKSUM: 0x6b6f (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7016,592) Packet 11 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.099373 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 366 CKSUM: 0x62aa (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f48a2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xd7af (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(593,7014) data: 1448 bytes Packet 12 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.100667 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 367 CKSUM: 0x62a9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f4e4a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3f75 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(593,7014) data: 1448 bytes Packet 13 Packet Length: 66 Collected: Thu Aug 22 14:09:29.296624 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18721 CKSUM: 0x209f (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f48a2 WIN: 60590 HLEN: 32 CKSUM: 0x601f (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7016,592) Packet 14 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.299464 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 368 CKSUM: 0x62a8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f53f2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x75aa (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(593,7014) data: 1448 bytes Packet 15 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.300753 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 369 CKSUM: 0x62a7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f599a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3728 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(593,7014) data: 1448 bytes Packet 16 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.302057 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 370 CKSUM: 0x62a6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f5f42 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5747 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(593,7014) data: 1448 bytes Packet 17 Packet Length: 66 Collected: Thu Aug 22 14:09:29.687210 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18722 CKSUM: 0x209e (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f53f2 WIN: 60590 HLEN: 32 CKSUM: 0x54cd (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7017,593) Packet 18 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.690151 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 371 CKSUM: 0x62a5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f64ea ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x731e (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(594,7014) data: 1448 bytes Packet 19 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.691450 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 372 CKSUM: 0x62a4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f6a92 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x525b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(594,7014) data: 1448 bytes Packet 20 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.692764 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 373 CKSUM: 0x62a3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f703a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x424a (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(594,7014) data: 1448 bytes Packet 21 Packet Length: 66 Collected: Thu Aug 22 14:09:29.876550 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18723 CKSUM: 0x209d (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f64ea WIN: 60590 HLEN: 32 CKSUM: 0x43d4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7018,593) Packet 22 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.879603 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 374 CKSUM: 0x62a2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f75e2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x31f5 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 23 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.881082 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 375 CKSUM: 0x62a1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f7b8a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5214 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 24 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.882242 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 376 CKSUM: 0x62a0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f8132 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x0e8d (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 25 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.883752 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 377 CKSUM: 0x629f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f86da ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x4d29 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 26 Packet Length: 66 Collected: Thu Aug 22 14:09:30.266549 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18724 CKSUM: 0x209c (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f75e2 WIN: 60590 HLEN: 32 CKSUM: 0x32db (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7018,594) Packet 27 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.269448 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 378 CKSUM: 0x629e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f8c82 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x2702 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 28 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.270759 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 379 CKSUM: 0x629d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f922a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x2cc4 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 29 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.272041 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 380 CKSUM: 0x629c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f97d2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x4ce3 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 30 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.273310 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 381 CKSUM: 0x629b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f9d7a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xa9fc (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 31 Packet Length: 66 Collected: Thu Aug 22 14:09:30.456617 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18725 CKSUM: 0x209b (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f86da WIN: 60590 HLEN: 32 CKSUM: 0x21e1 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7019,595) Packet 32 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.459535 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 382 CKSUM: 0x629a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fa322 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x47f7 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 33 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.460829 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 383 CKSUM: 0x6299 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fa8ca ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x6816 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 34 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.462154 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 384 CKSUM: 0x6298 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fae72 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xcb35 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 35 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.463437 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 385 CKSUM: 0x6297 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fb41a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x47b1 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 36 Packet Length: 66 Collected: Thu Aug 22 14:09:30.496538 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18726 CKSUM: 0x209a (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f8c82 WIN: 60590 HLEN: 32 CKSUM: 0x1c39 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7019,595) Packet 37 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.499473 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 386 CKSUM: 0x6296 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fb9c2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x456b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 38 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.500788 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 387 CKSUM: 0x6295 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fbf6a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x42c6 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 39 Packet Length: 66 Collected: Thu Aug 22 14:09:30.856561 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18727 CKSUM: 0x2099 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f9d7a WIN: 60590 HLEN: 32 CKSUM: 0x0b40 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7020,595) Packet 40 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.859439 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 388 CKSUM: 0x6294 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fc512 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x62e4 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 41 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.860768 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 389 CKSUM: 0x6293 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fcaba ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x2462 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 42 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.862077 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 390 CKSUM: 0x6292 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fd062 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xce0a (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 43 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.863354 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 391 CKSUM: 0x6291 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fd60a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xe0d9 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 44 Packet Length: 66 Collected: Thu Aug 22 14:09:30.896589 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18728 CKSUM: 0x2098 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023fa322 WIN: 60590 HLEN: 32 CKSUM: 0x0598 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7020,595) Packet 45 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.899454 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 392 CKSUM: 0x6290 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fdbb2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3d94 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 46 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.900748 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 393 CKSUM: 0x628f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fe15a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5db3 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 47 Packet Length: 66 Collected: Thu Aug 22 14:09:31.036567 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18729 CKSUM: 0x2097 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023fb41a WIN: 60590 HLEN: 32 CKSUM: 0xf49e (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7020,596) Packet 48 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.039482 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 394 CKSUM: 0x628e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fe702 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x1f31 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 49 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.040779 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 395 CKSUM: 0x628d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fecaa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xb2c3 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 50 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.042050 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 396 CKSUM: 0x628c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023ff252 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x7c49 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 51 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.043387 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 397 CKSUM: 0x628b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023ff7fa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3863 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 52 Packet Length: 66 Collected: Thu Aug 22 14:09:31.076598 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18730 CKSUM: 0x2096 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023fc512 WIN: 60590 HLEN: 32 CKSUM: 0xe3a6 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7020,596) Packet 53 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.079519 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 398 CKSUM: 0x628a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023ffda2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5882 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 54 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.080839 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 399 CKSUM: 0x6289 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240034a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x1a00 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 55 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.082125 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 400 CKSUM: 0x6288 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x024008f2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xf93c (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 56 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.083410 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 401 CKSUM: 0x6287 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02400e9a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xb5f8 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 57 Packet Length: 66 Collected: Thu Aug 22 14:09:31.436563 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18731 CKSUM: 0x2095 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023fd60a WIN: 60590 HLEN: 32 CKSUM: 0xd2ac (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7021,597) Packet 58 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.439461 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 402 CKSUM: 0x6286 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02401442 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3331 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 59 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.440760 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 403 CKSUM: 0x6285 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x024019ea ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5350 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 60 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.442056 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 404 CKSUM: 0x6284 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02401f92 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x14ce (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 61 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.443390 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 405 CKSUM: 0x6283 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240253a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x94ab (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 62 Packet Length: 66 Collected: Thu Aug 22 14:09:31.476525 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18732 CKSUM: 0x2094 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023fe702 WIN: 60590 HLEN: 32 CKSUM: 0xc1b4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7021,597) Packet 63 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.479427 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 406 CKSUM: 0x6282 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02402ae2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x6e84 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 64 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.480742 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 407 CKSUM: 0x6281 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240308a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5a2c (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 65 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.482068 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 408 CKSUM: 0x6280 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02403632 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x4e1f (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 66 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.483351 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 409 CKSUM: 0x627f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02403bda ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x0f9d (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 67 Packet Length: 66 Collected: Thu Aug 22 14:09:31.616573 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18733 CKSUM: 0x2093 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023ff7fa WIN: 60590 HLEN: 32 CKSUM: 0xb0bc (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7021,597) Packet 68 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.619507 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 410 CKSUM: 0x627e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02404182 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x301b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 69 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.620805 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 411 CKSUM: 0x627d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240472a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x6953 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 70 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.622112 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 412 CKSUM: 0x627c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02404cd2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3ee5 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 71 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.623383 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 413 CKSUM: 0x627b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240527a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x48ee (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 72 Packet Length: 66 Collected: Thu Aug 22 14:09:31.656553 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18734 CKSUM: 0x2092 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x02400e9a WIN: 60590 HLEN: 32 CKSUM: 0x9a1c (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7021,597) Packet 73 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.659496 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 414 CKSUM: 0x627a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02405822 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x0a6c (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 74 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.660802 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 415 CKSUM: 0x6279 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02405dca ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x2a8b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 75 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.662058 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 416 CKSUM: 0x6278 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02406372 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x0522 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 76 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.663354 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 417 CKSUM: 0x6277 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240691a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x25a0 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 77 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.664667 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 418 CKSUM: 0x6276 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02406ec2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x41bb (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 78 Packet Length: 66 Collected: Thu Aug 22 14:09:31.696613 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18735 CKSUM: 0x2091 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x02401442 WIN: 60590 HLEN: 32 CKSUM: 0x9474 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7021,597) Packet 79 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.699529 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 419 CKSUM: 0x6275 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240746a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x053b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 80 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.700805 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 420 CKSUM: 0x6274 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02407a12 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x255a (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 81 Packet Length: 66 Collected: Thu Aug 22 14:09:32.016547 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18736 CKSUM: 0x2090 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x0240253a WIN: 60590 HLEN: 32 CKSUM: 0x837a (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7022,598) Packet 82 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.019473 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 421 CKSUM: 0x6273 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02407fba ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xa090 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 83 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.020761 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 422 CKSUM: 0x6272 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02408562 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x206e (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 84 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.022031 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 423 CKSUM: 0x6271 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02408b0a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x408d (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 85 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.023317 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 424 CKSUM: 0x6270 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x024090b2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xe5ee (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 86 Packet Length: 66 Collected: Thu Aug 22 14:09:32.056496 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18737 CKSUM: 0x208f (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x02403bda WIN: 60590 HLEN: 32 CKSUM: 0x6cda (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7022,598) Packet 87 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.059462 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 425 CKSUM: 0x626f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240965a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x2028 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 88 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.060750 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 426 CKSUM: 0x626e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02409c02 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3c00 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 89 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.062234 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 427 CKSUM: 0x626d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240a1aa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x1b3d (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 90 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.063407 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 428 CKSUM: 0x626c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240a752 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3b5c (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 91 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.064914 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 429 CKSUM: 0x626b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240acfa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xcaa7 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 92 Packet Length: 66 Collected: Thu Aug 22 14:09:32.096525 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18738 CKSUM: 0x208e (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x02404182 WIN: 60590 HLEN: 32 CKSUM: 0x6732 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7022,598) Packet 93 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.099467 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 430 CKSUM: 0x626a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240b2a2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x1af7 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 94 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.100935 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 431 CKSUM: 0x6269 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240b84a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xd76f (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 95 Packet Length: 66 Collected: Thu Aug 22 14:09:32.216514 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18739 CKSUM: 0x208d (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x02405822 WIN: 60590 HLEN: 32 CKSUM: 0x5092 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7022,598) Packet 96 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.219490 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 432 CKSUM: 0x6268 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240bdf2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x160c (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 97 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.220719 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 433 CKSUM: 0x6267 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240c39a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x362b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 98 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.222067 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 434 CKSUM: 0x6266 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240c942 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xf7a8 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 99 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.223393 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 435 CKSUM: 0x6265 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240ceea ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xcd7d (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 100 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.224699 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 436 CKSUM: 0x6264 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240d492 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x72df (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:04.867537 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.3.145:1024 - 132.235.3.157:5001 (a2b) 77> 23< tcptrace-6.6.7/input/OUTPUTbench/dsack.dmp.gz.short0100644001217500001440000000034507662254750021631 0ustar mramadasusers1 arg remaining, starting with 'dsack.dmp.gz' 15710 packets seen, 15710 TCP packets traced trace file elapsed time: 0:02:31.129120 TCP connection info: 1: 132.235.3.145:1024 - 132.235.3.157:5001 (a2b) 11597> 4113< (complete) tcptrace-6.6.7/input/OUTPUTbench/dsack.dmp.gz.xplots.cksum0100644001217500001440000000050607751776617023155 0ustar mramadasusers4158003597 258578 a2b_owin.xpl 2781120016 17732 a2b_rtt.xpl 2453265213 121431 a2b_ssize.xpl 1552950510 40775 a2b_tput.xpl 3294024462 155089 a2b_tsg.xpl 1789200913 180963 a_b_tline.xpl 545167068 69723 b2a_owin.xpl 803335463 139 b2a_rtt.xpl 2207219268 127 b2a_ssize.xpl 4034901542 118 b2a_tput.xpl 3042990778 167965 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/eth.erf.gz.long0100644001217500001440000001215007717464075021121 0ustar mramadasusers1 arg remaining, starting with 'eth.erf.gz' 22 packets seen, 22 TCP packets traced trace file elapsed time: 0:00:00.921455 TCP connection info: 1 TCP connection traced: *** 2 packets were too short to process at some point (use -w option to show details) TCP connection 1: host a: 216.35.116.64:31943 host b: 130.216.74.4:80 complete conn: yes first packet: Tue Jun 12 14:00:02.095017 2001 last packet: Tue Jun 12 14:00:03.016472 2001 elapsed time: 0:00:00.921455 total packets: 22 filename: eth.erf.gz a->b: b->a: total packets: 10 total packets: 12 ack pkts sent: 9 ack pkts sent: 12 pure acks sent: 7 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 198 unique bytes sent: 10909 actual data pkts: 1 actual data pkts: 9 actual data bytes: 198 actual data bytes: 10909 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 6 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 198 bytes max segm size: 1460 bytes min segm size: 198 bytes min segm size: 101 bytes avg segm size: 197 bytes avg segm size: 1211 bytes max win adv: 65535 bytes max win adv: 6432 bytes min win adv: 32850 bytes min win adv: 5840 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 36118 bytes avg win adv: 6382 bytes max owin: 199 bytes max owin: 7402 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 23 bytes avg owin: 3621 bytes wavg owin: 41 bytes wavg owin: 4447 bytes initial window: 198 bytes initial window: 2048 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 198 bytes ttl stream length: 10909 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 198 bytes truncated data: 10909 bytes truncated packets: 1 pkts truncated packets: 9 pkts data xmit time: 0.000 secs data xmit time: 0.360 secs idletime max: 199.6 ms idletime max: 378.2 ms throughput: 215 Bps throughput: 11839 Bps RTT samples: 3 RTT samples: 7 RTT min: 0.8 ms RTT min: 152.9 ms RTT max: 11.8 ms RTT max: 228.2 ms RTT avg: 4.4 ms RTT avg: 188.8 ms RTT stdev: 6.3 ms RTT stdev: 28.4 ms RTT from 3WHS: 11.8 ms RTT from 3WHS: 152.9 ms RTT full_sz smpls: 1 RTT full_sz smpls: 4 RTT full_sz min: 0.8 ms RTT full_sz min: 177.9 ms RTT full_sz max: 0.8 ms RTT full_sz max: 228.2 ms RTT full_sz avg: 0.8 ms RTT full_sz avg: 190.7 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 25.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/eth.erf.gz.packets0100644001217500001440000003177507717464075021632 0ustar mramadasusers1 arg remaining, starting with 'eth.erf.gz' Packet 1 Packet Length: 62 (saved length 54) Collected: Tue Jun 12 14:00:02.095017 2001 ETH Srce: 00:00:0c:46:5c:d1 ETH Dest: 00:e0:1e:8e:31:71 Type: 0x800 (IP) IP VERS: 4 IP Srce: 216.35.116.64 IP Dest: 130.216.74.4 Type: 0x6 (TCP) HLEN: 20 TTL: 238 LEN: 48 ID: 13439 CKSUM: 0x3f08 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 31943 DPRT: 80 FLG: ----S- (0x02) SEQ: 0x3c60e7c9 ACK: 0x00000000 WIN: 65535 HLEN: 28 (only 20 bytes in dump file) CKSUM: 0xc99c (too short to verify) DLEN: 0 OPTS: 8 bytes (none of it in dump file) Packet 2 Packet Length: 62 (saved length 54) Collected: Tue Jun 12 14:00:02.106788 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 48 ID: 0 CKSUM: 0x2388 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -A--S- (0x12) SEQ: 0x5707d1e8 ACK: 0x3c60e7ca WIN: 5840 HLEN: 28 (only 20 bytes in dump file) CKSUM: 0x89cc (too short to verify) DLEN: 0 OPTS: 8 bytes (none of it in dump file) Packet 3 Packet Length: 60 (saved length 54) Collected: Tue Jun 12 14:00:02.259645 2001 ETH Srce: 00:00:0c:46:5c:d1 ETH Dest: 00:e0:1e:8e:31:71 Type: 0x800 (IP) IP VERS: 4 IP Srce: 216.35.116.64 IP Dest: 130.216.74.4 Type: 0x6 (TCP) HLEN: 20 TTL: 238 LEN: 40 ID: 13440 CKSUM: 0x3f0f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 31943 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x3c60e7ca ACK: 0x5707d1e9 WIN: 32850 HLEN: 20 CKSUM: 0x4c0e (CORRECT) DLEN: 0 Packet 4 Packet Length: 252 (saved length 54) Collected: Tue Jun 12 14:00:02.264731 2001 ETH Srce: 00:00:0c:46:5c:d1 ETH Dest: 00:e0:1e:8e:31:71 Type: 0x800 (IP) IP VERS: 4 IP Srce: 216.35.116.64 IP Dest: 130.216.74.4 Type: 0x6 (TCP) HLEN: 20 TTL: 238 LEN: 238 ID: 13441 CKSUM: 0x3e48 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 31943 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0x3c60e7ca ACK: 0x5707d1e9 WIN: 32850 HLEN: 20 CKSUM: 0x7e2c (too short to verify) DLEN: 198 (none of it in dump file) data: 198 bytes Packet 5 Packet Length: 60 (saved length 54) Collected: Tue Jun 12 14:00:02.265508 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 40 ID: 0 CKSUM: 0x2390 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -A---- (0x10) SEQ: 0x5707d1e9 ACK: 0x3c60e890 WIN: 6432 HLEN: 20 CKSUM: 0xb27a (CORRECT) DLEN: 0 Packet 6 Packet Length: 1514 (saved length 54) Collected: Tue Jun 12 14:00:02.278501 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 0 CKSUM: 0x1ddc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -A---- (0x10) SEQ: 0x5707d1e9 ACK: 0x3c60e890 WIN: 6432 HLEN: 20 CKSUM: 0x76b6 (too short to verify) DLEN: 1460 (none of it in dump file) data: 1460 bytes Packet 7 Packet Length: 642 (saved length 54) Collected: Tue Jun 12 14:00:02.278624 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 628 ID: 0 CKSUM: 0x2144 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -AP--- (0x18) SEQ: 0x5707d79d ACK: 0x3c60e890 WIN: 6432 HLEN: 20 CKSUM: 0x3c0a (too short to verify) DLEN: 588 (none of it in dump file) data: 588 bytes Packet 8 Packet Length: 60 (saved length 54) Collected: Tue Jun 12 14:00:02.456902 2001 ETH Srce: 00:00:0c:46:5c:d1 ETH Dest: 00:e0:1e:8e:31:71 Type: 0x800 (IP) IP VERS: 4 IP Srce: 216.35.116.64 IP Dest: 130.216.74.4 Type: 0x6 (TCP) HLEN: 20 TTL: 238 LEN: 40 ID: 13442 CKSUM: 0x3f0d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 31943 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x3c60e890 ACK: 0x5707d79d WIN: 32850 HLEN: 20 CKSUM: 0x4594 (CORRECT) DLEN: 0 Packet 9 Packet Length: 1514 (saved length 54) Collected: Tue Jun 12 14:00:02.458562 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 0 CKSUM: 0x1ddc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -A---- (0x10) SEQ: 0x5707d9e9 ACK: 0x3c60e890 WIN: 6432 HLEN: 20 CKSUM: 0x84b9 (too short to verify) DLEN: 1460 (none of it in dump file) data: 1460 bytes Packet 10 Packet Length: 1514 (saved length 54) Collected: Tue Jun 12 14:00:02.458699 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 0 CKSUM: 0x1ddc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -AP--- (0x18) SEQ: 0x5707df9d ACK: 0x3c60e890 WIN: 6432 HLEN: 20 CKSUM: 0x3888 (too short to verify) DLEN: 1460 (none of it in dump file) data: 1460 bytes Packet 11 Packet Length: 60 (saved length 54) Collected: Tue Jun 12 14:00:02.506545 2001 ETH Srce: 00:00:0c:46:5c:d1 ETH Dest: 00:e0:1e:8e:31:71 Type: 0x800 (IP) IP VERS: 4 IP Srce: 216.35.116.64 IP Dest: 130.216.74.4 Type: 0x6 (TCP) HLEN: 20 TTL: 238 LEN: 40 ID: 13443 CKSUM: 0x3f0c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 31943 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x3c60e890 ACK: 0x5707d9e9 WIN: 32850 HLEN: 20 CKSUM: 0x4348 (CORRECT) DLEN: 0 Packet 12 Packet Length: 1514 (saved length 54) Collected: Tue Jun 12 14:00:02.508086 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 0 CKSUM: 0x1ddc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -AP--- (0x18) SEQ: 0x5707e551 ACK: 0x3c60e890 WIN: 6432 HLEN: 20 CKSUM: 0xb0e0 (too short to verify) DLEN: 1460 (none of it in dump file) data: 1460 bytes Packet 13 Packet Length: 1514 (saved length 54) Collected: Tue Jun 12 14:00:02.508223 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 0 CKSUM: 0x1ddc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -A---- (0x10) SEQ: 0x5707eb05 ACK: 0x3c60e890 WIN: 6432 HLEN: 20 CKSUM: 0x3bc3 (too short to verify) DLEN: 1460 (none of it in dump file) data: 1460 bytes Packet 14 Packet Length: 60 (saved length 54) Collected: Tue Jun 12 14:00:02.636471 2001 ETH Srce: 00:00:0c:46:5c:d1 ETH Dest: 00:e0:1e:8e:31:71 Type: 0x800 (IP) IP VERS: 4 IP Srce: 216.35.116.64 IP Dest: 130.216.74.4 Type: 0x6 (TCP) HLEN: 20 TTL: 238 LEN: 40 ID: 13444 CKSUM: 0x3f0b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 31943 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x3c60e890 ACK: 0x5707df9d WIN: 32850 HLEN: 20 CKSUM: 0x3d94 (CORRECT) DLEN: 0 Packet 15 Packet Length: 1514 (saved length 54) Collected: Tue Jun 12 14:00:02.638013 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 0 CKSUM: 0x1ddc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -AP--- (0x18) SEQ: 0x5707f0b9 ACK: 0x3c60e890 WIN: 6432 HLEN: 20 CKSUM: 0xe5d1 (too short to verify) DLEN: 1460 (none of it in dump file) data: 1460 bytes Packet 16 Packet Length: 1514 (saved length 54) Collected: Tue Jun 12 14:00:02.638152 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 0 CKSUM: 0x1ddc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -AP--- (0x18) SEQ: 0x5707f66d ACK: 0x3c60e890 WIN: 6432 HLEN: 20 CKSUM: 0x94df (too short to verify) DLEN: 1460 (none of it in dump file) data: 1460 bytes Packet 17 Packet Length: 155 (saved length 54) Collected: Tue Jun 12 14:00:02.638276 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 141 ID: 0 CKSUM: 0x232b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -AP--F (0x19) SEQ: 0x5707fc21 ACK: 0x3c60e890 WIN: 6432 HLEN: 20 CKSUM: 0x94fc (too short to verify) DLEN: 101 (none of it in dump file) data: 101 bytes Packet 18 Packet Length: 60 (saved length 54) Collected: Tue Jun 12 14:00:02.686444 2001 ETH Srce: 00:00:0c:46:5c:d1 ETH Dest: 00:e0:1e:8e:31:71 Type: 0x800 (IP) IP VERS: 4 IP Srce: 216.35.116.64 IP Dest: 130.216.74.4 Type: 0x6 (TCP) HLEN: 20 TTL: 238 LEN: 40 ID: 13445 CKSUM: 0x3f0a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 31943 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x3c60e890 ACK: 0x5707eb05 WIN: 32850 HLEN: 20 CKSUM: 0x322c (CORRECT) DLEN: 0 Packet 19 Packet Length: 60 (saved length 54) Collected: Tue Jun 12 14:00:02.736455 2001 ETH Srce: 00:00:0c:46:5c:d1 ETH Dest: 00:e0:1e:8e:31:71 Type: 0x800 (IP) IP VERS: 4 IP Srce: 216.35.116.64 IP Dest: 130.216.74.4 Type: 0x6 (TCP) HLEN: 20 TTL: 238 LEN: 40 ID: 13446 CKSUM: 0x3f09 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 31943 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x3c60e890 ACK: 0x5707f0b9 WIN: 32850 HLEN: 20 CKSUM: 0x2c78 (CORRECT) DLEN: 0 Packet 20 Packet Length: 60 (saved length 54) Collected: Tue Jun 12 14:00:02.816041 2001 ETH Srce: 00:00:0c:46:5c:d1 ETH Dest: 00:e0:1e:8e:31:71 Type: 0x800 (IP) IP VERS: 4 IP Srce: 216.35.116.64 IP Dest: 130.216.74.4 Type: 0x6 (TCP) HLEN: 20 TTL: 238 LEN: 40 ID: 13447 CKSUM: 0x3f08 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 31943 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x3c60e890 ACK: 0x5707fc87 WIN: 32850 HLEN: 20 CKSUM: 0x20aa (CORRECT) DLEN: 0 Packet 21 Packet Length: 60 (saved length 54) Collected: Tue Jun 12 14:00:03.015686 2001 ETH Srce: 00:00:0c:46:5c:d1 ETH Dest: 00:e0:1e:8e:31:71 Type: 0x800 (IP) IP VERS: 4 IP Srce: 216.35.116.64 IP Dest: 130.216.74.4 Type: 0x6 (TCP) HLEN: 20 TTL: 238 LEN: 40 ID: 13448 CKSUM: 0x3f07 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 31943 DPRT: 80 FLG: -A---F (0x11) SEQ: 0x3c60e890 ACK: 0x5707fc87 WIN: 32850 HLEN: 20 CKSUM: 0x20a9 (CORRECT) DLEN: 0 Packet 22 Packet Length: 60 (saved length 54) Collected: Tue Jun 12 14:00:03.016472 2001 ETH Srce: 00:e0:1e:8e:31:71 ETH Dest: 00:00:0c:46:5c:d1 Type: 0x800 (IP) IP VERS: 4 IP Srce: 130.216.74.4 IP Dest: 216.35.116.64 Type: 0x6 (TCP) HLEN: 20 TTL: 253 LEN: 40 ID: 0 CKSUM: 0x648f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 31943 FLG: -A---- (0x10) SEQ: 0x5707fc87 ACK: 0x3c60e891 WIN: 6432 HLEN: 20 CKSUM: 0x87db (CORRECT) DLEN: 0 22 packets seen, 22 TCP packets traced trace file elapsed time: 0:00:00.921455 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: *** 4 packets were too short to process at some point (use -w option to show details) 1: 216.35.116.64:31943 - 130.216.74.4:80 (a2b) 10> 12< (complete) tcptrace-6.6.7/input/OUTPUTbench/eth.erf.gz.short0100644001217500001440000000046107717464075021323 0ustar mramadasusers1 arg remaining, starting with 'eth.erf.gz' 22 packets seen, 22 TCP packets traced trace file elapsed time: 0:00:00.921455 TCP connection info: *** 2 packets were too short to process at some point (use -w option to show details) 1: 216.35.116.64:31943 - 130.216.74.4:80 (a2b) 10> 12< (complete) tcptrace-6.6.7/input/OUTPUTbench/eth.erf.gz.xplots.cksum0100644001217500001440000000046407751776617022647 0ustar mramadasusers3878624660 2745 a2b_owin.xpl 2012975624 279 a2b_rtt.xpl 1489107947 184 a2b_ssize.xpl 950216736 149 a2b_tput.xpl 1315793510 3538 a2b_tsg.xpl 874871782 4164 a_b_tline.xpl 1698574085 3548 b2a_owin.xpl 77227219 630 b2a_rtt.xpl 130332911 1538 b2a_ssize.xpl 2211517774 495 b2a_tput.xpl 1613524702 4003 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/fast_reuse.dmp.gz.long0100644001217500001440000027323407672375063022517 0ustar mramadasusers1 arg remaining, starting with 'fast_reuse.dmp.gz' 513 packets seen, 513 TCP packets traced trace file elapsed time: 0:55:11.347437 TCP connection info: 18 TCP connections traced: *** 17 packets were too short to process at some point (use -w option to show details) TCP connection 1: host a: 132.235.67.21:9080 host b: 132.235.67.36:3330 complete conn: no (SYNs: 0) (FINs: 2) first packet: Fri Oct 9 17:47:58.936566 1998 last packet: Fri Oct 9 17:48:00.237093 1998 elapsed time: 0:00:01.300527 total packets: 14 filename: fast_reuse.dmp.gz a->b: b->a: total packets: 7 total packets: 7 ack pkts sent: 7 ack pkts sent: 7 pure acks sent: 6 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 8146 actual data pkts: 0 actual data pkts: 6 actual data bytes: 0 actual data bytes: 8146 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 1 SYN/FIN pkts sent: 0/1 SYN/FIN pkts sent: 0/1 req 1323 ws/ts: N/Y req 1323 ws/ts: N/Y urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 1448 bytes min segm size: 0 bytes min segm size: 906 bytes avg segm size: 0 bytes avg segm size: 1357 bytes max win adv: 29935 bytes max win adv: 30840 bytes min win adv: 28736 bytes min win adv: 30840 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 29230 bytes avg win adv: 30840 bytes max owin: 1 bytes max owin: 7241 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 0 bytes avg owin: 4474 bytes wavg owin: 0 bytes wavg owin: 6123 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 7774 bytes truncated packets: 0 pkts truncated packets: 6 pkts data xmit time: 0.000 secs data xmit time: 0.666 secs idletime max: 548.1 ms idletime max: 633.1 ms throughput: 0 Bps throughput: 6264 Bps RTT samples: 1 RTT samples: 4 RTT min: 0.1 ms RTT min: 630.4 ms RTT max: 0.1 ms RTT max: 710.5 ms RTT avg: 0.1 ms RTT avg: 676.8 ms RTT stdev: 0.0 ms RTT stdev: 37.3 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 3 RTT full_sz min: 0.1 ms RTT full_sz min: 663.2 ms RTT full_sz max: 0.1 ms RTT full_sz max: 710.5 ms RTT full_sz avg: 0.1 ms RTT full_sz avg: 692.3 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 25.5 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 2 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 132.235.67.36:3330 host d: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 17:50:57.829117 1998 last packet: Fri Oct 9 17:51:14.427575 1998 elapsed time: 0:00:16.598458 total packets: 70 filename: fast_reuse.dmp.gz c->d: d->c: total packets: 37 total packets: 33 ack pkts sent: 36 ack pkts sent: 33 pure acks sent: 2 pure acks sent: 31 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 32198 unique bytes sent: 0 actual data pkts: 34 actual data pkts: 0 actual data bytes: 32198 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 23 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 100 bytes min segm size: 0 bytes avg segm size: 946 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 214520 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 226484 bytes max owin: 7241 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1581 bytes avg owin: 1 bytes wavg owin: 1243 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 32198 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 30090 bytes truncated data: 0 bytes truncated packets: 34 pkts truncated packets: 0 pkts data xmit time: 15.407 secs data xmit time: 0.000 secs idletime max: 669.9 ms idletime max: 671.1 ms throughput: 1940 Bps throughput: 0 Bps RTT samples: 31 RTT samples: 2 RTT min: 577.8 ms RTT min: 0.2 ms RTT max: 757.9 ms RTT max: 0.2 ms RTT avg: 616.7 ms RTT avg: 0.2 ms RTT stdev: 42.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 577.8 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 7 RTT full_sz smpls: 1 RTT full_sz min: 605.7 ms RTT full_sz min: 0.2 ms RTT full_sz max: 757.9 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 658.9 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 61.7 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 4 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 3: host e: 132.235.67.36:3330 host f: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 17:54:07.626531 1998 last packet: Fri Oct 9 17:54:37.161181 1998 elapsed time: 0:00:29.534649 total packets: 110 filename: fast_reuse.dmp.gz e->f: f->e: total packets: 57 total packets: 53 ack pkts sent: 56 ack pkts sent: 53 pure acks sent: 2 pure acks sent: 51 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 45516 unique bytes sent: 0 actual data pkts: 54 actual data pkts: 0 actual data bytes: 45516 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 43 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 100 bytes min segm size: 0 bytes avg segm size: 842 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 201200 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 219144 bytes max owin: 7241 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1255 bytes avg owin: 1 bytes wavg owin: 998 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 45516 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 42168 bytes truncated data: 0 bytes truncated packets: 54 pkts truncated packets: 0 pkts data xmit time: 28.241 secs data xmit time: 0.000 secs idletime max: 788.0 ms idletime max: 718.2 ms throughput: 1541 Bps throughput: 0 Bps RTT samples: 51 RTT samples: 2 RTT min: 572.5 ms RTT min: 0.2 ms RTT max: 783.2 ms RTT max: 0.2 ms RTT avg: 628.9 ms RTT avg: 0.2 ms RTT stdev: 46.9 ms RTT stdev: 0.0 ms RTT from 3WHS: 635.8 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 7 RTT full_sz smpls: 1 RTT full_sz min: 601.6 ms RTT full_sz min: 0.2 ms RTT full_sz max: 783.2 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 680.4 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 80.3 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 4 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 4: host g: 132.235.67.36:3330 host h: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 17:57:12.894225 1998 last packet: Fri Oct 9 17:57:48.956193 1998 elapsed time: 0:00:36.061968 total packets: 130 filename: fast_reuse.dmp.gz g->h: h->g: total packets: 67 total packets: 63 ack pkts sent: 66 ack pkts sent: 63 pure acks sent: 2 pure acks sent: 61 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 51643 unique bytes sent: 0 actual data pkts: 64 actual data pkts: 0 actual data bytes: 51643 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 53 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 100 bytes min segm size: 0 bytes avg segm size: 806 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 195072 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 215572 bytes max owin: 7241 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1157 bytes avg owin: 1 bytes wavg owin: 925 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 51643 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 47675 bytes truncated data: 0 bytes truncated packets: 64 pkts truncated packets: 0 pkts data xmit time: 34.826 secs data xmit time: 0.000 secs idletime max: 726.3 ms idletime max: 711.3 ms throughput: 1432 Bps throughput: 0 Bps RTT samples: 61 RTT samples: 2 RTT min: 572.5 ms RTT min: 0.1 ms RTT max: 758.5 ms RTT max: 0.1 ms RTT avg: 629.8 ms RTT avg: 0.1 ms RTT stdev: 41.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 615.4 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 7 RTT full_sz smpls: 1 RTT full_sz min: 583.3 ms RTT full_sz min: 0.1 ms RTT full_sz max: 758.5 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 650.1 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 69.3 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 4 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 5: host i: 132.235.67.36:3330 host j: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:00:19.880790 1998 last packet: Fri Oct 9 18:00:21.176395 1998 elapsed time: 0:00:01.295604 total packets: 10 filename: fast_reuse.dmp.gz i->j: j->i: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1193 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 1193 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1193 bytes max segm size: 0 bytes min segm size: 1193 bytes min segm size: 0 bytes avg segm size: 1191 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 245528 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 245826 bytes max owin: 1194 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 597 bytes avg owin: 1 bytes wavg owin: 598 bytes wavg owin: 0 bytes initial window: 1193 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 1193 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 1131 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 649.9 ms idletime max: 645.7 ms throughput: 921 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 638.4 ms RTT min: 0.2 ms RTT max: 648.9 ms RTT max: 0.2 ms RTT avg: 645.1 ms RTT avg: 0.2 ms RTT stdev: 5.9 ms RTT stdev: 0.0 ms RTT from 3WHS: 638.4 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 648.1 ms RTT full_sz min: 0.2 ms RTT full_sz max: 648.1 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 648.1 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 6: host k: 132.235.67.36:3330 host l: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:03:14.981391 1998 last packet: Fri Oct 9 18:03:18.470111 1998 elapsed time: 0:00:03.488719 total packets: 19 filename: fast_reuse.dmp.gz k->l: l->k: total packets: 11 total packets: 8 ack pkts sent: 10 ack pkts sent: 8 pure acks sent: 2 pure acks sent: 6 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 11424 unique bytes sent: 0 actual data pkts: 8 actual data pkts: 0 actual data bytes: 11424 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 1288 bytes min segm size: 0 bytes avg segm size: 1427 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 235296 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 240353 bytes max owin: 4345 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 2157 bytes avg owin: 1 bytes wavg owin: 2512 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 11424 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 10928 bytes truncated data: 0 bytes truncated packets: 8 pkts truncated packets: 0 pkts data xmit time: 2.147 secs data xmit time: 0.000 secs idletime max: 784.5 ms idletime max: 715.3 ms throughput: 3275 Bps throughput: 0 Bps RTT samples: 6 RTT samples: 2 RTT min: 645.3 ms RTT min: 0.2 ms RTT max: 780.4 ms RTT max: 0.2 ms RTT avg: 690.5 ms RTT avg: 0.2 ms RTT stdev: 49.3 ms RTT stdev: 0.0 ms RTT from 3WHS: 671.9 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 4 RTT full_sz smpls: 1 RTT full_sz min: 645.3 ms RTT full_sz min: 0.2 ms RTT full_sz max: 780.4 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 703.6 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 57.6 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 3 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 7: host m: 132.235.67.36:3330 host n: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:06:47.396182 1998 last packet: Fri Oct 9 18:06:48.720007 1998 elapsed time: 0:00:01.323825 total packets: 10 filename: fast_reuse.dmp.gz m->n: n->m: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 806 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 806 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 806 bytes max segm size: 0 bytes min segm size: 806 bytes min segm size: 0 bytes avg segm size: 805 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 245912 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 246114 bytes max owin: 807 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 404 bytes avg owin: 1 bytes wavg owin: 370 bytes wavg owin: 0 bytes initial window: 806 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 806 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 744 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 705.4 ms idletime max: 608.7 ms throughput: 609 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 606.1 ms RTT min: 0.2 ms RTT max: 705.2 ms RTT max: 0.2 ms RTT avg: 639.5 ms RTT avg: 0.2 ms RTT stdev: 56.9 ms RTT stdev: 0.0 ms RTT from 3WHS: 705.2 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 606.1 ms RTT full_sz min: 0.2 ms RTT full_sz max: 606.1 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 606.1 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 8: host o: 132.235.67.36:3330 host p: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:10:01.235615 1998 last packet: Fri Oct 9 18:10:03.298681 1998 elapsed time: 0:00:02.063066 total packets: 10 filename: fast_reuse.dmp.gz o->p: p->o: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1670 unique bytes sent: 0 actual data pkts: 2 actual data pkts: 0 actual data bytes: 1670 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 222 bytes min segm size: 0 bytes avg segm size: 834 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 245048 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 245522 bytes max owin: 1449 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 418 bytes avg owin: 1 bytes wavg owin: 613 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 1670 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 1546 bytes truncated data: 0 bytes truncated packets: 2 pkts truncated packets: 0 pkts data xmit time: 0.773 secs data xmit time: 0.000 secs idletime max: 773.0 ms idletime max: 655.6 ms throughput: 809 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 630.0 ms RTT min: 0.2 ms RTT max: 772.2 ms RTT max: 0.2 ms RTT avg: 685.6 ms RTT avg: 0.2 ms RTT stdev: 76.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 630.0 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 772.2 ms RTT full_sz min: 0.2 ms RTT full_sz max: 772.2 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 772.2 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 9: host q: 132.235.67.36:3330 host r: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:13:10.391421 1998 last packet: Fri Oct 9 18:13:12.468268 1998 elapsed time: 0:00:02.076846 total packets: 10 filename: fast_reuse.dmp.gz q->r: r->q: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2521 unique bytes sent: 0 actual data pkts: 2 actual data pkts: 0 actual data bytes: 2521 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 1073 bytes min segm size: 0 bytes avg segm size: 1259 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 244200 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 245098 bytes max owin: 1449 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 631 bytes avg owin: 1 bytes wavg owin: 891 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 2521 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 2397 bytes truncated data: 0 bytes truncated packets: 2 pkts truncated packets: 0 pkts data xmit time: 0.814 secs data xmit time: 0.000 secs idletime max: 814.4 ms idletime max: 671.8 ms throughput: 1214 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 625.1 ms RTT min: 0.2 ms RTT max: 810.4 ms RTT max: 0.2 ms RTT avg: 688.7 ms RTT avg: 0.2 ms RTT stdev: 105.4 ms RTT stdev: 0.0 ms RTT from 3WHS: 630.7 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 810.4 ms RTT full_sz min: 0.2 ms RTT full_sz max: 810.4 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 810.3 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 10: host s: 132.235.67.36:3330 host t: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:16:21.488711 1998 last packet: Fri Oct 9 18:16:22.795523 1998 elapsed time: 0:00:01.306812 total packets: 10 filename: fast_reuse.dmp.gz s->t: t->s: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1380 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 1380 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1380 bytes max segm size: 0 bytes min segm size: 1380 bytes min segm size: 0 bytes avg segm size: 1378 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 245336 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 245682 bytes max owin: 1381 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 691 bytes avg owin: 1 bytes wavg owin: 686 bytes wavg owin: 0 bytes initial window: 1380 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 1380 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 1318 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 650.2 ms idletime max: 650.6 ms throughput: 1056 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 648.4 ms RTT min: 0.2 ms RTT max: 649.3 ms RTT max: 0.2 ms RTT avg: 648.9 ms RTT avg: 0.2 ms RTT stdev: 0.5 ms RTT stdev: 0.0 ms RTT from 3WHS: 649.3 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 648.4 ms RTT full_sz min: 0.2 ms RTT full_sz max: 648.4 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 648.3 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 11: host u: 132.235.67.36:3330 host v: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:20:07.427037 1998 last packet: Fri Oct 9 18:20:08.820091 1998 elapsed time: 0:00:01.393054 total packets: 10 filename: fast_reuse.dmp.gz u->v: v->u: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 20 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 20 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 20 bytes max segm size: 0 bytes min segm size: 20 bytes min segm size: 0 bytes avg segm size: 19 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 246696 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 246702 bytes max owin: 21 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 11 bytes avg owin: 1 bytes wavg owin: 10 bytes wavg owin: 0 bytes initial window: 20 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 20 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 698.7 ms idletime max: 702.0 ms throughput: 14 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 686.7 ms RTT min: 0.2 ms RTT max: 698.1 ms RTT max: 0.2 ms RTT avg: 694.2 ms RTT avg: 0.2 ms RTT stdev: 6.5 ms RTT stdev: 0.0 ms RTT from 3WHS: 686.7 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 697.8 ms RTT full_sz min: 0.2 ms RTT full_sz max: 697.8 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 697.7 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 12: host w: 132.235.67.36:3330 host x: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:23:32.205350 1998 last packet: Fri Oct 9 18:23:33.618927 1998 elapsed time: 0:00:01.413577 total packets: 10 filename: fast_reuse.dmp.gz w->x: x->w: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 20 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 20 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 20 bytes max segm size: 0 bytes min segm size: 20 bytes min segm size: 0 bytes avg segm size: 19 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 246696 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 246702 bytes max owin: 21 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 11 bytes avg owin: 1 bytes wavg owin: 10 bytes wavg owin: 0 bytes initial window: 20 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 20 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 730.0 ms idletime max: 728.6 ms throughput: 14 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 682.7 ms RTT min: 0.1 ms RTT max: 729.0 ms RTT max: 0.2 ms RTT avg: 713.3 ms RTT avg: 0.1 ms RTT stdev: 26.6 ms RTT stdev: 0.0 ms RTT from 3WHS: 682.7 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 728.3 ms RTT full_sz min: 0.2 ms RTT full_sz max: 728.3 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 728.2 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 13: host y: 132.235.67.36:3330 host z: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:26:53.958379 1998 last packet: Fri Oct 9 18:26:55.272761 1998 elapsed time: 0:00:01.314381 total packets: 10 filename: fast_reuse.dmp.gz y->z: z->y: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 657 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 657 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 657 bytes max segm size: 0 bytes min segm size: 657 bytes min segm size: 0 bytes avg segm size: 656 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 246064 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 246228 bytes max owin: 658 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 329 bytes avg owin: 1 bytes wavg owin: 337 bytes wavg owin: 0 bytes initial window: 657 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 657 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 595 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 675.5 ms idletime max: 675.5 ms throughput: 500 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 633.5 ms RTT min: 0.2 ms RTT max: 674.5 ms RTT max: 0.2 ms RTT avg: 660.6 ms RTT avg: 0.2 ms RTT stdev: 23.4 ms RTT stdev: 0.0 ms RTT from 3WHS: 633.5 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 673.7 ms RTT full_sz min: 0.2 ms RTT full_sz max: 673.7 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 673.7 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 14: host aa: 132.235.67.36:3330 host ab: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:30:00.720599 1998 last packet: Fri Oct 9 18:30:01.951556 1998 elapsed time: 0:00:01.230957 total packets: 10 filename: fast_reuse.dmp.gz aa->ab: ab->aa: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 941 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 941 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 941 bytes max segm size: 0 bytes min segm size: 941 bytes min segm size: 0 bytes avg segm size: 940 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 245776 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 246012 bytes max owin: 942 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 471 bytes avg owin: 1 bytes wavg owin: 478 bytes wavg owin: 0 bytes initial window: 941 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 941 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 879 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 626.1 ms idletime max: 631.5 ms throughput: 764 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 596.9 ms RTT min: 0.2 ms RTT max: 625.0 ms RTT max: 0.3 ms RTT avg: 615.4 ms RTT avg: 0.2 ms RTT stdev: 16.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 596.9 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 624.3 ms RTT full_sz min: 0.3 ms RTT full_sz max: 624.3 ms RTT full_sz max: 0.3 ms RTT full_sz avg: 624.2 ms RTT full_sz avg: 0.3 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 15: host ac: 132.235.67.36:3330 host ad: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:33:16.117368 1998 last packet: Fri Oct 9 18:33:18.319094 1998 elapsed time: 0:00:02.201725 total packets: 10 filename: fast_reuse.dmp.gz ac->ad: ad->ac: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2550 unique bytes sent: 0 actual data pkts: 2 actual data pkts: 0 actual data bytes: 2550 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 1102 bytes min segm size: 0 bytes avg segm size: 1274 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 244168 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 245082 bytes max owin: 1449 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 638 bytes avg owin: 1 bytes wavg owin: 855 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 2550 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 2426 bytes truncated data: 0 bytes truncated packets: 2 pkts truncated packets: 0 pkts data xmit time: 0.776 secs data xmit time: 0.000 secs idletime max: 775.6 ms idletime max: 689.1 ms throughput: 1158 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 687.3 ms RTT min: 0.2 ms RTT max: 773.8 ms RTT max: 0.2 ms RTT avg: 729.4 ms RTT avg: 0.2 ms RTT stdev: 43.3 ms RTT stdev: 0.0 ms RTT from 3WHS: 727.1 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 773.8 ms RTT full_sz min: 0.2 ms RTT full_sz max: 773.8 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 773.7 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 16: host ae: 132.235.67.36:3330 host af: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:36:32.236466 1998 last packet: Fri Oct 9 18:36:33.660158 1998 elapsed time: 0:00:01.423691 total packets: 10 filename: fast_reuse.dmp.gz ae->af: af->ae: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 20 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 20 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 20 bytes max segm size: 0 bytes min segm size: 20 bytes min segm size: 0 bytes avg segm size: 19 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 246696 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 246702 bytes max owin: 21 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 11 bytes avg owin: 1 bytes wavg owin: 10 bytes wavg owin: 0 bytes initial window: 20 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 20 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 714.6 ms idletime max: 722.5 ms throughput: 14 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 698.5 ms RTT min: 0.2 ms RTT max: 713.6 ms RTT max: 0.2 ms RTT avg: 708.3 ms RTT avg: 0.2 ms RTT stdev: 8.5 ms RTT stdev: 0.0 ms RTT from 3WHS: 698.5 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 712.8 ms RTT full_sz min: 0.2 ms RTT full_sz max: 712.8 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 712.8 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 17: host ag: 132.235.67.36:3330 host ah: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:39:57.584832 1998 last packet: Fri Oct 9 18:40:08.509360 1998 elapsed time: 0:00:10.924528 total packets: 50 filename: fast_reuse.dmp.gz ag->ah: ah->ag: total packets: 27 total packets: 23 ack pkts sent: 26 ack pkts sent: 23 pure acks sent: 2 pure acks sent: 21 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 23987 unique bytes sent: 0 actual data pkts: 24 actual data pkts: 0 actual data bytes: 23987 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 13 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 100 bytes min segm size: 0 bytes avg segm size: 999 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 222728 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 230769 bytes max owin: 7241 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1874 bytes avg owin: 1 bytes wavg owin: 1476 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 23987 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 22499 bytes truncated data: 0 bytes truncated packets: 24 pkts truncated packets: 0 pkts data xmit time: 9.645 secs data xmit time: 0.000 secs idletime max: 769.3 ms idletime max: 691.4 ms throughput: 2196 Bps throughput: 0 Bps RTT samples: 21 RTT samples: 2 RTT min: 572.4 ms RTT min: 0.2 ms RTT max: 771.0 ms RTT max: 0.3 ms RTT avg: 642.6 ms RTT avg: 0.2 ms RTT stdev: 63.4 ms RTT stdev: 0.0 ms RTT from 3WHS: 671.1 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 7 RTT full_sz smpls: 1 RTT full_sz min: 592.1 ms RTT full_sz min: 0.3 ms RTT full_sz max: 771.0 ms RTT full_sz max: 0.3 ms RTT full_sz avg: 680.2 ms RTT full_sz avg: 0.3 ms RTT full_sz stdev: 84.5 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 4 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 18: host ai: 132.235.67.36:3330 host aj: 132.235.67.21:9080 complete conn: yes first packet: Fri Oct 9 18:43:09.051644 1998 last packet: Fri Oct 9 18:43:10.284004 1998 elapsed time: 0:00:01.232359 total packets: 10 filename: fast_reuse.dmp.gz ai->aj: aj->ai: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1124 unique bytes sent: 0 actual data pkts: 1 actual data pkts: 0 actual data bytes: 1124 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 3 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1124 bytes max segm size: 0 bytes min segm size: 1124 bytes min segm size: 0 bytes avg segm size: 1122 bytes avg segm size: 0 bytes max win adv: 246720 bytes max win adv: 246720 bytes min win adv: 246720 bytes min win adv: 245592 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 246720 bytes avg win adv: 245874 bytes max owin: 1125 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 563 bytes avg owin: 1 bytes wavg owin: 544 bytes wavg owin: 0 bytes initial window: 1124 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 1124 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 1062 bytes truncated data: 0 bytes truncated packets: 1 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 631.9 ms idletime max: 583.3 ms throughput: 912 Bps throughput: 0 Bps RTT samples: 3 RTT samples: 2 RTT min: 595.2 ms RTT min: 0.1 ms RTT max: 631.8 ms RTT max: 0.2 ms RTT avg: 607.6 ms RTT avg: 0.1 ms RTT stdev: 20.9 ms RTT stdev: 0.0 ms RTT from 3WHS: 631.8 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 595.2 ms RTT full_sz min: 0.2 ms RTT full_sz max: 595.2 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 595.1 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/fast_reuse.dmp.gz.packets0100644001217500001440000016574307302732556023211 0ustar mramadasusers1 arg remaining, starting with 'fast_reuse.dmp.gz' Packet 1 Packet Length: 66 Collected: Fri Oct 9 17:47:58.936566 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49929 CKSUM: 0xe9aa (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x0801dc11 ACK: 0x0ba855b0 WIN: 29935 HLEN: 32 CKSUM: 0x76a6 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(16962,17136) Packet 2 Packet Length: 128 Collected: Fri Oct 9 17:47:58.938339 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 50612 CKSUM: 0x1f58 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x0ba85b58 ACK: 0x0801dc11 WIN: 30840 HLEN: 32 CKSUM: 0x67d0 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17137,16958) data: 1448 bytes Packet 3 Packet Length: 128 Collected: Fri Oct 9 17:47:58.939562 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 50613 CKSUM: 0x1f57 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x0ba86100 ACK: 0x0801dc11 WIN: 30840 HLEN: 32 CKSUM: 0x6228 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17137,16958) data: 1448 bytes Packet 4 Packet Length: 128 Collected: Fri Oct 9 17:47:58.940794 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 50614 CKSUM: 0x1f56 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x0ba866a8 ACK: 0x0801dc11 WIN: 30840 HLEN: 32 CKSUM: 0x5c80 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17137,16958) data: 1448 bytes Packet 5 Packet Length: 66 Collected: Fri Oct 9 17:47:59.054636 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 49961 CKSUM: 0xe98a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x0801dc11 ACK: 0x0ba85b58 WIN: 29754 HLEN: 32 CKSUM: 0x71b3 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(16962,17136) Packet 6 Packet Length: 128 Collected: Fri Oct 9 17:47:59.056356 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 50646 CKSUM: 0x1f36 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x0ba86c50 ACK: 0x0801dc11 WIN: 30840 HLEN: 32 CKSUM: 0x3310 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17138,16958) data: 1448 bytes Packet 7 Packet Length: 128 Collected: Fri Oct 9 17:47:59.057574 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 50647 CKSUM: 0x1f35 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x0ba871f8 ACK: 0x0801dc11 WIN: 30840 HLEN: 32 CKSUM: 0xd214 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17138,16958) data: 1448 bytes Packet 8 Packet Length: 66 Collected: Fri Oct 9 17:47:59.602780 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 50083 CKSUM: 0xe910 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x0801dc11 ACK: 0x0ba866a8 WIN: 29392 HLEN: 32 CKSUM: 0x67cb (CORRECT) DLEN: 0 OPTS: 12 bytes TS(16963,17137) Packet 9 Packet Length: 128 Collected: Fri Oct 9 17:47:59.604028 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 958 ID: 50786 CKSUM: 0x20c8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--F (0x19) SEQ: 0x0ba877a0 ACK: 0x0801dc11 WIN: 30840 HLEN: 32 CKSUM: 0x1015 (too short to verify) DLEN: 906 (only 62 bytes in dump file) OPTS: 12 bytes TS(17139,16958) data: 906 bytes Packet 10 Packet Length: 66 Collected: Fri Oct 9 17:47:59.651335 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 50092 CKSUM: 0xe907 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x0801dc11 ACK: 0x0ba86c50 WIN: 29211 HLEN: 32 CKSUM: 0x62d8 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(16963,17137) Packet 11 Packet Length: 66 Collected: Fri Oct 9 17:47:59.760731 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 50115 CKSUM: 0xe8f0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x0801dc11 ACK: 0x0ba877a0 WIN: 28849 HLEN: 32 CKSUM: 0x58f0 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(16964,17138) Packet 12 Packet Length: 66 Collected: Fri Oct 9 17:48:00.234474 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 50237 CKSUM: 0xe876 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x0801dc11 ACK: 0x0ba87b2b WIN: 28736 HLEN: 32 CKSUM: 0x55d5 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(16964,17139) Packet 13 Packet Length: 66 Collected: Fri Oct 9 17:48:00.237032 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 50239 CKSUM: 0xe874 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---F (0x11) SEQ: 0x0801dc11 ACK: 0x0ba87b2b WIN: 28736 HLEN: 32 CKSUM: 0x55d4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(16964,17139) Packet 14 Packet Length: 66 Collected: Fri Oct 9 17:48:00.237093 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 50943 CKSUM: 0x23b5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x0ba87b2b ACK: 0x0801dc12 WIN: 30840 HLEN: 32 CKSUM: 0x4d9b (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17140,16964) Packet 15 Packet Length: 78 Collected: Fri Oct 9 17:50:57.829117 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 30698 CKSUM: 0x72be (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0x3f882e0a ACK: 0x00000000 WIN: 65535 HLEN: 44 CKSUM: 0xc38a (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(3) TS(17495,0) SACKREQ Packet 16 Packet Length: 74 Collected: Fri Oct 9 17:50:58.406957 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 60 ID: 24211 CKSUM: 0x8e19 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 3330 FLG: -A--S- (0x12) SEQ: 0x3bdb368e ACK: 0x3f882e0b WIN: 16384 HLEN: 40 CKSUM: 0x22c3 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(3) SACKREQ Packet 17 Packet Length: 66 Collected: Fri Oct 9 17:50:58.407138 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 30844 CKSUM: 0x7238 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f882e0b ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xd5bb (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17496,17321) Packet 18 Packet Length: 128 Collected: Fri Oct 9 17:50:58.413545 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 30846 CKSUM: 0x6c8e (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f882e0b ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xd013 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17496,17321) data: 1448 bytes Packet 19 Packet Length: 66 Collected: Fri Oct 9 17:50:59.022739 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 24329 CKSUM: 0x4dab (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f882e0b WIN: 30840 HLEN: 32 CKSUM: 0x1a13 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17322,0) Packet 20 Packet Length: 66 Collected: Fri Oct 9 17:50:59.054892 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 24335 CKSUM: 0x4da5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f8833b3 WIN: 30659 HLEN: 32 CKSUM: 0xd0c7 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17322,17496) Packet 21 Packet Length: 128 Collected: Fri Oct 9 17:50:59.056651 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 31004 CKSUM: 0x6bf0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f8833b3 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xca69 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17498,17321) data: 1448 bytes Packet 22 Packet Length: 128 Collected: Fri Oct 9 17:50:59.057881 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 31005 CKSUM: 0x6bef (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f88395b ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xc4c1 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17498,17321) data: 1448 bytes Packet 23 Packet Length: 66 Collected: Fri Oct 9 17:50:59.690386 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 24464 CKSUM: 0x4d24 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f883f03 WIN: 30297 HLEN: 32 CKSUM: 0xc6de (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17323,17498) Packet 24 Packet Length: 128 Collected: Fri Oct 9 17:50:59.692169 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 31158 CKSUM: 0x6b56 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f883f03 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xbf18 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17499,17321) data: 1448 bytes Packet 25 Packet Length: 128 Collected: Fri Oct 9 17:50:59.693397 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 31159 CKSUM: 0x6b55 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f8844ab ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x1c60 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17499,17321) data: 1448 bytes Packet 26 Packet Length: 128 Collected: Fri Oct 9 17:50:59.694630 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 31160 CKSUM: 0x6b54 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f884a53 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xa401 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17499,17321) data: 1448 bytes Packet 27 Packet Length: 66 Collected: Fri Oct 9 17:51:00.311801 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 24598 CKSUM: 0x4c9e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f884a53 WIN: 29935 HLEN: 32 CKSUM: 0xbcf5 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17325,17499) Packet 28 Packet Length: 128 Collected: Fri Oct 9 17:51:00.313570 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 31309 CKSUM: 0x6abf (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f884ffb ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xae1f (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17500,17321) data: 1448 bytes Packet 29 Packet Length: 128 Collected: Fri Oct 9 17:51:00.314812 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 31310 CKSUM: 0x6abe (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f8855a3 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xa877 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17500,17321) data: 1448 bytes Packet 30 Packet Length: 128 Collected: Fri Oct 9 17:51:00.316034 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 31311 CKSUM: 0x6abd (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f885b4b ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xa2cf (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17500,17321) data: 1448 bytes Packet 31 Packet Length: 66 Collected: Fri Oct 9 17:51:00.452519 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 24631 CKSUM: 0x4c7d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f884ffb WIN: 29754 HLEN: 32 CKSUM: 0xb802 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17325,17499) Packet 32 Packet Length: 128 Collected: Fri Oct 9 17:51:00.457851 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 31347 CKSUM: 0x6a99 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f8860f3 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x7960 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17500,17321) data: 1448 bytes Packet 33 Packet Length: 128 Collected: Fri Oct 9 17:51:00.459088 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 31348 CKSUM: 0x6a98 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f88669b ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x1865 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17500,17321) data: 1448 bytes Packet 34 Packet Length: 66 Collected: Fri Oct 9 17:51:00.920552 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 24728 CKSUM: 0x4c1c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f885b4b WIN: 29392 HLEN: 32 CKSUM: 0xae1a (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17326,17500) Packet 35 Packet Length: 66 Collected: Fri Oct 9 17:51:01.052608 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 24755 CKSUM: 0x4c01 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f8860f3 WIN: 29211 HLEN: 32 CKSUM: 0xa927 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17326,17500) Packet 36 Packet Length: 66 Collected: Fri Oct 9 17:51:01.078678 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 24759 CKSUM: 0x4bfd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f886c43 WIN: 28849 HLEN: 32 CKSUM: 0x9f41 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17326,17500) Packet 37 Packet Length: 128 Collected: Fri Oct 9 17:51:01.079363 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 508 ID: 31510 CKSUM: 0x6dd6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f886c43 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xcb95 (too short to verify) DLEN: 456 (only 62 bytes in dump file) OPTS: 12 bytes TS(17502,17321) data: 456 bytes Packet 38 Packet Length: 66 Collected: Fri Oct 9 17:51:01.711295 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 24895 CKSUM: 0x4b75 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f886e0b WIN: 28792 HLEN: 32 CKSUM: 0x9daf (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17327,17502) Packet 39 Packet Length: 128 Collected: Fri Oct 9 17:51:01.711637 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 152 ID: 31666 CKSUM: 0x6e9e (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f886e0b ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x9548 (too short to verify) DLEN: 100 (only 62 bytes in dump file) OPTS: 12 bytes TS(17503,17321) data: 100 bytes Packet 40 Packet Length: 66 Collected: Fri Oct 9 17:51:02.300060 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 25032 CKSUM: 0x4aec (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f886e6f WIN: 28779 HLEN: 32 CKSUM: 0x9d55 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17329,17503) Packet 41 Packet Length: 128 Collected: Fri Oct 9 17:51:02.301700 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1400 ID: 31817 CKSUM: 0x6927 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f886e6f ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x9003 (too short to verify) DLEN: 1348 (only 62 bytes in dump file) OPTS: 12 bytes TS(17504,17321) data: 1348 bytes Packet 42 Packet Length: 66 Collected: Fri Oct 9 17:51:02.891796 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 25161 CKSUM: 0x4a6b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f8873b3 WIN: 28611 HLEN: 32 CKSUM: 0x98b7 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17330,17504) Packet 43 Packet Length: 128 Collected: Fri Oct 9 17:51:02.892285 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 152 ID: 31956 CKSUM: 0x6d7c (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f8873b3 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x8f9e (too short to verify) DLEN: 100 (only 62 bytes in dump file) OPTS: 12 bytes TS(17505,17321) data: 100 bytes Packet 44 Packet Length: 66 Collected: Fri Oct 9 17:51:03.555973 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 25289 CKSUM: 0x49eb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f887417 WIN: 28598 HLEN: 32 CKSUM: 0x985e (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17331,17505) Packet 45 Packet Length: 128 Collected: Fri Oct 9 17:51:03.557729 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1400 ID: 32105 CKSUM: 0x6807 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f887417 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x8a58 (too short to verify) DLEN: 1348 (only 62 bytes in dump file) OPTS: 12 bytes TS(17507,17321) data: 1348 bytes Packet 46 Packet Length: 66 Collected: Fri Oct 9 17:51:04.147582 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 25416 CKSUM: 0x496c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f88795b WIN: 28430 HLEN: 32 CKSUM: 0x93bf (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17332,17507) Packet 47 Packet Length: 128 Collected: Fri Oct 9 17:51:04.147941 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 152 ID: 32253 CKSUM: 0x6c53 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f88795b ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x89f3 (too short to verify) DLEN: 100 (only 62 bytes in dump file) OPTS: 12 bytes TS(17508,17321) data: 100 bytes Packet 48 Packet Length: 66 Collected: Fri Oct 9 17:51:04.727383 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 25536 CKSUM: 0x48f4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f8879bf WIN: 28417 HLEN: 32 CKSUM: 0x9366 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17333,17508) Packet 49 Packet Length: 128 Collected: Fri Oct 9 17:51:04.728989 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1400 ID: 32401 CKSUM: 0x66df (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f8879bf ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x84ae (too short to verify) DLEN: 1348 (only 62 bytes in dump file) OPTS: 12 bytes TS(17509,17321) data: 1348 bytes Packet 50 Packet Length: 66 Collected: Fri Oct 9 17:51:05.314718 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 25665 CKSUM: 0x4873 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f887f03 WIN: 28249 HLEN: 32 CKSUM: 0x8ec7 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17335,17509) Packet 51 Packet Length: 128 Collected: Fri Oct 9 17:51:05.315080 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 152 ID: 32561 CKSUM: 0x6b1f (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f887f03 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x8449 (too short to verify) DLEN: 100 (only 62 bytes in dump file) OPTS: 12 bytes TS(17510,17321) data: 100 bytes Packet 52 Packet Length: 66 Collected: Fri Oct 9 17:51:05.945864 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 25801 CKSUM: 0x47eb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f887f67 WIN: 28236 HLEN: 32 CKSUM: 0x8e6e (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17336,17510) Packet 53 Packet Length: 128 Collected: Fri Oct 9 17:51:05.947498 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1400 ID: 32711 CKSUM: 0x65a9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f887f67 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x7f04 (too short to verify) DLEN: 1348 (only 62 bytes in dump file) OPTS: 12 bytes TS(17511,17321) data: 1348 bytes Packet 54 Packet Length: 66 Collected: Fri Oct 9 17:51:06.616954 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 25935 CKSUM: 0x4765 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f8884ab WIN: 28068 HLEN: 32 CKSUM: 0x89d0 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17337,17511) Packet 55 Packet Length: 128 Collected: Fri Oct 9 17:51:06.617406 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 152 ID: 32849 CKSUM: 0x69ff (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f8884ab ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x7e9e (too short to verify) DLEN: 100 (only 62 bytes in dump file) OPTS: 12 bytes TS(17513,17321) data: 100 bytes Packet 56 Packet Length: 66 Collected: Fri Oct 9 17:51:07.202693 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 26071 CKSUM: 0x46dd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f88850f WIN: 28055 HLEN: 32 CKSUM: 0x8976 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17338,17513) Packet 57 Packet Length: 128 Collected: Fri Oct 9 17:51:07.204409 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1400 ID: 32996 CKSUM: 0x648c (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f88850f ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xdc48 (too short to verify) DLEN: 1348 (only 62 bytes in dump file) OPTS: 12 bytes TS(17514,17321) data: 1348 bytes Packet 58 Packet Length: 66 Collected: Fri Oct 9 17:51:07.784917 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 26197 CKSUM: 0x465f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f888a53 WIN: 27887 HLEN: 32 CKSUM: 0x84d7 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17340,17514) Packet 59 Packet Length: 128 Collected: Fri Oct 9 17:51:07.785362 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 152 ID: 33143 CKSUM: 0x68d9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f888a53 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x7ad6 (too short to verify) DLEN: 100 (only 62 bytes in dump file) OPTS: 12 bytes TS(17515,17321) data: 100 bytes Packet 60 Packet Length: 66 Collected: Fri Oct 9 17:51:08.385623 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 26330 CKSUM: 0x45da (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f888ab7 WIN: 27874 HLEN: 32 CKSUM: 0x847e (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17341,17515) Packet 61 Packet Length: 128 Collected: Fri Oct 9 17:51:08.387340 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1400 ID: 33304 CKSUM: 0x6358 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f888ab7 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x6206 (too short to verify) DLEN: 1348 (only 62 bytes in dump file) OPTS: 12 bytes TS(17516,17321) data: 1348 bytes Packet 62 Packet Length: 66 Collected: Fri Oct 9 17:51:09.005632 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 26466 CKSUM: 0x4552 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f888ffb WIN: 27706 HLEN: 32 CKSUM: 0x7fe0 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17342,17516) Packet 63 Packet Length: 128 Collected: Fri Oct 9 17:51:09.006124 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 152 ID: 33459 CKSUM: 0x679d (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f888ffb ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x7349 (too short to verify) DLEN: 100 (only 62 bytes in dump file) OPTS: 12 bytes TS(17518,17321) data: 100 bytes Packet 64 Packet Length: 66 Collected: Fri Oct 9 17:51:09.606419 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 26606 CKSUM: 0x44c6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f88905f WIN: 27693 HLEN: 32 CKSUM: 0x7f86 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17343,17518) Packet 65 Packet Length: 128 Collected: Fri Oct 9 17:51:09.608137 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1400 ID: 33618 CKSUM: 0x621e (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f88905f ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x6e04 (too short to verify) DLEN: 1348 (only 62 bytes in dump file) OPTS: 12 bytes TS(17519,17321) data: 1348 bytes Packet 66 Packet Length: 66 Collected: Fri Oct 9 17:51:10.212761 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 26742 CKSUM: 0x443e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f8895a3 WIN: 27525 HLEN: 32 CKSUM: 0x7ae8 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17344,17519) Packet 67 Packet Length: 128 Collected: Fri Oct 9 17:51:10.213115 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 152 ID: 33777 CKSUM: 0x665f (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f8895a3 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x6d9f (too short to verify) DLEN: 100 (only 62 bytes in dump file) OPTS: 12 bytes TS(17520,17321) data: 100 bytes Packet 68 Packet Length: 66 Collected: Fri Oct 9 17:51:10.829063 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 26885 CKSUM: 0x43af (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f889607 WIN: 27512 HLEN: 32 CKSUM: 0x7a8e (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17346,17520) Packet 69 Packet Length: 128 Collected: Fri Oct 9 17:51:10.830782 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1400 ID: 33924 CKSUM: 0x60ec (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f889607 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x685a (too short to verify) DLEN: 1348 (only 62 bytes in dump file) OPTS: 12 bytes TS(17521,17321) data: 1348 bytes Packet 70 Packet Length: 66 Collected: Fri Oct 9 17:51:11.417361 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 27018 CKSUM: 0x432a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f889b4b WIN: 27344 HLEN: 32 CKSUM: 0x75f0 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17347,17521) Packet 71 Packet Length: 128 Collected: Fri Oct 9 17:51:11.417785 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 152 ID: 34084 CKSUM: 0x652c (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f889b4b ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x67f5 (too short to verify) DLEN: 100 (only 62 bytes in dump file) OPTS: 12 bytes TS(17522,17321) data: 100 bytes Packet 72 Packet Length: 66 Collected: Fri Oct 9 17:51:12.019001 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 27162 CKSUM: 0x429a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f889baf WIN: 27331 HLEN: 32 CKSUM: 0x7597 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17348,17522) Packet 73 Packet Length: 128 Collected: Fri Oct 9 17:51:12.020675 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1400 ID: 34231 CKSUM: 0x5fb9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f889baf ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x62af (too short to verify) DLEN: 1348 (only 62 bytes in dump file) OPTS: 12 bytes TS(17524,17321) data: 1348 bytes Packet 74 Packet Length: 66 Collected: Fri Oct 9 17:51:12.613141 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 27294 CKSUM: 0x4216 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f88a0f3 WIN: 27163 HLEN: 32 CKSUM: 0x70f8 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17349,17524) Packet 75 Packet Length: 128 Collected: Fri Oct 9 17:51:12.613497 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 152 ID: 34362 CKSUM: 0x6416 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f88a0f3 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x624a (too short to verify) DLEN: 100 (only 62 bytes in dump file) OPTS: 12 bytes TS(17525,17321) data: 100 bytes Packet 76 Packet Length: 66 Collected: Fri Oct 9 17:51:13.196758 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 27402 CKSUM: 0x41aa (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f88a157 WIN: 27150 HLEN: 32 CKSUM: 0x709f (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17350,17525) Packet 77 Packet Length: 128 Collected: Fri Oct 9 17:51:13.198705 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1400 ID: 34499 CKSUM: 0x5ead (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f88a157 ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x393e (too short to verify) DLEN: 1348 (only 62 bytes in dump file) OPTS: 12 bytes TS(17526,17321) data: 1348 bytes Packet 78 Packet Length: 66 Collected: Fri Oct 9 17:51:13.819071 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 27526 CKSUM: 0x412e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f88a69b WIN: 26982 HLEN: 32 CKSUM: 0x6c00 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17352,17526) Packet 79 Packet Length: 128 Collected: Fri Oct 9 17:51:13.819420 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 152 ID: 34641 CKSUM: 0x62ff (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--- (0x18) SEQ: 0x3f88a69b ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0x94de (too short to verify) DLEN: 100 (only 62 bytes in dump file) OPTS: 12 bytes TS(17527,17321) data: 100 bytes Packet 80 Packet Length: 128 Collected: Fri Oct 9 17:51:13.820909 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1286 ID: 34642 CKSUM: 0x5e90 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -AP--F (0x19) SEQ: 0x3f88a6ff ACK: 0x3bdb368f WIN: 30840 HLEN: 32 CKSUM: 0xa9e7 (too short to verify) DLEN: 1234 (only 62 bytes in dump file) OPTS: 12 bytes TS(17527,17321) data: 1234 bytes Packet 81 Packet Length: 66 Collected: Fri Oct 9 17:51:14.423410 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 27645 CKSUM: 0x40b7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f88a6ff WIN: 26969 HLEN: 32 CKSUM: 0x6ba7 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17353,17527) Packet 82 Packet Length: 66 Collected: Fri Oct 9 17:51:14.426390 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 27646 CKSUM: 0x40b6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x3bdb368f ACK: 0x3f88abd2 WIN: 26815 HLEN: 32 CKSUM: 0x676e (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17353,17527) Packet 83 Packet Length: 66 Collected: Fri Oct 9 17:51:14.427388 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 27647 CKSUM: 0x40b5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---F (0x11) SEQ: 0x3bdb368f ACK: 0x3f88abd2 WIN: 26815 HLEN: 32 CKSUM: 0x676d (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17353,17527) Packet 84 Packet Length: 66 Collected: Fri Oct 9 17:51:14.427575 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 34793 CKSUM: 0x62cb (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x3f88abd2 ACK: 0x3bdb3690 WIN: 30840 HLEN: 32 CKSUM: 0x57b3 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17528,17353) Packet 85 Packet Length: 78 Collected: Fri Oct 9 17:54:07.626531 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 12742 CKSUM: 0xb8e2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0x73aa1862 ACK: 0x00000000 WIN: 65535 HLEN: 44 CKSUM: 0xa394 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(3) TS(17875,0) SACKREQ Packet 86 Packet Length: 74 Collected: Fri Oct 9 17:54:08.262333 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 60 ID: 168 CKSUM: 0xec04 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 3330 FLG: -A--S- (0x12) SEQ: 0x70013252 ACK: 0x73aa1863 WIN: 16384 HLEN: 40 CKSUM: 0xd2e2 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(3) SACKREQ Packet 87 Packet Length: 66 Collected: Fri Oct 9 17:54:08.262537 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 12902 CKSUM: 0xb84e (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x73aa1863 ACK: 0x70013253 WIN: 30840 HLEN: 32 CKSUM: 0x845f (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17876,17701) Packet 88 Packet Length: 128 Collected: Fri Oct 9 17:54:08.270913 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 12904 CKSUM: 0xb2a4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x73aa1863 ACK: 0x70013253 WIN: 30840 HLEN: 32 CKSUM: 0x7eb7 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17876,17701) data: 1448 bytes Packet 89 Packet Length: 66 Collected: Fri Oct 9 17:54:08.910117 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 306 CKSUM: 0xab82 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x70013253 ACK: 0x73aa1863 WIN: 30840 HLEN: 32 CKSUM: 0xca32 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17702,0) Packet 90 Packet Length: 66 Collected: Fri Oct 9 17:54:09.054109 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 337 CKSUM: 0xab63 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x70013253 ACK: 0x73aa1e0b WIN: 30659 HLEN: 32 CKSUM: 0x7f6b (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17702,17876) Packet 91 Packet Length: 128 Collected: Fri Oct 9 17:54:09.058868 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 13095 CKSUM: 0xb1e5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x73aa1e0b ACK: 0x70013253 WIN: 30840 HLEN: 32 CKSUM: 0x790d (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17878,17701) data: 1448 bytes Packet 92 Packet Length: 128 Collected: Fri Oct 9 17:54:09.060099 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 13096 CKSUM: 0xb1e4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x73aa23b3 ACK: 0x70013253 WIN: 30840 HLEN: 32 CKSUM: 0x7365 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17878,17701) data: 1448 bytes Packet 93 Packet Length: 66 Collected: Fri Oct 9 17:54:09.674284 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 480 CKSUM: 0xaad4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x70013253 ACK: 0x73aa295b WIN: 30297 HLEN: 32 CKSUM: 0x7582 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17703,17878) Packet 94 Packet Length: 128 Collected: Fri Oct 9 17:54:09.676536 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 13250 CKSUM: 0xb14a (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x73aa295b ACK: 0x70013253 WIN: 30840 HLEN: 32 CKSUM: 0x6dbc (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17879,17701) data: 1448 bytes Packet 95 Packet Length: 128 Collected: Fri Oct 9 17:54:09.677767 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 13251 CKSUM: 0xb149 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x73aa2f03 ACK: 0x70013253 WIN: 30840 HLEN: 32 CKSUM: 0xcb03 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17879,17701) data: 1448 bytes Packet 96 Packet Length: 128 Collected: Fri Oct 9 17:54:09.679003 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 13252 CKSUM: 0xb148 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x73aa34ab ACK: 0x70013253 WIN: 30840 HLEN: 32 CKSUM: 0x52a5 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17879,17701) data: 1448 bytes Packet 97 Packet Length: 66 Collected: Fri Oct 9 17:54:10.307424 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.21 IP Dest: 132.235.67.36 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 614 CKSUM: 0xaa4e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 9080 DPRT: 3330 FLG: -A---- (0x10) SEQ: 0x70013253 ACK: 0x73aa34ab WIN: 29935 HLEN: 32 CKSUM: 0x6b99 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(17705,17879) Packet 98 Packet Length: 128 Collected: Fri Oct 9 17:54:10.309259 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 13403 CKSUM: 0xb0b1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x73aa3a53 ACK: 0x70013253 WIN: 30840 HLEN: 32 CKSUM: 0x5cc3 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17880,17701) data: 1448 bytes Packet 99 Packet Length: 128 Collected: Fri Oct 9 17:54:10.310492 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 13404 CKSUM: 0xb0b0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x73aa3ffb ACK: 0x70013253 WIN: 30840 HLEN: 32 CKSUM: 0x571b (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17880,17701) data: 1448 bytes Packet 100 Packet Length: 128 Collected: Fri Oct 9 17:54:10.311725 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.36 IP Dest: 132.235.67.21 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 13405 CKSUM: 0xb0af (CORRECT) OFFSET: 0x0000 TCP SPRT: 3330 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x73aa45a3 ACK: 0x70013253 WIN: 30840 HLEN: 32 CKSUM: 0x5173 (too short to verify) DLEN: 1448 (only 62 bytes in dump file) OPTS: 12 bytes TS(17880,17701) data: 1448 bytes 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:06:11.375158 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: *** 4 packets were too short to process at some point (use -w option to show details) 1: 132.235.67.21:9080 - 132.235.67.36:3330 (a2b) 7> 7< 2: 132.235.67.36:3330 - 132.235.67.21:9080 (c2d) 37> 33< (complete) 3: 132.235.67.36:3330 - 132.235.67.21:9080 (e2f) 11> 5< tcptrace-6.6.7/input/OUTPUTbench/fast_reuse.dmp.gz.short0100644001217500001440000000312007520175206022665 0ustar mramadasusers1 arg remaining, starting with 'fast_reuse.dmp.gz' 513 packets seen, 513 TCP packets traced trace file elapsed time: 0:55:11.347437 TCP connection info: *** 17 packets were too short to process at some point (use -w option to show details) 1: 132.235.67.21:9080 - 132.235.67.36:3330 (a2b) 7> 7< 2: 132.235.67.36:3330 - 132.235.67.21:9080 (c2d) 37> 33< (complete) 3: 132.235.67.36:3330 - 132.235.67.21:9080 (e2f) 57> 53< (complete) 4: 132.235.67.36:3330 - 132.235.67.21:9080 (g2h) 67> 63< (complete) 5: 132.235.67.36:3330 - 132.235.67.21:9080 (i2j) 5> 5< (complete) 6: 132.235.67.36:3330 - 132.235.67.21:9080 (k2l) 11> 8< (complete) 7: 132.235.67.36:3330 - 132.235.67.21:9080 (m2n) 5> 5< (complete) 8: 132.235.67.36:3330 - 132.235.67.21:9080 (o2p) 5> 5< (complete) 9: 132.235.67.36:3330 - 132.235.67.21:9080 (q2r) 5> 5< (complete) 10: 132.235.67.36:3330 - 132.235.67.21:9080 (s2t) 5> 5< (complete) 11: 132.235.67.36:3330 - 132.235.67.21:9080 (u2v) 5> 5< (complete) 12: 132.235.67.36:3330 - 132.235.67.21:9080 (w2x) 5> 5< (complete) 13: 132.235.67.36:3330 - 132.235.67.21:9080 (y2z) 5> 5< (complete) 14: 132.235.67.36:3330 - 132.235.67.21:9080 (aa2ab) 5> 5< (complete) 15: 132.235.67.36:3330 - 132.235.67.21:9080 (ac2ad) 5> 5< (complete) 16: 132.235.67.36:3330 - 132.235.67.21:9080 (ae2af) 5> 5< (complete) 17: 132.235.67.36:3330 - 132.235.67.21:9080 (ag2ah) 27> 23< (complete) 18: 132.235.67.36:3330 - 132.235.67.21:9080 (ai2aj) 5> 5< (complete) tcptrace-6.6.7/input/OUTPUTbench/fast_reuse.dmp.gz.xplots.cksum0100644001217500001440000001313207751776617024227 0ustar mramadasusers3338927863 2030 a2b_owin.xpl 4045996178 139 a2b_rtt.xpl 2705825967 127 a2b_ssize.xpl 3834630507 118 a2b_tput.xpl 3013315178 1975 a2b_tsg.xpl 2617257901 2647 a_b_tline.xpl 216821764 1264 aa2ab_owin.xpl 3268624827 328 aa2ab_rtt.xpl 771515582 186 aa2ab_ssize.xpl 1956419108 151 aa2ab_tput.xpl 3883063501 1766 aa2ab_tsg.xpl 3378343017 2139 aa_ab_tline.xpl 3216744761 1194 ab2aa_owin.xpl 3749946918 209 ab2aa_rtt.xpl 2705825967 127 ab2aa_ssize.xpl 3834630507 118 ab2aa_tput.xpl 1122818229 1414 ab2aa_tsg.xpl 4201896897 1279 ac2ad_owin.xpl 587578791 328 ac2ad_rtt.xpl 1358921266 432 ac2ad_ssize.xpl 390550314 184 ac2ad_tput.xpl 4194496128 1707 ac2ad_tsg.xpl 2521582296 2100 ac_ad_tline.xpl 3810511743 1194 ad2ac_owin.xpl 1078458683 209 ad2ac_rtt.xpl 2705825967 127 ad2ac_ssize.xpl 3834630507 118 ad2ac_tput.xpl 3446221988 1377 ad2ac_tsg.xpl 3931794916 1243 ae2af_owin.xpl 3322151783 328 ae2af_rtt.xpl 1492114883 184 ae2af_ssize.xpl 3616448290 149 ae2af_tput.xpl 2630411509 1766 ae2af_tsg.xpl 1577737642 2138 ae_af_tline.xpl 2902123420 1194 af2ae_owin.xpl 2922886597 209 af2ae_rtt.xpl 2705825967 127 af2ae_ssize.xpl 3834630507 118 af2ae_tput.xpl 1319490486 1414 af2ae_tsg.xpl 1083534889 8472 ag2ah_owin.xpl 1654798473 1696 ag2ah_rtt.xpl 1344317621 3905 ag2ah_ssize.xpl 134281579 1229 ag2ah_tput.xpl 1428815892 9719 ag2ah_tsg.xpl 2304264514 10149 ag_ah_tline.xpl 953601342 6612 ah2ag_owin.xpl 1033250922 209 ah2ag_rtt.xpl 2705825967 127 ah2ag_ssize.xpl 3834630507 118 ah2ag_tput.xpl 588522321 7248 ah2ag_tsg.xpl 1061635314 1270 ai2aj_owin.xpl 862861842 328 ai2aj_rtt.xpl 3829827941 188 ai2aj_ssize.xpl 1939630601 151 ai2aj_tput.xpl 2026053386 1766 ai2aj_tsg.xpl 586679843 2140 ai_aj_tline.xpl 2281962900 1194 aj2ai_owin.xpl 2160386114 209 aj2ai_rtt.xpl 2705825967 127 aj2ai_ssize.xpl 3834630507 118 aj2ai_tput.xpl 1072248728 1414 aj2ai_tsg.xpl 3421630036 2283 b2a_owin.xpl 791633785 404 b2a_rtt.xpl 844300058 1066 b2a_ssize.xpl 449928085 293 b2a_tput.xpl 1042722992 2537 b2a_tsg.xpl 2219902864 11740 c2d_owin.xpl 3353378093 2456 c2d_rtt.xpl 220632118 5461 c2d_ssize.xpl 1634332687 1714 c2d_tput.xpl 3730637717 14136 c2d_tsg.xpl 1055670422 14048 c_d_tline.xpl 359979618 9622 d2c_owin.xpl 114345197 209 d2c_rtt.xpl 2705825967 127 d2c_ssize.xpl 3834630507 118 d2c_tput.xpl 1047276888 10038 d2c_tsg.xpl 1251239967 18253 e2f_owin.xpl 2607923349 3976 e2f_rtt.xpl 3267781030 8548 e2f_ssize.xpl 3925799988 2840 e2f_tput.xpl 2087890345 22916 e2f_tsg.xpl 2850838205 22494 e_f_tline.xpl 3269936567 15642 f2e_owin.xpl 394020405 209 f2e_rtt.xpl 2705825967 127 f2e_ssize.xpl 3834630507 118 f2e_tput.xpl 1255529407 15618 f2e_tsg.xpl 1548346806 21485 g2h_owin.xpl 894355483 4736 g2h_rtt.xpl 2343395699 10088 g2h_ssize.xpl 3441206317 3322 g2h_tput.xpl 3808926799 27279 g2h_tsg.xpl 2734574231 26607 g_h_tline.xpl 1076363911 18652 h2g_owin.xpl 773900560 209 h2g_rtt.xpl 2705825967 127 h2g_ssize.xpl 3834630507 118 h2g_tput.xpl 4172478447 18408 h2g_tsg.xpl 599979975 1270 i2j_owin.xpl 3671936085 328 i2j_rtt.xpl 4104517854 188 i2j_ssize.xpl 4046426878 151 i2j_tput.xpl 303565485 1766 i2j_tsg.xpl 3805035391 2140 i_j_tline.xpl 1991971301 1194 j2i_owin.xpl 1422122461 209 j2i_rtt.xpl 2705825967 127 j2i_ssize.xpl 3834630507 118 j2i_tput.xpl 1781171862 1414 j2i_tsg.xpl 3711706608 3248 k2l_owin.xpl 2131467533 556 k2l_rtt.xpl 604079754 1386 k2l_ssize.xpl 1009677228 394 k2l_tput.xpl 707938963 3174 k2l_tsg.xpl 1512705117 3846 k_l_tline.xpl 3936928276 2097 l2k_owin.xpl 1800552764 209 l2k_rtt.xpl 2705825967 127 l2k_ssize.xpl 3834630507 118 l2k_tput.xpl 291698721 2781 l2k_tsg.xpl 332524012 1264 m2n_owin.xpl 2406438790 328 m2n_rtt.xpl 1424378757 186 m2n_ssize.xpl 2246872250 151 m2n_tput.xpl 1345546631 1766 m2n_tsg.xpl 40202371 2125 m_n_tline.xpl 3122654341 1194 n2m_owin.xpl 1980467606 209 n2m_rtt.xpl 2705825967 127 n2m_ssize.xpl 3834630507 118 n2m_tput.xpl 772171520 1414 n2m_tsg.xpl 2179745203 1276 o2p_owin.xpl 312653840 328 o2p_rtt.xpl 3587119661 427 o2p_ssize.xpl 822412787 183 o2p_tput.xpl 2280713235 1755 o2p_tsg.xpl 1508314566 2142 o_p_tline.xpl 3896523841 1194 p2o_owin.xpl 2117702902 209 p2o_rtt.xpl 2705825967 127 p2o_ssize.xpl 3834630507 118 p2o_tput.xpl 1508895061 1414 p2o_tsg.xpl 3839195488 1279 q2r_owin.xpl 3102766902 328 q2r_rtt.xpl 2946644479 432 q2r_ssize.xpl 2440983158 184 q2r_tput.xpl 618315623 1755 q2r_tsg.xpl 1414842975 2143 q_r_tline.xpl 2988689080 1194 r2q_owin.xpl 3189474984 209 r2q_rtt.xpl 2705825967 127 r2q_ssize.xpl 3834630507 118 r2q_tput.xpl 3884821977 1414 r2q_tsg.xpl 3518414698 1270 s2t_owin.xpl 2713807730 328 s2t_rtt.xpl 3692629831 188 s2t_ssize.xpl 3469224684 151 s2t_tput.xpl 1626815985 1766 s2t_tsg.xpl 1030987158 2140 s_t_tline.xpl 1995165773 1194 t2s_owin.xpl 4158012073 209 t2s_rtt.xpl 2705825967 127 t2s_ssize.xpl 3834630507 118 t2s_tput.xpl 3582183206 1414 t2s_tsg.xpl 1517303779 1243 u2v_owin.xpl 3172887335 328 u2v_rtt.xpl 2176769554 184 u2v_ssize.xpl 3061267664 149 u2v_tput.xpl 1098274892 1718 u2v_tsg.xpl 3358630446 2109 u_v_tline.xpl 4065389347 1194 v2u_owin.xpl 778112391 209 v2u_rtt.xpl 2705825967 127 v2u_ssize.xpl 3834630507 118 v2u_tput.xpl 3845323475 1377 v2u_tsg.xpl 3189618150 1243 w2x_owin.xpl 2292199577 328 w2x_rtt.xpl 3901075878 184 w2x_ssize.xpl 4040421946 149 w2x_tput.xpl 3503870724 1766 w2x_tsg.xpl 3963540021 2138 w_x_tline.xpl 2041151638 1194 x2w_owin.xpl 831810644 209 x2w_rtt.xpl 2705825967 127 x2w_ssize.xpl 3834630507 118 x2w_tput.xpl 2370690946 1414 x2w_tsg.xpl 4096701009 1264 y2z_owin.xpl 4200803631 328 y2z_rtt.xpl 556362710 186 y2z_ssize.xpl 1480752583 151 y2z_tput.xpl 2702354479 1766 y2z_tsg.xpl 3914438972 2139 y_z_tline.xpl 586021943 1194 z2y_owin.xpl 2731882893 209 z2y_rtt.xpl 2705825967 127 z2y_ssize.xpl 3834630507 118 z2y_tput.xpl 1822253344 1414 z2y_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/finger.netm.gz.long0100644001217500001440000001202707662255051021774 0ustar mramadasusers1 arg remaining, starting with 'finger.netm.gz' 9 packets seen, 9 TCP packets traced trace file elapsed time: 0:00:00.318940 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 132.235.1.184:40491 host b: 132.235.3.130:79 complete conn: yes first packet: Fri Dec 3 17:47:05.621339 1993 last packet: Fri Dec 3 17:47:05.940279 1993 elapsed time: 0:00:00.318940 total packets: 9 filename: finger.netm.gz a->b: b->a: total packets: 4 total packets: 5 ack pkts sent: 3 ack pkts sent: 5 pure acks sent: 1 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2 unique bytes sent: 117 actual data pkts: 1 actual data pkts: 1 actual data bytes: 2 actual data bytes: 117 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 2 bytes max segm size: 117 bytes min segm size: 2 bytes min segm size: 117 bytes avg segm size: 1 bytes avg segm size: 116 bytes max win adv: 8760 bytes max win adv: 16384 bytes min win adv: 8760 bytes min win adv: 16384 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 16384 bytes max owin: 3 bytes max owin: 118 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 59 bytes wavg owin: 0 bytes wavg owin: 3 bytes initial window: 2 bytes initial window: 117 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 2 bytes ttl stream length: 117 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 298.8 ms idletime max: 162.9 ms throughput: 6 Bps throughput: 367 Bps RTT samples: 3 RTT samples: 2 RTT min: 1.4 ms RTT min: 0.4 ms RTT max: 134.6 ms RTT max: 4.6 ms RTT avg: 46.2 ms RTT avg: 2.5 ms RTT stdev: 76.6 ms RTT stdev: 0.0 ms RTT from 3WHS: 2.5 ms RTT from 3WHS: 4.6 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 134.6 ms RTT full_sz min: 0.4 ms RTT full_sz max: 134.6 ms RTT full_sz max: 0.4 ms RTT full_sz avg: 134.6 ms RTT full_sz avg: 0.4 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/finger.netm.gz.packets0100644001217500001440000001175207302732557022475 0ustar mramadasusers1 arg remaining, starting with 'finger.netm.gz' Packet 1 Packet Length: 58 Collected: Fri Dec 3 17:47:05.621339 1993 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:2b:15:c3:b7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.130 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 971 CKSUM: 0x68f0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 40491 DPRT: 79 FLG: ----S- (0x02) SEQ: 0xd423204a ACK: 0x00000000 WIN: 8760 HLEN: 24 CKSUM: 0xd3f5 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 2 Packet Length: 60 Collected: Fri Dec 3 17:47:05.623805 1993 ETH Srce: 08:00:2b:15:c3:b7 ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.130 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 44 ID: 39731 CKSUM: 0xd488 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 40491 FLG: -A--S- (0x12) SEQ: 0x36572200 ACK: 0xd423204b WIN: 16384 HLEN: 24 CKSUM: 0x5dc5 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 3 Packet Length: 56 Collected: Fri Dec 3 17:47:05.628388 1993 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:2b:15:c3:b7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.130 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 42 ID: 972 CKSUM: 0x68f1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 40491 DPRT: 79 FLG: -AP--- (0x18) SEQ: 0xd423204b ACK: 0x36572201 WIN: 8760 HLEN: 20 CKSUM: 0x8636 (CORRECT) DLEN: 2 data: 2 bytes Packet 4 Packet Length: 60 Collected: Fri Dec 3 17:47:05.763022 1993 ETH Srce: 08:00:2b:15:c3:b7 ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.130 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 39732 CKSUM: 0xd48b (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 40491 FLG: -A---- (0x10) SEQ: 0x36572201 ACK: 0xd423204d WIN: 16384 HLEN: 20 CKSUM: 0x7580 (CORRECT) DLEN: 0 Packet 5 Packet Length: 171 Collected: Fri Dec 3 17:47:05.925908 1993 ETH Srce: 08:00:2b:15:c3:b7 ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.130 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 157 ID: 39733 CKSUM: 0xd415 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 40491 FLG: -AP--- (0x18) SEQ: 0x36572201 ACK: 0xd423204d WIN: 16384 HLEN: 20 CKSUM: 0xed1c (CORRECT) DLEN: 117 data: 117 bytes Packet 6 Packet Length: 60 Collected: Fri Dec 3 17:47:05.926791 1993 ETH Srce: 08:00:2b:15:c3:b7 ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.130 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 39734 CKSUM: 0xd489 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 40491 FLG: -A---F (0x11) SEQ: 0x36572276 ACK: 0xd423204d WIN: 16384 HLEN: 20 CKSUM: 0x750a (CORRECT) DLEN: 0 Packet 7 Packet Length: 54 Collected: Fri Dec 3 17:47:05.927234 1993 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:2b:15:c3:b7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.130 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 973 CKSUM: 0x68f2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 40491 DPRT: 79 FLG: -A---- (0x10) SEQ: 0xd423204d ACK: 0x36572277 WIN: 8760 HLEN: 20 CKSUM: 0x92d2 (CORRECT) DLEN: 0 Packet 8 Packet Length: 54 Collected: Fri Dec 3 17:47:05.938877 1993 ETH Srce: 08:00:20:1b:42:d0 ETH Dest: 08:00:2b:15:c3:b7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.184 IP Dest: 132.235.3.130 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 974 CKSUM: 0x68f1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 40491 DPRT: 79 FLG: -A---F (0x11) SEQ: 0xd423204d ACK: 0x36572277 WIN: 8760 HLEN: 20 CKSUM: 0x92d1 (CORRECT) DLEN: 0 Packet 9 Packet Length: 60 Collected: Fri Dec 3 17:47:05.940279 1993 ETH Srce: 08:00:2b:15:c3:b7 ETH Dest: 08:00:20:1b:42:d0 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.130 IP Dest: 132.235.1.184 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 39735 CKSUM: 0xd488 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 40491 FLG: -A---- (0x10) SEQ: 0x36572277 ACK: 0xd423204e WIN: 16384 HLEN: 20 CKSUM: 0x7509 (CORRECT) DLEN: 0 9 packets seen, 9 TCP packets traced trace file elapsed time: 0:00:00.318940 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.1.184:40491 - 132.235.3.130:79 (a2b) 4> 5< (complete) tcptrace-6.6.7/input/OUTPUTbench/finger.netm.gz.short0100644001217500001440000000033507253211553022166 0ustar mramadasusers1 arg remaining, starting with 'finger.netm.gz' 9 packets seen, 9 TCP packets traced trace file elapsed time: 0:00:00.318940 TCP connection info: 1: 132.235.1.184:40491 - 132.235.3.130:79 (a2b) 4> 5< (complete) tcptrace-6.6.7/input/OUTPUTbench/finger.netm.gz.xplots.cksum0100644001217500001440000000046507751776617023531 0ustar mramadasusers1243742994 884 a2b_owin.xpl 3344421374 318 a2b_rtt.xpl 2539040228 181 a2b_ssize.xpl 3525425662 149 a2b_tput.xpl 3403315447 1662 a2b_tsg.xpl 220347899 1800 a_b_tline.xpl 2631995290 1234 b2a_owin.xpl 3545839837 208 b2a_rtt.xpl 3478687160 185 b2a_ssize.xpl 181086036 149 b2a_tput.xpl 4169640599 1282 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/finger.snoop.gz.long0100644001217500001440000001203107662255051022162 0ustar mramadasusers1 arg remaining, starting with 'finger.snoop.gz' 13 packets seen, 13 TCP packets traced trace file elapsed time: 0:00:10.438257 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 132.235.3.133:1084 host b: 132.235.1.2:79 complete conn: yes first packet: Wed Jul 20 16:40:30.688114 1994 last packet: Wed Jul 20 16:40:41.126372 1994 elapsed time: 0:00:10.438257 total packets: 13 filename: finger.snoop.gz a->b: b->a: total packets: 7 total packets: 6 ack pkts sent: 6 ack pkts sent: 6 pure acks sent: 3 pure acks sent: 3 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 11 unique bytes sent: 1152 actual data pkts: 2 actual data pkts: 1 actual data bytes: 11 actual data bytes: 1152 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 9 bytes max segm size: 1152 bytes min segm size: 2 bytes min segm size: 1152 bytes avg segm size: 5 bytes avg segm size: 1150 bytes max win adv: 4096 bytes max win adv: 4096 bytes min win adv: 4096 bytes min win adv: 4085 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 4096 bytes avg win adv: 4092 bytes max owin: 10 bytes max owin: 1153 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 2 bytes avg owin: 231 bytes wavg owin: 2 bytes wavg owin: 4 bytes initial window: 9 bytes initial window: 1152 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 11 bytes ttl stream length: 1152 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.047 secs data xmit time: 0.000 secs idletime max: 10344.1 ms idletime max: 10125.8 ms throughput: 1 Bps throughput: 110 Bps RTT samples: 4 RTT samples: 3 RTT min: 1.0 ms RTT min: 0.7 ms RTT max: 199.0 ms RTT max: 19.4 ms RTT avg: 62.0 ms RTT avg: 7.0 ms RTT stdev: 93.7 ms RTT stdev: 10.7 ms RTT from 3WHS: 1.9 ms RTT from 3WHS: 0.8 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 45.9 ms RTT full_sz min: 19.4 ms RTT full_sz max: 45.9 ms RTT full_sz max: 19.4 ms RTT full_sz avg: 45.9 ms RTT full_sz avg: 19.4 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/finger.snoop.gz.packets0100644001217500001440000001566107302732560022665 0ustar mramadasusers1 arg remaining, starting with 'finger.snoop.gz' Packet 1 Packet Length: 60 Collected: Wed Jul 20 16:40:30.688114 1994 ETH Srce: 08:00:20:10:4c:ea ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.133 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 44 ID: 62891 CKSUM: 0x7ac3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1084 DPRT: 79 FLG: ----S- (0x02) SEQ: 0x1846d800 ACK: 0x00000000 WIN: 4096 HLEN: 24 CKSUM: 0x84f7 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 2 Packet Length: 60 Collected: Wed Jul 20 16:40:30.689987 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:20:10:4c:ea Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.133 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 44 ID: 39270 CKSUM: 0xd708 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 1084 FLG: -A--S- (0x12) SEQ: 0x38936600 ACK: 0x1846d801 WIN: 4096 HLEN: 24 CKSUM: 0xe652 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 3 Packet Length: 60 Collected: Wed Jul 20 16:40:30.690814 1994 ETH Srce: 08:00:20:10:4c:ea ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.133 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 62892 CKSUM: 0x7ac6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1084 DPRT: 79 FLG: -A---- (0x10) SEQ: 0x1846d801 ACK: 0x38936601 WIN: 4096 HLEN: 20 CKSUM: 0xfe0f (CORRECT) DLEN: 0 Packet 4 Packet Length: 63 Collected: Wed Jul 20 16:40:30.693981 1994 ETH Srce: 08:00:20:10:4c:ea ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.133 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 49 ID: 62894 CKSUM: 0x7abb (CORRECT) OFFSET: 0x0000 TCP SPRT: 1084 DPRT: 79 FLG: -AP--- (0x18) SEQ: 0x1846d801 ACK: 0x38936601 WIN: 4096 HLEN: 20 CKSUM: 0xd849 (CORRECT) DLEN: 9 data: 9 bytes Packet 5 Packet Length: 60 Collected: Wed Jul 20 16:40:30.739883 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:20:10:4c:ea Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.133 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 39273 CKSUM: 0xd709 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 1084 FLG: -A---- (0x10) SEQ: 0x38936601 ACK: 0x1846d80a WIN: 4087 HLEN: 20 CKSUM: 0xfe0f (CORRECT) DLEN: 0 Packet 6 Packet Length: 60 Collected: Wed Jul 20 16:40:30.740569 1994 ETH Srce: 08:00:20:10:4c:ea ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.133 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 42 ID: 62895 CKSUM: 0x7ac1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1084 DPRT: 79 FLG: -AP--- (0x18) SEQ: 0x1846d80a ACK: 0x38936601 WIN: 4096 HLEN: 20 CKSUM: 0xf0f2 (CORRECT) DLEN: 2 data: 2 bytes Packet 7 Packet Length: 60 Collected: Wed Jul 20 16:40:30.939590 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:20:10:4c:ea Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.133 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 39286 CKSUM: 0xd6fc (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 1084 FLG: -A---- (0x10) SEQ: 0x38936601 ACK: 0x1846d80c WIN: 4085 HLEN: 20 CKSUM: 0xfe0f (CORRECT) DLEN: 0 Packet 8 Packet Length: 1206 Collected: Wed Jul 20 16:40:41.065353 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:20:10:4c:ea Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.133 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 1192 ID: 39815 CKSUM: 0xd06b (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 1084 FLG: -AP--- (0x18) SEQ: 0x38936601 ACK: 0x1846d80c WIN: 4096 HLEN: 20 CKSUM: 0x83da (CORRECT) DLEN: 1152 data: 1152 bytes Packet 9 Packet Length: 60 Collected: Wed Jul 20 16:40:41.084712 1994 ETH Srce: 08:00:20:10:4c:ea ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.133 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 62906 CKSUM: 0x7ab8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1084 DPRT: 79 FLG: -A---- (0x10) SEQ: 0x1846d80c ACK: 0x38936a81 WIN: 4096 HLEN: 20 CKSUM: 0xf984 (CORRECT) DLEN: 0 Packet 10 Packet Length: 60 Collected: Wed Jul 20 16:40:41.095959 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:20:10:4c:ea Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.133 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 39816 CKSUM: 0xd4ea (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 1084 FLG: -A---F (0x11) SEQ: 0x38936a81 ACK: 0x1846d80c WIN: 4096 HLEN: 20 CKSUM: 0xf983 (CORRECT) DLEN: 0 Packet 11 Packet Length: 60 Collected: Wed Jul 20 16:40:41.096678 1994 ETH Srce: 08:00:20:10:4c:ea ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.133 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 62907 CKSUM: 0x7ab7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1084 DPRT: 79 FLG: -A---- (0x10) SEQ: 0x1846d80c ACK: 0x38936a82 WIN: 4096 HLEN: 20 CKSUM: 0xf983 (CORRECT) DLEN: 0 Packet 12 Packet Length: 60 Collected: Wed Jul 20 16:40:41.125335 1994 ETH Srce: 08:00:20:10:4c:ea ETH Dest: 08:00:20:0f:1a:be Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.133 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 62909 CKSUM: 0x7ab5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1084 DPRT: 79 FLG: -A---F (0x11) SEQ: 0x1846d80c ACK: 0x38936a82 WIN: 4096 HLEN: 20 CKSUM: 0xf982 (CORRECT) DLEN: 0 Packet 13 Packet Length: 60 Collected: Wed Jul 20 16:40:41.126372 1994 ETH Srce: 08:00:20:0f:1a:be ETH Dest: 08:00:20:10:4c:ea Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.133 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 39818 CKSUM: 0xd4e8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 1084 FLG: -A---- (0x10) SEQ: 0x38936a82 ACK: 0x1846d80d WIN: 4096 HLEN: 20 CKSUM: 0xf982 (CORRECT) DLEN: 0 13 packets seen, 13 TCP packets traced trace file elapsed time: 0:00:10.438257 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.3.133:1084 - 132.235.1.2:79 (a2b) 7> 6< (complete) tcptrace-6.6.7/input/OUTPUTbench/finger.snoop.gz.short0100644001217500001440000000033507253211554022362 0ustar mramadasusers1 arg remaining, starting with 'finger.snoop.gz' 13 packets seen, 13 TCP packets traced trace file elapsed time: 0:00:10.438257 TCP connection info: 1: 132.235.3.133:1084 - 132.235.1.2:79 (a2b) 7> 6< (complete) tcptrace-6.6.7/input/OUTPUTbench/finger.snoop.gz.xplots.cksum0100644001217500001440000000046207751776617023721 0ustar mramadasusers2704113527 1802 a2b_owin.xpl 4195419154 388 a2b_rtt.xpl 2781109211 398 a2b_ssize.xpl 3762156705 178 a2b_tput.xpl 3340856344 2162 a2b_tsg.xpl 163195511 2529 a_b_tline.xpl 3007691213 1529 b2a_owin.xpl 7223538 312 b2a_rtt.xpl 128420501 184 b2a_ssize.xpl 131803773 146 b2a_tput.xpl 2411933611 1996 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/first_seg_ooo.dmp.gz.long0100644001217500001440000001364307672375063023214 0ustar mramadasusers1 arg remaining, starting with 'first_seg_ooo.dmp.gz' 243 packets seen, 243 TCP packets traced trace file elapsed time: 0:00:06.579813 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 132.235.67.34:1150 host b: 132.235.67.19:80 complete conn: yes first packet: Fri Nov 28 11:43:33.350561 1997 last packet: Fri Nov 28 11:43:39.930375 1997 elapsed time: 0:00:06.579813 total packets: 243 filename: first_seg_ooo.dmp.gz a->b: b->a: total packets: 109 total packets: 134 ack pkts sent: 108 ack pkts sent: 134 pure acks sent: 103 pure acks sent: 4 sack pkts sent: 0 sack pkts sent: 1 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 1 unique bytes sent: 1064 unique bytes sent: 63066 actual data pkts: 4 actual data pkts: 128 actual data bytes: 1115 actual data bytes: 63066 rexmt data pkts: 1 rexmt data pkts: 0 rexmt data bytes: 51 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 4 pushed data pkts: 99 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 1 adv wind scale: 0 req sack: Y req sack: Y sacks sent: 0 sacks sent: 1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 526 bytes max segm size: 1448 bytes min segm size: 51 bytes min segm size: 1 bytes avg segm size: 278 bytes avg segm size: 492 bytes max win adv: 99280 bytes max win adv: 17520 bytes min win adv: 99280 bytes min win adv: 16994 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 99280 bytes avg win adv: 17345 bytes max owin: 527 bytes max owin: 4345 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 34 bytes avg owin: 780 bytes wavg owin: 150 bytes wavg owin: 718 bytes initial window: 51 bytes initial window: 2048 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 1064 bytes ttl stream length: 63066 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 3.537 secs data xmit time: 2.533 secs idletime max: 2266.7 ms idletime max: 2267.3 ms throughput: 162 Bps throughput: 9585 Bps RTT samples: 4 RTT samples: 105 RTT min: 574.0 ms RTT min: 0.2 ms RTT max: 606.9 ms RTT max: 29.4 ms RTT avg: 582.7 ms RTT avg: 0.6 ms RTT stdev: 16.1 ms RTT stdev: 2.9 ms RTT from 3WHS: 574.0 ms RTT from 3WHS: 2.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 4 RTT full_sz min: 606.9 ms RTT full_sz min: 0.2 ms RTT full_sz max: 606.9 ms RTT full_sz max: 29.4 ms RTT full_sz avg: 606.8 ms RTT full_sz avg: 9.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 13.9 ms post-loss acks: 0 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 1 ambiguous acks: 0 RTT min (last): 574.6 ms RTT min (last): 0.0 ms RTT max (last): 574.6 ms RTT max (last): 0.0 ms RTT avg (last): 574.6 ms RTT avg (last): 0.0 ms RTT sdv (last): 0.0 ms RTT sdv (last): 0.0 ms segs cum acked: 1 segs cum acked: 25 duplicate acks: 2 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 1 max # retrans: 0 min retr time: 2266.7 ms min retr time: 0.0 ms max retr time: 2266.7 ms max retr time: 0.0 ms avg retr time: 2266.5 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/first_seg_ooo.dmp.gz.packets0100644001217500001440000015770707302732561023707 0ustar mramadasusers1 arg remaining, starting with 'first_seg_ooo.dmp.gz' Packet 1 Packet Length: 78 Collected: Fri Nov 28 11:43:33.350561 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 54457 CKSUM: 0x15f3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: ----S- (0x02) SEQ: 0x0a807a01 ACK: 0x00000000 WIN: 65535 HLEN: 44 CKSUM: 0x1269 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(1) TS(2620,0) SACKREQ Packet 2 Packet Length: 78 Collected: Fri Nov 28 11:43:33.924528 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 64 ID: 61480 CKSUM: 0xfc83 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A--S- (0x12) SEQ: 0x0ac2e201 ACK: 0x0a807a02 WIN: 17520 HLEN: 44 CKSUM: 0xd69c (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(0) TS(2696,2620) SACKREQ Packet 3 Packet Length: 117 Collected: Fri Nov 28 11:43:33.926564 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 103 ID: 54460 CKSUM: 0x15c9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0x0a807a66 ACK: 0x0ac2e202 WIN: 49640 HLEN: 32 CKSUM: 0x74c3 (CORRECT) DLEN: 51 OPTS: 12 bytes TS(2621,2696) data: 51 bytes Packet 4 Packet Length: 78 Collected: Fri Nov 28 11:43:34.500647 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 64 ID: 61481 CKSUM: 0xfc82 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac2e202 ACK: 0x0a807a02 WIN: 17520 HLEN: 44 CKSUM: 0xd74f (CORRECT) DLEN: 0 OPTS: 24 bytes TS(2697,2620) SACKS(1)[0x0a807a66-0x0a807a99] Packet 5 Packet Length: 217 Collected: Fri Nov 28 11:43:36.193284 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 203 ID: 54461 CKSUM: 0x1564 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0x0a807a02 ACK: 0x0ac2e202 WIN: 49640 HLEN: 32 CKSUM: 0x9984 (CORRECT) DLEN: 151 OPTS: 12 bytes TS(2625,2696) data: 151 bytes Packet 6 Packet Length: 66 Collected: Fri Nov 28 11:43:36.767930 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 61482 CKSUM: 0xfc8d (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac2e202 ACK: 0x0a807a99 WIN: 17369 HLEN: 32 CKSUM: 0x175d (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2702,2625) Packet 7 Packet Length: 1514 Collected: Fri Nov 28 11:43:36.821509 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61483 CKSUM: 0xf6e4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac2e202 ACK: 0x0a807a99 WIN: 17520 HLEN: 32 CKSUM: 0x0a37 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2702,2625) data: 1448 bytes Packet 8 Packet Length: 666 Collected: Fri Nov 28 11:43:36.824148 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 652 ID: 61484 CKSUM: 0xfa33 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac2e7aa ACK: 0x0a807a99 WIN: 17520 HLEN: 32 CKSUM: 0x3149 (CORRECT) DLEN: 600 OPTS: 12 bytes TS(2702,2625) data: 600 bytes Packet 9 Packet Length: 66 Collected: Fri Nov 28 11:43:36.824410 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54462 CKSUM: 0x15fa (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807a99 ACK: 0x0ac2ea02 WIN: 49640 HLEN: 32 CKSUM: 0x914b (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2627,2702) Packet 10 Packet Length: 1514 Collected: Fri Nov 28 11:43:36.832837 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61485 CKSUM: 0xf6e2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac2ea02 ACK: 0x0a807a99 WIN: 17520 HLEN: 32 CKSUM: 0x8e17 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2702,2625) data: 1448 bytes Packet 11 Packet Length: 666 Collected: Fri Nov 28 11:43:36.835529 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 652 ID: 61486 CKSUM: 0xfa31 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac2efaa ACK: 0x0a807a99 WIN: 17520 HLEN: 32 CKSUM: 0xf91c (CORRECT) DLEN: 600 OPTS: 12 bytes TS(2702,2625) data: 600 bytes Packet 12 Packet Length: 66 Collected: Fri Nov 28 11:43:36.835755 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54463 CKSUM: 0x15f9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807a99 ACK: 0x0ac2f202 WIN: 49640 HLEN: 32 CKSUM: 0x894b (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2627,2702) Packet 13 Packet Length: 1514 Collected: Fri Nov 28 11:43:36.844168 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61487 CKSUM: 0xf6e0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac2f202 ACK: 0x0a807a99 WIN: 17520 HLEN: 32 CKSUM: 0xcec4 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2702,2625) data: 1448 bytes Packet 14 Packet Length: 453 Collected: Fri Nov 28 11:43:36.873567 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 439 ID: 54464 CKSUM: 0x1475 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0x0a807a99 ACK: 0x0ac2f7aa WIN: 49640 HLEN: 32 CKSUM: 0x2016 (CORRECT) DLEN: 387 OPTS: 12 bytes TS(2627,2702) data: 387 bytes Packet 15 Packet Length: 1514 Collected: Fri Nov 28 11:43:37.408529 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61488 CKSUM: 0xf6df (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac2f7aa ACK: 0x0a807a99 WIN: 17520 HLEN: 32 CKSUM: 0xe5cb (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2703,2625) data: 1448 bytes Packet 16 Packet Length: 176 Collected: Fri Nov 28 11:43:37.408579 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 162 ID: 61489 CKSUM: 0xfc18 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac2fd52 ACK: 0x0a807a99 WIN: 17520 HLEN: 32 CKSUM: 0x32ee (CORRECT) DLEN: 110 OPTS: 12 bytes TS(2703,2625) data: 110 bytes Packet 17 Packet Length: 66 Collected: Fri Nov 28 11:43:37.408826 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54465 CKSUM: 0x15f7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807c1c ACK: 0x0ac2fdc0 WIN: 49640 HLEN: 32 CKSUM: 0x7c08 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2628,2703) Packet 18 Packet Length: 66 Collected: Fri Nov 28 11:43:37.449648 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 61490 CKSUM: 0xfc85 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac2fdc0 ACK: 0x0a807c1c WIN: 17133 HLEN: 32 CKSUM: 0xfb04 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2703,2627) Packet 19 Packet Length: 592 Collected: Fri Nov 28 11:43:37.463682 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 578 ID: 54466 CKSUM: 0x13e8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0x0a807c1c ACK: 0x0ac2fdc0 WIN: 49640 HLEN: 32 CKSUM: 0x4a4d (CORRECT) DLEN: 526 OPTS: 12 bytes TS(2628,2703) data: 526 bytes Packet 20 Packet Length: 1514 Collected: Fri Nov 28 11:43:37.483594 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61491 CKSUM: 0xf6dc (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac2fdc0 ACK: 0x0a807c1c WIN: 17520 HLEN: 32 CKSUM: 0xca87 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2703,2627) data: 1448 bytes Packet 21 Packet Length: 666 Collected: Fri Nov 28 11:43:37.486284 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 652 ID: 61492 CKSUM: 0xfa2b (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac30368 ACK: 0x0a807c1c WIN: 17520 HLEN: 32 CKSUM: 0xe49f (CORRECT) DLEN: 600 OPTS: 12 bytes TS(2703,2627) data: 600 bytes Packet 22 Packet Length: 66 Collected: Fri Nov 28 11:43:37.486509 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54467 CKSUM: 0x15f5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac305c0 WIN: 49640 HLEN: 32 CKSUM: 0x71fa (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2628,2703) Packet 23 Packet Length: 1514 Collected: Fri Nov 28 11:43:37.495015 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61493 CKSUM: 0xf6da (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac305c0 ACK: 0x0a807c1c WIN: 17520 HLEN: 32 CKSUM: 0x3ca1 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2703,2627) data: 1448 bytes Packet 24 Packet Length: 666 Collected: Fri Nov 28 11:43:37.497746 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 652 ID: 61494 CKSUM: 0xfa29 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac30b68 ACK: 0x0a807c1c WIN: 17520 HLEN: 32 CKSUM: 0x717b (CORRECT) DLEN: 600 OPTS: 12 bytes TS(2703,2627) data: 600 bytes Packet 25 Packet Length: 66 Collected: Fri Nov 28 11:43:37.497972 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54468 CKSUM: 0x15f4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac30dc0 WIN: 49640 HLEN: 32 CKSUM: 0x69fa (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2628,2703) Packet 26 Packet Length: 1514 Collected: Fri Nov 28 11:43:37.520705 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61495 CKSUM: 0xf6d8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac30dc0 ACK: 0x0a807c1c WIN: 17520 HLEN: 32 CKSUM: 0xff6f (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2703,2627) data: 1448 bytes Packet 27 Packet Length: 666 Collected: Fri Nov 28 11:43:37.523395 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 652 ID: 61496 CKSUM: 0xfa27 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac31368 ACK: 0x0a807c1c WIN: 17520 HLEN: 32 CKSUM: 0xc6ef (CORRECT) DLEN: 600 OPTS: 12 bytes TS(2703,2627) data: 600 bytes Packet 28 Packet Length: 66 Collected: Fri Nov 28 11:43:37.523625 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54469 CKSUM: 0x15f3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac315c0 WIN: 49640 HLEN: 32 CKSUM: 0x61fa (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2628,2703) Packet 29 Packet Length: 1514 Collected: Fri Nov 28 11:43:37.532110 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61497 CKSUM: 0xf6d6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac315c0 ACK: 0x0a807c1c WIN: 17520 HLEN: 32 CKSUM: 0xb21a (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2703,2627) data: 1448 bytes Packet 30 Packet Length: 666 Collected: Fri Nov 28 11:43:37.534807 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 652 ID: 61498 CKSUM: 0xfa25 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac31b68 ACK: 0x0a807c1c WIN: 17520 HLEN: 32 CKSUM: 0x4cfc (CORRECT) DLEN: 600 OPTS: 12 bytes TS(2703,2627) data: 600 bytes Packet 31 Packet Length: 66 Collected: Fri Nov 28 11:43:37.535029 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54470 CKSUM: 0x15f2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac31dc0 WIN: 49640 HLEN: 32 CKSUM: 0x59fa (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2628,2703) Packet 32 Packet Length: 1514 Collected: Fri Nov 28 11:43:37.992865 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61499 CKSUM: 0xf6d4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac31dc0 ACK: 0x0a807c1c WIN: 17520 HLEN: 32 CKSUM: 0x890d (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2704,2627) data: 1448 bytes Packet 33 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.000820 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61500 CKSUM: 0xf6d3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac32368 ACK: 0x0a807c1c WIN: 17520 HLEN: 32 CKSUM: 0x6a5d (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2704,2627) data: 1448 bytes Packet 34 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.070545 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61501 CKSUM: 0xf6d2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac32910 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xad30 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2704,2628) data: 1448 bytes Packet 35 Packet Length: 66 Collected: Fri Nov 28 11:43:38.070785 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54471 CKSUM: 0x15f1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac32eb8 WIN: 49640 HLEN: 32 CKSUM: 0x4900 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2629,2704) Packet 36 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.078550 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61502 CKSUM: 0xf6d1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac32eb8 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x55da (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2704,2628) data: 1448 bytes Packet 37 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.086460 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61503 CKSUM: 0xf6d0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac33460 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xb773 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2704,2628) data: 1448 bytes Packet 38 Packet Length: 66 Collected: Fri Nov 28 11:43:38.093016 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54472 CKSUM: 0x15f0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac33a08 WIN: 49640 HLEN: 32 CKSUM: 0x3db0 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2629,2704) Packet 39 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.094455 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61504 CKSUM: 0xf6cf (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac33a08 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xdafa (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2704,2628) data: 1448 bytes Packet 40 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.102367 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61505 CKSUM: 0xf6ce (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac33fb0 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x9c48 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2704,2628) data: 1448 bytes Packet 41 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.110297 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61506 CKSUM: 0xf6cd (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac34558 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x2868 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2704,2628) data: 1448 bytes Packet 42 Packet Length: 66 Collected: Fri Nov 28 11:43:38.110534 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54473 CKSUM: 0x15ef (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac34b00 WIN: 49640 HLEN: 32 CKSUM: 0x2cb8 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2629,2704) Packet 43 Packet Length: 1055 Collected: Fri Nov 28 11:43:38.115382 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1041 ID: 61507 CKSUM: 0xf897 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac34b00 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xfe54 (CORRECT) DLEN: 989 OPTS: 12 bytes TS(2704,2628) data: 989 bytes Packet 44 Packet Length: 66 Collected: Fri Nov 28 11:43:38.115611 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54474 CKSUM: 0x15ee (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac34edd WIN: 49640 HLEN: 32 CKSUM: 0x28db (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2629,2704) Packet 45 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.123742 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61508 CKSUM: 0xf6cb (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac34edd ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xf6f9 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2704,2628) data: 1448 bytes Packet 46 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.131702 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61509 CKSUM: 0xf6ca (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac35485 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x4a31 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2704,2628) data: 1448 bytes Packet 47 Packet Length: 69 Collected: Fri Nov 28 11:43:38.131737 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 55 ID: 61510 CKSUM: 0xfc6e (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac35a2d ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x4d1c (CORRECT) DLEN: 3 OPTS: 12 bytes TS(2704,2628) data: 3 bytes Packet 48 Packet Length: 66 Collected: Fri Nov 28 11:43:38.131964 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54475 CKSUM: 0x15ed (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac35a30 WIN: 49640 HLEN: 32 CKSUM: 0x1d88 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2629,2704) Packet 49 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.139974 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61511 CKSUM: 0xf6c8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac35a30 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xc925 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2704,2628) data: 1448 bytes Packet 50 Packet Length: 666 Collected: Fri Nov 28 11:43:38.142674 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 652 ID: 61512 CKSUM: 0xfa17 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac35fd8 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x8244 (CORRECT) DLEN: 600 OPTS: 12 bytes TS(2704,2628) data: 600 bytes Packet 51 Packet Length: 66 Collected: Fri Nov 28 11:43:38.142891 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54476 CKSUM: 0x15ec (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac36230 WIN: 49640 HLEN: 32 CKSUM: 0x1588 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2629,2704) Packet 52 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.655574 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61513 CKSUM: 0xf6c6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac36230 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xd66d (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2705,2628) data: 1448 bytes Packet 53 Packet Length: 666 Collected: Fri Nov 28 11:43:38.658257 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 652 ID: 61514 CKSUM: 0xfa15 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac367d8 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xa4fd (CORRECT) DLEN: 600 OPTS: 12 bytes TS(2705,2628) data: 600 bytes Packet 54 Packet Length: 66 Collected: Fri Nov 28 11:43:38.658484 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54477 CKSUM: 0x15eb (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac36a30 WIN: 49640 HLEN: 32 CKSUM: 0x0d86 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 55 Packet Length: 1263 Collected: Fri Nov 28 11:43:38.665429 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1249 ID: 61515 CKSUM: 0xf7bf (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac36a30 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x4ee7 (CORRECT) DLEN: 1197 OPTS: 12 bytes TS(2705,2628) data: 1197 bytes Packet 56 Packet Length: 66 Collected: Fri Nov 28 11:43:38.665662 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54478 CKSUM: 0x15ea (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac36edd WIN: 49640 HLEN: 32 CKSUM: 0x08d9 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 57 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.678134 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61516 CKSUM: 0xf6c3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac36edd ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x17ca (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2705,2628) data: 1448 bytes Packet 58 Packet Length: 666 Collected: Fri Nov 28 11:43:38.680832 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 652 ID: 61517 CKSUM: 0xfa12 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37485 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x7803 (CORRECT) DLEN: 600 OPTS: 12 bytes TS(2705,2628) data: 600 bytes Packet 59 Packet Length: 66 Collected: Fri Nov 28 11:43:38.681066 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54479 CKSUM: 0x15e9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac376dd WIN: 49640 HLEN: 32 CKSUM: 0x00d9 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 60 Packet Length: 166 Collected: Fri Nov 28 11:43:38.681251 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61518 CKSUM: 0xfc05 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac376dd ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x45e4 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 61 Packet Length: 66 Collected: Fri Nov 28 11:43:38.681470 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54480 CKSUM: 0x15e8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37741 WIN: 49640 HLEN: 32 CKSUM: 0x0075 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 62 Packet Length: 166 Collected: Fri Nov 28 11:43:38.682042 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61519 CKSUM: 0xfc04 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37741 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x2f6a (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 63 Packet Length: 66 Collected: Fri Nov 28 11:43:38.682263 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54481 CKSUM: 0x15e7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac377a5 WIN: 49640 HLEN: 32 CKSUM: 0x0011 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 64 Packet Length: 166 Collected: Fri Nov 28 11:43:38.682891 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61520 CKSUM: 0xfc03 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac377a5 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x6255 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 65 Packet Length: 66 Collected: Fri Nov 28 11:43:38.683155 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54482 CKSUM: 0x15e6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37809 WIN: 49640 HLEN: 32 CKSUM: 0xffac (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 66 Packet Length: 166 Collected: Fri Nov 28 11:43:38.683735 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61521 CKSUM: 0xfc02 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37809 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x2774 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 67 Packet Length: 66 Collected: Fri Nov 28 11:43:38.683956 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54483 CKSUM: 0x15e5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac3786d WIN: 49640 HLEN: 32 CKSUM: 0xff48 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 68 Packet Length: 166 Collected: Fri Nov 28 11:43:38.684581 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61522 CKSUM: 0xfc01 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac3786d ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xef0e (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 69 Packet Length: 66 Collected: Fri Nov 28 11:43:38.684803 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54484 CKSUM: 0x15e4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac378d1 WIN: 49640 HLEN: 32 CKSUM: 0xfee4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 70 Packet Length: 166 Collected: Fri Nov 28 11:43:38.685452 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61523 CKSUM: 0xfc00 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac378d1 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xfe63 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 71 Packet Length: 66 Collected: Fri Nov 28 11:43:38.685677 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54485 CKSUM: 0x15e3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37935 WIN: 49640 HLEN: 32 CKSUM: 0xfe80 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 72 Packet Length: 166 Collected: Fri Nov 28 11:43:38.686262 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61524 CKSUM: 0xfbff (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37935 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x7b6f (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 73 Packet Length: 66 Collected: Fri Nov 28 11:43:38.686486 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54486 CKSUM: 0x15e2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37999 WIN: 49640 HLEN: 32 CKSUM: 0xfe1c (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 74 Packet Length: 166 Collected: Fri Nov 28 11:43:38.687107 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61525 CKSUM: 0xfbfe (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37999 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x616b (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 75 Packet Length: 66 Collected: Fri Nov 28 11:43:38.687338 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54487 CKSUM: 0x15e1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac379fd WIN: 49640 HLEN: 32 CKSUM: 0xfdb8 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 76 Packet Length: 166 Collected: Fri Nov 28 11:43:38.687958 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61526 CKSUM: 0xfbfd (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac379fd ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x323a (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 77 Packet Length: 66 Collected: Fri Nov 28 11:43:38.688182 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54488 CKSUM: 0x15e0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37a61 WIN: 49640 HLEN: 32 CKSUM: 0xfd54 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 78 Packet Length: 166 Collected: Fri Nov 28 11:43:38.688801 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61527 CKSUM: 0xfbfc (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37a61 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x51f4 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 79 Packet Length: 66 Collected: Fri Nov 28 11:43:38.689027 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54489 CKSUM: 0x15df (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37ac5 WIN: 49640 HLEN: 32 CKSUM: 0xfcf0 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 80 Packet Length: 166 Collected: Fri Nov 28 11:43:38.689650 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61528 CKSUM: 0xfbfb (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37ac5 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x9250 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 81 Packet Length: 66 Collected: Fri Nov 28 11:43:38.689875 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54490 CKSUM: 0x15de (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37b29 WIN: 49640 HLEN: 32 CKSUM: 0xfc8c (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 82 Packet Length: 166 Collected: Fri Nov 28 11:43:38.690487 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61529 CKSUM: 0xfbfa (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37b29 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x315e (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 83 Packet Length: 66 Collected: Fri Nov 28 11:43:38.690709 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54491 CKSUM: 0x15dd (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37b8d WIN: 49640 HLEN: 32 CKSUM: 0xfc28 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 84 Packet Length: 166 Collected: Fri Nov 28 11:43:38.691336 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61530 CKSUM: 0xfbf9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37b8d ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x02ca (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 85 Packet Length: 66 Collected: Fri Nov 28 11:43:38.691561 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54492 CKSUM: 0x15dc (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37bf1 WIN: 49640 HLEN: 32 CKSUM: 0xfbc4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 86 Packet Length: 166 Collected: Fri Nov 28 11:43:38.692172 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61531 CKSUM: 0xfbf8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37bf1 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x9419 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 87 Packet Length: 66 Collected: Fri Nov 28 11:43:38.692396 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54493 CKSUM: 0x15db (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37c55 WIN: 49640 HLEN: 32 CKSUM: 0xfb60 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2630,2705) Packet 88 Packet Length: 166 Collected: Fri Nov 28 11:43:38.693023 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61532 CKSUM: 0xfbf7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37c55 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x2f23 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 89 Packet Length: 66 Collected: Fri Nov 28 11:43:38.693242 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54494 CKSUM: 0x15da (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37cb9 WIN: 49640 HLEN: 32 CKSUM: 0xfafb (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2631,2705) Packet 90 Packet Length: 166 Collected: Fri Nov 28 11:43:38.693866 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61533 CKSUM: 0xfbf6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37cb9 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xa2d1 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 91 Packet Length: 66 Collected: Fri Nov 28 11:43:38.694087 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54495 CKSUM: 0x15d9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37d1d WIN: 49640 HLEN: 32 CKSUM: 0xfa97 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2631,2705) Packet 92 Packet Length: 166 Collected: Fri Nov 28 11:43:38.694709 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61534 CKSUM: 0xfbf5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37d1d ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xe86e (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 93 Packet Length: 66 Collected: Fri Nov 28 11:43:38.694932 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54496 CKSUM: 0x15d8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37d81 WIN: 49640 HLEN: 32 CKSUM: 0xfa33 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2631,2705) Packet 94 Packet Length: 166 Collected: Fri Nov 28 11:43:38.695558 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61535 CKSUM: 0xfbf4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37d81 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x3835 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 95 Packet Length: 66 Collected: Fri Nov 28 11:43:38.695779 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54497 CKSUM: 0x15d7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37de5 WIN: 49640 HLEN: 32 CKSUM: 0xf9cf (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2631,2705) Packet 96 Packet Length: 166 Collected: Fri Nov 28 11:43:38.696398 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 61536 CKSUM: 0xfbf3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37de5 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x7d30 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(2705,2628) data: 100 bytes Packet 97 Packet Length: 66 Collected: Fri Nov 28 11:43:38.696622 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54498 CKSUM: 0x15d6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37e49 WIN: 49640 HLEN: 32 CKSUM: 0xf96b (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2631,2705) Packet 98 Packet Length: 113 Collected: Fri Nov 28 11:43:38.697118 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 99 ID: 61537 CKSUM: 0xfc27 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -AP--- (0x18) SEQ: 0x0ac37e49 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0x5861 (CORRECT) DLEN: 47 OPTS: 12 bytes TS(2705,2628) data: 47 bytes Packet 99 Packet Length: 66 Collected: Fri Nov 28 11:43:38.697348 1997 ETH Srce: 00:60:97:70:87:c8 ETH Dest: 00:e0:b0:55:47:3a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 54499 CKSUM: 0x15d5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1150 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0a807e2a ACK: 0x0ac37e78 WIN: 49640 HLEN: 32 CKSUM: 0xf93c (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2631,2705) Packet 100 Packet Length: 1514 Collected: Fri Nov 28 11:43:38.706166 1997 ETH Srce: 00:e0:b0:55:47:3a ETH Dest: 00:60:97:70:87:c8 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 1500 ID: 61538 CKSUM: 0xf6ad (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1150 FLG: -A---- (0x10) SEQ: 0x0ac37e78 ACK: 0x0a807e2a WIN: 16994 HLEN: 32 CKSUM: 0xc4b7 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(2706,2628) data: 1448 bytes 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:05.355604 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.67.34:1150 - 132.235.67.19:80 (a2b) 41> 59< tcptrace-6.6.7/input/OUTPUTbench/first_seg_ooo.dmp.gz.short0100644001217500001440000000034607253211554023375 0ustar mramadasusers1 arg remaining, starting with 'first_seg_ooo.dmp.gz' 243 packets seen, 243 TCP packets traced trace file elapsed time: 0:00:06.579813 TCP connection info: 1: 132.235.67.34:1150 - 132.235.67.19:80 (a2b) 109> 134< (complete) tcptrace-6.6.7/input/OUTPUTbench/first_seg_ooo.dmp.gz.xplots.cksum0100644001217500001440000000047707751776617024740 0ustar mramadasusers2145625662 33016 a2b_owin.xpl 4255000049 402 a2b_rtt.xpl 3473414047 721 a2b_ssize.xpl 1045254491 242 a2b_tput.xpl 3802020721 35422 a2b_tsg.xpl 907686719 44361 a_b_tline.xpl 303302625 42351 b2a_owin.xpl 1947249237 7454 b2a_rtt.xpl 1171235799 19875 b2a_ssize.xpl 1139697791 6842 b2a_tput.xpl 2397241336 48673 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/hardware_dups.dmp.gz.long0100644001217500001440000001341107662255051023165 0ustar mramadasusers1 arg remaining, starting with 'hardware_dups.dmp.gz' 1458 packets seen, 1458 TCP packets traced trace file elapsed time: 0:00:03.710329 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 144.16.64.215:20 host b: 144.16.64.141:1644 complete conn: yes first packet: Tue Jan 6 13:58:07.353828 1998 last packet: Tue Jan 6 13:58:11.064158 1998 elapsed time: 0:00:03.710329 total packets: 1458 filename: hardware_dups.dmp.gz a->b: b->a: total packets: 486 total packets: 972 ack pkts sent: 485 ack pkts sent: 972 pure acks sent: 484 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 584267 actual data pkts: 0 actual data pkts: 966 actual data bytes: 0 actual data bytes: 1168534 rexmt data pkts: 0 rexmt data pkts: 485 rexmt data bytes: 0 rexmt data bytes: 584269 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 966 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 2/2 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 0 bytes max segm size: 1460 bytes min segm size: 0 bytes min segm size: 20 bytes avg segm size: 0 bytes avg segm size: 1209 bytes max win adv: 64240 bytes max win adv: 31744 bytes min win adv: 32767 bytes min win adv: 31744 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 64175 bytes avg win adv: 31744 bytes max owin: 1 bytes max owin: 4381 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 1933 bytes wavg owin: 0 bytes wavg owin: 1755 bytes initial window: 0 bytes initial window: 1024 bytes initial window: 0 pkts initial window: 1 pkts ttl stream length: 0 bytes ttl stream length: 584267 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 1155010 bytes truncated packets: 0 pkts truncated packets: 966 pkts data xmit time: 0.000 secs data xmit time: 3.676 secs idletime max: 95.2 ms idletime max: 101.3 ms hardware dups: 0 segs hardware dups: 486 segs ** WARNING: presence of hardware duplicates makes these figures suspect! throughput: 0 Bps throughput: 157470 Bps RTT samples: 2 RTT samples: 0 RTT min: 0.9 ms RTT min: 0.0 ms RTT max: 1.4 ms RTT max: 0.0 ms RTT avg: 1.2 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.4 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 0.9 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.9 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.9 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 10 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 0 ambiguous acks: 474 RTT min (last): 0.0 ms RTT min (last): 0.2 ms RTT max (last): 0.0 ms RTT max (last): 13.7 ms RTT avg (last): 0.0 ms RTT avg (last): 0.3 ms RTT sdv (last): 0.0 ms RTT sdv (last): 0.8 ms segs cum acked: 0 segs cum acked: 1 duplicate acks: 3 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 1 min retr time: 0.0 ms min retr time: 1.4 ms max retr time: 0.0 ms max retr time: 19.0 ms avg retr time: 0.0 ms avg retr time: 6.4 ms sdv retr time: 0.0 ms sdv retr time: 2.3 ms tcptrace-6.6.7/input/OUTPUTbench/hardware_dups.dmp.gz.packets0100644001217500001440000016440107302732561023663 0ustar mramadasusers1 arg remaining, starting with 'hardware_dups.dmp.gz' Packet 1 Packet Length: 60 Collected: Tue Jan 6 13:58:07.353828 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 44 ID: 2082 CKSUM: 0x911d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: ----S- (0x02) SEQ: 0xccb5b3a2 ACK: 0x00000000 WIN: 32767 HLEN: 24 CKSUM: 0xefc9 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 2 Packet Length: 58 Collected: Tue Jan 6 13:58:07.355212 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 44 ID: 34661 CKSUM: 0x51e2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1644 DPRT: 20 FLG: -A--S- (0x12) SEQ: 0xd8231361 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 24 CKSUM: 0x0833 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 3 Packet Length: 60 Collected: Tue Jan 6 13:58:07.355956 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 44 ID: 34661 CKSUM: 0x52e2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1644 DPRT: 20 FLG: -A--S- (0x12) SEQ: 0xd8231361 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 24 CKSUM: 0x0833 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 4 Packet Length: 60 Collected: Tue Jan 6 13:58:07.356141 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2083 CKSUM: 0x9120 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8231362 WIN: 64240 HLEN: 20 CKSUM: 0xa0ff (CORRECT) DLEN: 0 Packet 5 Packet Length: 1078 (saved length 68) Collected: Tue Jan 6 13:58:07.385073 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1064 ID: 34663 CKSUM: 0x0ddc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8231362 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xece2 (too short to verify) DLEN: 1024 (only 14 bytes in dump file) data: 1024 bytes Packet 6 Packet Length: 1078 (saved length 68) Collected: Tue Jan 6 13:58:07.390304 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1064 ID: 34663 CKSUM: 0x0edc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8231362 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xece2 (too short to verify) DLEN: 1024 (only 14 bytes in dump file) data: 1024 bytes Packet 7 Packet Length: 60 Collected: Tue Jan 6 13:58:07.392514 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2085 CKSUM: 0x911e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8231762 WIN: 64240 HLEN: 20 CKSUM: 0x9cff (CORRECT) DLEN: 0 Packet 8 Packet Length: 1078 (saved length 68) Collected: Tue Jan 6 13:58:07.409167 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1064 ID: 34664 CKSUM: 0x0ddb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8231762 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x7052 (too short to verify) DLEN: 1024 (only 14 bytes in dump file) data: 1024 bytes Packet 9 Packet Length: 1078 (saved length 68) Collected: Tue Jan 6 13:58:07.414317 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1064 ID: 34664 CKSUM: 0x0edb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8231762 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x7052 (too short to verify) DLEN: 1024 (only 14 bytes in dump file) data: 1024 bytes Packet 10 Packet Length: 60 Collected: Tue Jan 6 13:58:07.427973 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2086 CKSUM: 0x911d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8231b62 WIN: 64240 HLEN: 20 CKSUM: 0x98ff (CORRECT) DLEN: 0 Packet 11 Packet Length: 1078 (saved length 68) Collected: Tue Jan 6 13:58:07.439612 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1064 ID: 34665 CKSUM: 0x0dda (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8231b62 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xeedc (too short to verify) DLEN: 1024 (only 14 bytes in dump file) data: 1024 bytes Packet 12 Packet Length: 1078 (saved length 68) Collected: Tue Jan 6 13:58:07.451553 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1064 ID: 34665 CKSUM: 0x0eda (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8231b62 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xeedc (too short to verify) DLEN: 1024 (only 14 bytes in dump file) data: 1024 bytes Packet 13 Packet Length: 60 Collected: Tue Jan 6 13:58:07.441940 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2087 CKSUM: 0x911c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8231f62 WIN: 64240 HLEN: 20 CKSUM: 0x94ff (CORRECT) DLEN: 0 Packet 14 Packet Length: 1078 (saved length 68) Collected: Tue Jan 6 13:58:07.463857 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1064 ID: 34666 CKSUM: 0x0dd9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8231f62 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xc948 (too short to verify) DLEN: 1024 (only 14 bytes in dump file) data: 1024 bytes Packet 15 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.466615 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34667 CKSUM: 0x0c24 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8232362 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x5c60 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 16 Packet Length: 1078 (saved length 68) Collected: Tue Jan 6 13:58:07.469321 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1064 ID: 34666 CKSUM: 0x0ed9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8231f62 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xc948 (too short to verify) DLEN: 1024 (only 14 bytes in dump file) data: 1024 bytes Packet 17 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.470355 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34668 CKSUM: 0x0c23 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8232916 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xf071 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 18 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.474949 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34667 CKSUM: 0x0d24 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8232362 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x5c60 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 19 Packet Length: 60 Collected: Tue Jan 6 13:58:07.475152 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2088 CKSUM: 0x911b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8232362 WIN: 64240 HLEN: 20 CKSUM: 0x90ff (CORRECT) DLEN: 0 Packet 20 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.475563 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34669 CKSUM: 0x0c22 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8232eca ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x3e0b (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 21 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.478559 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34668 CKSUM: 0x0d23 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8232916 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xf071 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 22 Packet Length: 60 Collected: Tue Jan 6 13:58:07.478760 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2089 CKSUM: 0x911a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8232eca WIN: 64240 HLEN: 20 CKSUM: 0x8597 (CORRECT) DLEN: 0 Packet 23 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.480210 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34670 CKSUM: 0x0c21 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823347e ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xa5b7 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 24 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.483257 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34669 CKSUM: 0x0d22 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8232eca ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x3e0b (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 25 Packet Length: 60 Collected: Tue Jan 6 13:58:07.483711 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2090 CKSUM: 0x9119 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd823347e WIN: 64240 HLEN: 20 CKSUM: 0x7fe3 (CORRECT) DLEN: 0 Packet 26 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.485571 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34671 CKSUM: 0x0c20 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8233a32 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x6d93 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 27 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.488577 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34670 CKSUM: 0x0d21 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823347e ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xa5b7 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 28 Packet Length: 60 Collected: Tue Jan 6 13:58:07.488773 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2091 CKSUM: 0x9118 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8233a32 WIN: 64240 HLEN: 20 CKSUM: 0x7a2f (CORRECT) DLEN: 0 Packet 29 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.490108 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34672 CKSUM: 0x0c1f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8233fe6 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x5cfe (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 30 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.493156 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34671 CKSUM: 0x0d20 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8233a32 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x6d93 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 31 Packet Length: 60 Collected: Tue Jan 6 13:58:07.493751 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2092 CKSUM: 0x9117 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8233fe6 WIN: 64240 HLEN: 20 CKSUM: 0x747b (CORRECT) DLEN: 0 Packet 32 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.495065 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34673 CKSUM: 0x0c1e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823459a ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x019b (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 33 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.498085 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34672 CKSUM: 0x0d1f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8233fe6 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x5cfe (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 34 Packet Length: 60 Collected: Tue Jan 6 13:58:07.498283 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2093 CKSUM: 0x9116 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd823459a WIN: 64240 HLEN: 20 CKSUM: 0x6ec7 (CORRECT) DLEN: 0 Packet 35 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.499974 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34674 CKSUM: 0x0c1d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8234b4e ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x6724 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 36 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.503013 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34673 CKSUM: 0x0d1e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823459a ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x019b (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 37 Packet Length: 60 Collected: Tue Jan 6 13:58:07.503828 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2094 CKSUM: 0x9115 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8234b4e WIN: 64240 HLEN: 20 CKSUM: 0x6913 (CORRECT) DLEN: 0 Packet 38 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.506972 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34674 CKSUM: 0x0d1d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8234b4e ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x6724 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 39 Packet Length: 60 Collected: Tue Jan 6 13:58:07.507353 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2095 CKSUM: 0x9114 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8235102 WIN: 64240 HLEN: 20 CKSUM: 0x635f (CORRECT) DLEN: 0 Packet 40 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.508634 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34675 CKSUM: 0x0c1c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8235102 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x9bfd (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 41 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.512055 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34676 CKSUM: 0x0c1b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd82356b6 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x21c4 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 42 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.515662 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34675 CKSUM: 0x0d1c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8235102 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x9bfd (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 43 Packet Length: 60 Collected: Tue Jan 6 13:58:07.515880 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2096 CKSUM: 0x9113 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd82356b6 WIN: 64240 HLEN: 20 CKSUM: 0x5dab (CORRECT) DLEN: 0 Packet 44 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.516455 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34677 CKSUM: 0x0c1a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8235c6a ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xb8cc (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 45 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.519638 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34676 CKSUM: 0x0d1b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd82356b6 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x21c4 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 46 Packet Length: 60 Collected: Tue Jan 6 13:58:07.520060 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2097 CKSUM: 0x9112 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8235c6a WIN: 64240 HLEN: 20 CKSUM: 0x57f7 (CORRECT) DLEN: 0 Packet 47 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.523571 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34677 CKSUM: 0x0d1a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8235c6a ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xb8cc (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 48 Packet Length: 60 Collected: Tue Jan 6 13:58:07.524405 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2098 CKSUM: 0x9111 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd823621e WIN: 64240 HLEN: 20 CKSUM: 0x5243 (CORRECT) DLEN: 0 Packet 49 Packet Length: 378 (saved length 68) Collected: Tue Jan 6 13:58:07.524993 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 364 ID: 34678 CKSUM: 0x1089 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823621e ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x7b94 (too short to verify) DLEN: 324 (only 14 bytes in dump file) data: 324 bytes Packet 50 Packet Length: 378 (saved length 68) Collected: Tue Jan 6 13:58:07.527190 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 364 ID: 34678 CKSUM: 0x1189 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823621e ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x7b94 (too short to verify) DLEN: 324 (only 14 bytes in dump file) data: 324 bytes Packet 51 Packet Length: 60 Collected: Tue Jan 6 13:58:07.527388 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2099 CKSUM: 0x9110 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8236362 WIN: 64240 HLEN: 20 CKSUM: 0x50ff (CORRECT) DLEN: 0 Packet 52 Packet Length: 1078 (saved length 68) Collected: Tue Jan 6 13:58:07.535546 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1064 ID: 34679 CKSUM: 0x0dcc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8236362 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xf9ce (too short to verify) DLEN: 1024 (only 14 bytes in dump file) data: 1024 bytes Packet 53 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.538067 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34680 CKSUM: 0x0c17 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8236762 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xc7ce (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 54 Packet Length: 1078 (saved length 68) Collected: Tue Jan 6 13:58:07.540815 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1064 ID: 34679 CKSUM: 0x0ecc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8236362 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xf9ce (too short to verify) DLEN: 1024 (only 14 bytes in dump file) data: 1024 bytes Packet 55 Packet Length: 60 Collected: Tue Jan 6 13:58:07.541157 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2100 CKSUM: 0x910f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8236762 WIN: 64240 HLEN: 20 CKSUM: 0x4cff (CORRECT) DLEN: 0 Packet 56 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.542353 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34681 CKSUM: 0x0c16 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8236d16 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x984b (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 57 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.547431 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34680 CKSUM: 0x0d17 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8236762 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xc7ce (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 58 Packet Length: 60 Collected: Tue Jan 6 13:58:07.547873 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2101 CKSUM: 0x910e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8236d16 WIN: 64240 HLEN: 20 CKSUM: 0x474b (CORRECT) DLEN: 0 Packet 59 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.551442 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34681 CKSUM: 0x0d16 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8236d16 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x984b (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 60 Packet Length: 60 Collected: Tue Jan 6 13:58:07.551638 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2102 CKSUM: 0x910d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd82372ca WIN: 64240 HLEN: 20 CKSUM: 0x4197 (CORRECT) DLEN: 0 Packet 61 Packet Length: 1230 (saved length 68) Collected: Tue Jan 6 13:58:07.552099 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1216 ID: 34682 CKSUM: 0x0d31 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd82372ca ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xe865 (too short to verify) DLEN: 1176 (only 14 bytes in dump file) data: 1176 bytes Packet 62 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.555519 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34683 CKSUM: 0x0c14 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8237762 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xd0cb (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 63 Packet Length: 1230 (saved length 68) Collected: Tue Jan 6 13:58:07.559336 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1216 ID: 34682 CKSUM: 0x0e31 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd82372ca ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xe865 (too short to verify) DLEN: 1176 (only 14 bytes in dump file) data: 1176 bytes Packet 64 Packet Length: 60 Collected: Tue Jan 6 13:58:07.559547 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2103 CKSUM: 0x910c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8237762 WIN: 64240 HLEN: 20 CKSUM: 0x3cff (CORRECT) DLEN: 0 Packet 65 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.552988 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34683 CKSUM: 0x0d14 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8237762 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xd0cb (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 66 Packet Length: 60 Collected: Tue Jan 6 13:58:07.553377 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2104 CKSUM: 0x910b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8237d16 WIN: 64240 HLEN: 20 CKSUM: 0x374b (CORRECT) DLEN: 0 Packet 67 Packet Length: 642 (saved length 68) Collected: Tue Jan 6 13:58:07.574374 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 628 ID: 34684 CKSUM: 0x0f7b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8237d16 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xf5fa (too short to verify) DLEN: 588 (only 14 bytes in dump file) data: 588 bytes Packet 68 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.576590 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34685 CKSUM: 0x0c12 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8237f62 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xd91d (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 69 Packet Length: 642 (saved length 68) Collected: Tue Jan 6 13:58:07.578829 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 628 ID: 34684 CKSUM: 0x107b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8237d16 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xf5fa (too short to verify) DLEN: 588 (only 14 bytes in dump file) data: 588 bytes Packet 70 Packet Length: 60 Collected: Tue Jan 6 13:58:07.579029 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2105 CKSUM: 0x910a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8237f62 WIN: 64240 HLEN: 20 CKSUM: 0x34ff (CORRECT) DLEN: 0 Packet 71 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.581176 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34686 CKSUM: 0x0c11 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8238516 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x6d57 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 72 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.584244 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34685 CKSUM: 0x0d12 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8237f62 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xd91d (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 73 Packet Length: 60 Collected: Tue Jan 6 13:58:07.584445 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2106 CKSUM: 0x9109 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8238516 WIN: 64240 HLEN: 20 CKSUM: 0x2f4b (CORRECT) DLEN: 0 Packet 74 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.586586 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34687 CKSUM: 0x0c10 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8238aca ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x1109 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 75 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.591673 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34686 CKSUM: 0x0d11 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8238516 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x6d57 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 76 Packet Length: 60 Collected: Tue Jan 6 13:58:07.582685 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2107 CKSUM: 0x9108 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8238aca WIN: 64240 HLEN: 20 CKSUM: 0x2997 (CORRECT) DLEN: 0 Packet 77 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.605600 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34687 CKSUM: 0x0d10 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8238aca ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x1109 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 78 Packet Length: 60 Collected: Tue Jan 6 13:58:07.605792 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2108 CKSUM: 0x9107 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd823907e WIN: 64240 HLEN: 20 CKSUM: 0x23e3 (CORRECT) DLEN: 0 Packet 79 Packet Length: 794 (saved length 68) Collected: Tue Jan 6 13:58:07.606159 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 780 ID: 34688 CKSUM: 0x0edf (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823907e ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xf5b0 (too short to verify) DLEN: 740 (only 14 bytes in dump file) data: 740 bytes Packet 80 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.608863 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34689 CKSUM: 0x0c0e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8239362 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xcdeb (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 81 Packet Length: 794 (saved length 68) Collected: Tue Jan 6 13:58:07.611276 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 780 ID: 34688 CKSUM: 0x0fdf (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823907e ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xf5b0 (too short to verify) DLEN: 740 (only 14 bytes in dump file) data: 740 bytes Packet 82 Packet Length: 60 Collected: Tue Jan 6 13:58:07.601489 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2109 CKSUM: 0x9106 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8239362 WIN: 64240 HLEN: 20 CKSUM: 0x20ff (CORRECT) DLEN: 0 Packet 83 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.612792 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34690 CKSUM: 0x0c0d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8239916 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x0a6a (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 84 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.615917 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34689 CKSUM: 0x0d0e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8239362 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0xcdeb (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 85 Packet Length: 60 Collected: Tue Jan 6 13:58:07.616119 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2110 CKSUM: 0x9105 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8239916 WIN: 64240 HLEN: 20 CKSUM: 0x1b4b (CORRECT) DLEN: 0 Packet 86 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.619942 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34690 CKSUM: 0x0d0d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8239916 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x0a6a (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 87 Packet Length: 60 Collected: Tue Jan 6 13:58:07.610137 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2111 CKSUM: 0x9104 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd8239eca WIN: 64240 HLEN: 20 CKSUM: 0x1597 (CORRECT) DLEN: 0 Packet 88 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.620539 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34691 CKSUM: 0x0c0c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8239eca ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x256f (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 89 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.622901 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34692 CKSUM: 0x0c0b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823a47e ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x8b83 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 90 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.627507 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34691 CKSUM: 0x0d0c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd8239eca ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x256f (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 91 Packet Length: 60 Collected: Tue Jan 6 13:58:07.627899 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2112 CKSUM: 0x9103 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd823a47e WIN: 64240 HLEN: 20 CKSUM: 0x0fe3 (CORRECT) DLEN: 0 Packet 92 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.629378 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34693 CKSUM: 0x0c0a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823aa32 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x608c (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 93 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.632452 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34692 CKSUM: 0x0d0b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823a47e ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x8b83 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 94 Packet Length: 60 Collected: Tue Jan 6 13:58:07.622646 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2113 CKSUM: 0x9102 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd823aa32 WIN: 64240 HLEN: 20 CKSUM: 0x0a2f (CORRECT) DLEN: 0 Packet 95 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.634005 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34694 CKSUM: 0x0c09 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823afe6 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x1587 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 96 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.637091 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34693 CKSUM: 0x0d0a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823aa32 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x608c (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 97 Packet Length: 60 Collected: Tue Jan 6 13:58:07.637293 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2114 CKSUM: 0x9101 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd823afe6 WIN: 64240 HLEN: 20 CKSUM: 0x047b (CORRECT) DLEN: 0 Packet 98 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.639196 1998 ETH Srce: 00:80:c8:14:44:08 ETH Dest: 00:40:05:1d:e9:2e Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 34695 CKSUM: 0x0c08 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823b59a ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x71d9 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 99 Packet Length: 1514 (saved length 68) Collected: Tue Jan 6 13:58:07.642257 1998 ETH Srce: 00:40:05:1d:e9:2e ETH Dest: 00:80:48:ee:27:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.141 IP Dest: 144.16.64.215 Type: 0x6 (TCP) HLEN: 20 TTL: 63 LEN: 1500 ID: 34694 CKSUM: 0x0d09 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1644 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0xd823afe6 ACK: 0xccb5b3a3 WIN: 31744 HLEN: 20 CKSUM: 0x1587 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 100 Packet Length: 60 Collected: Tue Jan 6 13:58:07.632454 1998 ETH Srce: 00:80:48:ee:27:33 ETH Dest: 00:80:c8:14:44:08 Type: 0x800 (IP) IP VERS: 4 IP Srce: 144.16.64.215 IP Dest: 144.16.64.141 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 2115 CKSUM: 0x9100 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1644 FLG: -A---- (0x10) SEQ: 0xccb5b3a3 ACK: 0xd823b59a WIN: 64240 HLEN: 20 CKSUM: 0xfec6 (CORRECT) DLEN: 0 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:00.278626 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 144.16.64.215:20 - 144.16.64.141:1644 (a2b) 33> 67< ** Warning, b2a: detected 33 hardware duplicate(s) (same seq # and IP ID) tcptrace-6.6.7/input/OUTPUTbench/hardware_dups.dmp.gz.short0100644001217500001440000000046707253211554023370 0ustar mramadasusers1 arg remaining, starting with 'hardware_dups.dmp.gz' 1458 packets seen, 1458 TCP packets traced trace file elapsed time: 0:00:03.710329 TCP connection info: 1: 144.16.64.215:20 - 144.16.64.141:1644 (a2b) 486> 972< (complete) ** Warning, b2a: detected 486 hardware duplicate(s) (same seq # and IP ID) tcptrace-6.6.7/input/OUTPUTbench/hardware_dups.dmp.gz.xplots.cksum0100644001217500001440000000045107751776617024717 0ustar mramadasusers3611683823 98925 a2b_owin.xpl 4141755662 137 a2b_rtt.xpl 2567386448 125 a2b_ssize.xpl 4288120252 116 a2b_tput.xpl 639673698 160734 a2b_tsg.xpl 3738017137 183068 a_b_tline.xpl 1341808562 108081 b2a_owin.xpl 791770758 105571 b2a_ssize.xpl 4201293780 35874 b2a_tput.xpl 2094315518 221933 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/http.dmp.gz.long0100644001217500001440000113754307662255051021332 0ustar mramadasusers1 arg remaining, starting with 'http.dmp.gz' 1270 packets seen, 1270 TCP packets traced trace file elapsed time: 35808:37:13.781571 TCP connection info: 61 TCP connections traced: TCP connection 1: host a: 132.235.3.128:47483 host b: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:27.748442 1997 last packet: Mon Jul 14 13:10:27.836747 1997 elapsed time: 0:00:00.088305 total packets: 18 filename: http.dmp.gz a->b: b->a: total packets: 8 total packets: 10 ack pkts sent: 7 ack pkts sent: 10 pure acks sent: 5 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 280 unique bytes sent: 179 actual data pkts: 1 actual data pkts: 7 actual data bytes: 280 actual data bytes: 179 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 280 bytes max segm size: 46 bytes min segm size: 280 bytes min segm size: 2 bytes avg segm size: 279 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 281 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 41 bytes avg owin: 28 bytes wavg owin: 237 bytes wavg owin: 0 bytes initial window: 280 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 280 bytes ttl stream length: 179 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.005 secs idletime max: 74.9 ms idletime max: 76.3 ms throughput: 3171 Bps throughput: 2027 Bps RTT samples: 3 RTT samples: 6 RTT min: 1.5 ms RTT min: 0.1 ms RTT max: 73.9 ms RTT max: 0.5 ms RTT avg: 26.7 ms RTT avg: 0.1 ms RTT stdev: 40.9 ms RTT stdev: 0.2 ms RTT from 3WHS: 4.5 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 73.9 ms RTT full_sz min: 0.1 ms RTT full_sz max: 73.9 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 73.9 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 132.235.3.128:47484 host d: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:27.934079 1997 last packet: Mon Jul 14 13:10:28.135097 1997 elapsed time: 0:00:00.201018 total packets: 19 filename: http.dmp.gz c->d: d->c: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 338 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 338 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 338 bytes max segm size: 46 bytes min segm size: 338 bytes min segm size: 2 bytes avg segm size: 337 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 339 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 49 bytes avg owin: 26 bytes wavg owin: 228 bytes wavg owin: 0 bytes initial window: 338 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 338 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.011 secs idletime max: 136.1 ms idletime max: 96.5 ms throughput: 1681 Bps throughput: 895 Bps RTT samples: 3 RTT samples: 6 RTT min: 2.0 ms RTT min: 0.1 ms RTT max: 58.8 ms RTT max: 0.9 ms RTT avg: 21.1 ms RTT avg: 0.2 ms RTT stdev: 32.6 ms RTT stdev: 0.3 ms RTT from 3WHS: 2.5 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 58.8 ms RTT full_sz min: 0.1 ms RTT full_sz max: 58.8 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 58.7 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 3: host e: 132.235.3.128:47485 host f: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:27.938572 1997 last packet: Mon Jul 14 13:10:28.194705 1997 elapsed time: 0:00:00.256133 total packets: 19 filename: http.dmp.gz e->f: f->e: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 340 unique bytes sent: 179 actual data pkts: 1 actual data pkts: 7 actual data bytes: 340 actual data bytes: 179 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 340 bytes max segm size: 46 bytes min segm size: 340 bytes min segm size: 2 bytes avg segm size: 339 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4095 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4095 bytes max owin: 341 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 49 bytes avg owin: 26 bytes wavg owin: 238 bytes wavg owin: 0 bytes initial window: 340 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 340 bytes ttl stream length: 179 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.007 secs idletime max: 179.7 ms idletime max: 116.5 ms throughput: 1327 Bps throughput: 699 Bps RTT samples: 3 RTT samples: 5 RTT min: 1.8 ms RTT min: 0.1 ms RTT max: 61.9 ms RTT max: 0.1 ms RTT avg: 22.0 ms RTT avg: 0.1 ms RTT stdev: 34.6 ms RTT stdev: 0.0 ms RTT from 3WHS: 2.1 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 61.9 ms RTT full_sz min: 0.1 ms RTT full_sz max: 61.9 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 61.9 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 4 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 4: host g: 132.235.3.128:47486 host h: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:27.946056 1997 last packet: Mon Jul 14 13:10:28.164435 1997 elapsed time: 0:00:00.218379 total packets: 19 filename: http.dmp.gz g->h: h->g: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 338 unique bytes sent: 179 actual data pkts: 1 actual data pkts: 7 actual data bytes: 338 actual data bytes: 179 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 338 bytes max segm size: 46 bytes min segm size: 338 bytes min segm size: 2 bytes avg segm size: 337 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4095 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4095 bytes max owin: 339 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 49 bytes avg owin: 26 bytes wavg owin: 279 bytes wavg owin: 0 bytes initial window: 338 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 338 bytes ttl stream length: 179 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.007 secs idletime max: 182.1 ms idletime max: 116.1 ms throughput: 1548 Bps throughput: 820 Bps RTT samples: 3 RTT samples: 5 RTT min: 1.8 ms RTT min: 0.1 ms RTT max: 64.6 ms RTT max: 0.2 ms RTT avg: 22.8 ms RTT avg: 0.2 ms RTT stdev: 36.1 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.8 ms RTT from 3WHS: 0.2 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 64.6 ms RTT full_sz min: 0.1 ms RTT full_sz max: 64.6 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 64.6 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 4 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 5: host i: 132.235.3.128:47487 host j: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:27.949752 1997 last packet: Mon Jul 14 13:10:28.130609 1997 elapsed time: 0:00:00.180857 total packets: 19 filename: http.dmp.gz i->j: j->i: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 346 unique bytes sent: 178 actual data pkts: 1 actual data pkts: 7 actual data bytes: 346 actual data bytes: 178 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 346 bytes max segm size: 46 bytes min segm size: 346 bytes min segm size: 2 bytes avg segm size: 345 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 347 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 50 bytes avg owin: 26 bytes wavg owin: 276 bytes wavg owin: 0 bytes initial window: 346 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 346 bytes ttl stream length: 178 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.012 secs idletime max: 146.8 ms idletime max: 80.9 ms throughput: 1913 Bps throughput: 984 Bps RTT samples: 3 RTT samples: 6 RTT min: 1.6 ms RTT min: 0.1 ms RTT max: 69.5 ms RTT max: 5.7 ms RTT avg: 24.3 ms RTT avg: 1.0 ms RTT stdev: 39.1 ms RTT stdev: 2.3 ms RTT from 3WHS: 1.9 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 69.5 ms RTT full_sz min: 0.1 ms RTT full_sz max: 69.5 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 69.4 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 6: host k: 132.235.3.128:47488 host l: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:27.955718 1997 last packet: Mon Jul 14 13:10:28.138488 1997 elapsed time: 0:00:00.182770 total packets: 19 filename: http.dmp.gz k->l: l->k: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 336 unique bytes sent: 178 actual data pkts: 1 actual data pkts: 7 actual data bytes: 336 actual data bytes: 178 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 336 bytes max segm size: 46 bytes min segm size: 336 bytes min segm size: 2 bytes avg segm size: 335 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 337 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 49 bytes avg owin: 26 bytes wavg owin: 251 bytes wavg owin: 0 bytes initial window: 336 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 336 bytes ttl stream length: 178 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.012 secs idletime max: 137.8 ms idletime max: 83.7 ms throughput: 1838 Bps throughput: 974 Bps RTT samples: 3 RTT samples: 6 RTT min: 1.6 ms RTT min: 0.1 ms RTT max: 51.2 ms RTT max: 2.9 ms RTT avg: 18.2 ms RTT avg: 0.6 ms RTT stdev: 28.6 ms RTT stdev: 1.2 ms RTT from 3WHS: 1.8 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 51.2 ms RTT full_sz min: 0.1 ms RTT full_sz max: 51.2 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 51.2 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 7: host m: 132.235.3.128:47489 host n: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.272613 1997 last packet: Mon Jul 14 13:10:30.362143 1997 elapsed time: 0:00:00.089530 total packets: 18 filename: http.dmp.gz m->n: n->m: total packets: 8 total packets: 10 ack pkts sent: 7 ack pkts sent: 10 pure acks sent: 5 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 344 unique bytes sent: 179 actual data pkts: 1 actual data pkts: 7 actual data bytes: 344 actual data bytes: 179 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 344 bytes max segm size: 46 bytes min segm size: 344 bytes min segm size: 2 bytes avg segm size: 343 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 345 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 50 bytes avg owin: 28 bytes wavg owin: 301 bytes wavg owin: 0 bytes initial window: 344 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 344 bytes ttl stream length: 179 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.004 secs idletime max: 78.5 ms idletime max: 80.0 ms throughput: 3842 Bps throughput: 1999 Bps RTT samples: 3 RTT samples: 6 RTT min: 1.6 ms RTT min: 0.1 ms RTT max: 77.6 ms RTT max: 0.5 ms RTT avg: 27.0 ms RTT avg: 0.2 ms RTT stdev: 43.8 ms RTT stdev: 0.2 ms RTT from 3WHS: 1.9 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 77.6 ms RTT full_sz min: 0.1 ms RTT full_sz max: 77.6 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 77.6 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 8: host o: 132.235.3.128:47490 host p: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.465489 1997 last packet: Mon Jul 14 13:10:30.673525 1997 elapsed time: 0:00:00.208036 total packets: 19 filename: http.dmp.gz o->p: p->o: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 362 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 362 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 362 bytes max segm size: 46 bytes min segm size: 362 bytes min segm size: 2 bytes avg segm size: 361 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 363 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 52 bytes avg owin: 26 bytes wavg owin: 240 bytes wavg owin: 0 bytes initial window: 362 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 362 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.010 secs idletime max: 139.4 ms idletime max: 166.4 ms throughput: 1740 Bps throughput: 865 Bps RTT samples: 3 RTT samples: 6 RTT min: 1.8 ms RTT min: 0.1 ms RTT max: 113.5 ms RTT max: 0.6 ms RTT avg: 39.1 ms RTT avg: 0.2 ms RTT stdev: 64.4 ms RTT stdev: 0.2 ms RTT from 3WHS: 2.0 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 113.5 ms RTT full_sz min: 0.1 ms RTT full_sz max: 113.5 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 113.5 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 9: host q: 132.235.3.128:47491 host r: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.469609 1997 last packet: Mon Jul 14 13:10:30.753450 1997 elapsed time: 0:00:00.283841 total packets: 19 filename: http.dmp.gz q->r: r->q: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 365 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 365 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 365 bytes max segm size: 46 bytes min segm size: 365 bytes min segm size: 2 bytes avg segm size: 364 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4095 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4095 bytes max owin: 366 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 53 bytes avg owin: 26 bytes wavg owin: 253 bytes wavg owin: 0 bytes initial window: 365 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 365 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.038 secs idletime max: 198.0 ms idletime max: 161.5 ms throughput: 1286 Bps throughput: 634 Bps RTT samples: 3 RTT samples: 5 RTT min: 1.9 ms RTT min: 0.1 ms RTT max: 116.0 ms RTT max: 0.1 ms RTT avg: 40.1 ms RTT avg: 0.1 ms RTT stdev: 65.7 ms RTT stdev: 0.0 ms RTT from 3WHS: 2.6 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 116.0 ms RTT full_sz min: 0.1 ms RTT full_sz max: 116.0 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 115.9 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 4 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 10: host s: 132.235.3.128:47492 host t: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.473491 1997 last packet: Mon Jul 14 13:10:30.806996 1997 elapsed time: 0:00:00.333505 total packets: 20 filename: http.dmp.gz s->t: t->s: total packets: 9 total packets: 11 ack pkts sent: 8 ack pkts sent: 11 pure acks sent: 6 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 368 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 368 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 1 rexmt data bytes: 0 rexmt data bytes: 1 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/2 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 368 bytes max segm size: 46 bytes min segm size: 368 bytes min segm size: 2 bytes avg segm size: 367 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4095 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4095 bytes max owin: 369 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 47 bytes avg owin: 29 bytes wavg owin: 311 bytes wavg owin: 0 bytes initial window: 368 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 368 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.008 secs idletime max: 281.9 ms idletime max: 160.1 ms throughput: 1103 Bps throughput: 540 Bps RTT samples: 3 RTT samples: 6 RTT min: 1.9 ms RTT min: 0.1 ms RTT max: 118.5 ms RTT max: 3.4 ms RTT avg: 40.8 ms RTT avg: 0.6 ms RTT stdev: 67.3 ms RTT stdev: 1.3 ms RTT from 3WHS: 1.9 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 118.5 ms RTT full_sz min: 0.1 ms RTT full_sz max: 118.5 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 118.5 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 11: host u: 132.235.3.128:47493 host v: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.477607 1997 last packet: Mon Jul 14 13:10:30.776213 1997 elapsed time: 0:00:00.298606 total packets: 19 filename: http.dmp.gz u->v: v->u: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 367 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 367 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 367 bytes max segm size: 46 bytes min segm size: 367 bytes min segm size: 2 bytes avg segm size: 366 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 368 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 53 bytes avg owin: 26 bytes wavg owin: 301 bytes wavg owin: 0 bytes initial window: 367 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 367 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.010 secs idletime max: 246.0 ms idletime max: 153.5 ms throughput: 1229 Bps throughput: 603 Bps RTT samples: 3 RTT samples: 6 RTT min: 1.8 ms RTT min: 0.1 ms RTT max: 121.1 ms RTT max: 6.7 ms RTT avg: 41.7 ms RTT avg: 1.2 ms RTT stdev: 68.8 ms RTT stdev: 2.7 ms RTT from 3WHS: 2.2 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 121.1 ms RTT full_sz min: 0.1 ms RTT full_sz max: 121.1 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 121.1 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 12: host w: 132.235.3.128:47494 host x: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.481699 1997 last packet: Mon Jul 14 13:10:30.737703 1997 elapsed time: 0:00:00.256004 total packets: 19 filename: http.dmp.gz w->x: x->w: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 366 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 366 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 366 bytes max segm size: 46 bytes min segm size: 366 bytes min segm size: 2 bytes avg segm size: 365 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 367 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 53 bytes avg owin: 26 bytes wavg owin: 273 bytes wavg owin: 0 bytes initial window: 366 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 366 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.012 secs idletime max: 192.8 ms idletime max: 149.4 ms throughput: 1430 Bps throughput: 703 Bps RTT samples: 3 RTT samples: 6 RTT min: 2.1 ms RTT min: 0.1 ms RTT max: 123.7 ms RTT max: 15.2 ms RTT avg: 43.3 ms RTT avg: 2.6 ms RTT stdev: 69.6 ms RTT stdev: 6.2 ms RTT from 3WHS: 2.1 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 123.7 ms RTT full_sz min: 0.1 ms RTT full_sz max: 123.7 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 123.6 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 13: host y: 132.235.3.128:47495 host z: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.485660 1997 last packet: Mon Jul 14 13:10:30.723660 1997 elapsed time: 0:00:00.238000 total packets: 19 filename: http.dmp.gz y->z: z->y: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 365 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 365 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 365 bytes max segm size: 46 bytes min segm size: 365 bytes min segm size: 2 bytes avg segm size: 364 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 366 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 53 bytes avg owin: 26 bytes wavg owin: 306 bytes wavg owin: 0 bytes initial window: 365 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 365 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.012 secs idletime max: 199.8 ms idletime max: 145.3 ms throughput: 1534 Bps throughput: 756 Bps RTT samples: 3 RTT samples: 6 RTT min: 1.6 ms RTT min: 0.1 ms RTT max: 128.4 ms RTT max: 4.2 ms RTT avg: 44.0 ms RTT avg: 0.8 ms RTT stdev: 73.1 ms RTT stdev: 1.7 ms RTT from 3WHS: 2.0 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 128.4 ms RTT full_sz min: 0.1 ms RTT full_sz max: 128.4 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 128.4 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 14: host aa: 132.235.3.128:47496 host ab: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.674875 1997 last packet: Mon Jul 14 13:10:30.912124 1997 elapsed time: 0:00:00.237249 total packets: 19 filename: http.dmp.gz aa->ab: ab->aa: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 363 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 363 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 363 bytes max segm size: 46 bytes min segm size: 363 bytes min segm size: 2 bytes avg segm size: 362 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 364 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 52 bytes avg owin: 26 bytes wavg owin: 265 bytes wavg owin: 0 bytes initial window: 363 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 363 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.006 secs idletime max: 174.1 ms idletime max: 156.8 ms throughput: 1530 Bps throughput: 759 Bps RTT samples: 3 RTT samples: 6 RTT min: 2.1 ms RTT min: 0.1 ms RTT max: 153.1 ms RTT max: 18.5 ms RTT avg: 52.7 ms RTT avg: 3.2 ms RTT stdev: 87.0 ms RTT stdev: 7.5 ms RTT from 3WHS: 2.1 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 153.1 ms RTT full_sz min: 0.1 ms RTT full_sz max: 153.1 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 153.1 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 15: host ac: 132.235.3.128:47497 host ad: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.724811 1997 last packet: Mon Jul 14 13:10:30.986332 1997 elapsed time: 0:00:00.261521 total packets: 19 filename: http.dmp.gz ac->ad: ad->ac: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 366 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 366 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 366 bytes max segm size: 46 bytes min segm size: 366 bytes min segm size: 2 bytes avg segm size: 365 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4095 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4095 bytes max owin: 367 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 53 bytes avg owin: 26 bytes wavg owin: 271 bytes wavg owin: 0 bytes initial window: 366 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 366 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.011 secs idletime max: 194.5 ms idletime max: 106.8 ms throughput: 1400 Bps throughput: 688 Bps RTT samples: 3 RTT samples: 5 RTT min: 1.8 ms RTT min: 0.1 ms RTT max: 85.6 ms RTT max: 0.2 ms RTT avg: 29.9 ms RTT avg: 0.1 ms RTT stdev: 48.3 ms RTT stdev: 0.0 ms RTT from 3WHS: 2.1 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 85.6 ms RTT full_sz min: 0.2 ms RTT full_sz max: 85.6 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 85.6 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 4 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 16: host ae: 132.235.3.128:47498 host af: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.735098 1997 last packet: Mon Jul 14 13:10:31.027841 1997 elapsed time: 0:00:00.292743 total packets: 19 filename: http.dmp.gz ae->af: af->ae: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 370 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 370 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 370 bytes max segm size: 46 bytes min segm size: 370 bytes min segm size: 2 bytes avg segm size: 369 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4095 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4095 bytes max owin: 371 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 53 bytes avg owin: 26 bytes wavg owin: 293 bytes wavg owin: 0 bytes initial window: 370 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 370 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.012 secs idletime max: 234.4 ms idletime max: 141.9 ms throughput: 1264 Bps throughput: 615 Bps RTT samples: 3 RTT samples: 5 RTT min: 1.7 ms RTT min: 0.1 ms RTT max: 90.9 ms RTT max: 0.2 ms RTT avg: 31.6 ms RTT avg: 0.1 ms RTT stdev: 51.3 ms RTT stdev: 0.1 ms RTT from 3WHS: 2.1 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 90.9 ms RTT full_sz min: 0.1 ms RTT full_sz max: 90.9 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 90.8 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 4 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 17: host ag: 132.235.3.128:47499 host ah: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.759000 1997 last packet: Mon Jul 14 13:10:31.024318 1997 elapsed time: 0:00:00.265318 total packets: 19 filename: http.dmp.gz ag->ah: ah->ag: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 370 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 370 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 370 bytes max segm size: 46 bytes min segm size: 370 bytes min segm size: 2 bytes avg segm size: 369 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 371 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 53 bytes avg owin: 26 bytes wavg owin: 335 bytes wavg owin: 0 bytes initial window: 370 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 370 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.010 secs idletime max: 240.6 ms idletime max: 170.3 ms throughput: 1395 Bps throughput: 678 Bps RTT samples: 3 RTT samples: 6 RTT min: 1.7 ms RTT min: 0.1 ms RTT max: 66.2 ms RTT max: 2.1 ms RTT avg: 23.4 ms RTT avg: 0.4 ms RTT stdev: 37.1 ms RTT stdev: 0.8 ms RTT from 3WHS: 2.1 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 66.2 ms RTT full_sz min: 0.1 ms RTT full_sz max: 66.2 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 66.2 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 18: host ai: 132.235.3.128:47500 host aj: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.780007 1997 last packet: Mon Jul 14 13:10:31.136908 1997 elapsed time: 0:00:00.356901 total packets: 19 filename: http.dmp.gz ai->aj: aj->ai: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 367 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 367 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 367 bytes max segm size: 46 bytes min segm size: 367 bytes min segm size: 2 bytes avg segm size: 366 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 368 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 53 bytes avg owin: 26 bytes wavg owin: 277 bytes wavg owin: 5 bytes initial window: 367 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 367 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.042 secs idletime max: 270.3 ms idletime max: 224.5 ms throughput: 1028 Bps throughput: 504 Bps RTT samples: 3 RTT samples: 6 RTT min: 1.7 ms RTT min: 0.1 ms RTT max: 44.9 ms RTT max: 0.9 ms RTT avg: 16.3 ms RTT avg: 0.2 ms RTT stdev: 24.8 ms RTT stdev: 0.3 ms RTT from 3WHS: 2.1 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 44.9 ms RTT full_sz min: 0.1 ms RTT full_sz max: 44.9 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 44.9 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 19: host ak: 132.235.3.128:47501 host al: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.812276 1997 last packet: Mon Jul 14 13:10:31.163308 1997 elapsed time: 0:00:00.351032 total packets: 19 filename: http.dmp.gz ak->al: al->ak: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 369 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 369 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 369 bytes max segm size: 46 bytes min segm size: 369 bytes min segm size: 2 bytes avg segm size: 368 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4095 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4095 bytes max owin: 370 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 53 bytes avg owin: 26 bytes wavg owin: 327 bytes wavg owin: 0 bytes initial window: 369 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 369 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.015 secs idletime max: 312.1 ms idletime max: 294.2 ms throughput: 1051 Bps throughput: 513 Bps RTT samples: 3 RTT samples: 5 RTT min: 2.0 ms RTT min: 0.1 ms RTT max: 13.1 ms RTT max: 0.1 ms RTT avg: 5.7 ms RTT avg: 0.1 ms RTT stdev: 6.4 ms RTT stdev: 0.0 ms RTT from 3WHS: 2.1 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 13.1 ms RTT full_sz min: 0.1 ms RTT full_sz max: 13.1 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 13.1 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 4 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 20: host am: 132.235.3.128:47502 host an: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.885182 1997 last packet: Mon Jul 14 13:10:31.162516 1997 elapsed time: 0:00:00.277334 total packets: 19 filename: http.dmp.gz am->an: an->am: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 364 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 364 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 364 bytes max segm size: 46 bytes min segm size: 364 bytes min segm size: 2 bytes avg segm size: 363 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4096 bytes max owin: 365 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 53 bytes avg owin: 26 bytes wavg owin: 306 bytes wavg owin: 0 bytes initial window: 364 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 364 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.009 secs idletime max: 233.6 ms idletime max: 139.8 ms throughput: 1312 Bps throughput: 649 Bps RTT samples: 3 RTT samples: 6 RTT min: 1.7 ms RTT min: 0.1 ms RTT max: 116.9 ms RTT max: 2.1 ms RTT avg: 42.2 ms RTT avg: 0.5 ms RTT stdev: 64.8 ms RTT stdev: 0.8 ms RTT from 3WHS: 8.0 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 116.9 ms RTT full_sz min: 0.1 ms RTT full_sz max: 116.9 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 116.9 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 21: host ao: 132.235.3.128:47503 host ap: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:30.991604 1997 last packet: Mon Jul 14 13:10:31.262822 1997 elapsed time: 0:00:00.271218 total packets: 19 filename: http.dmp.gz ao->ap: ap->ao: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 375 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 375 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 375 bytes max segm size: 46 bytes min segm size: 375 bytes min segm size: 2 bytes avg segm size: 374 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4095 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4095 bytes max owin: 376 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 54 bytes avg owin: 26 bytes wavg owin: 291 bytes wavg owin: 0 bytes initial window: 375 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 375 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.009 secs idletime max: 211.9 ms idletime max: 239.2 ms throughput: 1383 Bps throughput: 664 Bps RTT samples: 3 RTT samples: 5 RTT min: 1.9 ms RTT min: 0.1 ms RTT max: 200.6 ms RTT max: 0.2 ms RTT avg: 68.2 ms RTT avg: 0.1 ms RTT stdev: 114.7 ms RTT stdev: 0.0 ms RTT from 3WHS: 2.2 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 200.6 ms RTT full_sz min: 0.1 ms RTT full_sz max: 200.6 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 200.6 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 4 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 22: host aq: 132.235.3.128:47504 host ar: 132.235.1.2:80 complete conn: yes first packet: Mon Jul 14 13:10:31.022537 1997 last packet: Mon Jul 14 13:10:31.292521 1997 elapsed time: 0:00:00.269984 total packets: 19 filename: http.dmp.gz aq->ar: ar->aq: total packets: 8 total packets: 11 ack pkts sent: 7 ack pkts sent: 11 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 371 unique bytes sent: 180 actual data pkts: 1 actual data pkts: 7 actual data bytes: 371 actual data bytes: 180 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 7 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 371 bytes max segm size: 46 bytes min segm size: 371 bytes min segm size: 2 bytes avg segm size: 370 bytes avg segm size: 25 bytes max win adv: 8760 bytes max win adv: 4096 bytes min win adv: 8760 bytes min win adv: 4095 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 4095 bytes max owin: 372 bytes max owin: 67 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 54 bytes avg owin: 26 bytes wavg owin: 277 bytes wavg owin: 0 bytes initial window: 371 bytes initial window: 64 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 371 bytes ttl stream length: 180 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.011 secs idletime max: 202.2 ms idletime max: 207.9 ms throughput: 1374 Bps throughput: 667 Bps RTT samples: 3 RTT samples: 5 RTT min: 1.6 ms RTT min: 0.1 ms RTT max: 176.8 ms RTT max: 0.3 ms RTT avg: 60.3 ms RTT avg: 0.1 ms RTT stdev: 100.9 ms RTT stdev: 0.1 ms RTT from 3WHS: 2.5 ms RTT from 3WHS: 0.3 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 176.8 ms RTT full_sz min: 0.1 ms RTT full_sz max: 176.8 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 176.8 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 4 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 23: host as: 132.235.3.132:33654 host at: 4.17.168.6:80 complete conn: no (SYNs: 0) (FINs: 2) first packet: Tue Aug 14 13:47:01.638680 2001 last packet: Tue Aug 14 13:47:01.639298 2001 elapsed time: 0:00:00.000618 total packets: 3 filename: http.dmp.gz as->at: at->as: total packets: 2 total packets: 1 ack pkts sent: 2 ack pkts sent: 1 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/1 SYN/FIN pkts sent: 0/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 24820 bytes max win adv: 10523 bytes min win adv: 24820 bytes min win adv: 10523 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 10523 bytes max owin: 1 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 0 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 0.6 ms idletime max: 0.0 ms throughput: 0 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 1 RTT min: 0.6 ms RTT min: 0.0 ms RTT max: 0.6 ms RTT max: 0.0 ms RTT avg: 0.6 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 0.6 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.6 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.6 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 24: host au: 132.235.3.132:33666 host av: 216.52.45.129:80 complete conn: yes first packet: Tue Aug 14 13:47:01.714483 2001 last packet: Tue Aug 14 13:47:01.806006 2001 elapsed time: 0:00:00.091523 total packets: 9 filename: http.dmp.gz au->av: av->au: total packets: 6 total packets: 3 ack pkts sent: 5 ack pkts sent: 3 pure acks sent: 3 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 278 unique bytes sent: 392 actual data pkts: 1 actual data pkts: 1 actual data bytes: 278 actual data bytes: 392 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 278 bytes max segm size: 392 bytes min segm size: 278 bytes min segm size: 392 bytes avg segm size: 277 bytes avg segm size: 391 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5865 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5958 bytes max owin: 279 bytes max owin: 393 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 56 bytes avg owin: 197 bytes wavg owin: 262 bytes wavg owin: 10 bytes initial window: 278 bytes initial window: 392 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 278 bytes ttl stream length: 392 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 86.3 ms idletime max: 88.0 ms throughput: 3037 Bps throughput: 4283 Bps RTT samples: 3 RTT samples: 3 RTT min: 0.7 ms RTT min: 0.0 ms RTT max: 86.0 ms RTT max: 0.3 ms RTT avg: 29.5 ms RTT avg: 0.1 ms RTT stdev: 48.9 ms RTT stdev: 0.1 ms RTT from 3WHS: 0.7 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 86.0 ms RTT full_sz min: 0.3 ms RTT full_sz max: 86.0 ms RTT full_sz max: 0.3 ms RTT full_sz avg: 86.0 ms RTT full_sz avg: 0.3 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 25: host aw: 132.235.3.132:33667 host ax: 216.52.45.129:80 complete conn: yes first packet: Tue Aug 14 13:47:01.805113 2001 last packet: Tue Aug 14 13:47:02.328048 2001 elapsed time: 0:00:00.522935 total packets: 48 filename: http.dmp.gz aw->ax: ax->aw: total packets: 21 total packets: 27 ack pkts sent: 20 ack pkts sent: 27 pure acks sent: 17 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 584 unique bytes sent: 35350 actual data pkts: 2 actual data pkts: 25 actual data bytes: 584 actual data bytes: 35350 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 2 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 295 bytes max segm size: 1460 bytes min segm size: 289 bytes min segm size: 680 bytes avg segm size: 291 bytes avg segm size: 1413 bytes max win adv: 24820 bytes max win adv: 7604 bytes min win adv: 2920 bytes min win adv: 5855 bytes zero win adv: 1 times zero win adv: 0 times avg win adv: 19188 bytes avg win adv: 5995 bytes max owin: 296 bytes max owin: 13141 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 30 bytes avg owin: 5066 bytes wavg owin: 51 bytes wavg owin: 3241 bytes initial window: 289 bytes initial window: 4380 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 584 bytes ttl stream length: 35350 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 11390 bytes truncated packets: 0 pkts truncated packets: 24 pkts data xmit time: 0.326 secs data xmit time: 0.326 secs idletime max: 120.8 ms idletime max: 192.7 ms throughput: 1117 Bps throughput: 67599 Bps RTT samples: 4 RTT samples: 16 RTT min: 0.6 ms RTT min: 0.0 ms RTT max: 1.9 ms RTT max: 119.2 ms RTT avg: 1.4 ms RTT avg: 25.3 ms RTT stdev: 0.6 ms RTT stdev: 32.3 ms RTT from 3WHS: 1.8 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 12 RTT full_sz min: 1.4 ms RTT full_sz min: 0.4 ms RTT full_sz max: 1.4 ms RTT full_sz max: 18.4 ms RTT full_sz avg: 1.4 ms RTT full_sz avg: 16.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 5.1 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 11 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 26: host ay: 132.235.3.132:33655 host az: 4.17.168.6:80 complete conn: no (SYNs: 0) (FINs: 2) first packet: Tue Aug 14 13:47:01.900681 2001 last packet: Tue Aug 14 13:47:01.901408 2001 elapsed time: 0:00:00.000727 total packets: 3 filename: http.dmp.gz ay->az: az->ay: total packets: 2 total packets: 1 ack pkts sent: 2 ack pkts sent: 1 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/1 SYN/FIN pkts sent: 0/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 24820 bytes max win adv: 10523 bytes min win adv: 24820 bytes min win adv: 10523 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 10523 bytes max owin: 1 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 0 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 0.7 ms idletime max: 0.0 ms throughput: 0 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 1 RTT min: 0.7 ms RTT min: 0.0 ms RTT max: 0.7 ms RTT max: 0.0 ms RTT avg: 0.7 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 0.7 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.7 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.7 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 27: host ba: 132.235.3.132:33668 host bb: 216.52.45.129:80 complete conn: yes first packet: Tue Aug 14 13:47:01.901684 2001 last packet: Tue Aug 14 13:47:02.315161 2001 elapsed time: 0:00:00.413477 total packets: 11 filename: http.dmp.gz ba->bb: bb->ba: total packets: 7 total packets: 4 ack pkts sent: 6 ack pkts sent: 4 pure acks sent: 4 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 294 unique bytes sent: 2721 actual data pkts: 1 actual data pkts: 2 actual data bytes: 294 actual data bytes: 2721 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 294 bytes max segm size: 1460 bytes min segm size: 294 bytes min segm size: 1261 bytes avg segm size: 293 bytes avg segm size: 1359 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5849 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5923 bytes max owin: 295 bytes max owin: 2722 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 50 bytes avg owin: 1394 bytes wavg owin: 2 bytes wavg owin: 2657 bytes initial window: 294 bytes initial window: 2721 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 294 bytes ttl stream length: 2721 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 781 bytes truncated packets: 0 pkts truncated packets: 2 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 287.7 ms idletime max: 404.0 ms throughput: 711 Bps throughput: 6581 Bps RTT samples: 3 RTT samples: 4 RTT min: 0.7 ms RTT min: 0.0 ms RTT max: 2.1 ms RTT max: 115.2 ms RTT avg: 1.3 ms RTT avg: 29.2 ms RTT stdev: 0.7 ms RTT stdev: 57.4 ms RTT from 3WHS: 0.7 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 2.1 ms RTT full_sz min: 1.4 ms RTT full_sz max: 2.1 ms RTT full_sz max: 1.4 ms RTT full_sz avg: 2.1 ms RTT full_sz avg: 1.4 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 28: host bc: 132.235.3.132:33656 host bd: 4.17.168.6:80 complete conn: no (SYNs: 0) (FINs: 2) first packet: Tue Aug 14 13:47:02.282984 2001 last packet: Tue Aug 14 13:47:02.283849 2001 elapsed time: 0:00:00.000865 total packets: 3 filename: http.dmp.gz bc->bd: bd->bc: total packets: 2 total packets: 1 ack pkts sent: 2 ack pkts sent: 1 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/1 SYN/FIN pkts sent: 0/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 24820 bytes max win adv: 10209 bytes min win adv: 24820 bytes min win adv: 10209 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 10209 bytes max owin: 1 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 0 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 0.9 ms idletime max: 0.0 ms throughput: 0 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 1 RTT min: 0.8 ms RTT min: 0.0 ms RTT max: 0.8 ms RTT max: 0.0 ms RTT avg: 0.8 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 0.8 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.8 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.8 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 29: host be: 132.235.3.132:33657 host bf: 4.17.168.6:80 complete conn: no (SYNs: 0) (FINs: 2) first packet: Tue Aug 14 13:47:02.299881 2001 last packet: Tue Aug 14 13:47:02.300479 2001 elapsed time: 0:00:00.000598 total packets: 3 filename: http.dmp.gz be->bf: bf->be: total packets: 2 total packets: 1 ack pkts sent: 2 ack pkts sent: 1 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/1 SYN/FIN pkts sent: 0/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 24820 bytes max win adv: 10523 bytes min win adv: 24820 bytes min win adv: 10523 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 10523 bytes max owin: 1 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 0 bytes avg owin: 1 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 0.6 ms idletime max: 0.0 ms throughput: 0 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 1 RTT min: 0.6 ms RTT min: 0.0 ms RTT max: 0.6 ms RTT max: 0.0 ms RTT avg: 0.6 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 0.6 ms RTT full_sz min: 0.0 ms RTT full_sz max: 0.6 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.6 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 30: host bg: 132.235.3.132:33669 host bh: 216.52.153.132:80 complete conn: yes first packet: Tue Aug 14 13:47:02.495416 2001 last packet: Tue Aug 14 13:47:10.097222 2001 elapsed time: 0:00:07.601805 total packets: 45 filename: http.dmp.gz bg->bh: bh->bg: total packets: 26 total packets: 19 ack pkts sent: 25 ack pkts sent: 19 pure acks sent: 15 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 3291 unique bytes sent: 15099 actual data pkts: 9 actual data pkts: 17 actual data bytes: 3291 actual data bytes: 15099 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 9 pushed data pkts: 9 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 369 bytes max segm size: 1460 bytes min segm size: 360 bytes min segm size: 62 bytes avg segm size: 365 bytes avg segm size: 888 bytes max win adv: 24820 bytes max win adv: 16364 bytes min win adv: 24758 bytes min win adv: 5775 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24817 bytes avg win adv: 9005 bytes max owin: 370 bytes max owin: 5841 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 132 bytes avg owin: 2056 bytes wavg owin: 50 bytes wavg owin: 696 bytes initial window: 369 bytes initial window: 4380 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 3291 bytes ttl stream length: 15099 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 3920 bytes truncated packets: 0 pkts truncated packets: 8 pkts data xmit time: 6.390 secs data xmit time: 6.375 secs idletime max: 3052.0 ms idletime max: 3185.9 ms throughput: 433 Bps throughput: 1986 Bps RTT samples: 11 RTT samples: 15 RTT min: 0.8 ms RTT min: 0.1 ms RTT max: 38.0 ms RTT max: 135.9 ms RTT avg: 19.5 ms RTT avg: 72.7 ms RTT stdev: 10.7 ms RTT stdev: 55.4 ms RTT from 3WHS: 0.8 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 4 RTT full_sz smpls: 4 RTT full_sz min: 20.2 ms RTT full_sz min: 0.6 ms RTT full_sz max: 38.0 ms RTT full_sz max: 20.2 ms RTT full_sz avg: 25.5 ms RTT full_sz avg: 12.2 ms RTT full_sz stdev: 8.4 ms RTT full_sz stdev: 8.7 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 4 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 31: host bi: 132.235.3.132:33670 host bj: 216.52.153.132:80 complete conn: yes first packet: Tue Aug 14 13:47:02.501946 2001 last packet: Tue Aug 14 13:47:08.970136 2001 elapsed time: 0:00:06.468189 total packets: 45 filename: http.dmp.gz bi->bj: bj->bi: total packets: 27 total packets: 18 ack pkts sent: 26 ack pkts sent: 18 pure acks sent: 15 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 3686 unique bytes sent: 15808 actual data pkts: 10 actual data pkts: 16 actual data bytes: 3686 actual data bytes: 15808 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 10 pushed data pkts: 10 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 380 bytes max segm size: 1460 bytes min segm size: 360 bytes min segm size: 347 bytes avg segm size: 368 bytes avg segm size: 987 bytes max win adv: 24820 bytes max win adv: 19284 bytes min win adv: 24820 bytes min win adv: 5779 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 10828 bytes max owin: 381 bytes max owin: 4381 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 142 bytes avg owin: 1617 bytes wavg owin: 75 bytes wavg owin: 956 bytes initial window: 365 bytes initial window: 4380 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 3686 bytes ttl stream length: 15808 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 3614 bytes truncated packets: 0 pkts truncated packets: 9 pkts data xmit time: 3.283 secs data xmit time: 3.266 secs idletime max: 3042.8 ms idletime max: 3161.2 ms throughput: 570 Bps throughput: 2444 Bps RTT samples: 12 RTT samples: 15 RTT min: 0.7 ms RTT min: 0.1 ms RTT max: 38.2 ms RTT max: 142.8 ms RTT avg: 18.9 ms RTT avg: 83.2 ms RTT stdev: 9.8 ms RTT stdev: 55.3 ms RTT from 3WHS: 0.9 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 3 RTT full_sz min: 21.3 ms RTT full_sz min: 13.5 ms RTT full_sz max: 21.3 ms RTT full_sz max: 17.1 ms RTT full_sz avg: 21.3 ms RTT full_sz avg: 14.7 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 2.1 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 32: host bk: 132.235.3.132:33671 host bl: 216.52.153.132:80 complete conn: yes first packet: Tue Aug 14 13:47:02.508393 2001 last packet: Tue Aug 14 13:47:08.446447 2001 elapsed time: 0:00:05.938054 total packets: 37 filename: http.dmp.gz bk->bl: bl->bk: total packets: 22 total packets: 15 ack pkts sent: 21 ack pkts sent: 15 pure acks sent: 12 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2949 unique bytes sent: 11843 actual data pkts: 8 actual data pkts: 13 actual data bytes: 2949 actual data bytes: 11843 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 8 pushed data pkts: 8 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 380 bytes max segm size: 1460 bytes min segm size: 361 bytes min segm size: 245 bytes avg segm size: 368 bytes avg segm size: 910 bytes max win adv: 24820 bytes max win adv: 16364 bytes min win adv: 24820 bytes min win adv: 5771 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 9718 bytes max owin: 381 bytes max owin: 4381 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 141 bytes avg owin: 1576 bytes wavg owin: 75 bytes wavg owin: 832 bytes initial window: 373 bytes initial window: 4380 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 2949 bytes ttl stream length: 11843 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 2507 bytes truncated packets: 0 pkts truncated packets: 7 pkts data xmit time: 3.111 secs data xmit time: 3.093 secs idletime max: 2689.3 ms idletime max: 2804.2 ms throughput: 497 Bps throughput: 1994 Bps RTT samples: 10 RTT samples: 13 RTT min: 0.5 ms RTT min: 0.0 ms RTT max: 38.0 ms RTT max: 282.8 ms RTT avg: 18.8 ms RTT avg: 90.8 ms RTT stdev: 11.0 ms RTT stdev: 79.4 ms RTT from 3WHS: 0.7 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 3 RTT full_sz min: 23.5 ms RTT full_sz min: 17.6 ms RTT full_sz max: 23.5 ms RTT full_sz max: 18.2 ms RTT full_sz avg: 23.5 ms RTT full_sz avg: 17.8 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.3 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 2 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 33: host bm: 132.235.3.132:33672 host bn: 216.52.153.132:80 complete conn: yes first packet: Tue Aug 14 13:47:02.513788 2001 last packet: Tue Aug 14 13:47:08.235833 2001 elapsed time: 0:00:05.722044 total packets: 35 filename: http.dmp.gz bm->bn: bn->bm: total packets: 22 total packets: 13 ack pkts sent: 21 ack pkts sent: 13 pure acks sent: 12 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2923 unique bytes sent: 8493 actual data pkts: 8 actual data pkts: 11 actual data bytes: 2923 actual data bytes: 8493 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 8 pushed data pkts: 8 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 369 bytes max segm size: 1460 bytes min segm size: 361 bytes min segm size: 193 bytes avg segm size: 365 bytes avg segm size: 772 bytes max win adv: 24820 bytes max win adv: 16364 bytes min win adv: 24820 bytes min win adv: 5775 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 10551 bytes max owin: 370 bytes max owin: 4199 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 140 bytes avg owin: 1195 bytes wavg owin: 68 bytes wavg owin: 694 bytes initial window: 369 bytes initial window: 4198 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 2923 bytes ttl stream length: 8493 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 1778 bytes truncated packets: 0 pkts truncated packets: 4 pkts data xmit time: 2.948 secs data xmit time: 2.936 secs idletime max: 2628.6 ms idletime max: 2746.5 ms throughput: 511 Bps throughput: 1484 Bps RTT samples: 10 RTT samples: 12 RTT min: 0.6 ms RTT min: 0.0 ms RTT max: 57.9 ms RTT max: 134.6 ms RTT avg: 22.4 ms RTT avg: 81.6 ms RTT stdev: 16.5 ms RTT stdev: 55.9 ms RTT from 3WHS: 0.7 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 2 RTT full_sz smpls: 2 RTT full_sz min: 37.1 ms RTT full_sz min: 13.0 ms RTT full_sz max: 57.9 ms RTT full_sz max: 13.1 ms RTT full_sz avg: 47.5 ms RTT full_sz avg: 13.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 34: host bo: 132.235.3.132:33673 host bp: 216.52.45.129:80 complete conn: yes first packet: Tue Aug 14 13:47:08.236126 2001 last packet: Tue Aug 14 13:47:08.355371 2001 elapsed time: 0:00:00.119245 total packets: 9 filename: http.dmp.gz bo->bp: bp->bo: total packets: 6 total packets: 3 ack pkts sent: 5 ack pkts sent: 3 pure acks sent: 3 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 385 unique bytes sent: 469 actual data pkts: 1 actual data pkts: 1 actual data bytes: 385 actual data bytes: 469 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 385 bytes max segm size: 469 bytes min segm size: 385 bytes min segm size: 469 bytes avg segm size: 384 bytes avg segm size: 468 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5758 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5887 bytes max owin: 386 bytes max owin: 470 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 78 bytes avg owin: 235 bytes wavg owin: 134 bytes wavg owin: 293 bytes initial window: 385 bytes initial window: 469 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 385 bytes ttl stream length: 469 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 73.4 ms idletime max: 74.5 ms throughput: 3229 Bps throughput: 3933 Bps RTT samples: 3 RTT samples: 3 RTT min: 0.8 ms RTT min: 0.0 ms RTT max: 41.3 ms RTT max: 0.3 ms RTT avg: 14.3 ms RTT avg: 0.1 ms RTT stdev: 23.4 ms RTT stdev: 0.1 ms RTT from 3WHS: 0.8 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 41.3 ms RTT full_sz min: 0.3 ms RTT full_sz max: 41.3 ms RTT full_sz max: 0.3 ms RTT full_sz avg: 41.3 ms RTT full_sz avg: 0.3 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 35: host bq: 132.235.3.132:33674 host br: 216.52.45.129:80 complete conn: yes first packet: Tue Aug 14 13:47:08.355705 2001 last packet: Tue Aug 14 13:47:10.373069 2001 elapsed time: 0:00:02.017364 total packets: 54 filename: http.dmp.gz bq->br: br->bq: total packets: 24 total packets: 30 ack pkts sent: 23 ack pkts sent: 30 pure acks sent: 17 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2045 unique bytes sent: 36865 actual data pkts: 5 actual data pkts: 28 actual data bytes: 2045 actual data bytes: 36865 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 5 pushed data pkts: 4 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 437 bytes max segm size: 1460 bytes min segm size: 379 bytes min segm size: 287 bytes avg segm size: 408 bytes avg segm size: 1316 bytes max win adv: 24820 bytes max win adv: 11984 bytes min win adv: 2920 bytes min win adv: 5725 bytes zero win adv: 1 times zero win adv: 0 times avg win adv: 22325 bytes avg win adv: 6490 bytes max owin: 438 bytes max owin: 8761 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 89 bytes avg owin: 4292 bytes wavg owin: 87 bytes wavg owin: 1426 bytes initial window: 419 bytes initial window: 4380 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 2045 bytes ttl stream length: 48551 bytes missed data: 0 bytes missed data: 11686 bytes truncated data: 0 bytes truncated data: 11760 bytes truncated packets: 0 pkts truncated packets: 24 pkts data xmit time: 1.488 secs data xmit time: 1.485 secs idletime max: 758.9 ms idletime max: 879.0 ms throughput: 1014 Bps throughput: 18274 Bps RTT samples: 7 RTT samples: 13 RTT min: 0.6 ms RTT min: 0.0 ms RTT max: 4.5 ms RTT max: 118.8 ms RTT avg: 1.7 ms RTT avg: 39.4 ms RTT stdev: 1.4 ms RTT stdev: 47.8 ms RTT from 3WHS: 0.7 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 7 RTT full_sz min: 1.3 ms RTT full_sz min: 0.4 ms RTT full_sz max: 1.3 ms RTT full_sz max: 18.4 ms RTT full_sz avg: 1.3 ms RTT full_sz avg: 12.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 7.4 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 17 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 36: host bs: 132.235.3.132:33675 host bt: 216.52.45.129:80 complete conn: yes first packet: Tue Aug 14 13:47:08.446893 2001 last packet: Tue Aug 14 13:47:10.441274 2001 elapsed time: 0:00:01.994381 total packets: 18 filename: http.dmp.gz bs->bt: bt->bs: total packets: 12 total packets: 6 ack pkts sent: 11 ack pkts sent: 6 pure acks sent: 6 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1675 unique bytes sent: 1986 actual data pkts: 4 actual data pkts: 4 actual data bytes: 1675 actual data bytes: 1986 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 4 pushed data pkts: 4 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 437 bytes max segm size: 876 bytes min segm size: 383 bytes min segm size: 324 bytes avg segm size: 418 bytes avg segm size: 496 bytes max win adv: 24820 bytes max win adv: 10524 bytes min win adv: 24820 bytes min win adv: 5707 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 8261 bytes max owin: 438 bytes max owin: 877 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 153 bytes avg owin: 398 bytes wavg owin: 66 bytes wavg owin: 440 bytes initial window: 437 bytes initial window: 324 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 1675 bytes ttl stream length: 1986 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 1.558 secs data xmit time: 1.558 secs idletime max: 937.5 ms idletime max: 1049.2 ms throughput: 840 Bps throughput: 996 Bps RTT samples: 6 RTT samples: 6 RTT min: 0.7 ms RTT min: 0.1 ms RTT max: 6.1 ms RTT max: 111.2 ms RTT avg: 2.0 ms RTT avg: 52.8 ms RTT stdev: 2.0 ms RTT stdev: 57.4 ms RTT from 3WHS: 0.7 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 1.4 ms RTT full_sz min: 92.8 ms RTT full_sz max: 1.4 ms RTT full_sz max: 92.8 ms RTT full_sz avg: 1.4 ms RTT full_sz avg: 92.8 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 37: host bu: 132.235.3.132:33676 host bv: 216.52.45.129:80 complete conn: yes first packet: Tue Aug 14 13:47:08.975116 2001 last packet: Tue Aug 14 13:47:10.253586 2001 elapsed time: 0:00:01.278470 total packets: 9 filename: http.dmp.gz bu->bv: bv->bu: total packets: 6 total packets: 3 ack pkts sent: 5 ack pkts sent: 3 pure acks sent: 3 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 425 unique bytes sent: 369 actual data pkts: 1 actual data pkts: 1 actual data bytes: 425 actual data bytes: 369 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 425 bytes max segm size: 369 bytes min segm size: 425 bytes min segm size: 369 bytes avg segm size: 424 bytes avg segm size: 368 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5718 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5860 bytes max owin: 426 bytes max owin: 370 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 86 bytes avg owin: 185 bytes wavg owin: 5 bytes wavg owin: 191 bytes initial window: 425 bytes initial window: 369 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 425 bytes ttl stream length: 369 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 645.7 ms idletime max: 663.5 ms throughput: 332 Bps throughput: 289 Bps RTT samples: 3 RTT samples: 3 RTT min: 0.8 ms RTT min: 0.0 ms RTT max: 1.4 ms RTT max: 17.0 ms RTT avg: 1.0 ms RTT avg: 5.7 ms RTT stdev: 0.4 ms RTT stdev: 9.8 ms RTT from 3WHS: 0.8 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 1.4 ms RTT full_sz min: 17.0 ms RTT full_sz max: 1.4 ms RTT full_sz max: 17.0 ms RTT full_sz avg: 1.4 ms RTT full_sz avg: 17.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 38: host bw: 132.235.3.132:33677 host bx: 216.52.45.129:80 complete conn: yes first packet: Tue Aug 14 13:47:10.097234 2001 last packet: Tue Aug 14 13:47:11.982730 2001 elapsed time: 0:00:01.885496 total packets: 11 filename: http.dmp.gz bw->bx: bx->bw: total packets: 7 total packets: 4 ack pkts sent: 6 ack pkts sent: 4 pure acks sent: 4 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 426 unique bytes sent: 1727 actual data pkts: 1 actual data pkts: 2 actual data bytes: 426 actual data bytes: 1727 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 426 bytes max segm size: 1460 bytes min segm size: 426 bytes min segm size: 267 bytes avg segm size: 425 bytes avg segm size: 863 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5717 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5824 bytes max owin: 427 bytes max owin: 1728 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 72 bytes avg owin: 1063 bytes wavg owin: 5 bytes wavg owin: 1407 bytes initial window: 426 bytes initial window: 1727 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 426 bytes ttl stream length: 1727 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 490 bytes truncated packets: 0 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 1424.9 ms idletime max: 1536.3 ms throughput: 226 Bps throughput: 916 Bps RTT samples: 3 RTT samples: 4 RTT min: 0.7 ms RTT min: 0.0 ms RTT max: 2.3 ms RTT max: 110.7 ms RTT avg: 1.3 ms RTT avg: 32.5 ms RTT stdev: 0.9 ms RTT stdev: 52.9 ms RTT from 3WHS: 0.8 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 2.3 ms RTT full_sz min: 19.2 ms RTT full_sz max: 2.3 ms RTT full_sz max: 19.2 ms RTT full_sz avg: 2.3 ms RTT full_sz avg: 19.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 39: host by: 132.235.3.132:33678 host bz: 216.52.153.132:80 complete conn: yes first packet: Tue Aug 14 13:47:10.253799 2001 last packet: Tue Aug 14 13:47:15.726716 2001 elapsed time: 0:00:05.472916 total packets: 47 filename: http.dmp.gz by->bz: bz->by: total packets: 21 total packets: 26 ack pkts sent: 20 ack pkts sent: 26 pure acks sent: 13 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2263 unique bytes sent: 28541 actual data pkts: 6 actual data pkts: 23 actual data bytes: 2263 actual data bytes: 28541 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 6 pushed data pkts: 6 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 391 bytes max segm size: 1460 bytes min segm size: 370 bytes min segm size: 349 bytes avg segm size: 377 bytes avg segm size: 1240 bytes max win adv: 24820 bytes max win adv: 7604 bytes min win adv: 20922 bytes min win adv: 5766 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24564 bytes avg win adv: 6636 bytes max owin: 392 bytes max owin: 7301 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 114 bytes avg owin: 3420 bytes wavg owin: 220 bytes wavg owin: 2342 bytes initial window: 378 bytes initial window: 4380 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 2263 bytes ttl stream length: 28541 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 8338 bytes truncated packets: 0 pkts truncated packets: 18 pkts data xmit time: 2.665 secs data xmit time: 5.387 secs idletime max: 2755.8 ms idletime max: 2591.8 ms throughput: 413 Bps throughput: 5215 Bps RTT samples: 8 RTT samples: 17 RTT min: 0.7 ms RTT min: 0.0 ms RTT max: 160.0 ms RTT max: 118.2 ms RTT avg: 46.5 ms RTT avg: 41.7 ms RTT stdev: 56.4 ms RTT stdev: 45.1 ms RTT from 3WHS: 0.7 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 9 RTT full_sz min: 105.6 ms RTT full_sz min: 11.9 ms RTT full_sz max: 105.6 ms RTT full_sz max: 26.0 ms RTT full_sz avg: 105.6 ms RTT full_sz avg: 18.7 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 4.9 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 8 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 40: host ca: 132.235.3.132:33679 host cb: 216.52.153.132:80 complete conn: yes first packet: Tue Aug 14 13:47:10.373321 2001 last packet: Tue Aug 14 13:47:12.139617 2001 elapsed time: 0:00:01.766296 total packets: 9 filename: http.dmp.gz ca->cb: cb->ca: total packets: 6 total packets: 3 ack pkts sent: 5 ack pkts sent: 3 pure acks sent: 3 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 370 unique bytes sent: 375 actual data pkts: 1 actual data pkts: 1 actual data bytes: 370 actual data bytes: 375 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 370 bytes max segm size: 375 bytes min segm size: 370 bytes min segm size: 375 bytes avg segm size: 369 bytes avg segm size: 374 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5773 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5897 bytes max owin: 371 bytes max owin: 376 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 75 bytes avg owin: 188 bytes wavg owin: 7 bytes wavg owin: 331 bytes initial window: 370 bytes initial window: 375 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 370 bytes ttl stream length: 375 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 1516.6 ms idletime max: 1558.3 ms throughput: 209 Bps throughput: 212 Bps RTT samples: 3 RTT samples: 3 RTT min: 0.6 ms RTT min: 0.0 ms RTT max: 25.7 ms RTT max: 15.9 ms RTT avg: 15.6 ms RTT avg: 5.4 ms RTT stdev: 13.2 ms RTT stdev: 9.2 ms RTT from 3WHS: 0.6 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 20.4 ms RTT full_sz min: 15.9 ms RTT full_sz max: 20.4 ms RTT full_sz max: 15.9 ms RTT full_sz avg: 20.4 ms RTT full_sz avg: 15.9 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 41: host cc: 132.235.3.132:33680 host cd: 216.52.153.132:80 complete conn: yes first packet: Tue Aug 14 13:47:10.440600 2001 last packet: Tue Aug 14 13:47:12.212005 2001 elapsed time: 0:00:01.771404 total packets: 14 filename: http.dmp.gz cc->cd: cd->cc: total packets: 8 total packets: 6 ack pkts sent: 7 ack pkts sent: 6 pure acks sent: 5 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 392 unique bytes sent: 4474 actual data pkts: 1 actual data pkts: 4 actual data bytes: 392 actual data bytes: 4474 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 392 bytes max segm size: 1460 bytes min segm size: 392 bytes min segm size: 94 bytes avg segm size: 391 bytes avg segm size: 1118 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5751 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5817 bytes max owin: 393 bytes max owin: 4381 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 57 bytes avg owin: 2063 bytes wavg owin: 7 bytes wavg owin: 1450 bytes initial window: 392 bytes initial window: 4380 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 392 bytes ttl stream length: 4474 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 1470 bytes truncated packets: 0 pkts truncated packets: 3 pkts data xmit time: 0.000 secs data xmit time: 0.014 secs idletime max: 1514.3 ms idletime max: 1614.2 ms throughput: 221 Bps throughput: 2526 Bps RTT samples: 3 RTT samples: 5 RTT min: 0.6 ms RTT min: 0.0 ms RTT max: 20.9 ms RTT max: 99.3 ms RTT avg: 7.4 ms RTT avg: 25.1 ms RTT stdev: 11.7 ms RTT stdev: 42.0 ms RTT from 3WHS: 0.6 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 2 RTT full_sz min: 20.9 ms RTT full_sz min: 13.1 ms RTT full_sz max: 20.9 ms RTT full_sz max: 13.2 ms RTT full_sz avg: 20.9 ms RTT full_sz avg: 13.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 42: host ce: 132.235.3.132:33681 host cf: 216.52.153.132:80 complete conn: yes first packet: Tue Aug 14 13:47:11.982966 2001 last packet: Tue Aug 14 13:47:24.748599 2001 elapsed time: 0:00:12.765632 total packets: 9 filename: http.dmp.gz ce->cf: cf->ce: total packets: 5 total packets: 4 ack pkts sent: 4 ack pkts sent: 4 pure acks sent: 2 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 370 unique bytes sent: 349 actual data pkts: 1 actual data pkts: 1 actual data bytes: 370 actual data bytes: 349 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 370 bytes max segm size: 349 bytes min segm size: 370 bytes min segm size: 349 bytes avg segm size: 369 bytes avg segm size: 348 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5773 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5866 bytes max owin: 371 bytes max owin: 350 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 93 bytes avg owin: 117 bytes wavg owin: 103 bytes wavg owin: 247 bytes initial window: 370 bytes initial window: 349 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 370 bytes ttl stream length: 349 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 9025.2 ms idletime max: 9026.6 ms throughput: 29 Bps throughput: 27 Bps RTT samples: 3 RTT samples: 3 RTT min: 0.7 ms RTT min: 0.0 ms RTT max: 133.8 ms RTT max: 188.8 ms RTT avg: 45.1 ms RTT avg: 63.2 ms RTT stdev: 76.8 ms RTT stdev: 108.8 ms RTT from 3WHS: 0.7 ms RTT from 3WHS: 188.8 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 133.8 ms RTT full_sz min: 0.7 ms RTT full_sz max: 133.8 ms RTT full_sz max: 0.7 ms RTT full_sz avg: 133.8 ms RTT full_sz avg: 0.7 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 43: host cg: 132.235.3.132:33682 host ch: 216.52.45.129:80 complete conn: yes first packet: Tue Aug 14 13:47:12.114478 2001 last packet: Tue Aug 14 13:47:12.301451 2001 elapsed time: 0:00:00.186973 total packets: 11 filename: http.dmp.gz cg->ch: ch->cg: total packets: 7 total packets: 4 ack pkts sent: 6 ack pkts sent: 4 pure acks sent: 4 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 426 unique bytes sent: 2450 actual data pkts: 1 actual data pkts: 2 actual data bytes: 426 actual data bytes: 2450 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 426 bytes max segm size: 1460 bytes min segm size: 426 bytes min segm size: 990 bytes avg segm size: 425 bytes avg segm size: 1224 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5717 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5824 bytes max owin: 427 bytes max owin: 2451 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 72 bytes avg owin: 1304 bytes wavg owin: 37 bytes wavg owin: 1577 bytes initial window: 426 bytes initial window: 2450 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 426 bytes ttl stream length: 2450 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 510 bytes truncated packets: 0 pkts truncated packets: 2 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 100.0 ms idletime max: 120.5 ms throughput: 2278 Bps throughput: 13103 Bps RTT samples: 3 RTT samples: 4 RTT min: 0.7 ms RTT min: 0.0 ms RTT max: 25.1 ms RTT max: 116.3 ms RTT avg: 9.3 ms RTT avg: 33.2 ms RTT stdev: 13.7 ms RTT stdev: 56.0 ms RTT from 3WHS: 25.1 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 2.2 ms RTT full_sz min: 16.4 ms RTT full_sz max: 2.2 ms RTT full_sz max: 16.4 ms RTT full_sz avg: 2.2 ms RTT full_sz avg: 16.4 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 44: host ci: 132.235.3.132:33683 host cj: 216.52.45.129:80 complete conn: yes first packet: Tue Aug 14 13:47:12.212208 2001 last packet: Tue Aug 14 13:47:12.421304 2001 elapsed time: 0:00:00.209096 total packets: 11 filename: http.dmp.gz ci->cj: cj->ci: total packets: 7 total packets: 4 ack pkts sent: 6 ack pkts sent: 4 pure acks sent: 4 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 380 unique bytes sent: 1469 actual data pkts: 1 actual data pkts: 2 actual data bytes: 380 actual data bytes: 1469 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 380 bytes max segm size: 1460 bytes min segm size: 380 bytes min segm size: 9 bytes avg segm size: 379 bytes avg segm size: 734 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5763 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5858 bytes max owin: 381 bytes max owin: 1470 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 64 bytes avg owin: 977 bytes wavg owin: 0 bytes wavg owin: 1343 bytes initial window: 380 bytes initial window: 1469 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 380 bytes ttl stream length: 1469 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 490 bytes truncated packets: 0 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 97.8 ms idletime max: 191.8 ms throughput: 1817 Bps throughput: 7025 Bps RTT samples: 3 RTT samples: 4 RTT min: 0.8 ms RTT min: 0.0 ms RTT max: 2.0 ms RTT max: 97.8 ms RTT avg: 1.4 ms RTT avg: 24.5 ms RTT stdev: 0.6 ms RTT stdev: 48.8 ms RTT from 3WHS: 0.8 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 2.0 ms RTT full_sz min: 0.2 ms RTT full_sz max: 2.0 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 2.0 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 45: host ck: 132.235.3.132:33684 host cl: 216.52.153.132:80 complete conn: yes first packet: Tue Aug 14 13:47:12.301593 2001 last packet: Tue Aug 14 13:47:31.786299 2001 elapsed time: 0:00:19.484705 total packets: 10 filename: http.dmp.gz ck->cl: cl->ck: total packets: 6 total packets: 4 ack pkts sent: 5 ack pkts sent: 4 pure acks sent: 3 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 370 unique bytes sent: 375 actual data pkts: 1 actual data pkts: 1 actual data bytes: 370 actual data bytes: 375 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 370 bytes max segm size: 375 bytes min segm size: 370 bytes min segm size: 375 bytes avg segm size: 369 bytes avg segm size: 374 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5773 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5866 bytes max owin: 371 bytes max owin: 376 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 75 bytes avg owin: 126 bytes wavg owin: 59 bytes wavg owin: 315 bytes initial window: 370 bytes initial window: 375 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 370 bytes ttl stream length: 375 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 16351.5 ms idletime max: 16352.4 ms throughput: 19 Bps throughput: 19 Bps RTT samples: 3 RTT samples: 3 RTT min: 0.6 ms RTT min: 0.0 ms RTT max: 164.5 ms RTT max: 0.3 ms RTT avg: 55.3 ms RTT avg: 0.1 ms RTT stdev: 94.6 ms RTT stdev: 0.2 ms RTT from 3WHS: 0.7 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 164.5 ms RTT full_sz min: 0.3 ms RTT full_sz max: 164.5 ms RTT full_sz max: 0.3 ms RTT full_sz avg: 164.5 ms RTT full_sz avg: 0.3 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 46: host cm: 132.235.3.132:33685 host cn: 216.52.153.132:80 complete conn: yes first packet: Tue Aug 14 13:47:12.420440 2001 last packet: Tue Aug 14 13:47:12.910627 2001 elapsed time: 0:00:00.490187 total packets: 15 filename: http.dmp.gz cm->cn: cn->cm: total packets: 8 total packets: 7 ack pkts sent: 7 ack pkts sent: 7 pure acks sent: 4 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 762 unique bytes sent: 4885 actual data pkts: 2 actual data pkts: 4 actual data bytes: 762 actual data bytes: 4885 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 2 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 387 bytes max segm size: 1460 bytes min segm size: 375 bytes min segm size: 768 bytes avg segm size: 380 bytes avg segm size: 1220 bytes max win adv: 24820 bytes max win adv: 7604 bytes min win adv: 24820 bytes min win adv: 5757 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 6867 bytes max owin: 388 bytes max owin: 2229 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 109 bytes avg owin: 1058 bytes wavg owin: 242 bytes wavg owin: 667 bytes initial window: 387 bytes initial window: 1197 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 762 bytes ttl stream length: 4885 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 1207 bytes truncated packets: 0 pkts truncated packets: 3 pkts data xmit time: 0.279 secs data xmit time: 0.148 secs idletime max: 222.3 ms idletime max: 214.6 ms throughput: 1555 Bps throughput: 9966 Bps RTT samples: 4 RTT samples: 5 RTT min: 0.6 ms RTT min: 0.0 ms RTT max: 162.7 ms RTT max: 67.2 ms RTT avg: 63.4 ms RTT avg: 13.6 ms RTT stdev: 78.3 ms RTT stdev: 30.0 ms RTT from 3WHS: 0.8 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 162.7 ms RTT full_sz min: 0.2 ms RTT full_sz max: 162.7 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 162.7 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 47: host co: 132.235.3.132:33686 host cp: 216.52.45.129:80 complete conn: yes first packet: Tue Aug 14 13:47:12.910869 2001 last packet: Tue Aug 14 13:47:35.682433 2001 elapsed time: 0:00:22.771564 total packets: 11 filename: http.dmp.gz co->cp: cp->co: total packets: 7 total packets: 4 ack pkts sent: 6 ack pkts sent: 4 pure acks sent: 4 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 432 unique bytes sent: 2008 actual data pkts: 1 actual data pkts: 2 actual data bytes: 432 actual data bytes: 2008 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 432 bytes max segm size: 1460 bytes min segm size: 432 bytes min segm size: 548 bytes avg segm size: 431 bytes avg segm size: 1003 bytes max win adv: 24820 bytes max win adv: 6144 bytes min win adv: 24820 bytes min win adv: 5711 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 5819 bytes max owin: 433 bytes max owin: 2009 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 73 bytes avg owin: 1157 bytes wavg owin: 1 bytes wavg owin: 2002 bytes initial window: 432 bytes initial window: 2008 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 432 bytes ttl stream length: 2008 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 490 bytes truncated packets: 0 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 22583.7 ms idletime max: 22696.5 ms throughput: 19 Bps throughput: 88 Bps RTT samples: 3 RTT samples: 4 RTT min: 0.8 ms RTT min: 0.0 ms RTT max: 2.1 ms RTT max: 111.4 ms RTT avg: 1.4 ms RTT avg: 28.0 ms RTT stdev: 0.7 ms RTT stdev: 55.6 ms RTT from 3WHS: 0.8 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 2.1 ms RTT full_sz min: 0.4 ms RTT full_sz max: 2.1 ms RTT full_sz max: 0.4 ms RTT full_sz avg: 2.1 ms RTT full_sz avg: 0.4 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 48: host cq: 132.235.3.132:33687 host cr: 132.235.3.154:80 complete conn: yes first packet: Tue Aug 14 13:47:24.638389 2001 last packet: Tue Aug 14 13:47:24.755783 2001 elapsed time: 0:00:00.117394 total packets: 11 filename: http.dmp.gz cq->cr: cr->cq: total packets: 6 total packets: 5 ack pkts sent: 5 ack pkts sent: 5 pure acks sent: 3 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 279 unique bytes sent: 990 actual data pkts: 1 actual data pkts: 1 actual data bytes: 279 actual data bytes: 990 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 279 bytes max segm size: 990 bytes min segm size: 279 bytes min segm size: 990 bytes avg segm size: 278 bytes avg segm size: 989 bytes max win adv: 24820 bytes max win adv: 24820 bytes min win adv: 24820 bytes min win adv: 24820 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 24820 bytes max owin: 280 bytes max owin: 991 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 56 bytes avg owin: 496 bytes wavg owin: 0 bytes wavg owin: 928 bytes initial window: 279 bytes initial window: 990 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 279 bytes ttl stream length: 990 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 20 bytes truncated packets: 0 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 110.7 ms idletime max: 111.0 ms throughput: 2377 Bps throughput: 8433 Bps RTT samples: 3 RTT samples: 3 RTT min: 0.2 ms RTT min: 0.0 ms RTT max: 0.3 ms RTT max: 0.2 ms RTT avg: 0.2 ms RTT avg: 0.1 ms RTT stdev: 0.1 ms RTT stdev: 0.1 ms RTT from 3WHS: 0.3 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 0.3 ms RTT full_sz min: 0.2 ms RTT full_sz max: 0.3 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 0.3 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 49: host cs: 132.235.3.132:33688 host ct: 132.235.3.154:80 complete conn: yes first packet: Tue Aug 14 13:47:24.749737 2001 last packet: Tue Aug 14 13:47:26.979580 2001 elapsed time: 0:00:02.229842 total packets: 83 filename: http.dmp.gz cs->ct: ct->cs: total packets: 19 total packets: 64 ack pkts sent: 18 ack pkts sent: 64 pure acks sent: 15 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 643 unique bytes sent: 83486 actual data pkts: 2 actual data pkts: 60 actual data bytes: 643 actual data bytes: 83486 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 19 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 323 bytes max segm size: 1460 bytes min segm size: 320 bytes min segm size: 350 bytes avg segm size: 321 bytes avg segm size: 1391 bytes max win adv: 24820 bytes max win adv: 24820 bytes min win adv: 2920 bytes min win adv: 24820 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 22668 bytes avg win adv: 24820 bytes max owin: 324 bytes max owin: 17521 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 36 bytes avg owin: 7934 bytes wavg owin: 2 bytes wavg owin: 16026 bytes initial window: 323 bytes initial window: 4380 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 643 bytes ttl stream length: 103926 bytes missed data: 0 bytes missed data: 20440 bytes truncated data: 0 bytes truncated data: 26957 bytes truncated packets: 0 pkts truncated packets: 56 pkts data xmit time: 2.196 secs data xmit time: 2.195 secs idletime max: 1847.9 ms idletime max: 1884.6 ms throughput: 288 Bps throughput: 37440 Bps RTT samples: 4 RTT samples: 14 RTT min: 0.2 ms RTT min: 0.0 ms RTT max: 1.1 ms RTT max: 106.4 ms RTT avg: 0.5 ms RTT avg: 23.6 ms RTT stdev: 0.4 ms RTT stdev: 25.3 ms RTT from 3WHS: 0.3 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 11 RTT full_sz min: 0.3 ms RTT full_sz min: 15.8 ms RTT full_sz max: 0.3 ms RTT full_sz max: 106.4 ms RTT full_sz avg: 0.3 ms RTT full_sz avg: 26.8 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 26.4 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 48 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 50: host cu: 132.235.3.132:33689 host cv: 132.235.3.154:80 complete conn: yes first packet: Tue Aug 14 13:47:27.007529 2001 last packet: Tue Aug 14 13:47:27.376993 2001 elapsed time: 0:00:00.369464 total packets: 20 filename: http.dmp.gz cu->cv: cv->cu: total packets: 8 total packets: 12 ack pkts sent: 7 ack pkts sent: 12 pure acks sent: 5 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 324 unique bytes sent: 12712 actual data pkts: 1 actual data pkts: 9 actual data bytes: 324 actual data bytes: 12712 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 3 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 324 bytes max segm size: 1460 bytes min segm size: 324 bytes min segm size: 1176 bytes avg segm size: 323 bytes avg segm size: 1412 bytes max win adv: 24820 bytes max win adv: 24820 bytes min win adv: 19292 bytes min win adv: 24820 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24129 bytes avg win adv: 24820 bytes max owin: 325 bytes max owin: 5725 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 47 bytes avg owin: 2916 bytes wavg owin: 2 bytes wavg owin: 5443 bytes initial window: 324 bytes initial window: 4264 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 324 bytes ttl stream length: 12712 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 3982 bytes truncated packets: 0 pkts truncated packets: 9 pkts data xmit time: 0.000 secs data xmit time: 0.017 secs idletime max: 328.1 ms idletime max: 347.5 ms throughput: 877 Bps throughput: 34407 Bps RTT samples: 3 RTT samples: 5 RTT min: 0.2 ms RTT min: 0.0 ms RTT max: 0.3 ms RTT max: 19.2 ms RTT avg: 0.3 ms RTT avg: 10.1 ms RTT stdev: 0.1 ms RTT stdev: 9.2 ms RTT from 3WHS: 0.3 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 3 RTT full_sz min: 0.3 ms RTT full_sz min: 0.4 ms RTT full_sz max: 0.3 ms RTT full_sz max: 15.9 ms RTT full_sz avg: 0.3 ms RTT full_sz avg: 10.4 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 8.7 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 5 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 51: host cw: 132.235.3.132:33690 host cx: 132.235.3.154:80 complete conn: yes first packet: Tue Aug 14 13:47:27.147720 2001 last packet: Tue Aug 14 13:47:33.633026 2001 elapsed time: 0:00:06.485305 total packets: 97 filename: http.dmp.gz cw->cx: cx->cw: total packets: 21 total packets: 76 ack pkts sent: 20 ack pkts sent: 76 pure acks sent: 17 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 677 unique bytes sent: 101471 actual data pkts: 2 actual data pkts: 72 actual data bytes: 677 actual data bytes: 101471 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 19 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 341 bytes max segm size: 1460 bytes min segm size: 336 bytes min segm size: 350 bytes avg segm size: 338 bytes avg segm size: 1409 bytes max win adv: 24820 bytes max win adv: 24820 bytes min win adv: 8760 bytes min win adv: 24820 bytes zero win adv: 1 times zero win adv: 0 times avg win adv: 22317 bytes avg win adv: 24820 bytes max owin: 342 bytes max owin: 19629 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 34 bytes avg owin: 9262 bytes wavg owin: 1 bytes wavg owin: 12378 bytes initial window: 336 bytes initial window: 4380 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 677 bytes ttl stream length: 104391 bytes missed data: 0 bytes missed data: 2920 bytes truncated data: 0 bytes truncated data: 32895 bytes truncated packets: 0 pkts truncated packets: 69 pkts data xmit time: 6.371 secs data xmit time: 6.379 secs idletime max: 5838.9 ms idletime max: 5965.2 ms throughput: 104 Bps throughput: 15646 Bps RTT samples: 4 RTT samples: 16 RTT min: 0.2 ms RTT min: 0.0 ms RTT max: 9.3 ms RTT max: 116.9 ms RTT avg: 2.5 ms RTT avg: 23.5 ms RTT stdev: 4.5 ms RTT stdev: 26.3 ms RTT from 3WHS: 0.3 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 13 RTT full_sz min: 9.3 ms RTT full_sz min: 3.9 ms RTT full_sz max: 9.3 ms RTT full_sz max: 27.7 ms RTT full_sz avg: 9.3 ms RTT full_sz avg: 19.9 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 5.8 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 58 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 52: host cy: 132.235.3.132:33691 host cz: 132.235.3.154:80 complete conn: yes first packet: Tue Aug 14 13:47:31.661391 2001 last packet: Tue Aug 14 13:47:31.797533 2001 elapsed time: 0:00:00.136142 total packets: 14 filename: http.dmp.gz cy->cz: cz->cy: total packets: 7 total packets: 7 ack pkts sent: 6 ack pkts sent: 7 pure acks sent: 4 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 322 unique bytes sent: 3576 actual data pkts: 1 actual data pkts: 3 actual data bytes: 322 actual data bytes: 3576 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 2 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 322 bytes max segm size: 1460 bytes min segm size: 322 bytes min segm size: 656 bytes avg segm size: 321 bytes avg segm size: 1191 bytes max win adv: 24820 bytes max win adv: 24820 bytes min win adv: 24820 bytes min win adv: 24820 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 24820 bytes max owin: 323 bytes max owin: 3577 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 54 bytes avg owin: 1923 bytes wavg owin: 7 bytes wavg owin: 3430 bytes initial window: 322 bytes initial window: 3576 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 322 bytes ttl stream length: 3576 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 980 bytes truncated packets: 0 pkts truncated packets: 2 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 130.4 ms idletime max: 130.8 ms throughput: 2365 Bps throughput: 26267 Bps RTT samples: 3 RTT samples: 4 RTT min: 0.2 ms RTT min: 0.0 ms RTT max: 0.4 ms RTT max: 0.3 ms RTT avg: 0.3 ms RTT avg: 0.2 ms RTT stdev: 0.1 ms RTT stdev: 0.1 ms RTT from 3WHS: 0.4 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 2 RTT full_sz min: 0.3 ms RTT full_sz min: 0.2 ms RTT full_sz max: 0.3 ms RTT full_sz max: 0.3 ms RTT full_sz avg: 0.3 ms RTT full_sz avg: 0.3 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 53: host da: 132.235.3.132:33692 host db: 132.235.3.154:80 complete conn: yes first packet: Tue Aug 14 13:47:31.786618 2001 last packet: Tue Aug 14 13:47:35.683021 2001 elapsed time: 0:00:03.896402 total packets: 11 filename: http.dmp.gz da->db: db->da: total packets: 6 total packets: 5 ack pkts sent: 5 ack pkts sent: 5 pure acks sent: 3 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 337 unique bytes sent: 1178 actual data pkts: 1 actual data pkts: 1 actual data bytes: 337 actual data bytes: 1178 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 337 bytes max segm size: 1178 bytes min segm size: 337 bytes min segm size: 1178 bytes avg segm size: 336 bytes avg segm size: 1176 bytes max win adv: 24820 bytes max win adv: 24820 bytes min win adv: 24820 bytes min win adv: 24820 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 24820 bytes max owin: 338 bytes max owin: 1179 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 68 bytes avg owin: 295 bytes wavg owin: 1 bytes wavg owin: 1175 bytes initial window: 337 bytes initial window: 1178 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 337 bytes ttl stream length: 1178 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 208 bytes truncated packets: 0 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 3873.5 ms idletime max: 3884.6 ms throughput: 86 Bps throughput: 302 Bps RTT samples: 3 RTT samples: 3 RTT min: 0.2 ms RTT min: 0.0 ms RTT max: 0.3 ms RTT max: 10.9 ms RTT avg: 0.2 ms RTT avg: 3.7 ms RTT stdev: 0.1 ms RTT stdev: 6.3 ms RTT from 3WHS: 0.3 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 0.3 ms RTT full_sz min: 10.9 ms RTT full_sz max: 0.3 ms RTT full_sz max: 10.9 ms RTT full_sz avg: 0.3 ms RTT full_sz avg: 10.9 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 54: host dc: 132.235.3.132:33693 host dd: 132.235.3.154:80 complete conn: yes first packet: Tue Aug 14 13:47:33.627769 2001 last packet: Tue Aug 14 13:47:35.686762 2001 elapsed time: 0:00:02.058993 total packets: 27 filename: http.dmp.gz dc->dd: dd->dc: total packets: 11 total packets: 16 ack pkts sent: 10 ack pkts sent: 16 pure acks sent: 8 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 354 unique bytes sent: 16876 actual data pkts: 1 actual data pkts: 12 actual data bytes: 354 actual data bytes: 16876 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 6 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 354 bytes max segm size: 1460 bytes min segm size: 354 bytes min segm size: 816 bytes avg segm size: 353 bytes avg segm size: 1406 bytes max win adv: 24820 bytes max win adv: 24820 bytes min win adv: 16060 bytes min win adv: 24820 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 23758 bytes avg win adv: 24820 bytes max owin: 355 bytes max owin: 8761 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 36 bytes avg owin: 4046 bytes wavg owin: 4 bytes wavg owin: 6491 bytes initial window: 354 bytes initial window: 4380 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 354 bytes ttl stream length: 16876 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 5390 bytes truncated packets: 0 pkts truncated packets: 11 pkts data xmit time: 0.000 secs data xmit time: 0.039 secs idletime max: 1847.1 ms idletime max: 1966.6 ms throughput: 172 Bps throughput: 8196 Bps RTT samples: 3 RTT samples: 8 RTT min: 0.2 ms RTT min: 0.0 ms RTT max: 0.3 ms RTT max: 119.4 ms RTT avg: 0.2 ms RTT avg: 24.3 ms RTT stdev: 0.1 ms RTT stdev: 39.5 ms RTT from 3WHS: 0.3 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 5 RTT full_sz min: 0.3 ms RTT full_sz min: 0.4 ms RTT full_sz max: 0.3 ms RTT full_sz max: 19.6 ms RTT full_sz avg: 0.3 ms RTT full_sz avg: 14.9 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 8.2 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 6 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 55: host de: 132.235.3.132:33694 host df: 132.235.1.2:80 complete conn: yes first packet: Tue Aug 14 13:47:35.412174 2001 last packet: Tue Aug 14 13:47:35.483587 2001 elapsed time: 0:00:00.071413 total packets: 11 filename: http.dmp.gz de->df: df->de: total packets: 6 total packets: 5 ack pkts sent: 5 ack pkts sent: 5 pure acks sent: 3 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 342 unique bytes sent: 457 actual data pkts: 1 actual data pkts: 1 actual data bytes: 342 actual data bytes: 457 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 342 bytes max segm size: 457 bytes min segm size: 342 bytes min segm size: 457 bytes avg segm size: 341 bytes avg segm size: 456 bytes max win adv: 24820 bytes max win adv: 4096 bytes min win adv: 24820 bytes min win adv: 3754 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 4027 bytes max owin: 343 bytes max owin: 458 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 69 bytes avg owin: 115 bytes wavg owin: 308 bytes wavg owin: 0 bytes initial window: 342 bytes initial window: 457 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 342 bytes ttl stream length: 457 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 66.5 ms idletime max: 56.1 ms throughput: 4789 Bps throughput: 6399 Bps RTT samples: 3 RTT samples: 3 RTT min: 1.2 ms RTT min: 0.0 ms RTT max: 9.5 ms RTT max: 0.8 ms RTT avg: 4.1 ms RTT avg: 0.3 ms RTT stdev: 4.7 ms RTT stdev: 0.4 ms RTT from 3WHS: 1.5 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 9.5 ms RTT full_sz min: 0.8 ms RTT full_sz max: 9.5 ms RTT full_sz max: 0.8 ms RTT full_sz avg: 9.5 ms RTT full_sz avg: 0.8 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 56: host dg: 132.235.3.132:33695 host dh: 132.235.1.2:80 complete conn: no (SYNs: 2) (FINs: 0) first packet: Tue Aug 14 13:47:35.508921 2001 last packet: Tue Aug 14 13:47:36.099485 2001 elapsed time: 0:00:00.590564 total packets: 17 filename: http.dmp.gz dg->dh: dh->dg: total packets: 9 total packets: 8 ack pkts sent: 8 ack pkts sent: 8 pure acks sent: 5 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1067 unique bytes sent: 6576 actual data pkts: 3 actual data pkts: 6 actual data bytes: 1067 actual data bytes: 6576 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 3 pushed data pkts: 4 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 1/0 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 364 bytes max segm size: 1460 bytes min segm size: 347 bytes min segm size: 545 bytes avg segm size: 355 bytes avg segm size: 1095 bytes max win adv: 24820 bytes max win adv: 4096 bytes min win adv: 24820 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 4096 bytes max owin: 365 bytes max owin: 3912 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 134 bytes avg owin: 1525 bytes wavg owin: 279 bytes wavg owin: 1474 bytes initial window: 347 bytes initial window: 1460 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 1491 bytes truncated packets: 0 pkts truncated packets: 4 pkts data xmit time: 0.407 secs data xmit time: 0.364 secs idletime max: 5430.5 ms idletime max: 5543.5 ms throughput: 1807 Bps throughput: 11135 Bps RTT samples: 4 RTT samples: 6 RTT min: 1.5 ms RTT min: 0.0 ms RTT max: 111.1 ms RTT max: 113.0 ms RTT avg: 65.0 ms RTT avg: 34.7 ms RTT stdev: 46.1 ms RTT stdev: 46.0 ms RTT from 3WHS: 1.5 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 2 RTT full_sz min: 80.0 ms RTT full_sz min: 0.2 ms RTT full_sz max: 80.0 ms RTT full_sz max: 15.7 ms RTT full_sz avg: 80.0 ms RTT full_sz avg: 8.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 57: host di: 132.235.3.132:33696 host dj: 132.235.1.2:80 complete conn: yes first packet: Tue Aug 14 13:47:35.681775 2001 last packet: Tue Aug 14 13:47:41.262222 2001 elapsed time: 0:00:05.580447 total packets: 29 filename: http.dmp.gz di->dj: dj->di: total packets: 11 total packets: 18 ack pkts sent: 10 ack pkts sent: 18 pure acks sent: 8 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 353 unique bytes sent: 16837 actual data pkts: 1 actual data pkts: 14 actual data bytes: 353 actual data bytes: 16837 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 5 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 353 bytes max segm size: 1460 bytes min segm size: 353 bytes min segm size: 152 bytes avg segm size: 352 bytes avg segm size: 1202 bytes max win adv: 24820 bytes max win adv: 4096 bytes min win adv: 15151 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 23037 bytes avg win adv: 4096 bytes max owin: 354 bytes max owin: 4249 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 36 bytes avg owin: 2567 bytes wavg owin: 11 bytes wavg owin: 2566 bytes initial window: 353 bytes initial window: 4096 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 353 bytes ttl stream length: 16837 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 4893 bytes truncated packets: 0 pkts truncated packets: 12 pkts data xmit time: 0.000 secs data xmit time: 0.081 secs idletime max: 5260.6 ms idletime max: 5275.2 ms throughput: 63 Bps throughput: 3017 Bps RTT samples: 3 RTT samples: 8 RTT min: 1.4 ms RTT min: 0.0 ms RTT max: 70.8 ms RTT max: 14.5 ms RTT avg: 24.5 ms RTT avg: 10.1 ms RTT stdev: 40.0 ms RTT stdev: 6.2 ms RTT from 3WHS: 1.5 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 5 RTT full_sz min: 70.8 ms RTT full_sz min: 12.5 ms RTT full_sz max: 70.8 ms RTT full_sz max: 14.5 ms RTT full_sz avg: 70.8 ms RTT full_sz avg: 13.5 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.7 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 8 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 58: host dk: 132.235.3.132:33697 host dl: 132.235.1.2:80 complete conn: no (SYNs: 2) (FINs: 0) first packet: Tue Aug 14 13:47:35.683480 2001 last packet: Tue Aug 14 13:47:35.989806 2001 elapsed time: 0:00:00.306326 total packets: 16 filename: http.dmp.gz dk->dl: dl->dk: total packets: 7 total packets: 9 ack pkts sent: 6 ack pkts sent: 9 pure acks sent: 5 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 357 unique bytes sent: 8195 actual data pkts: 1 actual data pkts: 7 actual data bytes: 357 actual data bytes: 8195 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 3 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 1/0 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 357 bytes max segm size: 1460 bytes min segm size: 357 bytes min segm size: 152 bytes avg segm size: 356 bytes avg segm size: 1170 bytes max win adv: 24820 bytes max win adv: 4096 bytes min win adv: 23793 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24673 bytes avg win adv: 4096 bytes max owin: 358 bytes max owin: 4249 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 60 bytes avg owin: 2580 bytes wavg owin: 228 bytes wavg owin: 522 bytes initial window: 357 bytes initial window: 4096 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 2223 bytes truncated packets: 0 pkts truncated packets: 6 pkts data xmit time: 0.000 secs data xmit time: 0.041 secs idletime max: 5540.2 ms idletime max: 5556.2 ms throughput: 1165 Bps throughput: 26753 Bps RTT samples: 2 RTT samples: 5 RTT min: 1.6 ms RTT min: 0.0 ms RTT max: 71.5 ms RTT max: 16.3 ms RTT avg: 36.6 ms RTT avg: 12.2 ms RTT stdev: 0.0 ms RTT stdev: 6.9 ms RTT from 3WHS: 1.6 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 3 RTT full_sz min: 71.5 ms RTT full_sz min: 13.4 ms RTT full_sz max: 71.5 ms RTT full_sz max: 16.3 ms RTT full_sz avg: 71.5 ms RTT full_sz avg: 14.9 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 1.4 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 59: host dm: 132.235.3.132:33698 host dn: 132.235.1.2:80 complete conn: no (SYNs: 2) (FINs: 0) first packet: Tue Aug 14 13:47:35.687100 2001 last packet: Tue Aug 14 13:47:35.989820 2001 elapsed time: 0:00:00.302720 total packets: 11 filename: http.dmp.gz dm->dn: dn->dm: total packets: 6 total packets: 5 ack pkts sent: 5 ack pkts sent: 5 pure acks sent: 4 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 355 unique bytes sent: 3424 actual data pkts: 1 actual data pkts: 3 actual data bytes: 355 actual data bytes: 3424 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 1/0 req sack: Y req sack: N sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 355 bytes max segm size: 1460 bytes min segm size: 355 bytes min segm size: 504 bytes avg segm size: 354 bytes avg segm size: 1140 bytes max win adv: 24820 bytes max win adv: 4096 bytes min win adv: 24820 bytes min win adv: 4096 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 4096 bytes max owin: 356 bytes max owin: 3425 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 72 bytes avg owin: 1952 bytes wavg owin: 158 bytes wavg owin: 3 bytes initial window: 355 bytes initial window: 3424 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 980 bytes truncated packets: 0 pkts truncated packets: 2 pkts data xmit time: 0.000 secs data xmit time: 0.001 secs idletime max: 5540.2 ms idletime max: 5651.5 ms throughput: 1173 Bps throughput: 11311 Bps RTT samples: 2 RTT samples: 4 RTT min: 1.8 ms RTT min: 0.0 ms RTT max: 72.3 ms RTT max: 111.3 ms RTT avg: 37.0 ms RTT avg: 33.6 ms RTT stdev: 0.0 ms RTT stdev: 52.0 ms RTT from 3WHS: 1.8 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 2 RTT full_sz min: 72.3 ms RTT full_sz min: 11.0 ms RTT full_sz max: 72.3 ms RTT full_sz max: 12.3 ms RTT full_sz avg: 72.3 ms RTT full_sz avg: 11.6 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 60: host do: 132.235.3.132:33699 host dp: 132.235.3.154:80 complete conn: yes first packet: Tue Aug 14 13:47:41.260867 2001 last packet: Tue Aug 14 13:47:41.346894 2001 elapsed time: 0:00:00.086027 total packets: 14 filename: http.dmp.gz do->dp: dp->do: total packets: 7 total packets: 7 ack pkts sent: 6 ack pkts sent: 7 pure acks sent: 4 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 332 unique bytes sent: 3048 actual data pkts: 1 actual data pkts: 3 actual data bytes: 332 actual data bytes: 3048 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 2 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 332 bytes max segm size: 1460 bytes min segm size: 332 bytes min segm size: 128 bytes avg segm size: 331 bytes avg segm size: 1015 bytes max win adv: 24820 bytes max win adv: 24820 bytes min win adv: 24820 bytes min win adv: 24820 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 24820 bytes max owin: 333 bytes max owin: 3049 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 56 bytes avg owin: 1747 bytes wavg owin: 11 bytes wavg owin: 2847 bytes initial window: 332 bytes initial window: 3048 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: 332 bytes ttl stream length: 3048 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 980 bytes truncated packets: 0 pkts truncated packets: 2 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 80.2 ms idletime max: 80.6 ms throughput: 3859 Bps throughput: 35431 Bps RTT samples: 3 RTT samples: 4 RTT min: 0.2 ms RTT min: 0.1 ms RTT max: 0.4 ms RTT max: 0.3 ms RTT avg: 0.3 ms RTT avg: 0.2 ms RTT stdev: 0.1 ms RTT stdev: 0.1 ms RTT from 3WHS: 0.3 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 2 RTT full_sz min: 0.4 ms RTT full_sz min: 0.2 ms RTT full_sz max: 0.4 ms RTT full_sz max: 0.3 ms RTT full_sz avg: 0.4 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 61: host dq: 132.235.3.132:33700 host dr: 132.235.3.154:80 complete conn: no (SYNs: 2) (FINs: 0) first packet: Tue Aug 14 13:47:41.407897 2001 last packet: Tue Aug 14 13:47:41.530013 2001 elapsed time: 0:00:00.122116 total packets: 12 filename: http.dmp.gz dq->dr: dr->dq: total packets: 6 total packets: 6 ack pkts sent: 5 ack pkts sent: 6 pure acks sent: 4 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 345 unique bytes sent: 4449 actual data pkts: 1 actual data pkts: 4 actual data bytes: 345 actual data bytes: 4449 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 3 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 1/0 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 345 bytes max segm size: 1460 bytes min segm size: 345 bytes min segm size: 69 bytes avg segm size: 344 bytes avg segm size: 1111 bytes max win adv: 24820 bytes max win adv: 24820 bytes min win adv: 24820 bytes min win adv: 24820 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 24820 bytes max owin: 346 bytes max owin: 4381 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 70 bytes avg owin: 2350 bytes wavg owin: 8 bytes wavg owin: 65 bytes initial window: 345 bytes initial window: 4380 bytes initial window: 1 pkts initial window: 3 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 1470 bytes truncated packets: 0 pkts truncated packets: 3 pkts data xmit time: 0.000 secs data xmit time: 0.002 secs idletime max: 100.0 ms idletime max: 112.2 ms throughput: 2825 Bps throughput: 36433 Bps RTT samples: 2 RTT samples: 4 RTT min: 0.3 ms RTT min: 0.0 ms RTT max: 0.3 ms RTT max: 112.2 ms RTT avg: 0.3 ms RTT avg: 32.1 ms RTT stdev: 0.0 ms RTT stdev: 53.8 ms RTT from 3WHS: 0.3 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 2 RTT full_sz min: 0.3 ms RTT full_sz min: 1.9 ms RTT full_sz max: 0.3 ms RTT full_sz max: 14.2 ms RTT full_sz avg: 0.3 ms RTT full_sz avg: 8.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/http.dmp.gz.packets0100644001217500001440000015214507302732562022015 0ustar mramadasusers1 arg remaining, starting with 'http.dmp.gz' Packet 1 Packet Length: 58 Collected: Mon Jul 14 13:10:27.748442 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 43932 CKSUM: 0xc1d6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47483 DPRT: 80 FLG: ----S- (0x02) SEQ: 0xaf316f48 ACK: 0x00000000 WIN: 8760 HLEN: 24 CKSUM: 0x8f50 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 2 Packet Length: 60 Collected: Mon Jul 14 13:10:27.752992 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 44 ID: 28802 CKSUM: 0x00f2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47483 FLG: -A--S- (0x12) SEQ: 0x2a5ac601 ACK: 0xaf316f49 WIN: 4096 HLEN: 24 CKSUM: 0xb11b (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 3 Packet Length: 54 Collected: Mon Jul 14 13:10:27.753062 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43933 CKSUM: 0xc1d9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47483 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf316f49 ACK: 0x2a5ac602 WIN: 8760 HLEN: 20 CKSUM: 0xb6a0 (CORRECT) DLEN: 0 Packet 4 Packet Length: 334 Collected: Mon Jul 14 13:10:27.755348 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 320 ID: 43934 CKSUM: 0xc0c0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47483 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xaf316f49 ACK: 0x2a5ac602 WIN: 8760 HLEN: 20 CKSUM: 0x919a (CORRECT) DLEN: 280 data: 280 bytes Packet 5 Packet Length: 81 Collected: Mon Jul 14 13:10:27.829256 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 67 ID: 28811 CKSUM: 0x00d2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47483 FLG: -AP--- (0x18) SEQ: 0x2a5ac602 ACK: 0xaf317061 WIN: 4096 HLEN: 20 CKSUM: 0x1cc3 (CORRECT) DLEN: 27 data: 27 bytes Packet 6 Packet Length: 91 Collected: Mon Jul 14 13:10:27.830108 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 77 ID: 28812 CKSUM: 0x00c7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47483 FLG: -AP--- (0x18) SEQ: 0x2a5ac61d ACK: 0xaf317061 WIN: 4096 HLEN: 20 CKSUM: 0x0456 (CORRECT) DLEN: 37 data: 37 bytes Packet 7 Packet Length: 54 Collected: Mon Jul 14 13:10:27.830216 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43935 CKSUM: 0xc1d7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47483 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf317061 ACK: 0x2a5ac642 WIN: 8760 HLEN: 20 CKSUM: 0xb548 (CORRECT) DLEN: 0 Packet 8 Packet Length: 74 Collected: Mon Jul 14 13:10:27.830484 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 60 ID: 28813 CKSUM: 0x00d7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47483 FLG: -AP--- (0x18) SEQ: 0x2a5ac642 ACK: 0xaf317061 WIN: 4096 HLEN: 20 CKSUM: 0x27cf (CORRECT) DLEN: 20 data: 20 bytes Packet 9 Packet Length: 100 Collected: Mon Jul 14 13:10:27.831128 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 86 ID: 28814 CKSUM: 0x00bc (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47483 FLG: -AP--- (0x18) SEQ: 0x2a5ac656 ACK: 0xaf317061 WIN: 4096 HLEN: 20 CKSUM: 0xdaae (CORRECT) DLEN: 46 data: 46 bytes Packet 10 Packet Length: 54 Collected: Mon Jul 14 13:10:27.831211 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43936 CKSUM: 0xc1d6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47483 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf317061 ACK: 0x2a5ac684 WIN: 8760 HLEN: 20 CKSUM: 0xb506 (CORRECT) DLEN: 0 Packet 11 Packet Length: 79 Collected: Mon Jul 14 13:10:27.831904 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 65 ID: 28815 CKSUM: 0x00d0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47483 FLG: -AP--- (0x18) SEQ: 0x2a5ac684 ACK: 0xaf317061 WIN: 4096 HLEN: 20 CKSUM: 0x15e2 (CORRECT) DLEN: 25 data: 25 bytes Packet 12 Packet Length: 76 Collected: Mon Jul 14 13:10:27.833344 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 62 ID: 28816 CKSUM: 0x00d2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47483 FLG: -AP--- (0x18) SEQ: 0x2a5ac69d ACK: 0xaf317061 WIN: 4096 HLEN: 20 CKSUM: 0x3fbf (CORRECT) DLEN: 22 data: 22 bytes Packet 13 Packet Length: 54 Collected: Mon Jul 14 13:10:27.833414 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43937 CKSUM: 0xc1d5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47483 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf317061 ACK: 0x2a5ac6b3 WIN: 8760 HLEN: 20 CKSUM: 0xb4d7 (CORRECT) DLEN: 0 Packet 14 Packet Length: 60 Collected: Mon Jul 14 13:10:27.833823 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 42 ID: 28817 CKSUM: 0x00e5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47483 FLG: -AP--- (0x18) SEQ: 0x2a5ac6b3 ACK: 0xaf317061 WIN: 4096 HLEN: 20 CKSUM: 0xb9fb (CORRECT) DLEN: 2 data: 2 bytes Packet 15 Packet Length: 54 Collected: Mon Jul 14 13:10:27.834294 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43938 CKSUM: 0xc1d4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47483 DPRT: 80 FLG: -A---F (0x11) SEQ: 0xaf317061 ACK: 0x2a5ac6b5 WIN: 8760 HLEN: 20 CKSUM: 0xb4d4 (CORRECT) DLEN: 0 Packet 16 Packet Length: 60 Collected: Mon Jul 14 13:10:27.835816 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28818 CKSUM: 0x00e6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47483 FLG: -A---- (0x10) SEQ: 0x2a5ac6b5 ACK: 0xaf317062 WIN: 4096 HLEN: 20 CKSUM: 0xc70c (CORRECT) DLEN: 0 Packet 17 Packet Length: 60 Collected: Mon Jul 14 13:10:27.836678 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28819 CKSUM: 0x00e5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47483 FLG: -A---F (0x11) SEQ: 0x2a5ac6b5 ACK: 0xaf317062 WIN: 4096 HLEN: 20 CKSUM: 0xc70b (CORRECT) DLEN: 0 Packet 18 Packet Length: 54 Collected: Mon Jul 14 13:10:27.836747 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43939 CKSUM: 0xc1d3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47483 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf317062 ACK: 0x2a5ac6b6 WIN: 8760 HLEN: 20 CKSUM: 0xb4d3 (CORRECT) DLEN: 0 Packet 19 Packet Length: 58 Collected: Mon Jul 14 13:10:27.934079 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 43940 CKSUM: 0xc1ce (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47484 DPRT: 80 FLG: ----S- (0x02) SEQ: 0xaf331950 ACK: 0x00000000 WIN: 8760 HLEN: 24 CKSUM: 0xe545 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 20 Packet Length: 60 Collected: Mon Jul 14 13:10:27.936601 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 44 ID: 28824 CKSUM: 0x00dc (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47484 FLG: -A--S- (0x12) SEQ: 0x2a5bc001 ACK: 0xaf331951 WIN: 4096 HLEN: 24 CKSUM: 0x0d10 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 21 Packet Length: 54 Collected: Mon Jul 14 13:10:27.936705 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43941 CKSUM: 0xc1d1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47484 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf331951 ACK: 0x2a5bc002 WIN: 8760 HLEN: 20 CKSUM: 0x1295 (CORRECT) DLEN: 0 Packet 22 Packet Length: 58 Collected: Mon Jul 14 13:10:27.938572 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 43942 CKSUM: 0xc1cc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47485 DPRT: 80 FLG: ----S- (0x02) SEQ: 0xaf33f747 ACK: 0x00000000 WIN: 8760 HLEN: 24 CKSUM: 0x074d (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 23 Packet Length: 60 Collected: Mon Jul 14 13:10:27.940654 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 44 ID: 28825 CKSUM: 0x00db (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47485 FLG: -A--S- (0x12) SEQ: 0x2a5cba01 ACK: 0xaf33f748 WIN: 4096 HLEN: 24 CKSUM: 0x3516 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 24 Packet Length: 54 Collected: Mon Jul 14 13:10:27.940731 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43943 CKSUM: 0xc1cf (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47485 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf33f748 ACK: 0x2a5cba02 WIN: 8760 HLEN: 20 CKSUM: 0x3a9b (CORRECT) DLEN: 0 Packet 25 Packet Length: 58 Collected: Mon Jul 14 13:10:27.946056 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 43944 CKSUM: 0xc1ca (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47486 DPRT: 80 FLG: ----S- (0x02) SEQ: 0xaf34a09c ACK: 0x00000000 WIN: 8760 HLEN: 24 CKSUM: 0x5df6 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 26 Packet Length: 60 Collected: Mon Jul 14 13:10:27.947873 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 44 ID: 28826 CKSUM: 0x00da (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47486 FLG: -A--S- (0x12) SEQ: 0x2a5db401 ACK: 0xaf34a09d WIN: 4096 HLEN: 24 CKSUM: 0x91be (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 27 Packet Length: 54 Collected: Mon Jul 14 13:10:27.948049 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43945 CKSUM: 0xc1cd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47486 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf34a09d ACK: 0x2a5db402 WIN: 8760 HLEN: 20 CKSUM: 0x9743 (CORRECT) DLEN: 0 Packet 28 Packet Length: 58 Collected: Mon Jul 14 13:10:27.949752 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 43946 CKSUM: 0xc1c8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47487 DPRT: 80 FLG: ----S- (0x02) SEQ: 0xaf3641d5 ACK: 0x00000000 WIN: 8760 HLEN: 24 CKSUM: 0xbcba (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 29 Packet Length: 60 Collected: Mon Jul 14 13:10:27.951689 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 44 ID: 28827 CKSUM: 0x00d9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47487 FLG: -A--S- (0x12) SEQ: 0x2a5eae01 ACK: 0xaf3641d6 WIN: 4096 HLEN: 24 CKSUM: 0xf681 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 30 Packet Length: 54 Collected: Mon Jul 14 13:10:27.951773 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43947 CKSUM: 0xc1cb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47487 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf3641d6 ACK: 0x2a5eae02 WIN: 8760 HLEN: 20 CKSUM: 0xfc06 (CORRECT) DLEN: 0 Packet 31 Packet Length: 58 Collected: Mon Jul 14 13:10:27.955718 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 43948 CKSUM: 0xc1c6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47488 DPRT: 80 FLG: ----S- (0x02) SEQ: 0xaf38123a ACK: 0x00000000 WIN: 8760 HLEN: 24 CKSUM: 0xec52 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 32 Packet Length: 60 Collected: Mon Jul 14 13:10:27.957513 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 44 ID: 28828 CKSUM: 0x00d8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47488 FLG: -A--S- (0x12) SEQ: 0x2a5fa801 ACK: 0xaf38123b WIN: 4096 HLEN: 24 CKSUM: 0x2c19 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 33 Packet Length: 54 Collected: Mon Jul 14 13:10:27.957614 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43949 CKSUM: 0xc1c9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47488 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf38123b ACK: 0x2a5fa802 WIN: 8760 HLEN: 20 CKSUM: 0x319e (CORRECT) DLEN: 0 Packet 34 Packet Length: 400 Collected: Mon Jul 14 13:10:27.963158 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 386 ID: 43950 CKSUM: 0xc06e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47487 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xaf3641d6 ACK: 0x2a5eae02 WIN: 8760 HLEN: 20 CKSUM: 0xea57 (CORRECT) DLEN: 346 data: 346 bytes Packet 35 Packet Length: 392 Collected: Mon Jul 14 13:10:27.968187 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 378 ID: 43951 CKSUM: 0xc075 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47486 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xaf34a09d ACK: 0x2a5db402 WIN: 8760 HLEN: 20 CKSUM: 0x8cdf (CORRECT) DLEN: 338 data: 338 bytes Packet 36 Packet Length: 394 Collected: Mon Jul 14 13:10:27.970971 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 380 ID: 43952 CKSUM: 0xc072 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47485 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xaf33f748 ACK: 0x2a5cba02 WIN: 8760 HLEN: 20 CKSUM: 0xc2d5 (CORRECT) DLEN: 340 data: 340 bytes Packet 37 Packet Length: 392 Collected: Mon Jul 14 13:10:27.974360 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 378 ID: 43953 CKSUM: 0xc073 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47484 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xaf331951 ACK: 0x2a5bc002 WIN: 8760 HLEN: 20 CKSUM: 0x593f (CORRECT) DLEN: 338 data: 338 bytes Packet 38 Packet Length: 390 Collected: Mon Jul 14 13:10:27.981219 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 376 ID: 43954 CKSUM: 0xc074 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47488 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xaf38123b ACK: 0x2a5fa802 WIN: 8760 HLEN: 20 CKSUM: 0x2c0d (CORRECT) DLEN: 336 data: 336 bytes Packet 39 Packet Length: 60 Collected: Mon Jul 14 13:10:28.032466 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28854 CKSUM: 0x00c2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47488 FLG: -A---- (0x10) SEQ: 0x2a5fa802 ACK: 0xaf38138b WIN: 4096 HLEN: 20 CKSUM: 0x4286 (CORRECT) DLEN: 0 Packet 40 Packet Length: 60 Collected: Mon Jul 14 13:10:28.032612 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28855 CKSUM: 0x00c1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47487 FLG: -A---- (0x10) SEQ: 0x2a5eae02 ACK: 0xaf364330 WIN: 4096 HLEN: 20 CKSUM: 0x0ce5 (CORRECT) DLEN: 0 Packet 41 Packet Length: 60 Collected: Mon Jul 14 13:10:28.032762 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28856 CKSUM: 0x00c0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47486 FLG: -A---- (0x10) SEQ: 0x2a5db402 ACK: 0xaf34a1ef WIN: 4096 HLEN: 20 CKSUM: 0xa829 (CORRECT) DLEN: 0 Packet 42 Packet Length: 60 Collected: Mon Jul 14 13:10:28.032914 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28857 CKSUM: 0x00bf (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47485 FLG: -A---- (0x10) SEQ: 0x2a5cba02 ACK: 0xaf33f89c WIN: 4096 HLEN: 20 CKSUM: 0x4b7f (CORRECT) DLEN: 0 Packet 43 Packet Length: 60 Collected: Mon Jul 14 13:10:28.033113 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28858 CKSUM: 0x00be (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47484 FLG: -A---- (0x10) SEQ: 0x2a5bc002 ACK: 0xaf331aa3 WIN: 4096 HLEN: 20 CKSUM: 0x237b (CORRECT) DLEN: 0 Packet 44 Packet Length: 81 Collected: Mon Jul 14 13:10:28.106386 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 67 ID: 28874 CKSUM: 0x0093 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47484 FLG: -AP--- (0x18) SEQ: 0x2a5bc002 ACK: 0xaf331aa3 WIN: 4096 HLEN: 20 CKSUM: 0x787d (CORRECT) DLEN: 27 data: 27 bytes Packet 45 Packet Length: 81 Collected: Mon Jul 14 13:10:28.107864 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 67 ID: 28875 CKSUM: 0x0092 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47487 FLG: -AP--- (0x18) SEQ: 0x2a5eae02 ACK: 0xaf364330 WIN: 4096 HLEN: 20 CKSUM: 0x61e7 (CORRECT) DLEN: 27 data: 27 bytes Packet 46 Packet Length: 91 Collected: Mon Jul 14 13:10:28.109878 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 77 ID: 28876 CKSUM: 0x0087 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47487 FLG: -AP--- (0x18) SEQ: 0x2a5eae1d ACK: 0xaf364330 WIN: 4096 HLEN: 20 CKSUM: 0x497a (CORRECT) DLEN: 37 data: 37 bytes Packet 47 Packet Length: 54 Collected: Mon Jul 14 13:10:28.109950 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43955 CKSUM: 0xc1c3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47487 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf364330 ACK: 0x2a5eae42 WIN: 8760 HLEN: 20 CKSUM: 0xfa6c (CORRECT) DLEN: 0 Packet 48 Packet Length: 91 Collected: Mon Jul 14 13:10:28.110359 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 77 ID: 28877 CKSUM: 0x0086 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47484 FLG: -AP--- (0x18) SEQ: 0x2a5bc01d ACK: 0xaf331aa3 WIN: 4096 HLEN: 20 CKSUM: 0x6010 (CORRECT) DLEN: 37 data: 37 bytes Packet 49 Packet Length: 54 Collected: Mon Jul 14 13:10:28.110421 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43956 CKSUM: 0xc1c2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47484 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf331aa3 ACK: 0x2a5bc042 WIN: 8760 HLEN: 20 CKSUM: 0x1103 (CORRECT) DLEN: 0 Packet 50 Packet Length: 74 Collected: Mon Jul 14 13:10:28.111277 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 60 ID: 28878 CKSUM: 0x0096 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47484 FLG: -AP--- (0x18) SEQ: 0x2a5bc042 ACK: 0xaf331aa3 WIN: 4096 HLEN: 20 CKSUM: 0x8389 (CORRECT) DLEN: 20 data: 20 bytes Packet 51 Packet Length: 100 Collected: Mon Jul 14 13:10:28.113472 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 86 ID: 28879 CKSUM: 0x007b (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47484 FLG: -AP--- (0x18) SEQ: 0x2a5bc056 ACK: 0xaf331aa3 WIN: 4096 HLEN: 20 CKSUM: 0x4581 (CORRECT) DLEN: 46 data: 46 bytes Packet 52 Packet Length: 54 Collected: Mon Jul 14 13:10:28.113539 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43957 CKSUM: 0xc1c1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47484 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf331aa3 ACK: 0x2a5bc084 WIN: 8760 HLEN: 20 CKSUM: 0x10c1 (CORRECT) DLEN: 0 Packet 53 Packet Length: 74 Collected: Mon Jul 14 13:10:28.113858 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 60 ID: 28880 CKSUM: 0x0094 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47487 FLG: -AP--- (0x18) SEQ: 0x2a5eae42 ACK: 0xaf364330 WIN: 4096 HLEN: 20 CKSUM: 0x6cf3 (CORRECT) DLEN: 20 data: 20 bytes Packet 54 Packet Length: 79 Collected: Mon Jul 14 13:10:28.114468 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 65 ID: 28881 CKSUM: 0x008e (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47484 FLG: -AP--- (0x18) SEQ: 0x2a5bc084 ACK: 0xaf331aa3 WIN: 4096 HLEN: 20 CKSUM: 0x70de (CORRECT) DLEN: 25 data: 25 bytes Packet 55 Packet Length: 100 Collected: Mon Jul 14 13:10:28.114865 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 86 ID: 28882 CKSUM: 0x0078 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47487 FLG: -AP--- (0x18) SEQ: 0x2a5eae56 ACK: 0xaf364330 WIN: 4096 HLEN: 20 CKSUM: 0x2fda (CORRECT) DLEN: 46 data: 46 bytes Packet 56 Packet Length: 54 Collected: Mon Jul 14 13:10:28.114945 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43958 CKSUM: 0xc1c0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47487 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf364330 ACK: 0x2a5eae84 WIN: 8760 HLEN: 20 CKSUM: 0xfa2a (CORRECT) DLEN: 0 Packet 57 Packet Length: 77 Collected: Mon Jul 14 13:10:28.115702 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 63 ID: 28883 CKSUM: 0x008e (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47484 FLG: -AP--- (0x18) SEQ: 0x2a5bc09d ACK: 0xaf331aa3 WIN: 4096 HLEN: 20 CKSUM: 0x6474 (CORRECT) DLEN: 23 data: 23 bytes Packet 58 Packet Length: 54 Collected: Mon Jul 14 13:10:28.115783 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43959 CKSUM: 0xc1bf (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47484 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf331aa3 ACK: 0x2a5bc0b4 WIN: 8760 HLEN: 20 CKSUM: 0x1091 (CORRECT) DLEN: 0 Packet 59 Packet Length: 81 Collected: Mon Jul 14 13:10:28.116175 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 67 ID: 28884 CKSUM: 0x0089 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47488 FLG: -AP--- (0x18) SEQ: 0x2a5fa802 ACK: 0xaf38138b WIN: 4096 HLEN: 20 CKSUM: 0x9788 (CORRECT) DLEN: 27 data: 27 bytes Packet 60 Packet Length: 79 Collected: Mon Jul 14 13:10:28.117102 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 65 ID: 28885 CKSUM: 0x008a (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47487 FLG: -AP--- (0x18) SEQ: 0x2a5eae84 ACK: 0xaf364330 WIN: 4096 HLEN: 20 CKSUM: 0x5a48 (CORRECT) DLEN: 25 data: 25 bytes Packet 61 Packet Length: 60 Collected: Mon Jul 14 13:10:28.117870 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 42 ID: 28886 CKSUM: 0x00a0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47484 FLG: -AP--- (0x18) SEQ: 0x2a5bc0b4 ACK: 0xaf331aa3 WIN: 4096 HLEN: 20 CKSUM: 0x15b5 (CORRECT) DLEN: 2 data: 2 bytes Packet 62 Packet Length: 75 Collected: Mon Jul 14 13:10:28.118437 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 61 ID: 28887 CKSUM: 0x008c (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47487 FLG: -AP--- (0x18) SEQ: 0x2a5eae9d ACK: 0xaf364330 WIN: 4096 HLEN: 20 CKSUM: 0x8413 (CORRECT) DLEN: 21 data: 21 bytes Packet 63 Packet Length: 54 Collected: Mon Jul 14 13:10:28.118524 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43960 CKSUM: 0xc1be (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47487 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf364330 ACK: 0x2a5eaeb2 WIN: 8760 HLEN: 20 CKSUM: 0xf9fc (CORRECT) DLEN: 0 Packet 64 Packet Length: 54 Collected: Mon Jul 14 13:10:28.118769 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43961 CKSUM: 0xc1bd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47484 DPRT: 80 FLG: -A---F (0x11) SEQ: 0xaf331aa3 ACK: 0x2a5bc0b6 WIN: 8760 HLEN: 20 CKSUM: 0x108e (CORRECT) DLEN: 0 Packet 65 Packet Length: 91 Collected: Mon Jul 14 13:10:28.118906 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 77 ID: 28888 CKSUM: 0x007b (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47488 FLG: -AP--- (0x18) SEQ: 0x2a5fa81d ACK: 0xaf38138b WIN: 4096 HLEN: 20 CKSUM: 0x7f1b (CORRECT) DLEN: 37 data: 37 bytes Packet 66 Packet Length: 54 Collected: Mon Jul 14 13:10:28.119044 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43962 CKSUM: 0xc1bc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47488 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf38138b ACK: 0x2a5fa842 WIN: 8760 HLEN: 20 CKSUM: 0x300e (CORRECT) DLEN: 0 Packet 67 Packet Length: 60 Collected: Mon Jul 14 13:10:28.119955 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 42 ID: 28889 CKSUM: 0x009d (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47487 FLG: -AP--- (0x18) SEQ: 0x2a5eaeb2 ACK: 0xaf364330 WIN: 4096 HLEN: 20 CKSUM: 0xff20 (CORRECT) DLEN: 2 data: 2 bytes Packet 68 Packet Length: 60 Collected: Mon Jul 14 13:10:28.120808 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28890 CKSUM: 0x009e (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47484 FLG: -A---- (0x10) SEQ: 0x2a5bc0b6 ACK: 0xaf331aa4 WIN: 4096 HLEN: 20 CKSUM: 0x22c6 (CORRECT) DLEN: 0 Packet 69 Packet Length: 74 Collected: Mon Jul 14 13:10:28.121711 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 60 ID: 28892 CKSUM: 0x0088 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47488 FLG: -AP--- (0x18) SEQ: 0x2a5fa842 ACK: 0xaf38138b WIN: 4096 HLEN: 20 CKSUM: 0xa294 (CORRECT) DLEN: 20 data: 20 bytes Packet 70 Packet Length: 100 Collected: Mon Jul 14 13:10:28.122798 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 86 ID: 28893 CKSUM: 0x006d (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47488 FLG: -AP--- (0x18) SEQ: 0x2a5fa856 ACK: 0xaf38138b WIN: 4096 HLEN: 20 CKSUM: 0x4ba3 (CORRECT) DLEN: 46 data: 46 bytes Packet 71 Packet Length: 54 Collected: Mon Jul 14 13:10:28.122883 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43963 CKSUM: 0xc1bb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47488 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf38138b ACK: 0x2a5fa884 WIN: 8760 HLEN: 20 CKSUM: 0x2fcc (CORRECT) DLEN: 0 Packet 72 Packet Length: 79 Collected: Mon Jul 14 13:10:28.124653 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 65 ID: 28894 CKSUM: 0x0081 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47488 FLG: -AP--- (0x18) SEQ: 0x2a5fa884 ACK: 0xaf38138b WIN: 4096 HLEN: 20 CKSUM: 0x8fe9 (CORRECT) DLEN: 25 data: 25 bytes Packet 73 Packet Length: 54 Collected: Mon Jul 14 13:10:28.125678 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43964 CKSUM: 0xc1ba (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47487 DPRT: 80 FLG: -A---F (0x11) SEQ: 0xaf364330 ACK: 0x2a5eaeb4 WIN: 8760 HLEN: 20 CKSUM: 0xf9f9 (CORRECT) DLEN: 0 Packet 74 Packet Length: 60 Collected: Mon Jul 14 13:10:28.127265 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28895 CKSUM: 0x0099 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47487 FLG: -A---- (0x10) SEQ: 0x2a5eaeb4 ACK: 0xaf364331 WIN: 4096 HLEN: 20 CKSUM: 0x0c32 (CORRECT) DLEN: 0 Packet 75 Packet Length: 75 Collected: Mon Jul 14 13:10:28.127648 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 61 ID: 28896 CKSUM: 0x0083 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47488 FLG: -AP--- (0x18) SEQ: 0x2a5fa89d ACK: 0xaf38138b WIN: 4096 HLEN: 20 CKSUM: 0xbfb5 (CORRECT) DLEN: 21 data: 21 bytes Packet 76 Packet Length: 54 Collected: Mon Jul 14 13:10:28.127739 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43965 CKSUM: 0xc1b9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47488 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf38138b ACK: 0x2a5fa8b2 WIN: 8760 HLEN: 20 CKSUM: 0x2f9e (CORRECT) DLEN: 0 Packet 77 Packet Length: 60 Collected: Mon Jul 14 13:10:28.128586 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 42 ID: 28897 CKSUM: 0x0095 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47488 FLG: -AP--- (0x18) SEQ: 0x2a5fa8b2 ACK: 0xaf38138b WIN: 4096 HLEN: 20 CKSUM: 0x34c2 (CORRECT) DLEN: 2 data: 2 bytes Packet 78 Packet Length: 60 Collected: Mon Jul 14 13:10:28.130508 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28898 CKSUM: 0x0096 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47487 FLG: -A---F (0x11) SEQ: 0x2a5eaeb4 ACK: 0xaf364331 WIN: 4096 HLEN: 20 CKSUM: 0x0c31 (CORRECT) DLEN: 0 Packet 79 Packet Length: 54 Collected: Mon Jul 14 13:10:28.130609 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43966 CKSUM: 0xc1b8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47487 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf364331 ACK: 0x2a5eaeb5 WIN: 8760 HLEN: 20 CKSUM: 0xf9f8 (CORRECT) DLEN: 0 Packet 80 Packet Length: 54 Collected: Mon Jul 14 13:10:28.131509 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43967 CKSUM: 0xc1b7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47488 DPRT: 80 FLG: -A---F (0x11) SEQ: 0xaf38138b ACK: 0x2a5fa8b4 WIN: 8760 HLEN: 20 CKSUM: 0x2f9b (CORRECT) DLEN: 0 Packet 81 Packet Length: 60 Collected: Mon Jul 14 13:10:28.133060 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28899 CKSUM: 0x0095 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47488 FLG: -A---- (0x10) SEQ: 0x2a5fa8b4 ACK: 0xaf38138c WIN: 4096 HLEN: 20 CKSUM: 0x41d3 (CORRECT) DLEN: 0 Packet 82 Packet Length: 60 Collected: Mon Jul 14 13:10:28.134968 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28900 CKSUM: 0x0094 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47484 FLG: -A---F (0x11) SEQ: 0x2a5bc0b6 ACK: 0xaf331aa4 WIN: 4096 HLEN: 20 CKSUM: 0x22c5 (CORRECT) DLEN: 0 Packet 83 Packet Length: 54 Collected: Mon Jul 14 13:10:28.135097 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43968 CKSUM: 0xc1b6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47484 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf331aa4 ACK: 0x2a5bc0b7 WIN: 8760 HLEN: 20 CKSUM: 0x108d (CORRECT) DLEN: 0 Packet 84 Packet Length: 60 Collected: Mon Jul 14 13:10:28.138377 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 28901 CKSUM: 0x0093 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47488 FLG: -A---F (0x11) SEQ: 0x2a5fa8b4 ACK: 0xaf38138c WIN: 4096 HLEN: 20 CKSUM: 0x41d2 (CORRECT) DLEN: 0 Packet 85 Packet Length: 54 Collected: Mon Jul 14 13:10:28.138488 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43969 CKSUM: 0xc1b5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47488 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf38138c ACK: 0x2a5fa8b5 WIN: 8760 HLEN: 20 CKSUM: 0x2f9a (CORRECT) DLEN: 0 Packet 86 Packet Length: 81 Collected: Mon Jul 14 13:10:28.148879 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 67 ID: 28902 CKSUM: 0x0077 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47486 FLG: -AP--- (0x18) SEQ: 0x2a5db402 ACK: 0xaf34a1ef WIN: 4096 HLEN: 20 CKSUM: 0xfd2b (CORRECT) DLEN: 27 data: 27 bytes Packet 87 Packet Length: 81 Collected: Mon Jul 14 13:10:28.149394 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 67 ID: 28903 CKSUM: 0x0076 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47485 FLG: -AP--- (0x18) SEQ: 0x2a5cba02 ACK: 0xaf33f89c WIN: 4096 HLEN: 20 CKSUM: 0xa081 (CORRECT) DLEN: 27 data: 27 bytes Packet 88 Packet Length: 91 Collected: Mon Jul 14 13:10:28.150214 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 77 ID: 28904 CKSUM: 0x006b (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47486 FLG: -AP--- (0x18) SEQ: 0x2a5db41d ACK: 0xaf34a1ef WIN: 4096 HLEN: 20 CKSUM: 0xe4be (CORRECT) DLEN: 37 data: 37 bytes Packet 89 Packet Length: 54 Collected: Mon Jul 14 13:10:28.150314 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43970 CKSUM: 0xc1b4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47486 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf34a1ef ACK: 0x2a5db442 WIN: 8760 HLEN: 20 CKSUM: 0x95b1 (CORRECT) DLEN: 0 Packet 90 Packet Length: 91 Collected: Mon Jul 14 13:10:28.150611 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 77 ID: 28905 CKSUM: 0x006a (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47485 FLG: -AP--- (0x18) SEQ: 0x2a5cba1d ACK: 0xaf33f89c WIN: 4096 HLEN: 20 CKSUM: 0x8814 (CORRECT) DLEN: 37 data: 37 bytes Packet 91 Packet Length: 54 Collected: Mon Jul 14 13:10:28.150697 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43971 CKSUM: 0xc1b3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47485 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf33f89c ACK: 0x2a5cba42 WIN: 8760 HLEN: 20 CKSUM: 0x3907 (CORRECT) DLEN: 0 Packet 92 Packet Length: 74 Collected: Mon Jul 14 13:10:28.150931 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 60 ID: 28906 CKSUM: 0x007a (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47486 FLG: -AP--- (0x18) SEQ: 0x2a5db442 ACK: 0xaf34a1ef WIN: 4096 HLEN: 20 CKSUM: 0x0838 (CORRECT) DLEN: 20 data: 20 bytes Packet 93 Packet Length: 74 Collected: Mon Jul 14 13:10:28.151499 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 60 ID: 28907 CKSUM: 0x0079 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47485 FLG: -AP--- (0x18) SEQ: 0x2a5cba42 ACK: 0xaf33f89c WIN: 4096 HLEN: 20 CKSUM: 0xab8d (CORRECT) DLEN: 20 data: 20 bytes Packet 94 Packet Length: 100 Collected: Mon Jul 14 13:10:28.152918 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 86 ID: 28908 CKSUM: 0x005e (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47486 FLG: -AP--- (0x18) SEQ: 0x2a5db456 ACK: 0xaf34a1ef WIN: 4096 HLEN: 20 CKSUM: 0xcb1f (CORRECT) DLEN: 46 data: 46 bytes Packet 95 Packet Length: 54 Collected: Mon Jul 14 13:10:28.153058 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43972 CKSUM: 0xc1b2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47486 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf34a1ef ACK: 0x2a5db484 WIN: 8760 HLEN: 20 CKSUM: 0x956f (CORRECT) DLEN: 0 Packet 96 Packet Length: 100 Collected: Mon Jul 14 13:10:28.153360 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 86 ID: 28909 CKSUM: 0x005d (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47485 FLG: -AP--- (0x18) SEQ: 0x2a5cba56 ACK: 0xaf33f89c WIN: 4096 HLEN: 20 CKSUM: 0x777a (CORRECT) DLEN: 46 data: 46 bytes Packet 97 Packet Length: 54 Collected: Mon Jul 14 13:10:28.153447 1997 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 43973 CKSUM: 0xc1b1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 47485 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xaf33f89c ACK: 0x2a5cba84 WIN: 8760 HLEN: 20 CKSUM: 0x38c5 (CORRECT) DLEN: 0 Packet 98 Packet Length: 79 Collected: Mon Jul 14 13:10:28.153755 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 65 ID: 28910 CKSUM: 0x0071 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47486 FLG: -AP--- (0x18) SEQ: 0x2a5db484 ACK: 0xaf34a1ef WIN: 4096 HLEN: 20 CKSUM: 0xf58c (CORRECT) DLEN: 25 data: 25 bytes Packet 99 Packet Length: 79 Collected: Mon Jul 14 13:10:28.154410 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 65 ID: 28911 CKSUM: 0x0070 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47485 FLG: -AP--- (0x18) SEQ: 0x2a5cba84 ACK: 0xaf33f89c WIN: 4096 HLEN: 20 CKSUM: 0x98e2 (CORRECT) DLEN: 25 data: 25 bytes Packet 100 Packet Length: 76 Collected: Mon Jul 14 13:10:28.154886 1997 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 62 ID: 28912 CKSUM: 0x0072 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 47486 FLG: -AP--- (0x18) SEQ: 0x2a5db49d ACK: 0xaf34a1ef WIN: 4096 HLEN: 20 CKSUM: 0x1f28 (CORRECT) DLEN: 22 data: 22 bytes 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:00.406444 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.3.128:47483 - 132.235.1.2:80 (a2b) 8> 10< (complete) 2: 132.235.3.128:47484 - 132.235.1.2:80 (c2d) 8> 11< (complete) 3: 132.235.3.128:47485 - 132.235.1.2:80 (e2f) 5> 7< 4: 132.235.3.128:47486 - 132.235.1.2:80 (g2h) 5> 8< 5: 132.235.3.128:47487 - 132.235.1.2:80 (i2j) 8> 11< (complete) 6: 132.235.3.128:47488 - 132.235.1.2:80 (k2l) 8> 11< (complete) tcptrace-6.6.7/input/OUTPUTbench/http.dmp.gz.short0100644001217500001440000001122307520175207021510 0ustar mramadasusers1 arg remaining, starting with 'http.dmp.gz' 1270 packets seen, 1270 TCP packets traced trace file elapsed time: 35808:37:13.781571 TCP connection info: 1: 132.235.3.128:47483 - 132.235.1.2:80 (a2b) 8> 10< (complete) 2: 132.235.3.128:47484 - 132.235.1.2:80 (c2d) 8> 11< (complete) 3: 132.235.3.128:47485 - 132.235.1.2:80 (e2f) 8> 11< (complete) 4: 132.235.3.128:47486 - 132.235.1.2:80 (g2h) 8> 11< (complete) 5: 132.235.3.128:47487 - 132.235.1.2:80 (i2j) 8> 11< (complete) 6: 132.235.3.128:47488 - 132.235.1.2:80 (k2l) 8> 11< (complete) 7: 132.235.3.128:47489 - 132.235.1.2:80 (m2n) 8> 10< (complete) 8: 132.235.3.128:47490 - 132.235.1.2:80 (o2p) 8> 11< (complete) 9: 132.235.3.128:47491 - 132.235.1.2:80 (q2r) 8> 11< (complete) 10: 132.235.3.128:47492 - 132.235.1.2:80 (s2t) 9> 11< (complete) 11: 132.235.3.128:47493 - 132.235.1.2:80 (u2v) 8> 11< (complete) 12: 132.235.3.128:47494 - 132.235.1.2:80 (w2x) 8> 11< (complete) 13: 132.235.3.128:47495 - 132.235.1.2:80 (y2z) 8> 11< (complete) 14: 132.235.3.128:47496 - 132.235.1.2:80 (aa2ab) 8> 11< (complete) 15: 132.235.3.128:47497 - 132.235.1.2:80 (ac2ad) 8> 11< (complete) 16: 132.235.3.128:47498 - 132.235.1.2:80 (ae2af) 8> 11< (complete) 17: 132.235.3.128:47499 - 132.235.1.2:80 (ag2ah) 8> 11< (complete) 18: 132.235.3.128:47500 - 132.235.1.2:80 (ai2aj) 8> 11< (complete) 19: 132.235.3.128:47501 - 132.235.1.2:80 (ak2al) 8> 11< (complete) 20: 132.235.3.128:47502 - 132.235.1.2:80 (am2an) 8> 11< (complete) 21: 132.235.3.128:47503 - 132.235.1.2:80 (ao2ap) 8> 11< (complete) 22: 132.235.3.128:47504 - 132.235.1.2:80 (aq2ar) 8> 11< (complete) 23: 132.235.3.132:33654 - 4.17.168.6:80 (as2at) 2> 1< 24: 132.235.3.132:33666 - 216.52.45.129:80 (au2av) 6> 3< (complete) 25: 132.235.3.132:33667 - 216.52.45.129:80 (aw2ax) 21> 27< (complete) 26: 132.235.3.132:33655 - 4.17.168.6:80 (ay2az) 2> 1< 27: 132.235.3.132:33668 - 216.52.45.129:80 (ba2bb) 7> 4< (complete) 28: 132.235.3.132:33656 - 4.17.168.6:80 (bc2bd) 2> 1< 29: 132.235.3.132:33657 - 4.17.168.6:80 (be2bf) 2> 1< 30: 132.235.3.132:33669 - 216.52.153.132:80 (bg2bh) 26> 19< (complete) 31: 132.235.3.132:33670 - 216.52.153.132:80 (bi2bj) 27> 18< (complete) 32: 132.235.3.132:33671 - 216.52.153.132:80 (bk2bl) 22> 15< (complete) 33: 132.235.3.132:33672 - 216.52.153.132:80 (bm2bn) 22> 13< (complete) 34: 132.235.3.132:33673 - 216.52.45.129:80 (bo2bp) 6> 3< (complete) 35: 132.235.3.132:33674 - 216.52.45.129:80 (bq2br) 24> 30< (complete) 36: 132.235.3.132:33675 - 216.52.45.129:80 (bs2bt) 12> 6< (complete) 37: 132.235.3.132:33676 - 216.52.45.129:80 (bu2bv) 6> 3< (complete) 38: 132.235.3.132:33677 - 216.52.45.129:80 (bw2bx) 7> 4< (complete) 39: 132.235.3.132:33678 - 216.52.153.132:80 (by2bz) 21> 26< (complete) 40: 132.235.3.132:33679 - 216.52.153.132:80 (ca2cb) 6> 3< (complete) 41: 132.235.3.132:33680 - 216.52.153.132:80 (cc2cd) 8> 6< (complete) 42: 132.235.3.132:33681 - 216.52.153.132:80 (ce2cf) 5> 4< (complete) 43: 132.235.3.132:33682 - 216.52.45.129:80 (cg2ch) 7> 4< (complete) 44: 132.235.3.132:33683 - 216.52.45.129:80 (ci2cj) 7> 4< (complete) 45: 132.235.3.132:33684 - 216.52.153.132:80 (ck2cl) 6> 4< (complete) 46: 132.235.3.132:33685 - 216.52.153.132:80 (cm2cn) 8> 7< (complete) 47: 132.235.3.132:33686 - 216.52.45.129:80 (co2cp) 7> 4< (complete) 48: 132.235.3.132:33687 - 132.235.3.154:80 (cq2cr) 6> 5< (complete) 49: 132.235.3.132:33688 - 132.235.3.154:80 (cs2ct) 19> 64< (complete) 50: 132.235.3.132:33689 - 132.235.3.154:80 (cu2cv) 8> 12< (complete) 51: 132.235.3.132:33690 - 132.235.3.154:80 (cw2cx) 21> 76< (complete) 52: 132.235.3.132:33691 - 132.235.3.154:80 (cy2cz) 7> 7< (complete) 53: 132.235.3.132:33692 - 132.235.3.154:80 (da2db) 6> 5< (complete) 54: 132.235.3.132:33693 - 132.235.3.154:80 (dc2dd) 11> 16< (complete) 55: 132.235.3.132:33694 - 132.235.1.2:80 (de2df) 6> 5< (complete) 56: 132.235.3.132:33695 - 132.235.1.2:80 (dg2dh) 9> 8< 57: 132.235.3.132:33696 - 132.235.1.2:80 (di2dj) 11> 18< (complete) 58: 132.235.3.132:33697 - 132.235.1.2:80 (dk2dl) 7> 9< 59: 132.235.3.132:33698 - 132.235.1.2:80 (dm2dn) 6> 5< 60: 132.235.3.132:33699 - 132.235.3.154:80 (do2dp) 7> 7< (complete) 61: 132.235.3.132:33700 - 132.235.3.154:80 (dq2dr) 6> 6< tcptrace-6.6.7/input/OUTPUTbench/http.dmp.gz.xplots.cksum0100644001217500001440000003765307751776617023064 0ustar mramadasusers954540565 2154 a2b_owin.xpl 914785436 313 a2b_rtt.xpl 827403559 183 a2b_ssize.xpl 1117485139 149 a2b_tput.xpl 766752378 2979 a2b_tsg.xpl 1080224167 3401 a_b_tline.xpl 689057034 2157 aa2ab_owin.xpl 253859248 316 aa2ab_rtt.xpl 2605368130 183 aa2ab_ssize.xpl 1081128772 149 aa2ab_tput.xpl 1067771179 3182 aa2ab_tsg.xpl 1324083402 3736 aa_ab_tline.xpl 2598611182 2984 ab2aa_owin.xpl 3318326665 522 ab2aa_rtt.xpl 3386426744 1142 ab2aa_ssize.xpl 1132686555 350 ab2aa_tput.xpl 3365116660 3338 ab2aa_tsg.xpl 918251849 2157 ac2ad_owin.xpl 2240958600 313 ac2ad_rtt.xpl 3811547220 183 ac2ad_ssize.xpl 2689338608 149 ac2ad_tput.xpl 2276080323 3155 ac2ad_tsg.xpl 2290604489 3736 ac_ad_tline.xpl 3993276001 2984 ad2ac_owin.xpl 2582382917 416 ad2ac_rtt.xpl 2788113889 1142 ad2ac_ssize.xpl 1690031138 348 ad2ac_tput.xpl 4122172357 3286 ad2ac_tsg.xpl 3549505331 2157 ae2af_owin.xpl 1079900049 313 ae2af_rtt.xpl 2614148792 183 ae2af_ssize.xpl 93432745 149 ae2af_tput.xpl 1530411245 3155 ae2af_tsg.xpl 2451738322 3736 ae_af_tline.xpl 670532842 2984 af2ae_owin.xpl 3365639664 416 af2ae_rtt.xpl 900219050 1142 af2ae_ssize.xpl 2125274757 348 af2ae_tput.xpl 2501202726 3286 af2ae_tsg.xpl 4191461684 2157 ag2ah_owin.xpl 949096381 313 ag2ah_rtt.xpl 3198390857 183 ag2ah_ssize.xpl 728304038 149 ag2ah_tput.xpl 1064769802 3182 ag2ah_tsg.xpl 4064823408 3736 ag_ah_tline.xpl 3054652701 2984 ah2ag_owin.xpl 3499146010 519 ah2ag_rtt.xpl 380814429 1142 ah2ag_ssize.xpl 3740955509 349 ah2ag_tput.xpl 495946550 3338 ah2ag_tsg.xpl 2711697911 2157 ai2aj_owin.xpl 141107658 313 ai2aj_rtt.xpl 3910501633 183 ai2aj_ssize.xpl 1731551867 149 ai2aj_tput.xpl 3793987899 3182 ai2aj_tsg.xpl 849000833 3736 ai_aj_tline.xpl 1469814724 3025 aj2ai_owin.xpl 2766941994 486 aj2ai_rtt.xpl 1869254957 1142 aj2ai_ssize.xpl 2904526612 346 aj2ai_tput.xpl 3212467312 3338 aj2ai_tsg.xpl 4258278950 2157 ak2al_owin.xpl 3240482416 312 ak2al_rtt.xpl 3276960306 183 ak2al_ssize.xpl 3588626912 149 ak2al_tput.xpl 1900348468 3155 ak2al_tsg.xpl 3335938134 3736 ak_al_tline.xpl 3787462773 2984 al2ak_owin.xpl 4163634990 416 al2ak_rtt.xpl 4109136576 1142 al2ak_ssize.xpl 462206798 346 al2ak_tput.xpl 106326021 3286 al2ak_tsg.xpl 576899445 2157 am2an_owin.xpl 277934668 316 am2an_rtt.xpl 938009097 183 am2an_ssize.xpl 3301219964 149 am2an_tput.xpl 144291967 3182 am2an_tsg.xpl 2872721659 3736 am_an_tline.xpl 2604914381 2984 an2am_owin.xpl 2728779564 519 an2am_rtt.xpl 1171933084 1142 an2am_ssize.xpl 492686446 350 an2am_tput.xpl 19787806 3338 an2am_tsg.xpl 3231806037 2157 ao2ap_owin.xpl 3049174015 317 ao2ap_rtt.xpl 3224916768 183 ao2ap_ssize.xpl 791540585 148 ao2ap_tput.xpl 56448584 3155 ao2ap_tsg.xpl 906271170 3736 ao_ap_tline.xpl 1580095534 2984 ap2ao_owin.xpl 2765239327 416 ap2ao_rtt.xpl 1080972297 1142 ap2ao_ssize.xpl 353722121 350 ap2ao_tput.xpl 672724031 3286 ap2ao_tsg.xpl 2300946706 2157 aq2ar_owin.xpl 990892127 316 aq2ar_rtt.xpl 881709452 183 aq2ar_ssize.xpl 750053664 149 aq2ar_tput.xpl 680794220 3155 aq2ar_tsg.xpl 1472141873 3736 aq_ar_tline.xpl 1967545645 2984 ar2aq_owin.xpl 1240130107 416 ar2aq_rtt.xpl 2846692043 1142 ar2aq_ssize.xpl 3000276845 349 ar2aq_tput.xpl 281162328 3286 ar2aq_tsg.xpl 3884028207 535 as2at_owin.xpl 3318189508 135 as2at_rtt.xpl 1091763175 123 as2at_ssize.xpl 1596072319 114 as2at_tput.xpl 3666882949 374 as2at_tsg.xpl 583691043 757 as_at_tline.xpl 2981545295 214 at2as_owin.xpl 3600538674 135 at2as_rtt.xpl 2694563292 123 at2as_ssize.xpl 2554958822 114 at2as_tput.xpl 2802632314 555 at2as_tsg.xpl 3161856139 1548 au2av_owin.xpl 3001822500 315 au2av_rtt.xpl 54780225 185 au2av_ssize.xpl 526292322 152 au2av_tput.xpl 2902449285 1354 au2av_tsg.xpl 2284898299 1925 au_av_tline.xpl 811310829 603 av2au_owin.xpl 3712251312 278 av2au_rtt.xpl 1764548481 185 av2au_ssize.xpl 3345778265 150 av2au_tput.xpl 2722292958 1624 av2au_tsg.xpl 2489309775 6015 aw2ax_owin.xpl 269868260 381 aw2ax_rtt.xpl 4028671071 421 aw2ax_ssize.xpl 1465545620 184 aw2ax_tput.xpl 1556102922 7526 aw2ax_tsg.xpl 2233574657 9551 aw_ax_tline.xpl 304624847 8438 ax2aw_owin.xpl 3981607726 1263 ax2aw_rtt.xpl 3177403171 4086 ax2aw_ssize.xpl 958339057 1348 ax2aw_tput.xpl 1927250971 8559 ax2aw_tsg.xpl 1134526679 535 ay2az_owin.xpl 3212482557 135 ay2az_rtt.xpl 2748868324 123 ay2az_ssize.xpl 673564854 114 ay2az_tput.xpl 3911950455 374 ay2az_tsg.xpl 4227578571 757 ay_az_tline.xpl 4074965103 214 az2ay_owin.xpl 4199233284 135 az2ay_rtt.xpl 1429337935 123 az2ay_ssize.xpl 3571399126 114 az2ay_tput.xpl 2789096440 555 az2ay_tsg.xpl 2656044528 2688 b2a_owin.xpl 1630683134 486 b2a_rtt.xpl 1431295957 1142 b2a_ssize.xpl 1592081495 350 b2a_tput.xpl 2573025714 3264 b2a_tsg.xpl 3822725478 1832 ba2bb_owin.xpl 3403916891 311 ba2bb_rtt.xpl 2915288178 185 ba2bb_ssize.xpl 1016378674 151 ba2bb_tput.xpl 1915728724 1633 ba2bb_tsg.xpl 398664043 2316 ba_bb_tline.xpl 3954241373 976 bb2ba_owin.xpl 3824498346 387 bb2ba_rtt.xpl 2990815039 431 bb2ba_ssize.xpl 4203760105 189 bb2ba_tput.xpl 3331860155 2018 bb2ba_tsg.xpl 2446082148 535 bc2bd_owin.xpl 3464412862 135 bc2bd_rtt.xpl 2152127574 123 bc2bd_ssize.xpl 2972578541 114 bc2bd_tput.xpl 3481121218 374 bc2bd_tsg.xpl 3996049098 757 bc_bd_tline.xpl 1578662508 214 bd2bc_owin.xpl 1634542381 135 bd2bc_rtt.xpl 1326366029 123 bd2bc_ssize.xpl 23381894 114 bd2bc_tput.xpl 353662888 555 bd2bc_tsg.xpl 3341800678 535 be2bf_owin.xpl 1473850263 135 be2bf_rtt.xpl 1653358933 123 be2bf_ssize.xpl 3324648228 114 be2bf_tput.xpl 3385313579 374 be2bf_tsg.xpl 2641839644 757 be_bf_tline.xpl 455871797 214 bf2be_owin.xpl 4208673375 135 bf2be_rtt.xpl 3131346910 123 bf2be_ssize.xpl 1307733430 114 bf2be_tput.xpl 2476159164 555 bf2be_tsg.xpl 71242434 7709 bg2bh_owin.xpl 61468457 900 bg2bh_rtt.xpl 2327519728 1493 bg2bh_ssize.xpl 1699298737 470 bg2bh_tput.xpl 2952076034 7376 bg2bh_tsg.xpl 3035297297 9015 bg_bh_tline.xpl 2659364928 5807 bh2bg_owin.xpl 1207036456 1213 bh2bg_rtt.xpl 3581300127 2777 bh2bg_ssize.xpl 1942042773 761 bh2bg_tput.xpl 512560502 8912 bh2bg_tsg.xpl 2314280093 8082 bi2bj_owin.xpl 2165421830 973 bi2bj_rtt.xpl 427786817 1646 bi2bj_ssize.xpl 1823359960 506 bi2bj_tput.xpl 3716541580 7436 bi2bj_tsg.xpl 2696163949 9027 bi_bj_tline.xpl 2659947392 5497 bj2bi_owin.xpl 1405308769 1221 bj2bi_rtt.xpl 695098245 2633 bj2bi_ssize.xpl 1447390198 729 bj2bi_tput.xpl 84957214 8996 bj2bi_tsg.xpl 2520947019 6526 bk2bl_owin.xpl 443227936 827 bk2bl_rtt.xpl 3364209811 1340 bk2bl_ssize.xpl 4198218319 380 bk2bl_tput.xpl 946646418 6127 bk2bl_tsg.xpl 4110131126 7449 bk_bl_tline.xpl 2886004198 4522 bl2bk_owin.xpl 650974786 1069 bl2bk_rtt.xpl 328002095 2153 bl2bk_ssize.xpl 2223914039 624 bl2bk_tput.xpl 3480810630 7372 bl2bk_tsg.xpl 348978422 6529 bm2bn_owin.xpl 157881810 827 bm2bn_rtt.xpl 2382201897 1340 bm2bn_ssize.xpl 1551372701 381 bm2bn_tput.xpl 3192952154 5721 bm2bn_tsg.xpl 3343264123 7055 bm_bn_tline.xpl 2174139780 3861 bn2bm_owin.xpl 91973837 996 bn2bm_rtt.xpl 3052852875 1823 bn2bm_ssize.xpl 1530725129 552 bn2bm_tput.xpl 2328745927 7044 bn2bm_tsg.xpl 3422307498 1551 bo2bp_owin.xpl 229333590 315 bo2bp_rtt.xpl 2274075607 185 bo2bp_ssize.xpl 1366087026 152 bo2bp_tput.xpl 2499302906 1354 bo2bp_tsg.xpl 2452094395 1925 bo_bp_tline.xpl 2838244459 604 bp2bo_owin.xpl 2557082869 278 bp2bo_rtt.xpl 351533557 185 bp2bo_ssize.xpl 1507696457 151 bp2bo_tput.xpl 3383490915 1624 bp2bo_tsg.xpl 1123901316 7018 bq2br_owin.xpl 4128512677 591 bq2br_rtt.xpl 594154517 880 bq2br_ssize.xpl 2522402523 283 bq2br_tput.xpl 1331949126 8843 bq2br_tsg.xpl 110499402 10749 bq_br_tline.xpl 2443003241 9398 br2bq_owin.xpl 4088208501 1044 br2bq_rtt.xpl 2040616017 4554 br2bq_ssize.xpl 1829647 1614 br2bq_tput.xpl 969157919 9777 br2bq_tsg.xpl 2293939592 3401 bs2bt_owin.xpl 2407295275 521 bs2bt_rtt.xpl 3029753197 727 bs2bt_ssize.xpl 244789237 249 bs2bt_tput.xpl 642336972 2899 bs2bt_tsg.xpl 3601940851 3703 bs_bt_tline.xpl 1461724204 1595 bt2bs_owin.xpl 1590757319 536 bt2bs_rtt.xpl 95977486 727 bt2bs_ssize.xpl 2745420433 249 bt2bs_tput.xpl 2293596415 3550 bt2bs_tsg.xpl 346598186 1540 bu2bv_owin.xpl 3818721491 311 bu2bv_rtt.xpl 3351575705 185 bu2bv_ssize.xpl 1223753921 149 bu2bv_tput.xpl 3164545666 1354 bu2bv_tsg.xpl 505784795 1925 bu_bv_tline.xpl 3383488020 604 bv2bu_owin.xpl 3194042910 314 bv2bu_rtt.xpl 3051437661 185 bv2bu_ssize.xpl 1987860720 149 bv2bu_tput.xpl 3008825046 1624 bv2bu_tsg.xpl 3116558502 1842 bw2bx_owin.xpl 1552467313 311 bw2bx_rtt.xpl 373480278 185 bw2bx_ssize.xpl 3504388892 150 bw2bx_tput.xpl 830807359 1633 bw2bx_tsg.xpl 2983000939 2315 bw_bx_tline.xpl 3509067055 975 bx2bw_owin.xpl 3364904060 391 bx2bw_rtt.xpl 1147878650 426 bx2bw_ssize.xpl 1418158598 186 bx2bw_tput.xpl 1976612417 2018 bx2bw_tsg.xpl 2276115410 6128 by2bz_owin.xpl 3845446441 687 by2bz_rtt.xpl 1163739436 1034 by2bz_ssize.xpl 2542971926 315 by2bz_tput.xpl 533317510 7883 by2bz_tsg.xpl 1974709813 9394 by_bz_tline.xpl 714453023 8087 bz2by_owin.xpl 367501638 1346 bz2by_rtt.xpl 3129826365 3754 bz2by_ssize.xpl 1330267899 1255 bz2by_tput.xpl 3369832918 8741 bz2by_tsg.xpl 2354155607 2157 c2d_owin.xpl 990668370 313 c2d_rtt.xpl 1795205837 183 c2d_ssize.xpl 4041635284 148 c2d_tput.xpl 3944818811 3182 c2d_tsg.xpl 3844050643 3651 c_d_tline.xpl 2559900801 1538 ca2cb_owin.xpl 1300167467 318 ca2cb_rtt.xpl 2691854161 186 ca2cb_ssize.xpl 3539183632 151 ca2cb_tput.xpl 1547775259 1355 ca2cb_tsg.xpl 3744028125 1926 ca_cb_tline.xpl 3919030668 605 cb2ca_owin.xpl 3038161840 315 cb2ca_rtt.xpl 3696111624 186 cb2ca_ssize.xpl 3325712941 151 cb2ca_tput.xpl 2767602225 1625 cb2ca_tsg.xpl 1823659981 2140 cc2cd_owin.xpl 1997734369 316 cc2cd_rtt.xpl 2534916184 186 cc2cd_ssize.xpl 1193779131 151 cc2cd_tput.xpl 1631661783 2116 cc2cd_tsg.xpl 1492276438 2902 cc_cd_tline.xpl 1670328368 1614 cd2cc_owin.xpl 1171250393 461 cd2cc_rtt.xpl 2247151059 746 cd2cc_ssize.xpl 3967939430 259 cd2cc_tput.xpl 1888020585 2550 cd2cc_tsg.xpl 1884145666 1255 ce2cf_owin.xpl 2649096336 319 ce2cf_rtt.xpl 3004626546 186 ce2cf_ssize.xpl 3903763905 151 ce2cf_tput.xpl 1103444502 1482 ce2cf_tsg.xpl 1599270859 1945 ce_cf_tline.xpl 2027687754 951 cf2ce_owin.xpl 724758822 283 cf2ce_rtt.xpl 3505172264 186 cf2ce_ssize.xpl 1574171703 149 cf2ce_tput.xpl 213417974 1498 cf2ce_tsg.xpl 1536688596 1847 cg2ch_owin.xpl 2611185136 314 cg2ch_rtt.xpl 2984675285 185 cg2ch_ssize.xpl 2983054782 150 cg2ch_tput.xpl 1793205280 1633 cg2ch_tsg.xpl 1800943774 2315 cg_ch_tline.xpl 3534692559 975 ch2cg_owin.xpl 3996717049 390 ch2cg_rtt.xpl 3533950604 429 ch2cg_ssize.xpl 1346172768 188 ch2cg_tput.xpl 3343529828 2018 ch2cg_tsg.xpl 1942012494 1790 ci2cj_owin.xpl 1390066008 311 ci2cj_rtt.xpl 4106451072 185 ci2cj_ssize.xpl 2057660043 151 ci2cj_tput.xpl 2301372935 1633 ci2cj_tsg.xpl 2898377247 2313 ci_cj_tline.xpl 3129444042 973 cj2ci_owin.xpl 1105544099 385 cj2ci_rtt.xpl 2388882119 422 cj2ci_ssize.xpl 1947486820 185 cj2ci_tput.xpl 1405031315 2018 cj2ci_tsg.xpl 213078892 943 ck2cl_owin.xpl 3523002460 247 ck2cl_rtt.xpl 2764207157 186 ck2cl_ssize.xpl 1470014523 151 ck2cl_tput.xpl 1478777548 1073 ck2cl_tsg.xpl 1471541220 1527 ck_cl_tline.xpl 4106844440 598 cl2ck_owin.xpl 508031208 209 cl2ck_rtt.xpl 1358001426 186 cl2ck_ssize.xpl 526996179 150 cl2ck_tput.xpl 853456511 1062 cl2ck_tsg.xpl 247334363 2177 cm2cn_owin.xpl 3935433685 392 cm2cn_rtt.xpl 2742959218 422 cm2cn_ssize.xpl 3528978878 184 cm2cn_tput.xpl 1266322477 2479 cm2cn_tsg.xpl 755349495 3107 cm_cn_tline.xpl 2357866034 1920 cn2cm_owin.xpl 1951694275 456 cn2cm_rtt.xpl 1714940888 748 cn2cm_ssize.xpl 272595941 256 cn2cm_tput.xpl 390734464 2671 cn2cm_tsg.xpl 3278168599 1241 co2cp_owin.xpl 1693606246 241 co2cp_rtt.xpl 3644889338 185 co2cp_ssize.xpl 2924980029 150 co2cp_tput.xpl 2340613893 1148 co2cp_tsg.xpl 2433703239 1722 co_cp_tline.xpl 3945503705 616 cp2co_owin.xpl 2068115056 316 cp2co_rtt.xpl 3980519599 429 cp2co_ssize.xpl 1400948444 188 cp2co_tput.xpl 758659848 1379 cp2co_tsg.xpl 3940515066 1503 cq2cr_owin.xpl 3566821157 278 cq2cr_rtt.xpl 1237811945 185 cq2cr_ssize.xpl 1327180830 151 cq2cr_tput.xpl 3795962010 1814 cq2cr_tsg.xpl 2604040090 2299 cq_cr_tline.xpl 4027294567 1261 cr2cq_owin.xpl 3996154660 278 cr2cq_rtt.xpl 1480811190 185 cr2cq_ssize.xpl 4275078431 152 cr2cq_tput.xpl 3308794284 1776 cr2cq_tsg.xpl 2627235400 5512 cs2ct_owin.xpl 3624485965 381 cs2ct_rtt.xpl 707638874 421 cs2ct_ssize.xpl 663541985 183 cs2ct_tput.xpl 2063417872 14939 cs2ct_tsg.xpl 491608087 16432 cs_ct_tline.xpl 1978383146 20547 ct2cs_owin.xpl 2058912241 1120 ct2cs_rtt.xpl 2339246004 9639 ct2cs_ssize.xpl 447620544 3310 ct2cs_tput.xpl 151590800 13875 ct2cs_tsg.xpl 646061584 1559 cu2cv_owin.xpl 317368190 208 cu2cv_rtt.xpl 1593980681 185 cu2cv_ssize.xpl 1020090167 152 cu2cv_tput.xpl 2370176366 2469 cu2cv_tsg.xpl 402765462 3089 cu_cv_tline.xpl 1145885316 2565 cv2cu_owin.xpl 3458798115 386 cv2cu_rtt.xpl 3781905409 1226 cv2cu_ssize.xpl 11450263 370 cv2cu_tput.xpl 1952514662 2487 cv2cu_tsg.xpl 437564310 2984 d2c_owin.xpl 3661412552 486 d2c_rtt.xpl 1267715691 1142 d2c_ssize.xpl 1564391502 348 d2c_tput.xpl 1352236874 3338 d2c_tsg.xpl 2965101637 2157 e2f_owin.xpl 4108197134 313 e2f_rtt.xpl 1864125252 183 e2f_ssize.xpl 2769945513 149 e2f_tput.xpl 2304914986 3155 e2f_tsg.xpl 2833189907 3680 e_f_tline.xpl 1685793850 2984 f2e_owin.xpl 3681395378 416 f2e_rtt.xpl 3772252825 1142 f2e_ssize.xpl 3095373911 350 f2e_tput.xpl 1889383833 3286 f2e_tsg.xpl 3517397347 2157 g2h_owin.xpl 2320163683 313 g2h_rtt.xpl 1290347819 183 g2h_ssize.xpl 1682522787 149 g2h_tput.xpl 3658128792 3155 g2h_tsg.xpl 700234357 3680 g_h_tline.xpl 3328021176 2984 h2g_owin.xpl 2442095513 416 h2g_rtt.xpl 1837006298 1142 h2g_ssize.xpl 4006628163 350 h2g_tput.xpl 2988703061 3286 h2g_tsg.xpl 3284894645 2157 i2j_owin.xpl 620096872 313 i2j_rtt.xpl 400619324 183 i2j_ssize.xpl 3037382000 149 i2j_tput.xpl 892521358 3182 i2j_tsg.xpl 367964974 3680 i_j_tline.xpl 3773153170 2984 j2i_owin.xpl 317075356 519 j2i_rtt.xpl 938525483 1142 j2i_ssize.xpl 4240069554 349 j2i_tput.xpl 4043070219 3338 j2i_tsg.xpl 2910060163 2157 k2l_owin.xpl 2084013985 313 k2l_rtt.xpl 1796342795 183 k2l_ssize.xpl 1986101118 149 k2l_tput.xpl 2675906703 3182 k2l_tsg.xpl 3124403332 3680 k_l_tline.xpl 3599727236 2984 l2k_owin.xpl 2837163969 519 l2k_rtt.xpl 3141172420 1142 l2k_ssize.xpl 3822679783 348 l2k_tput.xpl 112771373 3338 l2k_tsg.xpl 4169693982 2157 m2n_owin.xpl 1554037751 313 m2n_rtt.xpl 832442214 183 m2n_ssize.xpl 990235527 149 m2n_tput.xpl 3944489460 2979 m2n_tsg.xpl 1672072003 3497 m_n_tline.xpl 2493949602 2688 n2m_owin.xpl 4053470838 486 n2m_rtt.xpl 654533324 1142 n2m_ssize.xpl 2047446418 350 n2m_tput.xpl 3788633660 3264 n2m_tsg.xpl 172547702 2157 o2p_owin.xpl 190821901 316 o2p_rtt.xpl 3491170814 183 o2p_ssize.xpl 3710971274 148 o2p_tput.xpl 2832798549 3182 o2p_tsg.xpl 4235151028 3680 o_p_tline.xpl 3058931737 2984 p2o_owin.xpl 2749832031 486 p2o_rtt.xpl 3923844902 1142 p2o_ssize.xpl 1010366560 350 p2o_tput.xpl 1507193445 3338 p2o_tsg.xpl 682818092 2157 q2r_owin.xpl 3620600000 316 q2r_rtt.xpl 1590186002 183 q2r_ssize.xpl 1818469968 148 q2r_tput.xpl 3362597610 3155 q2r_tsg.xpl 3137725174 3680 q_r_tline.xpl 3727165987 2984 r2q_owin.xpl 50333402 416 r2q_rtt.xpl 4070708420 1142 r2q_ssize.xpl 3337598034 349 r2q_tput.xpl 2159226241 3286 r2q_tsg.xpl 3561307859 2461 s2t_owin.xpl 615279782 316 s2t_rtt.xpl 307208310 183 s2t_ssize.xpl 1759037382 148 s2t_tput.xpl 861577927 3231 s2t_tsg.xpl 1792875013 3897 s_t_tline.xpl 3991269738 2686 t2s_owin.xpl 2670880160 519 t2s_rtt.xpl 3968646822 1142 t2s_ssize.xpl 2046395102 349 t2s_tput.xpl 1238044488 3634 t2s_tsg.xpl 3622326086 2157 u2v_owin.xpl 3912240096 316 u2v_rtt.xpl 1722665573 183 u2v_ssize.xpl 3276374525 149 u2v_tput.xpl 3248938512 3182 u2v_tsg.xpl 423496279 3707 u_v_tline.xpl 3919099136 2984 v2u_owin.xpl 2969800405 519 v2u_rtt.xpl 4007281740 1142 v2u_ssize.xpl 1468448253 348 v2u_tput.xpl 2446824035 3338 v2u_tsg.xpl 2096530941 2157 w2x_owin.xpl 1610103882 316 w2x_rtt.xpl 3387281877 183 w2x_ssize.xpl 627051129 149 w2x_tput.xpl 828648839 3182 w2x_tsg.xpl 3966274773 3736 w_x_tline.xpl 197590561 2984 x2w_owin.xpl 3188381866 522 x2w_rtt.xpl 1804667975 1142 x2w_ssize.xpl 2846309428 349 x2w_tput.xpl 4182218998 3338 x2w_tsg.xpl 1571752432 2157 y2z_owin.xpl 1015540242 316 y2z_rtt.xpl 2026245554 183 y2z_ssize.xpl 270936309 149 y2z_tput.xpl 1636082217 3182 y2z_tsg.xpl 4062041466 3736 y_z_tline.xpl 4038732685 2984 z2y_owin.xpl 3524669009 519 z2y_rtt.xpl 427035545 1142 z2y_ssize.xpl 3674542776 349 z2y_tput.xpl 4160979939 3338 z2y_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/http.epeek7.gz.long0100644001217500001440000001217407662255051021721 0ustar mramadasusers1 arg remaining, starting with 'http.epeek7.gz' 33 packets seen, 33 TCP packets traced trace file elapsed time: 0:00:01.834824 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 132.235.67.34:3759 host b: 132.235.67.19:80 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Dec 16 07:10:34.457621 1997 last packet: Tue Dec 16 07:10:36.292446 1997 elapsed time: 0:00:01.834824 total packets: 33 filename: http.epeek7.gz a->b: b->a: total packets: 9 total packets: 24 ack pkts sent: 9 ack pkts sent: 24 pure acks sent: 6 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 403 unique bytes sent: 29194 actual data pkts: 3 actual data pkts: 22 actual data bytes: 403 actual data bytes: 29194 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 3 pushed data pkts: 1 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 req 1323 ws/ts: N/Y req 1323 ws/ts: N/Y urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 268 bytes max segm size: 1448 bytes min segm size: 35 bytes min segm size: 48 bytes avg segm size: 134 bytes avg segm size: 1326 bytes max win adv: 49640 bytes max win adv: 17520 bytes min win adv: 49640 bytes min win adv: 17520 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 49640 bytes avg win adv: 17520 bytes max owin: 269 bytes max owin: 11585 bytes min non-zero owin: 1 bytes min non-zero owin: 1449 bytes avg owin: 56 bytes avg owin: 5941 bytes wavg owin: 118 bytes wavg owin: 5912 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.580 secs data xmit time: 1.833 secs idletime max: 554.9 ms idletime max: 554.1 ms throughput: 220 Bps throughput: 15911 Bps RTT samples: 3 RTT samples: 5 RTT min: 1.0 ms RTT min: 586.9 ms RTT max: 2.0 ms RTT max: 597.7 ms RTT avg: 1.4 ms RTT avg: 592.9 ms RTT stdev: 0.5 ms RTT stdev: 4.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 3 RTT full_sz min: 1.0 ms RTT full_sz min: 591.2 ms RTT full_sz max: 1.0 ms RTT full_sz max: 594.4 ms RTT full_sz avg: 1.0 ms RTT full_sz avg: 593.3 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 1.8 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 9 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/http.epeek7.gz.packets0100644001217500001440000004546107302732563022420 0ustar mramadasusers1 arg remaining, starting with 'http.epeek7.gz' Packet 1 Packet Length: 70 Collected: Tue Dec 16 07:10:34.457621 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:a0:24:6c:c2:c2 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 4511 CKSUM: 0xdb19 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3759 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x7f971699 ACK: 0x04297602 WIN: 49640 HLEN: 32 CKSUM: 0x8974 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(30698,1039) Packet 2 Packet Length: 1518 Collected: Tue Dec 16 07:10:34.459830 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10900 CKSUM: 0xba7c (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x04297602 ACK: 0x7f971699 WIN: 17520 HLEN: 32 CKSUM: 0x2aaf (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1040,30696) data: 1448 bytes Packet 3 Packet Length: 1518 Collected: Tue Dec 16 07:10:34.461060 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10901 CKSUM: 0xba7b (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x04297baa ACK: 0x7f971699 WIN: 17520 HLEN: 32 CKSUM: 0x6233 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1040,30696) data: 1448 bytes Packet 4 Packet Length: 256 Collected: Tue Dec 16 07:10:34.461883 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 238 ID: 10902 CKSUM: 0xbf68 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -AP--- (0x18) SEQ: 0x04298152 ACK: 0x7f971699 WIN: 17520 HLEN: 32 CKSUM: 0x3274 (CORRECT) DLEN: 186 OPTS: 12 bytes TS(1040,30696) data: 186 bytes Packet 5 Packet Length: 338 Collected: Tue Dec 16 07:10:34.513966 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:a0:24:6c:c2:c2 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 320 ID: 4512 CKSUM: 0xda0c (CORRECT) OFFSET: 0x0000 TCP SPRT: 3759 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0x7f971699 ACK: 0x04297602 WIN: 49640 HLEN: 32 CKSUM: 0x9ad8 (CORRECT) DLEN: 268 OPTS: 12 bytes TS(30698,1039) data: 268 bytes Packet 6 Packet Length: 70 Collected: Tue Dec 16 07:10:34.514975 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 10903 CKSUM: 0xc021 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429820c ACK: 0x7f9717a5 WIN: 17520 HLEN: 32 CKSUM: 0xf9d5 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1040,30698) Packet 7 Packet Length: 70 Collected: Tue Dec 16 07:10:35.048828 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:a0:24:6c:c2:c2 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 4513 CKSUM: 0xdb17 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3759 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x7f9717a5 ACK: 0x0429820c WIN: 49640 HLEN: 32 CKSUM: 0x7c5c (CORRECT) DLEN: 0 OPTS: 12 bytes TS(30699,1040) Packet 8 Packet Length: 1518 Collected: Tue Dec 16 07:10:35.051024 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10904 CKSUM: 0xba78 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429820c ACK: 0x7f9717a5 WIN: 17520 HLEN: 32 CKSUM: 0xa1b1 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1041,30698) data: 1448 bytes Packet 9 Packet Length: 1518 Collected: Tue Dec 16 07:10:35.052248 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10905 CKSUM: 0xba77 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x042987b4 ACK: 0x7f9717a5 WIN: 17520 HLEN: 32 CKSUM: 0xd079 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1041,30698) data: 1448 bytes Packet 10 Packet Length: 1518 Collected: Tue Dec 16 07:10:35.053489 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10906 CKSUM: 0xba76 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x04298d5c ACK: 0x7f9717a5 WIN: 17520 HLEN: 32 CKSUM: 0xe4cf (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1041,30698) data: 1448 bytes Packet 11 Packet Length: 1518 Collected: Tue Dec 16 07:10:35.054712 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10907 CKSUM: 0xba75 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x04299304 ACK: 0x7f9717a5 WIN: 17520 HLEN: 32 CKSUM: 0x66fe (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1041,30698) data: 1448 bytes Packet 12 Packet Length: 170 Collected: Tue Dec 16 07:10:35.093082 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:a0:24:6c:c2:c2 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 152 ID: 4514 CKSUM: 0xdab2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3759 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0x7f9717a5 ACK: 0x0429820c WIN: 49640 HLEN: 32 CKSUM: 0xe143 (CORRECT) DLEN: 100 OPTS: 12 bytes TS(30699,1040) data: 100 bytes Packet 13 Packet Length: 105 Collected: Tue Dec 16 07:10:35.093886 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:a0:24:6c:c2:c2 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 87 ID: 4515 CKSUM: 0xdaf2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3759 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0x7f971809 ACK: 0x0429820c WIN: 49640 HLEN: 32 CKSUM: 0x1917 (CORRECT) DLEN: 35 OPTS: 12 bytes TS(30699,1040) data: 35 bytes Packet 14 Packet Length: 118 Collected: Tue Dec 16 07:10:35.094267 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 100 ID: 10908 CKSUM: 0xbfec (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x042998ac ACK: 0x7f971809 WIN: 17520 HLEN: 32 CKSUM: 0xae40 (CORRECT) DLEN: 48 OPTS: 12 bytes TS(1041,30699) data: 48 bytes Packet 15 Packet Length: 70 Collected: Tue Dec 16 07:10:35.095902 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 10909 CKSUM: 0xc01b (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x042998dc ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0xe27c (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1041,30699) Packet 16 Packet Length: 70 Collected: Tue Dec 16 07:10:35.647813 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:a0:24:6c:c2:c2 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 4516 CKSUM: 0xdb14 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3759 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x7f97182c ACK: 0x04299304 WIN: 49640 HLEN: 32 CKSUM: 0x6adb (CORRECT) DLEN: 0 OPTS: 12 bytes TS(30700,1041) Packet 17 Packet Length: 1518 Collected: Tue Dec 16 07:10:35.650030 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10910 CKSUM: 0xba72 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x042998dc ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0xd4ff (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1042,30699) data: 1448 bytes Packet 18 Packet Length: 1518 Collected: Tue Dec 16 07:10:35.651244 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10911 CKSUM: 0xba71 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x04299e84 ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0xb29b (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1042,30699) data: 1448 bytes Packet 19 Packet Length: 1518 Collected: Tue Dec 16 07:10:35.652484 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10912 CKSUM: 0xba70 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429a42c ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0x350d (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1042,30699) data: 1448 bytes Packet 20 Packet Length: 1518 Collected: Tue Dec 16 07:10:35.653703 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10913 CKSUM: 0xba6f (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429a9d4 ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0xdf44 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1042,30699) data: 1448 bytes Packet 21 Packet Length: 70 Collected: Tue Dec 16 07:10:35.691956 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:a0:24:6c:c2:c2 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 4517 CKSUM: 0xdb13 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3759 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x7f97182c ACK: 0x042998dc WIN: 49640 HLEN: 32 CKSUM: 0x6503 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(30700,1041) Packet 22 Packet Length: 1518 Collected: Tue Dec 16 07:10:35.694119 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10914 CKSUM: 0xba6e (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429af7c ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0x233a (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1042,30699) data: 1448 bytes Packet 23 Packet Length: 1518 Collected: Tue Dec 16 07:10:35.695339 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10915 CKSUM: 0xba6d (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429b524 ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0xd5aa (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1042,30699) data: 1448 bytes Packet 24 Packet Length: 70 Collected: Tue Dec 16 07:10:36.246858 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:a0:24:6c:c2:c2 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 4518 CKSUM: 0xdb12 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3759 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x7f97182c ACK: 0x0429a9d4 WIN: 49640 HLEN: 32 CKSUM: 0x5409 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(30701,1042) Packet 25 Packet Length: 1518 Collected: Tue Dec 16 07:10:36.249104 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10916 CKSUM: 0xba6c (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429bacc ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0xe309 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1043,30699) data: 1448 bytes Packet 26 Packet Length: 1518 Collected: Tue Dec 16 07:10:36.250338 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10917 CKSUM: 0xba6b (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429c074 ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0x0e83 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1043,30699) data: 1448 bytes Packet 27 Packet Length: 1518 Collected: Tue Dec 16 07:10:36.251565 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10918 CKSUM: 0xba6a (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429c61c ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0x52a4 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1043,30699) data: 1448 bytes Packet 28 Packet Length: 1518 Collected: Tue Dec 16 07:10:36.252797 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10919 CKSUM: 0xba69 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429cbc4 ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0x9fad (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1043,30699) data: 1448 bytes Packet 29 Packet Length: 70 Collected: Tue Dec 16 07:10:36.286540 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:a0:24:6c:c2:c2 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.19 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 4519 CKSUM: 0xdb11 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3759 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x7f97182c ACK: 0x0429bacc WIN: 49640 HLEN: 32 CKSUM: 0x4311 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(30701,1042) Packet 30 Packet Length: 1518 Collected: Tue Dec 16 07:10:36.288755 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10920 CKSUM: 0xba68 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429d16c ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0x7baa (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1044,30699) data: 1448 bytes Packet 31 Packet Length: 1518 Collected: Tue Dec 16 07:10:36.289986 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10921 CKSUM: 0xba67 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429d714 ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0x177a (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1044,30699) data: 1448 bytes Packet 32 Packet Length: 1518 Collected: Tue Dec 16 07:10:36.291207 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10922 CKSUM: 0xba66 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429dcbc ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0xf4a6 (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1044,30699) data: 1448 bytes Packet 33 Packet Length: 1518 Collected: Tue Dec 16 07:10:36.292446 1997 ETH Srce: 00:a0:24:6c:c2:c2 ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.19 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 10923 CKSUM: 0xba65 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 3759 FLG: -A---- (0x10) SEQ: 0x0429e264 ACK: 0x7f97182c WIN: 17520 HLEN: 32 CKSUM: 0xefab (CORRECT) DLEN: 1448 OPTS: 12 bytes TS(1044,30699) data: 1448 bytes 33 packets seen, 33 TCP packets traced trace file elapsed time: 0:00:01.834824 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.67.34:3759 - 132.235.67.19:80 (a2b) 9> 24< tcptrace-6.6.7/input/OUTPUTbench/http.epeek7.gz.short0100644001217500001440000000032207253211555022106 0ustar mramadasusers1 arg remaining, starting with 'http.epeek7.gz' 33 packets seen, 33 TCP packets traced trace file elapsed time: 0:00:01.834824 TCP connection info: 1: 132.235.67.34:3759 - 132.235.67.19:80 (a2b) 9> 24< tcptrace-6.6.7/input/OUTPUTbench/http.epeek7.gz.xplots.cksum0100644001217500001440000000046607751776617023454 0ustar mramadasusers119793574 2795 a2b_owin.xpl 2782532881 310 a2b_rtt.xpl 3761728498 571 a2b_ssize.xpl 4273251299 215 a2b_tput.xpl 1737494516 5954 a2b_tsg.xpl 357936425 6116 a_b_tline.xpl 1811434422 7814 b2a_owin.xpl 3215393451 478 b2a_rtt.xpl 3947191579 3601 b2a_ssize.xpl 826254752 1167 b2a_tput.xpl 872817486 4924 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/ipfrags.dmp.gz.long0100644001217500001440000000022407253211555021763 0ustar mramadasusers1 arg remaining, starting with 'ipfrags.dmp.gz' 5 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:22.460000 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/ipfrags.dmp.gz.packets0100644001217500001440000000424707302732564022472 0ustar mramadasusers1 arg remaining, starting with 'ipfrags.dmp.gz' Packet 1 Packet Length: 68 Collected: Tue Feb 3 20:01:09.397081 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 204.123.2.84 IP Dest: 208.159.216.49 Type: 0x6 (TCP) HLEN: 20 TTL: 56 LEN: 1496 ID: 14095 CKSUM: 0x8e6f (CORRECT) OFFSET: 0x4001 (frag: 1476 bytes at offset 8 - Last Frag) Don't Fragment Packet 2 Packet Length: 68 Collected: Tue Feb 3 20:01:10.867081 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 204.123.2.84 IP Dest: 208.159.216.49 Type: 0x6 (TCP) HLEN: 20 TTL: 56 LEN: 1496 ID: 15129 CKSUM: 0x8a65 (CORRECT) OFFSET: 0x4001 (frag: 1476 bytes at offset 8 - Last Frag) Don't Fragment Packet 3 Packet Length: 68 Collected: Tue Feb 3 20:01:13.907081 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 204.123.2.84 IP Dest: 208.159.216.49 Type: 0x6 (TCP) HLEN: 20 TTL: 56 LEN: 1496 ID: 17365 CKSUM: 0x81a9 (CORRECT) OFFSET: 0x4001 (frag: 1476 bytes at offset 8 - Last Frag) Don't Fragment Packet 4 Packet Length: 68 Collected: Tue Feb 3 20:01:19.867081 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 204.123.2.84 IP Dest: 208.159.216.49 Type: 0x6 (TCP) HLEN: 20 TTL: 56 LEN: 1496 ID: 21486 CKSUM: 0x7190 (CORRECT) OFFSET: 0x4001 (frag: 1476 bytes at offset 8 - Last Frag) Don't Fragment Packet 5 Packet Length: 68 Collected: Tue Feb 3 20:01:31.857081 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 204.123.2.84 IP Dest: 208.159.216.49 Type: 0x6 (TCP) HLEN: 20 TTL: 56 LEN: 1496 ID: 30140 CKSUM: 0x4fc2 (CORRECT) OFFSET: 0x4001 (frag: 1476 bytes at offset 8 - Last Frag) Don't Fragment 5 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:22.460000 bad IP checksums: 0 bad TCP checksums: 0 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/ipfrags.dmp.gz.short0100644001217500001440000000022407253211555022163 0ustar mramadasusers1 arg remaining, starting with 'ipfrags.dmp.gz' 5 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:22.460000 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/ipfrags.dmp.gz.xplots.cksum0100644001217500001440000000000007242307214023462 0ustar mramadasuserstcptrace-6.6.7/input/OUTPUTbench/ipopts.dmp.gz.long0100644001217500001440000000022307253211556021646 0ustar mramadasusers1 arg remaining, starting with 'ipopts.dmp.gz' 8 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:03.065961 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/ipopts.dmp.gz.packets0100644001217500001440000001526507302732564022357 0ustar mramadasusers1 arg remaining, starting with 'ipopts.dmp.gz' Packet 1 Packet Length: 138 Collected: Wed Jan 27 16:55:20.877461 1999 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:47:be:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 135.145.9.134 Type: 0x1 (ICMP) HLEN: 60 TTL: 255 LEN: 124 ID: 21572 CKSUM: 0xf892 (CORRECT) OFFSET: 0x4000 Don't Fragment Options: 40 bytes IP option 7 (copy:N class:ctrl number:7) Record Route: len: 39 ptr:4 1: xxxxxxxxxxx 2: xxxxxxxxxxx 3: xxxxxxxxxxx 4: xxxxxxxxxxx 5: xxxxxxxxxxx 6: xxxxxxxxxxx 7: xxxxxxxxxxx 8: xxxxxxxxxxx 9: xxxxxxxxxxx IP option 0 (copy:N class:ctrl number:0) EOL Packet 2 Packet Length: 138 Collected: Wed Jan 27 16:55:20.945113 1999 ETH Srce: 00:00:0c:47:be:87 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 135.145.9.134 IP Dest: 132.235.3.128 Type: 0x1 (ICMP) HLEN: 60 TTL: 245 LEN: 124 ID: 10801 CKSUM: 0x1a7b (CORRECT) OFFSET: 0x4000 Don't Fragment Options: 40 bytes IP option 7 (copy:N class:ctrl number:7) Record Route: len: 39 ptr:40 1: 132.235.1.22 132.235.1.22 2: 199.18.18.6 199.18.18.6 3: 199.18.202.82 199.18.202.82 4: 199.18.202.13 199.18.202.13 5: 157.130.102.158 157.130.102.158 6: 146.188.209.65 146.188.209.65 7: 146.188.208.154 146.188.208.154 8: 157.130.96.9 157.130.96.9 9: 192.205.31.125 192.205.31.125 IP option 0 (copy:N class:ctrl number:0) EOL Packet 3 Packet Length: 138 Collected: Wed Jan 27 16:55:21.877469 1999 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:47:be:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 135.145.9.134 Type: 0x1 (ICMP) HLEN: 60 TTL: 255 LEN: 124 ID: 21573 CKSUM: 0xf891 (CORRECT) OFFSET: 0x4000 Don't Fragment Options: 40 bytes IP option 7 (copy:N class:ctrl number:7) Record Route: len: 39 ptr:4 1: xxxxxxxxxxx 2: xxxxxxxxxxx 3: xxxxxxxxxxx 4: xxxxxxxxxxx 5: xxxxxxxxxxx 6: xxxxxxxxxxx 7: xxxxxxxxxxx 8: xxxxxxxxxxx 9: xxxxxxxxxxx IP option 0 (copy:N class:ctrl number:0) EOL Packet 4 Packet Length: 138 Collected: Wed Jan 27 16:55:21.971355 1999 ETH Srce: 00:00:0c:47:be:87 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 135.145.9.134 IP Dest: 132.235.3.128 Type: 0x1 (ICMP) HLEN: 60 TTL: 245 LEN: 124 ID: 10802 CKSUM: 0x2a7a (CORRECT) OFFSET: 0x4000 Don't Fragment Options: 40 bytes IP option 7 (copy:N class:ctrl number:7) Record Route: len: 39 ptr:40 1: 132.235.1.22 132.235.1.22 2: 199.18.18.6 199.18.18.6 3: 199.18.202.82 199.18.202.82 4: 199.18.202.13 199.18.202.13 5: 157.130.102.158 157.130.102.158 6: 146.188.209.69 146.188.209.69 7: 146.188.208.150 146.188.208.150 8: 157.130.96.9 157.130.96.9 9: 192.205.31.109 192.205.31.109 IP option 0 (copy:N class:ctrl number:0) EOL Packet 5 Packet Length: 138 Collected: Wed Jan 27 16:55:22.877515 1999 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:47:be:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 135.145.9.134 Type: 0x1 (ICMP) HLEN: 60 TTL: 255 LEN: 124 ID: 21574 CKSUM: 0xf890 (CORRECT) OFFSET: 0x4000 Don't Fragment Options: 40 bytes IP option 7 (copy:N class:ctrl number:7) Record Route: len: 39 ptr:4 1: xxxxxxxxxxx 2: xxxxxxxxxxx 3: xxxxxxxxxxx 4: xxxxxxxxxxx 5: xxxxxxxxxxx 6: xxxxxxxxxxx 7: xxxxxxxxxxx 8: xxxxxxxxxxx 9: xxxxxxxxxxx IP option 0 (copy:N class:ctrl number:0) EOL Packet 6 Packet Length: 138 Collected: Wed Jan 27 16:55:22.976203 1999 ETH Srce: 00:00:0c:47:be:87 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 135.145.9.134 IP Dest: 132.235.3.128 Type: 0x1 (ICMP) HLEN: 60 TTL: 245 LEN: 124 ID: 10803 CKSUM: 0x1a79 (CORRECT) OFFSET: 0x4000 Don't Fragment Options: 40 bytes IP option 7 (copy:N class:ctrl number:7) Record Route: len: 39 ptr:40 1: 132.235.1.22 132.235.1.22 2: 199.18.18.6 199.18.18.6 3: 199.18.202.82 199.18.202.82 4: 199.18.202.13 199.18.202.13 5: 157.130.102.158 157.130.102.158 6: 146.188.209.65 146.188.209.65 7: 146.188.208.154 146.188.208.154 8: 157.130.96.9 157.130.96.9 9: 192.205.31.125 192.205.31.125 IP option 0 (copy:N class:ctrl number:0) EOL Packet 7 Packet Length: 138 Collected: Wed Jan 27 16:55:23.877578 1999 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:47:be:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 135.145.9.134 Type: 0x1 (ICMP) HLEN: 60 TTL: 255 LEN: 124 ID: 21575 CKSUM: 0xf88f (CORRECT) OFFSET: 0x4000 Don't Fragment Options: 40 bytes IP option 7 (copy:N class:ctrl number:7) Record Route: len: 39 ptr:4 1: xxxxxxxxxxx 2: xxxxxxxxxxx 3: xxxxxxxxxxx 4: xxxxxxxxxxx 5: xxxxxxxxxxx 6: xxxxxxxxxxx 7: xxxxxxxxxxx 8: xxxxxxxxxxx 9: xxxxxxxxxxx IP option 0 (copy:N class:ctrl number:0) EOL Packet 8 Packet Length: 138 Collected: Wed Jan 27 16:55:23.943422 1999 ETH Srce: 00:00:0c:47:be:87 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 135.145.9.134 IP Dest: 132.235.3.128 Type: 0x1 (ICMP) HLEN: 60 TTL: 245 LEN: 124 ID: 10804 CKSUM: 0x2a78 (CORRECT) OFFSET: 0x4000 Don't Fragment Options: 40 bytes IP option 7 (copy:N class:ctrl number:7) Record Route: len: 39 ptr:40 1: 132.235.1.22 132.235.1.22 2: 199.18.18.6 199.18.18.6 3: 199.18.202.82 199.18.202.82 4: 199.18.202.13 199.18.202.13 5: 157.130.102.158 157.130.102.158 6: 146.188.209.69 146.188.209.69 7: 146.188.208.150 146.188.208.150 8: 157.130.96.9 157.130.96.9 9: 192.205.31.109 192.205.31.109 IP option 0 (copy:N class:ctrl number:0) EOL 8 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:03.065961 bad IP checksums: 0 bad TCP checksums: 0 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/ipopts.dmp.gz.short0100644001217500001440000000022307253211556022046 0ustar mramadasusers1 arg remaining, starting with 'ipopts.dmp.gz' 8 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:03.065961 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/ipopts.dmp.gz.xplots.cksum0100644001217500001440000000000007242307215023346 0ustar mramadasuserstcptrace-6.6.7/input/OUTPUTbench/ipv6_ftp_nasa.snp.gz.long0100644001217500001440000003675207662255051023131 0ustar mramadasusers1 arg remaining, starting with 'ipv6_ftp_nasa.snp.gz' 1166 packets seen, 1164 TCP packets traced trace file elapsed time: 0:01:35.571054 TCP connection info: 3 TCP connections traced: TCP connection 1: host a: fe80::0002:0a00:20ff:fe22:e80f:33793 host b: fe80::0001:0a00:20ff:fe22:ddb7:21 complete conn: yes first packet: Mon Mar 2 11:51:09.763956 1998 last packet: Mon Mar 2 11:52:45.335010 1998 elapsed time: 0:01:35.571054 total packets: 27 filename: ipv6_ftp_nasa.snp.gz a->b: b->a: total packets: 15 total packets: 12 ack pkts sent: 14 ack pkts sent: 12 pure acks sent: 7 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 123 unique bytes sent: 287 actual data pkts: 6 actual data pkts: 8 actual data bytes: 123 actual data bytes: 287 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 6 pushed data pkts: 8 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1440 bytes mss requested: 1440 bytes max segm size: 65 bytes max segm size: 78 bytes min segm size: 6 bytes min segm size: 14 bytes avg segm size: 20 bytes avg segm size: 35 bytes max win adv: 8640 bytes max win adv: 8640 bytes min win adv: 8640 bytes min win adv: 8640 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8640 bytes avg win adv: 8640 bytes max owin: 66 bytes max owin: 79 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 9 bytes avg owin: 27 bytes wavg owin: 0 bytes wavg owin: 24 bytes initial window: 11 bytes initial window: 62 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 123 bytes ttl stream length: 287 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 83.600 secs data xmit time: 83.613 secs idletime max: 59571.8 ms idletime max: 59616.4 ms throughput: 1 Bps throughput: 3 Bps RTT samples: 8 RTT samples: 10 RTT min: 0.7 ms RTT min: 0.3 ms RTT max: 45.7 ms RTT max: 47.5 ms RTT avg: 8.8 ms RTT avg: 24.0 ms RTT stdev: 15.3 ms RTT stdev: 22.3 ms RTT from 3WHS: 1.5 ms RTT from 3WHS: 0.3 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 1.9 ms RTT full_sz min: 44.9 ms RTT full_sz max: 1.9 ms RTT full_sz max: 44.9 ms RTT full_sz avg: 1.9 ms RTT full_sz avg: 44.9 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 198.119.6.39:1023 host d: 128.183.34.146:513 complete conn: no (SYNs: 0) (FINs: 2) first packet: Mon Mar 2 11:51:47.784391 1998 last packet: Mon Mar 2 11:51:50.820332 1998 elapsed time: 0:00:03.035940 total packets: 32 filename: ipv6_ftp_nasa.snp.gz c->d: d->c: total packets: 20 total packets: 12 ack pkts sent: 20 ack pkts sent: 12 pure acks sent: 9 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 10 unique bytes sent: 23 actual data pkts: 10 actual data pkts: 10 actual data bytes: 12 actual data bytes: 23 rexmt data pkts: 2 rexmt data pkts: 0 rexmt data bytes: 2 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 9 pushed data pkts: 10 SYN/FIN pkts sent: 0/1 SYN/FIN pkts sent: 0/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 3 bytes max segm size: 9 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 1 bytes avg segm size: 2 bytes max win adv: 8760 bytes max win adv: 8760 bytes min win adv: 8760 bytes min win adv: 8760 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8760 bytes avg win adv: 8760 bytes max owin: 4 bytes max owin: 10 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 2 bytes wavg owin: 0 bytes wavg owin: 1 bytes initial window: 1 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 1.710 secs data xmit time: 1.706 secs idletime max: 1256.4 ms idletime max: 1299.0 ms throughput: 3 Bps throughput: 8 Bps RTT samples: 8 RTT samples: 11 RTT min: 2.3 ms RTT min: 0.2 ms RTT max: 6.7 ms RTT max: 50.7 ms RTT avg: 4.2 ms RTT avg: 36.7 ms RTT stdev: 1.8 ms RTT stdev: 19.4 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 2.4 ms RTT full_sz min: 49.8 ms RTT full_sz max: 2.4 ms RTT full_sz max: 49.8 ms RTT full_sz avg: 2.4 ms RTT full_sz avg: 49.8 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 1 ambiguous acks: 0 RTT min (last): 16.0 ms RTT min (last): 0.0 ms RTT max (last): 16.0 ms RTT max (last): 0.0 ms RTT avg (last): 16.0 ms RTT avg (last): 0.0 ms RTT sdv (last): 0.0 ms RTT sdv (last): 0.0 ms segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 2 max # retrans: 0 min retr time: 186.2 ms min retr time: 0.0 ms max retr time: 380.0 ms max retr time: 0.0 ms avg retr time: 283.1 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 3: host e: fe80::0001:0a00:20ff:fe22:ddb7:20 host f: fe80::0002:0a00:20ff:fe22:e80f:33794 complete conn: yes first packet: Mon Mar 2 11:52:34.453217 1998 last packet: Mon Mar 2 11:52:41.908420 1998 elapsed time: 0:00:07.455203 total packets: 1105 filename: ipv6_ftp_nasa.snp.gz e->f: f->e: total packets: 191 total packets: 914 ack pkts sent: 190 ack pkts sent: 914 pure acks sent: 189 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 1243008 actual data pkts: 0 actual data pkts: 911 actual data bytes: 0 actual data bytes: 1243008 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 634 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1440 bytes mss requested: 1440 bytes max segm size: 0 bytes max segm size: 1440 bytes min segm size: 0 bytes min segm size: 704 bytes avg segm size: 0 bytes avg segm size: 1364 bytes max win adv: 25920 bytes max win adv: 25920 bytes min win adv: 8544 bytes min win adv: 8640 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 25750 bytes avg win adv: 25901 bytes max owin: 1 bytes max owin: 679937 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 52850 bytes wavg owin: 0 bytes wavg owin: 32783 bytes initial window: 0 bytes initial window: 1440 bytes initial window: 0 pkts initial window: 1 pkts ttl stream length: 0 bytes ttl stream length: 6311424 bytes missed data: 0 bytes missed data: 5068416 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 7.382 secs idletime max: 633.5 ms idletime max: 619.9 ms throughput: 0 Bps throughput: 166730 Bps RTT samples: 2 RTT samples: 160 RTT min: 0.3 ms RTT min: 0.8 ms RTT max: 0.8 ms RTT max: 56.6 ms RTT avg: 0.6 ms RTT avg: 15.6 ms RTT stdev: 0.0 ms RTT stdev: 8.9 ms RTT from 3WHS: 0.8 ms RTT from 3WHS: 0.8 ms RTT full_sz smpls: 1 RTT full_sz smpls: 130 RTT full_sz min: 0.3 ms RTT full_sz min: 2.2 ms RTT full_sz max: 0.3 ms RTT full_sz max: 25.5 ms RTT full_sz avg: 0.3 ms RTT full_sz avg: 14.5 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 4.9 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 753 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/ipv6_ftp_nasa.snp.gz.packets0100644001217500001440000014776607302732564023634 0ustar mramadasusers1 arg remaining, starting with 'ipv6_ftp_nasa.snp.gz' Packet 1 Packet Length: 78 Collected: Mon Mar 2 11:51:09.763956 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 24 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33793 DPRT: 21 FLG: ----S- (0x02) SEQ: 0x8a0e0945 ACK: 0x00000000 WIN: 8640 HLEN: 24 CKSUM: 0x4a00 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1440) Packet 2 Packet Length: 78 Collected: Mon Mar 2 11:51:09.765437 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 24 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 21 DPRT: 33793 FLG: -A--S- (0x12) SEQ: 0x8e963f61 ACK: 0x8a0e0946 WIN: 8640 HLEN: 24 CKSUM: 0x7bf7 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1440) Packet 3 Packet Length: 74 Collected: Mon Mar 2 11:51:09.765760 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33793 DPRT: 21 FLG: -A---- (0x10) SEQ: 0x8a0e0946 ACK: 0x8e963f62 WIN: 8640 HLEN: 20 CKSUM: 0x93a0 (CORRECT) DLEN: 0 Packet 4 Packet Length: 86 Collected: Mon Mar 2 11:51:14.450374 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 15 Flow: 0 PLEN: 32 NXTH: 58 (IPv6 ICMP) HLIM: 255 Packet 5 Packet Length: 86 Collected: Mon Mar 2 11:51:14.451207 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 15 Flow: 0 PLEN: 40 NXTH: 58 (IPv6 ICMP) HLIM: 255 Packet 6 Packet Length: 136 Collected: Mon Mar 2 11:51:21.704882 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 82 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 21 DPRT: 33793 FLG: -AP--- (0x18) SEQ: 0x8e963f62 ACK: 0x8a0e0946 WIN: 8640 HLEN: 20 CKSUM: 0x11dc (CORRECT) DLEN: 62 data: 62 bytes Packet 7 Packet Length: 85 Collected: Mon Mar 2 11:51:21.716106 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 31 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33793 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0x8a0e0946 ACK: 0x8e963fa0 WIN: 8640 HLEN: 20 CKSUM: 0xeaba (CORRECT) DLEN: 11 data: 11 bytes Packet 8 Packet Length: 107 Collected: Mon Mar 2 11:51:21.724017 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 53 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 21 DPRT: 33793 FLG: -AP--- (0x18) SEQ: 0x8e963fa0 ACK: 0x8a0e0951 WIN: 8640 HLEN: 20 CKSUM: 0xbcde (CORRECT) DLEN: 33 data: 33 bytes Packet 9 Packet Length: 74 Collected: Mon Mar 2 11:51:21.770552 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33793 DPRT: 21 FLG: -A---- (0x10) SEQ: 0x8a0e0951 ACK: 0x8e963fc1 WIN: 8640 HLEN: 20 CKSUM: 0x9336 (CORRECT) DLEN: 0 Packet 10 Packet Length: 91 Collected: Mon Mar 2 11:51:25.826392 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 37 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33793 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0x8a0e0951 ACK: 0x8e963fc1 WIN: 8640 HLEN: 20 CKSUM: 0x13c2 (CORRECT) DLEN: 17 data: 17 bytes Packet 11 Packet Length: 74 Collected: Mon Mar 2 11:51:25.872140 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 21 DPRT: 33793 FLG: -A---- (0x10) SEQ: 0x8e963fc1 ACK: 0x8a0e0962 WIN: 8640 HLEN: 20 CKSUM: 0x9325 (CORRECT) DLEN: 0 Packet 12 Packet Length: 100 Collected: Mon Mar 2 11:51:25.872925 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 46 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 21 DPRT: 33793 FLG: -AP--- (0x18) SEQ: 0x8e963fc1 ACK: 0x8a0e0962 WIN: 8640 HLEN: 20 CKSUM: 0x9ceb (CORRECT) DLEN: 26 data: 26 bytes Packet 13 Packet Length: 74 Collected: Mon Mar 2 11:51:25.920445 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33793 DPRT: 21 FLG: -A---- (0x10) SEQ: 0x8a0e0962 ACK: 0x8e963fdb WIN: 8640 HLEN: 20 CKSUM: 0x930b (CORRECT) DLEN: 0 Packet 14 Packet Length: 82 Collected: Mon Mar 2 11:51:34.826184 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 28 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33793 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0x8a0e0962 ACK: 0x8e963fdb WIN: 8640 HLEN: 20 CKSUM: 0xc109 (CORRECT) DLEN: 8 data: 8 bytes Packet 15 Packet Length: 94 Collected: Mon Mar 2 11:51:34.827770 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 40 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 21 DPRT: 33793 FLG: -AP--- (0x18) SEQ: 0x8e963fdb ACK: 0x8a0e096a WIN: 8640 HLEN: 20 CKSUM: 0x0004 (CORRECT) DLEN: 20 data: 20 bytes Packet 16 Packet Length: 74 Collected: Mon Mar 2 11:51:34.870449 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33793 DPRT: 21 FLG: -A---- (0x10) SEQ: 0x8a0e096a ACK: 0x8e963fef WIN: 8640 HLEN: 20 CKSUM: 0x92ef (CORRECT) DLEN: 0 Packet 17 Packet Length: 55 Collected: Mon Mar 2 11:51:47.784391 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 41 ID: 37181 CKSUM: 0x7aa9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x6607b42c ACK: 0xea9f797d WIN: 8760 HLEN: 20 CKSUM: 0x345a (CORRECT) DLEN: 1 data: 1 bytes Packet 18 Packet Length: 60 Collected: Mon Mar 2 11:51:47.791088 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 41 ID: 4075 CKSUM: 0xfefb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -AP--- (0x18) SEQ: 0xea9f797d ACK: 0x6607b42d WIN: 8760 HLEN: 20 CKSUM: 0x3459 (CORRECT) DLEN: 1 data: 1 bytes Packet 19 Packet Length: 54 Collected: Mon Mar 2 11:51:47.840746 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 37182 CKSUM: 0x7aa9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -A---- (0x10) SEQ: 0x6607b42d ACK: 0xea9f797e WIN: 8760 HLEN: 20 CKSUM: 0x9961 (CORRECT) DLEN: 0 Packet 20 Packet Length: 55 Collected: Mon Mar 2 11:51:47.964221 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 41 ID: 37183 CKSUM: 0x7aa7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x6607b42d ACK: 0xea9f797e WIN: 8760 HLEN: 20 CKSUM: 0x2158 (CORRECT) DLEN: 1 data: 1 bytes Packet 21 Packet Length: 60 Collected: Mon Mar 2 11:51:47.968024 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 41 ID: 4076 CKSUM: 0xfefa (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -AP--- (0x18) SEQ: 0xea9f797e ACK: 0x6607b42e WIN: 8760 HLEN: 20 CKSUM: 0x2157 (CORRECT) DLEN: 1 data: 1 bytes Packet 22 Packet Length: 54 Collected: Mon Mar 2 11:51:48.010477 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 37184 CKSUM: 0x7aa7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -A---- (0x10) SEQ: 0x6607b42e ACK: 0xea9f797f WIN: 8760 HLEN: 20 CKSUM: 0x995f (CORRECT) DLEN: 0 Packet 23 Packet Length: 55 Collected: Mon Mar 2 11:51:48.024139 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 41 ID: 37185 CKSUM: 0x7aa5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x6607b42e ACK: 0xea9f797f WIN: 8760 HLEN: 20 CKSUM: 0x3056 (CORRECT) DLEN: 1 data: 1 bytes Packet 24 Packet Length: 60 Collected: Mon Mar 2 11:51:48.030086 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 41 ID: 4077 CKSUM: 0xfef9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -AP--- (0x18) SEQ: 0xea9f797f ACK: 0x6607b42f WIN: 8760 HLEN: 20 CKSUM: 0x3055 (CORRECT) DLEN: 1 data: 1 bytes Packet 25 Packet Length: 54 Collected: Mon Mar 2 11:51:48.080771 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 37186 CKSUM: 0x7aa5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -A---- (0x10) SEQ: 0x6607b42f ACK: 0xea9f7980 WIN: 8760 HLEN: 20 CKSUM: 0x995d (CORRECT) DLEN: 0 Packet 26 Packet Length: 55 Collected: Mon Mar 2 11:51:48.174129 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 41 ID: 37187 CKSUM: 0x7aa3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x6607b42f ACK: 0xea9f7980 WIN: 8760 HLEN: 20 CKSUM: 0x2554 (CORRECT) DLEN: 1 data: 1 bytes Packet 27 Packet Length: 60 Collected: Mon Mar 2 11:51:48.180454 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 41 ID: 4078 CKSUM: 0xfef8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -AP--- (0x18) SEQ: 0xea9f7980 ACK: 0x6607b430 WIN: 8760 HLEN: 20 CKSUM: 0x2553 (CORRECT) DLEN: 1 data: 1 bytes Packet 28 Packet Length: 54 Collected: Mon Mar 2 11:51:48.230378 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 37188 CKSUM: 0x7aa3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -A---- (0x10) SEQ: 0x6607b430 ACK: 0xea9f7981 WIN: 8760 HLEN: 20 CKSUM: 0x995b (CORRECT) DLEN: 0 Packet 29 Packet Length: 55 Collected: Mon Mar 2 11:51:48.294250 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 41 ID: 37189 CKSUM: 0x7aa1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x6607b430 ACK: 0xea9f7981 WIN: 8760 HLEN: 20 CKSUM: 0x8c52 (CORRECT) DLEN: 1 data: 1 bytes Packet 30 Packet Length: 60 Collected: Mon Mar 2 11:51:48.297195 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 42 ID: 4079 CKSUM: 0xfef6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -AP--- (0x18) SEQ: 0xea9f7981 ACK: 0x6607b431 WIN: 8760 HLEN: 20 CKSUM: 0x8c46 (CORRECT) DLEN: 2 data: 2 bytes Packet 31 Packet Length: 54 Collected: Mon Mar 2 11:51:48.340431 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 37190 CKSUM: 0x7aa1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -A---- (0x10) SEQ: 0x6607b431 ACK: 0xea9f7983 WIN: 8760 HLEN: 20 CKSUM: 0x9958 (CORRECT) DLEN: 0 Packet 32 Packet Length: 63 Collected: Mon Mar 2 11:51:48.350581 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 49 ID: 4080 CKSUM: 0xfeee (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -AP--- (0x18) SEQ: 0xea9f7983 ACK: 0x6607b431 WIN: 8760 HLEN: 20 CKSUM: 0xd4c7 (CORRECT) DLEN: 9 data: 9 bytes Packet 33 Packet Length: 54 Collected: Mon Mar 2 11:51:48.400340 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 37191 CKSUM: 0x7aa0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -A---- (0x10) SEQ: 0x6607b431 ACK: 0xea9f798c WIN: 8760 HLEN: 20 CKSUM: 0x994f (CORRECT) DLEN: 0 Packet 34 Packet Length: 60 Collected: Mon Mar 2 11:51:48.410904 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 42 ID: 4081 CKSUM: 0xfef4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -AP--- (0x18) SEQ: 0xea9f798c ACK: 0x6607b431 WIN: 8760 HLEN: 20 CKSUM: 0x7525 (CORRECT) DLEN: 2 data: 2 bytes Packet 35 Packet Length: 54 Collected: Mon Mar 2 11:51:48.460359 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 37192 CKSUM: 0x7a9f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -A---- (0x10) SEQ: 0x6607b431 ACK: 0xea9f798e WIN: 8760 HLEN: 20 CKSUM: 0x994d (CORRECT) DLEN: 0 Packet 36 Packet Length: 55 Collected: Mon Mar 2 11:51:48.884224 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 41 ID: 37193 CKSUM: 0x7a9d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x6607b431 ACK: 0xea9f798e WIN: 8760 HLEN: 20 CKSUM: 0x3444 (CORRECT) DLEN: 1 data: 1 bytes Packet 37 Packet Length: 55 Collected: Mon Mar 2 11:51:49.070407 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 41 ID: 37194 CKSUM: 0x7a9c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x6607b431 ACK: 0xea9f798e WIN: 8760 HLEN: 20 CKSUM: 0x3444 (CORRECT) DLEN: 1 data: 1 bytes Packet 38 Packet Length: 55 Collected: Mon Mar 2 11:51:49.450443 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 41 ID: 37195 CKSUM: 0x7a9b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -A---- (0x10) SEQ: 0x6607b431 ACK: 0xea9f798e WIN: 8760 HLEN: 20 CKSUM: 0x344c (CORRECT) DLEN: 1 data: 1 bytes Packet 39 Packet Length: 60 Collected: Mon Mar 2 11:51:49.466432 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 41 ID: 4086 CKSUM: 0xfef0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -AP--- (0x18) SEQ: 0xea9f798e ACK: 0x6607b432 WIN: 8760 HLEN: 20 CKSUM: 0x3443 (CORRECT) DLEN: 1 data: 1 bytes Packet 40 Packet Length: 57 Collected: Mon Mar 2 11:51:49.466668 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 43 ID: 37196 CKSUM: 0x7a98 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x6607b432 ACK: 0xea9f798f WIN: 8760 HLEN: 20 CKSUM: 0xacd6 (CORRECT) DLEN: 3 data: 3 bytes Packet 41 Packet Length: 60 Collected: Mon Mar 2 11:51:49.469104 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 43 ID: 4087 CKSUM: 0xfeed (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -AP--- (0x18) SEQ: 0xea9f798f ACK: 0x6607b435 WIN: 8760 HLEN: 20 CKSUM: 0xacd3 (CORRECT) DLEN: 3 data: 3 bytes Packet 42 Packet Length: 55 Collected: Mon Mar 2 11:51:49.494130 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 41 ID: 37197 CKSUM: 0x7a99 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -AP--- (0x18) SEQ: 0x6607b435 ACK: 0xea9f7992 WIN: 8760 HLEN: 20 CKSUM: 0x8c3c (CORRECT) DLEN: 1 data: 1 bytes Packet 43 Packet Length: 60 Collected: Mon Mar 2 11:51:49.497528 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 42 ID: 4088 CKSUM: 0xfeed (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -AP--- (0x18) SEQ: 0xea9f7992 ACK: 0x6607b436 WIN: 8760 HLEN: 20 CKSUM: 0x8c30 (CORRECT) DLEN: 2 data: 2 bytes Packet 44 Packet Length: 54 Collected: Mon Mar 2 11:51:49.540401 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 37198 CKSUM: 0x7a99 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -A---- (0x10) SEQ: 0x6607b436 ACK: 0xea9f7994 WIN: 8760 HLEN: 20 CKSUM: 0x9942 (CORRECT) DLEN: 0 Packet 45 Packet Length: 60 Collected: Mon Mar 2 11:51:50.796488 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 40 ID: 4089 CKSUM: 0xfeee (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -A---F (0x11) SEQ: 0xea9f7994 ACK: 0x6607b436 WIN: 8760 HLEN: 20 CKSUM: 0x9941 (CORRECT) DLEN: 0 Packet 46 Packet Length: 54 Collected: Mon Mar 2 11:51:50.796793 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 37199 CKSUM: 0x7a98 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -A---- (0x10) SEQ: 0x6607b436 ACK: 0xea9f7995 WIN: 8760 HLEN: 20 CKSUM: 0x9941 (CORRECT) DLEN: 0 Packet 47 Packet Length: 54 Collected: Mon Mar 2 11:51:50.817987 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 00:00:0c:07:23:41 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.119.6.39 IP Dest: 128.183.34.146 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 37200 CKSUM: 0x7a97 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1023 DPRT: 513 FLG: -A---F (0x11) SEQ: 0x6607b436 ACK: 0xea9f7995 WIN: 8760 HLEN: 20 CKSUM: 0x9940 (CORRECT) DLEN: 0 Packet 48 Packet Length: 60 Collected: Mon Mar 2 11:51:50.820332 1998 ETH Srce: 00:00:0c:07:23:41 ETH Dest: 08:00:20:22:e8:0f Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.183.34.146 IP Dest: 198.119.6.39 Type: 0x6 (TCP) HLEN: 20 TTL: 252 LEN: 40 ID: 4090 CKSUM: 0xfeed (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 513 DPRT: 1023 FLG: -A---- (0x10) SEQ: 0xea9f7995 ACK: 0x6607b437 WIN: 8760 HLEN: 20 CKSUM: 0x9940 (CORRECT) DLEN: 0 Packet 49 Packet Length: 139 Collected: Mon Mar 2 11:52:34.442299 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 85 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33793 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0x8a0e096a ACK: 0x8e963fef WIN: 8640 HLEN: 20 CKSUM: 0x2f94 (CORRECT) DLEN: 65 data: 65 bytes Packet 50 Packet Length: 104 Collected: Mon Mar 2 11:52:34.444150 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 50 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 21 DPRT: 33793 FLG: -AP--- (0x18) SEQ: 0x8e963fef ACK: 0x8a0e09ab WIN: 8640 HLEN: 20 CKSUM: 0xd99f (CORRECT) DLEN: 30 data: 30 bytes Packet 51 Packet Length: 90 Collected: Mon Mar 2 11:52:34.446121 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 36 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33793 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0x8a0e09ab ACK: 0x8e96400d WIN: 8640 HLEN: 20 CKSUM: 0x0d22 (CORRECT) DLEN: 16 data: 16 bytes Packet 52 Packet Length: 78 Collected: Mon Mar 2 11:52:34.453217 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 24 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 20 DPRT: 33794 FLG: ----S- (0x02) SEQ: 0x8f39727a ACK: 0x00000000 WIN: 25920 HLEN: 24 CKSUM: 0x981f (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1440) Packet 53 Packet Length: 78 Collected: Mon Mar 2 11:52:34.454051 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 24 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A--S- (0x12) SEQ: 0x8ab20441 ACK: 0x8f39727b WIN: 8640 HLEN: 24 CKSUM: 0x4c9b (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1440) Packet 54 Packet Length: 74 Collected: Mon Mar 2 11:52:34.454833 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 20 DPRT: 33794 FLG: -A---- (0x10) SEQ: 0x8f39727b ACK: 0x8ab20442 WIN: 25920 HLEN: 20 CKSUM: 0x20c4 (CORRECT) DLEN: 0 Packet 55 Packet Length: 152 Collected: Mon Mar 2 11:52:34.456086 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 98 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 21 DPRT: 33793 FLG: -AP--- (0x18) SEQ: 0x8e96400d ACK: 0x8a0e09bb WIN: 8640 HLEN: 20 CKSUM: 0x1e85 (CORRECT) DLEN: 78 data: 78 bytes Packet 56 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.493819 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab20442 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x643a (CORRECT) DLEN: 1440 data: 1440 bytes Packet 57 Packet Length: 74 Collected: Mon Mar 2 11:52:34.496002 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 20 DPRT: 33794 FLG: -A---- (0x10) SEQ: 0x8f39727b ACK: 0x8ab209e2 WIN: 25920 HLEN: 20 CKSUM: 0x1b24 (CORRECT) DLEN: 0 Packet 58 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.496324 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab209e2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x7620 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 59 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.496522 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab20f82 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x9e71 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 60 Packet Length: 74 Collected: Mon Mar 2 11:52:34.499677 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 20 DPRT: 33794 FLG: -A---- (0x10) SEQ: 0x8f39727b ACK: 0x8ab21522 WIN: 25920 HLEN: 20 CKSUM: 0x0fe4 (CORRECT) DLEN: 0 Packet 61 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.500326 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab21522 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x5872 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 62 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.500540 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab21ac2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xe8fb (CORRECT) DLEN: 1440 data: 1440 bytes Packet 63 Packet Length: 1066 Collected: Mon Mar 2 11:52:34.500718 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab22062 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xc084 (CORRECT) DLEN: 992 data: 992 bytes Packet 64 Packet Length: 74 Collected: Mon Mar 2 11:52:34.501004 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33793 DPRT: 21 FLG: -A---- (0x10) SEQ: 0x8a0e09bb ACK: 0x8e96405b WIN: 8640 HLEN: 20 CKSUM: 0x9232 (CORRECT) DLEN: 0 Packet 65 Packet Length: 74 Collected: Mon Mar 2 11:52:34.546345 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 20 DPRT: 33794 FLG: -A---- (0x10) SEQ: 0x8f39727b ACK: 0x8ab22442 WIN: 25920 HLEN: 20 CKSUM: 0x00c4 (CORRECT) DLEN: 0 Packet 66 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.546755 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab22442 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x93be (CORRECT) DLEN: 1440 data: 1440 bytes Packet 67 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.546969 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab229e2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x0970 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 68 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.547172 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab22f82 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xa659 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 69 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.547363 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab23522 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x894d (CORRECT) DLEN: 1440 data: 1440 bytes Packet 70 Packet Length: 74 Collected: Mon Mar 2 11:52:34.552205 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 20 DPRT: 33794 FLG: -A---- (0x10) SEQ: 0x8f39727b ACK: 0x8ab229e2 WIN: 25920 HLEN: 20 CKSUM: 0xfb23 (CORRECT) DLEN: 0 Packet 71 Packet Length: 74 Collected: Mon Mar 2 11:52:34.552428 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 20 DPRT: 33794 FLG: -A---- (0x10) SEQ: 0x8f39727b ACK: 0x8ab23522 WIN: 25920 HLEN: 20 CKSUM: 0xefe3 (CORRECT) DLEN: 0 Packet 72 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.552794 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab23ac2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x5ab2 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 73 Packet Length: 1066 Collected: Mon Mar 2 11:52:34.552978 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab24062 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x7755 (CORRECT) DLEN: 992 data: 992 bytes Packet 74 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.553509 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab24442 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x3b9f (CORRECT) DLEN: 1440 data: 1440 bytes Packet 75 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.554067 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab249e2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xbab8 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 76 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.554560 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab24f82 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x52a5 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 77 Packet Length: 74 Collected: Mon Mar 2 11:52:34.559301 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 20 DPRT: 33794 FLG: -A---- (0x10) SEQ: 0x8f39727b ACK: 0x8ab249e2 WIN: 25920 HLEN: 20 CKSUM: 0xdb23 (CORRECT) DLEN: 0 Packet 78 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.559665 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab25522 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xab06 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 79 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.559879 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab25ac2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x07e0 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 80 Packet Length: 1066 Collected: Mon Mar 2 11:52:34.560112 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab26062 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xd6a8 (CORRECT) DLEN: 992 data: 992 bytes Packet 81 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.560325 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab26442 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x72b6 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 82 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.560531 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab269e2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xb0cd (CORRECT) DLEN: 1440 data: 1440 bytes Packet 83 Packet Length: 74 Collected: Mon Mar 2 11:52:34.566179 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 20 DPRT: 33794 FLG: -A---- (0x10) SEQ: 0x8f39727b ACK: 0x8ab26062 WIN: 25920 HLEN: 20 CKSUM: 0xc4a3 (CORRECT) DLEN: 0 Packet 84 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.566653 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab26f82 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xa520 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 85 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.566871 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab27522 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x9b1e (CORRECT) DLEN: 1440 data: 1440 bytes Packet 86 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.567090 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab27ac2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x87a8 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 87 Packet Length: 1066 Collected: Mon Mar 2 11:52:34.567289 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab28062 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x46a0 (CORRECT) DLEN: 992 data: 992 bytes Packet 88 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.567496 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab28442 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x97ce (CORRECT) DLEN: 1440 data: 1440 bytes Packet 89 Packet Length: 74 Collected: Mon Mar 2 11:52:34.573128 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 20 DPRT: 33794 FLG: -A---- (0x10) SEQ: 0x8f39727b ACK: 0x8ab28062 WIN: 25920 HLEN: 20 CKSUM: 0xa4a3 (CORRECT) DLEN: 0 Packet 90 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.573519 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab289e2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xa771 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 91 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.573749 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab28f82 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x202b (CORRECT) DLEN: 1440 data: 1440 bytes Packet 92 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.573966 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab29522 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xa979 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 93 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.574199 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -A---- (0x10) SEQ: 0x8ab29ac2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x742a (CORRECT) DLEN: 1440 data: 1440 bytes Packet 94 Packet Length: 1066 Collected: Mon Mar 2 11:52:34.574412 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1012 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab2a062 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xff0d (CORRECT) DLEN: 992 data: 992 bytes Packet 95 Packet Length: 74 Collected: Mon Mar 2 11:52:34.579926 1998 ETH Srce: 08:00:20:22:dd:b7 ETH Dest: 08:00:20:22:e8:0f Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0001:0a00:20ff:fe22:ddb7 IP Dest: fe80::0002:0a00:20ff:fe22:e80f Class: 0 Flow: 0 PLEN: 20 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 20 DPRT: 33794 FLG: -A---- (0x10) SEQ: 0x8f39727b ACK: 0x8ab2a442 WIN: 25920 HLEN: 20 CKSUM: 0x80c3 (CORRECT) DLEN: 0 Packet 96 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.586710 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab2a442 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xba15 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 97 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.587368 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab2a9e2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xbbb4 (CORRECT) DLEN: 1440 data: 1440 bytes Packet 98 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.587975 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab2af82 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x5b6d (CORRECT) DLEN: 1440 data: 1440 bytes Packet 99 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.588546 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab2b522 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0xf8fd (CORRECT) DLEN: 1440 data: 1440 bytes Packet 100 Packet Length: 1514 Collected: Mon Mar 2 11:52:34.589056 1998 ETH Srce: 08:00:20:22:e8:0f ETH Dest: 08:00:20:22:dd:b7 Type: 0x86dd (IPv6) IP Vers: 6 IP Srce: fe80::0002:0a00:20ff:fe22:e80f IP Dest: fe80::0001:0a00:20ff:fe22:ddb7 Class: 0 Flow: 0 PLEN: 1460 NXTH: 6 (TCP) HLIM: 255 TCP SPRT: 33794 DPRT: 20 FLG: -AP--- (0x18) SEQ: 0x8ab2bac2 ACK: 0x8f39727b WIN: 25920 HLEN: 20 CKSUM: 0x021e (CORRECT) DLEN: 1440 data: 1440 bytes 100 packets seen, 98 TCP packets traced trace file elapsed time: 0:01:24.825100 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: fe80::0002:0a00:20ff:fe22:e80f:33793 - fe80::0001:0a00:20ff:fe22:ddb7:21 (a2b) 11> 8< 2: 198.119.6.39:1023 - 128.183.34.146:513 (c2d) 20> 12< 3: fe80::0001:0a00:20ff:fe22:ddb7:20 - fe80::0002:0a00:20ff:fe22:e80f:33794 (e2f) 11> 36< tcptrace-6.6.7/input/OUTPUTbench/ipv6_ftp_nasa.snp.gz.short0100644001217500001440000000072707253211556023320 0ustar mramadasusers1 arg remaining, starting with 'ipv6_ftp_nasa.snp.gz' 1166 packets seen, 1164 TCP packets traced trace file elapsed time: 0:01:35.571054 TCP connection info: 1: fe80::0002:0a00:20ff:fe22:e80f:33793 - fe80::0001:0a00:20ff:fe22:ddb7:21 (a2b) 15> 12< (complete) 2: 198.119.6.39:1023 - 128.183.34.146:513 (c2d) 20> 12< 3: fe80::0001:0a00:20ff:fe22:ddb7:20 - fe80::0002:0a00:20ff:fe22:e80f:33794 (e2f) 191> 914< (complete) tcptrace-6.6.7/input/OUTPUTbench/ipv6_ftp_nasa.snp.gz.xplots.cksum0100644001217500001440000000166507751776617024656 0ustar mramadasusers2166523008 2995 a2b_owin.xpl 2891382603 558 a2b_rtt.xpl 3127370672 883 a2b_ssize.xpl 1340127885 304 a2b_tput.xpl 2972683626 3320 a2b_tsg.xpl 2370502172 3688 a_b_tline.xpl 1690328349 2176 b2a_owin.xpl 553716015 639 b2a_rtt.xpl 2431083099 1033 b2a_ssize.xpl 44827189 337 b2a_tput.xpl 2628749082 3696 b2a_tsg.xpl 2349006535 5295 c2d_owin.xpl 2630879552 661 c2d_rtt.xpl 3587564147 1529 c2d_ssize.xpl 3453731727 446 c2d_tput.xpl 3286296283 5513 c2d_tsg.xpl 3072309039 6475 c_d_tline.xpl 1448318720 3575 d2c_owin.xpl 2026326251 898 d2c_rtt.xpl 1533468210 1529 d2c_ssize.xpl 2276854971 453 d2c_tput.xpl 1275164144 6648 d2c_tsg.xpl 1094244225 41742 e2f_owin.xpl 3584561386 172 e2f_rtt.xpl 3748732766 160 e2f_ssize.xpl 2398295969 151 e2f_tput.xpl 1863128045 174421 e2f_tsg.xpl 720425367 187999 e_f_tline.xpl 3095566210 267499 f2e_owin.xpl 1466778767 8835 f2e_rtt.xpl 2503146160 127738 f2e_ssize.xpl 787984545 44236 f2e_tput.xpl 2556934108 171468 f2e_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/linux_cooked_socket.dmp.gz.long0100644001217500001440000002471707672375063024412 0ustar mramadasusersTCP packet 4: reserved bits are not all zero. Further warnings disabled, use '-w' for more info 1 arg remaining, starting with 'linux_cooked_socket.dmp.gz' 17 packets seen, 17 TCP packets traced trace file elapsed time: 0:00:01.430824 TCP connection info: 2 TCP connections traced: TCP connection 1: host a: 212.38.233.159:1355 host b: 209.10.41.242:21 complete conn: no (SYNs: 0) (FINs: 0) first packet: Wed May 23 16:46:25.426210 2001 last packet: Wed May 23 16:46:26.547195 2001 elapsed time: 0:00:01.120984 total packets: 9 filename: linux_cooked_socket.dmp.gz a->b: b->a: total packets: 5 total packets: 4 ack pkts sent: 5 ack pkts sent: 4 pure acks sent: 3 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 12 unique bytes sent: 128 actual data pkts: 2 actual data pkts: 3 actual data bytes: 12 actual data bytes: 128 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 3 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 req 1323 ws/ts: N/Y req 1323 ws/ts: N/Y urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 6 bytes max segm size: 54 bytes min segm size: 6 bytes min segm size: 24 bytes avg segm size: 5 bytes avg segm size: 42 bytes max win adv: 11584 bytes max win adv: 5792 bytes min win adv: 11584 bytes min win adv: 5792 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 11584 bytes avg win adv: 5792 bytes max owin: 7 bytes max owin: 55 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 3 bytes avg owin: 33 bytes wavg owin: 6 bytes wavg owin: 21 bytes initial window: 6 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.342 secs data xmit time: 0.780 secs idletime max: 739.4 ms idletime max: 400.0 ms throughput: 11 Bps throughput: 114 Bps RTT samples: 2 RTT samples: 3 RTT min: 340.9 ms RTT min: 0.1 ms RTT max: 399.4 ms RTT max: 40.0 ms RTT avg: 370.1 ms RTT avg: 13.4 ms RTT stdev: 0.0 ms RTT stdev: 23.1 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 2 RTT full_sz smpls: 1 RTT full_sz min: 340.9 ms RTT full_sz min: 40.0 ms RTT full_sz max: 399.4 ms RTT full_sz max: 40.0 ms RTT full_sz avg: 370.1 ms RTT full_sz avg: 40.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 212.38.233.159:1357 host d: 209.10.41.242:32774 complete conn: yes first packet: Wed May 23 16:46:25.767662 2001 last packet: Wed May 23 16:46:26.857034 2001 elapsed time: 0:00:01.089372 total packets: 8 filename: linux_cooked_socket.dmp.gz c->d: d->c: total packets: 4 total packets: 4 ack pkts sent: 3 ack pkts sent: 4 pure acks sent: 2 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 458 actual data pkts: 0 actual data pkts: 2 actual data bytes: 0 actual data bytes: 458 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 2 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 0 adv wind scale: 0 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 0 bytes max segm size: 375 bytes min segm size: 0 bytes min segm size: 83 bytes avg segm size: 0 bytes avg segm size: 228 bytes max win adv: 6432 bytes max win adv: 5792 bytes min win adv: 5840 bytes min win adv: 5792 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 6037 bytes avg win adv: 5792 bytes max owin: 1 bytes max owin: 376 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 153 bytes wavg owin: 0 bytes wavg owin: 113 bytes initial window: 0 bytes initial window: 83 bytes initial window: 0 pkts initial window: 1 pkts ttl stream length: 0 bytes ttl stream length: 458 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.050 secs idletime max: 359.9 ms idletime max: 360.0 ms throughput: 0 Bps throughput: 420 Bps RTT samples: 2 RTT samples: 3 RTT min: 319.6 ms RTT min: 0.1 ms RTT max: 359.4 ms RTT max: 0.3 ms RTT avg: 339.5 ms RTT avg: 0.2 ms RTT stdev: 0.0 ms RTT stdev: 0.1 ms RTT from 3WHS: 359.4 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 319.6 ms RTT full_sz min: 0.3 ms RTT full_sz max: 319.6 ms RTT full_sz max: 0.3 ms RTT full_sz avg: 319.6 ms RTT full_sz avg: 0.3 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/linux_cooked_socket.dmp.gz.packets0100644001217500001440000002421407305533761025067 0ustar mramadasusers1 arg remaining, starting with 'linux_cooked_socket.dmp.gz' Packet 1 Packet Length: 74 Collected: Wed May 23 16:46:25.426210 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 212.38.233.159 IP Dest: 209.10.41.242 Type: 0x6 (TCP) HLEN: 20 TTL: 69 LEN: 58 ID: 43130 CKSUM: 0xd47e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1355 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0xf13247c5 ACK: 0xf1850fbc WIN: 11584 HLEN: 32 CKSUM: 0x8531 (CORRECT) DLEN: 6 OPTS: 12 bytes TS(525857,205850833) data: 6 bytes Packet 2 Packet Length: 118 Collected: Wed May 23 16:46:25.767138 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 209.10.41.242 IP Dest: 212.38.233.159 Type: 0x6 (TCP) HLEN: 20 TTL: 51 LEN: 102 ID: 62006 CKSUM: 0x9c96 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 21 DPRT: 1355 FLG: -AP--- (0x18) SEQ: 0xf1850fbc ACK: 0xf13247cb WIN: 5792 HLEN: 32 CKSUM: 0xdba3 (CORRECT) DLEN: 50 OPTS: 12 bytes TS(205851357,525857) data: 50 bytes Packet 3 Packet Length: 68 Collected: Wed May 23 16:46:25.767247 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 212.38.233.159 IP Dest: 209.10.41.242 Type: 0x6 (TCP) HLEN: 20 TTL: 69 LEN: 52 ID: 43131 CKSUM: 0xd485 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1355 DPRT: 21 FLG: -A---- (0x10) SEQ: 0xf13247cb ACK: 0xf1850fee WIN: 11584 HLEN: 32 CKSUM: 0x337a (CORRECT) DLEN: 0 OPTS: 12 bytes TS(525892,205851357) Packet 4 Packet Length: 76 Collected: Wed May 23 16:46:25.767662 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 212.38.233.159 IP Dest: 209.10.41.242 Type: 0x6 (TCP) HLEN: 20 TTL: 69 LEN: 60 ID: 35419 CKSUM: 0xf29d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1357 DPRT: 32774 FLG: ??----S- (0xc2) SEQ: 0xf4fa8c1f ACK: 0x00000000 WIN: 5840 HLEN: 40 CKSUM: 0x6afa (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(0) TS(525892,0) SACKREQ Packet 5 Packet Length: 74 Collected: Wed May 23 16:46:25.767743 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 212.38.233.159 IP Dest: 209.10.41.242 Type: 0x6 (TCP) HLEN: 20 TTL: 69 LEN: 58 ID: 43132 CKSUM: 0xd47c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1355 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0xf13247cb ACK: 0xf1850fee WIN: 11584 HLEN: 32 CKSUM: 0x86c4 (CORRECT) DLEN: 6 OPTS: 12 bytes TS(525892,205851357) data: 6 bytes Packet 6 Packet Length: 76 Collected: Wed May 23 16:46:26.127111 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 209.10.41.242 IP Dest: 212.38.233.159 Type: 0x6 (TCP) HLEN: 20 TTL: 51 LEN: 60 ID: 0 CKSUM: 0x8ef9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 32774 DPRT: 1357 FLG: ? -A--S- (0x52) SEQ: 0xf51977c4 ACK: 0xf4fa8c20 WIN: 5792 HLEN: 40 CKSUM: 0xe773 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(0) TS(205851394,525892) SACKREQ Packet 7 Packet Length: 68 Collected: Wed May 23 16:46:26.127231 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 212.38.233.159 IP Dest: 209.10.41.242 Type: 0x6 (TCP) HLEN: 20 TTL: 69 LEN: 52 ID: 35420 CKSUM: 0xf2a4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1357 DPRT: 32774 FLG: -A---- (0x10) SEQ: 0xf4fa8c20 ACK: 0xf51977c5 WIN: 5840 HLEN: 32 CKSUM: 0x1625 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(525928,205851394) Packet 8 Packet Length: 68 Collected: Wed May 23 16:46:26.167101 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 209.10.41.242 IP Dest: 212.38.233.159 Type: 0x6 (TCP) HLEN: 20 TTL: 51 LEN: 52 ID: 62007 CKSUM: 0x9cc9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 21 DPRT: 1355 FLG: -A---- (0x10) SEQ: 0xf1850fee ACK: 0xf13247d1 WIN: 5792 HLEN: 32 CKSUM: 0x49eb (CORRECT) DLEN: 0 OPTS: 12 bytes TS(205851398,525892) Packet 9 Packet Length: 122 Collected: Wed May 23 16:46:26.467069 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 209.10.41.242 IP Dest: 212.38.233.159 Type: 0x6 (TCP) HLEN: 20 TTL: 51 LEN: 106 ID: 62008 CKSUM: 0x9c90 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 21 DPRT: 1355 FLG: -AP--- (0x18) SEQ: 0xf1850fee ACK: 0xf13247d1 WIN: 5792 HLEN: 32 CKSUM: 0x5976 (CORRECT) DLEN: 54 OPTS: 12 bytes TS(205851427,525892) data: 54 bytes Packet 10 Packet Length: 151 Collected: Wed May 23 16:46:26.487070 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 209.10.41.242 IP Dest: 212.38.233.159 Type: 0x6 (TCP) HLEN: 20 TTL: 51 LEN: 135 ID: 31975 CKSUM: 0x11c5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 32774 DPRT: 1357 FLG: -AP--- (0x18) SEQ: 0xf51977c5 ACK: 0xf4fa8c20 WIN: 5792 HLEN: 32 CKSUM: 0xbe2e (CORRECT) DLEN: 83 OPTS: 12 bytes TS(205851427,525928) data: 83 bytes Packet 11 Packet Length: 68 Collected: Wed May 23 16:46:26.487178 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 212.38.233.159 IP Dest: 209.10.41.242 Type: 0x6 (TCP) HLEN: 20 TTL: 69 LEN: 52 ID: 35421 CKSUM: 0xf2a3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1357 DPRT: 32774 FLG: -A---- (0x10) SEQ: 0xf4fa8c20 ACK: 0xf5197818 WIN: 5840 HLEN: 32 CKSUM: 0x158d (CORRECT) DLEN: 0 OPTS: 12 bytes TS(525964,205851427) Packet 12 Packet Length: 68 Collected: Wed May 23 16:46:26.507109 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 212.38.233.159 IP Dest: 209.10.41.242 Type: 0x6 (TCP) HLEN: 20 TTL: 69 LEN: 52 ID: 43133 CKSUM: 0xd483 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1355 DPRT: 21 FLG: -A---- (0x10) SEQ: 0xf13247d1 ACK: 0xf1851024 WIN: 11584 HLEN: 32 CKSUM: 0x32ae (CORRECT) DLEN: 0 OPTS: 12 bytes TS(525966,205851427) Packet 13 Packet Length: 443 Collected: Wed May 23 16:46:26.537065 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 209.10.41.242 IP Dest: 212.38.233.159 Type: 0x6 (TCP) HLEN: 20 TTL: 51 LEN: 427 ID: 31976 CKSUM: 0x10a0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 32774 DPRT: 1357 FLG: -AP--F (0x19) SEQ: 0xf5197818 ACK: 0xf4fa8c20 WIN: 5792 HLEN: 32 CKSUM: 0x1de3 (CORRECT) DLEN: 375 OPTS: 12 bytes TS(205851427,525928) data: 375 bytes Packet 14 Packet Length: 68 Collected: Wed May 23 16:46:26.537399 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 212.38.233.159 IP Dest: 209.10.41.242 Type: 0x6 (TCP) HLEN: 20 TTL: 69 LEN: 52 ID: 35422 CKSUM: 0xf2a2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1357 DPRT: 32774 FLG: -A---F (0x11) SEQ: 0xf4fa8c20 ACK: 0xf5197990 WIN: 6432 HLEN: 32 CKSUM: 0x11bf (CORRECT) DLEN: 0 OPTS: 12 bytes TS(525969,205851427) Packet 15 Packet Length: 92 Collected: Wed May 23 16:46:26.547074 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 209.10.41.242 IP Dest: 212.38.233.159 Type: 0x6 (TCP) HLEN: 20 TTL: 51 LEN: 76 ID: 62009 CKSUM: 0x9cad (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 21 DPRT: 1355 FLG: -AP--- (0x18) SEQ: 0xf1851024 ACK: 0xf13247d1 WIN: 5792 HLEN: 32 CKSUM: 0x7a82 (CORRECT) DLEN: 24 OPTS: 12 bytes TS(205851427,525892) data: 24 bytes Packet 16 Packet Length: 68 Collected: Wed May 23 16:46:26.547195 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 212.38.233.159 IP Dest: 209.10.41.242 Type: 0x6 (TCP) HLEN: 20 TTL: 69 LEN: 52 ID: 43134 CKSUM: 0xd482 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1355 DPRT: 21 FLG: -A---- (0x10) SEQ: 0xf13247d1 ACK: 0xf185103c WIN: 11584 HLEN: 32 CKSUM: 0x3292 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(525970,205851427) Packet 17 Packet Length: 68 Collected: Wed May 23 16:46:26.857034 2001 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 209.10.41.242 IP Dest: 212.38.233.159 Type: 0x6 (TCP) HLEN: 20 TTL: 51 LEN: 52 ID: 31977 CKSUM: 0x1218 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 32774 DPRT: 1357 FLG: -A---- (0x10) SEQ: 0xf5197990 ACK: 0xf4fa8c21 WIN: 5792 HLEN: 32 CKSUM: 0x1417 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(205851467,525969) 17 packets seen, 17 TCP packets traced trace file elapsed time: 0:00:01.430824 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 212.38.233.159:1355 - 209.10.41.242:21 (a2b) 5> 4< 2: 212.38.233.159:1357 - 209.10.41.242:32774 (c2d) 4> 4< (complete) tcptrace-6.6.7/input/OUTPUTbench/linux_cooked_socket.dmp.gz.short0100644001217500001440000000062207305533762024572 0ustar mramadasusersTCP packet 4: reserved bits are not all zero. Further warnings disabled, use '-w' for more info 1 arg remaining, starting with 'linux_cooked_socket.dmp.gz' 17 packets seen, 17 TCP packets traced trace file elapsed time: 0:00:01.430824 TCP connection info: 1: 212.38.233.159:1355 - 209.10.41.242:21 (a2b) 5> 4< 2: 212.38.233.159:1357 - 209.10.41.242:32774 (c2d) 4> 4< (complete) tcptrace-6.6.7/input/OUTPUTbench/linux_cooked_socket.dmp.gz.xplots.cksum0100644001217500001440000000115107751776617026120 0ustar mramadasusers1674183812 1501 a2b_owin.xpl 1000910337 251 a2b_rtt.xpl 2828379512 401 a2b_ssize.xpl 3000528505 148 a2b_tput.xpl 2301564199 1377 a2b_tsg.xpl 1692379323 1769 a_b_tline.xpl 2351337549 1250 b2a_owin.xpl 1691929238 315 b2a_rtt.xpl 4138794308 558 b2a_ssize.xpl 895055203 180 b2a_tput.xpl 2414493891 1718 b2a_tsg.xpl 357481834 879 c2d_owin.xpl 1949605928 254 c2d_rtt.xpl 1329799042 129 c2d_ssize.xpl 388816308 120 c2d_tput.xpl 2493188809 1383 c2d_tsg.xpl 3454991072 1693 c_d_tline.xpl 2717160104 949 d2c_owin.xpl 1794100141 281 d2c_rtt.xpl 376375849 420 d2c_ssize.xpl 2032300942 185 d2c_tput.xpl 859034504 1358 d2c_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/long_rtt.dmp.gz.long0100644001217500001440000001375707672375063022211 0ustar mramadasusers1 arg remaining, starting with 'long_rtt.dmp.gz' 42 packets seen, 42 TCP packets traced trace file elapsed time: 0:04:22.897942 TCP connection info: 1 TCP connection traced: *** 1 packets were too short to process at some point (use -w option to show details) TCP connection 1: host a: 132.235.67.20:4701 host b: 132.235.67.34:9080 complete conn: yes first packet: Mon Nov 2 13:22:21.442755 1998 last packet: Mon Nov 2 13:26:44.340698 1998 elapsed time: 0:04:22.897942 total packets: 42 filename: long_rtt.dmp.gz a->b: b->a: total packets: 25 total packets: 17 ack pkts sent: 24 ack pkts sent: 17 pure acks sent: 2 pure acks sent: 15 sack pkts sent: 0 sack pkts sent: 7 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 2 unique bytes sent: 24201 unique bytes sent: 0 actual data pkts: 22 actual data pkts: 0 actual data bytes: 31441 actual data bytes: 0 rexmt data pkts: 5 rexmt data pkts: 0 rexmt data bytes: 7240 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 8 adv wind scale: 3 req sack: Y req sack: Y sacks sent: 0 sacks sent: 7 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 1033 bytes min segm size: 0 bytes avg segm size: 1429 bytes avg segm size: 0 bytes max win adv: 1516544 bytes max win adv: 246720 bytes min win adv: 1516544 bytes min win adv: 222520 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 1516544 bytes avg win adv: 234373 bytes max owin: 11170 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 4856 bytes avg owin: 1 bytes wavg owin: 11023 bytes wavg owin: 0 bytes initial window: 1448 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: 24201 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 30253 bytes truncated data: 0 bytes truncated packets: 22 pkts truncated packets: 0 pkts data xmit time: 261.186 secs data xmit time: 0.000 secs idletime max: 64506.0 ms idletime max: 64679.2 ms throughput: 92 Bps throughput: 0 Bps RTT samples: 7 RTT samples: 2 RTT min: 880.3 ms RTT min: 0.1 ms RTT max: 1087.2 ms RTT max: 0.1 ms RTT avg: 970.7 ms RTT avg: 0.1 ms RTT stdev: 69.9 ms RTT stdev: 0.0 ms RTT from 3WHS: 880.3 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 6 RTT full_sz smpls: 1 RTT full_sz min: 899.2 ms RTT full_sz min: 0.1 ms RTT full_sz max: 1087.2 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 985.7 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 62.9 ms RTT full_sz stdev: 0.0 ms post-loss acks: 2 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 2 ambiguous acks: 0 RTT min (last): 828.5 ms RTT min (last): 0.0 ms RTT max (last): 924.7 ms RTT max (last): 0.0 ms RTT avg (last): 876.6 ms RTT avg (last): 0.0 ms RTT sdv (last): 0.0 ms RTT sdv (last): 0.0 ms segs cum acked: 7 segs cum acked: 0 duplicate acks: 5 duplicate acks: 0 triple dupacks: 1 triple dupacks: 0 max # retrans: 2 max # retrans: 0 min retr time: 2003.7 ms min retr time: 0.0 ms max retr time: 257352.1 ms max retr time: 0.0 ms avg retr time: 128849.7 ms avg retr time: 0.0 ms sdv retr time: 101321.8 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/long_rtt.dmp.gz.packets0100644001217500001440000006225507302732565022673 0ustar mramadasusers1 arg remaining, starting with 'long_rtt.dmp.gz' Packet 1 Packet Length: 78 Collected: Mon Nov 2 13:22:21.442755 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 41445 CKSUM: 0x48c6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: ----S- (0x02) SEQ: 0x67f61cca ACK: 0x00000000 WIN: 65535 HLEN: 44 CKSUM: 0x3e83 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(8) TS(1748153,0) SACKREQ Packet 2 Packet Length: 74 Collected: Mon Nov 2 13:22:22.323098 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 60 ID: 50743 CKSUM: 0x2678 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A--S- (0x12) SEQ: 0xa31ee2ad ACK: 0x67f61ccb WIN: 16384 HLEN: 40 CKSUM: 0xb67a (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(3) SACKREQ Packet 3 Packet Length: 66 Collected: Mon Nov 2 13:22:22.323229 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 41581 CKSUM: 0x484a (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f61ccb ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x6264 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1748155,1933265) Packet 4 Packet Length: 120 Collected: Mon Nov 2 13:22:22.332432 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 41584 CKSUM: 0x429f (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f61ccb ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x5cbc (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748155,1933265) data: 1448 bytes Packet 5 Packet Length: 66 Collected: Mon Nov 2 13:22:23.124401 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 50857 CKSUM: 0x260e (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f61ccb WIN: 30840 HLEN: 32 CKSUM: 0xade3 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933267,0) Packet 6 Packet Length: 66 Collected: Mon Nov 2 13:22:23.318349 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 50874 CKSUM: 0x25fd (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f62273 WIN: 30659 HLEN: 32 CKSUM: 0xfc1a (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933267,1748155) Packet 7 Packet Length: 120 Collected: Mon Nov 2 13:22:23.319903 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 41787 CKSUM: 0x41d4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f62273 ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x5712 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748157,1933265) data: 1448 bytes Packet 8 Packet Length: 120 Collected: Mon Nov 2 13:22:23.321238 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 41788 CKSUM: 0x41d3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f6281b ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x516a (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748157,1933265) data: 1448 bytes Packet 9 Packet Length: 66 Collected: Mon Nov 2 13:22:24.220416 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 51023 CKSUM: 0x2568 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f62dc3 WIN: 30297 HLEN: 32 CKSUM: 0xf230 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933269,1748157) Packet 10 Packet Length: 120 Collected: Mon Nov 2 13:22:24.222656 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 41976 CKSUM: 0x4117 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f62dc3 ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x4bc0 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748159,1933265) data: 1448 bytes Packet 11 Packet Length: 120 Collected: Mon Nov 2 13:22:24.223750 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 41977 CKSUM: 0x4116 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f6336b ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x4618 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748159,1933265) data: 1448 bytes Packet 12 Packet Length: 120 Collected: Mon Nov 2 13:22:24.225005 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 41978 CKSUM: 0x4115 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f63913 ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x9614 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748159,1933265) data: 1448 bytes Packet 13 Packet Length: 66 Collected: Mon Nov 2 13:22:25.170200 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 51175 CKSUM: 0x24d0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f63913 WIN: 29935 HLEN: 32 CKSUM: 0xe846 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933271,1748159) Packet 14 Packet Length: 120 Collected: Mon Nov 2 13:22:25.172462 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 42164 CKSUM: 0x405b (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f63ebb ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x6ed6 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748161,1933265) data: 1448 bytes Packet 15 Packet Length: 120 Collected: Mon Nov 2 13:22:25.173540 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 42165 CKSUM: 0x405a (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f64463 ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x351e (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748161,1933265) data: 1448 bytes Packet 16 Packet Length: 120 Collected: Mon Nov 2 13:22:25.175050 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 42166 CKSUM: 0x4059 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f64a0b ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x2f76 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748161,1933265) data: 1448 bytes Packet 17 Packet Length: 66 Collected: Mon Nov 2 13:22:25.231720 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 51188 CKSUM: 0x24c3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f63ebb WIN: 29754 HLEN: 32 CKSUM: 0xe353 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933271,1748159) Packet 18 Packet Length: 120 Collected: Mon Nov 2 13:22:25.233917 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 42177 CKSUM: 0x404e (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f64fb3 ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0xacf3 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748161,1933265) data: 1448 bytes Packet 19 Packet Length: 120 Collected: Mon Nov 2 13:22:25.235091 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 42178 CKSUM: 0x404d (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f6555b ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x93d5 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748161,1933265) data: 1448 bytes Packet 20 Packet Length: 66 Collected: Mon Nov 2 13:22:26.162642 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 51319 CKSUM: 0x2440 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f64a0b WIN: 29392 HLEN: 32 CKSUM: 0xd969 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933273,1748161) Packet 21 Packet Length: 120 Collected: Mon Nov 2 13:22:26.163926 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 42375 CKSUM: 0x3f88 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f65b03 ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x9ac0 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748163,1933265) data: 1448 bytes Packet 22 Packet Length: 120 Collected: Mon Nov 2 13:22:26.165158 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 42376 CKSUM: 0x3f87 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f660ab ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x18d4 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748163,1933265) data: 1448 bytes Packet 23 Packet Length: 120 Collected: Mon Nov 2 13:22:26.166385 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 42377 CKSUM: 0x3f86 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f66653 ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x132c (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748163,1933265) data: 1448 bytes Packet 24 Packet Length: 66 Collected: Mon Nov 2 13:22:26.262279 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 51327 CKSUM: 0x2438 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f64fb3 WIN: 29211 HLEN: 32 CKSUM: 0xd476 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933273,1748161) Packet 25 Packet Length: 120 Collected: Mon Nov 2 13:22:26.263721 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 42390 CKSUM: 0x3f79 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f66bfb ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x0d84 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748163,1933265) data: 1448 bytes Packet 26 Packet Length: 120 Collected: Mon Nov 2 13:22:26.264938 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 42391 CKSUM: 0x3f78 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f671a3 ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x07dc (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748163,1933265) data: 1448 bytes Packet 27 Packet Length: 78 Collected: Mon Nov 2 13:22:27.082897 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 64 ID: 51479 CKSUM: 0x2394 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f64fb3 WIN: 29211 HLEN: 44 CKSUM: 0x12c2 (CORRECT) DLEN: 0 OPTS: 24 bytes TS(1933275,1748161) SACKS(1)[0x67f65b03-0x67f660ab] Packet 28 Packet Length: 120 Collected: Mon Nov 2 13:22:27.084157 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1085 ID: 42577 CKSUM: 0x405d (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -AP--F (0x19) SEQ: 0x67f6774b ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x0cd0 (too short to verify) DLEN: 1033 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748165,1933265) data: 1033 bytes Packet 29 Packet Length: 86 Collected: Mon Nov 2 13:22:27.234849 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 72 ID: 51485 CKSUM: 0x2386 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f64fb3 WIN: 29211 HLEN: 52 CKSUM: 0x4526 (CORRECT) DLEN: 0 OPTS: 32 bytes TS(1933275,1748161) SACKS(2)[0x67f66bfb-0x67f671a3][0x67f65b03-0x67f660ab] Packet 30 Packet Length: 86 Collected: Mon Nov 2 13:22:27.235407 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 72 ID: 51486 CKSUM: 0x2385 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f64fb3 WIN: 29211 HLEN: 52 CKSUM: 0x3f7e (CORRECT) DLEN: 0 OPTS: 32 bytes TS(1933275,1748161) SACKS(2)[0x67f66bfb-0x67f6774b][0x67f65b03-0x67f660ab] Packet 31 Packet Length: 120 Collected: Mon Nov 2 13:22:27.237607 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 42590 CKSUM: 0x3eb1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f64fb3 ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0xacef (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748165,1933265) data: 1448 bytes Packet 32 Packet Length: 86 Collected: Mon Nov 2 13:22:28.226458 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 72 ID: 51620 CKSUM: 0x22ff (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f64fb3 WIN: 29211 HLEN: 52 CKSUM: 0x3b73 (CORRECT) DLEN: 0 OPTS: 32 bytes TS(1933277,1748161) SACKS(2)[0x67f66bfb-0x67f67b54][0x67f65b03-0x67f660ab] Packet 33 Packet Length: 120 Collected: Mon Nov 2 13:23:30.013362 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 55277 CKSUM: 0x0d22 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f64fb3 ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0xac72 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748290,1933265) data: 1448 bytes Packet 34 Packet Length: 86 Collected: Mon Nov 2 13:23:30.841899 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 72 ID: 61511 CKSUM: 0xfc5b (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f6555b WIN: 29030 HLEN: 52 CKSUM: 0x35ff (CORRECT) DLEN: 0 OPTS: 32 bytes TS(1933402,1748165) SACKS(2)[0x67f66bfb-0x67f67b54][0x67f65b03-0x67f660ab] Packet 35 Packet Length: 120 Collected: Mon Nov 2 13:24:34.517921 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 3716 CKSUM: 0xd68b (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f6555b ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x92d3 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748419,1933265) data: 1448 bytes Packet 36 Packet Length: 78 Collected: Mon Nov 2 13:24:35.257962 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 64 ID: 6481 CKSUM: 0xd35a (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f660ab WIN: 28668 HLEN: 44 CKSUM: 0xd645 (CORRECT) DLEN: 0 OPTS: 24 bytes TS(1933531,1748419) SACKS(1)[0x67f66bfb-0x67f67b54] Packet 37 Packet Length: 120 Collected: Mon Nov 2 13:25:39.012427 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 17447 CKSUM: 0xa0e8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f660ab ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x1753 (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748548,1933265) data: 1448 bytes Packet 38 Packet Length: 78 Collected: Mon Nov 2 13:25:39.937147 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 64 ID: 16990 CKSUM: 0xaa4d (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f66653 WIN: 28487 HLEN: 44 CKSUM: 0xd050 (CORRECT) DLEN: 0 OPTS: 24 bytes TS(1933660,1748548) SACKS(1)[0x67f66bfb-0x67f67b54] Packet 39 Packet Length: 120 Collected: Mon Nov 2 13:26:43.518441 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 31521 CKSUM: 0x69ee (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f66653 ACK: 0xa31ee2ae WIN: 5924 HLEN: 32 CKSUM: 0x112a (too short to verify) DLEN: 1448 (only 54 bytes in dump file) OPTS: 12 bytes TS(1748677,1933265) data: 1448 bytes Packet 40 Packet Length: 66 Collected: Mon Nov 2 13:26:44.328449 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 27541 CKSUM: 0x8122 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---- (0x10) SEQ: 0xa31ee2ae ACK: 0x67f67b55 WIN: 27815 HLEN: 32 CKSUM: 0xaa40 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933789,1748677) Packet 41 Packet Length: 66 Collected: Mon Nov 2 13:26:44.340639 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.34 IP Dest: 132.235.67.20 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 27543 CKSUM: 0x8120 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9080 DPRT: 4701 FLG: -A---F (0x11) SEQ: 0xa31ee2ae ACK: 0x67f67b55 WIN: 27815 HLEN: 32 CKSUM: 0xaa3f (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1933789,1748677) Packet 42 Packet Length: 66 Collected: Mon Nov 2 13:26:44.340698 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.67.20 IP Dest: 132.235.67.34 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 31708 CKSUM: 0x6edb (CORRECT) OFFSET: 0x0000 TCP SPRT: 4701 DPRT: 9080 FLG: -A---- (0x10) SEQ: 0x67f67b55 ACK: 0xa31ee2af WIN: 5924 HLEN: 32 CKSUM: 0xffc0 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1748679,1933789) 42 packets seen, 42 TCP packets traced trace file elapsed time: 0:04:22.897942 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: *** 2 packets were too short to process at some point (use -w option to show details) 1: 132.235.67.20:4701 - 132.235.67.34:9080 (a2b) 25> 17< (complete) tcptrace-6.6.7/input/OUTPUTbench/long_rtt.dmp.gz.short0100644001217500001440000000047007253211557022365 0ustar mramadasusers1 arg remaining, starting with 'long_rtt.dmp.gz' 42 packets seen, 42 TCP packets traced trace file elapsed time: 0:04:22.897942 TCP connection info: *** 1 packets were too short to process at some point (use -w option to show details) 1: 132.235.67.20:4701 - 132.235.67.34:9080 (a2b) 25> 17< (complete) tcptrace-6.6.7/input/OUTPUTbench/long_rtt.dmp.gz.xplots.cksum0100644001217500001440000000047107751776617023721 0ustar mramadasusers1363753804 6208 a2b_owin.xpl 2633723140 637 a2b_rtt.xpl 2232860368 3612 a2b_ssize.xpl 2692827200 1170 a2b_tput.xpl 3063623832 9411 a2b_tsg.xpl 2321191496 7827 a_b_tline.xpl 483202850 4853 b2a_owin.xpl 1280100858 209 b2a_rtt.xpl 3927655761 127 b2a_ssize.xpl 1319724957 118 b2a_tput.xpl 3356721261 6386 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/nlanr.tsh.gz.long0100644001217500001440000000132507740610060021456 0ustar mramadasusersUnknown input file format Supported Input File Formats: tcpdump tcpdump -- Public domain program from LBL snoop Sun Snoop -- Distributed with Solaris etherpeek etherpeek -- Mac sniffer program netmetrix Net Metrix -- Commercial program from HP ns ns -- network simulator from LBL netscout NetScout Manager format erf Endace Extensible Record Format Try the tethereal program from the ethereal project to see if it can understand this capture format. If so, you may use tethereal to convert it to a tcpdump format file as in : tethereal -r inputfile -w outputfile and feed the outputfile to tcptrace 1 arg remaining, starting with 'nlanr.tsh.gz' tcptrace-6.6.7/input/OUTPUTbench/nlanr.tsh.gz.packets0100644001217500001440000000005707740610060022152 0ustar mramadasusers1 arg remaining, starting with 'nlanr.tsh.gz' tcptrace-6.6.7/input/OUTPUTbench/nlanr.tsh.gz.short0100644001217500001440000000132507740610060021656 0ustar mramadasusersUnknown input file format Supported Input File Formats: tcpdump tcpdump -- Public domain program from LBL snoop Sun Snoop -- Distributed with Solaris etherpeek etherpeek -- Mac sniffer program netmetrix Net Metrix -- Commercial program from HP ns ns -- network simulator from LBL netscout NetScout Manager format erf Endace Extensible Record Format Try the tethereal program from the ethereal project to see if it can understand this capture format. If so, you may use tethereal to convert it to a tcpdump format file as in : tethereal -r inputfile -w outputfile and feed the outputfile to tcptrace 1 arg remaining, starting with 'nlanr.tsh.gz' tcptrace-6.6.7/input/OUTPUTbench/nlanr.tsh.gz.xplots.cksum0100644001217500001440000000000007740610060023156 0ustar mramadasuserstcptrace-6.6.7/input/OUTPUTbench/pcap_v2.2.dmp.gz.long0100644001217500001440000002634007672375063022043 0ustar mramadasusers1 arg remaining, starting with 'pcap_v2.2.dmp.gz' 40 packets seen, 40 TCP packets traced trace file elapsed time: 0:00:01.448223 TCP connection info: 2 TCP connections traced: *** 2 packets were too short to process at some point (use -w option to show details) TCP connection 1: host a: 128.224.2.23:1036 host b: 128.224.1.148:9 complete conn: no (SYNs: 2) (FINs: 0) first packet: Tue Feb 11 19:25:57.818762 1997 last packet: Tue Feb 11 19:25:59.266986 1997 elapsed time: 0:00:01.448223 total packets: 37 filename: pcap_v2.2.dmp.gz a->b: b->a: total packets: 19 total packets: 18 ack pkts sent: 18 ack pkts sent: 18 pure acks sent: 1 pure acks sent: 16 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 8650 unique bytes sent: 0 actual data pkts: 17 actual data pkts: 0 actual data bytes: 8650 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 1 rexmt data bytes: 0 rexmt data bytes: 1 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 0 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 2/0 req 1323 ws/ts: Y/N req 1323 ws/ts: N/N adv wind scale: 0 adv wind scale: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 536 bytes max segm size: 536 bytes max segm size: 0 bytes min segm size: 74 bytes min segm size: 0 bytes avg segm size: 508 bytes avg segm size: 0 bytes max win adv: 16616 bytes max win adv: 16384 bytes min win adv: 16384 bytes min win adv: 16384 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 16603 bytes avg win adv: 16384 bytes max owin: 16081 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 6560 bytes avg owin: 1 bytes wavg owin: 6081 bytes wavg owin: 0 bytes initial window: 610 bytes initial window: 0 bytes initial window: 2 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 8412 bytes truncated data: 0 bytes truncated packets: 17 pkts truncated packets: 0 pkts data xmit time: 1.382 secs data xmit time: 0.000 secs idletime max: 87.1 ms idletime max: 687.4 ms hardware dups: 0 segs hardware dups: 9 segs ** WARNING: presence of hardware duplicates makes these figures suspect! throughput: 5973 Bps throughput: 0 Bps RTT samples: 9 RTT samples: 0 RTT min: 1.2 ms RTT min: 0.0 ms RTT max: 2.0 ms RTT max: 0.0 ms RTT avg: 1.4 ms RTT avg: 0.0 ms RTT stdev: 0.2 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.6 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 8 RTT full_sz smpls: 0 RTT full_sz min: 1.2 ms RTT full_sz min: 0.0 ms RTT full_sz max: 2.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 1.4 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.2 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 0 ambiguous acks: 1 RTT min (last): 0.0 ms RTT min (last): 35.4 ms RTT max (last): 0.0 ms RTT max (last): 35.4 ms RTT avg (last): 0.0 ms RTT avg (last): 35.4 ms RTT sdv (last): 0.0 ms RTT sdv (last): 0.0 ms segs cum acked: 1 segs cum acked: 0 duplicate acks: 8 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 1 min retr time: 0.0 ms min retr time: 2.6 ms max retr time: 0.0 ms max retr time: 2.6 ms avg retr time: 0.0 ms avg retr time: 2.6 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 128.224.2.23:1037 host d: 128.224.1.148:19 complete conn: no (SYNs: 2) (FINs: 0) first packet: Tue Feb 11 19:25:57.831914 1997 last packet: Tue Feb 11 19:25:57.835566 1997 elapsed time: 0:00:00.003652 total packets: 3 filename: pcap_v2.2.dmp.gz c->d: d->c: total packets: 1 total packets: 2 ack pkts sent: 0 ack pkts sent: 2 pure acks sent: 0 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 0 actual data pkts: 0 actual data pkts: 0 actual data bytes: 0 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 1 rexmt data bytes: 0 rexmt data bytes: 1 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 2/0 req 1323 ws/ts: Y/N req 1323 ws/ts: N/N adv wind scale: 0 adv wind scale: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 536 bytes max segm size: 0 bytes max segm size: 0 bytes min segm size: 0 bytes min segm size: 0 bytes avg segm size: 0 bytes avg segm size: 0 bytes max win adv: 16384 bytes max win adv: 1 bytes min win adv: 16384 bytes min win adv: 1 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 16384 bytes avg win adv: 1 bytes max owin: 0 bytes max owin: 0 bytes min non-zero owin: 0 bytes min non-zero owin: 0 bytes avg owin: 0 bytes avg owin: 0 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 1435.1 ms idletime max: 1431.4 ms hardware dups: 0 segs hardware dups: 1 segs ** WARNING: presence of hardware duplicates makes these figures suspect! throughput: 0 Bps throughput: 0 Bps RTT samples: 1 RTT samples: 0 RTT min: 1.1 ms RTT min: 0.0 ms RTT max: 1.1 ms RTT max: 0.0 ms RTT avg: 1.1 ms RTT avg: 0.0 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.1 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 0 RTT full_sz min: 1.1 ms RTT full_sz min: 0.0 ms RTT full_sz max: 1.1 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 1.1 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 1 min retr time: 0.0 ms min retr time: 2.6 ms max retr time: 0.0 ms max retr time: 2.6 ms avg retr time: 0.0 ms avg retr time: 2.6 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/pcap_v2.2.dmp.gz.packets0100644001217500001440000005544407302732566022540 0ustar mramadasusers1 arg remaining, starting with 'pcap_v2.2.dmp.gz' Packet 1 Packet Length: 82 (saved length 68) Collected: Tue Feb 11 19:25:57.818762 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 68 ID: 17307 CKSUM: 0xf3ad (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: ----S- (0x02) SEQ: 0x4fa65001 ACK: 0x00000000 WIN: 16384 HLEN: 48 (only 34 bytes in dump file) CKSUM: 0xc481 (too short to verify) DLEN: 0 OPTS: 28 bytes (14 bytes in file) MSS(1460) WS(0) Packet 2 Packet Length: 60 Collected: Tue Feb 11 19:25:57.820318 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 6607 CKSUM: 0x9c91 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A--S- (0x12) SEQ: 0xb5648846 ACK: 0x4fa65002 WIN: 16384 HLEN: 24 CKSUM: 0x74de (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(536) Packet 3 Packet Length: 60 Collected: Tue Feb 11 19:25:57.822881 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 44 ID: 6607 CKSUM: 0x9d91 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A--S- (0x12) SEQ: 0xb5648846 ACK: 0x4fa65002 WIN: 16384 HLEN: 24 CKSUM: 0x74de (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(536) Packet 4 Packet Length: 82 (saved length 68) Collected: Tue Feb 11 19:25:57.831914 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 68 ID: 17309 CKSUM: 0xf3ab (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1037 DPRT: 19 FLG: ----S- (0x02) SEQ: 0x4fa74a01 ACK: 0x00000000 WIN: 16384 HLEN: 48 (only 34 bytes in dump file) CKSUM: 0xca74 (too short to verify) DLEN: 0 OPTS: 28 bytes (14 bytes in file) MSS(1460) WS(0) Packet 5 Packet Length: 60 Collected: Tue Feb 11 19:25:57.833011 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 6608 CKSUM: 0x9c90 (CORRECT) OFFSET: 0x0000 TCP SPRT: 19 DPRT: 1037 FLG: -A--S- (0x12) SEQ: 0xb56493fe ACK: 0x4fa74a02 WIN: 1 HLEN: 24 CKSUM: 0xaf19 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(536) Packet 6 Packet Length: 60 Collected: Tue Feb 11 19:25:57.835566 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 44 ID: 6608 CKSUM: 0x9d90 (CORRECT) OFFSET: 0x0000 TCP SPRT: 19 DPRT: 1037 FLG: -A--S- (0x12) SEQ: 0xb56493fe ACK: 0x4fa74a02 WIN: 1 HLEN: 24 CKSUM: 0xaf19 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(536) Packet 7 Packet Length: 60 Collected: Tue Feb 11 19:25:57.858270 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 40 ID: 17310 CKSUM: 0xf3c6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65002 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x8817 (CORRECT) DLEN: 0 Packet 8 Packet Length: 128 (saved length 68) Collected: Tue Feb 11 19:25:57.884522 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 114 ID: 17312 CKSUM: 0xf37a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -AP--- (0x18) SEQ: 0x4fa65002 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0xe0fd (too short to verify) DLEN: 74 (only 14 bytes in dump file) data: 74 bytes Packet 9 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:57.971608 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17313 CKSUM: 0xf1ab (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa6504c ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x4788 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 10 Packet Length: 60 Collected: Tue Feb 11 19:25:57.972862 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6609 CKSUM: 0x9c93 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65264 WIN: 16384 HLEN: 20 CKSUM: 0x869d (CORRECT) DLEN: 0 Packet 11 Packet Length: 60 Collected: Tue Feb 11 19:25:57.975427 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6609 CKSUM: 0x9d93 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65264 WIN: 16384 HLEN: 20 CKSUM: 0x869d (CORRECT) DLEN: 0 Packet 12 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.057734 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17314 CKSUM: 0xf1aa (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65264 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x3964 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 13 Packet Length: 60 Collected: Tue Feb 11 19:25:58.059060 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6610 CKSUM: 0x9c92 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa6547c WIN: 16384 HLEN: 20 CKSUM: 0x8485 (CORRECT) DLEN: 0 Packet 14 Packet Length: 60 Collected: Tue Feb 11 19:25:58.061661 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6610 CKSUM: 0x9d92 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa6547c WIN: 16384 HLEN: 20 CKSUM: 0x8485 (CORRECT) DLEN: 0 Packet 15 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.143811 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17315 CKSUM: 0xf1a9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa6547c ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x2b40 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 16 Packet Length: 60 Collected: Tue Feb 11 19:25:58.145820 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6611 CKSUM: 0x9c91 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65694 WIN: 16384 HLEN: 20 CKSUM: 0x826d (CORRECT) DLEN: 0 Packet 17 Packet Length: 60 Collected: Tue Feb 11 19:25:58.148399 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6611 CKSUM: 0x9d91 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65694 WIN: 16384 HLEN: 20 CKSUM: 0x826d (CORRECT) DLEN: 0 Packet 18 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.230253 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17316 CKSUM: 0xf1a8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65694 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x8b00 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 19 Packet Length: 60 Collected: Tue Feb 11 19:25:58.231697 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6612 CKSUM: 0x9c90 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa658ac WIN: 16384 HLEN: 20 CKSUM: 0x8055 (CORRECT) DLEN: 0 Packet 20 Packet Length: 60 Collected: Tue Feb 11 19:25:58.234260 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6612 CKSUM: 0x9d90 (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa658ac WIN: 16384 HLEN: 20 CKSUM: 0x8055 (CORRECT) DLEN: 0 Packet 21 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.316637 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17317 CKSUM: 0xf1a7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa658ac ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x7e84 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 22 Packet Length: 60 Collected: Tue Feb 11 19:25:58.317993 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6613 CKSUM: 0x9c8f (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65ac4 WIN: 16384 HLEN: 20 CKSUM: 0x7e3d (CORRECT) DLEN: 0 Packet 23 Packet Length: 60 Collected: Tue Feb 11 19:25:58.320594 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6613 CKSUM: 0x9d8f (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65ac4 WIN: 16384 HLEN: 20 CKSUM: 0x7e3d (CORRECT) DLEN: 0 Packet 24 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.402943 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17318 CKSUM: 0xf1a6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65ac4 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x1963 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 25 Packet Length: 60 Collected: Tue Feb 11 19:25:58.404383 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6614 CKSUM: 0x9c8e (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65cdc WIN: 16384 HLEN: 20 CKSUM: 0x7c25 (CORRECT) DLEN: 0 Packet 26 Packet Length: 60 Collected: Tue Feb 11 19:25:58.406932 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6614 CKSUM: 0x9d8e (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65cdc WIN: 16384 HLEN: 20 CKSUM: 0x7c25 (CORRECT) DLEN: 0 Packet 27 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.489366 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17319 CKSUM: 0xf1a5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65cdc ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0xbbef (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 28 Packet Length: 60 Collected: Tue Feb 11 19:25:58.490698 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6615 CKSUM: 0x9c8d (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65ef4 WIN: 16384 HLEN: 20 CKSUM: 0x7a0d (CORRECT) DLEN: 0 Packet 29 Packet Length: 60 Collected: Tue Feb 11 19:25:58.493308 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6615 CKSUM: 0x9d8d (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa65ef4 WIN: 16384 HLEN: 20 CKSUM: 0x7a0d (CORRECT) DLEN: 0 Packet 30 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.575800 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17320 CKSUM: 0xf1a4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa65ef4 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0xd797 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 31 Packet Length: 60 Collected: Tue Feb 11 19:25:58.577042 1997 ETH Srce: 08:00:20:7a:f7:8d ETH Dest: 00:00:0c:8d:43:8c Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 6616 CKSUM: 0x9c8c (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa6610c WIN: 16384 HLEN: 20 CKSUM: 0x77f5 (CORRECT) DLEN: 0 Packet 32 Packet Length: 60 Collected: Tue Feb 11 19:25:58.579624 1997 ETH Srce: 00:00:0c:8d:43:8c ETH Dest: 00:00:c0:57:c8:53 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.1.148 IP Dest: 128.224.2.23 Type: 0x6 (TCP) HLEN: 20 TTL: 254 LEN: 40 ID: 6616 CKSUM: 0x9d8c (CORRECT) OFFSET: 0x0000 TCP SPRT: 9 DPRT: 1036 FLG: -A---- (0x10) SEQ: 0xb5648847 ACK: 0x4fa6610c WIN: 16384 HLEN: 20 CKSUM: 0x77f5 (CORRECT) DLEN: 0 Packet 33 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.661993 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17344 CKSUM: 0xf18c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa68f1c ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0xeab2 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 34 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.748523 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17345 CKSUM: 0xf18b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa69134 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x2f3f (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 35 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.834693 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17347 CKSUM: 0xf189 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa6934c ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x6765 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 36 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:58.921277 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17350 CKSUM: 0xf186 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa69564 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0xbd43 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 37 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:59.007758 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17352 CKSUM: 0xf184 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa6977c ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x602e (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 38 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:59.094309 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17359 CKSUM: 0xf17d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa69994 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x1dd6 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 39 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:59.180587 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17369 CKSUM: 0xf173 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -AP--- (0x18) SEQ: 0x4fa69bac ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x94d5 (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes Packet 40 Packet Length: 590 (saved length 68) Collected: Tue Feb 11 19:25:59.266986 1997 ETH Srce: 00:00:c0:57:c8:53 ETH Dest: 08:00:20:7a:f7:8d Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.224.2.23 IP Dest: 128.224.1.148 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 576 ID: 17371 CKSUM: 0xf171 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1036 DPRT: 9 FLG: -A---- (0x10) SEQ: 0x4fa69dc4 ACK: 0xb5648847 WIN: 16616 HLEN: 20 CKSUM: 0x911d (too short to verify) DLEN: 536 (only 14 bytes in dump file) data: 536 bytes 40 packets seen, 40 TCP packets traced trace file elapsed time: 0:00:01.448223 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: *** 4 packets were too short to process at some point (use -w option to show details) 1: 128.224.2.23:1036 - 128.224.1.148:9 (a2b) 19> 18< ** Warning, b2a: detected 9 hardware duplicate(s) (same seq # and IP ID) 2: 128.224.2.23:1037 - 128.224.1.148:19 (c2d) 1> 2< ** Warning, d2c: detected 1 hardware duplicate(s) (same seq # and IP ID) tcptrace-6.6.7/input/OUTPUTbench/pcap_v2.2.dmp.gz.short0100644001217500001440000000100007253211557022215 0ustar mramadasusers1 arg remaining, starting with 'pcap_v2.2.dmp.gz' 40 packets seen, 40 TCP packets traced trace file elapsed time: 0:00:01.448223 TCP connection info: *** 2 packets were too short to process at some point (use -w option to show details) 1: 128.224.2.23:1036 - 128.224.1.148:9 (a2b) 19> 18< ** Warning, b2a: detected 9 hardware duplicate(s) (same seq # and IP ID) 2: 128.224.2.23:1037 - 128.224.1.148:19 (c2d) 1> 2< ** Warning, d2c: detected 1 hardware duplicate(s) (same seq # and IP ID) tcptrace-6.6.7/input/OUTPUTbench/pcap_v2.2.dmp.gz.xplots.cksum0100644001217500001440000000106407751776617023562 0ustar mramadasusers3017168630 5769 a2b_owin.xpl 3919851649 728 a2b_rtt.xpl 1770673556 2709 a2b_ssize.xpl 2037755829 736 a2b_tput.xpl 3830229492 6680 a2b_tsg.xpl 4150372792 6764 a_b_tline.xpl 4003407307 4755 b2a_owin.xpl 1547498569 123 b2a_ssize.xpl 2946010257 114 b2a_tput.xpl 2465268075 5229 b2a_tsg.xpl 387554380 126 c2d_owin.xpl 2322257161 136 c2d_rtt.xpl 3547524405 124 c2d_ssize.xpl 2401853822 115 c2d_tput.xpl 2832848055 506 c2d_tsg.xpl 3211285756 746 c_d_tline.xpl 3292905497 126 d2c_owin.xpl 613628918 124 d2c_ssize.xpl 2317801752 115 d2c_tput.xpl 1285756174 563 d2c_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/ppp_encap.dmp.gz.long0100644001217500001440000001231507717464075022315 0ustar mramadasusers1 arg remaining, starting with 'ppp_encap.dmp.gz' 27 packets seen, 25 TCP packets traced trace file elapsed time: 0:00:06.883153 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 198.166.90.39:54942 host b: 159.18.1.3:22 complete conn: no (SYNs: 2) (FINs: 0) first packet: Wed Mar 5 11:30:49.403859 2003 last packet: Wed Mar 5 11:30:55.900490 2003 elapsed time: 0:00:06.496630 total packets: 25 filename: ppp_encap.dmp.gz a->b: b->a: total packets: 11 total packets: 14 ack pkts sent: 10 ack pkts sent: 14 pure acks sent: 3 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 414 unique bytes sent: 678 actual data pkts: 7 actual data pkts: 11 actual data bytes: 414 actual data bytes: 678 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 7 pushed data pkts: 11 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 1/0 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 0 adv wind scale: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 156 bytes max segm size: 276 bytes min segm size: 12 bytes min segm size: 12 bytes avg segm size: 59 bytes avg segm size: 61 bytes max win adv: 33304 bytes max win adv: 32120 bytes min win adv: 33304 bytes min win adv: 32120 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 33304 bytes avg win adv: 32120 bytes max owin: 157 bytes max owin: 321 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 42 bytes avg owin: 91 bytes wavg owin: 31 bytes wavg owin: 31 bytes initial window: 22 bytes initial window: 22 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 4.886 secs data xmit time: 5.391 secs idletime max: 2066.7 ms idletime max: 2550.4 ms throughput: 64 Bps throughput: 104 Bps RTT samples: 8 RTT samples: 9 RTT min: 327.7 ms RTT min: 0.1 ms RTT max: 560.8 ms RTT max: 117.2 ms RTT avg: 435.3 ms RTT avg: 24.9 ms RTT stdev: 76.9 ms RTT stdev: 47.5 ms RTT from 3WHS: 500.9 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 470.1 ms RTT full_sz min: 3.3 ms RTT full_sz max: 470.1 ms RTT full_sz max: 3.3 ms RTT full_sz avg: 470.1 ms RTT full_sz avg: 3.3 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 3 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/ppp_encap.dmp.gz.packets0100644001217500001440000003720507717464076023016 0ustar mramadasusers1 arg remaining, starting with 'ppp_encap.dmp.gz' Packet 1 Packet Length: 70 Collected: Wed Mar 5 11:30:49.017337 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 198.166.84.1 Type: 0x11 (UDP) HLEN: 20 TTL: 64 LEN: 66 ID: 1106 CKSUM: 0x3ae4 (CORRECT) OFFSET: 0x0000 UDP SPRT: 64569 DPRT: 53 UCKSUM: 0x4e55 (CORRECT) DLEN: 46 (only 38 bytes in dump file) Packet 2 Packet Length: 188 Collected: Wed Mar 5 11:30:49.402749 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.84.1 IP Dest: 198.166.90.39 Type: 0x11 (UDP) HLEN: 20 TTL: 126 LEN: 184 ID: 6918 CKSUM: 0xe5b9 (CORRECT) OFFSET: 0x0000 UDP SPRT: 53 DPRT: 64569 UCKSUM: 0x42ae (CORRECT) DLEN: 164 (only 156 bytes in dump file) Packet 3 Packet Length: 64 Collected: Wed Mar 5 11:30:49.403859 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 159.18.1.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 60 ID: 1108 CKSUM: 0x7585 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 54942 DPRT: 22 FLG: ----S- (0x02) SEQ: 0x6fab2a54 ACK: 0x00000000 WIN: 32768 HLEN: 40 CKSUM: 0xe2d0 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(0) TS(2078336,0) Packet 4 Packet Length: 64 Collected: Wed Mar 5 11:30:49.904731 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 60 ID: 12766 CKSUM: 0x58fb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -A--S- (0x12) SEQ: 0x76a6ba8d ACK: 0x6fab2a55 WIN: 32120 HLEN: 40 CKSUM: 0x6908 (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1460) WS(0) TS(1021644326,2078336) Packet 5 Packet Length: 56 Collected: Wed Mar 5 11:30:49.904843 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 159.18.1.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 1109 CKSUM: 0x758c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 54942 DPRT: 22 FLG: -A---- (0x10) SEQ: 0x6fab2a55 ACK: 0x76a6ba8e WIN: 33304 HLEN: 32 CKSUM: 0x902b (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2078337,1021644326) Packet 6 Packet Length: 78 Collected: Wed Mar 5 11:30:50.409847 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 74 ID: 12783 CKSUM: 0x58dc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -AP--- (0x18) SEQ: 0x76a6ba8e ACK: 0x6fab2a55 WIN: 32120 HLEN: 32 CKSUM: 0xac65 (CORRECT) DLEN: 22 OPTS: 12 bytes TS(1021644376,2078337) data: 22 bytes Packet 7 Packet Length: 78 Collected: Wed Mar 5 11:30:50.410191 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 159.18.1.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 74 ID: 1110 CKSUM: 0x7575 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 54942 DPRT: 22 FLG: -AP--- (0x18) SEQ: 0x6fab2a55 ACK: 0x76a6baa4 WIN: 33304 HLEN: 32 CKSUM: 0xa4ae (CORRECT) DLEN: 22 OPTS: 12 bytes TS(2078338,1021644376) data: 22 bytes Packet 8 Packet Length: 56 Collected: Wed Mar 5 11:30:50.737922 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 52 ID: 12794 CKSUM: 0x58e7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -A---- (0x10) SEQ: 0x76a6baa4 ACK: 0x6fab2a6b WIN: 32120 HLEN: 32 CKSUM: 0x9439 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1021644427,2078338) Packet 9 Packet Length: 332 Collected: Wed Mar 5 11:30:50.826621 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 328 ID: 12795 CKSUM: 0x57d2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -AP--- (0x18) SEQ: 0x76a6baa4 ACK: 0x6fab2a6b WIN: 32120 HLEN: 32 CKSUM: 0x9e82 (CORRECT) DLEN: 276 OPTS: 12 bytes TS(1021644427,2078338) data: 276 bytes Packet 10 Packet Length: 212 Collected: Wed Mar 5 11:30:50.829960 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 159.18.1.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 208 ID: 1111 CKSUM: 0x74ee (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 54942 DPRT: 22 FLG: -AP--- (0x18) SEQ: 0x6fab2a6b ACK: 0x76a6bbb8 WIN: 33304 HLEN: 32 CKSUM: 0x969b (CORRECT) DLEN: 156 OPTS: 12 bytes TS(2078339,1021644427) data: 156 bytes Packet 11 Packet Length: 68 Collected: Wed Mar 5 11:30:51.300060 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 64 ID: 12806 CKSUM: 0x58cf (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -AP--- (0x18) SEQ: 0x76a6bbb8 ACK: 0x6fab2b07 WIN: 32120 HLEN: 32 CKSUM: 0xd2b0 (CORRECT) DLEN: 12 OPTS: 12 bytes TS(1021644477,2078339) data: 12 bytes Packet 12 Packet Length: 76 Collected: Wed Mar 5 11:30:51.300336 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 159.18.1.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 72 ID: 1112 CKSUM: 0x7575 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 54942 DPRT: 22 FLG: -AP--- (0x18) SEQ: 0x6fab2b07 ACK: 0x76a6bbc4 WIN: 33304 HLEN: 32 CKSUM: 0x0285 (CORRECT) DLEN: 20 OPTS: 12 bytes TS(2078340,1021644477) data: 20 bytes Packet 13 Packet Length: 68 Collected: Wed Mar 5 11:30:51.733042 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 64 ID: 12811 CKSUM: 0x58ca (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -AP--- (0x18) SEQ: 0x76a6bbc4 ACK: 0x6fab2b1b WIN: 32120 HLEN: 32 CKSUM: 0x1d43 (CORRECT) DLEN: 12 OPTS: 12 bytes TS(1021644518,2078340) data: 12 bytes Packet 14 Packet Length: 68 Collected: Wed Mar 5 11:30:51.733344 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 159.18.1.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 1113 CKSUM: 0x757c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 54942 DPRT: 22 FLG: -AP--- (0x18) SEQ: 0x6fab2b1b ACK: 0x76a6bbd0 WIN: 33304 HLEN: 32 CKSUM: 0x3262 (CORRECT) DLEN: 12 OPTS: 12 bytes TS(2078341,1021644518) data: 12 bytes Packet 15 Packet Length: 68 Collected: Wed Mar 5 11:30:52.182240 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 64 ID: 12826 CKSUM: 0x58bb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -AP--- (0x18) SEQ: 0x76a6bbd0 ACK: 0x6fab2b27 WIN: 32120 HLEN: 32 CKSUM: 0x74c5 (CORRECT) DLEN: 12 OPTS: 12 bytes TS(1021644559,2078341) data: 12 bytes Packet 16 Packet Length: 56 Collected: Wed Mar 5 11:30:52.299462 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 159.18.1.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 1114 CKSUM: 0x7587 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 54942 DPRT: 22 FLG: -A---- (0x10) SEQ: 0x6fab2b27 ACK: 0x76a6bbdc WIN: 33304 HLEN: 32 CKSUM: 0x8d1d (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2078342,1021644559) Packet 17 Packet Length: 108 Collected: Wed Mar 5 11:30:54.366193 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 159.18.1.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 104 ID: 1115 CKSUM: 0x7552 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 54942 DPRT: 22 FLG: -AP--- (0x18) SEQ: 0x6fab2b27 ACK: 0x76a6bbdc WIN: 33304 HLEN: 32 CKSUM: 0x953c (CORRECT) DLEN: 52 OPTS: 12 bytes TS(2078346,1021644559) data: 52 bytes Packet 18 Packet Length: 68 Collected: Wed Mar 5 11:30:54.732663 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 64 ID: 12927 CKSUM: 0x5856 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -AP--- (0x18) SEQ: 0x76a6bbdc ACK: 0x6fab2b5b WIN: 32120 HLEN: 32 CKSUM: 0xb65e (CORRECT) DLEN: 12 OPTS: 12 bytes TS(1021644825,2078346) data: 12 bytes Packet 19 Packet Length: 196 Collected: Wed Mar 5 11:30:54.733106 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 159.18.1.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 192 ID: 1116 CKSUM: 0x74f9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 54942 DPRT: 22 FLG: -AP--- (0x18) SEQ: 0x6fab2b5b ACK: 0x76a6bbe8 WIN: 33304 HLEN: 32 CKSUM: 0x7b6e (CORRECT) DLEN: 140 OPTS: 12 bytes TS(2078347,1021644825) data: 140 bytes Packet 20 Packet Length: 68 Collected: Wed Mar 5 11:30:55.293886 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 64 ID: 12948 CKSUM: 0x5841 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -AP--- (0x18) SEQ: 0x76a6bbe8 ACK: 0x6fab2be7 WIN: 32120 HLEN: 32 CKSUM: 0x62a3 (CORRECT) DLEN: 12 OPTS: 12 bytes TS(1021644864,2078347) data: 12 bytes Packet 21 Packet Length: 68 Collected: Wed Mar 5 11:30:55.296130 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 159.18.1.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 1117 CKSUM: 0x7568 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 54942 DPRT: 22 FLG: -AP--- (0x18) SEQ: 0x6fab2be7 ACK: 0x76a6bbf4 WIN: 33304 HLEN: 32 CKSUM: 0xcd56 (CORRECT) DLEN: 12 OPTS: 12 bytes TS(2078348,1021644864) data: 12 bytes Packet 22 Packet Length: 56 Collected: Wed Mar 5 11:30:55.670890 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 52 ID: 12977 CKSUM: 0x5820 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -A---- (0x10) SEQ: 0x76a6bbf4 ACK: 0x6fab2bf3 WIN: 32120 HLEN: 32 CKSUM: 0x8f6a (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1021644920,2078348) Packet 23 Packet Length: 156 Collected: Wed Mar 5 11:30:55.724845 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 152 ID: 12979 CKSUM: 0x57ba (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -AP--- (0x18) SEQ: 0x76a6bbf4 ACK: 0x6fab2bf3 WIN: 32120 HLEN: 32 CKSUM: 0xda9b (CORRECT) DLEN: 100 OPTS: 12 bytes TS(1021644921,2078348) data: 100 bytes Packet 24 Packet Length: 76 Collected: Wed Mar 5 11:30:55.724857 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 72 ID: 12980 CKSUM: 0x5809 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -AP--- (0x18) SEQ: 0x76a6bc58 ACK: 0x6fab2bf3 WIN: 32120 HLEN: 32 CKSUM: 0xe826 (CORRECT) DLEN: 20 OPTS: 12 bytes TS(1021644923,2078348) data: 20 bytes Packet 25 Packet Length: 212 Collected: Wed Mar 5 11:30:55.772526 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 208 ID: 12983 CKSUM: 0x577e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -AP--- (0x18) SEQ: 0x76a6bc6c ACK: 0x6fab2bf3 WIN: 32120 HLEN: 32 CKSUM: 0xbaa2 (CORRECT) DLEN: 156 OPTS: 12 bytes TS(1021644927,2078348) data: 156 bytes Packet 26 Packet Length: 100 Collected: Wed Mar 5 11:30:55.801070 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 159.18.1.3 IP Dest: 198.166.90.39 Type: 0x6 (TCP) HLEN: 20 TTL: 47 LEN: 96 ID: 12988 CKSUM: 0x57e9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 22 DPRT: 54942 FLG: -AP--- (0x18) SEQ: 0x76a6bd08 ACK: 0x6fab2bf3 WIN: 32120 HLEN: 32 CKSUM: 0xb308 (CORRECT) DLEN: 44 OPTS: 12 bytes TS(1021644928,2078348) data: 44 bytes Packet 27 Packet Length: 56 Collected: Wed Mar 5 11:30:55.900490 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 198.166.90.39 IP Dest: 159.18.1.3 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 1118 CKSUM: 0x7573 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 54942 DPRT: 22 FLG: -A---- (0x10) SEQ: 0x6fab2bf3 ACK: 0x76a6bd34 WIN: 33304 HLEN: 32 CKSUM: 0x8988 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2078349,1021644921) 27 packets seen, 25 TCP packets traced trace file elapsed time: 0:00:06.883153 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 198.166.90.39:54942 - 159.18.1.3:22 (a2b) 11> 14< tcptrace-6.6.7/input/OUTPUTbench/ppp_encap.dmp.gz.short0100644001217500001440000000032207717464076022511 0ustar mramadasusers1 arg remaining, starting with 'ppp_encap.dmp.gz' 27 packets seen, 25 TCP packets traced trace file elapsed time: 0:00:06.883153 TCP connection info: 1: 198.166.90.39:54942 - 159.18.1.3:22 (a2b) 11> 14< tcptrace-6.6.7/input/OUTPUTbench/ppp_encap.dmp.gz.xplots.cksum0100644001217500001440000000047007751776617024035 0ustar mramadasusers2188419464 3195 a2b_owin.xpl 2757643508 727 a2b_rtt.xpl 4053400588 1189 a2b_ssize.xpl 305069435 340 a2b_tput.xpl 4196900852 4959 a2b_tsg.xpl 3723074321 4681 a_b_tline.xpl 731391641 4167 b2a_owin.xpl 3979720721 762 b2a_rtt.xpl 3959029436 1811 b2a_ssize.xpl 2325460243 535 b2a_tput.xpl 3008505319 4888 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/ppp_over_eth.dmp.gz.long0100644001217500001440000001254007756517506023043 0ustar mramadasusers1 arg remaining, starting with 'ppp_over_eth.dmp.gz' 10 packets seen, 10 TCP packets traced trace file elapsed time: 0:00:00.508969 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 138.217.69.153:2049 host b: 65.166.64.143:80 complete conn: yes first packet: Mon Jul 14 05:53:06.705270 2003 last packet: Mon Jul 14 05:53:07.214239 2003 elapsed time: 0:00:00.508969 total packets: 10 filename: ppp_over_eth.dmp.gz a->b: b->a: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 189 unique bytes sent: 320 actual data pkts: 1 actual data pkts: 1 actual data bytes: 189 actual data bytes: 320 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 0 adv wind scale: 0 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1414 bytes mss requested: 1460 bytes max segm size: 189 bytes max segm size: 320 bytes min segm size: 189 bytes min segm size: 320 bytes avg segm size: 188 bytes avg segm size: 319 bytes max win adv: 5656 bytes max win adv: 16384 bytes min win adv: 5656 bytes min win adv: 16195 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 5656 bytes avg win adv: 16336 bytes max owin: 190 bytes max owin: 321 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 48 bytes avg owin: 161 bytes wavg owin: 176 bytes wavg owin: 7 bytes initial window: 189 bytes initial window: 320 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 189 bytes ttl stream length: 320 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 476.9 ms idletime max: 454.1 ms throughput: 371 Bps throughput: 629 Bps RTT samples: 3 RTT samples: 3 RTT min: 12.1 ms RTT min: 1.0 ms RTT max: 21.0 ms RTT max: 2.0 ms RTT avg: 16.7 ms RTT avg: 1.6 ms RTT stdev: 4.5 ms RTT stdev: 0.5 ms RTT from 3WHS: 17.0 ms RTT from 3WHS: 1.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 21.0 ms RTT full_sz min: 1.8 ms RTT full_sz max: 21.0 ms RTT full_sz max: 1.8 ms RTT full_sz avg: 21.0 ms RTT full_sz avg: 1.8 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/ppp_over_eth.dmp.gz.packets0100644001217500001440000001364607756517506023546 0ustar mramadasusers1 arg remaining, starting with 'ppp_over_eth.dmp.gz' Packet 1 Packet Length: 74 Collected: Mon Jul 14 05:53:06.705270 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 138.217.69.153 IP Dest: 65.166.64.143 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 60 ID: 62130 CKSUM: 0xf561 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 2049 DPRT: 80 FLG: ----S- (0x02) SEQ: 0x0185fa88 ACK: 0x00000000 WIN: 5656 HLEN: 40 CKSUM: 0xd2dc (CORRECT) DLEN: 0 OPTS: 20 bytes MSS(1414) WS(0) TS(2106,0) SACKREQ Packet 2 Packet Length: 78 Collected: Mon Jul 14 05:53:06.722244 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 65.166.64.143 IP Dest: 138.217.69.153 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 64 ID: 8944 CKSUM: 0xc920 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 2049 FLG: -A--S- (0x12) SEQ: 0x1a06d7d4 ACK: 0x0185fa89 WIN: 8484 HLEN: 44 CKSUM: 0xea80 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(0) TS(1316588214,2106) SACKREQ Packet 3 Packet Length: 66 Collected: Mon Jul 14 05:53:06.723248 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 138.217.69.153 IP Dest: 65.166.64.143 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 62131 CKSUM: 0xf568 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 2049 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0185fa89 ACK: 0x1a06d7d5 WIN: 5656 HLEN: 32 CKSUM: 0x3657 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2107,1316588214) Packet 4 Packet Length: 255 Collected: Mon Jul 14 05:53:06.724269 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 138.217.69.153 IP Dest: 65.166.64.143 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 241 ID: 62132 CKSUM: 0xf4aa (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 2049 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0x0185fa89 ACK: 0x1a06d7d5 WIN: 5656 HLEN: 32 CKSUM: 0x3509 (CORRECT) DLEN: 189 OPTS: 12 bytes TS(2107,1316588214) data: 189 bytes Packet 5 Packet Length: 66 Collected: Mon Jul 14 05:53:06.745243 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 65.166.64.143 IP Dest: 138.217.69.153 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 52 ID: 9200 CKSUM: 0x082d (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 2049 FLG: -A---- (0x10) SEQ: 0x1a06d7d5 ACK: 0x0185fb46 WIN: 16195 HLEN: 32 CKSUM: 0x0c6c (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1316588217,2107) Packet 6 Packet Length: 386 Collected: Mon Jul 14 05:53:07.199341 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 65.166.64.143 IP Dest: 138.217.69.153 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 372 ID: 20720 CKSUM: 0xd9ec (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 2049 FLG: -AP--- (0x18) SEQ: 0x1a06d7d5 ACK: 0x0185fb46 WIN: 16384 HLEN: 32 CKSUM: 0xb766 (CORRECT) DLEN: 320 OPTS: 12 bytes TS(1316588262,2107) data: 320 bytes Packet 7 Packet Length: 66 Collected: Mon Jul 14 05:53:07.200160 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 65.166.64.143 IP Dest: 138.217.69.153 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 52 ID: 20976 CKSUM: 0xda2c (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 2049 FLG: -A---F (0x11) SEQ: 0x1a06d915 ACK: 0x0185fb46 WIN: 16384 HLEN: 32 CKSUM: 0x0a41 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1316588262,2107) Packet 8 Packet Length: 66 Collected: Mon Jul 14 05:53:07.201180 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 138.217.69.153 IP Dest: 65.166.64.143 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 62133 CKSUM: 0xf566 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 2049 DPRT: 80 FLG: -A---- (0x10) SEQ: 0x0185fb46 ACK: 0x1a06d915 WIN: 5656 HLEN: 32 CKSUM: 0x33fa (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2155,1316588262) Packet 9 Packet Length: 66 Collected: Mon Jul 14 05:53:07.202159 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 138.217.69.153 IP Dest: 65.166.64.143 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 62134 CKSUM: 0xf565 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 2049 DPRT: 80 FLG: -A---F (0x11) SEQ: 0x0185fb46 ACK: 0x1a06d916 WIN: 5656 HLEN: 32 CKSUM: 0x33f8 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(2155,1316588262) Packet 10 Packet Length: 66 Collected: Mon Jul 14 05:53:07.214239 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 65.166.64.143 IP Dest: 138.217.69.153 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 52 ID: 22512 CKSUM: 0xd42c (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 2049 FLG: -A---- (0x10) SEQ: 0x1a06d916 ACK: 0x0185fb47 WIN: 16384 HLEN: 32 CKSUM: 0x0a0e (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1316588264,2155) 10 packets seen, 10 TCP packets traced trace file elapsed time: 0:00:00.508969 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 138.217.69.153:2049 - 65.166.64.143:80 (a2b) 5> 5< (complete) tcptrace-6.6.7/input/OUTPUTbench/ppp_over_eth.dmp.gz.short0100644001217500001440000000034407756517506023242 0ustar mramadasusers1 arg remaining, starting with 'ppp_over_eth.dmp.gz' 10 packets seen, 10 TCP packets traced trace file elapsed time: 0:00:00.508969 TCP connection info: 1: 138.217.69.153:2049 - 65.166.64.143:80 (a2b) 5> 5< (complete) tcptrace-6.6.7/input/OUTPUTbench/ppp_over_eth.dmp.gz.xplots.cksum0100644001217500001440000000046207751776617024563 0ustar mramadasusers314361451 1285 a2b_owin.xpl 2241627915 327 a2b_rtt.xpl 3380004771 187 a2b_ssize.xpl 87829873 151 a2b_tput.xpl 3680224601 1717 a2b_tsg.xpl 2957357899 1984 a_b_tline.xpl 3028774285 1284 b2a_owin.xpl 952939807 319 b2a_rtt.xpl 592198637 187 b2a_ssize.xpl 3936143281 150 b2a_tput.xpl 729246892 1573 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/psc.fddi.dmp.gz.long0100644001217500001440000001363507672375064022047 0ustar mramadasusers1 arg remaining, starting with 'psc.fddi.dmp.gz' 529 packets seen, 529 TCP packets traced trace file elapsed time: 0:00:00.878610 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 128.182.40.126:1034 host b: 128.182.61.120:1066 complete conn: yes first packet: Thu Mar 27 13:38:45.317135 1997 last packet: Thu Mar 27 13:38:46.195745 1997 elapsed time: 0:00:00.878610 total packets: 529 filename: psc.fddi.dmp.gz a->b: b->a: total packets: 240 total packets: 289 ack pkts sent: 239 ack pkts sent: 289 pure acks sent: 67 pure acks sent: 150 sack pkts sent: 0 sack pkts sent: 77 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 4 unique bytes sent: 200026 unique bytes sent: 200003 actual data pkts: 171 actual data pkts: 138 actual data bytes: 246746 actual data bytes: 200003 rexmt data pkts: 32 rexmt data pkts: 0 rexmt data bytes: 46720 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 3 pushed data pkts: 2 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/N adv wind scale: 2 adv wind scale: 2 req sack: Y req sack: Y sacks sent: 0 sacks sent: 77 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 4312 bytes max segm size: 1460 bytes max segm size: 1460 bytes min segm size: 26 bytes min segm size: 3 bytes avg segm size: 1442 bytes avg segm size: 1449 bytes max win adv: 200020 bytes max win adv: 200020 bytes min win adv: 198580 bytes min win adv: 194160 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 200007 bytes avg win adv: 199706 bytes max owin: 89061 bytes max owin: 64241 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 27038 bytes avg owin: 14778 bytes wavg owin: 67665 bytes wavg owin: 3305 bytes initial window: 26 bytes initial window: 3 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 200026 bytes ttl stream length: 200003 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 200310 bytes truncated data: 162599 bytes truncated packets: 170 pkts truncated packets: 137 pkts data xmit time: 0.807 secs data xmit time: 0.834 secs idletime max: 535.0 ms idletime max: 501.9 ms throughput: 227662 Bps throughput: 227636 Bps RTT samples: 71 RTT samples: 67 RTT min: 0.0 ms RTT min: 1.0 ms RTT max: 38.0 ms RTT max: 10.7 ms RTT avg: 17.3 ms RTT avg: 4.7 ms RTT stdev: 11.1 ms RTT stdev: 3.2 ms RTT from 3WHS: 2.9 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 66 RTT full_sz smpls: 64 RTT full_sz min: 2.9 ms RTT full_sz min: 1.0 ms RTT full_sz max: 38.0 ms RTT full_sz max: 10.7 ms RTT full_sz avg: 18.4 ms RTT full_sz avg: 4.8 ms RTT full_sz stdev: 10.7 ms RTT full_sz stdev: 3.1 ms post-loss acks: 20 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 9 ambiguous acks: 0 RTT min (last): 2.9 ms RTT min (last): 0.0 ms RTT max (last): 4.9 ms RTT max (last): 0.0 ms RTT avg (last): 3.3 ms RTT avg (last): 0.0 ms RTT sdv (last): 0.7 ms RTT sdv (last): 0.0 ms segs cum acked: 41 segs cum acked: 72 duplicate acks: 31 duplicate acks: 1 triple dupacks: 1 triple dupacks: 0 max # retrans: 1 max # retrans: 0 min retr time: 41.9 ms min retr time: 0.0 ms max retr time: 625.9 ms max retr time: 0.0 ms avg retr time: 586.1 ms avg retr time: 0.0 ms sdv retr time: 100.6 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/psc.fddi.dmp.gz.packets0100644001217500001440000016316107302732567022535 0ustar mramadasusers1 arg remaining, starting with 'psc.fddi.dmp.gz' Packet 1 Packet Length: 78 (saved length 79) Collected: Thu Mar 27 13:38:45.317135 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 21118 CKSUM: 0xc0d7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: ----S- (0x02) SEQ: 0x4e943600 ACK: 0x00000000 WIN: 65535 HLEN: 44 CKSUM: 0xe51b (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(2) TS(154806,0) SACKREQ Packet 2 Packet Length: 66 (saved length 67) Collected: Thu Mar 27 13:38:45.320060 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 52 ID: 8859 CKSUM: 0xf4c6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A--S- (0x12) SEQ: 0x1b7d1c00 ACK: 0x4e943601 WIN: 65535 HLEN: 32 CKSUM: 0x3839 (CORRECT) DLEN: 0 OPTS: 12 bytes MSS(4312) WS(2) SACKREQ Packet 3 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.320060 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 21119 CKSUM: 0xc0ee (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e943601 ACK: 0x1b7d1c01 WIN: 50005 HLEN: 20 CKSUM: 0xc0d4 (CORRECT) DLEN: 0 Packet 4 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.321035 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8860 CKSUM: 0xf4d1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c01 ACK: 0x4e943601 WIN: 50005 HLEN: 20 CKSUM: 0xc0d4 (CORRECT) DLEN: 0 Packet 5 Packet Length: 80 (saved length 81) Collected: Thu Mar 27 13:38:45.322010 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 66 ID: 21120 CKSUM: 0xc0d3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -AP--- (0x18) SEQ: 0x4e943601 ACK: 0x1b7d1c01 WIN: 50005 HLEN: 20 CKSUM: 0x6bb3 (CORRECT) DLEN: 26 data: 26 bytes Packet 6 Packet Length: 57 (saved length 58) Collected: Thu Mar 27 13:38:45.327860 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 43 ID: 8861 CKSUM: 0xf4cd (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -AP--- (0x18) SEQ: 0x1b7d1c01 ACK: 0x4e94361b WIN: 50000 HLEN: 20 CKSUM: 0x8594 (CORRECT) DLEN: 3 data: 3 bytes Packet 7 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.327860 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 21122 CKSUM: 0xc0eb (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94361b ACK: 0x1b7d1c04 WIN: 50004 HLEN: 20 CKSUM: 0xc0b8 (CORRECT) DLEN: 0 Packet 8 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.400010 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21123 CKSUM: 0xbb36 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94361b ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xbb03 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 9 Packet Length: 642 (saved length 327) Collected: Thu Mar 27 13:38:45.400010 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 628 ID: 21124 CKSUM: 0xbe9d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -AP--- (0x18) SEQ: 0x4e943bcf ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xb8af (too short to verify) DLEN: 588 (only 273 bytes in dump file) data: 588 bytes Packet 10 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.400010 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21125 CKSUM: 0xbb34 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e943e1b ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xb303 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 11 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.402935 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8862 CKSUM: 0xf4cf (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e943e1b WIN: 50000 HLEN: 20 CKSUM: 0xb8bc (CORRECT) DLEN: 0 Packet 12 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.403910 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21126 CKSUM: 0xbb33 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e9443cf ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xad4f (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 13 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.403910 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21127 CKSUM: 0xbb32 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e944983 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xa79b (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 14 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.403910 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21128 CKSUM: 0xbb31 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e944f37 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xa1e7 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 15 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.404885 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8863 CKSUM: 0xf4ce (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e9443cf WIN: 50000 HLEN: 20 CKSUM: 0xb308 (CORRECT) DLEN: 0 Packet 16 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.404885 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21129 CKSUM: 0xbb30 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e9454eb ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x9c33 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 17 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.404885 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21130 CKSUM: 0xbb2f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e945a9f ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x967f (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 18 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.406835 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8864 CKSUM: 0xf4cd (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e944983 WIN: 50000 HLEN: 20 CKSUM: 0xad54 (CORRECT) DLEN: 0 Packet 19 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.407810 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21131 CKSUM: 0xbb2e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e946053 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x90cb (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 20 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.407810 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21132 CKSUM: 0xbb2d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e946607 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x8b17 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 21 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.407810 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8865 CKSUM: 0xf4cc (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e944f37 WIN: 50000 HLEN: 20 CKSUM: 0xa7a0 (CORRECT) DLEN: 0 Packet 22 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.408785 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21133 CKSUM: 0xbb2c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e946bbb ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x8563 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 23 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.408785 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21134 CKSUM: 0xbb2b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94716f ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x7faf (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 24 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.408785 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8866 CKSUM: 0xf4cb (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e9454eb WIN: 50000 HLEN: 20 CKSUM: 0xa1ec (CORRECT) DLEN: 0 Packet 25 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.409760 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21135 CKSUM: 0xbb2a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e947723 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x79fb (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 26 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.409760 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21136 CKSUM: 0xbb29 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e947cd7 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x7447 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 27 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.410735 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8867 CKSUM: 0xf4ca (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e945a9f WIN: 50000 HLEN: 20 CKSUM: 0x9c38 (CORRECT) DLEN: 0 Packet 28 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.410735 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21137 CKSUM: 0xbb28 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94828b ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x6e93 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 29 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.410735 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21138 CKSUM: 0xbb27 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94883f ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x68df (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 30 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.411710 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8868 CKSUM: 0xf4c9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e946053 WIN: 50000 HLEN: 20 CKSUM: 0x9684 (CORRECT) DLEN: 0 Packet 31 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.411710 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21139 CKSUM: 0xbb26 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e948df3 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x632b (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 32 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.411710 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21140 CKSUM: 0xbb25 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e9493a7 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x5d77 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 33 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.412685 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8869 CKSUM: 0xf4c8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e946607 WIN: 50000 HLEN: 20 CKSUM: 0x90d0 (CORRECT) DLEN: 0 Packet 34 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.413660 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21141 CKSUM: 0xbb24 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94995b ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x57c3 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 35 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.413660 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21142 CKSUM: 0xbb23 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e949f0f ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x520f (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 36 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.414635 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8870 CKSUM: 0xf4c7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e946bbb WIN: 50000 HLEN: 20 CKSUM: 0x8b1c (CORRECT) DLEN: 0 Packet 37 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.414635 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21143 CKSUM: 0xbb22 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94a4c3 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x4c5b (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 38 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.414635 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21144 CKSUM: 0xbb21 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94aa77 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x46a7 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 39 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.415610 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8871 CKSUM: 0xf4c6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94716f WIN: 50000 HLEN: 20 CKSUM: 0x8568 (CORRECT) DLEN: 0 Packet 40 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.415610 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21145 CKSUM: 0xbb20 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94b02b ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x40f3 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 41 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.415610 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21146 CKSUM: 0xbb1f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94b5df ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x3b3f (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 42 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.416585 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8872 CKSUM: 0xf4c5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e947723 WIN: 50000 HLEN: 20 CKSUM: 0x7fb4 (CORRECT) DLEN: 0 Packet 43 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.416585 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21147 CKSUM: 0xbb1e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94bb93 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x358b (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 44 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.417560 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21148 CKSUM: 0xbb1d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94c147 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x2fd7 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 45 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.417560 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8873 CKSUM: 0xf4c4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e947cd7 WIN: 50000 HLEN: 20 CKSUM: 0x7a00 (CORRECT) DLEN: 0 Packet 46 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.418535 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21149 CKSUM: 0xbb1c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94c6fb ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x2a23 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 47 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.418535 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21150 CKSUM: 0xbb1b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94ccaf ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x246f (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 48 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.419510 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8874 CKSUM: 0xf4c3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94828b WIN: 50000 HLEN: 20 CKSUM: 0x744c (CORRECT) DLEN: 0 Packet 49 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.419510 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21151 CKSUM: 0xbb1a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94d263 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x1ebb (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 50 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.419510 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21152 CKSUM: 0xbb19 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94d817 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x1907 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 51 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.420485 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8875 CKSUM: 0xf4c2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94883f WIN: 50000 HLEN: 20 CKSUM: 0x6e98 (CORRECT) DLEN: 0 Packet 52 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.421460 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21153 CKSUM: 0xbb18 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94ddcb ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x1353 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 53 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.421460 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21154 CKSUM: 0xbb17 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94e37f ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x0d9f (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 54 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.421460 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8876 CKSUM: 0xf4c1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e948df3 WIN: 50000 HLEN: 20 CKSUM: 0x68e4 (CORRECT) DLEN: 0 Packet 55 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.422435 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21155 CKSUM: 0xbb16 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94e933 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x07eb (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 56 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.422435 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21156 CKSUM: 0xbb15 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94eee7 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x0237 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 57 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.422435 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8877 CKSUM: 0xf4c0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e9493a7 WIN: 50000 HLEN: 20 CKSUM: 0x6330 (CORRECT) DLEN: 0 Packet 58 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.423410 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21157 CKSUM: 0xbb14 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94f49b ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xfc82 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 59 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.423410 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21158 CKSUM: 0xbb13 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e94fa4f ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xf6ce (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 60 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.424385 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8878 CKSUM: 0xf4bf (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94995b WIN: 50000 HLEN: 20 CKSUM: 0x5d7c (CORRECT) DLEN: 0 Packet 61 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.424385 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21159 CKSUM: 0xbb12 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e950003 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xf11a (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 62 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.424385 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21160 CKSUM: 0xbb11 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e9505b7 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xeb66 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 63 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.425360 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8879 CKSUM: 0xf4be (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e949f0f WIN: 50000 HLEN: 20 CKSUM: 0x57c8 (CORRECT) DLEN: 0 Packet 64 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.425360 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21161 CKSUM: 0xbb10 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e950b6b ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xe5b2 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 65 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.426335 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21162 CKSUM: 0xbb0f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e95111f ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xdffe (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 66 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.426335 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8880 CKSUM: 0xf4bd (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94a4c3 WIN: 50000 HLEN: 20 CKSUM: 0x5214 (CORRECT) DLEN: 0 Packet 67 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.427310 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21163 CKSUM: 0xbb0e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e9516d3 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xda4a (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 68 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.427310 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21164 CKSUM: 0xbb0d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e951c87 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xd496 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 69 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.428285 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8881 CKSUM: 0xf4bc (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94aa77 WIN: 50000 HLEN: 20 CKSUM: 0x4c60 (CORRECT) DLEN: 0 Packet 70 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.428285 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21165 CKSUM: 0xbb0c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e95223b ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xcee2 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 71 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.428285 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21166 CKSUM: 0xbb0b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e9527ef ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xc92e (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 72 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.429260 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8882 CKSUM: 0xf4bb (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94b02b WIN: 50000 HLEN: 20 CKSUM: 0x46ac (CORRECT) DLEN: 0 Packet 73 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.429260 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21167 CKSUM: 0xbb0a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e952da3 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xc37a (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 74 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.429260 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21168 CKSUM: 0xbb09 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e953357 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xbdc6 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 75 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.430235 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8883 CKSUM: 0xf4ba (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94b5df WIN: 50000 HLEN: 20 CKSUM: 0x40f8 (CORRECT) DLEN: 0 Packet 76 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.431210 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21169 CKSUM: 0xbb08 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e95390b ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xb812 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 77 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.431210 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21170 CKSUM: 0xbb07 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e953ebf ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xb25e (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 78 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.431210 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8884 CKSUM: 0xf4b9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94bb93 WIN: 50000 HLEN: 20 CKSUM: 0x3b44 (CORRECT) DLEN: 0 Packet 79 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.432185 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21171 CKSUM: 0xbb06 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e954473 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xacaa (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 80 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.432185 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21172 CKSUM: 0xbb05 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e954a27 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xa6f6 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 81 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.433160 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8885 CKSUM: 0xf4b8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94c147 WIN: 50000 HLEN: 20 CKSUM: 0x3590 (CORRECT) DLEN: 0 Packet 82 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.433160 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21173 CKSUM: 0xbb04 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e954fdb ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0xa142 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 83 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.433160 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21174 CKSUM: 0xbb03 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e95558f ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x9b8e (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 84 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.434135 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8886 CKSUM: 0xf4b7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94c6fb WIN: 50000 HLEN: 20 CKSUM: 0x2fdc (CORRECT) DLEN: 0 Packet 85 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.435110 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21175 CKSUM: 0xbb02 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e955b43 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x95da (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 86 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.435110 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21176 CKSUM: 0xbb01 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e9560f7 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x9026 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 87 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.435110 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8887 CKSUM: 0xf4b6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94ccaf WIN: 50000 HLEN: 20 CKSUM: 0x2a28 (CORRECT) DLEN: 0 Packet 88 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.436085 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21177 CKSUM: 0xbb00 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e9566ab ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x8a72 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 89 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.436085 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21178 CKSUM: 0xbaff (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e956c5f ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x84be (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 90 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.436085 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8888 CKSUM: 0xf4b5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94d263 WIN: 50000 HLEN: 20 CKSUM: 0x2474 (CORRECT) DLEN: 0 Packet 91 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.437060 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21179 CKSUM: 0xbafe (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e957213 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x7f0a (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 92 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.437060 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21180 CKSUM: 0xbafd (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e9577c7 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x7956 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 93 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.438035 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8889 CKSUM: 0xf4b4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94d817 WIN: 50000 HLEN: 20 CKSUM: 0x1ec0 (CORRECT) DLEN: 0 Packet 94 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.438035 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21181 CKSUM: 0xbafc (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e957d7b ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x73a2 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 95 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.438035 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21182 CKSUM: 0xbafb (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e95832f ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x6dee (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 96 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.439010 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8890 CKSUM: 0xf4b3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94ddcb WIN: 50000 HLEN: 20 CKSUM: 0x190c (CORRECT) DLEN: 0 Packet 97 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.439985 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21183 CKSUM: 0xbafa (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e9588e3 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x683a (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 98 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.439985 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21184 CKSUM: 0xbaf9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e958e97 ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x6286 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes Packet 99 Packet Length: 54 (saved length 55) Collected: Thu Mar 27 13:38:45.439985 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.61.120 IP Dest: 128.182.40.126 Type: 0x6 (TCP) HLEN: 20 TTL: 60 LEN: 40 ID: 8891 CKSUM: 0xf4b2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1066 DPRT: 1034 FLG: -A---- (0x10) SEQ: 0x1b7d1c04 ACK: 0x4e94e37f WIN: 50000 HLEN: 20 CKSUM: 0x1358 (CORRECT) DLEN: 0 Packet 100 Packet Length: 1514 (saved length 327) Collected: Thu Mar 27 13:38:45.440960 1997 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 128.182.40.126 IP Dest: 128.182.61.120 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 21185 CKSUM: 0xbaf8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1034 DPRT: 1066 FLG: -A---- (0x10) SEQ: 0x4e95944b ACK: 0x1b7d1c04 WIN: 50005 HLEN: 20 CKSUM: 0x5cd2 (too short to verify) DLEN: 1460 (only 273 bytes in dump file) data: 1460 bytes 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:00.123825 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 128.182.40.126:1034 - 128.182.61.120:1066 (a2b) 67> 33< tcptrace-6.6.7/input/OUTPUTbench/psc.fddi.dmp.gz.short0100644001217500001440000000034507253211557022230 0ustar mramadasusers1 arg remaining, starting with 'psc.fddi.dmp.gz' 529 packets seen, 529 TCP packets traced trace file elapsed time: 0:00:00.878610 TCP connection info: 1: 128.182.40.126:1034 - 128.182.61.120:1066 (a2b) 240> 289< (complete) tcptrace-6.6.7/input/OUTPUTbench/psc.fddi.dmp.gz.xplots.cksum0100644001217500001440000000050507751776617023561 0ustar mramadasusers683074261 68449 a2b_owin.xpl 2576431630 5139 a2b_rtt.xpl 1913594900 27278 a2b_ssize.xpl 3919187716 9494 a2b_tput.xpl 3331412924 144083 a2b_tsg.xpl 1166204089 96008 a_b_tline.xpl 3064658290 90275 b2a_owin.xpl 2555893539 4447 b2a_rtt.xpl 2642368857 22038 b2a_ssize.xpl 1437607087 7668 b2a_tput.xpl 1102342114 80282 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/rawip.dmp.gz.long0100644001217500001440000001205207715773637021475 0ustar mramadasusers1 arg remaining, starting with 'rawip.dmp.gz' 14 packets seen, 14 TCP packets traced trace file elapsed time: 0:00:16.800000 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 208.200.110.46:1351 host b: 207.110.0.206:80 complete conn: no (SYNs: 2) (FINs: 1) first packet: Sat Apr 11 11:42:32.518726 1998 last packet: Sat Apr 11 11:42:49.318726 1998 elapsed time: 0:00:16.800000 total packets: 14 filename: rawip.dmp.gz a->b: b->a: total packets: 7 total packets: 7 ack pkts sent: 6 ack pkts sent: 7 pure acks sent: 5 pure acks sent: 1 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 390 unique bytes sent: 4756 actual data pkts: 1 actual data pkts: 4 actual data bytes: 390 actual data bytes: 4756 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 2 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 390 bytes max segm size: 1460 bytes min segm size: 390 bytes min segm size: 660 bytes avg segm size: 389 bytes avg segm size: 1188 bytes max win adv: 32120 bytes max win adv: 32736 bytes min win adv: 512 bytes min win adv: 32736 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 27396 bytes avg win adv: 32736 bytes max owin: 391 bytes max owin: 2921 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 66 bytes avg owin: 1037 bytes wavg owin: 32 bytes wavg owin: 645 bytes initial window: 390 bytes initial window: 2920 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: NA ttl stream length: 4756 bytes missed data: NA missed data: 0 bytes truncated data: 362 bytes truncated data: 4644 bytes truncated packets: 1 pkts truncated packets: 4 pkts data xmit time: 0.000 secs data xmit time: 0.860 secs idletime max: 13440.0 ms idletime max: 13460.0 ms throughput: 23 Bps throughput: 283 Bps RTT samples: 2 RTT samples: 5 RTT min: 680.0 ms RTT min: 0.0 ms RTT max: 1380.0 ms RTT max: 20.0 ms RTT avg: 1029.9 ms RTT avg: 10.0 ms RTT stdev: 0.0 ms RTT stdev: 10.0 ms RTT from 3WHS: 1380.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 680.0 ms RTT full_sz min: 10.0 ms RTT full_sz max: 680.0 ms RTT full_sz max: 10.0 ms RTT full_sz avg: 679.9 ms RTT full_sz avg: 10.0 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 1 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/rawip.dmp.gz.packets0100644001217500001440000002000007715773637022160 0ustar mramadasusers1 arg remaining, starting with 'rawip.dmp.gz' Packet 1 Packet Length: 44 Collected: Sat Apr 11 11:42:32.518726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 208.200.110.46 IP Dest: 207.110.0.206 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 44 ID: 1524 CKSUM: 0x65a5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1351 DPRT: 80 FLG: ----S- (0x02) SEQ: 0xa73351a0 ACK: 0x00000000 WIN: 512 HLEN: 24 CKSUM: 0x8888 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 2 Packet Length: 44 Collected: Sat Apr 11 11:42:33.898726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 207.110.0.206 IP Dest: 208.200.110.46 Type: 0x6 (TCP) HLEN: 20 TTL: 57 LEN: 44 ID: 47947 CKSUM: 0xb74d (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1351 FLG: -A--S- (0x12) SEQ: 0xe46a822b ACK: 0xa73351a1 WIN: 32736 HLEN: 24 CKSUM: 0xa400 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 3 Packet Length: 40 Collected: Sat Apr 11 11:42:33.898726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 208.200.110.46 IP Dest: 207.110.0.206 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 1530 CKSUM: 0x25a3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1351 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xa73351a1 ACK: 0xe46a822c WIN: 32120 HLEN: 20 CKSUM: 0xbe25 (CORRECT) DLEN: 0 Packet 4 Packet Length: 430 (saved length 68) Collected: Sat Apr 11 11:42:33.898726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 208.200.110.46 IP Dest: 207.110.0.206 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 430 ID: 1531 CKSUM: 0x241c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1351 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xa73351a1 ACK: 0xe46a822c WIN: 32120 HLEN: 20 CKSUM: 0x4177 (too short to verify) DLEN: 390 (only 28 bytes in dump file) data: 390 bytes Packet 5 Packet Length: 40 Collected: Sat Apr 11 11:42:34.578726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 207.110.0.206 IP Dest: 208.200.110.46 Type: 0x6 (TCP) HLEN: 20 TTL: 57 LEN: 40 ID: 47962 CKSUM: 0x7742 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 1351 FLG: -A---- (0x10) SEQ: 0xe46a822c ACK: 0xa7335327 WIN: 32736 HLEN: 20 CKSUM: 0xba37 (CORRECT) DLEN: 0 Packet 6 Packet Length: 1500 (saved length 68) Collected: Sat Apr 11 11:42:34.998726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 207.110.0.206 IP Dest: 208.200.110.46 Type: 0x6 (TCP) HLEN: 20 TTL: 57 LEN: 1500 ID: 47963 CKSUM: 0x718d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 1351 FLG: -A---- (0x10) SEQ: 0xe46a822c ACK: 0xa7335327 WIN: 32736 HLEN: 20 CKSUM: 0x83af (too short to verify) DLEN: 1460 (only 28 bytes in dump file) data: 1460 bytes Packet 7 Packet Length: 1500 (saved length 68) Collected: Sat Apr 11 11:42:35.258726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 207.110.0.206 IP Dest: 208.200.110.46 Type: 0x6 (TCP) HLEN: 20 TTL: 57 LEN: 1500 ID: 47964 CKSUM: 0x718c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 1351 FLG: -A---- (0x10) SEQ: 0xe46a87e0 ACK: 0xa7335327 WIN: 32736 HLEN: 20 CKSUM: 0xab99 (too short to verify) DLEN: 1460 (only 28 bytes in dump file) data: 1460 bytes Packet 8 Packet Length: 40 Collected: Sat Apr 11 11:42:35.268726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 208.200.110.46 IP Dest: 207.110.0.206 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 1534 CKSUM: 0x259f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1351 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xa7335327 ACK: 0xe46a8d94 WIN: 30660 HLEN: 20 CKSUM: 0xb6eb (CORRECT) DLEN: 0 Packet 9 Packet Length: 1216 (saved length 68) Collected: Sat Apr 11 11:42:35.748726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 207.110.0.206 IP Dest: 208.200.110.46 Type: 0x6 (TCP) HLEN: 20 TTL: 57 LEN: 1216 ID: 47969 CKSUM: 0x72a3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 1351 FLG: -AP--- (0x18) SEQ: 0xe46a8d94 ACK: 0xa7335327 WIN: 32736 HLEN: 20 CKSUM: 0x755e (too short to verify) DLEN: 1176 (only 28 bytes in dump file) data: 1176 bytes Packet 10 Packet Length: 40 Collected: Sat Apr 11 11:42:35.768726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 208.200.110.46 IP Dest: 207.110.0.206 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 1535 CKSUM: 0x259e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1351 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xa7335327 ACK: 0xe46a922c WIN: 32120 HLEN: 20 CKSUM: 0xac9f (CORRECT) DLEN: 0 Packet 11 Packet Length: 700 (saved length 68) Collected: Sat Apr 11 11:42:35.858726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 207.110.0.206 IP Dest: 208.200.110.46 Type: 0x6 (TCP) HLEN: 20 TTL: 57 LEN: 700 ID: 47970 CKSUM: 0x74a6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 1351 FLG: -AP--- (0x18) SEQ: 0xe46a922c ACK: 0xa7335327 WIN: 32736 HLEN: 20 CKSUM: 0xf0ad (too short to verify) DLEN: 660 (only 28 bytes in dump file) data: 660 bytes Packet 12 Packet Length: 40 Collected: Sat Apr 11 11:42:35.878726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 208.200.110.46 IP Dest: 207.110.0.206 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 1536 CKSUM: 0x259d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1351 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xa7335327 ACK: 0xe46a94c0 WIN: 32120 HLEN: 20 CKSUM: 0xaa0b (CORRECT) DLEN: 0 Packet 13 Packet Length: 40 Collected: Sat Apr 11 11:42:49.318726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 207.110.0.206 IP Dest: 208.200.110.46 Type: 0x6 (TCP) HLEN: 20 TTL: 57 LEN: 40 ID: 48084 CKSUM: 0xb6c8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 80 DPRT: 1351 FLG: -A---F (0x11) SEQ: 0xe46a94c0 ACK: 0xa7335327 WIN: 32736 HLEN: 20 CKSUM: 0xa7a2 (CORRECT) DLEN: 0 Packet 14 Packet Length: 40 Collected: Sat Apr 11 11:42:49.318726 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 208.200.110.46 IP Dest: 207.110.0.206 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 1539 CKSUM: 0x259a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1351 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xa7335327 ACK: 0xe46a94c1 WIN: 32120 HLEN: 20 CKSUM: 0xaa0a (CORRECT) DLEN: 0 14 packets seen, 14 TCP packets traced trace file elapsed time: 0:00:16.800000 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 208.200.110.46:1351 - 207.110.0.206:80 (a2b) 7> 7< tcptrace-6.6.7/input/OUTPUTbench/rawip.dmp.gz.short0100644001217500001440000000032107253211560021644 0ustar mramadasusers1 arg remaining, starting with 'rawip.dmp.gz' 14 packets seen, 14 TCP packets traced trace file elapsed time: 0:00:16.800000 TCP connection info: 1: 208.200.110.46:1351 - 207.110.0.206:80 (a2b) 7> 7< tcptrace-6.6.7/input/OUTPUTbench/rawip.dmp.gz.xplots.cksum0100644001217500001440000000046107751776617023212 0ustar mramadasusers1316485705 1869 a2b_owin.xpl 3548232052 254 a2b_rtt.xpl 733697130 185 a2b_ssize.xpl 2642179297 149 a2b_tput.xpl 221655046 2139 a2b_tsg.xpl 962312405 2735 a_b_tline.xpl 2147155211 1918 b2a_owin.xpl 362763071 319 b2a_rtt.xpl 1910646826 747 b2a_ssize.xpl 443584676 249 b2a_tput.xpl 14967951 2467 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/rawppp.pcap.gz.long0100644001217500001440000002414507756517506022031 0ustar mramadasusers1 arg remaining, starting with 'rawppp.pcap.gz' 25 packets seen, 25 TCP packets traced trace file elapsed time: 0:00:06.002289 TCP connection info: 2 TCP connections traced: TCP connection 1: host a: 172.50.10.3:1026 host b: 192.168.10.6:21 complete conn: no (SYNs: 0) (FINs: 0) first packet: Wed Jun 18 06:52:15.003386 2003 last packet: Wed Jun 18 06:52:17.006419 2003 elapsed time: 0:00:02.003032 total packets: 5 filename: rawppp.pcap.gz a->b: b->a: total packets: 3 total packets: 2 ack pkts sent: 3 ack pkts sent: 2 pure acks sent: 1 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 37 unique bytes sent: 100 actual data pkts: 2 actual data pkts: 2 actual data bytes: 37 actual data bytes: 100 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 2 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 22 bytes max segm size: 70 bytes min segm size: 15 bytes min segm size: 30 bytes avg segm size: 18 bytes avg segm size: 49 bytes max win adv: 17261 bytes max win adv: 65442 bytes min win adv: 17161 bytes min win adv: 65427 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 17217 bytes avg win adv: 65434 bytes max owin: 22 bytes max owin: 71 bytes min non-zero owin: 1 bytes min non-zero owin: 31 bytes avg owin: 13 bytes avg owin: 51 bytes wavg owin: 18 bytes wavg owin: 14 bytes initial window: 22 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 1.002 secs data xmit time: 1.000 secs idletime max: 3999.3 ms idletime max: 4000.8 ms throughput: 18 Bps throughput: 50 Bps RTT samples: 2 RTT samples: 2 RTT min: 999.4 ms RTT min: 0.1 ms RTT max: 1002.0 ms RTT max: 1.5 ms RTT avg: 1000.7 ms RTT avg: 0.8 ms RTT stdev: 0.0 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 1002.0 ms RTT full_sz min: 1.5 ms RTT full_sz max: 1002.0 ms RTT full_sz max: 1.5 ms RTT full_sz avg: 1001.9 ms RTT full_sz avg: 1.5 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 192.168.10.6:20 host d: 172.50.10.3:1029 complete conn: no (SYNs: 2) (FINs: 0) first packet: Wed Jun 18 06:52:17.004716 2003 last packet: Wed Jun 18 06:52:21.005675 2003 elapsed time: 0:00:04.000958 total packets: 20 filename: rawppp.pcap.gz c->d: d->c: total packets: 11 total packets: 9 ack pkts sent: 10 ack pkts sent: 9 pure acks sent: 1 pure acks sent: 8 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 13140 unique bytes sent: 0 actual data pkts: 9 actual data pkts: 0 actual data bytes: 13140 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 3 pushed data pkts: 0 SYN/FIN pkts sent: 1/0 SYN/FIN pkts sent: 1/0 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1460 bytes max segm size: 0 bytes min segm size: 1460 bytes min segm size: 0 bytes avg segm size: 1459 bytes avg segm size: 0 bytes max win adv: 65535 bytes max win adv: 17520 bytes min win adv: 65535 bytes min win adv: 17520 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 65535 bytes avg win adv: 17520 bytes max owin: 1461 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1315 bytes avg owin: 1 bytes wavg owin: 1094 bytes wavg owin: 0 bytes initial window: 1460 bytes initial window: 0 bytes initial window: 1 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 0 bytes truncated packets: 0 pkts truncated packets: 0 pkts data xmit time: 3.000 secs data xmit time: 0.000 secs idletime max: 1001.4 ms idletime max: 1991.0 ms throughput: 3284 Bps throughput: 0 Bps RTT samples: 9 RTT samples: 1 RTT min: 0.0 ms RTT min: 996.5 ms RTT max: 991.7 ms RTT max: 996.5 ms RTT avg: 221.2 ms RTT avg: 996.4 ms RTT stdev: 436.7 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 996.5 ms RTT full_sz smpls: 8 RTT full_sz smpls: 1 RTT full_sz min: 0.0 ms RTT full_sz min: 996.5 ms RTT full_sz max: 991.7 ms RTT full_sz max: 996.5 ms RTT full_sz avg: 248.9 ms RTT full_sz avg: 996.4 ms RTT full_sz stdev: 458.3 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 0 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/rawppp.pcap.gz.packets0100644001217500001440000003333107756517507022522 0ustar mramadasusers1 arg remaining, starting with 'rawppp.pcap.gz' Packet 1 Packet Length: 76 Collected: Wed Jun 18 06:52:15.003386 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 62 ID: 94 CKSUM: 0x7978 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1026 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0xf0919755 ACK: 0xafa88d75 WIN: 17261 HLEN: 20 CKSUM: 0x090a (CORRECT) DLEN: 22 data: 22 bytes Packet 2 Packet Length: 84 Collected: Wed Jun 18 06:52:16.005403 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 70 ID: 24506 CKSUM: 0x1b14 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 21 DPRT: 1026 FLG: -AP--- (0x18) SEQ: 0xafa88d75 ACK: 0xf091976b WIN: 65442 HLEN: 20 CKSUM: 0xa92d (CORRECT) DLEN: 30 data: 30 bytes Packet 3 Packet Length: 69 Collected: Wed Jun 18 06:52:16.005472 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 55 ID: 95 CKSUM: 0x797e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1026 DPRT: 21 FLG: -AP--- (0x18) SEQ: 0xf091976b ACK: 0xafa88d93 WIN: 17231 HLEN: 20 CKSUM: 0xcb9b (CORRECT) DLEN: 15 data: 15 bytes Packet 4 Packet Length: 62 Collected: Wed Jun 18 06:52:17.004716 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 48 ID: 24507 CKSUM: 0x1b29 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1029 FLG: ----S- (0x02) SEQ: 0xb273457a ACK: 0x00000000 WIN: 65535 HLEN: 28 CKSUM: 0x0635 (CORRECT) DLEN: 0 OPTS: 8 bytes MSS(1460) SACKREQ Packet 5 Packet Length: 62 Collected: Wed Jun 18 06:52:17.004761 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 48 ID: 96 CKSUM: 0x7984 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1029 DPRT: 20 FLG: -A--S- (0x12) SEQ: 0xf361b1ca ACK: 0xb273457b WIN: 17520 HLEN: 28 CKSUM: 0x1c87 (CORRECT) DLEN: 0 OPTS: 8 bytes MSS(1460) SACKREQ Packet 6 Packet Length: 124 Collected: Wed Jun 18 06:52:17.004904 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 110 ID: 24508 CKSUM: 0x1aea (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 21 DPRT: 1026 FLG: -AP--- (0x18) SEQ: 0xafa88d93 ACK: 0xf091977a WIN: 65427 HLEN: 20 CKSUM: 0xd5bc (CORRECT) DLEN: 70 data: 70 bytes Packet 7 Packet Length: 54 Collected: Wed Jun 18 06:52:17.006419 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 40 ID: 97 CKSUM: 0x798b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1026 DPRT: 21 FLG: -A---- (0x10) SEQ: 0xf091977a ACK: 0xafa88dd9 WIN: 17161 HLEN: 20 CKSUM: 0x2242 (CORRECT) DLEN: 0 Packet 8 Packet Length: 54 Collected: Wed Jun 18 06:52:18.001226 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 40 ID: 24509 CKSUM: 0x1b2f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1029 FLG: -A---- (0x10) SEQ: 0xb273457b ACK: 0xf361b1cb WIN: 65535 HLEN: 20 CKSUM: 0x8dbb (CORRECT) DLEN: 0 Packet 9 Packet Length: 1514 Collected: Wed Jun 18 06:52:18.005432 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 1500 ID: 24510 CKSUM: 0x157a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1029 FLG: -A---- (0x10) SEQ: 0xb273457b ACK: 0xf361b1cb WIN: 65535 HLEN: 20 CKSUM: 0x9cfb (CORRECT) DLEN: 1460 data: 1460 bytes Packet 10 Packet Length: 54 Collected: Wed Jun 18 06:52:18.007434 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 40 ID: 98 CKSUM: 0x798a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1029 DPRT: 20 FLG: -A---- (0x10) SEQ: 0xf361b1cb ACK: 0xb2734b2f WIN: 17520 HLEN: 20 CKSUM: 0x4397 (CORRECT) DLEN: 0 Packet 11 Packet Length: 1514 Collected: Wed Jun 18 06:52:18.007992 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 1500 ID: 24511 CKSUM: 0x1579 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1029 FLG: -A---- (0x10) SEQ: 0xb2734b2f ACK: 0xf361b1cb WIN: 65535 HLEN: 20 CKSUM: 0x6ac3 (CORRECT) DLEN: 1460 data: 1460 bytes Packet 12 Packet Length: 54 Collected: Wed Jun 18 06:52:18.009437 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 40 ID: 99 CKSUM: 0x7989 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1029 DPRT: 20 FLG: -A---- (0x10) SEQ: 0xf361b1cb ACK: 0xb27350e3 WIN: 17520 HLEN: 20 CKSUM: 0x3de3 (CORRECT) DLEN: 0 Packet 13 Packet Length: 1514 Collected: Wed Jun 18 06:52:19.009352 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 1500 ID: 24530 CKSUM: 0x1566 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1029 FLG: -AP--- (0x18) SEQ: 0xb27350e3 ACK: 0xf361b1cb WIN: 65535 HLEN: 20 CKSUM: 0x39dc (CORRECT) DLEN: 1460 data: 1460 bytes Packet 14 Packet Length: 54 Collected: Wed Jun 18 06:52:20.000453 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 40 ID: 100 CKSUM: 0x7988 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1029 DPRT: 20 FLG: -A---- (0x10) SEQ: 0xf361b1cb ACK: 0xb2735697 WIN: 17520 HLEN: 20 CKSUM: 0x382f (CORRECT) DLEN: 0 Packet 15 Packet Length: 1514 Collected: Wed Jun 18 06:52:20.002055 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 1500 ID: 24531 CKSUM: 0x1565 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1029 FLG: -A---- (0x10) SEQ: 0xb2735697 ACK: 0xf361b1cb WIN: 65535 HLEN: 20 CKSUM: 0xdf05 (CORRECT) DLEN: 1460 data: 1460 bytes Packet 16 Packet Length: 54 Collected: Wed Jun 18 06:52:20.003457 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 40 ID: 101 CKSUM: 0x7987 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1029 DPRT: 20 FLG: -A---- (0x10) SEQ: 0xf361b1cb ACK: 0xb2735c4b WIN: 17520 HLEN: 20 CKSUM: 0x327b (CORRECT) DLEN: 0 Packet 17 Packet Length: 1514 Collected: Wed Jun 18 06:52:20.004559 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 1500 ID: 24532 CKSUM: 0x1564 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1029 FLG: -A---- (0x10) SEQ: 0xb2735c4b ACK: 0xf361b1cb WIN: 65535 HLEN: 20 CKSUM: 0x2b73 (CORRECT) DLEN: 1460 data: 1460 bytes Packet 18 Packet Length: 54 Collected: Wed Jun 18 06:52:20.006462 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 40 ID: 102 CKSUM: 0x7986 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1029 DPRT: 20 FLG: -A---- (0x10) SEQ: 0xf361b1cb ACK: 0xb27361ff WIN: 17520 HLEN: 20 CKSUM: 0x2cc7 (CORRECT) DLEN: 0 Packet 19 Packet Length: 1514 Collected: Wed Jun 18 06:52:20.007157 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 1500 ID: 24533 CKSUM: 0x1563 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1029 FLG: -AP--- (0x18) SEQ: 0xb27361ff ACK: 0xf361b1cb WIN: 65535 HLEN: 20 CKSUM: 0xed60 (CORRECT) DLEN: 1460 data: 1460 bytes Packet 20 Packet Length: 54 Collected: Wed Jun 18 06:52:20.007202 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 40 ID: 103 CKSUM: 0x7985 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1029 DPRT: 20 FLG: -A---- (0x10) SEQ: 0xf361b1cb ACK: 0xb27367b3 WIN: 17520 HLEN: 20 CKSUM: 0x2713 (CORRECT) DLEN: 0 Packet 21 Packet Length: 1514 Collected: Wed Jun 18 06:52:20.009767 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 1500 ID: 24534 CKSUM: 0x1562 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1029 FLG: -A---- (0x10) SEQ: 0xb27367b3 ACK: 0xf361b1cb WIN: 65535 HLEN: 20 CKSUM: 0xbbf3 (CORRECT) DLEN: 1460 data: 1460 bytes Packet 22 Packet Length: 54 Collected: Wed Jun 18 06:52:21.001469 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 40 ID: 104 CKSUM: 0x7984 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1029 DPRT: 20 FLG: -A---- (0x10) SEQ: 0xf361b1cb ACK: 0xb2736d67 WIN: 17520 HLEN: 20 CKSUM: 0x215f (CORRECT) DLEN: 0 Packet 23 Packet Length: 1514 Collected: Wed Jun 18 06:52:21.002119 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 1500 ID: 24535 CKSUM: 0x1561 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1029 FLG: -A---- (0x10) SEQ: 0xb2736d67 ACK: 0xf361b1cb WIN: 65535 HLEN: 20 CKSUM: 0x2f12 (CORRECT) DLEN: 1460 data: 1460 bytes Packet 24 Packet Length: 54 Collected: Wed Jun 18 06:52:21.003472 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 172.50.10.3 IP Dest: 192.168.10.6 Type: 0x6 (TCP) HLEN: 20 TTL: 128 LEN: 40 ID: 105 CKSUM: 0x7983 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 1029 DPRT: 20 FLG: -A---- (0x10) SEQ: 0xf361b1cb ACK: 0xb273731b WIN: 17520 HLEN: 20 CKSUM: 0x1bab (CORRECT) DLEN: 0 Packet 25 Packet Length: 1514 Collected: Wed Jun 18 06:52:21.005675 2003 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 192.168.10.6 IP Dest: 172.50.10.3 Type: 0x6 (TCP) HLEN: 20 TTL: 127 LEN: 1500 ID: 24536 CKSUM: 0x1560 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 20 DPRT: 1029 FLG: -AP--- (0x18) SEQ: 0xb273731b ACK: 0xf361b1cb WIN: 65535 HLEN: 20 CKSUM: 0xb237 (CORRECT) DLEN: 1460 data: 1460 bytes 25 packets seen, 25 TCP packets traced trace file elapsed time: 0:00:06.002289 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 172.50.10.3:1026 - 192.168.10.6:21 (a2b) 3> 2< 2: 192.168.10.6:20 - 172.50.10.3:1029 (c2d) 11> 9< tcptrace-6.6.7/input/OUTPUTbench/tcp.dmp.gz.long0100644001217500001440000002363007662255052021130 0ustar mramadasusers1 arg remaining, starting with 'tcp.dmp.gz' 20 packets seen, 20 TCP packets traced trace file elapsed time: 0:00:01.426237 TCP connection info: 2 TCP connections traced: TCP connection 1: host a: 132.235.3.128:34552 host b: 132.235.1.2:79 complete conn: yes first packet: Fri Aug 14 14:44:41.664066 1998 last packet: Fri Aug 14 14:44:41.807920 1998 elapsed time: 0:00:00.143854 total packets: 10 filename: tcp.dmp.gz a->b: b->a: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2 unique bytes sent: 24 actual data pkts: 1 actual data pkts: 1 actual data bytes: 2 actual data bytes: 24 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1326 bytes mss requested: 1460 bytes max segm size: 2 bytes max segm size: 24 bytes min segm size: 2 bytes min segm size: 24 bytes avg segm size: 1 bytes avg segm size: 23 bytes max win adv: 9282 bytes max win adv: 4096 bytes min win adv: 9282 bytes min win adv: 4094 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 9282 bytes avg win adv: 4095 bytes max owin: 3 bytes max owin: 25 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 13 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 2 bytes initial window: 24 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 2 bytes ttl stream length: 24 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 10 bytes truncated packets: 0 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 134.7 ms idletime max: 120.1 ms throughput: 14 Bps throughput: 167 Bps RTT samples: 3 RTT samples: 2 RTT min: 1.8 ms RTT min: 0.1 ms RTT max: 118.7 ms RTT max: 0.2 ms RTT avg: 41.2 ms RTT avg: 0.1 ms RTT stdev: 67.1 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.8 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 118.7 ms RTT full_sz min: 0.2 ms RTT full_sz max: 118.7 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 118.7 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 132.235.3.128:34553 host d: 132.235.1.2:79 complete conn: yes first packet: Fri Aug 14 14:44:42.951344 1998 last packet: Fri Aug 14 14:44:43.090304 1998 elapsed time: 0:00:00.138960 total packets: 10 filename: tcp.dmp.gz c->d: d->c: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2 unique bytes sent: 24 actual data pkts: 1 actual data pkts: 1 actual data bytes: 2 actual data bytes: 24 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1326 bytes mss requested: 1460 bytes max segm size: 2 bytes max segm size: 24 bytes min segm size: 2 bytes min segm size: 24 bytes avg segm size: 1 bytes avg segm size: 23 bytes max win adv: 9282 bytes max win adv: 4096 bytes min win adv: 9282 bytes min win adv: 4094 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 9282 bytes avg win adv: 4095 bytes max owin: 3 bytes max owin: 25 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 13 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 2 bytes initial window: 24 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 2 bytes ttl stream length: 24 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 10 bytes truncated packets: 0 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 130.0 ms idletime max: 97.5 ms throughput: 14 Bps throughput: 173 Bps RTT samples: 3 RTT samples: 2 RTT min: 1.5 ms RTT min: 0.1 ms RTT max: 32.0 ms RTT max: 0.1 ms RTT avg: 11.8 ms RTT avg: 0.1 ms RTT stdev: 17.5 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.8 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 32.0 ms RTT full_sz min: 0.1 ms RTT full_sz max: 32.0 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 32.0 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/rawppp.pcap.gz.short0100644001217500001440000000041107756517507022220 0ustar mramadasusers1 arg remaining, starting with 'rawppp.pcap.gz' 25 packets seen, 25 TCP packets traced trace file elapsed time: 0:00:06.002289 TCP connection info: 1: 172.50.10.3:1026 - 192.168.10.6:21 (a2b) 3> 2< 2: 192.168.10.6:20 - 172.50.10.3:1029 (c2d) 11> 9< tcptrace-6.6.7/input/OUTPUTbench/rawppp.pcap.gz.xplots.cksum0100644001217500001440000000114607751776617023545 0ustar mramadasusers1062439735 961 a2b_owin.xpl 2047343575 255 a2b_rtt.xpl 2084065711 417 a2b_ssize.xpl 1178724566 145 a2b_tput.xpl 3786379241 807 a2b_tsg.xpl 526684084 1081 a_b_tline.xpl 1520832039 609 b2a_owin.xpl 3622743556 242 b2a_rtt.xpl 1609725916 417 b2a_ssize.xpl 2511940963 145 b2a_tput.xpl 196877863 966 b2a_tsg.xpl 19035627 3319 c2d_owin.xpl 3920172075 765 c2d_rtt.xpl 463885084 1592 c2d_ssize.xpl 2830265597 492 c2d_tput.xpl 3580503663 3911 c2d_tsg.xpl 1326354314 4104 c_d_tline.xpl 1342718508 2458 d2c_owin.xpl 1333894907 137 d2c_rtt.xpl 4065587595 122 d2c_ssize.xpl 12014164 113 d2c_tput.xpl 3586696900 2850 d2c_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/reno.epeek.gz.long0100644001217500001440000001217707662255052021622 0ustar mramadasusers1 arg remaining, starting with 'reno.epeek.gz' 996 packets seen, 996 TCP packets traced trace file elapsed time: 0:00:08.000000 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 132.235.3.145:3999 host b: 132.235.3.157:1031 complete conn: no (SYNs: 0) (FINs: 0) first packet: Wed Jul 16 04:14:44.000000 1997 last packet: Wed Jul 16 04:14:52.000000 1997 elapsed time: 0:00:08.000000 total packets: 996 filename: reno.epeek.gz a->b: b->a: total packets: 261 total packets: 735 ack pkts sent: 261 ack pkts sent: 735 pure acks sent: 261 pure acks sent: 0 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 0 unique bytes sent: 338100 actual data pkts: 0 actual data pkts: 735 actual data bytes: 0 actual data bytes: 338100 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 0 pushed data pkts: 0 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 req 1323 ws/ts: N/Y req 1323 ws/ts: N/Y urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 0 bytes max segm size: 460 bytes min segm size: 0 bytes min segm size: 460 bytes avg segm size: 0 bytes avg segm size: 459 bytes max win adv: 43188 bytes max win adv: 43188 bytes min win adv: 42958 bytes min win adv: 43188 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 43177 bytes avg win adv: 43188 bytes max owin: 1 bytes max owin: 26221 bytes min non-zero owin: 1 bytes min non-zero owin: 23001 bytes avg owin: 0 bytes avg owin: 24668 bytes wavg owin: 0 bytes wavg owin: 25098 bytes initial window: 0 bytes initial window: 0 bytes initial window: 0 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 313110 bytes truncated packets: 0 pkts truncated packets: 735 pkts data xmit time: 0.000 secs data xmit time: 8.000 secs idletime max: 500.0 ms idletime max: 500.0 ms throughput: 0 Bps throughput: 42262 Bps RTT samples: 0 RTT samples: 241 RTT min: 0.0 ms RTT min: 500.0 ms RTT max: 0.0 ms RTT max: 1000.0 ms RTT avg: 0.0 ms RTT avg: 597.5 ms RTT stdev: 0.0 ms RTT stdev: 198.5 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 0 RTT full_sz smpls: 241 RTT full_sz min: 0.0 ms RTT full_sz min: 500.0 ms RTT full_sz max: 0.0 ms RTT full_sz max: 1000.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 597.5 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 198.5 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 437 duplicate acks: 0 duplicate acks: 0 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/reno.epeek.gz.packets0100644001217500001440000017076307302732570022317 0ustar mramadasusers1 arg remaining, starting with 'reno.epeek.gz' Packet 1 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9007 CKSUM: 0x4889 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd1746 WIN: 43188 HLEN: 32 CKSUM: 0x6541 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1404) Packet 2 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22010 CKSUM: 0x11f2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd6f52 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x643c (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 3 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22011 CKSUM: 0x11f1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd711e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x0f19 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 4 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22012 CKSUM: 0x11f0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd72ea ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xeaa4 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 5 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9008 CKSUM: 0x4888 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd1caa WIN: 43188 HLEN: 32 CKSUM: 0x5fdc (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1405) Packet 6 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22013 CKSUM: 0x11ef (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd74b6 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xa46c (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 7 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22014 CKSUM: 0x11ee (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd7682 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x3a76 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 8 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22015 CKSUM: 0x11ed (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd784e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xb0f1 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 9 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9009 CKSUM: 0x4887 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd220e WIN: 43164 HLEN: 32 CKSUM: 0x5a90 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1405) Packet 10 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22016 CKSUM: 0x11ec (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd7a1a ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x08b0 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 11 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22017 CKSUM: 0x11eb (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd7be6 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xe248 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 12 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22018 CKSUM: 0x11ea (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd7db2 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x0e26 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 13 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9010 CKSUM: 0x4886 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd25a6 WIN: 43188 HLEN: 32 CKSUM: 0x56e0 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1405) Packet 14 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22019 CKSUM: 0x11e9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd7f7e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xfc5d (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 15 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22020 CKSUM: 0x11e8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd814a ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x782e (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 16 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9011 CKSUM: 0x4885 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd2772 WIN: 43188 HLEN: 32 CKSUM: 0x5514 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1405) Packet 17 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22021 CKSUM: 0x11e7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd8316 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xc1e7 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 18 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9012 CKSUM: 0x4884 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd2cd6 WIN: 43188 HLEN: 32 CKSUM: 0x4fb0 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1405) Packet 19 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22022 CKSUM: 0x11e6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd84e2 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x23c5 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 20 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22023 CKSUM: 0x11e5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd86ae ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xbd1e (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 21 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22024 CKSUM: 0x11e4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd887a ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x94d5 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 22 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9014 CKSUM: 0x4882 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd323a WIN: 43188 HLEN: 32 CKSUM: 0x4a4c (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1405) Packet 23 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22025 CKSUM: 0x11e3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd8a46 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x802e (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 24 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22026 CKSUM: 0x11e2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd8c12 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x3f0d (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 25 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22027 CKSUM: 0x11e1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd8dde ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x0d5a (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 26 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9015 CKSUM: 0x4881 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd379e WIN: 43188 HLEN: 32 CKSUM: 0x44e8 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1405) Packet 27 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22028 CKSUM: 0x11e0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd8faa ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x0fb7 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 28 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22029 CKSUM: 0x11df (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd9176 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x11c2 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 29 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22030 CKSUM: 0x11de (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd9342 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x652f (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 30 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9016 CKSUM: 0x4880 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd3d02 WIN: 43188 HLEN: 32 CKSUM: 0x3f84 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1405) Packet 31 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22031 CKSUM: 0x11dd (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd950e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x64b2 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 32 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22032 CKSUM: 0x11dc (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd96da ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xc26e (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 33 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22033 CKSUM: 0x11db (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd98a6 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xdf39 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 34 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9017 CKSUM: 0x487f (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd4266 WIN: 43122 HLEN: 32 CKSUM: 0x3a62 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1405) Packet 35 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22034 CKSUM: 0x11da (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd9a72 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xb578 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 36 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22035 CKSUM: 0x11d9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd9c3e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x1c70 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 37 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22036 CKSUM: 0x11d8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd9e0a ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x7f21 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 38 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9018 CKSUM: 0x487e (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd45fe WIN: 43188 HLEN: 32 CKSUM: 0x3688 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1405) Packet 39 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22037 CKSUM: 0x11d7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cd9fd6 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x5b7c (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 40 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22038 CKSUM: 0x11d6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cda1a2 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xa376 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 41 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9019 CKSUM: 0x487d (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd47ca WIN: 43188 HLEN: 32 CKSUM: 0x34bc (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1454,1405) Packet 42 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22039 CKSUM: 0x11d5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cda36e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x3125 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 43 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9020 CKSUM: 0x487c (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd4d2e WIN: 43188 HLEN: 32 CKSUM: 0x2f57 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1405) Packet 44 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22040 CKSUM: 0x11d4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cda53a ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xe1d9 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 45 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22041 CKSUM: 0x11d3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cda706 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xa4f9 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 46 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22042 CKSUM: 0x11d2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cda8d2 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x7051 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 47 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9021 CKSUM: 0x487b (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd5292 WIN: 43188 HLEN: 32 CKSUM: 0x29f3 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1405) Packet 48 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22043 CKSUM: 0x11d1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdaa9e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xe3a8 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 49 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22044 CKSUM: 0x11d0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdac6a ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x9b2a (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 50 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22045 CKSUM: 0x11cf (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdae36 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xe67e (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 51 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9022 CKSUM: 0x487a (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd57f6 WIN: 43188 HLEN: 32 CKSUM: 0x248f (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1405) Packet 52 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22046 CKSUM: 0x11ce (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdb002 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x8210 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 53 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22047 CKSUM: 0x11cd (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdb1ce ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xa166 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 54 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22048 CKSUM: 0x11cc (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdb39a ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xef77 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1406,1269) data: 460 bytes Packet 55 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9023 CKSUM: 0x4879 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd5d5a WIN: 43188 HLEN: 32 CKSUM: 0x1f2b (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1405) Packet 56 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22049 CKSUM: 0x11cb (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdb566 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x7f5c (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 57 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22050 CKSUM: 0x11ca (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdb732 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xf422 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 58 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22051 CKSUM: 0x11c9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdb8fe ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xf327 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 59 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9024 CKSUM: 0x4878 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd62be WIN: 43080 HLEN: 32 CKSUM: 0x1a33 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1405) Packet 60 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22052 CKSUM: 0x11c8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdbaca ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xb67b (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 61 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22053 CKSUM: 0x11c7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdbc96 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xbd5d (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 62 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22054 CKSUM: 0x11c6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdbe62 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x0092 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 63 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9025 CKSUM: 0x4877 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd6656 WIN: 43188 HLEN: 32 CKSUM: 0x162f (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1405) Packet 64 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22055 CKSUM: 0x11c5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdc02e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xa54b (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 65 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22056 CKSUM: 0x11c4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdc1fa ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xb369 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 66 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22057 CKSUM: 0x11c3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdc3c6 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xf3d0 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 67 Packet Length: 70 Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9026 CKSUM: 0x4876 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd69ee WIN: 42958 HLEN: 32 CKSUM: 0x137d (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1405) Packet 68 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22058 CKSUM: 0x11c2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdc592 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xefaf (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 69 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.000000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22059 CKSUM: 0x11c1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdc75e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x8201 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 70 Packet Length: 70 Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9027 CKSUM: 0x4875 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd6d86 WIN: 43188 HLEN: 32 CKSUM: 0x0eff (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1405) Packet 71 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22060 CKSUM: 0x11c0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdc92a ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xd037 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 72 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22061 CKSUM: 0x11bf (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdcaf6 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xc42e (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 73 Packet Length: 70 Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9028 CKSUM: 0x4874 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd72ea WIN: 43188 HLEN: 32 CKSUM: 0x099b (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1405) Packet 74 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22062 CKSUM: 0x11be (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdccc2 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x15d3 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 75 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22063 CKSUM: 0x11bd (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdce8e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x0265 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 76 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22064 CKSUM: 0x11bc (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdd05a ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x93fa (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 77 Packet Length: 70 Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9029 CKSUM: 0x4873 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd784e WIN: 43188 HLEN: 32 CKSUM: 0x0436 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1406) Packet 78 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22065 CKSUM: 0x11bb (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdd226 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xcc1c (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 79 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22066 CKSUM: 0x11ba (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdd3f2 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x8a10 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 80 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22067 CKSUM: 0x11b9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdd5be ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x6255 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 81 Packet Length: 70 Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9030 CKSUM: 0x4872 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd7db2 WIN: 43188 HLEN: 32 CKSUM: 0xfed1 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1406) Packet 82 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22068 CKSUM: 0x11b8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdd78a ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xd42d (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 83 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22069 CKSUM: 0x11b7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdd956 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x0034 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 84 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22070 CKSUM: 0x11b6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cddb22 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xa5ff (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 85 Packet Length: 70 Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9031 CKSUM: 0x4871 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd8316 WIN: 43038 HLEN: 32 CKSUM: 0xfa03 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1406) Packet 86 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22071 CKSUM: 0x11b5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cddcee ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x0179 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 87 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22072 CKSUM: 0x11b4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cddeba ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x7868 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 88 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22073 CKSUM: 0x11b3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cde086 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x86da (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 89 Packet Length: 70 Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9032 CKSUM: 0x4870 (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd84e2 WIN: 42958 HLEN: 32 CKSUM: 0xf887 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1406) Packet 90 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22074 CKSUM: 0x11b2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cde252 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x447c (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 91 Packet Length: 70 Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9033 CKSUM: 0x486f (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd887a WIN: 43188 HLEN: 32 CKSUM: 0xf409 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1455,1406) Packet 92 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22075 CKSUM: 0x11b1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cde41e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x56de (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 93 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22076 CKSUM: 0x11b0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cde5ea ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xe0c2 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 94 Packet Length: 70 Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9034 CKSUM: 0x486e (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd8dde WIN: 43188 HLEN: 32 CKSUM: 0xeea4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1456,1406) Packet 95 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22077 CKSUM: 0x11af (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cde7b6 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x5520 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 96 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22078 CKSUM: 0x11ae (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cde982 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x54f1 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 97 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22079 CKSUM: 0x11ad (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdeb4e ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x222b (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 98 Packet Length: 70 Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:00:0c:76:c8:d5 ETH Dest: 00:40:33:21:68:3c Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 62 LEN: 52 ID: 9035 CKSUM: 0x486d (CORRECT) OFFSET: 0x0000 TCP SPRT: 3999 DPRT: 1031 FLG: -A---- (0x10) SEQ: 0x04de1802 ACK: 0x04cd9342 WIN: 43188 HLEN: 32 CKSUM: 0xe940 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(1456,1406) Packet 99 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22080 CKSUM: 0x11ac (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cded1a ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0x3330 (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes Packet 100 Packet Length: 530 (saved length 100) Collected: Wed Jul 16 04:14:44.500000 1997 ETH Srce: 00:40:33:21:68:3c ETH Dest: 00:00:0c:76:c8:d5 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 512 ID: 22081 CKSUM: 0x11ab (CORRECT) OFFSET: 0x0000 TCP SPRT: 1031 DPRT: 3999 FLG: -A---- (0x10) SEQ: 0x04cdeee6 ACK: 0x04de1802 WIN: 43188 HLEN: 32 CKSUM: 0xa39a (too short to verify) DLEN: 460 (only 34 bytes in dump file) OPTS: 12 bytes TS(1407,1269) data: 460 bytes 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:00.500000 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.3.145:3999 - 132.235.3.157:1031 (a2b) 28> 72< tcptrace-6.6.7/input/OUTPUTbench/reno.epeek.gz.short0100644001217500001440000000032507253211560022002 0ustar mramadasusers1 arg remaining, starting with 'reno.epeek.gz' 996 packets seen, 996 TCP packets traced trace file elapsed time: 0:00:08.000000 TCP connection info: 1: 132.235.3.145:3999 - 132.235.3.157:1031 (a2b) 261> 735< tcptrace-6.6.7/input/OUTPUTbench/reno.epeek.gz.xplots.cksum0100644001217500001440000000045107751776617023343 0ustar mramadasusers72560888 77722 a2b_owin.xpl 3542955497 127 a2b_ssize.xpl 1446796894 118 a2b_tput.xpl 2910928813 159109 a2b_tsg.xpl 818307098 177887 a_b_tline.xpl 3626207711 244914 b2a_owin.xpl 489076977 18556 b2a_rtt.xpl 1234412206 112571 b2a_ssize.xpl 1652797682 39493 b2a_tput.xpl 3818155573 157598 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/sack_nasa_sim.dump.gz.long0100644001217500001440000001365507672375064023337 0ustar mramadasusers1 arg remaining, starting with 'sack_nasa_sim.dump.gz' 15710 packets seen, 15710 TCP packets traced trace file elapsed time: 0:02:31.129120 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 132.235.3.145:1024 host b: 132.235.3.157:5001 complete conn: yes first packet: Thu Aug 22 14:09:27.357161 1996 last packet: Thu Aug 22 14:11:58.486281 1996 elapsed time: 0:02:31.129120 total packets: 15710 filename: sack_nasa_sim.dump.gz a->b: b->a: total packets: 11597 total packets: 4113 ack pkts sent: 11596 ack pkts sent: 4113 pure acks sent: 2 pure acks sent: 4111 sack pkts sent: 0 sack pkts sent: 179 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 1 unique bytes sent: 16777216 unique bytes sent: 0 actual data pkts: 11594 actual data pkts: 0 actual data bytes: 16787352 actual data bytes: 0 rexmt data pkts: 7 rexmt data pkts: 0 rexmt data bytes: 10136 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 2 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req 1323 ws/ts: Y/Y req 1323 ws/ts: Y/Y adv wind scale: 0 adv wind scale: 1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 179 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1448 bytes max segm size: 0 bytes min segm size: 996 bytes min segm size: 0 bytes avg segm size: 1447 bytes avg segm size: 0 bytes max win adv: 17520 bytes max win adv: 121180 bytes min win adv: 17520 bytes min win adv: 3892 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 17520 bytes avg win adv: 120711 bytes max owin: 120185 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 73984 bytes avg owin: 1 bytes wavg owin: 67137 bytes wavg owin: 0 bytes initial window: 2896 bytes initial window: 0 bytes initial window: 2 pkts initial window: 0 pkts ttl stream length: 16777216 bytes ttl stream length: 0 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 15233756 bytes truncated data: 0 bytes truncated packets: 11594 pkts truncated packets: 0 pkts data xmit time: 149.877 secs data xmit time: 0.000 secs idletime max: 621.4 ms idletime max: 559.9 ms throughput: 111012 Bps throughput: 0 Bps RTT samples: 3900 RTT samples: 2 RTT min: 559.5 ms RTT min: 0.9 ms RTT max: 907.2 ms RTT max: 0.9 ms RTT avg: 585.6 ms RTT avg: 0.9 ms RTT stdev: 20.9 ms RTT stdev: 0.0 ms RTT from 3WHS: 559.5 ms RTT from 3WHS: 0.9 ms RTT full_sz smpls: 3897 RTT full_sz smpls: 1 RTT full_sz min: 560.4 ms RTT full_sz min: 0.9 ms RTT full_sz max: 907.2 ms RTT full_sz max: 0.9 ms RTT full_sz avg: 585.6 ms RTT full_sz avg: 0.9 ms RTT full_sz stdev: 20.9 ms RTT full_sz stdev: 0.0 ms post-loss acks: 3 post-loss acks: 0 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 4 ambiguous acks: 0 RTT min (last): 561.3 ms RTT min (last): 0.0 ms RTT max (last): 616.8 ms RTT max (last): 0.0 ms RTT avg (last): 588.1 ms RTT avg (last): 0.0 ms RTT sdv (last): 28.3 ms RTT sdv (last): 0.0 ms segs cum acked: 7681 segs cum acked: 0 duplicate acks: 169 duplicate acks: 0 triple dupacks: 3 triple dupacks: 0 max # retrans: 1 max # retrans: 0 min retr time: 652.2 ms min retr time: 0.0 ms max retr time: 969.7 ms max retr time: 0.0 ms avg retr time: 745.8 ms avg retr time: 0.0 ms sdv retr time: 153.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/sack_nasa_sim.dump.gz.packets0100644001217500001440000017167407655031735024033 0ustar mramadasusers1 arg remaining, starting with 'sack_nasa_sim.dump.gz' Packet 1 Packet Length: 78 Collected: Thu Aug 22 14:09:27.357161 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 357 CKSUM: 0x684f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: ----S- (0x02) SEQ: 0x023f3201 ACK: 0x00000000 WIN: 16384 HLEN: 44 CKSUM: 0x96e7 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(0) TS(588,0) SACKREQ Packet 2 Packet Length: 78 Collected: Thu Aug 22 14:09:27.916658 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 64 ID: 18716 CKSUM: 0x2098 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A--S- (0x12) SEQ: 0x1ac67e01 ACK: 0x023f3202 WIN: 65535 HLEN: 44 CKSUM: 0x22a8 (CORRECT) DLEN: 0 OPTS: 24 bytes MSS(1460) WS(1) TS(7014,588) SACKREQ Packet 3 Packet Length: 66 Collected: Thu Aug 22 14:09:27.917600 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 358 CKSUM: 0x685a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f3202 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x1f01 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(591,7014) Packet 4 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:28.022684 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 361 CKSUM: 0x62af (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f3202 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5abe (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(591,7014) data: 1448 bytes Packet 5 Packet Length: 66 Collected: Thu Aug 22 14:09:28.476607 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18717 CKSUM: 0x20a3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f3202 WIN: 60590 HLEN: 32 CKSUM: 0x76c4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7015,588) Packet 6 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:28.479568 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 363 CKSUM: 0x62ad (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f37aa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x7adc (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(592,7014) data: 1448 bytes Packet 7 Packet Length: 66 Collected: Thu Aug 22 14:09:28.696566 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18719 CKSUM: 0x20a1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f37aa WIN: 60590 HLEN: 32 CKSUM: 0x7119 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7015,591) Packet 8 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:28.699346 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 364 CKSUM: 0x62ac (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f3d52 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3c5a (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(592,7014) data: 1448 bytes Packet 9 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:28.700621 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 365 CKSUM: 0x62ab (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f42fa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5c79 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(592,7014) data: 1448 bytes Packet 10 Packet Length: 66 Collected: Thu Aug 22 14:09:29.096527 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18720 CKSUM: 0x20a0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f3d52 WIN: 60590 HLEN: 32 CKSUM: 0x6b6f (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7016,592) Packet 11 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.099373 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 366 CKSUM: 0x62aa (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f48a2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xd7af (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(593,7014) data: 1448 bytes Packet 12 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.100667 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 367 CKSUM: 0x62a9 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f4e4a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3f75 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(593,7014) data: 1448 bytes Packet 13 Packet Length: 66 Collected: Thu Aug 22 14:09:29.296624 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18721 CKSUM: 0x209f (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f48a2 WIN: 60590 HLEN: 32 CKSUM: 0x601f (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7016,592) Packet 14 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.299464 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 368 CKSUM: 0x62a8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f53f2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x75aa (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(593,7014) data: 1448 bytes Packet 15 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.300753 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 369 CKSUM: 0x62a7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f599a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3728 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(593,7014) data: 1448 bytes Packet 16 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.302057 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 370 CKSUM: 0x62a6 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f5f42 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5747 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(593,7014) data: 1448 bytes Packet 17 Packet Length: 66 Collected: Thu Aug 22 14:09:29.687210 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18722 CKSUM: 0x209e (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f53f2 WIN: 60590 HLEN: 32 CKSUM: 0x54cd (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7017,593) Packet 18 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.690151 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 371 CKSUM: 0x62a5 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f64ea ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x731e (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(594,7014) data: 1448 bytes Packet 19 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.691450 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 372 CKSUM: 0x62a4 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f6a92 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x525b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(594,7014) data: 1448 bytes Packet 20 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.692764 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 373 CKSUM: 0x62a3 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f703a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x424a (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(594,7014) data: 1448 bytes Packet 21 Packet Length: 66 Collected: Thu Aug 22 14:09:29.876550 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18723 CKSUM: 0x209d (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f64ea WIN: 60590 HLEN: 32 CKSUM: 0x43d4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7018,593) Packet 22 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.879603 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 374 CKSUM: 0x62a2 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f75e2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x31f5 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 23 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.881082 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 375 CKSUM: 0x62a1 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f7b8a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5214 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 24 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.882242 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 376 CKSUM: 0x62a0 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f8132 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x0e8d (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 25 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:29.883752 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 377 CKSUM: 0x629f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f86da ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x4d29 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 26 Packet Length: 66 Collected: Thu Aug 22 14:09:30.266549 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18724 CKSUM: 0x209c (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f75e2 WIN: 60590 HLEN: 32 CKSUM: 0x32db (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7018,594) Packet 27 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.269448 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 378 CKSUM: 0x629e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f8c82 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x2702 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 28 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.270759 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 379 CKSUM: 0x629d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f922a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x2cc4 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 29 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.272041 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 380 CKSUM: 0x629c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f97d2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x4ce3 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 30 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.273310 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 381 CKSUM: 0x629b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023f9d7a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xa9fc (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(595,7014) data: 1448 bytes Packet 31 Packet Length: 66 Collected: Thu Aug 22 14:09:30.456617 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18725 CKSUM: 0x209b (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f86da WIN: 60590 HLEN: 32 CKSUM: 0x21e1 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7019,595) Packet 32 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.459535 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 382 CKSUM: 0x629a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fa322 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x47f7 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 33 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.460829 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 383 CKSUM: 0x6299 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fa8ca ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x6816 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 34 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.462154 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 384 CKSUM: 0x6298 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fae72 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xcb35 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 35 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.463437 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 385 CKSUM: 0x6297 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fb41a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x47b1 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 36 Packet Length: 66 Collected: Thu Aug 22 14:09:30.496538 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18726 CKSUM: 0x209a (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f8c82 WIN: 60590 HLEN: 32 CKSUM: 0x1c39 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7019,595) Packet 37 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.499473 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 386 CKSUM: 0x6296 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fb9c2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x456b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 38 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.500788 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 387 CKSUM: 0x6295 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fbf6a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x42c6 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(596,7014) data: 1448 bytes Packet 39 Packet Length: 66 Collected: Thu Aug 22 14:09:30.856561 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18727 CKSUM: 0x2099 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023f9d7a WIN: 60590 HLEN: 32 CKSUM: 0x0b40 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7020,595) Packet 40 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.859439 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 388 CKSUM: 0x6294 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fc512 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x62e4 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 41 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.860768 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 389 CKSUM: 0x6293 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fcaba ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x2462 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 42 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.862077 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 390 CKSUM: 0x6292 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fd062 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xce0a (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 43 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.863354 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 391 CKSUM: 0x6291 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fd60a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xe0d9 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 44 Packet Length: 66 Collected: Thu Aug 22 14:09:30.896589 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18728 CKSUM: 0x2098 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023fa322 WIN: 60590 HLEN: 32 CKSUM: 0x0598 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7020,595) Packet 45 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.899454 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 392 CKSUM: 0x6290 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fdbb2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3d94 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 46 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:30.900748 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 393 CKSUM: 0x628f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fe15a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5db3 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 47 Packet Length: 66 Collected: Thu Aug 22 14:09:31.036567 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18729 CKSUM: 0x2097 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023fb41a WIN: 60590 HLEN: 32 CKSUM: 0xf49e (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7020,596) Packet 48 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.039482 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 394 CKSUM: 0x628e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fe702 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x1f31 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 49 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.040779 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 395 CKSUM: 0x628d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023fecaa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xb2c3 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 50 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.042050 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 396 CKSUM: 0x628c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023ff252 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x7c49 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 51 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.043387 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 397 CKSUM: 0x628b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023ff7fa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3863 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 52 Packet Length: 66 Collected: Thu Aug 22 14:09:31.076598 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18730 CKSUM: 0x2096 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023fc512 WIN: 60590 HLEN: 32 CKSUM: 0xe3a6 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7020,596) Packet 53 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.079519 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 398 CKSUM: 0x628a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x023ffda2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5882 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 54 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.080839 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 399 CKSUM: 0x6289 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240034a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x1a00 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 55 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.082125 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 400 CKSUM: 0x6288 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x024008f2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xf93c (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 56 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.083410 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 401 CKSUM: 0x6287 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02400e9a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xb5f8 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(597,7014) data: 1448 bytes Packet 57 Packet Length: 66 Collected: Thu Aug 22 14:09:31.436563 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18731 CKSUM: 0x2095 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023fd60a WIN: 60590 HLEN: 32 CKSUM: 0xd2ac (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7021,597) Packet 58 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.439461 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 402 CKSUM: 0x6286 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02401442 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3331 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 59 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.440760 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 403 CKSUM: 0x6285 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x024019ea ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5350 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 60 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.442056 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 404 CKSUM: 0x6284 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02401f92 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x14ce (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 61 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.443390 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 405 CKSUM: 0x6283 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240253a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x94ab (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 62 Packet Length: 66 Collected: Thu Aug 22 14:09:31.476525 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18732 CKSUM: 0x2094 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023fe702 WIN: 60590 HLEN: 32 CKSUM: 0xc1b4 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7021,597) Packet 63 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.479427 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 406 CKSUM: 0x6282 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02402ae2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x6e84 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 64 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.480742 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 407 CKSUM: 0x6281 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240308a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x5a2c (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 65 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.482068 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 408 CKSUM: 0x6280 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02403632 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x4e1f (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 66 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.483351 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 409 CKSUM: 0x627f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02403bda ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x0f9d (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 67 Packet Length: 66 Collected: Thu Aug 22 14:09:31.616573 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18733 CKSUM: 0x2093 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x023ff7fa WIN: 60590 HLEN: 32 CKSUM: 0xb0bc (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7021,597) Packet 68 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.619507 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 410 CKSUM: 0x627e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02404182 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x301b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 69 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.620805 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 411 CKSUM: 0x627d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240472a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x6953 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 70 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.622112 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 412 CKSUM: 0x627c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02404cd2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3ee5 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 71 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.623383 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 413 CKSUM: 0x627b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240527a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x48ee (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 72 Packet Length: 66 Collected: Thu Aug 22 14:09:31.656553 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18734 CKSUM: 0x2092 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x02400e9a WIN: 60590 HLEN: 32 CKSUM: 0x9a1c (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7021,597) Packet 73 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.659496 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 414 CKSUM: 0x627a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02405822 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x0a6c (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 74 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.660802 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 415 CKSUM: 0x6279 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02405dca ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x2a8b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 75 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.662058 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 416 CKSUM: 0x6278 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02406372 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x0522 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 76 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.663354 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 417 CKSUM: 0x6277 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240691a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x25a0 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 77 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.664667 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 418 CKSUM: 0x6276 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02406ec2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x41bb (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 78 Packet Length: 66 Collected: Thu Aug 22 14:09:31.696613 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18735 CKSUM: 0x2091 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x02401442 WIN: 60590 HLEN: 32 CKSUM: 0x9474 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7021,597) Packet 79 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.699529 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 419 CKSUM: 0x6275 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240746a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x053b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 80 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:31.700805 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 420 CKSUM: 0x6274 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02407a12 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x255a (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(598,7014) data: 1448 bytes Packet 81 Packet Length: 66 Collected: Thu Aug 22 14:09:32.016547 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18736 CKSUM: 0x2090 (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x0240253a WIN: 60590 HLEN: 32 CKSUM: 0x837a (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7022,598) Packet 82 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.019473 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 421 CKSUM: 0x6273 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02407fba ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xa090 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 83 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.020761 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 422 CKSUM: 0x6272 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02408562 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x206e (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 84 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.022031 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 423 CKSUM: 0x6271 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02408b0a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x408d (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 85 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.023317 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 424 CKSUM: 0x6270 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x024090b2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xe5ee (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 86 Packet Length: 66 Collected: Thu Aug 22 14:09:32.056496 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18737 CKSUM: 0x208f (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x02403bda WIN: 60590 HLEN: 32 CKSUM: 0x6cda (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7022,598) Packet 87 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.059462 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 425 CKSUM: 0x626f (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240965a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x2028 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 88 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.060750 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 426 CKSUM: 0x626e (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x02409c02 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3c00 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 89 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.062234 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 427 CKSUM: 0x626d (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240a1aa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x1b3d (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 90 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.063407 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 428 CKSUM: 0x626c (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240a752 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x3b5c (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 91 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.064914 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 429 CKSUM: 0x626b (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240acfa ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xcaa7 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 92 Packet Length: 66 Collected: Thu Aug 22 14:09:32.096525 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18738 CKSUM: 0x208e (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x02404182 WIN: 60590 HLEN: 32 CKSUM: 0x6732 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7022,598) Packet 93 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.099467 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 430 CKSUM: 0x626a (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240b2a2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x1af7 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 94 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.100935 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 431 CKSUM: 0x6269 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240b84a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xd76f (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 95 Packet Length: 66 Collected: Thu Aug 22 14:09:32.216514 1996 ETH Srce: 02:60:8c:8f:84:12 ETH Dest: 00:00:e8:a0:06:15 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.157 IP Dest: 132.235.3.145 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 52 ID: 18739 CKSUM: 0x208d (CORRECT) OFFSET: 0x0000 TCP SPRT: 5001 DPRT: 1024 FLG: -A---- (0x10) SEQ: 0x1ac67e02 ACK: 0x02405822 WIN: 60590 HLEN: 32 CKSUM: 0x5092 (CORRECT) DLEN: 0 OPTS: 12 bytes TS(7022,598) Packet 96 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.219490 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 432 CKSUM: 0x6268 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240bdf2 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x160c (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 97 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.220719 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 433 CKSUM: 0x6267 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240c39a ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x362b (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 98 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.222067 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 434 CKSUM: 0x6266 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240c942 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xf7a8 (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 99 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.223393 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 435 CKSUM: 0x6265 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240ceea ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0xcd7d (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes Packet 100 Packet Length: 1514 (saved length 200) Collected: Thu Aug 22 14:09:32.224699 1996 ETH Srce: 00:00:e8:a0:06:15 ETH Dest: 02:60:8c:8f:84:12 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.145 IP Dest: 132.235.3.157 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 436 CKSUM: 0x6264 (CORRECT) OFFSET: 0x0000 TCP SPRT: 1024 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x0240d492 ACK: 0x1ac67e02 WIN: 17520 HLEN: 32 CKSUM: 0x72df (too short to verify) DLEN: 1448 (only 134 bytes in dump file) OPTS: 12 bytes TS(599,7014) data: 1448 bytes 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:04.867537 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.3.145:1024 - 132.235.3.157:5001 (a2b) 77> 23< tcptrace-6.6.7/input/OUTPUTbench/sack_nasa_sim.dump.gz.short0100644001217500001440000000035607655031735023524 0ustar mramadasusers1 arg remaining, starting with 'sack_nasa_sim.dump.gz' 15710 packets seen, 15710 TCP packets traced trace file elapsed time: 0:02:31.129120 TCP connection info: 1: 132.235.3.145:1024 - 132.235.3.157:5001 (a2b) 11597> 4113< (complete) tcptrace-6.6.7/input/OUTPUTbench/sack_nasa_sim.dump.gz.xplots.cksum0100644001217500001440000000050607751776617025050 0ustar mramadasusers4158003597 258578 a2b_owin.xpl 2781120016 17732 a2b_rtt.xpl 2453265213 121431 a2b_ssize.xpl 1552950510 40775 a2b_tput.xpl 3294024462 155089 a2b_tsg.xpl 1789200913 180963 a_b_tline.xpl 545167068 69723 b2a_owin.xpl 803335463 139 b2a_rtt.xpl 2207219268 127 b2a_ssize.xpl 4034901542 118 b2a_tput.xpl 3042990778 167965 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/single_byte_rexmit.dmp.gz.long0100644001217500001440000001327607715773637024260 0ustar mramadasusers1 arg remaining, starting with 'single_byte_rexmit.dmp.gz' 27 packets seen, 27 TCP packets traced trace file elapsed time: 0:00:28.928446 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 30.229.118.67:37143 host b: 67.82.9.253:80 complete conn: RESET first packet: Mon Nov 27 10:58:29.650694 2000 last packet: Mon Nov 27 10:58:58.579141 2000 elapsed time: 0:00:28.928446 total packets: 27 filename: single_byte_rexmit.dmp.gz a->b: b->a: total packets: 15 total packets: 12 resets sent: 1 resets sent: 0 ack pkts sent: 13 ack pkts sent: 12 pure acks sent: 7 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 1322 unique bytes sent: 7273 actual data pkts: 5 actual data pkts: 8 actual data bytes: 1615 actual data bytes: 8733 rexmt data pkts: 1 rexmt data pkts: 2 rexmt data bytes: 293 rexmt data bytes: 1461 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 1 pushed data pkts: 5 pushed data pkts: 8 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/2 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 344 bytes max segm size: 1460 bytes min segm size: 293 bytes min segm size: 418 bytes avg segm size: 322 bytes avg segm size: 1091 bytes max win adv: 8760 bytes max win adv: 32120 bytes min win adv: 8760 bytes min win adv: 31827 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 8176 bytes avg win adv: 32095 bytes max owin: 345 bytes max owin: 2921 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 139 bytes avg owin: 1144 bytes wavg owin: 105 bytes wavg owin: 1306 bytes initial window: 293 bytes initial window: 2920 bytes initial window: 1 pkts initial window: 2 pkts ttl stream length: 1323 bytes ttl stream length: 7273 bytes missed data: 1 bytes missed data: 0 bytes truncated data: 1420 bytes truncated data: 8421 bytes truncated packets: 5 pkts truncated packets: 8 pkts data xmit time: 18.748 secs data xmit time: 22.985 secs idletime max: 7279.5 ms idletime max: 6176.1 ms throughput: 46 Bps throughput: 251 Bps RTT samples: 4 RTT samples: 5 RTT min: 971.0 ms RTT min: 257.3 ms RTT max: 1314.9 ms RTT max: 759.7 ms RTT avg: 1079.4 ms RTT avg: 463.3 ms RTT stdev: 158.8 ms RTT stdev: 182.9 ms RTT from 3WHS: 1001.9 ms RTT from 3WHS: 424.4 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 1314.9 ms RTT full_sz min: 455.4 ms RTT full_sz max: 1314.9 ms RTT full_sz max: 455.4 ms RTT full_sz avg: 1314.8 ms RTT full_sz avg: 455.4 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 1 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 1 ambiguous acks: 0 RTT min (last): 1076.2 ms RTT min (last): 0.0 ms RTT max (last): 1076.2 ms RTT max (last): 0.0 ms RTT avg (last): 1076.1 ms RTT avg (last): 0.0 ms RTT sdv (last): 0.0 ms RTT sdv (last): 0.0 ms segs cum acked: 1 segs cum acked: 1 duplicate acks: 1 duplicate acks: 3 triple dupacks: 0 triple dupacks: 0 max # retrans: 1 max # retrans: 1 min retr time: 3284.2 ms min retr time: 6176.1 ms max retr time: 3284.2 ms max retr time: 6176.1 ms avg retr time: 3283.8 ms avg retr time: 6175.4 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/single_byte_rexmit.dmp.gz.packets0100644001217500001440000003655707715773637024762 0ustar mramadasusers1 arg remaining, starting with 'single_byte_rexmit.dmp.gz' Packet 1 Packet Length: 65 Collected: Mon Nov 27 10:58:29.650694 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 44 ID: 3365 CKSUM: 0xa944 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: ----S- (0x02) SEQ: 0xda56fc08 ACK: 0x00000000 WIN: 8760 HLEN: 24 CKSUM: 0x44c5 (WRONG) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 2 Packet Length: 65 Collected: Mon Nov 27 10:58:30.652604 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 44 ID: 10282 CKSUM: 0x5e40 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -A--S- (0x12) SEQ: 0xddc46a04 ACK: 0xda56fc09 WIN: 32120 HLEN: 24 CKSUM: 0xa1aa (WRONG) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 3 Packet Length: 61 Collected: Mon Nov 27 10:58:31.077024 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 40 ID: 3368 CKSUM: 0xa945 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xda56fc09 ACK: 0xddc46a05 WIN: 8760 HLEN: 20 CKSUM: 0x14a8 (WRONG) DLEN: 0 Packet 4 Packet Length: 354 (saved length 100) Collected: Mon Nov 27 10:58:31.120070 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 333 ID: 3369 CKSUM: 0xa81f (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xda56fc09 ACK: 0xddc46a05 WIN: 8760 HLEN: 20 CKSUM: 0xf907 (too short to verify) DLEN: 293 (only 39 bytes in dump file) data: 293 bytes Packet 5 Packet Length: 354 (saved length 100) Collected: Mon Nov 27 10:58:34.404240 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 333 ID: 3381 CKSUM: 0xa813 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xda56fc09 ACK: 0xddc46a05 WIN: 8760 HLEN: 20 CKSUM: 0xf907 (too short to verify) DLEN: 293 (only 39 bytes in dump file) data: 293 bytes Packet 6 Packet Length: 61 Collected: Mon Nov 27 10:58:35.480460 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 40 ID: 10356 CKSUM: 0x5dfa (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -A---- (0x10) SEQ: 0xddc46a05 ACK: 0xda56fd2e WIN: 31827 HLEN: 20 CKSUM: 0xb967 (WRONG) DLEN: 0 Packet 7 Packet Length: 1521 (saved length 100) Collected: Mon Nov 27 10:58:35.520376 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 1500 ID: 10359 CKSUM: 0x5843 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -AP--- (0x18) SEQ: 0xddc46fb9 ACK: 0xda56fd2e WIN: 32120 HLEN: 20 CKSUM: 0x31f4 (too short to verify) DLEN: 1460 (only 39 bytes in dump file) data: 1460 bytes Packet 8 Packet Length: 61 Collected: Mon Nov 27 10:58:36.310348 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 40 ID: 3387 CKSUM: 0xa932 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xda56fd2e ACK: 0xddc46a05 WIN: 8760 HLEN: 20 CKSUM: 0x1383 (WRONG) DLEN: 0 Packet 9 Packet Length: 1521 (saved length 100) Collected: Mon Nov 27 10:58:38.474288 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 1500 ID: 10386 CKSUM: 0x5828 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -AP--- (0x18) SEQ: 0xddc46a05 ACK: 0xda56fd2e WIN: 32120 HLEN: 20 CKSUM: 0x5420 (too short to verify) DLEN: 1460 (only 39 bytes in dump file) data: 1460 bytes Packet 10 Packet Length: 61 Collected: Mon Nov 27 10:58:38.680269 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 40 ID: 3390 CKSUM: 0xa92f (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xda56fd2e ACK: 0xddc4756d WIN: 8760 HLEN: 20 CKSUM: 0x081b (WRONG) DLEN: 0 Packet 11 Packet Length: 1521 (saved length 100) Collected: Mon Nov 27 10:58:44.497519 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 1500 ID: 10442 CKSUM: 0x57f0 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -AP--- (0x18) SEQ: 0xddc46a05 ACK: 0xda56fd2e WIN: 32120 HLEN: 20 CKSUM: 0x5420 (too short to verify) DLEN: 1460 (only 39 bytes in dump file) data: 1460 bytes Packet 12 Packet Length: 61 Collected: Mon Nov 27 10:58:44.945748 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 40 ID: 3391 CKSUM: 0xa92e (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xda56fd2e ACK: 0xddc4756d WIN: 8760 HLEN: 20 CKSUM: 0x081b (WRONG) DLEN: 0 Packet 13 Packet Length: 1330 (saved length 100) Collected: Mon Nov 27 10:58:45.897819 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 1309 ID: 10449 CKSUM: 0x58a8 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -AP--- (0x18) SEQ: 0xddc4756d ACK: 0xda56fd2e WIN: 32120 HLEN: 20 CKSUM: 0xb333 (too short to verify) DLEN: 1269 (only 39 bytes in dump file) data: 1269 bytes Packet 14 Packet Length: 61 Collected: Mon Nov 27 10:58:46.317567 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 40 ID: 3393 CKSUM: 0xa92c (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xda56fd2e ACK: 0xddc47a62 WIN: 8760 HLEN: 20 CKSUM: 0x0326 (WRONG) DLEN: 0 Packet 15 Packet Length: 405 (saved length 100) Collected: Mon Nov 27 10:58:46.501335 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 384 ID: 3397 CKSUM: 0xa7d0 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xda56fd2e ACK: 0xddc47a62 WIN: 8760 HLEN: 20 CKSUM: 0x5719 (too short to verify) DLEN: 344 (only 39 bytes in dump file) data: 344 bytes Packet 16 Packet Length: 1521 (saved length 100) Collected: Mon Nov 27 10:58:47.816276 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 1500 ID: 10455 CKSUM: 0x57e3 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -AP--- (0x18) SEQ: 0xddc47a62 ACK: 0xda56fe86 WIN: 32120 HLEN: 20 CKSUM: 0x1e11 (too short to verify) DLEN: 1460 (only 39 bytes in dump file) data: 1460 bytes Packet 17 Packet Length: 849 (saved length 100) Collected: Mon Nov 27 10:58:47.820123 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 828 ID: 10456 CKSUM: 0x5a82 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -AP--- (0x18) SEQ: 0xddc48016 ACK: 0xda56fe86 WIN: 32120 HLEN: 20 CKSUM: 0x1aa6 (too short to verify) DLEN: 788 (only 39 bytes in dump file) data: 788 bytes Packet 18 Packet Length: 61 Collected: Mon Nov 27 10:58:48.271721 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 40 ID: 3402 CKSUM: 0xa923 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xda56fe86 ACK: 0xddc48016 WIN: 8760 HLEN: 20 CKSUM: 0xfc19 (WRONG) DLEN: 0 Packet 19 Packet Length: 403 (saved length 100) Collected: Mon Nov 27 10:58:48.579812 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 382 ID: 3403 CKSUM: 0xa7cc (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xda56fe86 ACK: 0xddc4832a WIN: 8760 HLEN: 20 CKSUM: 0xaf59 (too short to verify) DLEN: 342 (only 39 bytes in dump file) data: 342 bytes Packet 20 Packet Length: 479 (saved length 100) Collected: Mon Nov 27 10:58:49.550854 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 458 ID: 10477 CKSUM: 0x5bdf (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -AP--- (0x18) SEQ: 0xddc4832a ACK: 0xda56ffdc WIN: 32120 HLEN: 20 CKSUM: 0x2ae9 (too short to verify) DLEN: 418 (only 39 bytes in dump file) data: 418 bytes Packet 21 Packet Length: 61 Collected: Mon Nov 27 10:58:49.808129 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 40 ID: 3406 CKSUM: 0xa91f (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -A---- (0x10) SEQ: 0xda56ffdc ACK: 0xddc484cc WIN: 8760 HLEN: 20 CKSUM: 0xf60d (WRONG) DLEN: 0 Packet 22 Packet Length: 404 (saved length 100) Collected: Mon Nov 27 10:58:49.868108 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 383 ID: 3407 CKSUM: 0xa7c7 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -AP--- (0x18) SEQ: 0xda56ffdc ACK: 0xddc484cc WIN: 8760 HLEN: 20 CKSUM: 0x6039 (too short to verify) DLEN: 343 (only 39 bytes in dump file) data: 343 bytes Packet 23 Packet Length: 61 Collected: Mon Nov 27 10:58:51.299616 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 40 ID: 3416 CKSUM: 0xa915 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: -A---F (0x11) SEQ: 0xda570133 ACK: 0xddc484cc WIN: 8760 HLEN: 20 CKSUM: 0xf4b5 (WRONG) DLEN: 0 Packet 24 Packet Length: 61 Collected: Mon Nov 27 10:58:52.329334 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 40 ID: 10525 CKSUM: 0x5d51 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -A---- (0x10) SEQ: 0xddc4866e ACK: 0xda570134 WIN: 32120 HLEN: 20 CKSUM: 0x97d3 (WRONG) DLEN: 0 Packet 25 Packet Length: 61 Collected: Mon Nov 27 10:58:52.329341 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 40 ID: 10526 CKSUM: 0x5d50 (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -A---F (0x11) SEQ: 0xddc4866e ACK: 0xda570134 WIN: 32120 HLEN: 20 CKSUM: 0x97d2 (WRONG) DLEN: 0 Packet 26 Packet Length: 479 (saved length 100) Collected: Mon Nov 27 10:58:58.505406 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 67.82.9.253 IP Dest: 30.229.118.67 Type: 0x6 (TCP) HLEN: 20 TTL: 43 LEN: 458 ID: 10641 CKSUM: 0x5b3b (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 80 DPRT: 37143 FLG: -AP--F (0x19) SEQ: 0xddc484cc ACK: 0xda570134 WIN: 32120 HLEN: 20 CKSUM: 0xe6a2 (too short to verify) DLEN: 418 (only 39 bytes in dump file) data: 418 bytes Packet 27 Packet Length: 61 Collected: Mon Nov 27 10:58:58.579141 2000 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 30.229.118.67 IP Dest: 67.82.9.253 Type: 0x6 (TCP) HLEN: 20 TTL: 251 LEN: 40 ID: 3443 CKSUM: 0xa8fa (WRONG) OFFSET: 0x4000 Don't Fragment TCP SPRT: 37143 DPRT: 80 FLG: ---R-- (0x04) SEQ: 0xda570134 ACK: 0x00000000 WIN: 8760 HLEN: 20 CKSUM: 0x5753 (WRONG) DLEN: 0 27 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:28.928446 bad IP checksums: 27 bad TCP checksums: 0 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/single_byte_rexmit.dmp.gz.short0100644001217500001440000000036107325576354024441 0ustar mramadasusers1 arg remaining, starting with 'single_byte_rexmit.dmp.gz' 27 packets seen, 27 TCP packets traced trace file elapsed time: 0:00:28.928446 TCP connection info: 1: 30.229.118.67:37143 - 67.82.9.253:80 (a2b) 15> 12< (complete) (reset) tcptrace-6.6.7/input/OUTPUTbench/single_byte_rexmit.dmp.gz.xplots.cksum0100644001217500001440000000046707751776617025772 0ustar mramadasusers854560622 3733 a2b_owin.xpl 3314766980 409 a2b_rtt.xpl 1423665706 878 a2b_ssize.xpl 3324365542 273 a2b_tput.xpl 619328663 4543 a2b_tsg.xpl 1615509946 5167 a_b_tline.xpl 1363736840 2560 b2a_owin.xpl 2507059993 477 b2a_rtt.xpl 3871186196 1375 b2a_ssize.xpl 3607804632 373 b2a_tput.xpl 2147416066 5025 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/tcp.dmp.gz.packets0100644001217500001440000002563007302732571021622 0ustar mramadasusers1 arg remaining, starting with 'tcp.dmp.gz' Packet 1 Packet Length: 58 Collected: Fri Aug 14 14:44:41.664066 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 52661 CKSUM: 0x9fbd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34552 DPRT: 79 FLG: ----S- (0x02) SEQ: 0x7c8a9ea1 ACK: 0x00000000 WIN: 9282 HLEN: 24 CKSUM: 0xc39e (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1326) Packet 2 Packet Length: 60 Collected: Fri Aug 14 14:44:41.665896 1998 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 44 ID: 48222 CKSUM: 0xb515 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34552 FLG: -A--S- (0x12) SEQ: 0x76213600 ACK: 0x7c8a9ea2 WIN: 4096 HLEN: 24 CKSUM: 0x2b28 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 3 Packet Length: 54 Collected: Fri Aug 14 14:44:41.665975 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52662 CKSUM: 0x9fc0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34552 DPRT: 79 FLG: -A---- (0x10) SEQ: 0x7c8a9ea2 ACK: 0x76213601 WIN: 9282 HLEN: 20 CKSUM: 0x2ea3 (CORRECT) DLEN: 0 Packet 4 Packet Length: 56 Collected: Fri Aug 14 14:44:41.667295 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 42 ID: 52663 CKSUM: 0x9fbd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34552 DPRT: 79 FLG: -AP--- (0x18) SEQ: 0x7c8a9ea2 ACK: 0x76213601 WIN: 9282 HLEN: 20 CKSUM: 0x218f (CORRECT) DLEN: 2 data: 2 bytes Packet 5 Packet Length: 60 Collected: Fri Aug 14 14:44:41.785964 1998 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48230 CKSUM: 0xb511 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34552 FLG: -A---- (0x10) SEQ: 0x76213601 ACK: 0x7c8a9ea4 WIN: 4094 HLEN: 20 CKSUM: 0x42e5 (CORRECT) DLEN: 0 Packet 6 Packet Length: 78 (saved length 68) Collected: Fri Aug 14 14:44:41.801142 1998 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 64 ID: 48232 CKSUM: 0xb4f7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34552 FLG: -AP--- (0x18) SEQ: 0x76213601 ACK: 0x7c8a9ea4 WIN: 4096 HLEN: 20 CKSUM: 0x1d5d (too short to verify) DLEN: 24 (only 14 bytes in dump file) data: 24 bytes Packet 7 Packet Length: 60 Collected: Fri Aug 14 14:44:41.801824 1998 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48233 CKSUM: 0xb50e (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34552 FLG: -A---F (0x11) SEQ: 0x76213619 ACK: 0x7c8a9ea4 WIN: 4096 HLEN: 20 CKSUM: 0x42ca (CORRECT) DLEN: 0 Packet 8 Packet Length: 54 Collected: Fri Aug 14 14:44:41.802015 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52664 CKSUM: 0x9fbe (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34552 DPRT: 79 FLG: -A---- (0x10) SEQ: 0x7c8a9ea4 ACK: 0x7621361a WIN: 9282 HLEN: 20 CKSUM: 0x2e88 (CORRECT) DLEN: 0 Packet 9 Packet Length: 54 Collected: Fri Aug 14 14:44:41.804710 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52665 CKSUM: 0x9fbd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34552 DPRT: 79 FLG: -A---F (0x11) SEQ: 0x7c8a9ea4 ACK: 0x7621361a WIN: 9282 HLEN: 20 CKSUM: 0x2e87 (CORRECT) DLEN: 0 Packet 10 Packet Length: 60 Collected: Fri Aug 14 14:44:41.807920 1998 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48234 CKSUM: 0xb50d (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34552 FLG: -A---- (0x10) SEQ: 0x7621361a ACK: 0x7c8a9ea5 WIN: 4096 HLEN: 20 CKSUM: 0x42c9 (CORRECT) DLEN: 0 Packet 11 Packet Length: 58 Collected: Fri Aug 14 14:44:42.951344 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 52666 CKSUM: 0x9fb8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34553 DPRT: 79 FLG: ----S- (0x02) SEQ: 0x7c8efb54 ACK: 0x00000000 WIN: 9282 HLEN: 24 CKSUM: 0x66e6 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1326) Packet 12 Packet Length: 60 Collected: Fri Aug 14 14:44:42.953150 1998 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 44 ID: 48236 CKSUM: 0xb507 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34553 FLG: -A--S- (0x12) SEQ: 0x76242400 ACK: 0x7c8efb55 WIN: 4096 HLEN: 24 CKSUM: 0xe06c (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 13 Packet Length: 54 Collected: Fri Aug 14 14:44:42.953213 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52667 CKSUM: 0x9fbb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34553 DPRT: 79 FLG: -A---- (0x10) SEQ: 0x7c8efb55 ACK: 0x76242401 WIN: 9282 HLEN: 20 CKSUM: 0xe3e7 (CORRECT) DLEN: 0 Packet 14 Packet Length: 56 Collected: Fri Aug 14 14:44:42.954522 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 42 ID: 52668 CKSUM: 0x9fb8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34553 DPRT: 79 FLG: -AP--- (0x18) SEQ: 0x7c8efb55 ACK: 0x76242401 WIN: 9282 HLEN: 20 CKSUM: 0xd6d3 (CORRECT) DLEN: 2 data: 2 bytes Packet 15 Packet Length: 60 Collected: Fri Aug 14 14:44:42.986517 1998 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48237 CKSUM: 0xb50a (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34553 FLG: -A---- (0x10) SEQ: 0x76242401 ACK: 0x7c8efb57 WIN: 4094 HLEN: 20 CKSUM: 0xf829 (CORRECT) DLEN: 0 Packet 16 Packet Length: 78 (saved length 68) Collected: Fri Aug 14 14:44:43.084037 1998 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 64 ID: 48247 CKSUM: 0xb4e8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34553 FLG: -AP--- (0x18) SEQ: 0x76242401 ACK: 0x7c8efb57 WIN: 4096 HLEN: 20 CKSUM: 0xd2a1 (too short to verify) DLEN: 24 (only 14 bytes in dump file) data: 24 bytes Packet 17 Packet Length: 60 Collected: Fri Aug 14 14:44:43.084433 1998 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48248 CKSUM: 0xb4ff (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34553 FLG: -A---F (0x11) SEQ: 0x76242419 ACK: 0x7c8efb57 WIN: 4096 HLEN: 20 CKSUM: 0xf80e (CORRECT) DLEN: 0 Packet 18 Packet Length: 54 Collected: Fri Aug 14 14:44:43.084529 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52669 CKSUM: 0x9fb9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34553 DPRT: 79 FLG: -A---- (0x10) SEQ: 0x7c8efb57 ACK: 0x7624241a WIN: 9282 HLEN: 20 CKSUM: 0xe3cc (CORRECT) DLEN: 0 Packet 19 Packet Length: 54 Collected: Fri Aug 14 14:44:43.088845 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 00:00:0c:76:3d:c7 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52670 CKSUM: 0x9fb8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34553 DPRT: 79 FLG: -A---F (0x11) SEQ: 0x7c8efb57 ACK: 0x7624241a WIN: 9282 HLEN: 20 CKSUM: 0xe3cb (CORRECT) DLEN: 0 Packet 20 Packet Length: 60 Collected: Fri Aug 14 14:44:43.090304 1998 ETH Srce: 00:00:0c:76:3d:c7 ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48249 CKSUM: 0xb4fe (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34553 FLG: -A---- (0x10) SEQ: 0x7624241a ACK: 0x7c8efb58 WIN: 4096 HLEN: 20 CKSUM: 0xf80d (CORRECT) DLEN: 0 20 packets seen, 20 TCP packets traced trace file elapsed time: 0:00:01.426237 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.3.128:34552 - 132.235.1.2:79 (a2b) 5> 5< (complete) 2: 132.235.3.128:34553 - 132.235.1.2:79 (c2d) 5> 5< (complete) tcptrace-6.6.7/input/OUTPUTbench/tcp.dmp.gz.short0100644001217500001440000000044107253211560021313 0ustar mramadasusers1 arg remaining, starting with 'tcp.dmp.gz' 20 packets seen, 20 TCP packets traced trace file elapsed time: 0:00:01.426237 TCP connection info: 1: 132.235.3.128:34552 - 132.235.1.2:79 (a2b) 5> 5< (complete) 2: 132.235.3.128:34553 - 132.235.1.2:79 (c2d) 5> 5< (complete) tcptrace-6.6.7/input/OUTPUTbench/tcp.dmp.gz.xplots.cksum0100644001217500001440000000115307751776620022647 0ustar mramadasusers3376782098 1169 a2b_owin.xpl 2303748476 316 a2b_rtt.xpl 3856015275 179 a2b_ssize.xpl 1215768380 147 a2b_tput.xpl 4136036333 1736 a2b_tsg.xpl 2043571071 1966 a_b_tline.xpl 2849157280 1184 b2a_owin.xpl 1211502431 206 b2a_rtt.xpl 224835002 181 b2a_ssize.xpl 1939414404 147 b2a_tput.xpl 1866233460 1517 b2a_tsg.xpl 1162760692 1169 c2d_owin.xpl 2526421976 313 c2d_rtt.xpl 505474007 179 c2d_ssize.xpl 3370185235 147 c2d_tput.xpl 1559502434 1736 c2d_tsg.xpl 937548729 2005 c_d_tline.xpl 706434989 1184 d2c_owin.xpl 1214418724 206 d2c_rtt.xpl 2288690501 181 d2c_ssize.xpl 799021532 147 d2c_tput.xpl 3499975881 1517 d2c_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/tcpudp.dmp.gz.long0100644001217500001440000002364107662255052021643 0ustar mramadasusers1 arg remaining, starting with 'tcpudp.dmp.gz' 40 packets seen, 20 TCP packets traced trace file elapsed time: 1:52:15.386000 TCP connection info: 2 TCP connections traced: TCP connection 1: host a: 132.235.3.128:34552 host b: 132.235.1.2:79 complete conn: yes first packet: Fri Aug 14 14:44:41.664066 1998 last packet: Fri Aug 14 14:44:41.807920 1998 elapsed time: 0:00:00.143854 total packets: 10 filename: tcpudp.dmp.gz a->b: b->a: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2 unique bytes sent: 24 actual data pkts: 1 actual data pkts: 1 actual data bytes: 2 actual data bytes: 24 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1326 bytes mss requested: 1460 bytes max segm size: 2 bytes max segm size: 24 bytes min segm size: 2 bytes min segm size: 24 bytes avg segm size: 1 bytes avg segm size: 23 bytes max win adv: 9282 bytes max win adv: 4096 bytes min win adv: 9282 bytes min win adv: 4094 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 9282 bytes avg win adv: 4095 bytes max owin: 3 bytes max owin: 25 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 13 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 2 bytes initial window: 24 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 2 bytes ttl stream length: 24 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 10 bytes truncated packets: 0 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 134.7 ms idletime max: 120.1 ms throughput: 14 Bps throughput: 167 Bps RTT samples: 3 RTT samples: 2 RTT min: 1.8 ms RTT min: 0.1 ms RTT max: 118.7 ms RTT max: 0.2 ms RTT avg: 41.2 ms RTT avg: 0.1 ms RTT stdev: 67.1 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.8 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 118.7 ms RTT full_sz min: 0.2 ms RTT full_sz max: 118.7 ms RTT full_sz max: 0.2 ms RTT full_sz avg: 118.7 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 132.235.3.128:34553 host d: 132.235.1.2:79 complete conn: yes first packet: Fri Aug 14 14:44:42.951344 1998 last packet: Fri Aug 14 14:44:43.090304 1998 elapsed time: 0:00:00.138960 total packets: 10 filename: tcpudp.dmp.gz c->d: d->c: total packets: 5 total packets: 5 ack pkts sent: 4 ack pkts sent: 5 pure acks sent: 2 pure acks sent: 2 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 2 unique bytes sent: 24 actual data pkts: 1 actual data pkts: 1 actual data bytes: 2 actual data bytes: 24 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 1 pushed data pkts: 1 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1326 bytes mss requested: 1460 bytes max segm size: 2 bytes max segm size: 24 bytes min segm size: 2 bytes min segm size: 24 bytes avg segm size: 1 bytes avg segm size: 23 bytes max win adv: 9282 bytes max win adv: 4096 bytes min win adv: 9282 bytes min win adv: 4094 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 9282 bytes avg win adv: 4095 bytes max owin: 3 bytes max owin: 25 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 13 bytes wavg owin: 0 bytes wavg owin: 0 bytes initial window: 2 bytes initial window: 24 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 2 bytes ttl stream length: 24 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 0 bytes truncated data: 10 bytes truncated packets: 0 pkts truncated packets: 1 pkts data xmit time: 0.000 secs data xmit time: 0.000 secs idletime max: 130.0 ms idletime max: 97.5 ms throughput: 14 Bps throughput: 173 Bps RTT samples: 3 RTT samples: 2 RTT min: 1.5 ms RTT min: 0.1 ms RTT max: 32.0 ms RTT max: 0.1 ms RTT avg: 11.8 ms RTT avg: 0.1 ms RTT stdev: 17.5 ms RTT stdev: 0.0 ms RTT from 3WHS: 1.8 ms RTT from 3WHS: 0.1 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 32.0 ms RTT full_sz min: 0.1 ms RTT full_sz max: 32.0 ms RTT full_sz max: 0.1 ms RTT full_sz avg: 32.0 ms RTT full_sz avg: 0.1 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 1 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/tcpudp.dmp.gz.packets0100644001217500001440000005031707302735654022340 0ustar mramadasusers1 arg remaining, starting with 'tcpudp.dmp.gz' Packet 1 Packet Length: 68 Collected: Fri Aug 14 12:52:27.704304 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61485 CKSUM: 0x7a82 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac6 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 2 Packet Length: 68 Collected: Fri Aug 14 12:52:27.706838 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26265 CKSUM: 0x0417 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac6 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 3 Packet Length: 68 Collected: Fri Aug 14 12:52:27.713414 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61486 CKSUM: 0x7a81 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac5 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 4 Packet Length: 68 Collected: Fri Aug 14 12:52:27.714916 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26266 CKSUM: 0x0416 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac5 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 5 Packet Length: 68 Collected: Fri Aug 14 12:52:27.715121 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61487 CKSUM: 0x7a80 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac4 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 6 Packet Length: 68 Collected: Fri Aug 14 12:52:27.716452 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26267 CKSUM: 0x0415 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac4 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 7 Packet Length: 68 Collected: Fri Aug 14 12:52:27.716662 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61488 CKSUM: 0x7a7f (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac3 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 8 Packet Length: 68 Collected: Fri Aug 14 12:52:27.720029 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26268 CKSUM: 0x0414 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac3 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 9 Packet Length: 68 Collected: Fri Aug 14 12:52:27.720235 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61489 CKSUM: 0x7a7e (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac2 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 10 Packet Length: 68 Collected: Fri Aug 14 12:52:27.721586 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26269 CKSUM: 0x0413 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac2 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 11 Packet Length: 68 Collected: Fri Aug 14 12:52:27.721795 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61490 CKSUM: 0x7a7d (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac1 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 12 Packet Length: 68 Collected: Fri Aug 14 12:52:27.724676 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26270 CKSUM: 0x0412 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac1 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 13 Packet Length: 68 Collected: Fri Aug 14 12:52:27.724884 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61491 CKSUM: 0x7a7c (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac0 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 14 Packet Length: 68 Collected: Fri Aug 14 12:52:27.727912 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26271 CKSUM: 0x0411 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac0 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 15 Packet Length: 68 Collected: Fri Aug 14 12:52:27.728119 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61492 CKSUM: 0x7a7b (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0abf (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 16 Packet Length: 68 Collected: Fri Aug 14 12:52:27.729730 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26272 CKSUM: 0x0410 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0abf (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 17 Packet Length: 68 Collected: Fri Aug 14 12:52:27.729957 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61493 CKSUM: 0x7a7a (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0abe (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 18 Packet Length: 68 Collected: Fri Aug 14 12:52:27.732896 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26273 CKSUM: 0x040f (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0abe (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 19 Packet Length: 68 Collected: Fri Aug 14 12:52:27.733104 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61494 CKSUM: 0x7a79 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0abd (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 20 Packet Length: 68 Collected: Fri Aug 14 12:52:27.734482 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26274 CKSUM: 0x040e (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0abd (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 21 Packet Length: 58 Collected: Fri Aug 14 14:44:41.664066 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 52661 CKSUM: 0x9fbd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34552 DPRT: 79 FLG: ----S- (0x02) SEQ: 0x7c8a9ea1 ACK: 0x00000000 WIN: 9282 HLEN: 24 CKSUM: 0xc39e (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1326) Packet 22 Packet Length: 59 Collected: Fri Aug 14 14:44:41.665896 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 44 ID: 48222 CKSUM: 0xb515 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34552 FLG: -A--S- (0x12) SEQ: 0x76213600 ACK: 0x7c8a9ea2 WIN: 4096 HLEN: 24 CKSUM: 0x2b28 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 23 Packet Length: 54 Collected: Fri Aug 14 14:44:41.665975 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52662 CKSUM: 0x9fc0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34552 DPRT: 79 FLG: -A---- (0x10) SEQ: 0x7c8a9ea2 ACK: 0x76213601 WIN: 9282 HLEN: 20 CKSUM: 0x2ea3 (CORRECT) DLEN: 0 Packet 24 Packet Length: 56 Collected: Fri Aug 14 14:44:41.667295 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 42 ID: 52663 CKSUM: 0x9fbd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34552 DPRT: 79 FLG: -AP--- (0x18) SEQ: 0x7c8a9ea2 ACK: 0x76213601 WIN: 9282 HLEN: 20 CKSUM: 0x218f (CORRECT) DLEN: 2 data: 2 bytes Packet 25 Packet Length: 55 Collected: Fri Aug 14 14:44:41.785964 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48230 CKSUM: 0xb511 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34552 FLG: -A---- (0x10) SEQ: 0x76213601 ACK: 0x7c8a9ea4 WIN: 4094 HLEN: 20 CKSUM: 0x42e5 (CORRECT) DLEN: 0 Packet 26 Packet Length: 68 Collected: Fri Aug 14 14:44:41.801142 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 64 ID: 48232 CKSUM: 0xb4f7 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34552 FLG: -AP--- (0x18) SEQ: 0x76213601 ACK: 0x7c8a9ea4 WIN: 4096 HLEN: 20 CKSUM: 0x1d5d (too short to verify) DLEN: 24 (only 14 bytes in dump file) data: 24 bytes Packet 27 Packet Length: 55 Collected: Fri Aug 14 14:44:41.801824 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48233 CKSUM: 0xb50e (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34552 FLG: -A---F (0x11) SEQ: 0x76213619 ACK: 0x7c8a9ea4 WIN: 4096 HLEN: 20 CKSUM: 0x42ca (CORRECT) DLEN: 0 Packet 28 Packet Length: 54 Collected: Fri Aug 14 14:44:41.802015 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52664 CKSUM: 0x9fbe (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34552 DPRT: 79 FLG: -A---- (0x10) SEQ: 0x7c8a9ea4 ACK: 0x7621361a WIN: 9282 HLEN: 20 CKSUM: 0x2e88 (CORRECT) DLEN: 0 Packet 29 Packet Length: 54 Collected: Fri Aug 14 14:44:41.804710 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52665 CKSUM: 0x9fbd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34552 DPRT: 79 FLG: -A---F (0x11) SEQ: 0x7c8a9ea4 ACK: 0x7621361a WIN: 9282 HLEN: 20 CKSUM: 0x2e87 (CORRECT) DLEN: 0 Packet 30 Packet Length: 55 Collected: Fri Aug 14 14:44:41.807920 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48234 CKSUM: 0xb50d (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34552 FLG: -A---- (0x10) SEQ: 0x7621361a ACK: 0x7c8a9ea5 WIN: 4096 HLEN: 20 CKSUM: 0x42c9 (CORRECT) DLEN: 0 Packet 31 Packet Length: 58 Collected: Fri Aug 14 14:44:42.951344 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 44 ID: 52666 CKSUM: 0x9fb8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34553 DPRT: 79 FLG: ----S- (0x02) SEQ: 0x7c8efb54 ACK: 0x00000000 WIN: 9282 HLEN: 24 CKSUM: 0x66e6 (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1326) Packet 32 Packet Length: 59 Collected: Fri Aug 14 14:44:42.953150 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 44 ID: 48236 CKSUM: 0xb507 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34553 FLG: -A--S- (0x12) SEQ: 0x76242400 ACK: 0x7c8efb55 WIN: 4096 HLEN: 24 CKSUM: 0xe06c (CORRECT) DLEN: 0 OPTS: 4 bytes MSS(1460) Packet 33 Packet Length: 54 Collected: Fri Aug 14 14:44:42.953213 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52667 CKSUM: 0x9fbb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34553 DPRT: 79 FLG: -A---- (0x10) SEQ: 0x7c8efb55 ACK: 0x76242401 WIN: 9282 HLEN: 20 CKSUM: 0xe3e7 (CORRECT) DLEN: 0 Packet 34 Packet Length: 56 Collected: Fri Aug 14 14:44:42.954522 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 42 ID: 52668 CKSUM: 0x9fb8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34553 DPRT: 79 FLG: -AP--- (0x18) SEQ: 0x7c8efb55 ACK: 0x76242401 WIN: 9282 HLEN: 20 CKSUM: 0xd6d3 (CORRECT) DLEN: 2 data: 2 bytes Packet 35 Packet Length: 55 Collected: Fri Aug 14 14:44:42.986517 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48237 CKSUM: 0xb50a (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34553 FLG: -A---- (0x10) SEQ: 0x76242401 ACK: 0x7c8efb57 WIN: 4094 HLEN: 20 CKSUM: 0xf829 (CORRECT) DLEN: 0 Packet 36 Packet Length: 68 Collected: Fri Aug 14 14:44:43.084037 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 64 ID: 48247 CKSUM: 0xb4e8 (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34553 FLG: -AP--- (0x18) SEQ: 0x76242401 ACK: 0x7c8efb57 WIN: 4096 HLEN: 20 CKSUM: 0xd2a1 (too short to verify) DLEN: 24 (only 14 bytes in dump file) data: 24 bytes Packet 37 Packet Length: 55 Collected: Fri Aug 14 14:44:43.084433 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48248 CKSUM: 0xb4ff (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34553 FLG: -A---F (0x11) SEQ: 0x76242419 ACK: 0x7c8efb57 WIN: 4096 HLEN: 20 CKSUM: 0xf80e (CORRECT) DLEN: 0 Packet 38 Packet Length: 54 Collected: Fri Aug 14 14:44:43.084529 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52669 CKSUM: 0x9fb9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34553 DPRT: 79 FLG: -A---- (0x10) SEQ: 0x7c8efb57 ACK: 0x7624241a WIN: 9282 HLEN: 20 CKSUM: 0xe3cc (CORRECT) DLEN: 0 Packet 39 Packet Length: 54 Collected: Fri Aug 14 14:44:43.088845 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.1.2 Type: 0x6 (TCP) HLEN: 20 TTL: 255 LEN: 40 ID: 52670 CKSUM: 0x9fb8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 34553 DPRT: 79 FLG: -A---F (0x11) SEQ: 0x7c8efb57 ACK: 0x7624241a WIN: 9282 HLEN: 20 CKSUM: 0xe3cb (CORRECT) DLEN: 0 Packet 40 Packet Length: 55 Collected: Fri Aug 14 14:44:43.090304 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.2 IP Dest: 132.235.3.128 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 48249 CKSUM: 0xb4fe (CORRECT) OFFSET: 0x0000 TCP SPRT: 79 DPRT: 34553 FLG: -A---- (0x10) SEQ: 0x7624241a ACK: 0x7c8efb58 WIN: 4096 HLEN: 20 CKSUM: 0xf80d (CORRECT) DLEN: 0 40 packets seen, 20 TCP packets traced trace file elapsed time: 1:52:15.386000 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.3.128:34552 - 132.235.1.2:79 (a2b) 5> 5< (complete) 2: 132.235.3.128:34553 - 132.235.1.2:79 (c2d) 5> 5< (complete) tcptrace-6.6.7/input/OUTPUTbench/tcpudp.dmp.gz.short0100644001217500001440000000044407253211561022030 0ustar mramadasusers1 arg remaining, starting with 'tcpudp.dmp.gz' 40 packets seen, 20 TCP packets traced trace file elapsed time: 1:52:15.386000 TCP connection info: 1: 132.235.3.128:34552 - 132.235.1.2:79 (a2b) 5> 5< (complete) 2: 132.235.3.128:34553 - 132.235.1.2:79 (c2d) 5> 5< (complete) tcptrace-6.6.7/input/OUTPUTbench/tcpudp.dmp.gz.xplots.cksum0100644001217500001440000000115307751776620023360 0ustar mramadasusers3376782098 1169 a2b_owin.xpl 2303748476 316 a2b_rtt.xpl 3856015275 179 a2b_ssize.xpl 1215768380 147 a2b_tput.xpl 4136036333 1736 a2b_tsg.xpl 2043571071 1966 a_b_tline.xpl 2849157280 1184 b2a_owin.xpl 1211502431 206 b2a_rtt.xpl 224835002 181 b2a_ssize.xpl 1939414404 147 b2a_tput.xpl 1866233460 1517 b2a_tsg.xpl 1162760692 1169 c2d_owin.xpl 2526421976 313 c2d_rtt.xpl 505474007 179 c2d_ssize.xpl 3370185235 147 c2d_tput.xpl 1559502434 1736 c2d_tsg.xpl 937548729 2005 c_d_tline.xpl 706434989 1184 d2c_owin.xpl 1214418724 206 d2c_rtt.xpl 2288690501 181 d2c_ssize.xpl 799021532 147 d2c_tput.xpl 3499975881 1517 d2c_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/trunc.dmp.gz.long0100644001217500001440000000022207253211561021456 0ustar mramadasusers1 arg remaining, starting with 'trunc.dmp.gz' 1 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:00.000000 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/trunc.dmp.gz.packets0100644001217500001440000000111507302732572022160 0ustar mramadasusers1 arg remaining, starting with 'trunc.dmp.gz' Packet 1 Packet Length: 60 Collected: Tue Feb 3 20:01:55.857081 1998 ETH Srce: 00:00:00:00:00:00 ETH Dest: 00:00:00:00:00:00 Type: 0x800 (IP) IP VERS: 4 IP Srce: 204.123.2.84 IP Dest: 208.159.216.49 Type: 0x6 (TCP) HLEN: 20 TTL: 56 LEN: 28 ID: 47376 CKSUM: 0xf22a (CORRECT) OFFSET: 0x6000 (frag: 8 bytes at offset 0 - More Frags) Don't Fragment 1 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:00.000000 bad IP checksums: 0 bad TCP checksums: 0 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/trunc.dmp.gz.short0100644001217500001440000000022207253211561021656 0ustar mramadasusers1 arg remaining, starting with 'trunc.dmp.gz' 1 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:00.000000 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/trunc.dmp.gz.xplots.cksum0100644001217500001440000000000007242307225023164 0ustar mramadasuserstcptrace-6.6.7/input/OUTPUTbench/udp.dmp.gz.long0100644001217500001440000000022107253211561021112 0ustar mramadasusers1 arg remaining, starting with 'udp.dmp.gz' 20 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:00.030178 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/udp.dmp.gz.packets0100644001217500001440000002356207302735654021633 0ustar mramadasusers1 arg remaining, starting with 'udp.dmp.gz' Packet 1 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.704304 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 08:00:20:22:46:6a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61485 CKSUM: 0x7a82 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac6 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 2 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.706838 1998 ETH Srce: 08:00:20:22:46:6a ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26265 CKSUM: 0x0417 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac6 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 3 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.713414 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 08:00:20:22:46:6a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61486 CKSUM: 0x7a81 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac5 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 4 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.714916 1998 ETH Srce: 08:00:20:22:46:6a ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26266 CKSUM: 0x0416 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac5 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 5 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.715121 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 08:00:20:22:46:6a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61487 CKSUM: 0x7a80 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac4 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 6 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.716452 1998 ETH Srce: 08:00:20:22:46:6a ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26267 CKSUM: 0x0415 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac4 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 7 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.716662 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 08:00:20:22:46:6a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61488 CKSUM: 0x7a7f (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac3 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 8 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.720029 1998 ETH Srce: 08:00:20:22:46:6a ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26268 CKSUM: 0x0414 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac3 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 9 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.720235 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 08:00:20:22:46:6a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61489 CKSUM: 0x7a7e (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac2 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 10 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.721586 1998 ETH Srce: 08:00:20:22:46:6a ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26269 CKSUM: 0x0413 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac2 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 11 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.721795 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 08:00:20:22:46:6a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61490 CKSUM: 0x7a7d (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac1 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 12 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.724676 1998 ETH Srce: 08:00:20:22:46:6a ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26270 CKSUM: 0x0412 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac1 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 13 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.724884 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 08:00:20:22:46:6a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61491 CKSUM: 0x7a7c (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0ac0 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 14 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.727912 1998 ETH Srce: 08:00:20:22:46:6a ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26271 CKSUM: 0x0411 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0ac0 (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 15 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.728119 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 08:00:20:22:46:6a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61492 CKSUM: 0x7a7b (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0abf (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 16 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.729730 1998 ETH Srce: 08:00:20:22:46:6a ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26272 CKSUM: 0x0410 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0abf (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 17 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.729957 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 08:00:20:22:46:6a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61493 CKSUM: 0x7a7a (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0abe (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 18 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.732896 1998 ETH Srce: 08:00:20:22:46:6a ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26273 CKSUM: 0x040f (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0abe (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 19 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.733104 1998 ETH Srce: 08:00:20:85:af:9e ETH Dest: 08:00:20:22:46:6a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.128 IP Dest: 132.235.3.148 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 61494 CKSUM: 0x7a79 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 35142 DPRT: 7 UCKSUM: 0x0abd (too short to verify) DLEN: 62 (only 26 bytes in dump file) Packet 20 Packet Length: 96 (saved length 68) Collected: Fri Aug 14 12:52:27.734482 1998 ETH Srce: 08:00:20:22:46:6a ETH Dest: 08:00:20:85:af:9e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.148 IP Dest: 132.235.3.128 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 82 ID: 26274 CKSUM: 0x040e (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 35142 UCKSUM: 0x0abd (too short to verify) DLEN: 62 (only 26 bytes in dump file) 20 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:00.030178 bad IP checksums: 0 bad TCP checksums: 0 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/udp.dmp.gz.short0100644001217500001440000000022107253211562021313 0ustar mramadasusers1 arg remaining, starting with 'udp.dmp.gz' 20 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:00.030178 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/udp.dmp.gz.xplots.cksum0100644001217500001440000000000007242307226022622 0ustar mramadasuserstcptrace-6.6.7/input/OUTPUTbench/udpping.dmp.gz.long0100644001217500001440000000022607302735604022001 0ustar mramadasusers1 arg remaining, starting with 'udpping.dmp.gz' 100 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:00.388384 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/udpping.dmp.gz.packets0100644001217500001440000013451207302735604022502 0ustar mramadasusers1 arg remaining, starting with 'udpping.dmp.gz' Packet 1 Packet Length: 1446 Collected: Wed May 23 09:18:46.777978 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47265 CKSUM: 0xaf43 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0415 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 2 Packet Length: 1066 Collected: Wed May 23 09:18:46.785223 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13123 CKSUM: 0xfa1e (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x070d (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 3 Packet Length: 1446 Collected: Wed May 23 09:18:46.785365 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47266 CKSUM: 0xaf42 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0414 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 4 Packet Length: 1066 Collected: Wed May 23 09:18:46.791492 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13124 CKSUM: 0xfa1d (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x070c (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 5 Packet Length: 1446 Collected: Wed May 23 09:18:46.791599 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47267 CKSUM: 0xaf41 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0413 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 6 Packet Length: 1066 Collected: Wed May 23 09:18:46.797761 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13125 CKSUM: 0xfa1c (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x070b (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 7 Packet Length: 1446 Collected: Wed May 23 09:18:46.797864 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47268 CKSUM: 0xaf40 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0412 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 8 Packet Length: 1066 Collected: Wed May 23 09:18:46.803969 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13126 CKSUM: 0xfa1b (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x070a (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 9 Packet Length: 1446 Collected: Wed May 23 09:18:46.804090 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47269 CKSUM: 0xaf3f (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0411 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 10 Packet Length: 1066 Collected: Wed May 23 09:18:46.811106 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13127 CKSUM: 0xfa1a (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x0709 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 11 Packet Length: 1446 Collected: Wed May 23 09:18:46.811210 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47270 CKSUM: 0xaf3e (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0410 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 12 Packet Length: 1066 Collected: Wed May 23 09:18:46.817381 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13128 CKSUM: 0xfa19 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x0708 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 13 Packet Length: 1446 Collected: Wed May 23 09:18:46.817481 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47271 CKSUM: 0xaf3d (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x040f (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 14 Packet Length: 1066 Collected: Wed May 23 09:18:46.823698 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13129 CKSUM: 0xfa18 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x0707 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 15 Packet Length: 1446 Collected: Wed May 23 09:18:46.823815 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47272 CKSUM: 0xaf3c (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x040e (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 16 Packet Length: 1066 Collected: Wed May 23 09:18:46.829987 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13130 CKSUM: 0xfa17 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x0706 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 17 Packet Length: 1446 Collected: Wed May 23 09:18:46.830148 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47273 CKSUM: 0xaf3b (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x040d (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 18 Packet Length: 1066 Collected: Wed May 23 09:18:46.836325 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13131 CKSUM: 0xfa16 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x0705 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 19 Packet Length: 1446 Collected: Wed May 23 09:18:46.836425 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47274 CKSUM: 0xaf3a (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x040c (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 20 Packet Length: 1066 Collected: Wed May 23 09:18:46.842565 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13132 CKSUM: 0xfa15 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x0704 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 21 Packet Length: 1446 Collected: Wed May 23 09:18:46.842679 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47275 CKSUM: 0xaf39 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x040b (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 22 Packet Length: 1066 Collected: Wed May 23 09:18:46.848812 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13133 CKSUM: 0xfa14 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x0703 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 23 Packet Length: 1446 Collected: Wed May 23 09:18:46.848916 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47276 CKSUM: 0xaf38 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x040a (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 24 Packet Length: 1066 Collected: Wed May 23 09:18:46.855082 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13134 CKSUM: 0xfa13 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x0702 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 25 Packet Length: 1446 Collected: Wed May 23 09:18:46.855184 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47277 CKSUM: 0xaf37 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0409 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 26 Packet Length: 1066 Collected: Wed May 23 09:18:46.861286 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13135 CKSUM: 0xfa12 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x0701 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 27 Packet Length: 1446 Collected: Wed May 23 09:18:46.861395 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47278 CKSUM: 0xaf36 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0408 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 28 Packet Length: 1066 Collected: Wed May 23 09:18:46.867532 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13136 CKSUM: 0xfa11 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x0700 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 29 Packet Length: 1446 Collected: Wed May 23 09:18:46.867634 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47279 CKSUM: 0xaf35 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0407 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 30 Packet Length: 1066 Collected: Wed May 23 09:18:46.873749 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13137 CKSUM: 0xfa10 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06ff (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 31 Packet Length: 1446 Collected: Wed May 23 09:18:46.873851 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47280 CKSUM: 0xaf34 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0406 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 32 Packet Length: 1066 Collected: Wed May 23 09:18:46.880020 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13138 CKSUM: 0xfa0f (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06fe (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 33 Packet Length: 1446 Collected: Wed May 23 09:18:46.880166 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47281 CKSUM: 0xaf33 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0405 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 34 Packet Length: 1066 Collected: Wed May 23 09:18:46.886352 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13139 CKSUM: 0xfa0e (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06fd (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 35 Packet Length: 1446 Collected: Wed May 23 09:18:46.886453 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47282 CKSUM: 0xaf32 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0404 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 36 Packet Length: 1066 Collected: Wed May 23 09:18:46.892569 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13140 CKSUM: 0xfa0d (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06fc (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 37 Packet Length: 1446 Collected: Wed May 23 09:18:46.892670 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47283 CKSUM: 0xaf31 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0403 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 38 Packet Length: 1066 Collected: Wed May 23 09:18:46.898824 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13141 CKSUM: 0xfa0c (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06fb (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 39 Packet Length: 1446 Collected: Wed May 23 09:18:46.898934 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47284 CKSUM: 0xaf30 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0402 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 40 Packet Length: 1066 Collected: Wed May 23 09:18:46.905164 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13142 CKSUM: 0xfa0b (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06fa (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 41 Packet Length: 1446 Collected: Wed May 23 09:18:46.905268 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47285 CKSUM: 0xaf2f (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0401 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 42 Packet Length: 1066 Collected: Wed May 23 09:18:46.911369 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13143 CKSUM: 0xfa0a (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06f9 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 43 Packet Length: 1446 Collected: Wed May 23 09:18:46.911471 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47286 CKSUM: 0xaf2e (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x0400 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 44 Packet Length: 1066 Collected: Wed May 23 09:18:46.917580 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13144 CKSUM: 0xfa09 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06f8 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 45 Packet Length: 1446 Collected: Wed May 23 09:18:46.917692 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47287 CKSUM: 0xaf2d (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03ff (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 46 Packet Length: 1066 Collected: Wed May 23 09:18:46.923791 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13145 CKSUM: 0xfa08 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06f7 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 47 Packet Length: 1446 Collected: Wed May 23 09:18:46.923897 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47288 CKSUM: 0xaf2c (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03fe (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 48 Packet Length: 1066 Collected: Wed May 23 09:18:46.929993 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13146 CKSUM: 0xfa07 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06f6 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 49 Packet Length: 1446 Collected: Wed May 23 09:18:46.930146 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47289 CKSUM: 0xaf2b (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03fd (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 50 Packet Length: 1066 Collected: Wed May 23 09:18:46.936318 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13147 CKSUM: 0xfa06 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06f5 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 51 Packet Length: 1446 Collected: Wed May 23 09:18:46.936426 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47290 CKSUM: 0xaf2a (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03fc (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 52 Packet Length: 1066 Collected: Wed May 23 09:18:46.942500 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13148 CKSUM: 0xfa05 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06f4 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 53 Packet Length: 1446 Collected: Wed May 23 09:18:46.942604 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47291 CKSUM: 0xaf29 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03fb (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 54 Packet Length: 1066 Collected: Wed May 23 09:18:46.948768 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13149 CKSUM: 0xfa04 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06f3 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 55 Packet Length: 1446 Collected: Wed May 23 09:18:46.948870 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47292 CKSUM: 0xaf28 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03fa (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 56 Packet Length: 1066 Collected: Wed May 23 09:18:46.955057 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13150 CKSUM: 0xfa03 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06f2 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 57 Packet Length: 1446 Collected: Wed May 23 09:18:46.955166 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47293 CKSUM: 0xaf27 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03f9 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 58 Packet Length: 1066 Collected: Wed May 23 09:18:46.961305 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13151 CKSUM: 0xfa02 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06f1 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 59 Packet Length: 1446 Collected: Wed May 23 09:18:46.961409 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47294 CKSUM: 0xaf26 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03f8 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 60 Packet Length: 1066 Collected: Wed May 23 09:18:46.967533 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13152 CKSUM: 0xfa01 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06f0 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 61 Packet Length: 1446 Collected: Wed May 23 09:18:46.967633 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47295 CKSUM: 0xaf25 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03f7 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 62 Packet Length: 1066 Collected: Wed May 23 09:18:46.973730 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13153 CKSUM: 0xfa00 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06ef (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 63 Packet Length: 1446 Collected: Wed May 23 09:18:46.973839 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47296 CKSUM: 0xaf24 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03f6 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 64 Packet Length: 1066 Collected: Wed May 23 09:18:46.979953 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13154 CKSUM: 0xf9ff (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06ee (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 65 Packet Length: 1446 Collected: Wed May 23 09:18:46.980108 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47297 CKSUM: 0xaf23 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03f5 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 66 Packet Length: 1066 Collected: Wed May 23 09:18:46.986290 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13155 CKSUM: 0xf9fe (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06ed (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 67 Packet Length: 1446 Collected: Wed May 23 09:18:46.986390 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47298 CKSUM: 0xaf22 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03f4 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 68 Packet Length: 1066 Collected: Wed May 23 09:18:46.992559 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13156 CKSUM: 0xf9fd (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06ec (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 69 Packet Length: 1446 Collected: Wed May 23 09:18:46.992671 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47299 CKSUM: 0xaf21 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03f3 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 70 Packet Length: 1066 Collected: Wed May 23 09:18:46.998802 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13157 CKSUM: 0xf9fc (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06eb (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 71 Packet Length: 1446 Collected: Wed May 23 09:18:46.998904 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47300 CKSUM: 0xaf20 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03f2 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 72 Packet Length: 1066 Collected: Wed May 23 09:18:47.005099 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13158 CKSUM: 0xf9fb (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06ea (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 73 Packet Length: 1446 Collected: Wed May 23 09:18:47.005203 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47301 CKSUM: 0xaf1f (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03f1 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 74 Packet Length: 1066 Collected: Wed May 23 09:18:47.011330 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13159 CKSUM: 0xf9fa (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06e9 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 75 Packet Length: 1446 Collected: Wed May 23 09:18:47.011440 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47302 CKSUM: 0xaf1e (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03f0 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 76 Packet Length: 1066 Collected: Wed May 23 09:18:47.017598 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13160 CKSUM: 0xf9f9 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06e8 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 77 Packet Length: 1446 Collected: Wed May 23 09:18:47.017700 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47303 CKSUM: 0xaf1d (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03ef (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 78 Packet Length: 1066 Collected: Wed May 23 09:18:47.023829 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13161 CKSUM: 0xf9f8 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06e7 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 79 Packet Length: 1446 Collected: Wed May 23 09:18:47.023931 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47304 CKSUM: 0xaf1c (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03ee (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 80 Packet Length: 1066 Collected: Wed May 23 09:18:47.030059 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13162 CKSUM: 0xf9f7 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06e6 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 81 Packet Length: 1446 Collected: Wed May 23 09:18:47.030204 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47305 CKSUM: 0xaf1b (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03ed (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 82 Packet Length: 1066 Collected: Wed May 23 09:18:47.036379 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13163 CKSUM: 0xf9f6 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06e5 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 83 Packet Length: 1446 Collected: Wed May 23 09:18:47.036481 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47306 CKSUM: 0xaf1a (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03ec (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 84 Packet Length: 1066 Collected: Wed May 23 09:18:47.044637 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13164 CKSUM: 0xf9f5 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06e4 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 85 Packet Length: 1446 Collected: Wed May 23 09:18:47.044739 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47307 CKSUM: 0xaf19 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03eb (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 86 Packet Length: 1066 Collected: Wed May 23 09:18:47.057519 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13165 CKSUM: 0xf9f4 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06e3 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 87 Packet Length: 1446 Collected: Wed May 23 09:18:47.057631 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47308 CKSUM: 0xaf18 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03ea (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 88 Packet Length: 1066 Collected: Wed May 23 09:18:47.072394 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13166 CKSUM: 0xf9f3 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06e2 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 89 Packet Length: 1446 Collected: Wed May 23 09:18:47.072498 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47309 CKSUM: 0xaf17 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03e9 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 90 Packet Length: 1066 Collected: Wed May 23 09:18:47.086410 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13167 CKSUM: 0xf9f2 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06e1 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 91 Packet Length: 1446 Collected: Wed May 23 09:18:47.086511 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47310 CKSUM: 0xaf16 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03e8 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 92 Packet Length: 1066 Collected: Wed May 23 09:18:47.115645 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13168 CKSUM: 0xf9f1 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06e0 (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 93 Packet Length: 1446 Collected: Wed May 23 09:18:47.115757 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47311 CKSUM: 0xaf15 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03e7 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 94 Packet Length: 1066 Collected: Wed May 23 09:18:47.136825 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13169 CKSUM: 0xf9f0 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06df (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 95 Packet Length: 1446 Collected: Wed May 23 09:18:47.136929 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47312 CKSUM: 0xaf14 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03e6 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 96 Packet Length: 1066 Collected: Wed May 23 09:18:47.153779 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13170 CKSUM: 0xf9ef (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06de (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 97 Packet Length: 1446 Collected: Wed May 23 09:18:47.153883 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47313 CKSUM: 0xaf13 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03e5 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 98 Packet Length: 1066 Collected: Wed May 23 09:18:47.160056 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13171 CKSUM: 0xf9ee (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06dd (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) Packet 99 Packet Length: 1446 Collected: Wed May 23 09:18:47.160222 2001 ETH Srce: 08:00:20:e7:b0:3e ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.141 IP Dest: 132.235.1.12 Type: 0x11 (UDP) HLEN: 20 TTL: 255 LEN: 1432 ID: 47314 CKSUM: 0xaf12 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 57945 DPRT: 7 UCKSUM: 0x03e4 (CORRECT) DLEN: 1412 (only 1404 bytes in dump file) Packet 100 Packet Length: 1066 Collected: Wed May 23 09:18:47.166362 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:e7:b0:3e Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.141 Type: 0x11 (UDP) HLEN: 20 TTL: 59 LEN: 1052 ID: 13172 CKSUM: 0xf9ed (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 7 DPRT: 57945 UCKSUM: 0x06dc (CORRECT) DLEN: 1032 (only 1024 bytes in dump file) 100 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:00.388384 bad IP checksums: 0 bad TCP checksums: 0 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/udpping.dmp.gz.short0100644001217500001440000000022607302735605022202 0ustar mramadasusers1 arg remaining, starting with 'udpping.dmp.gz' 100 packets seen, 0 TCP packets traced trace file elapsed time: 0:00:00.388384 no traced TCP packets tcptrace-6.6.7/input/OUTPUTbench/udpping.dmp.gz.xplots.cksum0100644001217500001440000000000007302735605023503 0ustar mramadasuserstcptrace-6.6.7/input/OUTPUTbench/urgent.dmp.gz.long0100644001217500001440000002524207662255052021647 0ustar mramadasusers1 arg remaining, starting with 'urgent.dmp.gz' 9476 packets seen, 9476 TCP packets traced trace file elapsed time: 407:46:31.562564 TCP connection info: 2 TCP connections traced: TCP connection 1: host a: 132.235.3.132:57247 host b: 132.235.1.12:19 complete conn: no (SYNs: 0) (FINs: 0) first packet: Tue Jul 24 12:34:10.118897 2001 last packet: Tue Jul 24 12:35:20.832191 2001 elapsed time: 0:01:10.713294 total packets: 8834 filename: urgent.dmp.gz a->b: b->a: total packets: 3041 total packets: 5793 ack pkts sent: 3041 ack pkts sent: 5793 pure acks sent: 3008 pure acks sent: 16 sack pkts sent: 15 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 1 max sack blks/ack: 0 unique bytes sent: 33 unique bytes sent: 6192690 actual data pkts: 33 actual data pkts: 5777 actual data bytes: 33 actual data bytes: 6192738 rexmt data pkts: 0 rexmt data pkts: 1 rexmt data bytes: 0 rexmt data bytes: 1 zwnd probe pkts: 0 zwnd probe pkts: 47 zwnd probe bytes: 0 zwnd probe bytes: 47 outoforder pkts: 0 outoforder pkts: 4 pushed data pkts: 33 pushed data pkts: 1494 SYN/FIN pkts sent: 0/0 SYN/FIN pkts sent: 0/0 urgent data pkts: 16 pkts urgent data pkts: 0 pkts urgent data bytes: 16 bytes urgent data bytes: 0 bytes mss requested: 0 bytes mss requested: 0 bytes max segm size: 1 bytes max segm size: 1460 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 0 bytes avg segm size: 1071 bytes max win adv: 24820 bytes max win adv: 24820 bytes min win adv: 30 bytes min win adv: 24820 bytes zero win adv: 96 times zero win adv: 0 times avg win adv: 18870 bytes avg win adv: 24820 bytes max owin: 4 bytes max owin: 24821 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 14250 bytes wavg owin: 0 bytes wavg owin: 5283 bytes initial window: 2 bytes initial window: 0 bytes initial window: 2 pkts initial window: 0 pkts ttl stream length: NA ttl stream length: NA missed data: NA missed data: NA truncated data: 0 bytes truncated data: 6112692 bytes truncated packets: 0 pkts truncated packets: 5713 pkts data xmit time: 68.105 secs data xmit time: 70.642 secs idletime max: 1467920849.3 ms idletime max: 1467920849.3 ms throughput: 0 Bps throughput: 87575 Bps RTT samples: 18 RTT samples: 2898 RTT min: 0.5 ms RTT min: 0.1 ms RTT max: 77.8 ms RTT max: 120.0 ms RTT avg: 11.3 ms RTT avg: 22.2 ms RTT stdev: 24.1 ms RTT stdev: 17.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 3 RTT full_sz min: 0.5 ms RTT full_sz min: 0.1 ms RTT full_sz max: 0.5 ms RTT full_sz max: 0.3 ms RTT full_sz avg: 0.5 ms RTT full_sz avg: 0.2 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.1 ms post-loss acks: 0 post-loss acks: 1 For the following 5 RTT statistics, only ACKs for multiply-transmitted segments (ambiguous ACKs) were considered. Times are taken from the last instance of a segment. ambiguous acks: 0 ambiguous acks: 1 RTT min (last): 0.0 ms RTT min (last): 0.0 ms RTT max (last): 0.0 ms RTT max (last): 0.0 ms RTT avg (last): 0.0 ms RTT avg (last): 0.0 ms RTT sdv (last): 0.0 ms RTT sdv (last): 0.0 ms segs cum acked: 15 segs cum acked: 2829 duplicate acks: 0 duplicate acks: 58 triple dupacks: 0 triple dupacks: 16 max # retrans: 0 max # retrans: 1 min retr time: 0.0 ms min retr time: 39.8 ms max retr time: 0.0 ms max retr time: 39.8 ms avg retr time: 0.0 ms avg retr time: 39.8 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms ================================ TCP connection 2: host c: 132.235.3.154:982 host d: 132.235.17.1:513 complete conn: yes first packet: Fri Aug 10 12:19:24.775367 2001 last packet: Fri Aug 10 12:20:41.681461 2001 elapsed time: 0:01:16.906093 total packets: 642 filename: urgent.dmp.gz c->d: d->c: total packets: 352 total packets: 290 ack pkts sent: 351 ack pkts sent: 290 pure acks sent: 206 pure acks sent: 14 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 183 unique bytes sent: 5300 actual data pkts: 144 actual data pkts: 274 actual data bytes: 183 actual data bytes: 5300 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 0 zwnd probe pkts: 0 zwnd probe bytes: 0 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 144 pushed data pkts: 274 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 44 pkts urgent data bytes: 0 bytes urgent data bytes: 44 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 29 bytes max segm size: 1101 bytes min segm size: 1 bytes min segm size: 1 bytes avg segm size: 1 bytes avg segm size: 19 bytes max win adv: 24820 bytes max win adv: 8760 bytes min win adv: 24820 bytes min win adv: 8759 bytes zero win adv: 0 times zero win adv: 0 times avg win adv: 24820 bytes avg win adv: 8759 bytes max owin: 30 bytes max owin: 1102 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 1 bytes avg owin: 19 bytes wavg owin: 0 bytes wavg owin: 50 bytes initial window: 1 bytes initial window: 1 bytes initial window: 1 pkts initial window: 1 pkts ttl stream length: 183 bytes ttl stream length: 5300 bytes missed data: 0 bytes missed data: 0 bytes truncated data: 15 bytes truncated data: 3540 bytes truncated packets: 1 pkts truncated packets: 104 pkts data xmit time: 76.877 secs data xmit time: 76.841 secs idletime max: 3990.0 ms idletime max: 3999.8 ms throughput: 2 Bps throughput: 69 Bps RTT samples: 146 RTT samples: 234 RTT min: 0.5 ms RTT min: 0.0 ms RTT max: 100.4 ms RTT max: 100.5 ms RTT avg: 8.3 ms RTT avg: 75.0 ms RTT stdev: 25.6 ms RTT stdev: 38.1 ms RTT from 3WHS: 0.7 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 1 RTT full_sz smpls: 1 RTT full_sz min: 0.8 ms RTT full_sz min: 97.8 ms RTT full_sz max: 0.8 ms RTT full_sz max: 97.8 ms RTT full_sz avg: 0.8 ms RTT full_sz avg: 97.7 ms RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 0 segs cum acked: 42 duplicate acks: 1 duplicate acks: 1 triple dupacks: 0 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/urgent.dmp.gz.packets0100644001217500001440000016433607335021053022337 0ustar mramadasusers1 arg remaining, starting with 'urgent.dmp.gz' Packet 1 Packet Length: 55 Collected: Tue Jul 24 12:34:10.118897 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 41 ID: 38516 CKSUM: 0x95f4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: UAP--- (0x38) SEQ: 0x41144581 ACK: 0x22ac1a5b WIN: 0 HLEN: 20 CKSUM: 0xfef3 (CORRECT) DLEN: 1 data: 1 bytes Packet 2 Packet Length: 55 Collected: Tue Jul 24 12:34:10.119342 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 41 ID: 38517 CKSUM: 0x95f3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -AP--- (0x18) SEQ: 0x41144582 ACK: 0x22ac1a5b WIN: 0 HLEN: 20 CKSUM: 0x0c14 (CORRECT) DLEN: 1 data: 1 bytes Packet 3 Packet Length: 60 Collected: Tue Jul 24 12:34:10.119506 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 40 ID: 46553 CKSUM: 0x7b90 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac1a5b ACK: 0x41144582 WIN: 24820 HLEN: 20 CKSUM: 0x9d29 (CORRECT) DLEN: 0 Packet 4 Packet Length: 54 Collected: Tue Jul 24 12:34:10.189356 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38518 CKSUM: 0x95f3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac1a5b WIN: 24820 HLEN: 20 CKSUM: 0x9d28 (CORRECT) DLEN: 0 Packet 5 Packet Length: 60 Collected: Tue Jul 24 12:34:10.189882 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 41 ID: 46554 CKSUM: 0x7b8e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac1a5b ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x6627 (CORRECT) DLEN: 1 data: 1 bytes Packet 6 Packet Length: 1503 (saved length 68) Collected: Tue Jul 24 12:34:10.191049 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1489 ID: 46555 CKSUM: 0x75e5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac1a5c ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xc145 (too short to verify) DLEN: 1449 (only 14 bytes in dump file) data: 1449 bytes Packet 7 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.191207 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46556 CKSUM: 0x760f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac2005 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xd44c (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 8 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.191266 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46557 CKSUM: 0x760e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac2583 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xbbf3 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 9 Packet Length: 54 Collected: Tue Jul 24 12:34:10.191389 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38519 CKSUM: 0x95f2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac2005 WIN: 24820 HLEN: 20 CKSUM: 0x977e (CORRECT) DLEN: 0 Packet 10 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.193019 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46558 CKSUM: 0x760d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac2b01 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x2d8e (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 11 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.193128 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46559 CKSUM: 0x760c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac307f ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x4087 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 12 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.193247 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46560 CKSUM: 0x760b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac35fd ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x467e (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 13 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.193369 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46561 CKSUM: 0x760a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac3b7b ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xb8d6 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 14 Packet Length: 54 Collected: Tue Jul 24 12:34:10.194369 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38520 CKSUM: 0x95f1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac2b01 WIN: 24820 HLEN: 20 CKSUM: 0x8c82 (CORRECT) DLEN: 0 Packet 15 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.195975 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46562 CKSUM: 0x7609 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac40f9 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xa07d (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 16 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.196084 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46563 CKSUM: 0x7608 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac4677 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x1218 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 17 Packet Length: 1386 (saved length 68) Collected: Tue Jul 24 12:34:10.196195 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1372 ID: 46564 CKSUM: 0x7651 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -AP--- (0x18) SEQ: 0x22ac4bf5 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x2818 (too short to verify) DLEN: 1332 (only 14 bytes in dump file) data: 1332 bytes Packet 18 Packet Length: 54 Collected: Tue Jul 24 12:34:10.203902 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38521 CKSUM: 0x95f0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac35fd WIN: 24820 HLEN: 20 CKSUM: 0x8186 (CORRECT) DLEN: 0 Packet 19 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.205500 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46565 CKSUM: 0x7606 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac5129 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x5ce2 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 20 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.205738 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46566 CKSUM: 0x7605 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac56a7 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xcedb (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 21 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.205859 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46567 CKSUM: 0x7604 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac5c25 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xd946 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 22 Packet Length: 54 Collected: Tue Jul 24 12:34:10.209756 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38522 CKSUM: 0x95ef (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac40f9 WIN: 24820 HLEN: 20 CKSUM: 0x768a (CORRECT) DLEN: 0 Packet 23 Packet Length: 54 Collected: Tue Jul 24 12:34:10.210709 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38523 CKSUM: 0x95ee (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac4bf5 WIN: 24820 HLEN: 20 CKSUM: 0x6b8e (CORRECT) DLEN: 0 Packet 24 Packet Length: 54 Collected: Tue Jul 24 12:34:10.211274 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38524 CKSUM: 0x95ed (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac56a7 WIN: 24820 HLEN: 20 CKSUM: 0x60dc (CORRECT) DLEN: 0 Packet 25 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.211337 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46568 CKSUM: 0x7603 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac61a3 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xec3f (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 26 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.211450 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46569 CKSUM: 0x7602 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac6721 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x5dda (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 27 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.212315 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46570 CKSUM: 0x7601 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac6c9f ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x416c (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 28 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.212423 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46571 CKSUM: 0x7600 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac721d ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xb365 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 29 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.212832 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46572 CKSUM: 0x75ff (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac779b ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xbdd0 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 30 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.212950 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46573 CKSUM: 0x75fe (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac7d19 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xd0c9 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 31 Packet Length: 54 Collected: Tue Jul 24 12:34:10.225507 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38525 CKSUM: 0x95ec (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac61a3 WIN: 24820 HLEN: 20 CKSUM: 0x55e0 (CORRECT) DLEN: 0 Packet 32 Packet Length: 54 Collected: Tue Jul 24 12:34:10.225524 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38526 CKSUM: 0x95eb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac6c9f WIN: 24820 HLEN: 20 CKSUM: 0x4ae4 (CORRECT) DLEN: 0 Packet 33 Packet Length: 54 Collected: Tue Jul 24 12:34:10.225537 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38527 CKSUM: 0x95ea (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac779b WIN: 24820 HLEN: 20 CKSUM: 0x3fe8 (CORRECT) DLEN: 0 Packet 34 Packet Length: 54 Collected: Tue Jul 24 12:34:10.225553 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38528 CKSUM: 0x95e9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac8297 WIN: 24820 HLEN: 20 CKSUM: 0x34ec (CORRECT) DLEN: 0 Packet 35 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.227120 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46574 CKSUM: 0x75fd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac8297 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x4264 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 36 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.227203 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46575 CKSUM: 0x75fc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac8815 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x25f6 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 37 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.227331 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46576 CKSUM: 0x75fb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac8d93 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x97ef (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 38 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.227457 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46577 CKSUM: 0x75fa (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac9311 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xa25a (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 39 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.227577 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46578 CKSUM: 0x75f9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac988f ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xb553 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 40 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.227704 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46579 CKSUM: 0x75f8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ac9e0d ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x26ee (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 41 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.227819 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46580 CKSUM: 0x75f7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22aca38b ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x0a80 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 42 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.227982 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46581 CKSUM: 0x75f6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22aca909 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x7c79 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 43 Packet Length: 54 Collected: Tue Jul 24 12:34:10.253371 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38529 CKSUM: 0x95e8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac8d93 WIN: 24820 HLEN: 20 CKSUM: 0x29f0 (CORRECT) DLEN: 0 Packet 44 Packet Length: 54 Collected: Tue Jul 24 12:34:10.254158 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38530 CKSUM: 0x95e7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ac988f WIN: 24820 HLEN: 20 CKSUM: 0x1ef4 (CORRECT) DLEN: 0 Packet 45 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.254959 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46582 CKSUM: 0x75f5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acae87 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x86e4 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 46 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.255068 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46583 CKSUM: 0x75f4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acb405 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x99dd (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 47 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.255761 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46584 CKSUM: 0x75f3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acb983 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x0b78 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 48 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.255870 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46585 CKSUM: 0x75f2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acbf01 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xef09 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 49 Packet Length: 54 Collected: Tue Jul 24 12:34:10.265481 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38531 CKSUM: 0x95e6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22aca38b WIN: 24820 HLEN: 20 CKSUM: 0x13f8 (CORRECT) DLEN: 0 Packet 50 Packet Length: 54 Collected: Tue Jul 24 12:34:10.265496 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38532 CKSUM: 0x95e5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22acae87 WIN: 24820 HLEN: 20 CKSUM: 0x08fc (CORRECT) DLEN: 0 Packet 51 Packet Length: 54 Collected: Tue Jul 24 12:34:10.265507 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38533 CKSUM: 0x95e4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22acb983 WIN: 24820 HLEN: 20 CKSUM: 0xfdff (CORRECT) DLEN: 0 Packet 52 Packet Length: 54 Collected: Tue Jul 24 12:34:10.265520 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38534 CKSUM: 0x95e3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22acc47f WIN: 24820 HLEN: 20 CKSUM: 0xf303 (CORRECT) DLEN: 0 Packet 53 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.267092 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46586 CKSUM: 0x75f1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acc47f ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x6103 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 54 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.267208 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46587 CKSUM: 0x75f0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acc9fd ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x6b6e (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 55 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.267293 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46588 CKSUM: 0x75ef (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22accf7b ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x7e67 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 56 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.267419 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46589 CKSUM: 0x75ee (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acd4f9 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xf001 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 57 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.267534 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46590 CKSUM: 0x75ed (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acda77 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xd393 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 58 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.267672 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46591 CKSUM: 0x75ec (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acdff5 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x458d (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 59 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.267788 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46592 CKSUM: 0x75eb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ace573 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x4ff8 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 60 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.267917 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46593 CKSUM: 0x75ea (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22aceaf1 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x62f1 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 61 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.268034 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46594 CKSUM: 0x75e9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acf06f ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xd48b (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 62 Packet Length: 54 Collected: Tue Jul 24 12:34:10.284746 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38535 CKSUM: 0x95e2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22accf7b WIN: 24820 HLEN: 20 CKSUM: 0xe807 (CORRECT) DLEN: 0 Packet 63 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.286349 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46595 CKSUM: 0x75e8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acf5ed ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xb81d (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 64 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.286468 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46596 CKSUM: 0x75e7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22acfb6b ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x2a17 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 65 Packet Length: 54 Collected: Tue Jul 24 12:34:10.295517 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38536 CKSUM: 0x95e1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22acda77 WIN: 24820 HLEN: 20 CKSUM: 0xdd0b (CORRECT) DLEN: 0 Packet 66 Packet Length: 54 Collected: Tue Jul 24 12:34:10.295533 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38537 CKSUM: 0x95e0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ace573 WIN: 24820 HLEN: 20 CKSUM: 0xd20f (CORRECT) DLEN: 0 Packet 67 Packet Length: 54 Collected: Tue Jul 24 12:34:10.295546 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38538 CKSUM: 0x95df (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22acf06f WIN: 24820 HLEN: 20 CKSUM: 0xc713 (CORRECT) DLEN: 0 Packet 68 Packet Length: 54 Collected: Tue Jul 24 12:34:10.295559 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38539 CKSUM: 0x95de (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22acfb6b WIN: 24820 HLEN: 20 CKSUM: 0xbc17 (CORRECT) DLEN: 0 Packet 69 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.297151 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46597 CKSUM: 0x75e6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad00e9 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x3482 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 70 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.297233 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46598 CKSUM: 0x75e5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad0667 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x477b (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 71 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.297357 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46599 CKSUM: 0x75e4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad0be5 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xb915 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 72 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.297481 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46600 CKSUM: 0x75e3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad1163 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x9ca7 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 73 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.297605 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46601 CKSUM: 0x75e2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad16e1 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x0ea1 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 74 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.297724 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46602 CKSUM: 0x75e1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad1c5f ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x190c (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 75 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.297838 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46603 CKSUM: 0x75e0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad21dd ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x2c05 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 76 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.297969 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46604 CKSUM: 0x75df (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad275b ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x9d9f (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 77 Packet Length: 54 Collected: Tue Jul 24 12:34:10.315508 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38540 CKSUM: 0x95dd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ad0667 WIN: 24820 HLEN: 20 CKSUM: 0xb11b (CORRECT) DLEN: 0 Packet 78 Packet Length: 54 Collected: Tue Jul 24 12:34:10.315524 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38541 CKSUM: 0x95dc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ad1163 WIN: 24820 HLEN: 20 CKSUM: 0xa61f (CORRECT) DLEN: 0 Packet 79 Packet Length: 54 Collected: Tue Jul 24 12:34:10.315536 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38542 CKSUM: 0x95db (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ad1c5f WIN: 24820 HLEN: 20 CKSUM: 0x9b23 (CORRECT) DLEN: 0 Packet 80 Packet Length: 54 Collected: Tue Jul 24 12:34:10.315547 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38543 CKSUM: 0x95da (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ad275b WIN: 24820 HLEN: 20 CKSUM: 0x9027 (CORRECT) DLEN: 0 Packet 81 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.317159 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46605 CKSUM: 0x75de (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad2cd9 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x8131 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 82 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.317240 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46606 CKSUM: 0x75dd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad3257 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xf32a (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 83 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.317363 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46607 CKSUM: 0x75dc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad37d5 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xfd95 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 84 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.317492 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46608 CKSUM: 0x75db (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad3d53 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x108f (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 85 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.317614 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46609 CKSUM: 0x75da (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad42d1 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x8229 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 86 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.317737 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46610 CKSUM: 0x75d9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad484f ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x65bb (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 87 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.317860 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46611 CKSUM: 0x75d8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad4dcd ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xd7b4 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 88 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.317981 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46612 CKSUM: 0x75d7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad534b ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xe21f (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 89 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.318101 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46613 CKSUM: 0x75d6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad58c9 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xf518 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 90 Packet Length: 54 Collected: Tue Jul 24 12:34:10.335552 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38544 CKSUM: 0x95d9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ad3257 WIN: 24820 HLEN: 20 CKSUM: 0x852b (CORRECT) DLEN: 0 Packet 91 Packet Length: 54 Collected: Tue Jul 24 12:34:10.335614 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38545 CKSUM: 0x95d8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ad3d53 WIN: 24820 HLEN: 20 CKSUM: 0x7a2f (CORRECT) DLEN: 0 Packet 92 Packet Length: 54 Collected: Tue Jul 24 12:34:10.335630 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38546 CKSUM: 0x95d7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ad484f WIN: 24820 HLEN: 20 CKSUM: 0x6f33 (CORRECT) DLEN: 0 Packet 93 Packet Length: 54 Collected: Tue Jul 24 12:34:10.335643 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38547 CKSUM: 0x95d6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ad534b WIN: 24820 HLEN: 20 CKSUM: 0x6437 (CORRECT) DLEN: 0 Packet 94 Packet Length: 54 Collected: Tue Jul 24 12:34:10.335654 2001 ETH Srce: 08:00:20:b0:ce:33 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.132 IP Dest: 132.235.1.12 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 38548 CKSUM: 0x95d5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 57247 DPRT: 19 FLG: -A---- (0x10) SEQ: 0x41144583 ACK: 0x22ad5e47 WIN: 24820 HLEN: 20 CKSUM: 0x593b (CORRECT) DLEN: 0 Packet 95 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.337192 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46614 CKSUM: 0x75d5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad5e47 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x66b3 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 96 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.337267 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46615 CKSUM: 0x75d4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad63c5 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0x4a45 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 97 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.337391 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46616 CKSUM: 0x75d3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad6943 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xbc3e (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 98 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.337516 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46617 CKSUM: 0x75d2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad6ec1 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xc6a9 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 99 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.337634 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46618 CKSUM: 0x75d1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad743f ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xd9a2 (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes Packet 100 Packet Length: 1460 (saved length 68) Collected: Tue Jul 24 12:34:10.338400 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 08:00:20:b0:ce:33 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.1.12 IP Dest: 132.235.3.132 Type: 0x6 (TCP) HLEN: 20 TTL: 59 LEN: 1446 ID: 46623 CKSUM: 0x75cc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 19 DPRT: 57247 FLG: -A---- (0x10) SEQ: 0x22ad8fb5 ACK: 0x41144583 WIN: 24820 HLEN: 20 CKSUM: 0xbe2c (too short to verify) DLEN: 1406 (only 14 bytes in dump file) data: 1406 bytes 100 packets seen, 100 TCP packets traced trace file elapsed time: 0:00:00.219503 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.3.132:57247 - 132.235.1.12:19 (a2b) 33> 67< tcptrace-6.6.7/input/OUTPUTbench/urgent.dmp.gz.short0100644001217500001440000000044007335021053022025 0ustar mramadasusers1 arg remaining, starting with 'urgent.dmp.gz' 9476 packets seen, 9476 TCP packets traced trace file elapsed time: 407:46:31.562564 TCP connection info: 1: 132.235.3.132:57247 - 132.235.1.12:19 (a2b) 3041> 5793< 2: 132.235.3.154:982 - 132.235.17.1:513 (c2d) 352> 290< (complete) tcptrace-6.6.7/input/OUTPUTbench/urgent.dmp.gz.xplots.cksum0100644001217500001440000000050507751776620023365 0ustar mramadasusers1075358142 99203 a2b_owin.xpl 1399657223 243 a2b_rtt.xpl 693226708 400 a2b_ssize.xpl 1665043341 149 a2b_tput.xpl 921358331 160933 a2b_tsg.xpl 952563617 179226 a_b_tline.xpl 1192044790 218075 b2a_owin.xpl 3705878140 23410 b2a_rtt.xpl 3175339646 105199 b2a_ssize.xpl 2047561144 37032 b2a_tput.xpl 1472788008 176293 b2a_tsg.xpl tcptrace-6.6.7/input/OUTPUTbench/zwnd.dmp.gz.long0100644001217500001440000001227507662255052021327 0ustar mramadasusers1 arg remaining, starting with 'zwnd.dmp.gz' 26690 packets seen, 26686 TCP packets traced trace file elapsed time: 0:00:32.259999 TCP connection info: 1 TCP connection traced: TCP connection 1: host a: 132.235.3.154:58213 host b: 132.235.3.151:5001 complete conn: yes first packet: Mon Jul 30 16:41:35.774500 2001 last packet: Mon Jul 30 16:42:00.514500 2001 elapsed time: 0:00:24.739999 total packets: 26686 filename: zwnd.dmp.gz a->b: b->a: total packets: 17995 total packets: 8691 ack pkts sent: 17994 ack pkts sent: 8691 pure acks sent: 2 pure acks sent: 8689 sack pkts sent: 0 sack pkts sent: 0 dsack pkts sent: 0 dsack pkts sent: 0 max sack blks/ack: 0 max sack blks/ack: 0 unique bytes sent: 24554344 unique bytes sent: 0 actual data pkts: 17992 actual data pkts: 0 actual data bytes: 24554350 actual data bytes: 0 rexmt data pkts: 0 rexmt data pkts: 0 rexmt data bytes: 0 rexmt data bytes: 0 zwnd probe pkts: 6 zwnd probe pkts: 0 zwnd probe bytes: 6 zwnd probe bytes: 0 outoforder pkts: 0 outoforder pkts: 0 pushed data pkts: 340 pushed data pkts: 0 SYN/FIN pkts sent: 1/1 SYN/FIN pkts sent: 1/1 req sack: Y req sack: Y sacks sent: 0 sacks sent: 0 urgent data pkts: 0 pkts urgent data pkts: 0 pkts urgent data bytes: 0 bytes urgent data bytes: 0 bytes mss requested: 1460 bytes mss requested: 1460 bytes max segm size: 1460 bytes max segm size: 0 bytes min segm size: 1 bytes min segm size: 0 bytes avg segm size: 1364 bytes avg segm size: 0 bytes max win adv: 24820 bytes max win adv: 62780 bytes min win adv: 24820 bytes min win adv: 568 bytes zero win adv: 0 times zero win adv: 7 times avg win adv: 24820 bytes avg win adv: 62580 bytes max owin: 61725 bytes max owin: 1 bytes min non-zero owin: 1 bytes min non-zero owin: 1 bytes avg owin: 2531 bytes avg owin: 1 bytes wavg owin: 378 bytes wavg owin: 0 bytes initial window: 4380 bytes initial window: 0 bytes initial window: 3 pkts initial window: 0 pkts ttl stream length: 24576000 bytes ttl stream length: 0 bytes missed data: 21656 bytes missed data: 0 bytes truncated data: 24302553 bytes truncated data: 0 bytes truncated packets: 17985 pkts truncated packets: 0 pkts data xmit time: 24.730 secs data xmit time: 0.000 secs idletime max: 8580.0 ms idletime max: 8080.0 ms throughput: 992496 Bps throughput: 0 Bps RTT samples: 8679 RTT samples: 2 RTT min: 10.0 ms RTT min: 0.0 ms RTT max: 80.0 ms RTT max: 0.0 ms RTT avg: 0.0 ms RTT avg: 0.0 ms RTT stdev: 1.1 ms RTT stdev: 0.0 ms RTT from 3WHS: 0.0 ms RTT from 3WHS: 0.0 ms RTT full_sz smpls: 5826 RTT full_sz smpls: 1 RTT full_sz min: 10.0 ms RTT full_sz min: 0.0 ms RTT full_sz max: 30.0 ms RTT full_sz max: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz avg: 0.0 ms RTT full_sz stdev: 0.7 ms RTT full_sz stdev: 0.0 ms post-loss acks: 0 post-loss acks: 0 segs cum acked: 9308 segs cum acked: 0 duplicate acks: 6 duplicate acks: 0 triple dupacks: 1 triple dupacks: 0 max # retrans: 0 max # retrans: 0 min retr time: 0.0 ms min retr time: 0.0 ms max retr time: 0.0 ms max retr time: 0.0 ms avg retr time: 0.0 ms avg retr time: 0.0 ms sdv retr time: 0.0 ms sdv retr time: 0.0 ms tcptrace-6.6.7/input/OUTPUTbench/zwnd.dmp.gz.packets0100644001217500001440000016267707331357444022037 0ustar mramadasusers1 arg remaining, starting with 'zwnd.dmp.gz' Packet 1 Packet Length: 79 (saved length 68) Collected: Mon Jul 30 16:41:28.254500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.64.1 Type: 0x11 (UDP) HLEN: 20 TTL: 64 LEN: 65 ID: 13482 CKSUM: 0xb893 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 32806 DPRT: 53 UCKSUM: 0x1afa (too short to verify) DLEN: 45 (only 26 bytes in dump file) Packet 2 Packet Length: 337 (saved length 68) Collected: Mon Jul 30 16:41:28.254500 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.64.1 IP Dest: 132.235.3.151 Type: 0x11 (UDP) HLEN: 20 TTL: 62 LEN: 323 ID: 40033 CKSUM: 0x91da (CORRECT) OFFSET: 0x0000 UDP SPRT: 53 DPRT: 32806 UCKSUM: 0x13fd (too short to verify) DLEN: 303 (only 26 bytes in dump file) Packet 3 Packet Length: 78 (saved length 68) Collected: Mon Jul 30 16:41:28.264500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 00:01:02:97:0c:0a Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.64.1 Type: 0x11 (UDP) HLEN: 20 TTL: 64 LEN: 64 ID: 13483 CKSUM: 0xb893 (CORRECT) OFFSET: 0x4000 Don't Fragment UDP SPRT: 32806 DPRT: 53 UCKSUM: 0x7dec (too short to verify) DLEN: 44 (only 26 bytes in dump file) Packet 4 Packet Length: 336 (saved length 68) Collected: Mon Jul 30 16:41:28.264500 2001 ETH Srce: 00:01:02:97:0c:0a ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.64.1 IP Dest: 132.235.3.151 Type: 0x11 (UDP) HLEN: 20 TTL: 62 LEN: 322 ID: 40035 CKSUM: 0x91d9 (CORRECT) OFFSET: 0x0000 UDP SPRT: 53 DPRT: 32806 UCKSUM: 0x93e6 (too short to verify) DLEN: 302 (only 26 bytes in dump file) Packet 5 Packet Length: 62 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 48 ID: 33333 CKSUM: 0xa78b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: ----S- (0x02) SEQ: 0x476c2685 ACK: 0x00000000 WIN: 24820 HLEN: 28 CKSUM: 0xac43 (CORRECT) DLEN: 0 OPTS: 8 bytes MSS(1460) SACKREQ Packet 6 Packet Length: 62 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 48 ID: 0 CKSUM: 0x29c1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A--S- (0x12) SEQ: 0x500a49db ACK: 0x476c2686 WIN: 5840 HLEN: 28 CKSUM: 0x5c71 (CORRECT) DLEN: 0 OPTS: 8 bytes MSS(1460) SACKREQ Packet 7 Packet Length: 60 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 33334 CKSUM: 0xa792 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c2686 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x3f11 (CORRECT) DLEN: 0 Packet 8 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33336 CKSUM: 0xa1dc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c2686 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x1153 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 9 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33337 CKSUM: 0xa1db (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -AP--- (0x18) SEQ: 0x476c2c3a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xd400 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 10 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33338 CKSUM: 0xa1da (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -AP--- (0x18) SEQ: 0x476c31ee ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x14f2 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 11 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32326 CKSUM: 0xab82 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c2c3a WIN: 8760 HLEN: 20 CKSUM: 0x7819 (CORRECT) DLEN: 0 Packet 12 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32327 CKSUM: 0xab81 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c31ee WIN: 11680 HLEN: 20 CKSUM: 0x66fd (CORRECT) DLEN: 0 Packet 13 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32328 CKSUM: 0xab80 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c37a2 WIN: 14600 HLEN: 20 CKSUM: 0x55e1 (CORRECT) DLEN: 0 Packet 14 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33340 CKSUM: 0xa1d8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c37a2 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x5087 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 15 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32329 CKSUM: 0xab7f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c3d56 WIN: 17520 HLEN: 20 CKSUM: 0x44c5 (CORRECT) DLEN: 0 Packet 16 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33341 CKSUM: 0xa1d7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -AP--- (0x18) SEQ: 0x476c3d56 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x1335 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 17 Packet Length: 946 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 932 ID: 33342 CKSUM: 0xa40e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c430a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x4a59 (too short to verify) DLEN: 892 (only 14 bytes in dump file) data: 892 bytes Packet 18 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33343 CKSUM: 0xa1d5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c4686 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xf152 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 19 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32330 CKSUM: 0xab7e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c430a WIN: 20440 HLEN: 20 CKSUM: 0x33a9 (CORRECT) DLEN: 0 Packet 20 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32331 CKSUM: 0xab7d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c4686 WIN: 23360 HLEN: 20 CKSUM: 0x24c5 (CORRECT) DLEN: 0 Packet 21 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33344 CKSUM: 0xa1d4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c4c3a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xb408 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 22 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32332 CKSUM: 0xab7c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c4c3a WIN: 26280 HLEN: 20 CKSUM: 0x13a9 (CORRECT) DLEN: 0 Packet 23 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32333 CKSUM: 0xab7b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c51ee WIN: 29200 HLEN: 20 CKSUM: 0x028d (CORRECT) DLEN: 0 Packet 24 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33345 CKSUM: 0xa1d3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c51ee ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xf4f9 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 25 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33346 CKSUM: 0xa1d2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c57a2 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x3087 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 26 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33347 CKSUM: 0xa1d1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c5d56 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xf33c (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 27 Packet Length: 946 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 932 ID: 33348 CKSUM: 0xa408 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c630a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x2a59 (too short to verify) DLEN: 892 (only 14 bytes in dump file) data: 892 bytes Packet 28 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32334 CKSUM: 0xab7a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c57a2 WIN: 32120 HLEN: 20 CKSUM: 0xf170 (CORRECT) DLEN: 0 Packet 29 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32335 CKSUM: 0xab79 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c5d56 WIN: 35040 HLEN: 20 CKSUM: 0xe054 (CORRECT) DLEN: 0 Packet 30 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33349 CKSUM: 0xa1cf (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c6686 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xd152 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 31 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32336 CKSUM: 0xab78 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c630a WIN: 37960 HLEN: 20 CKSUM: 0xcf38 (CORRECT) DLEN: 0 Packet 32 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32337 CKSUM: 0xab77 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c6686 WIN: 37960 HLEN: 20 CKSUM: 0xcbbc (CORRECT) DLEN: 0 Packet 33 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32338 CKSUM: 0xab76 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c6c3a WIN: 40880 HLEN: 20 CKSUM: 0xbaa0 (CORRECT) DLEN: 0 Packet 34 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33350 CKSUM: 0xa1ce (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c6c3a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x9408 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 35 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32339 CKSUM: 0xab75 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c71ee WIN: 43800 HLEN: 20 CKSUM: 0xa984 (CORRECT) DLEN: 0 Packet 36 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33351 CKSUM: 0xa1cd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c71ee ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xd4f9 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 37 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32340 CKSUM: 0xab74 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c77a2 WIN: 46720 HLEN: 20 CKSUM: 0x9868 (CORRECT) DLEN: 0 Packet 38 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33352 CKSUM: 0xa1cc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -AP--- (0x18) SEQ: 0x476c77a2 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x107f (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 39 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32341 CKSUM: 0xab73 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c7d56 WIN: 49640 HLEN: 20 CKSUM: 0x874c (CORRECT) DLEN: 0 Packet 40 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33353 CKSUM: 0xa1cb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c7d56 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xd33c (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 41 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32342 CKSUM: 0xab72 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c830a WIN: 52560 HLEN: 20 CKSUM: 0x7630 (CORRECT) DLEN: 0 Packet 42 Packet Length: 946 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 932 ID: 33354 CKSUM: 0xa402 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -AP--- (0x18) SEQ: 0x476c830a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x0a51 (too short to verify) DLEN: 892 (only 14 bytes in dump file) data: 892 bytes Packet 43 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32343 CKSUM: 0xab71 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c8686 WIN: 52560 HLEN: 20 CKSUM: 0x72b4 (CORRECT) DLEN: 0 Packet 44 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33355 CKSUM: 0xa1c9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c8686 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xb152 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 45 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32344 CKSUM: 0xab70 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c8c3a WIN: 55480 HLEN: 20 CKSUM: 0x6198 (CORRECT) DLEN: 0 Packet 46 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33356 CKSUM: 0xa1c8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c8c3a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x7408 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 47 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32345 CKSUM: 0xab6f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c91ee WIN: 58400 HLEN: 20 CKSUM: 0x507c (CORRECT) DLEN: 0 Packet 48 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33357 CKSUM: 0xa1c7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c91ee ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xb4f9 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 49 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32346 CKSUM: 0xab6e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c97a2 WIN: 61320 HLEN: 20 CKSUM: 0x3f60 (CORRECT) DLEN: 0 Packet 50 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33358 CKSUM: 0xa1c6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c97a2 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xf086 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 51 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32347 CKSUM: 0xab6d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476c9d56 WIN: 62780 HLEN: 20 CKSUM: 0x33f8 (CORRECT) DLEN: 0 Packet 52 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33359 CKSUM: 0xa1c5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476c9d56 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xb33c (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 53 Packet Length: 946 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 932 ID: 33360 CKSUM: 0xa3fc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476ca30a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xea58 (too short to verify) DLEN: 892 (only 14 bytes in dump file) data: 892 bytes Packet 54 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32348 CKSUM: 0xab6c (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476ca686 WIN: 62780 HLEN: 20 CKSUM: 0x2ac8 (CORRECT) DLEN: 0 Packet 55 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33361 CKSUM: 0xa1c3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476ca686 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x9152 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 56 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33362 CKSUM: 0xa1c2 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cac3a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x5408 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 57 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32349 CKSUM: 0xab6b (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476cb1ee WIN: 62780 HLEN: 20 CKSUM: 0x1f60 (CORRECT) DLEN: 0 Packet 58 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33363 CKSUM: 0xa1c1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cb1ee ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x94f9 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 59 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33364 CKSUM: 0xa1c0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cb7a2 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xd086 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 60 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32350 CKSUM: 0xab6a (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476cbd56 WIN: 62780 HLEN: 20 CKSUM: 0x13f8 (CORRECT) DLEN: 0 Packet 61 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33365 CKSUM: 0xa1bf (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cbd56 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x933c (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 62 Packet Length: 946 (saved length 68) Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 932 ID: 33366 CKSUM: 0xa3f6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cc30a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xca58 (too short to verify) DLEN: 892 (only 14 bytes in dump file) data: 892 bytes Packet 63 Packet Length: 54 Collected: Mon Jul 30 16:41:35.774500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32351 CKSUM: 0xab69 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476cc686 WIN: 62780 HLEN: 20 CKSUM: 0x0ac8 (CORRECT) DLEN: 0 Packet 64 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33367 CKSUM: 0xa1bd (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cc686 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x7152 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 65 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33368 CKSUM: 0xa1bc (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -AP--- (0x18) SEQ: 0x476ccc3a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x3400 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 66 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33369 CKSUM: 0xa1bb (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cd1ee ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x74f9 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 67 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32352 CKSUM: 0xab68 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476cd7a2 WIN: 62780 HLEN: 20 CKSUM: 0xf9ab (CORRECT) DLEN: 0 Packet 68 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33370 CKSUM: 0xa1ba (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cd7a2 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xb086 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 69 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33371 CKSUM: 0xa1b9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cdd56 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x733c (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 70 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32353 CKSUM: 0xab67 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476ce30a WIN: 62780 HLEN: 20 CKSUM: 0xee43 (CORRECT) DLEN: 0 Packet 71 Packet Length: 946 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 932 ID: 33372 CKSUM: 0xa3f0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -AP--- (0x18) SEQ: 0x476ce30a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xaa50 (too short to verify) DLEN: 892 (only 14 bytes in dump file) data: 892 bytes Packet 72 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32354 CKSUM: 0xab66 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476ce686 WIN: 62780 HLEN: 20 CKSUM: 0xeac7 (CORRECT) DLEN: 0 Packet 73 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33373 CKSUM: 0xa1b7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476ce686 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x5152 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 74 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33374 CKSUM: 0xa1b6 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cec3a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x1408 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 75 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32355 CKSUM: 0xab65 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476cf1ee WIN: 62780 HLEN: 20 CKSUM: 0xdf5f (CORRECT) DLEN: 0 Packet 76 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33375 CKSUM: 0xa1b5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cf1ee ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x54f9 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 77 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33376 CKSUM: 0xa1b4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cf7a2 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x9086 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 78 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32356 CKSUM: 0xab64 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476cfd56 WIN: 62780 HLEN: 20 CKSUM: 0xd3f7 (CORRECT) DLEN: 0 Packet 79 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33377 CKSUM: 0xa1b3 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476cfd56 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x533c (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 80 Packet Length: 946 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 932 ID: 33378 CKSUM: 0xa3ea (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -AP--- (0x18) SEQ: 0x476d030a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x8a50 (too short to verify) DLEN: 892 (only 14 bytes in dump file) data: 892 bytes Packet 81 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32357 CKSUM: 0xab63 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476d0686 WIN: 62780 HLEN: 20 CKSUM: 0xcac7 (CORRECT) DLEN: 0 Packet 82 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33379 CKSUM: 0xa1b1 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476d0686 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x3152 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 83 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33380 CKSUM: 0xa1b0 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -AP--- (0x18) SEQ: 0x476d0c3a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xf3ff (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 84 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32358 CKSUM: 0xab62 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476d11ee WIN: 62780 HLEN: 20 CKSUM: 0xbf5f (CORRECT) DLEN: 0 Packet 85 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33381 CKSUM: 0xa1af (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476d11ee ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x34f9 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 86 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33382 CKSUM: 0xa1ae (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -AP--- (0x18) SEQ: 0x476d17a2 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x707e (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 87 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32359 CKSUM: 0xab61 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476d1d56 WIN: 62780 HLEN: 20 CKSUM: 0xb3f7 (CORRECT) DLEN: 0 Packet 88 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33383 CKSUM: 0xa1ad (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476d1d56 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x333c (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 89 Packet Length: 946 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 932 ID: 33384 CKSUM: 0xa3e4 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -AP--- (0x18) SEQ: 0x476d230a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x6a50 (too short to verify) DLEN: 892 (only 14 bytes in dump file) data: 892 bytes Packet 90 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32360 CKSUM: 0xab60 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476d2686 WIN: 62780 HLEN: 20 CKSUM: 0xaac7 (CORRECT) DLEN: 0 Packet 91 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33385 CKSUM: 0xa1ab (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476d2686 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x1152 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 92 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33386 CKSUM: 0xa1aa (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476d2c3a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xd407 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 93 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32361 CKSUM: 0xab5f (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476d31ee WIN: 62780 HLEN: 20 CKSUM: 0x9f5f (CORRECT) DLEN: 0 Packet 94 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33387 CKSUM: 0xa1a9 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476d31ee ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x14f9 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 95 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33388 CKSUM: 0xa1a8 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476d37a2 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x5086 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 96 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32362 CKSUM: 0xab5e (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476d3d56 WIN: 62780 HLEN: 20 CKSUM: 0x93f7 (CORRECT) DLEN: 0 Packet 97 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33389 CKSUM: 0xa1a7 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476d3d56 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x133c (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes Packet 98 Packet Length: 946 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 932 ID: 33390 CKSUM: 0xa3de (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476d430a ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0x4a58 (too short to verify) DLEN: 892 (only 14 bytes in dump file) data: 892 bytes Packet 99 Packet Length: 54 Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 00:01:03:23:ae:97 ETH Dest: 08:00:20:d9:01:87 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.151 IP Dest: 132.235.3.154 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 40 ID: 32363 CKSUM: 0xab5d (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 5001 DPRT: 58213 FLG: -A---- (0x10) SEQ: 0x500a49dc ACK: 0x476d4686 WIN: 62780 HLEN: 20 CKSUM: 0x8ac7 (CORRECT) DLEN: 0 Packet 100 Packet Length: 1514 (saved length 68) Collected: Mon Jul 30 16:41:35.784500 2001 ETH Srce: 08:00:20:d9:01:87 ETH Dest: 00:01:03:23:ae:97 Type: 0x800 (IP) IP VERS: 4 IP Srce: 132.235.3.154 IP Dest: 132.235.3.151 Type: 0x6 (TCP) HLEN: 20 TTL: 64 LEN: 1500 ID: 33391 CKSUM: 0xa1a5 (CORRECT) OFFSET: 0x4000 Don't Fragment TCP SPRT: 58213 DPRT: 5001 FLG: -A---- (0x10) SEQ: 0x476d4686 ACK: 0x500a49dc WIN: 24820 HLEN: 20 CKSUM: 0xf151 (too short to verify) DLEN: 1460 (only 14 bytes in dump file) data: 1460 bytes 100 packets seen, 96 TCP packets traced trace file elapsed time: 0:00:07.530000 bad IP checksums: 0 bad TCP checksums: 0 TCP connection info: 1: 132.235.3.154:58213 - 132.235.3.151:5001 (a2b) 57> 39< tcptrace-6.6.7/input/OUTPUTbench/zwnd.dmp.gz.short0100644001217500001440000000034507331357444021523 0ustar mramadasusers1 arg remaining, starting with 'zwnd.dmp.gz' 26690 packets seen, 26686 TCP packets traced trace file elapsed time: 0:00:32.259999 TCP connection info: 1: 132.235.3.154:58213 - 132.235.3.151:5001 (a2b) 17995> 8691< (complete) tcptrace-6.6.7/input/OUTPUTbench/zwnd.dmp.gz.xplots.cksum0100644001217500001440000000050507751776620023043 0ustar mramadasusers3362183286 214535 a2b_owin.xpl 1451475280 113 a2b_rtt.xpl 1896664633 104726 a2b_ssize.xpl 1608365994 37043 a2b_tput.xpl 2303776360 177194 a2b_tsg.xpl 2955533251 177936 a_b_tline.xpl 2169788936 99226 b2a_owin.xpl 1914870632 113 b2a_rtt.xpl 947485969 128 b2a_ssize.xpl 1194074221 119 b2a_tput.xpl 2019275001 159633 b2a_tsg.xpl tcptrace-6.6.7/input/6syns.dmp.gz0100644001217500001440000000374007242307125016417 0ustar mramadasusers)?66syns.dmp PW_H "֣JU<uV<EE;BEqEXQzVmK<ƫtTPЂZJRAP{]}n$3dd-@.HGz<um][n8wm_dBEչh4֠Z.> l@I.}>lz@TƤ_Kϵї"4i1~l Ї-bҿKg/C(-rmtk& މyǾ="vƣD:&k uu"#fcPm!ZKS:NCtL6$Eԗj"짉me'v[^'\bg6eT:%^Φ-N$.V4^>p+OT<0ڣQ$\:q6x"y\voT'\Dbv1Nfle$ɊM6NG{'y*=/Po|gx/s~/*=" ғs ..*nT!>u <礆H;J5$eA)K9YDd5 t. R=dM6Sxx=z<.uDŽ*9ڣxceoLg+@s5w^O<<:iG&]2d,p'6@bL !F#fa21a 4^W#(=>=xDWBO Y ?$n{lyC<;ͼ{a%HE24YNS>8 GO5v1q=#Dk[dL̀nrW@tcptrace-6.6.7/input/Makefile0100644001217500001440000000041207242307125015645 0ustar mramadasusersregress: bin/REGRESS binary: bin/GRAB_BINARY NEWBENCH=${wildcard OUTPUT_*} newbench: ${NEWBENCH} rm -rf OUTPUTbench.old mv OUTPUTbench OUTPUTbench.old mv "${NEWBENCH}" OUTPUTbench all: regress binary clean: rm -rf DIFFS core *.core BINARY_* OUTPUT_* *.xpl tcptrace-6.6.7/input/NASA_ipv6.snoop.gz0100644001217500001440000025141507242307125017405 0ustar mramadasuserss7g4NASA_ipv6.snoopZ{pU_ɋ:!@ _B A T|GҦvwbӨwbDfte20Qvk'"R;2+KLEJ 6qKr{~{9! ,(V\ڨDd|l{1'3G=s>%85{5>KL^ONKСZ['$n.q!wےJ^)Dw1ruy{c Kǘ-4ťC_ z$f>9?/nxg Ox9BLg1|1ӊ+XYQƚWq#Gr˯@ &_xV5%r /BlܼQ_/0֑˟ƺuܹ(۸"Gq÷\.D U5jjjVUW[UCU]-x x6B{3Xwcc7ظl,4o\A_v- vL{|3](rٗjVgaгc 4Kul%g7 g}Q}A^$O^Рꆺz]jju}q}muCM]C0k;i\]p(z9| XQw1FMKSE.?WƤƦUEK5X[&'Q -8]@b%Lb~ .gV)ʵŷYl1MeNẎ{GaC\EȢeQ0ZXüQv(6Qz=` W;W@=i<핷?V.<3 `ӳF_ eef\QmNĻP.FE'Q@2nDiEʝ(NǹAyP'օo"EY.Z~x%y{z ~n[uAQ*2*qLQnc (סܒ[( oY_~״פReimKzBzi|snRP62~%qqz}%t:W&p0o[rp};JJ+t`>:P~r=f\i3R OgaV>M9<gg28[MlAsL@q.㣌'6y3.f<|Of5Ɯfix&r NfF M# & .}E ^uB=x1.x*wsk9ׁVo~[[8F$O1jw5QCX!4{fu?7*ۄvnl2 ̜zY=B=򿂾s?{JXlr5DŽ60Whwm9}+xƋ){~7˸e MXSR[@{2>+gN[oR0ѻL=97Ykach lQ#뉢 Bnኅ~KrǼ<%pgx""q=KE/c>P"v;"V4t]ɱnժƍ˯jjth ƕ.o4R;'w'pm^6 by1a"H$+!_3ږ3 y܈,A8F:\G5)BTh90!2saDC7}!KQ׬_w(-d׼i퍎K= p+ RDk@P# x`fހ/՞R)_\^*̷{y)h5&g;- -տ =LogPED;ig3M[Kh-.i4ŒiD$3[4Σ'%I\&iSo4wIA1!Ic4VBq_"iuo4=Iwq KwYqO[&ĩ_Ҹ{l4zw0ME>(iܗƽI\*i%IBxl4Kw%{Bk$bqW4Eߓ4%C]Gx])iK.dF.HoӥƻDҸm4NJ̵ƻJN!$u[sqyJҸtH9~QѷIz[I-o$GSKWz'' &<黧Ƨ+į73gCa\dNyiEkIKØ^·pv^[ R>(n;lb !59TXUlU}kS%p-JcF֋Mv1~s|T>`b<]9#^A;ŀie:ÙjN}vfɾ2rvɋC{سi3Gz-f a|/ೌ>;%?aeg3g18l.b\\x p p9㛁ˁu7Ō7,N-3=Ms49*5r;g-].4rPO#2)B.#E4KԆ>%bh)Ƹ:cPǫh|ˠ1vצgՏŤe3лFvx>;}S'̹8=<1-|xNe&rퟢ| Żu~2QaCae6L&ǯaN1%"jkwJ"63.b\8g3.aB{ ާuU#??MGd>곖61<34#̛LEZߣ?󑹗k,#_۱89L>˜׊ù"g%խt>{Ρy%mʛx=x¦$+mQ硶KJmYoኃg*(;/IV<\ܗupHL}fn&sm=ow>I>|􍐮YOI}$OpwlwGLk.3i}qqX+hao<`b KvsZW௵ldQ$aiBo!j>G_K% xN ?p혏YY GIO _?y !GoEs󂱇!83+t1T :0-Y[Q&\::| '6+IX#'iMks5i=bMfC~Q:=q6IbuόrNj Mz=˩1]1eفrZu2!u`J[VCm4S%x%4)ȅbjbq/s6u|8*|quȁ}v2vp}uo#8 DZ>;wܕ,75ӧ2M/-4WMGu\^VB&/aa0`,@E, !/fWEZhW b[NHȀ :RW^婎dR:UuT8Tzݻʾ̙9q3g|ܻVYX?!ST;r[#y>s?(rw%.HlhϬgOHӠ]ЈyLljM(A_Ssfr{r/wGQ֏UfOd^ Z6[OڀAN/wmE :騁d1zikqЧ$򇾠[CI}v=)|e:YdH/6:h,}s$}PG]+:<Py5 uy?,c` {÷;ƕo#x@f?m;ڸGѣ(7?IY駳,sH;*T#qjޓ ޯ \#}W}z@s^`!̙&87Mp .1&aLp MpW&LL6m﬎Eם/\ѿ~8u@w}r49Z<Љu<|)YSd_Hbk\::uu {^k}XtND)KyZ2q7b~I:gOS!cel9MȐMOZ%m7X#r 0a;B_tz][wZIX'i;Jrm7B[SYw}ľp-Lx+oOpwoex9գ?  ? se`?`x>_}3_<5_ pNj2=\x>.\b.G;&>x3\W.| px+`v^ xJ6 :=)X=HlQzԃSЃۡ(?[Ζ2ZAtaJ %i?dxbSg+nEHQXVyj|l\keR^+Zk%6v]U[9xX; ߔAGJy]Q~A? :džWKY)L۱S2|Q*_ @tèL dL{L 4Ƿ Sv쌔i!p=)B_ʴh윔]!pϥ RvЁn)BKRvЁ#R^+cߒZ EScWV`L='ybg%W`L=#yxZ| ˒+ؗv cmRVy3u {+~BduNKJɩ]/v9.c[~d?6Q[W*=[yi|Z"]@w倃Ҟ-|LڳŀOJ{6) (})|n9 V怕+}k(ɱ,7y/j 8V(`ژژ`1ژA5hcx!M)?x~KcW|QKۺbűՈXUc ajolςnczlkiP_=Ӣ뼱C=]2(z{oZg.mB̭ѳ <2t( XeW~KgfNܥ|;2E,>6Y,,pHҜi] kf ;A}~)b&Nɗ#*so>Ǿ֢\H1E JzK6N »~G>iBB]҇^ds+|,hO6K áW:#t)wt:mll!=HỀEڜN?џ6 ~_밃7:u߰w H{t;cYrNQ\ʤWK&c3)WɋtJCv>~:$`?d׋o$ߠ ``n|eLy>Fse1~yÒ9P~ _T'k Gq_R_SW2KeK0ud18<rO؊R'|g4ݕݕݕ]еRZP(]S9] Pr/OthӔ>v ~x=o:k*hX?~܏"SOOa<=u_Cօyb~ٔ˶yDtع;vCݐ}ՑHʾc?N(xćGٔդd1hLU=xnsy|2s). J[w?Vd< e!W3?!I-u投kDhA]fy>heO;GW*{ Ƨta@cvQu΋Нԥפ.aI%k$VZIq!Vz_ܗ(ޅ^~,"VvQ]&_Lzw?q;-| tg뱺QAE2lpJOvF80H{^M *m 0duy\‡Kד w$;!å5qxɒ:8K".Ҁsyu_Ƴ~FXZ`/aޫ2E|Oiбt~ꊆ$~E V bҿMu(Wu",~KV/fIw7r/ h i8?Wׁ?F Pu'c? ʕq@ !aڃ.YkJV;d.71g!a QIduT>q}z}z'Oۉ{'mpO_,\O:VtgA9 =EF"mN*m9ڜ+slsRVqb DhsG\%mN\24lJЭ_Ee5}1.95nAwc h}(6tq/UOWi HR'^ ]ƂqKg5eHA._ke9\ ҺeH}[铑~,`S㣿.!tsGX!ϱz>dsL{昉~>#F ,5uh;mOBz|dO=2>?'/O_lN5cT:OMrw6q'|Єs'9`54wO3|s>}nc9qڽ2r XV~\Y|q nk}s$O]ĩ{ 9v&R̻wZH#ζSռ0!lta;w⳸" @3.L}5#=0 \*0>H}1᪁[F>"_Lv_7̈́^ga  \po73s}l&p<>N;;gw|!oӸ[rsCb:Tշ}sB,ΫEڶO}mTa,OjwM@lj}݄'<.DŽ^n!p<{./zc[<7 kx z= n |Qpn+O(uʶףwr4ڑNyw{)Y'VҲ6-=\O{~鉴Fħ=e78 _u mΉcqOЪ'd78('xIm_tMַMs] 瀵-M_ElM {G97db]oȳ7?Om  ߫S(Si{j:!'aɒ< w`=~_m &u).MkdԹ}[=l1@uuIyf9)/2gl?>3R>s=zT' 9HA-GXfq,w?|*1/),۹-Yg+?}^e[ߦ_ 'Ա ZN0j6_Y2?wױV= $ `M>o A٤O.,&^Prղ-WYSتsÒu QqGZ|Xzb]u%7YyF=:!Wz9s ħNtV#JfJ)LT%._LzO"A319ʮGگv,C߁^TvE>eh|+L6) 8~2W 2F">ԷmSV]d|~o!lJ/v {ܫm8ʋ=-z)9`}?Ǧk5O <}zC1Z}s3Hj3BUF&E7rNci-FTf?]\h˷ 4d#//;öjcl9۪ [yWtui HE*͏*mJBZP侫mUTZwi*^viT 6vBvهvՎs~4y0<'X,^,Y;@V.}®E3YއJ2>0/sڃj@]O{sij) hz{]pl?:4>uoXkīkTT؋:~3Ϩφ^HCny(V> ے#{'c{gg>hIg Q͑4E5Ub.?S,s;|"Hc[ohw>yqeQEq68sܮG,^I9nO@N>m]+O#k[G:U~ t'U7_s3/7_fGTehu[SUҏCN~gPeSLj_Aw\` ~ ͋;Eߎ(gSZ?#ߑ D{Z~)-Gi |]UʽWprijdҔf /v^\=l~ W[. m@v|H+c;d ߻˃! ["N{!hg VvsØ/nxCws0X/I'+s~+1z}dOw ~SQ!)2Q¦:oW Qʏ" \E{ gn;d7vQߍa .9ƪ1,~Y~Wjp 93)HGڬ/1.=lx(_T+KDp[--GVNP߳DasOSD X`?[{%~wW[½Cqrݧ?#y?:=1oxr^~pxny|=p ܔ,DZX!|*de}"/@x y#/pkmnN.+*{"?t"S[(Y9Lenµ)e=ӽ!t?p:ޯ>anp Z/F=f~|[8Az >2A޾y'{-qz6Aznnt L9.RVؠI>%]ѵse2WTkEqPû*Wq5.,rx%kf'4B6{Ti_KPbfNlnpk?'i6^0%G֟/_=ec _09QdjcR RU̸:Mud_X|}w  i=!Yi'?]0. 3mIo7E;/=Syˮڟ_~~Uen#|4Vμ3Q'8굨ojr^{2S=,M?3o-ГZM^V_q=XSJ2PcddX#pZEM>5v/D}^!d~uзFqȽE־Xec>JI }>5{0G)En[  e!AbG]w=tuQ*~L:ӵ5Qš\kY ?+b:׵L~s*߽$-Ko6!?+fD-q$IzN1γ^K9u>.B&b Ḛ5c}D|6w{CR+ ~\Ż3߽ P_@1VW#_t?U, 5NP^V||W䚰b[ÌCZy^/Z4u~"x333^)-l k7lr̨(!`٠qp6L MwXji$#{zhI0適&_>WR7]ӌv釆4.hNߥ&6S>6.dr4sPQC i*3;HA~,ֱ#v؂БPƪl/vYqk20 󣱿6re,+ڵFt~:δN\7)_SEzh_X'\TP`3G`-h_ѦHSr.'s!Oc8#>dw+o$,D[<|GI9j% 3lk'N4#] ^C M֙LcSG۰X}w֟W?$Í,)f>u^1.gC7Ptc__;MOЯa~úebgՖ:y3>&=!δe:~<(yse7خ'NbD3=]z-&~ ~}q}kК,D [IWtaQbx]w829~ >Z(iwFfg ʽrt9y.0-̹#QWClWx/$ 5IF]6;rmPvt+z*z|%_G'o-7wZZ%ݭHg#J>KߩwEoQ>5W6g>Ay0»a$t}%Je!.%cz3ߋ|͎'J[B1,r،YNl[b>/#Hfsr]IJ(C 6ŧ]s6~!R^o7+7Ӕ-T}VOCjR!R!K涐,[n>#C]sߠj;T]Iq<ǼPf>9gMmw1Frٶ˽+6_W=be_q o3ջ֨+=wJ/%r]Hœ3w}YFnZoN8moUSʮ ?$+iey1\Eמ|I^~c ^V v-b?c4h Ƣ;"wRu ~U?+(r5%~? 7]|ם<5`)cߖDo,Y" E4 /kOxL;仩c仪K|V?EY!Mcwd'~IАU*;y嘇,$ ځ,qx8xX8?M#nq7q12S%h[X:j0R?aYcy\?SF=wJڂe'O_p+sW#JViԆӇfZ~#ע(w./8T{5)i9i;Qb f:dDwFU86[co5Ck{_X=j1ν;f]үzqSi?0^Qf# γKݝ#`د?<b~xKDDPox%%+S$ Ic-5O5_ ԬҍA;H1RT[YyuhVasjV.5>D̈́?,XgbQ.*{wF^O-68B\;I|[csv`s~ζ²'O n؉ց)+yP%é԰eըXg ?"Wn܍O+g^iد75toֳv+g>;\riOS&=f篸k&g4O p9:Z4_mKLF=s/sL$:tXn6$5zjtlD}Թ}ysu [-寪 Ǣl]{ KDIԙ͋ Zl}suku@K_Xϓ"|Y'r^ջUVnܵzď+܆[cE4?0z+s{%k4\t ״^N4&TT/ştgAʤz׆GʪeYv3ooGŤhJTR0ȿb\JuD?>^H\DFg{Fr"UswUl*8n"0Qu-r o_.Ƭq-0t7oĉ@$_s7r/]ҦiiK#O~~׺:1Ie213+{ -Q5WY[Vz26WlUk&j'9E}Huǰ6m}:g]/v{}&y)Ϲ?(kZU7 &c}}S0 9N|n>f-qzwo[cZ$_lsNDyd&p{ <u[[}1<՞Rt'S[s5榺O:>UN*%Pz嫅luqީuGS 0ED xQH&>&2t:K]m"w qnZ+4NوBdX˃FHY O45͍r:/usgk3}($2S'jmniA~ }޼%(Svrcfcu7k} @V؏O}:]zMCҧopֹzgU+9+JE~gMNx$ٳǥmRˣ>tWw7M'-+R۔]d@p$ `&/kC"zv{M -ek4E1VhSiʯjirGVQꢫlbK4|.v>i| R,X-<@^WT$1=p Vۋ!%^vw5 }=me}[<#`]M]5 {XֈT\YS\敾ƃx.2DH+Z)\NE.#alz= %34GŴmdU3QG<Ăy?.M4qT}NwN[V $uWsR6ho?JÆ\;i>.[L,r eTknfJݖ4Cɮ8=s<01MjlIژe2\ݦVj5:gu-L+M}s1r{)wc2/x>沺ȡŧ)Hε"2 #JEԝm|W}mlݿS߾^X&u@_INVLj"@ ܁VLN͛6I7y dԻS `(@,~s^OnSiWL*KN=`/'n"⒵JʢaJ="Q0.+tm[_`i#Q^}S +3= Ue_[Ei9Að(QRFm9्21|4M!޳tl y˯HTOy(ЪIa 9oz&qZ]nݣy]NxzMd/dNԊţNNJ@$ЀF0Y@ML.seqCiU"fL&N3#[xP] lHWV/ڮWz>̃MX e2ayH ' B<cg+=) Z6t7=CqQ;ե^E=AT~EN`kc}mfjVd, 3ꈵQ'$6}R+ AmDW{"&'^.rb^O3'FvM#ZH1y'J9a]w!mtn[9DoGp?lWFq~[ՕMt7oe3ϯ3ج#sɇY,gDAn9gZ1H`Ŧm"ʔ?S{ .ş iť룃g{\i{f8Izغm3_[e#|uLN4*q#oAiwDS\o Λ[amscdQ&9A=ԸYW)_Y)=Z/],N'6F= 5z[ꃯ먺#sĕ؋mI DӋcժYE`ȹv?5Gͭz'L>xG?عk="Ŭʚ]₹tܻ9xr"YzF4q% V{*[H5?YKz&sǴ;G4"U'AK#iI)ކ']+ɚL/m|^KvAIӺ_p/Y $B .o Wg ~OO >xH'{_RKR%9w9eh"ڻ  }< TS4(Xg WQp17\u|R+[~/)yG[ >{s ÀU5(xX? 3+8pnUpfnPVVp ZPA; 1oQ) Q+8Q_\ી)x 'kW)x2Bg~P9(cl9 1OwX4ѰL6Wa8O-M5TفDž<t ⹢%E3 Q9ډ x֒1t/Ƴ O5ۍQWZ:y˨sxx.่ur8يygܘ]|WH[w֖nZW=[2ΰJWU+״m廪֕pB 몪WAuڲz=r=\@j"]X,b}QLDh"^,5Ke|}S\;{xUyUFky HW+Z=5WW9UpaY,W6徬ohU}'7fq ^+h4~7?5We S}VEZueq *'h>oR^7W4Sc)08Ħw97yG+qH~ޗk#idۺZQnjxc({IX&jBn?Ng$;!fwF3- TB! " U&b,lXNMEq$$Ep~vn/E%^iZNCi:">S+G>kΕ%rS:(r͏Xx :ݲz8ɨк$y+~"(<q9Ct.x:@qLqRش3IƩ֚X(KxQMly~6ku»݆U cLSd#Qd"T 07DNSP 7Йt}U_NN36tCy ap\v[مΛ~/aQe?5MQ~DUKhZυ5մ} $eXpFrlyMtzN6ez `QP6ҳ豲mqk>$=o6v|PГ" ԣ|RD2Oxeܴqq"2!ಳ)N>/϶)~!;Ti<\gq]~øxKx]=Us5_at!߿I4̣n۷ ,<5gzΎLښ  ~i.^ikx}(moa8|+ÇW>]=%M^d7aAw2?eIs ?___|aE/3GEI:u_ πO0uw 㬰;0Z娾?&|C{R(}1૫V2|W8teFa <šMֈfA&V/1a}dػ.a_\+|I,P>A)k"Oh&MSXƿAQ NX7>"ѿ %| Gsm#ma}ו$D*aU( 0Ԅ©U2 >c@[ѱ}|x7>FzFX7M'o%Qa|pp { uٸ;@4OKn~'~SqH>nzЇ$D?>!?|k=*^>AC#r{>NF}$߈WϠSVD}s /ڻZNl D񳌞|H_*V=C}-FSr̸P&scx8m9oÌ:ݬW4͕2Ya}PYV_]@`d=PzO { (%|FqP5$3"טL_~摯067b!z/VSgz٘`#b>0ػp^um" <'3 xo]u3 J}b"9O_U>ǤT~0 +P] '=2< _,>YT`g6sg_o5ۏ{5]Wߝ _f? ~=@{81~c \cǟf7~ 9 GX?w ( wƸ }?{ȏQ>_/eS Oj}cT71 A4ދBzoF:7<KIa?>M_C>#A}\J0gn+9uJΕb :> m^>xg@PnaoMW6]H??06M_("F*%i"Z!)mz:=2(wor0F :=I7}٠^.Ud9eQF[p"pԂ Lwzj|ľm]{۱MuVxP>=`X(&d͎4Ε$k굢׉dx `6dAuM[枴l ;݊j p@~"9V#d;JJr'$iJyXy[c_2:|mt%c:亭t?q ϟ\Ƴ ϗy>مx~\ev:;ge*_q8"2t*7!wo\qmۘ=)n\?S[ QC:0ÜGHr勒k([2\JКѡl.PPUFRsl\YS)|!B*Gu#uUrai͙ :y[8zti**4z0q1Rs CV4:e.f1a 1Ѩ+Wuv$IݬŇ<2.ܔ[J8 C~p)%4KnUb8 q=$o(eʖYhQQ65NJ[6|}Jƀ5J6uR8Nj~hM0PG fe19M E؆ݻAw@n3<-%4Bz{J<@͏pW@׺Z{S1 ~@nsTwϡba'R[e@֛5=~{hJh\oְf$wapK vH=&vILN]zBh!?00+rnowJ7$[[[Ơ1啡syNR /v /MnZ;%2\lvptYXU;#;to!AI]*sIo Rt_f`3V50EldxCȬHM0>,#4 5I6%= U7rk.Yw5`iźw89㗔S2M: :̳mrcd Os_I[,Dƃ5p`r:\JCa\oZaIYDG-Mϩ@a]ax7 1Iq4iCNa'qYδS3PZ&(ݙ [v4Ì{R_ĘN/oFat iz)jc.=a.jnw|W@}-Kf`Kip i53sH`qb#\/0.F6;^"WhZօ.g#Ӱ;S㭧&O#/ ݪ ߫8Rܼ 5H+)Uz;RghZNC:-m]5`Gu TH/iY6NKYJ,DwJ:3,Y7nw1௎d xWa Q| ת\U7þvɼY84䤽m@ЍvmOo*frW$==@dJ Effߞf53:1 碈B }~CmM /Wdy)˴nY|X1XeqPG04u=Odp3Qm)6I4פߍ3yxN_ì ٚ_ws-׫dcf[Qr\~^Tk% p}/ʢ#3PPSd2 ũ"*{!" ~h_c{2ѩY7{{Kn?(A$l({;tH_Us1PzUWGcWƯz䂞\J&`F:7vYc{Q!* J) T+Q@b<..rcll 9X+ˤ;$u+L,4}8*WPb3{y(Vz?s=sϹ<m%\Fp|K._?o][>s5Cktwu{sk(R6ߦ4?9nbgC͛ )^I[Gn|Z(jJ PfГ=|eJ 2l) +ĆwEcGVgKt4WۄhJ PLCO ?j!$Bk&]k]wݗ~>kƽwW_%in$7yc=՝塔 nC~:n§g{Wmo5;k"pӀ-;8< ß7 =6;%wkqտsm9͝vѐ7~;lwOp}g粹p}k[h<"z7w,SrK2IܶW~-=قa"[=ӄwtn3'D&/̷ͪˋ 4<aפŦr.m͹9/)Bs8 sm>܏S{s |6ߟ-~<$dWms:_~wG ?## tu׎nk Rn( 32/G׭r"(w$'gW u7^G(f"vRJZYJ G@Z :"k%jg aml4,?E7?iq3cu.J>BؐFVP1%H9sDƒvKK@&e=U}>k'J*z2VW uχx"Vk/]}+@SRv֡#N@NDZyPօeRgG @]A0L>)L)»ml~fO4薱Pށ99f*)xRLg\qAH 9械zvSgGg?a[~.+>YGG2҈)S4x: q޶NrlK9 x"%4M aYKɤ[K46qOIfe_XQVnUvEcy˨s1 RKyO9~؎E9O\y'pmSw ˸7XBZ.%EOQ\E? -hb{I飖aqb;2? v'9x#Sh]Nm q\hI|s3`|/&LۯSyHO'IL_8x|-OSbPrh#E?tg|-qQ81.jq*N(쯒[ͷac? U{2^O`̼ Ez0ʓa( -q )Ji˅8O;/s;Z.X X>DZwKscg>ư^H| 6<|9`z"&}j#O]%O,G ܴ;=g25{?fOy{[jm'5]co>mNnlӕM]ۚsu޹㟣\Ff. Р/2: 9smGJJ_W~3;c\.6Y ꉥaop,о9us EW%Iދ7<~Dxֿ>\<[|ȕ{%;ۙh9!Y[@?}ˠR#]-*\ͮV=;Pw/P StdXvǰc#*N=Zalyɢ=?SV%l; g>E@y6 - -V2%({#'eS)q,oj_mU̇1 a}Yd3?<<S`Ѹ6lgdg쒕=Ct\bMl(a9l:beɏoGy3ʛXbۖSv aһA~T-֓#l']|smIʸ潌tɃ8}H ҝHw"݃tҽH]k5ak"_F&~MU~=5Lڤݡw_t;]]%~sybN ;IsS"y&W&fUyWh<zNm.Ϋ퓨t%2*SAͰC#2{21͵W" }妡{Wﳑeqf/?ޡ5|΍;X:\C[sOf!}(NsF>L,hͺ+s6VJ.7M}acvZWtnƗ#9XQ]щ1P^>Zc%Ѯ>Po䙁N=2$oV-kyy, -UbyS,yP~! 1J 1&OJGoM=LǦ_3}썽z=ކY:gT>}z䑭e\ ւ1v ~KsPՒlA-ʛu4kE>3j/#2VZEkl>`KӮ I&!  %=^ 2 z0Njb^J<ZoerƩCR/lXZ*i?>ػJ<GOWi:;\;wB`]s'iPs>TӐq_A+L JN-Yă8j5qonl`1Gۨ>MY!Ϸ!1mH &8&o~x%}gGҾx#R~f>j}Z˕/KۏO>M{~]*ڀ2q\i#0?S~#Fgh4.O;=nϴe.qmbˮ/d,3qlɽ3 /_c=v!؛)ܐ+{K vCm2%#2׽Vv3c#3 /[=CV} U+G3L{}5K:ݴ%_K ctl{y D[v'ct )Oҷiw s/ }kr!xת|EZf5s-al쒨k:!>5^@^jm=KbQ:C;a yt+1kxZ3g}F;vne-}؇3z,2DN˾Pμ;xл4לm,ay9oM_xg¾^Ұj̑–71^zƻ;Si.oXaM%so%zQP/@]a}{]ͽ@8o9ɲy=f+x&{c~>03{;=̻Mf> o-BX&>׹=NcÒ%}Q!HEJF0y7)6+ )6£,3Ⱥ/^?r폼{ewu:>a9ʇe;xx0OYx/=X%J͞dq$'Bg4C|g<9B; 5V9ƶߪ;;1=|k=fP&O1A<\\5$HϤڷu+[]hklfK·@EK[iĕxAACǼ$ xo5~19t~7G3а5 Q^4{% lvq}o{<#ES?3qTdUVeYv;<$N㦊"ijzTAFhG0ӉRTC)֬j l k^Up8\*80pVfYufHr8zoooƯxM3z .9M/ʾLЉ'/u@̀7 /ީFnԎ<ga߂āZwy.i"<Σ;o^IYm]nP`/G(Xy65$o-.sUQd|X2y-\c!m矛o?`?x|JXŦ~i]j6 >k:@h캔,םԣC|")'8nڧMĮm_f /]ץF=`~AJr]i8~Bqkɻe*Kӳ 帔X@.p&/Τ;xU~H GoՔWȳ/"ߡ>cDR5ߵB!pû_Cr2G[h]oWZ+Ũ~fȇ ߧ㫍574:Aс>] RL+2w &Z>*)LMٴvwBֺ5Rv)eWʫYj)-pI>tmwwd[u}u=UXKO5lWrU8Uqw%K QrNL6Snt (Fvsib5 -ۥduJm;iVS>Y @Z)Dg(LƱ'Jc4cC' A\Kz Kj;y@R=j27o 0olە\1sؼy&ԴG۱W#Z}. Fi'N,o: >DKɺFߕ HsH ;i4ijm12}ɝWT8mYD&LCw/}5{m>2>2Mh_skԇ^){)/wk{UM7gC ?TvH9\isc, g[:H{xMձsq]/2;z otY!]Fy5; g՛9><H2#}j,XOʧ!'ҹ '59\tn9NsN̄UA06oȳOo$Eg}Z64|YCi% 7y/a_}jsOo; .ǔNFX_#߈qьu2\gDQ/;cU6z yX|XsI_YF5΅U7(v5Z>W'=Z<5qeSx{ʜ@[pV+7_W3Wߤ]Jn>Uq/ᔞgsmkMqt:}MÕ><:9O޸yΓ/UFėz4bK )~].wk_p"AG<ܻ"gm&Lj*9׫ߦqdoq=?d W-]È;M B)}>~KW:}8FOK9^)?(Ґ4btGڏHw؋_n;f} ).SH>Aʘ) JTq@~iok~{s^v^Jgڹ9\N+uB۸ե}uЎ`^pƑXW{.ANx/q)?NŒiNm}WoPeleVh+҆zGf,eY;8=t7Zc;U+<uyE;X+zн_C?օ96> ޳so!_Cgݳ9絢y[>prIR}7r^ݜ:s:@[AsOzQە-O9Xj2g9˜ш&5MOŅZhoTpݯJx`4vZCsn_l݌M>jC`ɍW? oGY6Μ iEk@l5o5[·1yNJOkm| '&vQm@(~~H _6A=3c$l4j7Ql<{}ն;׈5m<?A(|+ޛ*s3ovzTN+]?bZ:!B$EH>ۑ|L/J;/Jދ3|2ODv$Kϗ$_H>'#D$oG1ɿ,,B$7^ݖ{'|_76]5y#Vycew-:n}cx+f>u!M>q9ڶ-w(g ݽ$zEdK-XZ"}_~ lK86$c p2vͷRWRwѮcӰG(5gRYiXw4Qu{ۨmH8#=E'ׁMa#}ixv43 ;yFxTMw~|uSR-){k }LEkb=PQ۔ٛۋ)6cXZl <;4YOJ9݂e|wI 96wPVwR}'+ ݳD6]G=}1_6]ԢdVx ЅnZڏy/4*iPFSl }(.1T|B-&_PSf%a>k{?'Hq7ҧK/H G;42_mEӶ {& lhύ>&k#coQpNI9>zcƗVUNt {ٺ;3fccEӘ>?cL O<:R|̴xb~1N4茶~Imfk^I7jo xߊ~%s3~%c^29eOWz;Qߒ`Ʒv c^b7O8F_IƑzs;zsws "6>yOH6mjC?{:ynٽ`JKp]3m*|g}дSqOH \omƇ}̄:6z 1d>K ^(Yq6w|+~fݒc'Q/y+&.4sJJҶ)YO_uSi{v.;7/9.y8t+:.Md5[Y"u좊Ys ]}us±@٥S>ǝ ok:Z{v_v1qysyFb́3 *NzsRŚ4wyj߬1ֳ4 (}**zO{Aeċ'mcgڊqM3fgWte>m7G>$;;v0V])3ipt4ɱ]'+o~VN cF<9PY3p|++oq%m5L;zѲVh%|Ք띳2:cQqi=$*Ib/b/Ov+Iʖ]fp/#:k[gT釐3g)Y{5 2H:g.YM'U$}E-ްzek6=Nk [}3Q0uN,/=P~ 8QV=]Ni(C[n xQ -,Ż!Y?xZ!;1kwSfπwn |,+!.9q1|H+Ά"V6nwGp{{&Qp:x?聎WP1i.Fp?x֦d۴q/UR^sDZgޡ^ǴޘoG Гz' jtCz%./Lo+۲;~>4w|'%3\rL$My!G~mGBy=>?%^ljy1֟?bLR枞h]zz#99WyIn| H{Y~Bq`y*2>O#{`8M'Zh3?@>?}ZCu7Op6'FjMEv"03&2Մ՝g6-rR>Nk^`i}4[Yϡ Gߌ31>7L^֧|Wu܊َnoM%!g5{4ގ?Qe:ž)tǔCT<]/{tn'{X~=O]xx>_|x>x2nr'ޥ{z=^'‡GغW6J #Xz`qb!"<+O NP _XQr>tpOQC|Zd؞cu6b#1d88ঙ2 < ЇĽTSáCMf_ě{ve-3/Ҿ7~ yeáCM!:?!:L}]muUlUP3ziajũvLbe8K3'EES%T؜uRwv-:u7MzE{D 4CIQqՇri 麗2Oon"NQ cs?yEۈe_@{=hWwce} ?咿u>|,jI"w4-p+ҿ,[x.X12Suhk4[ 2LT;4<|ndF|Ο?lUmFaqn4 93mexh=\\DñrFVRz_(u_hmeZZ!,~85IvgWZN`~R ~f<t[Z"략}sNrMSH&;١S.*9Ң`}z&L<):f4z.e{_"8ArmAr֋b/B=9gr ' ;%}myںzi(&Cyic'6p58Uxhk',Μ+1W8x^+󒎬bI^#nIۚGOZ~i#.%eaA[bl/U/|ћt|4U}cUè:nθ|EJ/2>M7:\v=/+ZoRGP-J﯉ҷK$Hw卽!قóȞ~xj!7J3 \ k%9E؅h1HxRs5XfxMW2u=9{u܆+:QannItr(N֜m/szhS}&oRVMxzJQgQ6P;Fj,G#unԴkVf»[rL}_W6]n[->m7_ߍym8ۛfgi`)@O`_lW|hh~l/sW^w 7b+}0捿9g#l]oF~p^uЬc18#÷p΋L AIql0BO22#{Stzb y6p䊺S1lmcoLr׈;M'nNw@*>ԲQw+:}΢Gٺ5_otI_ ndZ10e'E>Ge]sT`LӷͦoH)|pQ?7֣뽩\(џ#GcIXٻ}}OaZj~郞>%nx{˴>_XA k[r_`k+po7Kee؎z^䕎3zBˮ~nymQtӬ[w:ycsSFeqD5%x˜_}v m i˒p/ Mɹ/ o3xj䖸1E}(r]fL*2o2?(Z/DtG{8s8 egS.|j=~ ;Q" O}\dr2ʯI{8qX/k:yڨGIˇ1㍜=jwnVyAU4(C}}s 3y.9K21ȗ2.<Є]?ڀndﯸF:GIWZ@e1+c~!4aPq3xî>MtVCAv4݆HRч bŊ{D| :!gzmEHCuE%hȻWjLȼ1a02\*Slpҏ*jfOk$ekmԛ־3=vhsBHo3 Xk:XO igF|Cyؠ]5/c3Пq;\|4uFlРr>7FMkvZ㒇C|B\U#'Rz:̺^o4{l$W;Q.ƣG|)%+}HΗݻi_J]3OK_7g*Vwq]h-Oj}xb?@a$^N:RxόYv|Kô'|L48sXԉ]htzjJOx5xĴ}^Џ[*OZeuI٤?H_Qx}_`:Ҍ^s;wZӀ^#_\V{ߋ;`NVnA}olL+9pzñws(:w="a=bpOƕ A V3C*}Q&K澜;;(r̞֒lu^Qv8h OS4p?q58Hwx[12hC5<k.vva p,3ԃX7oqݏݽ]HBWˀ1&)nC IƉvPy$l8 !Js2ď4!.!nux.sREUq\gҔnJ)}݋pI>,̙3gfΜ x(ݤ[-Jf{hb-'g bG0@NJܕ9}`8m3=zp/psr פR^9AGX+HX4L C-,mI;w^̔_Աj3n(ӷMC4Ns*d0ߜ-'nFA}zP8wm3u5S/ sR(b~:==_2:H >9]p? OdRqzyw~l-˶<@i<5h`}~Y[Տt3nL9K0w֩ݦuRW z},>B7.yT؃ N,z[B˄bnw6\?ُ C|*{7ε8ޱ:A- ¾ {qvЏsmLO8x}H^6S¹Uk^{j[x1K\:@1s|~q9Ǯf3 mc|齬ra/HjצaLs.9q%% 6,'[6`~̋mVk) C,s+ΰo_&5r0Sd}xv3o*t*rěo26AsSTyTD^٥eyY+]W>ewa5~?x2E|RF吧>^ ƛU p)U㴯:s%_6mkk>jwsg T[D^i4žF+aeS=ZUPA?kp1_4YZ=_01 2s*|wEok\mC<wRyP[YUg%;el5ڔ-p_ttNMG:vNQ|wm֜8O}ߜoiG<͚W]4Z`"Ŀ26͑+H3iZqʆz#RD 0GZ]A$dK ٔ۹vX!?:EVg/2+ 9g7}i?; ^{бWl@!53\Ki,}p \Ҧ}Cșu)/A;{ݴQ!%{DMOPV?ac"̗N5~.7^]^?s:(k%6bu Q# ߚWKzaܫsRk~1c ĸ>?0a}J֣#E!tJ9izz[YG蜭P}~BAZȗ/x֢{n ٓ"J>yɽ#'t>o?UH;W18V \)KQzn;oM#b: 4ZC[qwYo /a#:H2׎Q(QqDr LSzN_XN&yܛ}Ƶ7׭B |b-fMdYiH|t"zN=-_4Ÿ<2^c}􃰏>}[A{}|0}Qk.+e:J|))^v;iAnaєV{I; i+z봇Lcm #ʥvcEj8)rvUpo8aQγHٕ+rꟄPO?`H*`櫷8G]͋3.W3m䡛@z=} 9WR|3o[GkVEcSuYX+r`^ʚ*|YqՇq_-JW9/36E acu'J;+'G8fRLg\ę֊SbA a+t]Ԙ\LLxX?ԃ'p4JQ7R/QAMBϙqR B&KU9 2E|'dCˣ<:7sBeK->,}\)QxRFk<\3_3/}dqn_@^?])45gb,_3xV{1[zSǹ7~;UܵVfL؄ Mjo&޽7EYXhbJM't\J[>qgRsi\MQi..|&^aw64ހpLŌWS ]mq6?kwRn0?fֈ3ձښnpB-oɽ-ښ> r_:aU)#rA?M[tXGdXs59b#+} I>_ڝ{pj赼uӤ ikkZi |2?^ODyښjSmE=s:|o^$p|[tjvcѝMhkb3rg>B݂*1LMHc}\'d;$Dv{ <| _yWD|N严NV?U6i]pLi?wK:);.[dtU%icA#?jjU9?_FGC+xysdn+[au=՗)짥"l &9x:H-ʫlOށCMNwy )~ҙ8uu>ݱ?'d}Q_wz^_Wڂ-EkFF8f߷Mm(eBvy9 .:gy6-OToW~1/jfk\ x^;p9rR^9_P YBSҞ}>My6`(KDBA1w,e+W8zS*_OƓ;q+aE;}ۖJ߶x&6*M٠)X>Ė~i;mbaqޖ5oxH{>!~c7*w/FÔN72OR5%CX/^TI9ӐHܯ´-ꬬ%ecZHAxogqS~re?qOyqnZ~ODPuQYS?u|R W\gT>1&FKo[U_^Wレ9H{~\1D+g^!׶>!J6Awב/)z8)u^:/qy:Smo/GLT1WP׈lh_9x~T?\췎ꬣb!oK?4BiN azl[/b]'uY_Y91\B^z̮A{URB6Od>-VW6)P7ȶ7 Er뗶^lyvJy~)~߲ua9-~v1-[M7Ioq[ Npr? {q86M:R_8-~`o>Ian#( V[ÑH? _2]31*yDӫ|Vzӯ!,Tπz:`:4~s>ZxJb#gAcG,9˧p hG_s1/62%+ : I9I_À{KO/Uq: G>OƳp}Pڃ-;yޏ8YѾ1_ǟw?yunv8C>=;Shϻ9OG4߀=2Ǒ'^".5sOm{%#PVeųchO(Cqzx4H!Cqr ysqUs!W䛋liyX{<'ɎF$Sգ3.sO&ޓa GQ?`ߓA;c^]tlƋ1\~%[i|@7L\ۅog=g:< &΋J>ss93}8q8uӲ%h(gWfڠ9-SwN]ůw<><\v K{Wz&P Ho g!¬hZ8:U`}Xa}MLo5ʳos)%́Wo~ao^ԧh}+/ r /%^yI߱Rmstaާ{MZ?ULFV )V ufT:8΃ oGSZ*cUYqj[37E?obMM3 4рRFiBA0y%z+vRO47;O)À[aQ%өS+?1Dʙtg.}aAcN}a/B!^?GiGV+r+WMf>᳨ Soky|!VQu k@~vCb3L-;Ohf+>Xo S6 !Lij1z=\sM8[S{\u 5؇֊}zҵ 2.z?S|tB,u'OANVN˵xsdE ;( v*zWgX R6wNؤ\Yϻ디 s9Ҏ Zh<ڗBK?iz/W(05":%ҍi4zHA9^/_^IN3KG}. 5j,3җ;}F!C{7CA|zPo|1$m}Sq+ŷOё>roڳۛ 0rmy:mP^ O7_VȯW6mFPWҷxpo=v_˝kbx~<},_:AF/W7QoY*dzX{XAO3kx gm|}NcƵ~S93u܌gӴ C\h|I)Ox i>Җy: ϳf|uj_j3혇xzyL'(зP2_qwamڣ-2jc46 S++ȸ7o< [[*۵~~+潖Lm[3J5aX) ό&=w˱d(_ygLȭSTŘ-l"@fhw)%LCA-w2JoO35stQE-[17CUBuM.GXv5r)?WS?S~(I r.gJ>gJ2aO˹~k7@y>q5f&NSa\͏W(8J,1gOxVRA_w<e﻽\.w^BoTm<8N^>*ߘۘK6;!lXΖxgޅ꜕{~ m}}\a}%uvĺ-(dOY$lJ#:&>>w=zS9 |,cԟO!ߗ<_]ﶽWs!װ>jzl{G9;ַ-C[\m/vQD'ԍRvG=2uǦ*ݯU@8Wm/l=F9hu2:s{;"yRk~k~k}.z>Wk% y->crނ&l@lsv[~i0NOܲy!kIdG;ϳ~FVl6VڇfZț S_QBWo!TXjx]0?3ޔ's.Aj R-|uAYkR, ZFߢv^ULڃ0"s{Xٺ5^QҮ">@'bDЍ {>Czx_ypLͫa?;Hz":a歷Lcun8l mYcivzP-*ٶdTZ_2 Ϟ*oX:bX/~K]HGO՗w_D_оn“:VWمr/ݯl!dj핼' 221}6@o`q8=)o'!86;-Sx֑$֙J[RsfXt>Faoi8뼈υ7{HO0]wjwF_jXcB9Xz\_8x 8?޿˽N)γ4pxb`T`l!^I[6ĩk<V9f ޯ;2OfzhmHgxg~[Oxҏk t?qU'@ikڥ fjmGSݪ:ky~ ˋ2sWyv6giN{F)&^J^W2' ZD\[([uQ~Af:?Rr]mΧ]V}YiG[)D9?Z+ *~\Ox69՝;)G!of0kUWĽN!CJ}><8 +qYKU,dRX5?k,ge+ S^ʤ ܙ7EYZhu2) 0S~S nvҪӼy1~Jxǂ94W;ؿ<>hcsy8;PeV&@S;I@×esAiSܸq@T}X>&Ÿ4!wX`kOY7^T(-t}Ѧ ƛnizBOt4^ٴL46O{YӕryH 3͡\?zB֧5O &öͣqvob9W3\|,C0Ag/~T\~{Uc;aǞtROZwXc^Ҷ{'oΑcG? <5a~*_c*GCl?賹LπPH=}qܸtď?)ޤg َqtrι-|6b}S1ݢ6w\so{͓?*}ge}wWTI:#o0_[7BLFa]όl!|hs4dx^ I߃/6 1σVܳ ~9l[风knRo0a"Wt݉CՆ*6Pg_UBTdg﹠l Soi-NvFvHl3ĸ.{0|bK Zkfpk 8a0τyye͠7ȽAɗr:b7$k˵KJ5+n:Aܕ?S}}AQ{}#i}}J29Õ*ur?o^'+,Ǣ .}1S֥Aa -xo!8`Ͳ@bcu<"$\Vw _yb_=eJ/'ĸ?Vҽt~>A~-q{ 3-e&idn5,g9u-Wn3S)K5zս 0vu>'7VSY^uރ_IDӧSjzc&@o6c!E2mtd"W {a?ieE39>2QϘvSƳy [|y*E]zХY#~LjAsaO ;C^!蠂<{0׵c0a>gx%Zg̿"aiC?^†ԾxH˒.~XI;vіXB@QO/mpXhc8# fھ ʟP+aq>bul|U e>zCq_ZOc|e9﫯fb+šN3 uGDʤԟ pRbc]w(5CfA72ndӶ%(ʭ N6*>glzF/_ήQ6ͬUfmIڳ*¤NHKֿf+: )ӐޖeQ`1~&K@ߥTjڝ4rؗվ8/; F`+L\ϴ*9N;kUg"Oyv9ߪV碌Y5|Ziwo;ָeOceдN WWpf8yfy^Pdm/N%-/чc:yόG&˴q:0 S*Frwl $d΅ڎggD{mY9i?RRwIN#>*!~2qyNPYuPfKDž L*$e-;ڎKB}u5[~gɖp\[q^C9뵨7NzkHר5Ekiߤb;LQp̼^z5C꼀k}3ʞGy!{^̎qk1#:wꔡ(eHߟ}Pݸ0z5s@WCܝ]ȱB6<8s9}  <߅5<>^Cb;øYAz ]K]G=4vS|uYMommB'Aˈ{r~ kiOc!(V]l{M'Ο'w⠋-QS茰(`i,l>=2qA{L4n3xȴ Ka#\]KZK]6$rGig£~{ޔ4:q_P4*3uѴ{9+]Hcڃ9UCcwyc_N^J.Nχsq/xe_y_cS%l ƃg3uit]^ˁO{x t)4OP)^QU\ i2Qt]\Ϫ/wk]vE\*g mv;ڵYƎ5<45)Bb|6gg,`uR%˕w8/?]tw9`*m?8GDk Ӈ}%>Hn!UcLqm^ S!V>jE9jGjkjWV!kA휰?8_9+fo09[ӫt[J H yozgQުL+@%9mhEyNjq/Ӽ\wڋpލcn 6{^aƽkVC5Q2}(GTpws&i2#Ƽw/v,}oadآ8/{W^˽03ug9%jSOEᨻ =Hk.1̲4nu*Tu.PuB|߲>F¶_2_'t~8}͗*ϔ|w\&_Cp?>F&s6įD˹evO{}OQ/ Δ4Iq:j=|MmNy*0L%uwPGj '\Lx`<ӏOfYbddO,~ r|sUJMVc(SG锷{SUǹfX'sw>T}ޟl4N?A+ʿX4^<S4J.aZ2 m9xmS6|Lo?'}16OzΟ5M\@A\SW =qvӇy/:y_E]C#r!zZa{OP?åms^iz9d'-{\2%5r }O9GX_[bEvWe?~zkX,uQz z23E!Co8#Q2urō=Fѣ7+vc\{c\;EM #vy"h>H0??#Ϩ-_Kl$4UmNm*t%jn?ǯm3a*㋛xo,*zbm^k幰/G㮳Ty0x,*lZ};s FrgZH-W f;᧞%ZŞ/uO0Se#6 ]|M}֢E͡"Lj ]L U8K'}"oڅTϰ!Z/铨P{δәN|v17ge_:o2I\ֶW19NX h3gSu;Z9ViDݳ4?bht˟n(9JVp9Dwp2K9[ w 7|&%ϴ<{Q>%5Gx4UWs8zq",E!7] [TD8mV{L;\g=cP6n[ASOtE:}/~r䛯_9+2r*,k{ ~R/ķ^eXFߞ-Y4Q+6M>%thLt2m9}/Q;^|k.FՏBOb1>x[:m?3ӣ91v̛ [cь8>Xy5ʳg˱g_ c}85CUn#~GaqVh7jiv#OrN:͘gg:3wSsM¶EzvUWl]ndVG+4y^ ޿wW7/4]x,9"Xv4}mY rԮ%YWzr9gch*{~9.юuj1F3 bøxH >gTY{.%l }#y __D{;*Y~&f-o׊8oWF)'hg3~<뷸6˜ > :8V50?SI /[ϳ-w|`莆xX`d|gS\B*B–>&g#] |WtvϏ.QٟYK;%G#<ڔtsw(jHwf• z!W ? >:ϚdȜ!C\p( i Sfúro7~¯FNfq|W9X ƊB= FH|WDzsA~ 9 ώ~|1+'l7W3\oҘC4i5KP'V&fucU2$ϿCq^?w)%od0)I7eig>$Ev6Zae#FXdoiFBz钧YRp*1S(]FiX3ȓ[ӿ ʇXp,1mޭ_2U?Sh3O_o<+E3L0fF=S.&O\o>Ә)Ar)6JDGw#eTS[4eH_1QpL_-GE>|IQ3; n ү/q?vEnE/ ?k+Dǯ.U!/]QK>E?~EorBȿ}n&_ y^QgN+B$2"vuWPve7z͛nf׻YDTyD#W#voЧ@B&7~p0w݂#qR?ߖ8YuC;UgJJChͻǞ^%Nʀ}!A?˴y O5fn'N[Og ~~O6g }x )/Ӕ1TŦŪ.|UwOY*Sao>h|z 0^bo=Xo݌Y*k<ͬ<<]SQ⎀kru球Ѿ/ߔ_%҇=hzxB5R?=mWSi^+l^ Aď Uq:vTrC^Ab;ҡw"O76LlgƘ~&~iQP_څf`}jRSvWSQvMC"զ7½&uBOsN +d\?gz'6)cƃX:{0=qwi >x;pܴ'^Dܗf#]U0_į)e9ycsgoj怛m{%{4c`l>hTؗ az{0)+U*uM:k\>1]=h7֦%LkzHR>.eԽhōcFa _Z.eBUe;}쬇g,ru glj>wL{v ly(3jM%>O ndbgYɬF!m7zj<»9>V6LhSSi}<ܕ|:⌺0 kbx({ܗ5eԾXgsl…w>.><>"ui83:/F`<{ qH~6,B~|HKd&;[{xI_u${xoM'Ɯ?39sn9֚;ng\ ںκ|I.loߊ+?sImE*ޫL z xD{'E E[xezJgaGQi$w]^MwJ&=gXި۰ׄ qېatAFO`E>̟KyOlafY|p rqU'=Y]`j/?'ZS\jOL-hL3ߋ|)Nj'dӜjkM_O2k&oպ=)__dD[_s[g_D lIܑ|1IBW#݆,P=m]:|sg+Z-6ގD{;V͝]=m7wwN2x?9/D l^g!?2`׶GFקM&m']i6wljknoK:z{;Qk;ޙ! 'xikSut. WyoZyK_OBdOO9^7^z]}A}m]*ocsϺ7!5lf $E7tvo3ԻQ 2E` oOlppjU1VxU<& *mr55og\Y%GMO?jތ{ZmMjtunhncܾMݭduds}s]>I4iXzN.{`u^PFDb=knk4vsZaOs}VX.ݷjmk0,պoSrSZeΖ]ޞVW7Ln'-1`eeV.SԣC@a nAˬDh';9Рd#c=^;ѓHaIoIsM b7ml9tvYd 9Y-zȋl.W|?Dob:֮#c[#w|sGպu}q$a sC]SSM䅯Y߇y/nkl{%\h2T6&_Ս7IhsAi?ٳDm͝juK = t 붪cgopEe+~S{-;ΏZ AAZ5﷯XuG>z 5koSĝknsNG}lo[+?pZP owd9X=IkoCgED3>9gѦOls2ln1Ac cn7usm1,$!);:Sm9Փ6ےPތٸdc-6xBDF.&bӚ#^ `oEK7$z$:Y#6[2./xwfgP7KšBOߤLvˤLnڼMr&M5j@\vVL6&3r/SO oC[ =e}{bC{7sKur2[d|C@}P G}80|LaSV/ꂁb@:Q&u(G/r~dՓ[:0׬]}@w2h[sWdbXi+úV1p}"Z,ǟhxa亅fmӳ U][8"?;݌8Sd'?d;_z)9#z,\ʎSwIҤA흳N\k] !4 VX?m|߾Z OM龅 [ ͔E-щ\ٶa(H0}=Ckb:X-IPUkJXRPW> {klJAq'6 WE! G42lyf/U9wSD>_3~dBf1=F|| ߷dܵk]jRli[6lwC9PHڗYszŨ -- 7DO4 u|P]^ yJr"(yW Dmkh KbAkA%_~=n !S/2+%-mm}g31:/}!..8 ]p ₋ GT{rWapK2c S]XŇE #*o!I[ 60~ ~>J:0`7vFGѷ\8 CPq۬Z RnW?'W޸, ÌA )"F1= OyC|OgPF~^񓇜R/@π+}ێ'ПO'-*#)&y+ 0>J@>5>5 O|W0ļ=`A{< &RW 37G h^;W/} FG7O*^S͟='s<nfr#5R3 ,1>0V-4xEZ7E _c a:W~ oޥ #ØQ1Eg#x?|5z%.x]&=<ca,἗Uc1䁪~X{t1o{% hď񶐭>ø4U}s4vs} [XXV-kss| ḥxBsN =ݨ`ԇܡyAGyWڻ|aOUc:1Ŵ * ~3.R< 4q Oa[\?!|;iCc {]]61Yr^t κtoaE.x Gdor+]G\ O`>].x <s,q[BGUW)|cJW SwJ4ʭ2)׸7.x gvî5..Ss ,|Xx;j;WN v)];p9.zؐ<ʔ<5&?jx}^Dq)Rp+} ~p]]s~31Q+ S.v]p nt7jV3VW.Ӧr1rLkLょ]M\kΘc/. ϵR>@~|d v3r 肗`ל`39:y<)lU}kܣ]<*Q`WDt+.)p.d QoҜQ*Lڼ1hM>˕_$:[:wp_K3X*8:MG[K}}t:TsJ7lRhkwR8O ^;@!Նnoo] h\ף4M+Г? LtSͭ Q==v)pP~5s^ɍs[gom"^UNjFPq=IV{7'ݙ9X';0?.ۛ@ʦNdgԈu|8ǜ,' m5z#7,qeNU1x)@x6u9MFٴ@#^tP6W$% Pln"l=/rRYit/n+(,6G} is K>;̥|onOQ6SGVu 2%'#ѧҚ\|SGjTʚ2ĭڸA6>TLDih!*m'7)`CAj j;]]5ZV?^N;[|/5`9X{VQT'9\ulԫH=9wsoϺP{1I꾐POrdo&KƤOvQd4T/k$TW#MmW3|UÐ9L(~,ޚC-vm=TĽֵb` r݉?֥ZrMF9 mr#Jv3֗ȍ^ ξy0Ű쥦ڣA&;@\ZqC!FlGuLW` *߱bZ&Zaֹ5iH{/Z)$5[6_)ck[fPYhˉjkzdTgj,1G᠗|%V:RW0v0^!ߧ<~Ydv"6Q\ 0DIAz"[0WJ=] jѻUȾ'GEǽ{Fv,<$id:d'Zkg -٩>Ag1ŅA2 oG2NOu5jL5J9:@4s P}F[/@ٍ@WKOWu]SMu+Yv|F߄5 "TӸk(0!LDT["p } l#L FKoV` amq}Ѻ]h=R~(c6 aP]i3` T.4R4zUZzOWh{WWݶWHب+mMpV$Cb3oj)KGIׂ?3&vciHEVVEl Vl㔉bVnkiIIrhXv;y{羙q8LA%b"IYUi*v 7I]N}9E<$Џԑmh["p]hŐ3Z;<./NsR9MonLЎm0@hh;uJ$R\ ?LQ':TJu:ݯiZkwI/*NZ$7p~z:C3@h\=L ǹ{/ &RE,%f) q*?{IR*H!o`Plq(pf#Cyq*" nHу'쭰=٫6vep'GÞP]娇UQQsGV+WvDx-G b2u;ڭI ru"Z;9zWDE1jo||YƣǼkG<drK"0ZhvUdzC$GIdūh q5I 'oN2h_/^k/C{,N*z5nL{7n=Ь~țo>Emk8{{ lx,{ӹO2<=B%V߫C/w'$瞔/To}j|_n^6רTE7jw z,ļ T)ʠpERfb*!^&"J2X'"R uǐro ~26.* PK֗CovC !ő\2, PU~Vyk/.]Kvjҹ{^4_NXk;i5UU;KU;}-ky@9-JkfLEQ:?l-jk <\ V@2 “mzbg=Q\.̋aoT9-{`6j,\LLۻU=D],y{ oy+G,?A\cr, )0i9ӷJ[vV0U+mwXAHZmwv5o,L/JwVZiޥd2G/-GtC3ޫm SRUVQŵr ZVjuKG i ASE5݈RT.AYjl3Rƒ^mX+||@2I|X5n'1:ًd]%:`Sf%>7%"TլQuCjnF0^0@ 8Hz F`#Kts"$){Y,ˆ-kK2 ,s-7Ck(Ӣxڀߞv$vS׭R. wTqi6:zf闈q{7!jRMPM{(˽T!ۦSg>({?x+9պY'ɽ_UpiLumaUs22#}(f޾#g\TgJoТ-^tEVYDv0Hn;sΖ?vv*p-MYZZs$a{Zx[;foX. N?lcA#ljCs9`td?~f˽o W j7c[g[OokO?tyP{2H|Ue]oO"K#q*w*zNĶTʩHҭm߭mxGgSAEm.tF[pZ  !{G~?z'n"LNѢ7Y>>`As,Y<]d;\hS3Y`<7-{¹jKl:Δ)q{w8n~ owk[ }q78a]V3aǹ8gZ8 s, 6vYyWkzxq'4 izpӳ{h:ZM'f5}ߌCϢ%KD]륚xkM'0υmX~vDӟgy]Mk:q:>uvv[[==¼9 t±RMg,c?=OkEiLiNL(؀!|`F汫?5߫fDy8YfM']1 z^7ѨYD=\w:)njvOχh#;ا)3_51}״d{uwܻᖛue~oqՅ̏yo4}rKDRMA:3x^fV49.B y,'y iRuk)C뽯dF6^i٣xm^3ya?:?L:o M߾2a'eeW`f9ulguSB}׋ ɩ3[} ϋ|~5-<[ds1vt.f= 2YJic-"냢ߴt{~'>z~ >"zf,}/md6Z'#uiCRy1lș-YGVˏWoF{%#J S,f78I׺YF[oZvMRn'v[3<,%#8 ~R&}gy1I񏧄szw9ν#y'^q~(Q4-Q31|f)gL팩фٶ>C=_[/gϹJWRw\;Y*4z4Y"q2iվ"BR&M787H}ِg's΄Ćp|@~eAme>XgŸ~k.i?R/55o]QaԬ/cGdY;x2G_s.g>rQQ{%gӔ9Fs`߮1:"lzi:t17(g$>8!_s͆o [{y`>o\?}EBC|YTI#&%/MH\,\m C%B)q+χ'n 9g#2'*2\6-M`Oj}Ո|g%bӑ۟9agFPpqfm*:=bӻ-.j:/5^hLc/|PS6?dzlw*'t1^#/Ok:;_:~}|u%'5I66m4necK<a:Y٣N_쀦ӻA޻<3eyց䳿r|#sX 'YgSsB~g[~ SQ4Zr {mRcz$WB5x+@u9n, }i p 6f]e׹ wUȯ4c;Rq}鄷3 enZqo2X'溃y}$siSV2A:.%!_~S^XrX?2^J5C.d ra2E>sA M#/y,<2c;sX#Cu]5W9^ ?`Lgilˁ Y1&η\,#F0<>>r{}\[P885!OSC~? 315:8'y}ŌD1x1ΗCq kz [|:( \l`dB~'m({z-97USuy.F릤p->Eg$*LE7fd,|AֲqXtxC $6 'ZO칡Vo >sC E篷Hl| kBڤ_e"N_g;n$ۙͯ09׻ueu'e5-"gMyau]_y w}B8ׂv܌9Bšb/_.vW9ﮞ杴oaF4lC۽8tnxrW{~qWzqɼJŶŞ=&@m d̏.+2_l1ϫvQQ:\[ڦHcQM9*C&T]ҹp]jbj\ic7.ktc O.yY{*)[QabNXR~9^}<<489:i^iOHcw l唍#^Dz,/xn:j_kOb*y.a~7JNo$DGvl53^F~ H=d~n?unRʱVϞV|~V| ) T?J֠ϡge}w,U١熌ُ}Y)sz?]~6]/1~g\f(Wu,GȺRr'TNۻ^v\gj}Z.&)Z]JV վg 9II~΀}g'ns%QÚQ!}Fo uͭNM4?1?h5Iu{Գenu]=S8|H9h}_3q9~Nq_[)"(g[RI=A'*T*Suy Ow=>/{~9}9_+PqWg*.}Pŭ_p6,{9O\->gTNʲZ?#9Rdr.Oi}-=3Etr17S)^CRr?RhW(U|F~ķҵdm3Y^mɹW!y1ħ8s<91v 3s\QuȺy]w sS==cĺ7Lnµ#l5u*&WU%MMgc:w1e6RNAry'dS2rAifƙJ* R\BΧWV3?,C'|M@Nx9eKڝN z_2SR+~~3`ɜ^u3w<q͊1 RT_wLq9[93Q61g Gmc {C{d(]:/f8j1sO!tJo`|LP~~Q[(?D΀WR+Ajy3QF݀Q 8{_kv쁿K+rnko~Z2P߮tO)~N9Q8) ðIc goi]5x rrkh\J䓩L}%sL}֠1Wi)=(ū)Jݰߴaɦrr%pf:W[spy% -ъՏ;jnE)}:yg}R;O9@6Tϋi 6mNh7P946O&TN M gS<N%S[:RF;/iѵhQ/rR>vjTETE4R*ȴk)!Ļ2O Ө=^SМJb/0P9En.#Hs;NF?*i]4&*?x)!+y"Dy]MGH(w;(o͇w¯ &7r[B6ɹU7`^8=7z`kc7`(/)̅ٔK9T8|Bm%e?Jۿt8I-5^ZLF7ūOxI~&7YtRxg9|s?sEpճC}rn{uk辗7aõs_PE?;aʡ~c~D3\N1}< ntИƴڻ8.X7z>[JNKm)D#:̥9ImL ŸqTTϹR}4t)oqjcE*͙4a+Dʏ4 #pv:ߐ/Q~!seɼ-9v1? q~Y ٺQۦ_%ʙ[i[s]"-9Pd΀ϕ:e?Izgjm7eM7|gsKLB Nj3ejÇdU~l3W@tA_'QN 9YQ݊qo>|a6i|QNy:l=jO->)6*gNS[w=4_JZۦWQ)Yt^x7w}pQ*< oh&S ?Ǻ]QxW6\·7'mp[ ̀{d=݀_>]qw᫲5*Y_r^^v|zp?Wv;+t8>JNJb0ԟyT8ꇭji7gp ]aњ׏arͱ*3T~AfomG>Dڸ[cK(r lCd^ķ{hr./[ѮqyGPZY|A9K?6{/uR^FGetJ r}TmT|7|\](ũOqTe179`v[:ud΀S+F|AeKcV/?y=d7+x;C0u%Cdh%2f8!{5Fm> _WD9plʑ}E-M]6)õi_>;&93 Ŏ͈$IumJ I'{a]qr.OM1K7U}Ƅ;WZ[(go njt-k\BP˾z;o{=N=j,I;(%F[T!xͬ:ɜڟ+yeNZPa9^x^{slwg3pb{9@p7*|_(w xy X%7 + uYnx[>kWe _(;:^E;Ɵ?,u[׏+YM*{YH3O ɍ/s(xyrBTrj93nR^[í{wmzg!G8A#aw9,元ZK9Yȩv#5xL]WUj}U_Sx ^GN^M92U K5m5!rʩ2}Mpu>9"SRrO{/(K~8?ZP~3{&sߎXN)ڰ{~(n+Vyn^ya(Zy2ǻM2UfS vܴ~>OH+~n섲=GBĭ[ENm`kKli:.>rd\OVߕ)JklfYLsQ9;[V7_w/>73 jwF}ʾR^ʯ8) 6S cTJ K=Wl[ʃ=13+Oʳڲ~ɹq|LƺR9EC'ǭ-É*|wf{5'Qe͝ѵD90k_ RZ5mZo'mv6b3޹;2w&kT~^ࡈJ x@8H>sG!>rLcO=#ٺ>ch`7"{x% ƞ~0~ak9K(گ0CM1Ms/s+y=W4rX&0MjXF MsȐg] ƨk%Fm#njh4.a#4C'F |(J`%X; |0 t[wGs~0n8aG 7?5ӆK>ro=½'p~(Gņ/Ҟ>T5.#3*&]h2_1+(*cMƯȭQ&m4Fo̝s]W̏6]rr%d1 xtd;Ǝ:Ab %ϜXӲh՜=ir?}7~CYmaGFC]e=G3Y3ڇT7[%>Ot#瑯+RQк5Yu Ski֕j>!LsCIcy^+WYKVӞqYoUFWVcZY':-DgVeG,Ž,xyY1nkz}Bk7Q̓]'¨W]˲'{-3MN9ϿPk{]6u}6YbNbst(<(7^Cw>C(( bOh49X[]8'WAHqv7XįFk$?gǝRala%(0a;l"?]™@ \>zz㫋+l|>.t/8{6iz%?,JɍnnRA2ܨl7v2WmQK @սnP#w}*J/~lY11My??>9WeSbNfR}ǐ_G!stAU`)r?t3 c3)tu]ϾȆJKҭa|S)vJ` sH\Z}jΗ )~Nx&n-aay8N\kZU!$].A ivc/p{|N-]Th=r>Z͐Q.U㓓xezZalZ)/W2}xbJ7C+3f\ht=ݞdP^md5sL`̢וCZ0zg,hszv]YO0`coXv8@mMlVW$@; |+:P >!gMg&kxdD@*R, ;ו[iR*uR€ȗo6V*R, ufZX 5L:f;lrs  ̃7qopzms|c~4b %1Mvi&yր)}nщb3X92nkfP(ƀ_pg|η0zMS#jO WvQ+( ,/:E%G^\ .M ]HuíER*<5}4 jc[Bvm(.I ـ azC_z !bĢ&ؖIs<f ^@e2>{Ә̲\lGu}sXAfaꦽ*R :f@mG26UVhGMgnBrY9|8`4g0M(kBd(> RZ^IQ,B`RevSR"oزG!($Ϗ^WK?l,#b|.,wnvYF.+eTВg }xLik-7zǎ -\?1yZT+MSQ@ֶ(֌n}3 WIP7WݶȊ+Sӱ̄41dX$KTk~m 8%[T^q pLc-,nU.fV"CIi^f2x~ҟv2+wjIIAc &^ 7#ըm}k|~Y]hEuKaC:pKt!>ylY>3{37r_o)*Gɩ}8Ycn5P[={vve~q! S+&yy郺21jXc'VMj$uS03p|jRpuznT@rN4Uɣc'^LQk^RiRmjD+OE˓sel # Kb7-3M@J+)LM&4S-NJ~ l!֪N {z>͐)i ȔqV"}?r K%t7zt LUZ{IuDN è?]^_)" 5GEǙ6fWr~[=-ڽnK#GM!bN{Ș^m|f Υ|x2F]Ya 2|2_*s{KeL{BK+)@2伸tl]ɤww$אS鯽 _btcptrace-6.6.7/input/README0100644001217500001440000000021307242307126015065 0ustar mramadasusersThe files in this directory are just various interesting trace files to try. It also serves as a simple regression test for new versions. tcptrace-6.6.7/input/all.snoop.gz0100644001217500001440000005000307242307126016456 0ustar mramadasusers72all.snoopyXexATFPD,pXTTT0DAAٔDwĭ,WKޗK}6q] 7={Ay?uls?3G o_Cfoglx{|g1u:3n[ՠ~6ץddd3֣ "GU&i+}1?ݥU @y֡U Vcn`bP&9%3ڷiɼJBhdW  伝yx^f%m :6KZGpL[5EwF~o5z~i)K6Wj F^R}(=[9Ow䗏yH\c,X7sȼt>Ƽ3}v3y14o_o%B21d<"0y J]HMOXq#e}`VJÓ ͺ8 '`},R>MH'[(|EVfy3o l|9N*c9/w}>MC/ȚN]Wc0=E'on_&r?0-W(y 7.>7Wϝ|].5gF8G{{Sל5?)c諭rW9j LG>\񝳳y|߆lxg=cC#\N#l\ 6M=G(yWF(941V2</NE;탶~7 Y0@?Ḳ<G!gN;rZK;RW5MXD}?+˶ld[OOڧ+=lIA }(=R_j.mTG\? c|ѾvX_"ڗ_O vaܾ xB}W1̴`{WcB B U_< a4܏B\ bѽ߫:m[M&v FslX>l]6;w4̷q6?F>^.Wyӿ_DXE#kazU;܃ ;AeAkDw%Os.}JUyԳY'#0]1VTNV>9kO{~:짐/ abЧ\%pvdP"_s|S0qY_p*ͻYГ\O+J1 gt?u_E>R>g+?M$3#ӠGF򍠟8q<]Ͳ~DԂ+('wϿr,2oY鞊}:4S\qۗob}l_jy,凊2 fRO>y&BOb<#I?IiӪG89?LY5c>h9o*$7Y~DJ ̸د{XWMxy5.C1|^`UK:_t {/Fus~-!燉~(^7ɉϋ|bM97Lj|EEpM,yU~}Jg TAzfrA)Ѽ1v kl'اjBop^Boc}8/QM'gwy6dv\FMz,}"n Aܾ 5~%6 mb%>وL#Ȭ*D{k5G/^z{ί/yB<*_T4x>1ŋv^&7Yȼe^2:-Vo8zE)lKDO כ4~j/{ol/(>=uZN&:?UK!w3UPLX6 6͛M!yn#ˑY u?uJFwhR48v$ޏ\h/k7ۦyŎovW21So4yA Mʡ= o }vk}̶nU^l6Z{ӼKQ+ 6oU٣g=7Owz[9}6 n_HIy(G1;w-gW5Z!VMv}ƾм;;>8Q[7FݾF"#xU-j%ǚ$~;[=# w_%sk_jyo@/>d}ƾTx[_"w/_~S꼽D|y'-[̃rE^> lKT-WRLߕ'Pn=267^yo`ھ}ܾ\> I-yk݅|/MC3xⶭ-q20z18_u^Toe˗WBމnu`QKJ6vՕ@zm B^Ч\V{԰;PW9ջWK[/n s=مWy`,4E}Dn|>^Dmq.extylOvZY~G?PqQ>|)dgYO_o#Cwj찫I?kn_6?|GSq3Ya<;m+g3G6gi뀹 9]>F[_|S0Yo {/5y9l|Q=&N~Is}Fwub `-/ȿlȿ|?I\aJ9+0subޯ(.q<}xˎA~-觅oҼBe|I%}-zGà~'Dy I~w퟊~&š|;<ޯ"sl9?f,SoCfD%lN[tBor~g^ #~O~@"<1Oggx]wQ<Q5x~=SǁwbR>QiOyuBT pw{/WRE^qПG,EgsBe[{g|]HmQKd??h_.-LgƼ GGw~!/D}-}!L*G&¤P?Y/[1y}ym`e/ow*`Nz;=/&x '+Qy\*& }{&4]D7=AπU^sоq%"o!J!]=gWea2FX: h.[n"* `*;n ekR/Ze)ff^=<{n?4gιg_}ơ<"~Yy"ZI5v~U?ԩokmT D!#m6[stP#a΋":v4S 66~D9H__b!MIw 3}49l dRۂL>`9E /^A_%?%#4xv_*R|75AO㽾8x~nw;f;"^x@m7ʞN;!CAH[!o_G" 8m`Aw:mRWBw8;v~bS}!j>83^Am8K/"޷_gLn㷛WY Z}{6i*/ 0^˯zxO W }C9jMM[ A_H*#+ӷԅOuD_iJ+k\GQ\Sd џ|,xISK ouW ˸_`b?uFo`bnD&_<N+ /4/%c}X-=P+O#JrnA{(_/y2}D༱>7o,ؼG+51HP)Y.BspU@s:c?gCԳy^r9pGl_i) >[bפew}t%:7{<{dC>^jn?S-_V^6ż{ oݑ qk+{SO}3A4ސQuͿROǗblB{MJ8{;b0F{Np\BŜexϽg3)Ǜ8Dsx+`Ż[>-MwozOOI 2SڿϺO=C x˝ŅzwgW?OZV۾/8ҩ}j+$ˀJr2p-Γ }lWd3yt_ZвNp~A/6;(\2 "^:|'q] 4b"zROn1)_67xja\) r7f>Q <6^Z>>Fo+dV]-79D~Zi{3L]AFV/ӿPM}"!~?[R}q?/L&u._Qy ۯTQk(| |ey04^A_=F{{SL ~z25+OH34?KCrsσ0|0 oFo\| o[0hʿÓK2^ oꅔ,gY$C~{&!滆bS5R5LmO䧫}4?b$~{hsxޘ<+SmYrV2})˩p-7Ķ]/ >p=7}o/ᯮEyQc/yaV?!la>rrSk:c|Q{K' sx1UQƀQ7~T1^\?ȧ25\QEe<=u==^z?+î|"yKLh܌YrIc/N>>D!Ñ}L܇KÙel9"ީ}Z~Jڏ5Fģ:+tC}b%[+io~J_U.Mﯺ(B"?`j> Lx#^=& 45W yd<^sj9y#>P\bpRx~n$QxE/ex^Iyx8O G'uLw⑿'7_%Ϯg0A`(ݏu#Y2k@c+8Įl&Ǻ$c/ =4WP["cE{:('lpoӛB~SqO#@IF_"^xQ&n߬ov@{%q߱{xDw1?U,ǡXXboN]ˇ*&~6gw2~7C?I5##ocxi ߥء7SP;rLИ<{ތ>';>W$__4"}8 xfԘ@g>_v~ (,A4=q~〾$cT"~LGv$Y`*/&rgnVz"ox'>n&h_~};Mܗ%w.!z%VB~x|>Ikๆ.mH=}Lw=,b|? V=ceI7_)y:&}mK a7`T_*#ɏ1 )@'\?BpIn7ϯ5g 48ޙRu;>qr.?8 18 AԿ}I姳|J|ƒ|5aoeO9{k=ـ׆ƻpd*ٟR}?Gѿc;♔DBWOWvq<9ɭ|>Yr"81RQZ@ޭ|#_ kU)|Vj&K>aI:ӖfR3=~6Gi~o '\øzVGڛ|4wW]X}P&얼x=8ۀY]r! p%+;h/Pjg1Z؏0oo8|+m!P>LcEomp/㝲iION__ NhױmWr[пwRlo{'Dem{d ە$u>V<ӛ?(i& وL ߳S/?B3T;x_"ٍo`E}ȆGߕ(!^vQQɿ<ƈA?}G.">S̟/Y»E3s[][OWiy)hs2z?a&\{z4`Sz}iՃ7/yx"[ (Lg(G\~g*rAL&60+3UJ AB/ _^:x>!LGA><)πf4vFq0I%J_˾ ȟq8\}@p. &po?|R_3WNBe̗OS G8_Fڟ_@Mx4~ [C_At:0 > 0<|լb:W\ĆYO%#R?4~w!|x<{?v_l~>-ŀ7m>/>|I>bWU\n  h}Cp6vL_KU.D<nV̷B"1_wӿ -l;K/bQoa}tEn1oxofb+7Ċg~(_tb|k>gsn0~R7xL0˘ D'BԓCKUQX>R*7Xxyuw,1?=G)V$i_fzx7X˰sgßΕOo>ňx$rx8ĿGԫx~?/gƥ x%{m:x a}=x+=XDXJ>"}q'ޒ} $HXU2a>}?\qBO/Sy7#&?2 \Io߻?r"/k5p"H&߃zx ~!4~{kjߌ:*b/_a󓣤?5!}H 3Cn*vuZ] feoz7=MK5CUO{=o6+a^%"?h* -Lzy)w 11g7 =޷#;QSC_v g|r.E1sOؿϽ=]{%3 q{3wݺ+u ,S|3; _rv\o@ bxf̝0Ɖ?]ŸvڟS}8mhoD- *"D|4BwA6aKh5_D<&Lq! 0_ӗHFQ|h{|yjg._|"}^#ŬI_u1_xTY D%0ȷ|u;jJ >lL5rE k[4Vx[oz<|m~|Z.߾Bokp^fZ⸳= 1o$ڎ>%o-fuY(xJBq73~X^*ZoʷA"rj&ȯG ~'%ŏR~>@7/O&Oy#yTWPiq9W?J X#?BWttYwH(J{݈cPiwA>َG)`3U?Ggzq c>q>M7!k,_ h7`/Snȯn9%8@IsaG˧RV0K|]Y' ~WZxl.+caS!x3&+ȧ;۟?2{H¿}k"Jh! / `;{1A?_^}Nߊ K;C?qzbJg$ڳnB>s L8'x9Qe2*O%lBPDaK~gu cV%SLI&"_I?`cݤ5ǮzzlJI2e등X?kC"^?{i?b/Un>S1ؽv!t>(q?0O@qEOQ:S?}֛{dLTF2@ƚi>wrF$ꉾ(_+R>kQ! gm +Qjx]>%gVz=G4=SC+@ ,3W#a.X8~=E ^ Kҿz6UMvo\| c8;_ދۺmoy_g'0u `fb>Y/s6/[|S]'ks{B7d4<߃i׉|:._}2xV.ߨ׈4 UV'9].èmv_LOROiL9*a f7l0E;״B$ޅwzI$p7B'hof/7/*q}/ o6c}@G-~@|9߯]wEFJ"/e^ W |Gai/сo6|^bc,Z/_⼘WOk|["ymUxVb4 bҿ B񨺈/~c"˓sȕv ;Mb?Gb? ?^Z+|O)Txr5}E6M[L7zyc.w76)V?c /=J%5_#Kҿ^zǎb&;{N˦O";q-̧}|dIJcޞ?bIq*?h`xm)iqݏKH} 5of>ڈxw* /X[^K(hXs+vQ϶ Ahg+𒁏x>EċYXoƏkxxRG_;NuՀXQr~ -{xuS CECSK ž1GX3<&=oQejCF7xxuHG{gj911/? \6ojAkT?\}h `0@ ~B0Ko7D/+o~y@@ȧ[QD$p j7HB"_'׻0aOWQ4/LWaͷ^֎zx,s}`?g}c %%4M>yT;2ZU3䅠_ۡNmǫ8~-PvC9>TP:oA5j/<DA;;W&H=' ~Y_%sY*8?woC#ǛHY_W6Wk5"ޢ Ny韱?ۆl~Q.Egs٬y;O| KǢ>b ~cidB2._!TV'5#ߙpKx]o(y[\X A1_^x3\W[zz^aM$y~,UɾEz8Q]G4L|ﮆ~WnOIfK6ߢM"|뿚ĹkzUW5"^{?gz{//u?~:4UډC4!oIܔS_WӑX?6Lc.Ooy -_%T_ xo|+}0ӛAƁ,@V @Spȸb|w ~U\|jeV6_`APnENXsnIC}ҩ\z^#/Ñ./ A2J]J俜y6qggM@ n쯗*RҞ0GpD{[DLRۤW~zE`/ݗא$"-/{;Rwo`/H{nh뿚8~ި43VqOqWxA,n9b ^黂|I=e382*Jj ALGgfHC*D&p=?|ȥ>%"2qt`a=߯o,,t{ux)qbW=D}۠~:c gr QOoU:/w4S6xt/wt>Rr5a/8Z/^۰u{!kx#ў9{ ߰9oPxBiҒ?>]e=Ƹ[~hdei-_ӹDAe9~F3ig x_t׿c(׶cp'd_4l䋨]Wbn03/@_#]i<|{Ezj+wK{ig3Q A>ك|v>-+׽~U~70Wʯ\.'ptAR77`/y8s^AyxzANҿ4s34Kī(T{'k[l\|?﮴^)ޅ|~1ɽ{_'͛FFF|NJ)GnM"<.Q`^4^BߣZ6oPk]m {^o#Do֛&HOxxa<2|Q c~&Wn~| `V_m {]WAw|'JyhU`13Ax !}8:x߻}TJPre c0|zw/gV?ZxV Pmg/yj:z^;Ј/>ˠ_,!`b{Jfsw+x'.#,/>,^>906/fI{HucL! /⧙w/,0V~{w5xxl|ë!S%'??g4bkr#i<,O+Ok |$yCc?'#XI xi// 2Ct cp~ >&֛"9^Z]Śx' a3HqCz;ηeN-07`m)++G>Oת,]~JWa\=u`?>ZG3D%U;M|O9F ~m'߬JOCi~~vqt`A~jS?%)߯ǘR~vbF}!As ¦Mўq/JVЏdk#{o<(?cO7ZGv+H1DË8,Gד<1e؟7j9ծ)JDm9dI0`L>2vu "_OKf%kFg>u$W"_N j8OӬCܡ7ۋp*p?g/=t{i 9suCG ?يPt6/x'x-eIf%]_(uaWE>xpTZb>mD}}7I=_Uk뵭b 9Bﱾp?j aI Jl<cG~ fR8ҕ$ϻk yw%Z?d9?il9ژӛu~dާx"yy/i2]@/$grҗNso?w5_CK՞/~O||FrX3}֛B!4qY"he4_3sԿ]|b$پx=nߢ.c  S[>.#{xk Pҧb?H}W@<6ƋM[30'[eYdͿxpvla,/^&elrc* >]$L[oub?s/=oxͭ}?G+qBg>(AD/_|r'`m1=˂@̥4^j n.qqKvoeW ,Z߻Gxfwv>Z~3 42W뵁v# ʡMlDlTזxug̘G}Ao7 d~z<џMKe_ LC)%Q #wCѾD>{̛^}R pdWl߳>oG{W.Y$1Z`c(WH}EBJxW@Π/wuTU ױsV6UYr7MV¾%}m4Cہyj&/#ZI1rZQ? 2=ԁzĿxDs;zxN sS0() yV xoo&WzW'`fGޏ!1_2̗~7aߋCl}> O~Wy/!ߏsOuaV!f |R3|j8J"6f.懲4<> .k7s y||A> tcptrace-6.6.7/input/atm.erf.gz0100644001217500001440000000055407717464071016125 0ustar mramadasusers@=?atm.erfc_f`°`* -[狛n4\<5Ŋ!O?lg| B.*}ss 5 p;>@) "qtQP1t?ϾS z]v4YtI~ UgjrQI&If??[>e ໿PT ̕SHr,u2]ԭ߾m?EciK#[˿u1_+^l>Z|6ߵD=lZGkp[Wۼvqk}Ov-B+ӫйKn{ ջ l(on}<ͺE>E۵]kg&+ͭWZl-ai-\[czp;G+cƍ1o.u|qu|-%z[Oq5L?3aV9sSR9|?Zu?a;6bܲ%Z'jٔFbkSo-m˖H_*cLnniIָ'| e|3Z5n mjDZTlM([r,+xR$7u|U|Y@[1n%Zb+mZ}l-[V|W ;H>m%=Ssb$Za+mZf&ZKؚLo Mm[ Eshaaب<| tcptrace-6.6.7/input/bad_tcp_checksum.dmp.gz0100644001217500001440000000343207242307126020612 0ustar mramadasusersd9bad_tcp_checksum.dmp͙;]Eg%ō"XgM9s7ސ"AP!i%R0AVI"(1Z)$+K yf朽.{syo~uge кR;PwW__YU|q®/m:Ï՛{;VɻݺRFdb޽p>$+y?&wb3_ʧ}t2k7rųv} ȩ$YaG__ik\G=O|#>C\O\瓹o' Ocƿ$`+1A@=}ǰD##7@?n/^ a }T$G_8OcT3c,KWN?p\]updWo͒}w}yK)9ڵSj|O)rA\FL퉤wB:%wh? (c;V/_UNu1˘HG ɱ03v'tTHnF!` @?#xSa>2ODQ?F?xQ5X;L<=>2e }9D䮽7"NcA _OO3/2E^=YN+:q)r枴'+_".o>S#:wz"}_M-L7j'b9>[j3Vva)l&Sӝ|ئw`yw+ܴ՗ϼ8~?#3It 1lB9a;ݳ—;OX%vֈ!o兄r'VQo籈-d뉌` _Pu<>i^!nWr꣟zEߺ|U3iblJQrVƿCX`k-N`U)kX!䳄>3>.*-zo:lt"L+$d;YSCN;vu X_;h9,7L~tZP9wת[25ksY/.`.ӗ}oy1p*~Cr؏bla!>LTa,X3c߿2s+y]jzO@-B٩Zoߘ~p?|GGab hX:aCv䴩dDs8Ŋ _硿9?a7r̯ռ{u嘯FF03Ϡa +  Cz .4n^J3O_rW/1]XDmg%5'kxF 0a^㸞m*\gU"X!~` } iq,@sVF0XE<Į>߱l1dA|s+<@?cM\zL9;o>>rw G}c?*4_0c-RHұٛ8E?>g;<ƴg ,Icrm"a Ј.ȷFd蚄X+3A|13tm4`1ac*?tzk>mtm>e83ͼx7.Ƈjgx9K?S\쥠s(vphߝoS2cy[@>֋+OG_y:*tcptrace-6.6.7/input/badsyns.dmp.gz0100644001217500001440000000112407242307127016774 0ustar mramadasusersed6badsyns.dmp[&wrf1" lEWl/(WiF[^;(劤`090d``ba $4ٓLA&ڍ: CMe`mY49 d1~ɹ ,ql2yMN0L,;GLVl:a&0A7Y j2'&Nd`c[. 2dr] &47d:d@dcnBsst] 0VLa4w-(-wQMd n;,--` OoXXe1G'nIY{T]0l1gUowWoܱJf`9;׃C3o75<¹ @L  LD&?RTAOԀܡЈꎇZ`wH,R;xk 8i?qzl3=b:y/fL?z ^xLj&NLgMlg S||tcptrace-6.6.7/input/chdlc.erf.gz0100644001217500001440000000025207717464071016414 0ustar mramadasusers?=?chdlc.erfcxڱHؚутр^d;0##5v "J K<[P~Zexk1ѫv -uS[kE-e`[h{Ց0VX`DX=eXW8񴢶lleƕҴGC8p6'kD\yK ݦqj`pEǺ͙++&`m%tmXݖ>zpy;qes/O<-G >#<]e}V]]U65VRX*֪ժרQ+v7hبqt͞{yZym}է|tpO Zr>y>e5`L.ԡ(Msuq]^ڭ{^~w^ZƐ7z^m^*uGj59:l{c;n&J"ԫґj%*s-NM^u+$}-({kZҴzOE,W{Sou͋DXP~ U2*&k=Nh6*:c3*mP+k=ݧ":1\}[zk{'n5zCM܆iK,زV)[**gץþ){Tt!{>þ^umZG{ɰo{sȰEfoދ>qb6þ){37y \˰o c7LYKGZ ~zjqދSðo{{ ~Ua_vw66_g[5g=þ){ ~^av7=sb8v7FobZzvzOҠ&kd{/鴶Ha-([O*y=7se^i%a }*(2{{(yO&&h'k5asxs}r ~θİo]>y4esO dz ?_mg1ZmVVSm~.imqq;~M(TȰocO أ) Ϗ 6?g`aW `oLٓP7k*݂qŞF}.5,?ghEvh@j AVA}v?toΰ}gK`pa? g75,aAz^Sl^e ZbG `KS ?1gKD.þ f5 ]Zn`؏=o4|B 1~>?Aw//4~nh;+k3>_%QZMa:jS*g nqͮkWh` ?S|ehsÉ[[$kQL7)^yLSA5|y?hZݒ:{N iSӆ+yPþ7]ZVՉc){1L7dZՠ.~CVWv?M噱`ҵ6NV ~~4Þ+u--zbikFн2eQ e]@0ZOȲMo1"erq?oa? ={N{639`BƮ0Of| ~A `:b/>/ju2ehLم\\g2L']Ͱ_{e2vp S*U\\7f3ZVdb/E^%Sv!W}+~ ]ڔ$(w~(W`?'B6{bz z(XqV7U 'έ!O@lYW2]GW]_$WGsL6KSv!c7rNN=Kfm:_zr;`/Eم|oj}a? 32#ckiv.KRv!cW ǶN)y:3/y,G^o+_0VL}{ z>+t/N 2LBiuZrԫ0Sv!W3C>eس~JfwN}f Pv!W3z1?' a|F꤬#@tav?. M {6Of׵䝺??鹧`!Wr74~;}Zr9'c؟ez?İ1GwC<B^oϋ3~TfO;N?s{|B^~cIX5}y?aZw~aNssv?sOB^G ?`?]*Duʶݡ;, a:=evG^у"`B~n_zc/kv]+Nߩ{ؙa;ek>E`ϔS};1Qv!7|V/hFp;ӽěVWUU:z;}c@A7|E0Wkv]{\|F}BB݋[Qv!7|˜}=^3Z>gAYLw:'9c{.ezȧv~\9_°1ed~e;ðe?Po3}jh*Z=BW[`+_\8>]zC挘8ݣ^σ{1Z݆V{d!8j5 ^Rv!WV vͮkf {Iߥ칆Q,.s ]P C Uihuz?x_hK*qimЋa/[]<~;ev{~^4(ʼn} { oRv!W 3`]~iO{79|kYߠB0]fwdNKwAr`Nم_7,\~B_+BtY+Gj:ѪJم_7P=6ݑ'Sm eް_eZ/ޯޗCV *9g %.d ~>İ}kv]2Η1`ϡB~a؟}سczCEz)DzdFJ"'d ~1*ZmLnL-ҋ|}e쫷cQfLn}\f+` ]z~ǖi=!cͼ *E* kZOV_lde2v?OOc؋}kv]:(B^ؼb؋=Yf_{Lo@yBoX<Ѫ:B 3ߋVZ{`-]9aÔ]ȩy dddmC]83^&' ~ޓhVZmiae= w쿺f5=sc 2v?`~YAZO՟*Z"kd|q(+9ckv]K|5ao ]|<^e83s)h) (_7k2CNF'YlN$Zy/ 2ܷH( euTYٿ㙺7) ~G3Zﴞ_|lB)h-$~|_%wQv!c7g {i/uͮk\m; ;)_r {/sю`;(+#?kM b V%B=HK0Z@t.d ~e$2)+/N2/}e2vsS-m\\<AEVe5!~̰. ~Ľ-umi"}o`ۃ}3erq~OͰW2{i2z=*d{VFZO'׋Ypgӵ>;J`OB.n]΄`ϗ٣"wg;}eכ E[O54r:jtm៓ΰw:. ~a<6)"?|Q+NEF.*rq?s+PZ}+k{sиK`_Cم\|i?wa+}kv]I{] y?y0a`Ff'n`Oxs}@2^w[E1D3=VYxVas?Py?TŰWl֛Η5K+)p|o bBh=1W*IʑӽB@4k֗ 0ÒP\Z,/g_]1Dݑ춱^e{.fz[=ˌ|Q^CV\6ؿB.~|oX=硨7;mk˸w.U#I50/ r-ф`]N mcpYp> BoX7fzB.͵BɲV\7wpw@F= wd캶-}{w> 3`XfwN3Hم\\a?مh ( ~jh >P.~h. f؛Cݑ;6w=ϠB.swǠW+9 Ʉj#G>اSv!7g7 {35-Itn>+` y?.d؟D=k奔Lo@Urqt Fj'V;C<@*k9ggR1}اRv!7g\3qשlv=#viH"*1֡ GѨ4.{hv Qyz^w]OunH-h;]?/ cMU` a tQU= :`ogƷњxơ7JD7DMZuDnlܢ.jkjW(<Cw"csSy1ٷ[U^>4-zC&GQ~hUZ6cj:N{.֞[Q a]nՔ͙?JDƾ<[?Vt=[)Uh*{OP־@'f_b?{;eO6Wi2hv[w/ыfEox=/ao &h„} _"c _us_ǭ yW@V{lZ7h)jEnƒs4{3vY4[}4En&&d#=aܜ:Bޢ7̬H}zu=[y9eHshԪWZ-Kؿ{3.2v ?/&fi3g@ɇJ:0AUJų~M#:} kvyW{K7gwgГl,7bA2{zHBSl7"BzsP'ֱ BYC^VMu7#s^_=xo5F[? 8/"az;(2!Ԧj>z^':>Z=ojc׽(}1au5;El-N:]d~惷{[>o[ښ]B#z Q'2v ?acUmS+o K#~^?>"ce {gwfyEoX'7(2v ?ods@V:vڲhZU"c_;LC^{cW=}ثiv[CHWU{~>ѓhZ=cjcיAlN¾ U4-| a]'xo.yy#$9Ï.}=뭻yҢ9\Gro^do~}[`/EnJl]^o+y]iiv[i6LqM"zתh^[E=t(u}qR{\y["ZZU0gjZHo؂ޠ%ཡ5{~S쮳[ͫ:u[]d ]^]O}D~IS+oM,=.~{i.zЏYx Ow}o#]~&gjw`Xޢ7x{9;} Io؉ޠ!%alj*뉼^Ve ް8a}7Kjv[@?:t" s!~'_D/,I.ްϱJz"J6z* O"zڳg=w(I~^ 23~?<݋ivy[lωw'Xy'CҦV3K҄؋jv[y?{OG]gxe}Hfk-|a M#7v.!" zP-|4 Z=djUc}kn#ZV]J&o {h$"GE^)poIe;^'2~)Vh6*ijUc9q~I]dN>NLN[oq쉚]$ۻ?`~Τ7ޠ=%>xoγ= Dn[V#U Sï-bj3Nfy\$#^d1z,9{/jv[ zQ'2v ?gGAbV}1_M?c"g_ L:xLgg=W)I~~=կ]Od y}UQS-XV#~frW1`/:")4 Z¦V[<)Skq 𳞫$2v ?{?ykf{ziv[/zm-}ϾRL[<wYξs.V.2v ?q`Ogw>mG/bM7 "=d_o\[#Wݢ7lg\\${ٚU:|_ZdsBܚ]}< -~a_ _`O" Ȯ^'2v ?_dgk3څo񳗵Vד uiv `/:'Fw؜l jvsl,ۇe"5ُ[@{HoA{J!iU؁VѺŃ9.chU4wQ(N=C]dF'=+ًv&Q`E=xo}s^.]tsï&CZ]÷JZdD8sjv[e gwY=Iod[9}*rz"scD)nCd/ϕ `w4-\O]3H8&ߚ]~n?w^.ޒ?ǂfxg}lۆ^] <ϸ~NVwZyxzxY/J!쟁vv_D+7Z8E.n'rU]O~؁h9gj3uJ\.rq ?Fؿm3#9`E.n`drdҰ K],rq ?Oef@+ųVmO.rq ?O$3dr-N.r{r?|;]D.n5;gcj}ޔN]~\{nvi3Jm䬓`?E.n7ׯt*t!ŹV VUsNwCs]~>R{?ԟ%ךkřncOq9{=W؃[&zAŃeD*+Ef{wPRD.qq/UWW\bqrphkN"7B„EsE!z{A~J!0R>;\ƒ>&dޛc +3ۓ{ x<.{fDZ}?뜿9`ߧEn_`f{k#g$%WT07{z"D/S+oHՒez~Qſs *_gw}~r{I[Y B]Ӌ WVS+o mmAN.rq ?okG׀?|ab>'k~dc`?v.2vp[_"rq ?hZ]4Jcߧ:e@m]d~&yA ? ]d9ٻcExp? $ZVZy_RZ!BÏ.r~{ovי6RN ]=Fn'a&z"2!>/Ѫ<ڬ\<㋲s7AV0}n _~4-\ LR%^na5-zC6VmD.n*VL9>c5a]~|_]g>_:sl4=(Ed~hz"sv&ꬩ~oIJ }fx~n3 F]~%[~dw`YWj.2vЇѩzt=[r6h{Z?Z: qdpU=W)E= ÏݫA-zC淤^u[,[{yo!GSX lort 4tF 2v0 -D.n%, NZyGN,kv[CdϡsHYvasj}fϖ"{~ğu#3w66hvO }^6ٽ#د'z_"2!!3\Z}\<0!S+ow-~5Ń9![3&Og!ay]{CB^}ԛؑhZ0>C=OF~>'# >G,;'d>C=P_i?E)b˰y׍,]Os9zZeZyg;kBŲ1gjv[5{ ~;34-\nzu=e l/jwz֪F _hv[ۓΡ(e5_"r6hZ},ϝټ'S[i=Xاiv^/+}?lv,jv[y/8w11={eo]axREԛ,ϙl- h*5 ckGhƶ%~n ?9A"ßu4aBA{>Y\ܢ7LIEIȲ- IhVsr۳ٞfg ?L+F{O"Rv/`fUL`E.n֜#~?9A"˶Fvfih*ckZmBkv[yws~[Lb[c{gE.n"c㣪(|gГL Aj2HD*%P"4HЅ E#ЫR(DDd1;{ΰ^&ks>w_OeD_gV5q6EbX{#Z#˽Wtc7 |/"4OyD3S]{p|G[WHm %(}q!:jѪ")}q~?h;Dת9Uwa ɒ]wwbyY[c/d''Iv/6Dg~7QSz=]Gڭk{gZ%`OJ_ܹ(Aρ}Wdv|^FWO'~?E J/u{Oe1Z}k{v܄ӼX;#Z2eat/uPzN~;t`_ޅS^8ɮ j3HWo̧ j oVu}qvW Tɮ jϯNP7k׈V6]`_< @zZJ_|0)a "Y$NL vdW~Co̧sՉVV]`_B+}YCf=c_ޟԆa ~Q7 kVá0OyDjUf[$k扄}؇Jv/n؝ξk· H!ٕAm4at58w8 C$c7 6G271rG'{LM@V?!~ ?E J_'ɹ ٽ֕YN{ck]Ԇ"RUOaZ׵Zta W$7r^;X 8,ٕZ(߅ ɮ؝׆gy(A鋯w"o]v?zHjUr3Mh5@+=v~)j4b|g {Kv6Tag ̧ŝ9?ZkukV!dW~B}edvsw4`gW+=v?7N}ƞ}S{#6LAmwAmSSUoO 9Vu }\[ĴMاEɮ ܉2=K/H tJݠ6tg\BdYOk; /2uq ܯa]?1ٽ֜CbrQ_ ?-ٕAmXJ|]e>/s?ѪZk{ eޞBS]y;/* ٽ)w~ wJ"`Ogx0vaOJvnP$~?;AJ_&ZVVOc/6~,ٕy:{ 3BwJ_ܠ6\bsa!26 D]؋ uVĚ9j:NbwaCR6lJ-A2wآDjPg}lz6,Emwc߇Ve>/±c2V%]Z(uedW["`arr{]6~JvqmmA-GGe>/ԃy-=hU ZkxRRU%+dWȗ?YٽVCy%,%*}q~仅?[S?g=*]j1߹{ɮŝ9^3#{8l-+iC7dWzc k.)}q??IT]Kas?$m@>%2aجM`_+}q?Ty3,%eܿ&Zu+V[}]= t͔,!kX¾M%7\"'gv߷@O`g^ɮ jdmDS~@t*o$ӆo{cɮ <>a 7#{-Yf$ڰA/)}ukB6i'J3G@ V}{c7J_k>>2Z~^>{Cɮ -W8=0w`o ٕw j^6G}՗oOvVjU[cVY?"7!7a쩑ٽ Y}7S^O+=vp ɷ|J_ϧX_kV;a u$7c`km$9}`-ٕ"ك*.wc¾$cwwsY/)}q~v?IFZU.(.ɮŝٕ}NsS>Rg~\Ϟ^C+=gWY9|e>/._AUMh5B*r|v9_NɮŝUaٽVbM֣_dW~70 hp# 6j_SzUJLZֶd-zpa?][{]Ɲ֖8]ԆU^'ZՃVCtcNksK(+Kv/n`ŜF5!~>?E>/n46khUQS˝y ^׵ k~I]9aotTū=/eO+}v|7SƾՆo(ٕAmXf @Ot 콨F]y؋ {>oD|~w|J_[< _Jʽk7D{yɮ jÞy$WNS~_huk{Ba)J_6ۋ7^`#;+L{ɮ |57=c?Ғ]Ԇ_?"򾸁hFZ׵ mեDU)ɮ %o ~:{/>_!/ٕηJ|J_ܹݱ1DKV9UmWJ_{~v%q72!Ulo`U+}q~v#G~{'pA/)u\ܕ~Vd>/;rzZ^./j&}E%7s=2c/g{N7fE$7 ͦ|琯w1~WǜU hK*o(kï`/$ٕے@`!2"C/~Q;tgfs?wKd`_@'ؽ]{^>u8sɜ/s+ٕ_#)lnDVЪU}RMeGKv}q?sٽ֜0?N|~ypЪ̗s[?Oaw@VtXCɉ{ΜTtRc]_yC~ano_Z$J9ol!U&Zk/_V?'8c]O̸V|j|lו*ek9.M'Z-VtfdkbUz*Oìo%c7O=H[hYvmdȃ <8h=&w :5R|!?_*Ͽ%|;l'|uHuʙ DjյcZ+u?ׁc]Uθ9R9seu`r(jZiEV ܮJ$FZgJ߻YCk{yz32_Кtyǵ]9jU,"Ÿ́3JbY%I?|0ڻ$alWɡympǯ$^"PGKW@ObmF =V@#eI-|Rƪ؇hvԴFh=RW¾/E-L0TK ji}g [+n2ގ_yq0 Rơ'֣H>̢+|Y뜯m>VtVCV"Em`M]$GdC5A>h ZG֪/lahd,Tgԙ`SX{k+o#>Ar5=>E9:[SS}/اQ:լawڍyYKΡePGs*ȶo i@$fdۥd9ݠF%0ڎzZA]-|X^ԝa\kd)T# H>̢K|/s8kK#ZVSrղf$~ĚbumusĚS X_ ĜrmNb@rmagUM=`Ԭ#%׎$֗5Rvm$BciRK1Zgs ѓ?c+3Cގk'9 v>ұH*aLq;F tw\gRguܯzT5Bu&VObRg0{}o;w2 DSe]5LlvTԪg4Xwr]X5nvh꒚G;K'σD7WV ɽY uXt,oF-L#RV !uP2;ञEps\wJ:$X5.0V̮˗%VFD :o7? сp /܏[r].j/2/#ZVs,ˁY!eߞ=ۈydm`m^wBrm^lA7|VĥgnYY/G 0T/N~h,=&Hg!Xk],O~)zg哚*Y60~HSl9\Wh5ҮVsgka;z[w'/zp un>Q= ܟ׹=po9oF&ν ^u!7c`]}gEC&!#=7 6L>C4_ܕۃ]ss-df*.:V I~{79y]IDwDzS|>Ӄh :ZgẐP3tόv3 ~%ܣ=>g>xp|̒ {Apso3Bcf-JU Va`ױG%'刦`ɞqJvn}z~ӹO7h$~`ձfs`uEpJ0Ϸ7`o"^7h5KvD9kASwṚ~Ex龱{4ֹ/7hkK!YbJұgHU9OR%w=*0+bSa3}:9t>l GYohs_L*ZZeCs2,+N7?R9%A=w2ɰd->v%ހٓd=%;g AlSZ=cSАD+̶dO8%gg 9po+Zp zXu-؇Т0sʒ:(9w+b}/)}xVH=z|31V?)owm"Xi,'3 sERߚYpܟ tlԡ%^xCJw½׳}`V]ajV1;6/$=k>=u/;^OsXӥw}ǁwO&cu@ԋWrxt2cb^is}%M"֦[ug sk]ɡ8op5swm*`='b-JV ^KnW&;jV|nO2ړ5fX_ɵV2vO;w=fXG}K3|Լ9^~,Aۉb|jKa1`v[Sz9G }s*ު[1x/.!1;Œ=ښ[FW*:R~sy!Cvd½*WfU`UV%,<<cNKE7`>Lv?r wb]Sr^ͽDq]x:C ?p|kuSIc &<s["߉{0\rW2Pp tO³&J +Ac>UromDSH {(Y3Y=+O{۷-6{2ɽTiUX:7k[_XXUXq:7SU|ŰW,Y[Cj=+<:wo*:c{^UXt,oqߒXk mMRW>+Sݛq*g`^c zXXQTdU<>Q3-D:woג"X UFfBo~Nb5p?tL3)½!̽6~tM{p +%zEQO ;G\ܗH<+,M} uksz"kk&ϳR[c` jI#B<Šz#́gG=zd=Go1hZ=lW{qp_++8{M=qWȷ9̀5'!/,tX#uPli0!R$ɞJf́7 =rCucU-z+jk<|gK枕?π{IJ~5gzX%tyg=Z@rq=|,uP2c<^\D}bGdy=,JULľ߾'|<MWJM,_^ݭ=:0]M Xp_!+Q澼m 0ezrIAVk!Eu7] W9 ,7<+Ig-s:FmUZ /e_"ZV%91+zd}Y5ghZoWdNN;`ǰT_;CVa. #K.^.kotNG`u}( <<7{4]"5U47|>a*ҦVC rXrWs{oozJ7s /thZ;J#UD8hPrWr/~^,zzJ8s "Z%C+]$X]an U(zXa Ky7 &r^V]^ Xw`XpO'y5%rz+80;h5kGb۽H_^ʧcΛHb8Bt Hḯ{opҹηgR *>[rWf3'9}SsslCNeے3> 9ӟ!X;ggjK̘_TYO6D]~ܮ{ pKrW:M psZ"2)+Y6>]=73I-OMp%+Y6>r->oܽyؐ$ `cy`1mX!XuSx3Ѵ4}Cj,6}G_:wo>+:c:+ XX޼2*HyߓR%vm$܇ 7/UϛJ|` :72@Mr=0Sn3oa~]/"gU:k8~ױX%ukRgO#77/ɏ{D2{6XcEgXD2S:̐:(siEez7]S1h"*)ym^Hͯ4@C"ư=𬊒3ljV4YOɟ{Ce^ԛ*)YS^'k3 kݵFg<"fwNcu./{_sF2>ܯ>gzXj:#%+ #U"6SJρKƨ7YSsg^9xhuѮVd^ # J;~6>/jwm>A)6NrW2, ZM&zJO9~YXvfs Ko!Xu.#b h:>/(8垵`MiguJǚ!M㤦|9}UYԓ=>#(yHzyڢd)ͽU ;P̷ᒻ4nWoocd=/ߺjj}Ce=%o!:YO?:vkacvv֛:ʰ{}6z XG갇`yu.VGoLf;ago!{nԡ'tw/$A8ޯ6d%#dd$Z}փZWZQYO,~eke7@SfҺ}m45>z)3tkk}6vI_9N:w{0+/@R_}ꏄ;=wl[.r$(r߃>"ot'nǁ۝ \`б-:eή.h*Y=wۮ.}>s}򱵒 `}c#Yu=J)D>m>\값~X{ux]i-zz-tHT9on,L//5x}RX{t,m}UblIt zI̟ν0mq|/}݁36{,rCS4gE'sO<}QO1ITܙ"#^wYOj, 6r_YYᒻG4Dh+o 3j]6MrWō-}]NnkOc@5// }]X#`}cf}䑇=uC=zʜU#ze=%γLkuR2Ǔ_ ܕ_֐h5Zu{}Dj]NVk3R܆./y=5 M;[oQS]v 7mX ljk]^1k->ձF}Q}LDf{u]cNrWYUu^[YO]kQ?z#P̮5kdmcm^wP5o{-][{wTsZz\sZh ZgWd6yΧZ˰Tݍ`m%Iy YO}]M\ZeWӦ=&`}c:yVKv2*h&?7ZzJʁGe{j]:!_g%w%o$ơ3ЁߦJVwﯶ+.Vڻs`}İ{g! X5erk5u9|8|uJ>mښkOv|Eg,/}f^#R%k*)$~xzPdPRo25?֮Nc6 6NfI&!Y $ bdKTrQ, )}=;!=}?z>ksΜ9<9De,EgP||} >ڛhbf\=?YQ)A{~bOaE>]ܖx5^5|9}5*^e0d.B~&Vc+JzF ѷjvߚ3Mn~]`c>jsm}6lb2WB SdNȯp+diZ8yٖMM1don6i7Eo}e%i ddѠ>ޟ_lhLW7۱߁5>4VG5V9>>嗐\\ޯęU&c}5#gillx͵م 9^*D8hs9jn=[l-DhZ'l>w<6T]s3MWK}Vl ī?Nz KZk>r(X:jFg̙v?۳`1cOg?4DPS z.|2'O]mˑ(z]؞IK|bb1ĵ0: [t] GO$]tv\ddJ7|O*tCXoszߩWٻŰ~`{NuiG< Ok~ #j%X5)ĉk?X_Lxo3WU󉾥wxu^ e^};nh,OćA ]dw9*k>1Evg^e%XGΰ[BkS]'fJ3[l}S#1` q` 4a ʣeiEf{zOtJ]dījS_+=#Q̛tݧ^_ϣę.ڛīh|ghq1|b}vM&^Wo1D66!Xgϩ{zкl.L\6k|邯,,+OXFjM 9`1:b ;a<0:bW&=ٝ=R쎫7XC=#Q۸T6zy%}ۃhKjb}v5N惯=CوF|5_EF6}bOb\b]"E\ 9ڳߋ/UXO/%{=؉/C{o;'XW,zWO׺#X5=T5n_W;}B Is7]dd_k! k>3,gkoV%ks kh i"#"|?^9|OOtޅdmcmz8]uX/9Śك=8e&/T û bene_,7= ]_W&P蔺XsȾX}Q@Y.2r!w)k>q~\H~_>'ϵe# |y5S"ײ{|"Vo_kk}cAus9`Smlf P_hT+X2,yyhVgk1}y#] V1C׵5Jd}2>-]ivүcO̷tW,Eh>uhM'ks}h"ood1>o &kyON/::*slrq?Ǘ%@_~hTJV{%6b L_K覺4q&k|ni>q&}F'{n_zҩW5k~"'oKm|o|Ojz|le{ok9Y6#oX/XjhكgW,h/;^|+ VN*Cf֣&a'|?C%'f:fmwu_1\{^R=*M{^mNJՖ+ V&VZc>ZXP^/k}Q8+NH6lC6L|"y|L8|4Qφ,vg_φW՝[󉾢3m~k4浞K/Bgz9 { ?dj\kCNjnbڈad}:{p4y|׳!ļF{pL1U9x*}1/iDz jjbQG4l^pR to̙y=i쬵O!|Jwv3XZWF>xzB{*:.f}AS{ |>Kkt}}j%hOI|kClo^==}XHGUVcvQepL |gJr.*?`jwUiO |ՀU?4Vo]RCjD>bgz.GUTw|G4e:k C~h?}fN![īU=ӫ@J79Hv糿g o3^:p:N&XI)֓<={u=k> ﴎqH]tv6ZW8i>ћsU?I|7"6"k7xo }.zs.r- ; ݚo|γs-t}}wëT^ kEj~y{uS]O]!?[)| 5j$X+&O > vj,F>Lc=ȵt'z6.rm:}^^MF&W v9x.zs.2+Nћs_#*y%L 9w?XL^.Aceo/‡iiL L^Z?e=&b< z܁p >}X]\dևhULL=b'KVXEzE{ded|g|+]ϿH]=\8 5rdmbm*^Oص^zmoEW>"n\ Nנ}.fLdϿ O##wFJ%g{ N|$7hD~?GO' i>+ϑ%XO 84{X Ka{ XL#;MxL$}fEVhoej1`=2& О(_di#EE5n|0ek>sM#^Wzռgd+Z/g~gV+7^o7ͿīV%]sX'y}.z^e쳡 {K [c"_@G@ ~?#0w)1,>AS]M'XmU)֛/Տ=? wړ`_9$G{=S_[B/|+4e9ld Ot\׍Ii>Q+cc|ӳ!EG}M$c i`ŘX_5u̳ɢy`cG $ L@ﯜ:I) hDEfbvHS{7Ik`= X2_ ʣ{Es+D>}Dg>Nt\ ]p-1ȬtfEM+<4's*C~zELTyrV$og|FOφH&ۙ3WoNþs Kf÷:Twۛ۩NXrᢖ8յͩzXBI]?jfn`,oG|&}=CٽujDEO7E:.vMY)Ӫy*K$'ȓ/{ӽuu넉X)S.7&BqS{OkxXL5ݭt~N>~'Ƚ5D'V}6^ez svN)ߣc@]l y탡}+eD{-hs99]EK#YzG#ySݫs3+r}6f霉.Ok vϙ i߻~s&5XM,7-ywWw33ubn5ASY|in?>X=ÈyhM.Xigbk-]Gc]LFkWh`YA<O?Ҟci,m,{ )9puW5 Xρ+P!k-=K#E߳Fn5hwsL>K%X34VA{c-C=Azg|~|b6\:_}_-͗Ӎn>If f6E!2%z^ai; 6K!"@(zNp3'4D}r֢CxݩWX#`ms5CkSq ̆qp}b75X[_1if+{zLОNx#Y _# |>og%^W;j ݍ݉Z#w6x^ |bkx)WaA_.۬ _3 |mr򶙋]ɞ+&«Nf| Kfzv^ЧZTm9OkOE҅G{D/E[L2%2EyKVjr2ky=?NŵpCcyº]oqӇaA*ۘFa9)s}D>@V9*&`Mo KdCL,97X+s?xv.fCLL}&g9^"?X:d8V{c1 m[S1҅D/>oc*3gNNQdw9]YgwL"?j9=>c&^͆WC{ kt7)@2%VzG"Aځ QNvGg:ã$!6qC ABP ^ME("UEPN()XHUʷ9.w9K#jfFFv{W)}md_ #ddY4|4{?``sO]#zyZcyj1zKM,DzA}sn|4Li]vLvh_kwy>Z%:vWndCkdCNRg#f1]$ߦlk#f^-ֽZ n<e(.w?ڗ`gZ =E;hڕZ=4Ѿ=sYUIjWlDh_ku:Ԯș~a)/е=i2g:ecꅧ/}.<+-kkw=YYSFfJtla)WB켌^J-9Hu^=G}=|eXstZgyMC<|h'}Pzd}@wڲHγs5k^xkj#Cg {D) gv_ڿյzM;.Xa){s`1]CC#Oq—֒O| HuEJ>W&(ԏ,c26-ǦeU7xRhVg<ZH>V/r68bXm»/YrN26ifǦ띵X_3,%MJÊ>d4 {ǿX3bI'LRc#^e Ik*}֟8갚-jY^gGkL^*C#$pAh}h_2fys2ưY [ϬN_-?x^M5UׅD{Oho$+56x}Oa9T`:V$^kw C/ rD+u(6r_y|oI> s?^}a֫! N`M25bfXbg=O̐wOеWýڨ@.'X{eC_r+asR?Tm񟲈R{cX_)m2rVJ_Փ|J=լw?!ށ |'{iD+#62ra7|u%_L;Y~\3u}xXt:x$qZMX7פJus?u$Rn}I:>ӽg]R Ԯe} `AX]&k?s זڕz7{3ۉ>F&;.>jԮqG={hehl^9s =gz}vV`ұ3y~H F\>(Y?YΙବ7',9:({{^;߀ =_뜐X9‡Jm}CpNv>B Rjk5}k"_>O` ӱr\Q 2 ֐*#>յտ 9k5}>#=-Q0>T>(uW],rpֵrϥeX _7VxZ 5V.a|G3>*O%Re#Kʒ"^quk?"|WY)5\62nq2\O_=j$>2"'`çA;zδMFSjZ_m;SjY:l8 k]3Da <ِԇhރ; f=9`ӱ<=X_ OKO^q6<f8dgcRRcg#~IU9ɧ)WV) dl.`l=6.㑬C ̾ K2RrzO҈Vjl{īYfKza0ֻ fu#\L wWYطWӬK> X׀C::BZx:HOfxZÆkHF~U)5}62r>uxl֫$x%+ux6v^|J=ހW}{2y#KԮԨ?Y6L߳ǚn«$^5`V"RuXŭK;Yע]`u3bX!ۼ2nc^lxzi}Oih#oW & M 1J jfSj[ېīo\z9Cڕ}6 5d/i=oC"fB+a)R}X"l_-aEk45Az&L̬rdbC{M{L82dWT@7˘i ćY!RyӆYӮa$+uBXG^|JT!i >Sj)mdwV"$_TFۖN7|ELmh#o;#s>"n:XjcEk[\A\f} v#uF6hok/c!IkpԮԱXX^ H>G_~k7fVWQYEz(>åvG";Ե{z!ٙ=Ԯb=FH;"'zǍaz =(#gJșH} u:7ѾeF6L$︌hoky$!Im2 h=g^XMt豝4@b}K5BX-f!X9}X󫒹#V9>Jm,]@99 w(/aNC{Ԯ߳7Z ў ;}|eWs.zKJ@˥bKCnr=[D{7е'}X}g+Աo'v&>,J'=!wOC{}]{zݘKӏ|OnV=Xa)5 b+-'Jo gpˑ+$R'r;s&׷*sw߃9'ccq>vԮ6Z,gU· |OI>=2·|!O9w5,1M~fҷV]3v*t,O;qA<]Oez\X?J>VzAz^1UY`ʰ1y`Vmk22W&6:avRh###Y.`cľ8%>ANFXL<^nѾڳIJmc,/Sjmdio#d_Lg33?HߤYϙd.\3;z"XzYZ{rMe=@ԻȆ!Ds^÷vϳ#Y?-/+=?r"}L"^ݬ1w VQ`UcX=KY];ϭ/3sf"]έ}3RԚD6h7vцس|e_|;[o{({9q$#BF~#edP90J`.TrM,,B^ݗڕ2KB{%]ˢ c $ʙ*XG;,%X/u \XعP;1>Ql6/BK<]Ij^`Eu^&v]'X*c]1k?]Ts1^Ʒ=^sw;Xu,٧^snpW˧'|{'{i(6rUix+yMUX1:%ĺޓ_t[K||%b2[ۈxU^E^={]W;~SjWYοPw|7$[l͚FSj٬?'C}9bs]?8GB9̅(s!^4Uߗ f!0>szgqػ ^ʬza){PXURÊx*&x:ISf̆YįX%ro>Za#2*a֫#~Ij/qk4 ?{(.J>Ռt~ԟYH7?|%RbF* M7V8cjTV1X&d 58>֠_EjL57V7 V `=gV_2"u,O͑Vtm2>b|QjlO[d]úG)\3W|Wjfw8gvϝ}Zkw|F=fINI>ϝ{97_07NJ>FF69JBM̅BfBsV# \fڰs"Nb 5ؖybԂ۳*ȰԌ'&YSKJD'Ǔ9)GChc|zNc]|22{٫95xUWgԮA/'{V*5q62c. ׽WgO]c%|SѤ:ʯ{Mo2M"k<]=n} N$go@{>]{/y!ԮԱXSzОW9>u,ObÙ ֛ʣc ;9ExzTzșD+?H voC{]d{i_Q`5VokA!\k9N\\P)5sLr}p}$R_g=K^Fظ,rlvE_RRg=1nSK-ga&K>5}cٱIDf 1u`4VY+_Oo}zF hw~oVvnGZ+HZtxetTec%;>Og=#VZël& dg܅Wvfz$@{V]ƣ=/;kڕ~6?_|JM xWf*h?KJ?1gaڕl(I΅2+@#C4O?DRg#J!ِ,~r6Uxo֫ #:H; S;]1#vRh#^KǧkYl"XPU]dR Mȿ.vqEڷJJ},m5oSȿ_}^?E@j^@|'gVjdV7ɧԞmYY=iWx\@xQh/ԱYp;@w{sAО&gϨѸj}=h>zXw:yF"ni]i6x!3sf,2 oktM t(u1q(!>sKgÇ)BJ+Z^0*^`^ϸD;}ԮQGEj4R%RCccBp}%RǖzFIƦqsN-)h_%+ul622mگվ%`U-Vo`]1S'<]ٰ՟u%p_1e?˵Ph=+J+}lhU—|%r\} ebFXc=#Y YJU;~̅> w*` KW'`ΛźE5|Xs[Y:cwW`}|c*KXgb<xjXg?,V3Ez3>mD@:C~!t>L>)X9Xq`y]~7^LJ|A\c;&ltU0U]y gUYK]VKkGQݺ*ֿpJWŗÊK1ìMc]zk,jY%x]f2Siw{5_%/ҵύ7 "]n{xr_Yǹ+p x6';,)|^-?Ye&_OAk1=pVjzf}p`}u E!dպ3|)idlal2& %|'~ų3<>]Z;ߨ(_tYJ!J@%P( V֘TFRlvQ !`E^QyVWXDrorVd D\e,d=u5>k 뵉24yo7*}׿"2+ 33$8Cc~/czW+aK?+zcCc1wx_<PmnWYfÕz*qĸ{B}@мѫp%K Ωp$@*%2]]סgzs쓎:B4/2M;7չfj^;w= }H.,C./ ԑ kB\H#^Mb4d6XI^Sp'WwYR%7Xw>I/*1g %yI!SI퀫nWSio*)%Do_z>r䅣BԷpUj; WMWkm=ϩRTWvoN]o]yM^sG){GѼ $E.<҅O݄Wώ:\߉\)׻YWXkXy$Kl5oE%y;j7\M*yX xkc?{/qxrj1qrݮf=Ѷt[z W楳n\Ip5*"Uz-bg]('އ+I^9 >vUzwsk+]4^ԟi~O͛Wѓiɛ?j7Я-pjD5- 5K>cڗ&'~eQr/_t_&[_OnzX C^{yR]o~zcTl.Wsx%y\MC9 }Ǟ*+9^r{rn%_|:Xܱ3VsOt$ψ*<#֯e]d9^i/gt+c}Ju:yAjcb9y-HT#gxvSopU/+HbEQcGwmC oy]O:WO]Si*yqYsMeWJJLSnWJ:VZqUWɚׯ'qUWDyy-3/I^Iz5Β\UDɫ(s5=z{Mxk0yo?':a%~J[OB. VrH4b sǪA=Щ.ܰtcptrace-6.6.7/input/dlt_null.dmp.gz0100644001217500001440000002000507242307127017145 0ustar mramadasusers_4dlt_null.dmpwtUeP @ W"R`)J (E%J@E5 "Rp{޻^]ޮ3l&s^m\Yh7\ol 45sboGo\A|UQH47c\s>7  r q۝fk5Z׳[Fw^r Xrl15_5Wlh^^^f8 ٚ%S;)`uкN:%ccq?),Cn"ZıO2w"=s;6gVeF`Y}^y_ٟwy%yF3LY)Nܣ>[wyc0>K~#|uS=볮m^G?hݩul$Nu^jFMƼoyE}l^dr_&4~XLSޫݓwba}ހy۟"Nu#_}PκΫw{6t~ݝؼ/0o>o)a-Qy߱?_$}ȼpσ{pӾ{37y؟w[yyf۟6ܗ/q_2~דT^wؼRzcUƱy阷BPJUNKKYy_o?y:q{^zU3ټ՘Tz%yؼ5T3 /f򾬼F_T4v+ټ1/EUJ^9m9?/ٟWTAy_6%5fؼpsݽOAۅy3yz_jϛƼ*?/,/p_B}Y77T=UwgeZwbag _?>] h8r_'}Gsf!e]M2WٟF^yi+~hL~ԍ=\w%ݮr ټ1o>yO؟3NG:*_}&)}4q{}> ]>IwF qKwwڼ ܮ5NxrtuTl5E\'G^';ֺN5F뿏]Yse ,w-w_i}3}]Y2爒!ܝuwqsw/YO*93-w^O܏K?w8H9p_J~> q?Ͼayß#'ݣpUU_#3;tqFw{U_o籟'i["ݮ]/?uwԝo*$ݏV_O{yvTn`]t˽Sg?W ~ݬ?["@Kw˝wFǔ"pGX͙Sw>IwhQ˝S!pq3w!p%Yߤy.wn{>N!poky8qWn{ "po=,qWۧ;Nu=;L鮊^*ݛ㈻5twWt|2kۋ>Q<w 9] U>|?iAܵ஢TOvFq;M.  wY=@z"qW{t7F!;uwQ{} qNX$.JM.7%:p.qMAҝ3߀;DwT=A''KwKw,7.ǫ蠿K'zp*m|{]o#qG=Y;[ww!ܟHwW"7ptw{fnDN%fnc]\w蠿kp,ˏw{9ZLj;==wcǺ;Mw+=)=TߓI!wᾯU頿Hw;H0w_ocw wE{^q;GwgvJwg{Ixp߯$n@-x鞄L{}yNީp#p+I׮O^wSsy;ҝN ]9?>hBܽ,ݩxߗ(O㪿w׉ܝ{!7}KgTq߽Iw#=#WwčυDtw;ߝ;pWU:/ߒVsgp9 ;ul&Y7IE3ޡov8Hw,c{<.q1q {';{!tCw.!)pח}(Mb'_m9HC ߽7RW7~=g.>߉YĽ Χ;}wč+D֔3j?=Twǩ̾,>ToKwč}U߇e-܏4گ]zqc_7XwQA/J!p? T qc_7HwwP=AOKq_Ͼ,[u]TrIIw-45[߷wP=I'nr|YÑ7l}twߓϷ܏5uK޷%nuw]~!cgN%nuw_;lAoQB[{;< iCo,݃7}޺{$Xtcِr fuꮏO_ =N@E܏{]qcTwORAooH7Kw2 {>}=Uw^ܜo.E6'n!uwn{K ~[{ۂkSTwt߉ nn>A{e+޺O[w/TAjK܁p˽uYg.؎K]_wn&n|"݉ɤw9 ݽR@qcoݐ{{H" p: %޺ܣIOJapUG;7 m>A]{۳T'HwZAt߆^+=_>+9Q:)ҝKiOߣvT]A_&p!)xE7}0=q{% Hwcv3: ]ҝDn >!+HG\$nuUE?.ܟIZwkA{ވ~'čo;6^pO-捻{no=.] qs pށ&ݷ qc٫#~}7 l>,wm^}Dݙ{}m7qc٫#ʾ{Xqcڐ{{3>';kG7Iwu]#n!z݅T<Ϲӈr|awčsuG#V7 m>,wYߙ+L{s=T_̵O'nr|awty󺻴)-g.J*~>oS_Vw,wK̍p߻w8Cأ6L~úm-wg7>b-r? ##g7ݍTohtB 7Cn1׽u,psg+s7'{xbݹ"qu#JoUE^zR)C*pדݥ{M%LFR]7·7"}^^^Q=7þJqO;Bώčs麻ٯwg4$nWog>*ݗ7ΧS{~Ⱦ;-q>QK߇z>þ{pq{tGIčsmtwnwBܩpWF]ާW?wړ{77Hw {[.>Q{QȾ{p9߆<|a6ou É{^}魯;s{Ť%{ҽjq[?'3N5- nn,m/;kq[?[,$LC=m!q{[zt|=NwT};č~C[m>DZN;%3pSTwrO!nro|YٯKw{}{v{LGqu<|at3#WNi[;V}ߥ;==6^.XtEOȓuMčs##1[AwݽQw} Sp"#<Iܹp_n࠿'6$ntNZ,ݗ7U{H؈/}S午{oMܗ!3}wN4qc۫{n2睯p_wϿn:j^|d1ߕl5oCMz[7u&7kJw uiem5/('qTߝ>nb|8}^w mIؓ8,+^Hw^6֛ۚ'qPנ[ϐs^}sCwm@܏{r7 ^}6ۚW/qco=B:q>}t=6ۚG[{r7y]{^}ogN@ ?K­ydω:Oݝߞ窿f&qc;B:qIwLƹHN}{Yč%Dg8H,y[ l&n|.!"]ϣ+y{fy^d{N"H m'訕Q{߭;7S}$JwJZww]Kw;Ur"QKƿ3:½ɒ{#{:Y=Wo;ntԁ ]O}*`;[nzJJ}~">^xpW[zׅ܅Ŀ#5o7=pdw:qp$]M w?A$܇ߣwnVow'Er>/#]}nuV]gܻ7#>u!`ߗ7:+ww۽}JĿw}{dO&g-:]rgMqgXwc]7'DnCqٗwCA;{Ū7}cwtyńf} F@1vGnڠCK7Qu!w Zu)WNG]J&}@,Zu,ѹO&ܗ}Cr7{nMQ+>{ӡ]C}Ur~y F?&ƿ:p##=hF?&sn߾CAzn]z,wͦWn߾ Jj=Xѹn߾C!C pwlC{p֏$'5Xs_h#-oB=Sc/߉#GT]=7CDZOroes:c \Nztƾ.@P/甲9~}ᜋlz|vEΩH}LAg.3%Asr7sM%s0g3QUΉF4|/}][9e;~ٟ/ s9g.9zչܓs tcptrace-6.6.7/input/dsack.dmp.gz0100644001217500001440000126413107662253662016442 0ustar mramadasusersT>dsack.dmpwt͒* $B BE"""6bAPQDy{w9I~Oٙo=.׻wX_0|{̮zO/<]~\??O1|nϔHlBI ̟tϚ;)s*W:)2o'ػՠ\uù.w=ג?`/C)(4N"M R"˨2}\]K]9+=#PxWVWTzݨ}z{Nq ,LϷU^qe'K pV 8@|XCXHbK )Z:Lr+T|*R*U#UQV:uEFoF4mּEVDm׾CN1q<5[>׳W>}O0p!C 1rT1cyrnQr|*7)_ }dC{QTuZR}90힤FZSR8'ok sRIEl凤ZQSiIv`R=IՊŤq$)OTWv=;WzĀIwe᧝"|:O@h:} M6XnT"'jޓԙTJG9]u `6tlqMFף2>k'z:'ZR9TۛcR>T>^k bR=Pt= ˓k06kձ'EVOjn{NvrF/OU $qR0gs1t{sR|;Ot''T(>I-¤IT{J޳,Obk2Dwt{n5®u2]gyr,k>> ]>ߋ^T;63S7=. X1դqR0/x9'׬Ck:XK9yKwN@i>K'`o:Ў*HU389e)L[\֨욍2s]6'ڨfkn8 |AQTlvDmW.{ZFq.qv9c/lvv욪lu'5KfƝ&`Rv*糄IɄ7q&e{#˔'ץk)ƣLxcˢ'W8յ]UU&- 'Xȕ/^u-gXtՔ oU貽?eʓktǴ-ٱPzٱӒJ`R2I20Bu`ht5 oB[tޟ2UdZɮt5 o貾?c'Uh6 ]>Jm~`yMOZٱ}՜HLLxaRLy~&Zî"ް貽?eʓ+Zˮ!ހb貽?e3U:v CWLxKE)S\q%Tzv EWc#Z'Wuꕨ_;DJhJ4}N*"ހO5\w2-.S|t׆z"yP#$*h>J¤ʄw'oQ^<c2hIzcR˄7ofL)O Ϩꅮ2Z]Lyr%P]{]vX )Ύ}_2c&',.0)ScW{\ W]_&^y貽e5jc.N{\bX;vc9Ύ{@MN:&c_ǤlOy]uB@)S }m0yrIE`RȄ"&AEOOu]ULx/.S<2sk' OX (~Nkp#n- TLkGbR7LyrmOu}Ϯ^&oB,S\~쪄d;stޟ2ɵĮpt] G%e}-˓k\}uW=;vc+]үΎZIUĤ~}w:kCG*LxeC)S\]TWʃ+%7f)O%U׏*@j.S<>]vl}Ύm{rv{UN,&̌ 4lO]x« rȄwH,/qyr-ث~bWʄ亸_u]gWity貽?eʓJvuWwlc;;LG8;6} ŤɄW0)Y<W]?JɄ7O.tޟ2u&LudWɄ7>)S\*[*J2t+\!]Վm;ٱSFfqv7}դ~J`RdrLF)O̓Tׯ*:2mW ]Lyre~cW1t5 o貽?ecu]ED&wEm'S\h4wHgױ(t쎓ZRsRE0V2፻"IRR<_N?U]e»tk |Itʄbtޟ2]/ޠ]貽dʓj%qǎpv\~C;:w9TO~P?eE U_ FW_^m.S<6S]ɄU]Ls{qRaR˄7[Lߎ:N>Օ]uF汯$˧T]9ؕ]d{flo;ɮ@ty@tv2nڱ-cuQx&cT.N*"\`RLyr]drtv2y3$J%p;M'={v]A26]LyrJT]7Ʉ7$/qyrȄD|NQ]u]2]HQ ;yr<_^3x ;tT!NOLLx.I]3種'u]!2.S޻f.R]ʄwtޟ2rU])݀:U]!e{{4JԆDWRx;D&U -Ke1)S޻fWtEɄB(lOyqiK._X&7A$nc:)OWIMtvl5~o:;PC5N&&V&"1)\ub芑 貽?jʮ*ޯnU]c$"SՎmٱMS>c/T ~¤Ȅ"L)OUWv]C@ޛ.F\\߮V]eu]2-]>{\6r]d1tvlEVcqsvl<_Ύ%TyN* ')]3_P]<@tޟ2%U]W5K)ObUz/X} g%t-y'e{{˗ٳiW|% W1W"ZU*MKELjc¤lOyqQLu{v]e/]$V]Β.?̝i؎y_edP;C2EȐ!^)fv#dȘ)S2e&2$!c*dB%IhGu׽O:aՇ8~Z>yPr=w)qZJ{iZ&wCwɖom\ܩmN]'T_Rx.NddrTs'vRxi$O'4ڋ{sN;+c: ~Q;sN;+kyN6НHM۝Jwp+CӰRSa nAwyVVef= E!s wif򝟲 W&*~70Pce.i'[m1m݉-;v'6ZU)~JwVw~ʖ7\{G=;\\c-~3sO򆫅~(e3DqxMf?ǂPpgQ98s!~O٣rabkx]Z0ﴓ-o'w8ڸ'Q<$6N"SDColqO_JOR*W;pe\S<\*W{pa➞\N\k2W,=ՉE݉LlN*Jb?}QVw~ʖ7\نJVRєͮR;GJuR+Y JNdHru "oow6ɖ7\&\].s},;dS\Ok9s?NAy5D'+1c[]eX`u0\N'>I&9D~Ta;$+;dTRJMwɖ7\ruV%w)ښ)Z&p;湝btR=bV{qx_JOR\81#U42eqx\̄*W/p-`VvfW'avq'UPj>)U+8}~c|秢\}5Ҋ;%/sOE[3 Ug5n?Z򝟲 Y*W_p\YŏsW,537ubY̝Wp[5K^SY(5%oT>\Nqx{|\SFJ*Wpbǎ|秢yU\EďmЅ|lyUzzmbC; KÝՏJ R3X{{=hp\ρ-*+oDv\7SM(~lJ;餸n5|gly*כ\?F۬{q6-p=\=[bw'2A$:pO.Uf@ԯM6RVfkq%vMM6RrWI{6I6RNrW?(=w6ɖGA}wbƹ݉=(,+ukRC<(ofUW_)~쎊 ,lzN gqOkdc.٤h#k0W~qOەf.٤h$"es'66XNLUȷ{যybKl9oT͇Yxv\Rs?wɖǷb*Bp=\emb#eTE\ď||l6pmI \=h?65sN;kK>H 'Ѩ$*0O"SRKTwV8ICY))[p(r-SUGg0ﴓ-o~rnU_{, ׅ*2pue&ǖ_\J6\_Q'VNe&Μ*J=J57e/+;?ei UwՅڊsOkۻ* puf>Н|lyÕMZ NMswɖ7\ҪZa/xĝؕx-Ğ˩ Judz{GWV{, W|*jpu`gm4bp*rW{$~l;wɖ7\)%Tj\ϋ[2sN;b5Nd?NlRGUAzAY))[pڡ*aW.U!UuP +5N<X))[p|\z\k8`X`53\Uփs&o;?eT>WK!oɌ;?e9wP۝دy՝,46@\JNdU\\͙kxE򝟲 Wj`=Hv;v;UP+\<īfUMzֈg~=sζTJa3.r|'lyuL#p5eM|ly|ƮP'w5 3 һfU-PqVjxd|'ly;Tj\g\+3sNdk>k3/,\ޣK(o '&j:ngg}-ns;gۡT#VꐸRڞKuL7||'lyõ>Pvs7߇;e[%xGv; RCYg|glyÕ[3u13{|glyTp=\?g?s+E375.W_J} RW3ް ׃T(s]88 WoTzjϸR Wۢa)vvq;{t=P+^\ߊRYX\ V'|\ޣK(˫\6sϸY Vyu}n@RɬTqsfZʵ\+sq,v@}]T@B_]!õpu\1W1q!;eˣ?UW O\I?19jWM}tng[[YJ RYkg)*JϮJSA: jUY\Ruw˖7\U\GUjgv ҧƍAG]/xTBYŅ5 WT/U"rWej,.t G jgɠSBgvv}RǡT%VrRSc<>\'UZ }~*sNI+p=\3Δ|ly8YqhPypS]0I(U*.tr]Vwj̖7\=*)pgB=\P\J\u?sw,u`ٸE6vZӺ]oP+u`|Ƣ]\߀,s :Hvf\߂ stvٯv6p;{\S](U+.?jr}qV3fWu,J1׫B.\3^ѮАOqtPpvvi5A[B'4f|ƢTu/szޮr̵P\kw+ڪƎng}tng*uJg ؝ ײTsxs G70pŪx|?TQVjb|Ƣ}\?s}(.t_wj,>~L{kWg.ߩhW(-껓%?(tvMpk|vy:RY]kjJNu\w3qf.*7\K\?s  ,lv6^5ʺ.+'Ξ| JdzX}T*\'Ņ&RP.+?s:[!vQ;Ze. z:* :/.9Ԙ-or]W\? soo]W+s".t#;5m)dMngW ng_}iW(J]X)ߩhhPe_ຓN:%R~̕N\=w+>cx&:p[_v;{LUkP*/+Y\ X)ߩ1[pr]W&.3W,}T~;r3WnqϾ\3^Qjg-B?v/hJrRąN]VRv*(.j;5m{]JWN**.t;e/5BWj/%&BT)q'udǫPpOVҀ+;s ,lͨrlUI\I;mv6# u;{\5NUf(..[Y)ߩhhd+-ncdq2X}x-(v8ys0T:(+v$Vwj̖7\\u+s5Du^J̕".;5mȨreW&j%.~3^ѮPwQIw'vv3$PU(u +^\yY)ߩh+22WqsߐcqxbPZ}oJeRXB!a;5fo\+=sjI/U+s w}F6peW|9B 7hPԝx(wb7fުJ nfF X}Z+nb1B<\Scpʕ\ikxIE{ qY9+kxkuWx[ub>nPĝCY~>V&?'B/UP*..Q3^Q*J\3W+txʕ \kx{ Wx ]خv6^Hq;lٛȿ;/c"QkLΈh jNADD {NHt"D^^ve~Ⱥ5csTR VjбNR;^xI+%3bɌU`®PG*;z\+$3Ӓ\w]oWp:m2^8vL}TP)+VRy1X)`A+50FɌ\w]qT4z\ۂxsx W@ٸi6>6Ξ8v!D\OɞiاĦcUá߬.ɵg%a]D+-1ןBQB G+g\K ]=snGR{i3Nv+3L)J=`NJ2+53re}:/)5lNre=")+5UN9{vvnlgU_U*Jݒ\{UVy WD3+30IOdQV*Wpf'BO\[cяTE\cJf|(sxBǩ/v"^lzŖBm曧* JdH =u+5lE-UsœztrbU\oI 3B B'lg+Q\j~ZwػP+\R_^]5lȬrUJ-)יuk,>:rE sex r{[bj7ae*R7\wKW'Ŧ_l;l/LIfa5QsK^;^xõʕ\+R2㱵uov/S_prͺUU*:JzbVuoT,sUN|rT:\U$3.W0p g=IΣ'+NR$; ZDTB:\$\wAF0N2W#Ɍsg./jg=˯^=TVJ`>1VuoU8s:VrΟ\u:Jf#BS]ut8;UՌoV]㈪Tq(u*)Y)׭1uJ*#SRÙuo\R"uI{qsx Wg*WIpb%ᝓw0pu/bW0/D5N݄ {JdJf~2TR:\$B\O* GIx[d./5\uL8;죥wֵpT('+5I23Y)/j:K* 5Ciuo/Tʁks͓wS2r!GUgςSξV8{McٻJ}Rx/+强Cpau`c~zrnZ# 庑7\WӜ=Nn9XlgG5n†URXO|/H׍,JL̵U2_/0F?pUirU) 庑7\E\s퓄w) \kMfQiGPj;+uH2CY)׍,}Hu\2]!õU\ۘ$f^~u{.vvFdΨ^ R%3"/+庑7\9ԫanHfgr[*WpcD\ΫKo~ \1WRɌ\!UpuM^]g']q˶GU ~eRIf+7\ \If~sx?Rk sexHyr;Tgge;:4T@լTNɌWf\wh!V1WɌbc6LTʢ^]g'=ibΎ,]: k RQBJ9/Car5![Xm Wβ*Wsp-f7o\YfOTg g'=~8JUS(3+I 1++ mQjEL2uu+6Uj J2>Suo lgǞD>R?R$.Tr^x+*W+p-`.7*\!]w\5zHf`,sx=Cʪwmgŷ]_MFnh&֩GS Jz]Vu+J^_j 5PRu+ꀥp@<ېBj; UvPj+Щd\\5FH ]?svR,Q:ksqr v-Q ~vaлvΎؠ*Jd&J l+5 ]ڪru &)ttIr v&V>t#)7\ӫiٯξzAsskN:CiBIחe׫0pu(ruTZ*)h , T5VK h8sxBw{^gǵ){ S &R$r Rru$,)r vOPk"s!)[uoWٯY.)WJM`J ;+^l\뀤< , ݻr8:&)t }_L Ύc;;5R7mg_^:JJz3Vuk,>ZT[뢤 0X+bp@lHk=MQ ƲR%מRukoTk sݕz{X>:^ 둤П.`.׭`WZF3sI`.`W~MW *J"*")t X}F2W\If.׭1<PSLxv@-lVkh; {3(5J(zc5\Ù+Ѝ{0WH`!lQa̕RRuk,>]\1WZIˤ`.`W(@k02WfɌTe.`Wh`'Z$ 5;#?ORJ}JznVukofPJŲjJ=y*5J arK]+^kz[p}\%sUk0s%r Wo.gǴ)tHVVJ}JzպP>S]Ac'Ub6?&J RYʒk{J,3T\%Z8T.PF+#)t}r5 \5sQ+b'!~RE˙T?V#ۄQ*{}52֘?pݯ:`vwG=U)܅R$.r^xõʅ^o,)t}Ԥʅ^/.)\Ƃ]T.\dޒB-G#Rp\$3 ֮IF$zf$$::I\z=Xo$nwrO\r}\%>\K*nyݙkL'`.`W*.yݘkd_\;^BMxO{7O_lP++5U2 X)`( wjh-gu+7Tuf8wVͰ|x]XB{鷛֘?prיH K ,l]r9s̸ar vQfs*q P}[b/bg/_8N|Ӹב$q.W+:ʅ:0vɌw`./jYr@Dg,*kJz Vy W*k\I l , =(r=uTR蒙u+J[Q7;zmd^Yr v7>_l:dЋE'\U)|Sך qiVu+*Hyd2뎗?pXr[¼Ϙd[61׿gWٿmgAfyJ[CɌg\w]_\!s≠ 7xWX\;^Fe:hlgFt;LUto0RIf\++57\1s\ sŗx^OrUT.|+הKf!p:8Ȍi;b}U)l{MXsx *^u$)t]X9 W& ߽pMKBߝg;{Q'U)^5V}gR[cxM7 iWzI ݨ?sn w}T.dZ^/qX7\]g߰%+oTBFER%.r;T.|B}\$>ڙ0kVWFK &)sVIu(VpuBvvtbv*>o*R$_r:)T.|Ud)B\[cx5:ʅ 5SRⷘuonFξf;zw_ޱ`U)MgK =..+57\\~\w?_U3\ƪ\svzrlU.o+\k%3N>9w W /b+Ҽ_/6sU)vʲR$.+57\KamBZBx xkd0뎗?\IT*\%3zB_WŦ\;#/~u z:,)tv+d6W$s8P2\zWeii>(8UP*:')K֘?prW ")t4r/(U&B-I׫0pOrW1/)tX- W*qpe'BGg./:I:"U9dmj3뎗?p*rWa-q7\~ITv]( USP+/|rXCU*\oIf7sVsd߫\gUIf-sx ׃)*YpgԒ𾶕\7Db mZʼ2[9( qƒ뎗?p޹<̕U22 u 0W$Qu#oƼr]Wn' oX_ ݉R/NbOyRT.Vd RYо*ep\'d.׍`gc; "$庑l$:= qvƶ*uJd*Hfc>+庑ǧTkzH[)s9.aZ_UKșXXu6>?k;{Lv7[VvGSJՓ8 Vu#+u\٘$1FVs"u \Y$O3FVӿzIЄ=;qv uT'ⳑ}͞xmho-)te뎗?prWf()$XJ2I L- u+Cu6> ?e;Wl^c;qU{P*#+SR|;X)`hY>20W?Ig.`W53 Id./ኛWO3Oލ ClgsgUuq!a"!WiDER#H ¥[RxH鐐RAZ0A<4߹_|~`cÞsz4JaFK }WVuo2TW+7sMzi, r\S%3.6\w];mT\3%3\w͞O,{g'<6wؘѪRTNV*F2q2c`Wh!r0Ɍa./r=WvZ*\ ү#ξ˫=c(Z-)tTD]/\OK }gr vq+ sm 0WszɚwrvHc~v5JefvI {+ lr%W&/)7\7ۨ\ K sE6{Wґz?NΞTJe`լW+4sʕ\댤Љ3W+T|ʕ\GI[`.`gү{lgo=$RT@ԯkǿJn㱻Bz \뺤;s^xtҫ\nK }a(sEvU/_᝴HImg/j*JdK?r vVSR+s=Ir v^VR+9qJ$)õ mV>JnvRT2V*9NR[cx=NJ +.2zc'4r,.@T&ɵve"B(l=DJ $̕]rϾe.׭`Wh@j+3WɌcG0X+<ʕ\Ɍ3c.׭`'z#8ĶbJ'BOU P*JVDukoW2+!s8Hjʕ \ d/V]UgݫqvGlS R$guk,>GxdzDP*WV sUmrr ˴hzGmgrⶳ.AǬT-I٫s^xÕ&ʕ\Ї,l˫rCj$oqvO\w]Ug= Iƈ{TrBTSIS&J+T\\$v+sxG׫\1WɌkE3뎗?_ڡr],qr^]xõĢOe'6}Uߖ0pܡrOu\2㵏+"+-ej2Ό;lggԡP2+uZRS9Y)`W(a~_\$3s\w]EU#s,oW]8} b#{v8v4"J&)<뎗?pu*r%X Wr*Wipg\Yxõll{{mgFvcR*αR%׊rT:K\o$`|r#Tr:\OIf{nrTgal.svRiV*b0p9rU̕A23WD`0\W\uIf\sx wԻ6vvcl.׼l;ϲKP$+[RY)/ZSI+Wn0뎗?pr UX2:2뎗?Ol:vvk/O`+P8+a09C*׫:\/J 2sEV9Su)tm9*UJeK c&+57\gTu^FrU*:\U%[\wkhF2-{=7s.BCB׾Jn Wb*W5pdzBX\Up+rUw@2͝uofV/ymgOEjNTP[VGR[cxl0WKIH\[cxUcU\2뎗?p}_Ƿm ~vyxu(z_RX)*{}*W-penB\Upu=r=[Ruo2oH}c;q:k6J z)VukodQks ofr3U\;cI\;^xÕl|b;{?Rξ6LUJnzۣU\$>^"*:Iz\ۘkГG⮐ʸSs_go})Wz Jme:H>2\+O\ok s͕fSr a|d;:ڵGm~Zuj6R$>r#(r5&Z!)X WUF\k$3 סJ*Wcpm`B/3w 7L}bQoOfXaOIRQPVjמc\x7]z\kЋb.׭1<ލUoz,J?1T@uwk;-J4J9WapMj uLRQU+" TwNI sn WM0}c;;;O>UB jfK=!+57\Y;ޡZ\?I =7snщ{IjUu5H2֘?p:;vv}jTK())z㽯z< \++VRyb*bzMVZk9s=ukoQg{lgW@ ~NT@eTBϮJn W*W[p-eBok\[cxFRk7F.v@- ߣkvPj +Rr{Y)=4Oj̕^R +" ETZ\Y%snΧb\B\;^ъAOm M?^U#ZJzc)Vuk,>:>YUHRukck֖ZG@FࢪPj>+ULrѬz\5^Q ,l]r}UVR)?3X}] 0W`:1sxG=h7|ĮAH l\œhJuR1TI{a\Ƃ /\חUCRukoFUTk6sՑ:جoQٌwCUP VmI?]JnGgG\=5$^[cQ p[i;`F:dm,*JER%Vr Ǫ\5J e1snGiSø㭰A~ fR%׮7rCǣ'UrC+"}4\әЋd.׭`(S\ӘН2X}4Pe)onF G[B>cH *+5l5\Sk{g.׭1J޻vA'xFUj J\;v++^e UA\%ߕ" G\ksMMr Pk"sEK =snGon†q [j?Bj?QoRX9BoJnGK\C)s}%)57\[ʪ\5I } sw 'GVkٷBe;; UPj+Э6R[cQlk2I+?b.׭`B#pao\;^ً-gmgGP FR%xr ƪ\ks}+):57\\:")c+"}t9mAE3 tիǬIIXnG}*\5I 5r Tƀ#$qm Pxqvv>Q3wBI]d\kk3 Ic.e(.u-|^֣yGUCaɵш)2IWe`.׭`(%kWxBw\[cQU0{ lgRNRYĒkOZJnG\!sA1rU\i%\wѶqڛo;R7{n9ZUj JeX}m5\+4U՟Jff\Ƃ%\՗CFr\sZH>]HƅzonHKgIʩWfg@ެTI+JnG{+\3Ջ^7"u( UY20W+TGgϱ=zޱ.TzRaIoZ\kd3WmI;Ug.e(7\%7\Սޔc,lſ:;;c;{RSlgy*%7+XR9Y)׭`_HLRjӘuk,>B.ZR*r v.Ӯs_Ξ:^TBX$r}Ty\]$nv" GWڪ\>sz5r 9ٶ\4ƭ>w~|JX}t2ZZ5XR|5lR/s_^]zvh"(Ձ!Y)׭1ڣ_<_ 5ZRukoVVsMz,l-O{p, gij;{z)R(Ֆ*v2X}Գʵ \mk&0X}5k9Z3חBO\[cP)sѶB 59!sUV@VIvd\kRk%Z2RI`.*7\6\ՂVI ]&)sE]QΞi;;)Ns=PZ R%>r W/h f̵ERuk,>*ʵ\2NIg.׭`WN)}8/=rvH[5qbRjZ(Ք/)֘?pIrW:,)tX W*zp\'$ҕ\wkx{~ri8sٹp?㶳QJERg$5rrT j\?J Frr)\Ո~B7\ΩgOB]/^{CUjjJ]֘?p rmW-)t+"e=Rm')(r>۩[s≠)rqLrmכU7d1뎗?p_^vΏ_i/Q%j^%YSUj;J%zqVuoJrW=J#b [ t=j+57\\UH r7sn ׈S*p\H ] sn ,ڕpA8{.;vv#2^(U*"v_X)׭1/UBR~qΎdik?j2WiI_\[cxUu\5dM'3뎗?pT/;~bcԷP*J*)t֘?pr}U]R5uko:VPd;`bol*uJUcjI 1Λ*7\OQ*s՗lU(x_: *PRFuko~JN=טd/1뎗?Jj(*3W+Ɍ'}\;^x^/QaMt1D 2ٿD7JRR%?̝ieƅmۊR2e{F[26(DyD 3!e^q;uZz뺿p;{?q>$VuoQv9 qEr^xÕ 0WWɌaP`c>:( ζPUjJ:Vuo~rY+qa2\?V~35H2muoV] c;{CSCmgǦRoRXB_Jx Wt*>p1hɌ_M]!U?ʵ\O3ɌcqWp^;.g8{k1 kJRYBokuo\UfIfܶ|w W&*!pgO%3.sx ׁTgmgƁQ'g3bL[UCrɵ UoQ,s-\;sm VAUu\ekekrrWUs v^-ó+dT>;zS!b˩WfAҬzɵJn WJ*qpb$6\kK* p=\?KfR}Td9*RΫKo V2++s , OVW" oLr vbǫ\fJLr 6{&~Jx{vb+*JJ͑-Vu#+C LdW/3F?pLQWFZ"  ,llЯn?g} YƶK>]:dRX߈a\7]{^PbVKf\r vreW:Z+ M庑lOupv_u"g5pU)\R%3~OVu#oUp<>-smx强k4 W0NɌeP`ag~M2vv.dƣlgݣ*+Y_%3~!Vu+ڬ^o=uH2˓u#+tBTuL2_1FVEz vȌv]v4VɌcR;^x|q} u^2强V*zdOu'v^rKש#.dnJf|.r 6{n}rᶘw꥖8аnD\]g/\7͞45잶~<* L5V*sR;^xÕ02WdƅÄ =o\rKfGrȒ͞/in闇{Ik.FpûJ=$)ºsʅ[ezT2ºL; ]b’kcu#~a;;{ƕmg@U Jn.?2J9/Ca:ʅ.0WɌgP`ag* vg{\w͞Uggw{E'Ξ^ۓsTeI}JxBk|Ǭw^8r 6{VGͩzI2MuoīlgǷxvvT͎iVE RPoڨ#^?Oj )t+ , -or[ݼ?uɌb.`wmgO@T-a)V73R;^ШU.|G;s: ֯ H)R; ӪR+$+^Rl{Y)׭1zʅoN0W'IocP`aWh gw%;\w]˴5쮶h}r춯ki#+KR+)X+Tʅoe~cB\[cP ;Q")7\ݾSvn|{mR؅R$]J9Wa꒢ra;\c%^\®ЃU.Azk2W+ʅm1 s͐8fsxBo\R+`ْx\w͞QFvMKۨ/%kxYB_lJx?WycE/?\>?mW ڽ^Z.7\IKµNۮ>6SVBZ%)t뎗?p{MBKa$3ޒ\w낧ra )\;^xõ;YupvGu3F_XU 1VjSR;^xÕ}ʅ搷vHf\h0s9UhʅވR$3Nߒ\wkuٯ~7G.v4: )􆣬뎗?pOB `߂7\WAzۙdƟ`./z!U8"g|vzt:+)2U.$uY2e+X W.*>2 Ɍ.f./2Kuvm8;vv6U}y>RSI }t+7\V\\$3sx W7*>C61WfɌg./Ϋήgm;&~4v4IXIg~Jo?o W *~#~d%3^ݗ\wkL6 ?z+df0뎗?pk^H g!3vNRJx_cVuoztSs8esx WRv[!vR𔷞*&)֘?pܨrA)osW+X 6>2WɌSuoQ^wdI?2뎗?p-JF{_ll.jeظXk*뎗?p˭r57UC2KuoftVgGl$cDcJ5RkXW$.rW a*WcpfB|Br5DR؊Dupb7%3Z\7+ſ6tIͺKU (+RRY)/JUI sx ڣ*W2\6\-&J cVukf\[I?z\w*\Kfmr$#rv,'ݲUIRR$rwT\%^9Bʟ^y\sɌ\wkJ\kdS0뎗?p-}YMPwbF;>^U:"뎗?pmruuR2ruo:fF߲Pq@,TfRg$^rϿQk&s]z{ , }AJGuM2qיu+ʲOz\3d`.`W(r]}T=b+cӼuzHdJ) JM'^K+W+Mi̕I2řu۩w?DmƆoPR$r^x50WNI72W(+`\+dƋN2W+?YI̕_2b.`WhE/>jmTzCcBvr v٥r**uߋ\}5JIf<|s BU" a;2Emg_̣^pƱR$l9+ -ϯrX$qm M)r ׇ$s61W+l$mg@SWWưR%3VuoUhzY2"w%k;^x!&\\$3>s BFw!vXl.yPUj0j$'Y)`W1kF1Wd3'3W+Vk$s%=i^6=˩~ztJ%H =<+G브5\Ùd3_WFksu̸B vW_6_\?UPj(+CR W+[> \Cd_a.`WT5If;=snd=F,vl.k;;EUd(5.)tI뎗?pͽr5ZR}Q vܧ5^2 u+PPLaldomb;KYUVj+R;^P8k,3,ɌW+Ի5\kdƍbuO3kF_} ˫>rkϓuCsk\}aHIf.׭1~^k5:2W\;^С*p\ ޒ}I4o$J$=TU*JJuVukgʵ\E[02hʵ\홫dƇW3WH`aWh~%g;{{o;TbT+5@R+X)׭1h~%}=1ǒB?\;^Ѝ*peB7m\;^P2mFHbgw1'P/nRmXђB7^Jny W0kZ3xIKb.e(7\"TdIB\!p--^p>AkJmRXBJ9oaZ_ 5[Rٙuo4Ws-zfrU߽ ֶ})EJRK$N_r\ՌVH ݵ sV5gʵ\M+FR^7\Ω/_)sU ^g6J ]&+57\Wv sm:z$snyb_P/Wc-)7\G\KUZ[cwJU7:JRXBr^ƛ_v|G uDR衕+4 W*Oj\'%\w(k39Ɍs>f./o*G} `M;i^Y~RUj?J]z֘7p:rW].)tr 7U\w%3^ߐ0N%=H2J+${Ku` Ŗ;l^l W: ^cJ !^#uoJWQU"H;sxy *pdFnb./o<>Fu6~_2XvvdN6KU(JxvrUc\i%3~ sևkR81W&Ɍ#O0뎗7p:f;52F1K_W:R%3Jxy*\%3n6\wkc$*3WAɌ.a./oZ[0!pvUݑWl;}y/P+U\2ZX)%7\\UHfܬsV1õu\UɌe.׍,o9Nu6~8Xv@dE!3m(*+UU2FQ뎗7ߍW΂^2#yu ץx/n.zfA}(Z-)t5TH0yU\%x\w뱨\kdƙ3뎗ӳl\ *nIξMUJuVuqr0>Icqxy נ*cp+N2XI:{]vvc>(:!)tĬ֘+sU\٘댤?nTzR%J9/CaUAzP28 ,lq+s≠q/r7{JUm2lgS@T$>rwW I\;^fz8nKomT"(J!)t|֘7>r%W:J#)tG M+ ^b_;\!]ReZ$ u8$o񝝭v4RiYBwd\]TJ\$3w\w]MUd g\w]Tg*e׌ˏfTr(**qe֘7T0pbҒG7b®Pm*W pd\w]O\/E, o X[ _ L_KP*+US2j?R;^P LJ0'q7\gkiqG6Xvxl.ga;O3UP*9+XRY)e(7\W۪\J\-$3n®7U4J\m%3ڏ\7]QU 0W\7]_/v^l1r`bQz J%aJ ,rwvnTҁ+1sDr*TJ\}$3{+ zq7EmgŶ3j\TBVI3`\w]YUJ\If\#sxB\s}"gu#ZBu6nކ+mg*LzJo + Sg5F2}uR?+\1M\!]}Ug}ݍϾh;{u" Ov4'JXu(+&)t'sny ה ep@nmvS* .RkwJ9WaJL*ߘ+]bсH4.1WЯb.׭1*Wp]dB?\[c%/6baǻ]*2'vJ֘}4tU\ЏO0֘7IM2L8 w ]!˙rP<+URr3Yf)apcrk\[cQ":u<2W%I`.׭1(sٳa:O'ԁWV_d\\uH=snGSԁ:\$3\[cxbU \0W3ɌUf®iꋝ_DB~P NR%JnGebT*:H r߬rU \a.׭1Whnzu{v7 K5ATwIR[cx \uzK ]s9WaU\G=ɌbzI׳\lg~b}?;L_Tt R%[Jxy R*W-p1PI\;^xÕ3WdI61뎗7p:{vNxj; UP+.R[cxT5ARK+$SU:\%3Nҟ\wkYg&g>o;UzPj?+5CRh]=\Ƽk#>1\ɌgkuoR=W'Z(q%7\?To~ggԐˁk V'.'ح]2՞xtve6eJڻy W80Jɵ_-RH`5\\J e;sny W*WpbMBW\Ƽ"updG|\;^xu~\;kdƧ3뎗7p5~.'l&ud۟{ׁfPj;+uPRwY)e(7\TJ K r\ۘɌOd./o6\[d3뎗7p=m/6bs!3N`GQRV7Ɍb\wn-+\d}D\IfsV~UzEpv٥ ^rWJRY%3;rƻU\If&^uoRځk=qM$7\mgCھ\Yxu%pK1.{v?U:CT Ɍ;c0%w*+q ^&$^7\\]*Hf+.F7QUM+CqpoI/ŋMkQ~?oCTmɌ7 5f \˘dƯc.׍,oruRj* oBqp]r抔w[br /6bb:K{bV*J2_sfuTz\1W'c/ndyY'1W7cϔG򪗄ᶳaY h\ԷTOIxaW0prB' X W*Wp-`\YxUԶc?}RBoX%3n_r#T\%9\Yx5h\k$2F7pM٢:{vOO5{Pj.+5^2X)E#7\N\ksMf +pfi>\Sxõzq8;Y^SJbfKfwr*Wpd\Yxõlꀕpnax]OPfKf|x+7\\5VHf+$ٳj3WdS2Fٓ~5\Әk$1FbWŦ^l+̋^l31mRW6Ɍomc\w͞*\%3^^\7kq5\SkdG0U\G$wB {8zWņ/6<&bgQJMbNJf=+庑otV>D:+ 庑or חuI™u#ߚY1[/${37=^T_-/Uh(5#qX)%GbT \\$3N2B {8 VGkj$s善w>rp=RlgJ%5TAɌ]f\7y* 7>c9W0-*pE3WIx~\!=oc$b+#ٙJ2mpVUɌ b\w͞U.%\U$3\YN\ʅQ2W-Ix׶d.׍,2w>mǖ?*C<$2d<[6%\Bi&*RT LT&&uyk_yպZ}NWp\.Z\YxNP_2ش}[yn/RIJ5̸k{Vyu ױK*.3W+IxߊcBn9'Y=29j' 庑ጻ_fΎ>3ݬzEQT'Ix[g\7͞U.\mG2WIx<\YNVill|#X7Jxcʅ0p(y+*ٓ 2a5DUu#+iʅP% 庑$WŦ_J3>~oWRc$3۔r 7{QuY ~庑R|65Um[`Vp8r^]xõʅ/kds30WT`agr;5]2Iu#+0PW.5C2O=r 7{}I} w~GpxCQxGU _bfIf+庑n\@7d/}\Yxus _3Ɍd.%ǿϨ^ gߴEmgIV—~"IggB(lܙJ}kd31FVBz _s0jɌWgb.׍pg~8OO`xVq8;êR:ߛ )Ѻӽʅo(kdƻ1W0Zk ~O)fO쇪7lggÞ궳gW$+GR¿Ffπ*VuP2eu+\֢ߝJf< sx{8K붳bxCPߍ:%)ϲR;^xlbݦ^}nߕ%30;YT.l]d&2WT`awz8;vv%s6άT}Jx=\gO%)nrwd$3~sx=闺7lgAn"TFIb\wk: 8=s))z 3gါZ n_>*R9$z+BaWhi Ms LRC`BO\;^P+ ]vM;TqIc\]%T.UZR7uk,o^mr!0Bِ BEpeكBWf;{RH֬TIc\ T.o\5%|\]KT.~8g.pW(Mp"]/skR}ߒj$)kX0p]K^~o[G]v02'T.`$9_7ٗlgLfRM7gJ =Vuk,oWߌ:J }|3sn *=7eB\wӦ*5?\%3s9xarC IKTU>\] sn WkU_UK &s9Waʱ] :̵PR%y+**-lw^FZ ~=P6+TrY)׭`ZC Zod.׭`j_̵^RV)~57\s{wwrvRilgo*J`6I ]) +57\/\ \?I \5\MRsz@Zr {TgDY ~vNJRUYI_+Jn WDd_%n>\Ƃ+*apUaB57\;Wwvv4C{zoJzVuk,o^r JuQR^;+*?\"s]zbsx ר*QpU` `.`<y_} J=@JO+)tY)׭`jH:uг1W0p-\rW9" -*Ipe]B1zoN/tb_lBSP +GR膵X)`V\: =3W0p-rWi*&q?qWpeo7OI=0ήvP+UJROR;^xõA}\1W9IGMfO[ WTU*Kf\7W0p Ju6~蝰=dqv#8*UD(u/+UCRΥY)`<2 *yp`Bk~3ÒuqW?7gW᛫iUIP+]½~F)׭`_Sd+*R UK*\K:sxшjr^!;u+o2LS_,Rbg`s9}#;GU2*Ju̸MVVu+oS sxHr O@^4U(U/qd8+ sj.5pgg*aZDTdpy5\2lu+f^V:18\YxÕTI#$~qxh*uJeIf<&+庑7\T?^̸r 3\7^Is H_mgmmg-SrR$35+ 5\qERz_2&u#+ZrWNH޾[u#+JuXJ5G2庑nt)[E';bD.I/f)єRYy'f`\7j+-17b®зuTu7s-庑n|ZJk$O\SfE;ldd_n_T"PNVjd%sRYfϑ*WzpeexɌ7fg.׍`᪲\uZT!~FdmqT(.qRMVyu _T~̸^sE6{&&\us̸Kor pzQGݶ[.F2ALɌb\w͞ T;Kfe,snd=F@;`;4alT~EU*3:+)/WX)`4E ̕$q<Xʕ\d2W7G\S2u#+dbѥ[=O/6aUT:RCd7/R;^fUusxh?r " {m4ŞqD KiA#٠TZV*KR;^x=˫\\wK xߍD6{FUSr+ s8xr 7{ҶPr+5sxzWr 7{NV_,>vĞq+1CU(*"Wٳbʕp\%%3=sx W x nEU*7JzTVy Ԥ\FO()tVXʕN UM2㊻u+9YUG2u+왭_~g\,b5U<(J5DVu+Pk'qfx{&*Wp]eg-\Q͞tl,ymgO׮g*UJ]aZK ]!Vu+j3E*K }~r wνrE2g.pY~ /IRX'z+o33\EuI m6I'W0pS*$$)}w3WT`a~%[϶EvRšVjгR;^PJz3sB+\;^oT{\c%3nА\w͞wƖvٿ]{TI(;+5QR:Vuk,:^\5I3g.e(7\{UR:\oIf\gi Ğvv i~ٴP +Rd[cP*:\3%3#ZwRʀs}*qn:륯7&JR'YB"\Ƃϫ*W9p`%>P B\uKfgsxBR1Z.qnZX|~7wٛKU:JNW+sU\1FɌe.`<l]R|n9}x〷߷Le*)Y)e(%U:\$1 B˫\UuJf\r wor=CuH2eu+Zbob 6/v,v*UJdIf$Vu+:AuZ2'u+*Wup%0yɌL强Jvv|i; UPj?+uYRrY Gϩ\5Kft\w]Pjk/quL-kיu+V"ovv_ RIR;^P*WpfL\;^+U\0]j\сez[u6Tm-Ύ*UJJ#)W+Tjv1W>ɌKf.pW">v2WaɌe.p'l|d;+6|%g6qdUPj+ubX)`ޒ< ud#a.e(7\9\*Hf|} , =_9l|[΋=7ktHc(*)}W0pMͤrłk sՒ̸nKr T8pmf`.`zzq_~=w~T(Vu+oV*WSp\$3Ҙ<]:_6~qv * JmdI ]0+7\mSksuf ]wn3WɌu+o:Tm{jsVFRXBJx ׹*WKpeB\\QUpmr=55D2I7\[ڨ\FJf|?snd vŗn]M/v3R*Vjdƹ^e\w+a\?0Ɍgb.`Z^u 쭳mۭ*8ZJM:CUVy #UZ\S%ޙooWr.7\QZJhwI#2VCIg\Ƃ*k?g.`VIjd;e.`zl|[c;,6.T(JRL)} Q*WGp-fEB'\QpyQkdYJ3W0pگ:qV[8{VU R$9+5T.Z\$>w>;^xÕ\2Ɍ/g.`᪚VokdƧ+*b{*B:ybUfH +7\M&\=Jfi(sx ׬)*ד~xh1\\=5NIf\4Eu#+of^ll*[MMRَr^x#^ /di71WT`5\\}5%3^p4nwkwdcq+[i;2>;mg_XK : 3=`^>g$3Οu7\˩\ser {߱㭰x?vvAwdJ)Y)e(7\#\OS!X U\y%3^107{ w,ymgڵ`Pj+UH2)ZǮ;^xU_Od 7\ókVcq[f;2OZT >fJK =B&`r 3~xDޖ!۠E!ed'"Kƚ/1vFg-5R(}{^_|99u\=\e$sVA5Y1WɌ_d./P]z\sdg2F?p ﮾x[q[]*Ja^d.VuoT>l# 7\w-D㐭L爪ԇPj+U_RY)e(7\EO\}5Kf[ s*W_p`g\;^xw3WkɌ~\;^xYp4nFl__qVuk,r0:()Kuko~rMP:*)tBNr^xurl4Xc;;+RIlg*5J aNJ KTX]'\qeB\[cД*$p fK\;^ux4Gt={1T&CAUIb\Ƃ]WU)\%;\[cxU5\IOee®*pvٝk~zqwJݕz8Vuk,jL~u_Ruk,mrW_jJ2_j2W+t5\}+dv3뎗??a7/6 ^*6W-_lRԇT&I,b0pJ +q+,+tJ̕[2u+rU@2㟲3W+vo5:+^JŶ׮k&/(2<(Ջ*")W+4UB2kuo~r{UZ2guu)Ȏgl;v]nQR TV9Ix9 er-WwzA2e.`Wtk1W5Ɍe.`WWBmgZUj1JՖ@Vu+uYZwduo'\KՅ^xkXvI8:;vvl&TU/.RYB_^JxBRz]2ㅥu+S_ZN${hSx=Ǩg/Yx«RJudޖ8ˬ뎗?/RVm"q~r^x|!AZ0{\a]gUg焳ހI٩J%@X%3W0:rKZ 5@2lxBU5j\C%3%\7{]܍~^b;{/2 åRLJcFIf,+Gʵ\o2xɌaoˮPTzHf

f(ՊX2X)/b0p5ݯrmku\R B7̷)^VRg$r &&\;Ք.H |.sxBo\ՄH }psx=hi#xEB`;C92n(՘QR/R[cx5ʵ\2MI״aoˮзUՈH sxB'gϳ])tOmg/[*J5dVfVuk,ZZFJI?\[cPfk?3WHRu+ʡ^.gϵ]){hCUz()ܬ֘??SWseb , Or̕KRKuJ.Fne]0;LRBt9fK %+57\1U/U I = sn WU\%Of./3Fupl=6.=vv٪RGTmVI+g׫0pu^rW-*')tߟ+,+T/U*J S7\w֪\_sU̸2r'3WMɌgg./jvo5:?f?}i~m$ڜCyJJ,)t%VuoUNs5̸R,sU3\˨\'UIfsx Wlcم왶04vv\;USP +RR{R;^xջu\dS2뎗?pr} JdƓ1뎗?pW]Ξa;{N3mg/\*uJJu:Һx ׇTzKfs֫*7\%3^\wmg'"[vvT+_RX)/u\3Wdƥw2뎗?pUΨr]W)>7\5Ei"3>vT.BXqJ9/Ca*Ⱦ5I29+,2\\UfHf<g\v~e \oBw 㮐]T"uM2Cuo6 Q40v@ * *Jݐz Vy *ׯ*\%3 w Wx7pE2=I{ob./z{p/ ("yFJ݆RORozIVuoRR s=")ׄ\w Rpxֶh;ۣ̻P+ArAQukogS~W~*)tX[+\̕SRCuoS+s:n!sx ozsq})t=IU(i$+57\\+sg5r^pX]Vo;`~u>J\;j+57\PW.*+)tX Wzu_ c{0֘?p=ʕ\9 n1뎗?/6z ^@ ]tb.RBT Ifa\p03W]IG%1֘?pERR1j )wy ephSp8Kz=իۡP*+TR/Ra!vWC++syBG`.׭`Whzu;\Yd/0W+F+A2b͙u+쩘زx-b߶_i4p<&+IR'VR[cx1+22W7Ide®Й*n<\Kf\ss9xɮP*. d`_\;^rx/k&u=R,}W+ ;c1Ɍf./<]UF؍:P=ȘI c0p=2\5sI ]sv~<:98`Hʕ\0I[U`.׭`*.ŤfLd.`Whh2m8{+~Ӷ]: ML*Vj}ְR[cx*Zݓ+AR[y ׌ W/bR2Ɍc1WX`aWh~My8{;~vEǫJBL VjɋY)׭`(vʅo<\;$3n֖\ƂsU.|AJfk sxBkoΎZ~#gIHRk3C"w:$) ׭1Z^?KIeET.|NIf<9'sxBk!sm=5ZcQiVuk,>^ᛥ^2s]̸[r v2VJwJ/uo~:8;vv}{T(uIRuY)e(7\w~ ,l$\w%3sxBu3N_ή8Csk3C:+g\ƂIU.|ڥ,r v TeJ/uoN=r-,强V{/^ 6L6/i^NͰ `=HU{|9»\a>,>T.|7\y%snG\؆~fB?ى\Ƃ#UgW~ ;Õw.yKU [OTQɵ\c\ƂFT.zיiɵ=׭1ʗB#s\l ,l5ʣra*H v+sxBu^PoVŋoHkKCZ;kT%ɵ Ud\Ƃ\>%I]1*v47ukoV] g;{$R|BP]eK ;zƣPBۻ\%n9*\Xr}\-$0z%8yōӔ/v4-+ZROQd. m42s:u +rc]bBGUb.׭1ʅwޕ̸}ze(x}7ʋNNBŻJ:Wp{xm]]rg>B?\w]uRhs ̸ar v=r!aa\;^И[/C)2-,+5ZRBX)/<ʅD;\$3~l1s6E"\5sM̸g u^ g`;46c;{v]iNR%Yr 5PLs̸͗r vhro>IZ*qdr󑪳kٽmg_Ŷ3NW*Ib0pr7H8s̸$ ,l=Dg{ǘ+Q2Q+u+vOuvm8}lgK oXB_JxG\H ]w?sxBr\ef\;^x5]2m875ΞvRx+VdƇRRP WwNHf\, B{Ʃ\uspor vLV9s]Tr 6{Q_,{E_ld5b<*2:J]8MVu+wNu]2Ouߪ\s" Xy:s&x.[="lg)]ՇRYJndBK\ Kf\sndBK\ ڧ7w庑|m"zK?a#zήQ8"l3z%=J}J̸@Vu#oU^$_yu k/\K›''s+kx76=?^U J̸byVuo.Qk1wY["H@wB*$@(B(WiJQ!(M:FB.(M:"Mz{eggu~ogkk0ɽg6ʭ3G,^XF^әDKg)K5;s^J][VZ":3~/^^azЙqBҫ{nkP8P:3./QScvdgQ*lZRi*(Z)3^ /z&U]gƃQ/Y /27`k#3娗,^AE152oF"zĉHks2W=AZ:׮xԘKDvwP[x^Mu Ư+ K^ൎz)K[YzE:~e{K׊ߌEO󋝍:h JSAR^zzz^kWWBgClO)<~vgoqHkƚ}[jZ^:׮=*^ൊz )+ JTѬW$VR!:TzٞSxh ^+B_8Blx)cnÍk/lRqRct ԜVԘKw^]ᵜz1^aYnzM)0+@jLevA>JqSPXZ/uV* UTz5zu׷+BElO)*z25OЩS/3^ /b;>?0;{R=QRu/VԘKlX^ZBbu s>=5kWox-^t @+$~#]ξ˫=ݻZD+^bm >By kN GyvzP?x-^?Zd ĻBkQyv+(Ni~fgvGJ\$Z)Sc /R7aOлP/UKGXGzkxWHz]G):۩J BJйmR͜z9wB,=5ҫd,HkEyp{~Eqv@lRi\DD >^O^C5z]ֹvԘKǻYz)tr%WMzmE.:]Lbvv0vw0T+Z:׾W>^#XI\;re{jLoQgxΩtf|(=5ҫCx͠^A:3>8zٞSxUK܈h~u~vm͵Tj:T&BL+e{jLױ8k$^u }-zVi=5 ^ӨWNe{jW/!Ჳ<2;{]RQ/hN==5kc#x}N̸]e{jL1u1R^IlO)J(\`vvSWJcvlƠRShWRև^ ^c5z)t+ :c޷) >^tfOlxov6&D{Gbsfgԧ$Z:ΐ4b{jhǟW4&RZ:?zٞ>s ԫΌ|Blx)<;xx^ufޗzoo \1s*ڙ_lqEXW.TjT BA+e{뛬DxES6:3zٞ>TOWڈzٞޓlLfg(;;M? g+* TBVQIx^=uf\=+sk*>^tf -lLW}k٣J}J}D+5XUkJٞ>*^ׇ:3*=}5 ^G:3>=3^=\qO@1;{Qfg^u%*5V*Z7JٞRx镳65^#$kKCI x}HЙ5+ pWpqC6;2fg?7T *L?VХLx ^stf|$zٞ1 ^èB߉^g7{.'=pvf+5*5V[ =kykP:3>_zo6* {m^gwbCĸ%~luM6gwAާڬSilx Պ AkΌoQ/3^B^5zԙʣDЄ9lgv3:;23 *5V*AN#g^zeë?:3aB w~`:3=,]XKJ!e{"5-Sbs#3$vH%]JCgƱ ilx Hz-Woꕤ3]c{KoQsv.fكXבTuB'䣕> FB w.ez3|xBe^«;RgƋP/Y=e>dX4_liLC`~SY"nd&6vLblcQ(Zt:l>ԘQswF2z)e{jLq[^]W6Bo[DB w^}z zQg^gw&[ŶD N_0v*ՙVʧSojJٞj[Z HOOMٞ[ZNԫN=^g^zUf;MfgwE ]%Vj5*ՑVuBJ+e{jL٬xG)/W@hPŬZxu^t =+{zl"=)t1zeRߣRizf@}T^W BElO UzW[UOkS/3^ n>hlv8Я|;{];u*A+HahW/&Vc6« jS鉁zWsmkZSV:.=+T߻D#B d{7Rh j@`>y%^+RЫsP/ScB;f8TTwkWM+e{jLTԭjIzj ->zzmW 5HS/ScBO^d]5\W#/]~r%_}iVGT9hB1MXՌz}⿹zٞSx\e;fħ[#&mb+jJ+5QډhlO)<ҿjB>׹vM+ pp< S:Xzٞ>v6^>@vޖfgNTlk/YE+e{j(kޡ^ t =5} kNS/Sc /N&[^xH573;!=w7*ՀV*ΟkJY^z5;V / zF:» xT>ZKC+}諬^xM6z(e{ivlQm:i.=}4)Byzٞ>j 8E]͉^%_lILVj?*UVjεJٞCSxG_a6:SGXEzvce{j(MjR:7=5}Զ+jPs:3qzٞS(>n:= PuIgƭ P/Y /*n&c  ҟ8<[#TuZk:ޛև^^GUz֙qLnZר:1xU^uf =+lg gQ yeg(nvlRUhzfZ)3^ /bN2Vgw^g^zYzW%3/^x[2;>8.cvX~?)T"TBC+e} x5u^ :3^Z}xzeOlx):np;m~ߵcwݞAJљ񔴴Rg^zd~WYUPgS/3^ /[>av@`ku,*UVNVԘKDx^%u 4 ^VJQ:3ӊzٞRx5^oQJ:3.6zٞRxo_,6/Pqw/h*v#蟨ԛR:3ޝVKY*Ix$e{KW_lflV*UVNÒ > z]ԫΌPzMzuc.8 יds>g^z-JԫΌwNlx)=bf~sok~wJ3Rg|o$+J'S/3^ /`«->7]섒#\L=;u"ݱKȗYUz Ӊd6'^zz]W!5RǣQ/^ /zc[DI.?<U]~; T XNK6 n{LWҬMx^t:Xzٞ&Sxz݂kkNHB\ kN7~@lOj)<]zIKz]v7z^7c7Vmξ=U=ȇZUÞ.WCݫwZh$[;Z^Rg_Z(.Pg^+BB+~orSg^K6jNK.]^ܫ]>.Wu8Mgu/.)s)zX:b^+z',[DQ/y=6EZMY=;=[6E?GE_ĝE?Uck(Eԝ5tn_r VKX:^/V:ұuHO^N=\ѣtyJ/tc:-U=XdyGlpWi襟tyCk/zD;}uEߴc'xŋם=f،!^7N>EӦHѱMB78N[,,;DN/zwDEZcxɋ^};}xұ@Ex>KŲ.,; ^2%韜PX:^9%G9? 9?E/N;$E6/z)C] EV/z$w㔥X:$Y9ӗ:G~/==Ks~3}n/zZ:Mkɋ9wYE2ם9K`xYۗeb~u;s~*K"ȋ~1;s~__\ދN?FtC+yOpsӖt+zяfp_rt*xw_sGWtc*R{wwv뎲t&*RyNHE՝9'st)Rx7lswM Kk^59}j37!}Oӳ8Wt{E_˝s~o05C#/;s~O5<}/=8:ޤON/ߛUdxw׋>;s~Kkj;^Q%镜N,/ԝ'G9WIb'y+7rtgtE/؝>9g̚E/){,o.xыtOqmڲ{ ƹӧ;cX:ENs/+8N,/@ΙC'\:sHN_+K; D~|g?ӛe_:s,c.tIrYT y)$xffu 4wPy+b_z Z h)e[lo:Ř.p'b].wX YB<}%9b%.Ē)ؗ?|?bKϥaqC9v1P13\*'?< cߗV$d-KI%g_F}F!ȾDc_ Y+mx:s;}=<us0}_B1"Z̿ل}b%P1Y ~B944C[)Ԥ˟HjLLj&I6/6|cWlԹ;8ҦQ+'⢘ T̚Uo-)~lyUM¿I}S& eS+6zrJ#θ`18{/5!%$u)NH p1 Zቐ}v~`_?WyNu%+ VaǀP޸K$pee׉CrV+$X0~Iu%+ D"- +\u)O5%vy_2Fy:TUu%+5b%cǭҚ+\uk[vyh1CR•]?e VcvP(WzvtEugWHa +jtMNɮwyNJWZruL6ZY]!p=x{Օ4J>걀]Ayꊀ+]i]3bGF4pfWAW xM_u+/î؄7^k U] gWkɯ Mx(Օ0v{tuftlyV=Օ*0z*?ƵbW vt}.Ġ<|2]]+$Xe W2vt} |{~+ \IUzvyF^;-Tue+ ƴdWjly̴Vlp%fWAW3< +;\UBU?ƕia\M+Z5wBI/T]9zĮf2{o]_}INCv.-o\5pŮ2=X]0Aypɮ.2{]0Ayz슖9V zYu=+3fw?_W]Okcvޮz2꿑]!1+Eu>ofv;>R%why2&N26S1nJ-HNjL lܠq&ݤ`3TjRϜt5ZIDP-jRx;pMjkQ͜nR bդ "{TL|&Ƶz5W~Ya[޸W]#ԯvީr0Ϻ}yξS&LKZ*si9)0qUT]ˮU2G qU9bϏ'+~Ww1+Ԥ ۜfLIީkZ\صC&]VN-o\6pdWL&'a[޸rlS]2\]wjly#\;C{bjgN+?\K8:..8j>ZXu=uvYk){Kǖ7b\uAf e-[޸ƕR]%ʮd9v|o5ozb)v̔œ鯸'vhT)$'uC[޸Q] \WLOͮ`4KT׋p]f2=m:|?9<Ȝؑ{5%JS"ǎI$卫UJ!ت{Ȗǿp]`WjǶ.ߛDq~67qngo:;S_H%UI2ȄwNߩj\˩:Ǯl2m]wlyRYu,r˄wpyvM+bV[ƙEΞTM:I啙qMm'[X*u]̸vvu\̌`m'[޸nV;S p;^Fή~LM2:I)w8q<^+]ed /]lyJ%\0 'SkIUARrRd]v<'{#˖7*\'UUM>g,[޸V]:ήZ23|odUqwΎ̸t3}դ#c23. czj(3 VS0GuՀ̸tcvSjgkng83ߩIDR9efܰ/'{k̖77TW-̌{e1[޸U]:Ȯ23;]ly>N} q;{Ro|<3]{-<Iz̸II`\gϮ>23.4|x]۞KuM8vܮ)ꀾ╗kIAR8A2[eמ ukL#-WUXvqeWzjg봁Cng/j:;Iq7SpRd ]'{˖7wԤA7MR&Ie]M>IMvTHո^{ހk>v,5fdI4WalB/..;^qMNµ] d ]0|x5UK΁=ܜ33TI-v1[޸FFFp}ͮ2/CqOu vv)t]0P;_w;B{縝]gTc$$s*9)[cq ީ]e]wvPj v)t5f׽Gjg}ng0tEngLTKIv1[޸JfP]o]Ge}oS߳p}Ů2]lyZR:) ًV]T $:/sr=4[޸oކk\uv/6%\_{Bڲ֘-o\uo:;lNIvv_դZ!]k|ICk5\LbWH^4ai6pe2~a&|ou6j v=)tzvkċɴ/'8sbwsO*jRjJs2Bgo|oկj*v)5f:V+Lae(7 TWV+̌oǮ`EWLsN-9؜^{{TG$%Sz8)[cq9&vIUŴ!IjJ0դ:!eS2Δ5fWk3\_L^b1[޸R]]Zʮ"2*|oSZgKOon)t8>\K+ZI)t?}&VRuusv(S7{k̖7'˨p-fWyB9.[cqv6vv;|4դz E+2.:'{k̖7GTWǑۏa1[޸fQ]p}Ʈ:23.]ly{ ݳ47]٫oBR 87d j^N*$jzzj,S谹5fWь7\Bflc/[޸P]}]mdf4]wlyJvO ^ly:LŪԤ"TGB;Ikh*Vd"$Mjn&UI᤺e(7UWf]B'Ʈ`2TU>aB.;^<Ol|0iدGI DRsRd ={'{k̖7I{nR 0OTjR,Nj̵|5 W ޗv5fU>bTB?*Ϯ`v)_ lq;{n!IvvHCNj̵IC卫Xo5 DeK֘-o\p`|B.[cqF5]e ]f |oUbzb-f`Nl\ޥ&5I}I-v9N֘-o\WQpMcZk(®`#k4\SٵQ.`ﭱGN1pMa6Bg.;^񷏖NlrM=]gTX$5%sRosRo*5]dyvFE5:"S} k,Wng|th[.VzIMd #$5 n^އ}v)tt55k\LeﭱBo/6:9^P?7IMDR92q)'{k,Gk\u[+;֘-o\e'5]d 1]!]G͵w"βtngIMj I=)tNZ1=TTFL =dﭱGip"W2՟]w Mvv8:KJk:{LILSId =7'{k̖7p`WZB.P([p'HXv@ L5{s;%5Hj8'YɖqR!n%^ǘkr\;v}4zBjXUjյ^lA7?BRC825(`v ]ly` v)t udzAfObWHv5]"FĮuOlčk*HK$5*'39)[cq鯺f՟]ef!|oefk\̌f1[޸mR;; :{qǻ7UrR23~y'{k̖7Oî23ߍqqBu̓7ޔeWgi٫m}mH]N-B7I卫6|d:$Mjn?M$Ջj-Sҳ9)[cqUS]ͮ2~]wly8Փ]]e ]5/Cq=AL^v8őL^QIz\;n='A5=TbLb/[޸ Q]Ս]Cd ] |xuiZWWv)O7{˖7'v{bc X^/5-xbwVi-ER]8d 1\h5f :kLo/Cq ɦՉ]3d |vqnFfDg/w;{BCԤ#2>P5f#U :SB.[cqVOO-o\NV]jϮ/df:|xUzb3.sO>y='~RZqRe }''A~S]kjˮ 2n]wlyZPu v+gIwdftng_ݗb -uH5'S)qRlyYMuxo~v卫|m%\-uHf 2WjggAg/u;^uש שIm@RosR'd 4''AU6NUFŽD-}9.8IovkM@.a.WήSX II])Ο9)[cq*6Ռ]d =4 |xUiյQfƇסrk+\Mu_fgQHX'fÉ=O0}~o{bUڎ)ê/+lFXf[w-Hյ(vqAe׸qk'\ ٕFfk2F-o\^ROlv-|;{bVI52/TH S]z]e?:-o\eKirݹ]+iIFR9<238e*k\ؕOfo-o\Q5UW,\uUH&j-4 :;':{ّܴڅkIERsRdfIy_ByYu탫JveCu5vڷ{˖7,΅03첻դ HŇ7|x5o:WmvUqleGU!ǰ.Y<&շr/WvvWTMŇ᤼.<[@Rݤza^2 I?ޅ>jpRQ2^~P>2Npʮf2]wlyj}^u:Z:*|xmf dt*C\ՙk1֘7\뫻1~7r_NTj8ɵưSU7\ƫ\?q,veX>jZJWU)) zBdcN:N!tZdu *3"ɵ\[cݭqW%z[rswkw[FgpUdB\P7\oݭ؂8sлtOlScɵ6f¨: fGvug*0Zɵ?|Ƭ:Y: ̵Qrgwk0ٳ>>LwxⵞST9vjڳS[cVpS+K deݒBO\QUpe]NvaL,w 3r;]7NʲS%^=Cf$ak]\[c7\U\UI = snYyUzELLge+b&{}d~NU, bS1N)IsnYyձpbso\ [*ׯ*\I^W *M:uMr흩廇f W*Yp'tkOǻ,߭1+V}Óh$EZ}ڥ:uNŲS%^>C><1WI|ЬJMS.(s#)t^e#*EpaBo}p8^;8[)t=M;^s*N:vw=gT*\${|ƬpI \'1֘7\Ps̸ZkE}V8Sqr]zKp*?;'TTp=B\d×07\Q+/sU?z>;^Vpr]USe mջJNqOlw͉mnTzZ2i7\[%dשADqja3Rխ?TvAdK'8^yufu\d)}+* f\7s%3|wᚯodOr'/ZefIdZJ VkwzI =gsxYyUʅ/s1WgɌ}\;^V|.ɞNf =NvS{8';CR)e7\ \w~J:X㙽N2 LvM ( ))߭1+o*T2^Jzz?k^  `B4|wặ5&{;ً5>N[h[1fevjG)߭1+oWpv$)+**׻\^]n!)ow`:e1^ ޱOu*NN͕xR]vwk.?\W8s)wkQ > geeǽ\;^Vpխn?NvNr Nz W&*aՒBo\QUpT.|$|'s}*\e?^W/™kdV`./+pzbpbǸ'XNsb6NkLfI+W*gdB/\YVpٮrFp%ɑ%ߺfrVps'廑e pbS{m9'pvE NEv3S;^Vplrvpz:")t!e WN* \'%3~!Ȳkeʅd۟d.ߍ,+oUOlyΉMȈ=2Tu 7ةKBYNEQj3Z}jM*)=rF QFJ]S\ vꦤmS;^]T.I\̸( ΐE]Ju抑e UY~ =ҝRV_Nv S'N-)t$v{ kf 7W~Ɍ.d®P6+`ܒ\;^]]*n~g|\;^=VE[*ĎpOl5ldw|CNԿOl8햰\aHf>vwk,3ʅ7*)qeaVMrpJYwl|]ѩ&{; w[=}M;ds]Xdp̸Old(ra3\OJ»jsndYqmϭndWds'%6묠N6A1m7byvd} S;^Vp-ra&8\ $3207\Iq*6$M?c*j֭R' &{;=dWНUΰSdg|w:EB?;ZHfsndYy|ʅvnj# o廑e R>nULd /;*k{1h{٩NOkSu suF%^]VKB-8\%3^^᪫ߢ8&{;#6/;K[NNxS7\TόSw&NuɧmVƠa`I y;e ׾*zq&)蟙wM impR%.^|wzʅL+8\$3N\5uzbvO $'R;5MRE9)/+o.&\xf9B\;^VpMV~4H =lsxYyõ:50كތ8>Nv,p ޷ة%BoZNxYyL@v o[Nj27\s\[;>xa FH_ZAs},qe mOtOOj|H!٩Br^<.rcBTS\3׏x|wZ^Fz \{dd.ߍ,+o UO,B9'ce%=1JU bL #'6z`{BrW{߭1+o6LWjk7s*)55f>{U\1EIX U:\K |wL uC2iWwR3hO"PI_vD4SߒS=n:qjP q-Tg2K =!sxYyirvK2w#Yr6O2 $:Ы-[uOloTS[٩%NxYyÕSjo+d]n17\\ 5sxe C+[!ϝ캸Ż&w}N}NlvwT\Hfs=sy/CApޢr5f*/ oǘ+*J\ρksU7ssndYyÕGݠǯP_Ż6:޷ezIf\;Fd;x7:5q*gUשN~<')k)ѝ-1s *Yj kd-1WdWrGu'B=^ [ɞGu%)')/+oP^/)# y1Ej 5URa , %Tڀks͒~ ͼX %'cl.]۲;|Ɍ)ȮШ{TZ\%3n|w"BR:=zG2cwʣzӇze=7թpj;=c٩0 BCZ\.s}$qImrurZ'w+ٳ\0_\;^͞/[4'0%=[©٩%nx@]!p+ru2!/ݙ{u +Oʕ̵G22+*ٓ:H C dL{Yu;ZNdvw++h3!Ɍǎc.fϪ>*W"b?|7"=U\=NKf+Ȳ0" usO !mtO졉SԛȞ"v{ hKs zTBuwiNS ٩+B?Ӛ +Բ\ 뺤бw++tʕĕxе2WdWhlwuцuq';/RhT_8;IR)߭Ȯ1WVI3UpeBz'>L;ُ N'(_\K?N= )n֘7\qeU\!Ika.߭1+oTP^,*()tve 1dN\nw؝3ULv*VR)߭1+oޟr  *-qr yUl5\әd-2WT`5\c\5*Kf\%'sxYyUGv4Bۤ9MO'I85.)߭1+o~8r %qwT5If\;kN} t3Cn]Lv d?2 SةFBNy/CApmWk"s5̸q چ+gk8&0K=;w#F;7ޝ^ؠNv]S#xvйR)/+oJSFkse ת4k2WWɌ\YVMMjN@w^l;U!Fé1Tлg¨nTp2W_If./+_Y߫y;q/x.yO@qթ1pj4;,)tFTJl*Xpb!B?\;^Vp 8rH))t:e Wb:6Bmɞ{3~Nv.x85')2 W*p gɒBכ\Q#U\3%Ζ|wW/3  v'}}Ng[U&<ɵKUc|Ƭ5\3"IOa.߭1+oj2Lz[2b17\1Y[zŝ2}(;T©v=Iӗd׫ oN?rM`Z#)tX Wb!k:1ZɌec./+o~Ufk smxhoP+7w;(JS ٩-B,NnYyõ5 \1vɌOc.߭1+5\;Ɍӯcb̤MvKLvKwϿe&adiIsjN@;e W*\p\%37|wJW恫s8t|wZz\}dղ3F7\;'۳6ʃWuj>JbI =Av{ uS ;N%fB ש,_N-S}ة˒Bf¨kk!z35If`./+ozUW/NR37\Kg&١~)d?YsjNe!vwkO\o+H }%kF]k1z0=B9\PGM;ɎE |ŝb[TNIf¨ Wlk)+c.߭1+wՍ H .sxYyt:;ٕ;uTކS]٩BVkpuaRB'.a.߭1+o\ՙ$3w#QUp}ABaw3x Cχ,2 DH2܉L1<2XsƎY u?ϵᄒuus~|zj1*))tʦ֘zF\xæR ϩ7l@6T9ɵ a|xr-0֘o^W5sՐa W[AZ XR*JJ\լXhK*:p\C$>]|BG+\ՄK x;snk~w \gF^`, P1+5Fr,TX}Ո&H}} m+~W4sM\5>tAu6^58箳*J5dfIC 3r(')É5fǣ=HkӘ{ YE՜ˎz1VSj3jJ}#TXթil$T!̵FR wk̎7\S\[U~:}~ We :0.6uV dH} +廇f=Tm\;%Nsk'*vpaB\Po%М[3aTR;TmVwRa!TnU<ʵ\븤'3֘oD\? :#)͒5feTgo؅^uvR@Y%NJnImkj2UIc3֘o~rW %?+,r.3TgsBO^:;U=P:+u_RY)߭1;pm]rW5z,)$5f㧬T}J\]If<snkg=5\r]׺>5V+J%Y֘&\s=+)^4*30WX`6\yOxMǫJRXLB_8Jn*!pUd$N||wxõu\+d:3?x._w]tz*J,)X)߭1;pyrW9*,) ?f>:UB2f3otR/xG+@J3W%I7Ud./;p%UNU.qI WՋ` Ͱ[[7UNART-Ie|xõu\%;3WX`6\\s5_wˎ7\+L`u ofbݶE3PVRR[cvZu\řqwˎ7\1Ts*\Jf~+sx+Evuߩ Vs9]g(nREYBgJy/Ca:]\"UR?3WX`eT*\1{|wxul|(Xup뙾r=P+ORY)߭1;p]rŃ s :8~_` Vq0 ; ZZp J`I ?-+5f#T\$l\ߪfb\WK b1sxkUm*^f8Ɍc./;b w})Ů*u JefH +5fcU\s%u|wx!&\7KfsxkM\-Y$u=M(Z!)>TXpJy\9;IwMf./;p\6Hf<(sx}z_ Vr}(qTP R%޾ۛ*peczsx]C.^bݒϮ\Po&&V/{bwǮJ^fJJz{[V*,ggP:&)k3wˎ7\\NKfsx*pea \;^>[y]EKu1-*JY+Bd|wx8B"ds07ˮХM`yvb#(SRiX)߭I*cpebGB_|wBBg\O&T{ Eƪ\ggk=ZkZTV*ӮR[cI*W3WJIb./;pr%W:J+qL , M>:_qu5%]gO*J=Jez?u mr%s̕URew++ipeOZ\;^]qTJ\y%3ו|wxrz 'q_l Ŷ-//v/6AJX JJzd@d^xʕ\d+0WX`aWi+eҒǟWhWQ 8Z'W%g4T Vd>c|wBBE\Jf<sxvV6SR+\oHfe3sxkFكW]g7ŝ]g'إ*J=JՓzZV*,®P*׳J\ %3}|wBB\ޑxT4sx2zGe]uv/6?ʣRIXBlJxkW+ 3_N\;^vQLJ d3FoڟQ=.:{06_\:{5UT"V;Ra!Tku<2WOɌb./;p9_UzQRJ5Y)߭Юй*Wspf\BGg.ЮаU*{Z\%3sx+:a"7\avfUoz* ;/LL_JdJJ 3QZkslF W*Z\%3^}|wxUqzi&tӮ^>j R5$3 W#*Z\u$3.0p;rj q+,:e+H٭_1ή{#BŬTcɌKJxkh^-1W3Ɍ7g./;p(r}J2QSwˎ7\Ξ ggv.xuRV#Y)߭1;pEǫ\5:Jf\1sy.au]yM2"+,r_0_ٙ\gl5c]a>RsYޒB_Jxk #0WɌc./;p%Xru5D2Zw#ˎ7\u6\5Kf/w#ˎ7\QF/v~ J8`V*,ajruL ql WD7f0Ɍa.ߍ,;pQk:s͔Ȳ ט%ꋝ} i(ة/תJRXyp WRTzWu\UgbzAO(5Z")KP2U^\+%3αU508Z#qgwˎ7\;a\gc\g*JMf~PVwˎ7\G\}5~̸ Wǡ*'\;%31|wxõypO`syGٻwJR_R{%1++ &0AɌ{acNP5u\2r wˎ7\Ϲξ}CGguqIvc|wx &\%.|wxõ:N\d}|wxÕf5\cd2WX`2\1/6b?k3/IU)|2z4+uORR9Y)/;pu8rkѣdƍ0o]fɝ+S|ː)v!"={"_Hd2JP)L!Jm(de%3Zy8η_:8㳬vZ5\3N\5zx廑ej3jΞ g:;쑽2jJ\YLBoJx+o?k01Wdf22UYpݮa#{`Eep(+MR.R1!TK~ g\B\;^oԯ-%}y<:{6:,Bwz/J`Vеb|x|r{ULRN06D AUB2C ry.s̸_b, Ol&v7Ol{0z# ÁTI[R;^v᪑W•")tU ׵*n̆dr0Rʅ ̕,qɱ廑e}KU_>q>>U/be+Љ_R1!T7õ쌪(u HkI*5U)\@ dBɵ3?Jnkm wLR#mwˎ7\3wTp-\$3nu|wxUlzG8;:5er`oRm%.Ԋ Wq*n)}Х;32w*.鄯3W7Ɍf®З굉o̮B^H=^ee+[RY)߭*rͿe.߭P6*2kdc.߭P݉wzuv٪RTOVjO3Jn+\ ;a!)3y]T.l†ݙɌڠQggr=qvGWr`2J۬XthEg {uaW()t|wB-{\ت 0BW\;^]WS=ξu,_:HU)l鄝Y/%^ڌ W1*vטke®gT,2XcU!_eHݠ+5>JJޯ@;\K%ξ|ƢGT ;2JI?\;^EK: 7a{A)cU _a~4Vwk̎7\'\hk?d.*7\o}rcgB\1ĥ]gĎWBg'lJqXt& M-sRneީr\G%ޘ|ndb8;Um&~\[̓7lJ\;a3+5f T.dak:/)ʶ6wU3\5Qi/1I#wˎ7\^PhwI2o~>KĦu؞pzY*ÖT4kJnk*~E [0B\;^vJAo ud3pvِuv5-|RJ "+B6\\6c$.k#*U^Rmwˎ7\OV!sUe&'\mMbƝ'vU(+U]RY)߭1;pU]rWJ 5*JpgyoW5` |r 뉽]gwZeJ ]q;+5f]T\M%\;^vz=2WKɌg./;pK_N.+'췲+@:˒B_.J #Õ;ʵ\dƥ0oާrZE2՘+&1\K:(uvaمsg:(J֘'vʵ\IO2㒿3o:P~׿kd{1kV.>;7\gh}s;?A`If|x5>ʵ\5\212TzFJf<3biAu6>=]gOzQfU6AI^JxgpUg {|wxuʵ\՘kdq/3oU/Cpux_:{Mze z!)tʬojT*s}%)Z6wU3\mʪ\UIf\?e䎪}/:{%.:;v(+DR9X)/;po)WeJ2eǣ3P J̵F2ճwˎTgpuHvk.($+3R;^vzzs!]v#1Ծ'[/TEVjebB*pU`B>\[cvZX] ̵? |xusl\r}Ћ\g_*J=JeVwk̎7\{\UNJ *7sn2ׯB˯~PF)\t+ ɝ\gj^Ja.I[V*&`ruCR[wk̎G'u\wjIoc./;{\U2H }sx1WX\p{B}bV:c"B1+5f#_rWIGR]+&/6\UrH }}sxku}J7Buv5PQV~IGb|ƢG^VNzPRKwk,+4$3WI`./;p/" λ.]go*u J=J:/֘oiJ.tRKT+UJrKY LKgUI]#snERς(sUwwk,}Z 28:; M.UUz&vTVw-ϴ+0WMɵ.\[cvO:UGR{ Wx2 R즅kgOW2oP+!}b~ 2WɵO5`.߭ѕ*Ep`B_.߭}Ugq2J%( +ZrR{h}4pu\ڥ1֘onT~Epu@'s~ Ju\}+Bai@u\yG 0Ztv60W_ɵ3<\[cm4lS6ξKשJ]RRoKrVw-4]s\3 IWb.=4;p=]\s 0^xõ5.Ns6:VIcgGu}>wM(HrX LTn+s:廇gZD k)Ùwk̎n? Uoؠp=9fMH*(,YoڌWR+sMzIuC W)*WpegْBNa.e(7\F+28:;gRJ Rs%׾ +B55\9ϫ\I9sn+U+=eB}|x5ʕ\0Bswˎ7\W7 OR}bi7l"ݬzɵa|xõEp3ϒB_\1p=N8!)el+\gg*u'J\{G2+5fT຋I } sn? &"uB2-wk̎7\UToOq} 5URYBJyWaj[G;뢤_dzpPW&.怹|x5llTgΰ8{Bu3ՔRwR%HVwk̎7\'U5f͡r ̕Y2uwk̎7\jNMpuv\tURYxI d0p}\ t̕]RO1WL`2\i_R+-s̸Xz 㪳t]%ΞqEU*;JJzm*Vwk̎7\rWj*,*Wnpd\;^vzxp5g7m"Ξ<*@YB:Jnu?n0WdƓ;0oRu%ql彺HBVNao5: .':pQ$J՗!Q>B1R X2e./;GǨ\uKfo1sx+?.3K|7xb#;>^=C,%VdR;^v᪗Y*d{u ׍x .0WwɌt`kZ6ģ\gTiE AX%9 W7U:\oJf<&sx#{\ B'뀟[J"PWV]I{Wg|wxdu-C:\C%.|wxÕG) dߔgJ2\Ƶ`H׳upT1(u%)Ƭor%4s}*)e#r= S5I2lswˎ7\?VR/Hut7KN]R'YiBJnkL=p`YB~0p UGuxCX- Wqq&:{\gO*UJcJ =|*+5f'\%uI UA *c:\$3>ٔ|wxÕV7 A둮~uvx.G:Jݬ֘oNeSJsmz_?*:\$3ҝbp:7"]!uU@_X=B1 /\eu~z`sxEwSʁk?sxt MoDJXuY ^q]U (:#)t*Vwk̎7\O.Dʃk/s&)jXz@=uU2)w++ԯz# W݂o#]U*Bݬ-Ie|ƢGg\OkqVR w++~cv2W&Ɍb./;p%V+|}⑮uv1UPj+')t묔2gTJ =1 , rU6%)ќ;fBwUOghє Ry% +5>40WAIa.P|k63W1Ia./;p=Vu6.q?.K^uvTu(3+UBRVP2v\5:\1]UTg*HfIv B˩&UqiUOٯ$j"Pj+UERyY)߭ѶZ*WMp\5$9|ƢB ϩ\׏̕,qAe`D\ouRIPj=+NR1!Z=^ 5`Tc\O*vu* ֱR#R{hv|?Q/, |xu*U\k]b.߭1;p}WEOxijT@5T[ɵ_JnK}.gNB]\Uon7Rk5suo+&)Tg~vqi1cVJ= VR%מ յ*W}pdBw\[cvjAjБd ׌g՛Cw..uvs-\jsn\*W pcB/\[cvZ_<5ܙ\_ܜiceΐLL msE$\(imVl!33TBQ %vQ8YϷsu>ྮ׺g~^_j6R{$ZC kmU7K}"׫0pүNFAR׶3WX`;Tg{.Q߸>8W6R$)C *WGp}\$/sn13ϒB\[cvẐY̓Dr}q]=z ֱR%מJ뇂*Wpekk\UoWk sݑ:.sVY[[S׮c~S~K{jݠjVɵ7b|xaԠخ^,g٭Rݡ*Rjp I`|xud\2WZɵgb.=4;pv\="$ؓ|xõ2&l|+Kٱ]=c-RkJR+Xlk g F ̕GrF廇f':\oksdCBoSEt]+޻WU-(*,5ojTk s\I)C #*W_p-f2Bw\UoW/;|Q;\gWvU]g?QCeJ-b*H}) jU%sntp}\5$?|x~dpbIfRV1X)=4;p \r |抑S_ W*W1WIg[5^Ռŗ3>wՍΞV7JJ%PC WRfk2W+IG5`.߭1;pP+I ]g/sn+X|;5j.خuKfCV)αR{hvJ8r l!)tr5f?\zH  RZ}X|6j8lWn:G0(.+5@r|֘MPY5DR蚳wk̎7\G[\#5FJ =sn&qV]uvʝR# VjډX)߭1;pF5YR[{ W}*hpMcB]bŁpggwdvƨW@Twf|BLT\ $%snQ/Gmq f(TAɬRɵgg|BLCTƃ+VI\[cv<~9rM$Z/)}Y]/G}:пr]3F3JMd>R%Vw-t5 \k?g.߭>S*W3NI\a.߭퇪ٟރOfPolLRXݒB7JF\S5MW;5\cBO\atpǮ!'%ʷT~XMRYB^J.wkszV m߱uNRh mSuvz8{HFn_Uj&J]G QjQwk̎7\W\5~zXq^xÕL.1-I3F2WX`a(v'6q^2uv굟T<+@RY)߭>ә*lp %!$~)-sn7Vkss1 m52Jf<.sx8fċl\H3bWT RBlJwOU@%)>ZH8z\20Wh(Cpy2E x+3iJ͇RXBJnΤ) J}*U"QjHrWU@Tqɵ e|BLuG\zZR.9wk̎7\_UmzFRAwvX`a(pz{s}"(Տ"vեXhӻ*bpeB|BG9\KՇ^@-]9\l8{&6VU/-RoR%׾Jnf-kdƒBw׫0p%r-WozYR+,Znm\JfbsxkFŮu_l;bSZ zRK 7++5f*ׇ\%q|xCk3WwɌ/a./;p^rW7zK2g^dzpl]@͊}qN{]Jueޑ֘oLfR]v]Q/R]XBg?Jnk|k:3I˾\[cvjDZN5VR2o^N]ggr=?:b&GP#+ )ͣ֘o6s͐ay ^Nk#3lI3c./;p^ԋg:;3vR JJ͗=֘oƵQ6s-KG W1zVJ ]sx+Evs(6'u.\Ga jJZV{ W*קj\$N?~jrmkН0oj:;uzl߮:{T7UϠTkVj+R[cv**J-wڍ'C3R[T+VjE6R{hvyQW;ɵwf.߭1;prm+uHr +, Wo\%s:  WWTle=/s_=/T VDh:(5%| *p묤O c.߭1;pJRv+\%|x$P &y쥮/vQo| ^fJ ?C W*Wj\7%51=I[b.߭1;pW^:nLΞl&LPR$טC *7jB\CSK \/ W*np5fB\;^v:{Kuvq]u)+F{T#V*#RUo^ׯiWC))t+,b ׾[p2W>Is`./;Z4g?g/r]Уή\U;(ՀzRrX)߭1;pUxE*&8W=3W)I;g./;prW=*/qX1n͏}̋bKW:^b*K *+5fՋzRUFzqJȩ^h;RU%.J+u\uVKӗwk̎7\ \Wm')t5f%Tg?g/p]qvѮGW: ^dJݭ-+彰+bj1WsI3lcjkTsq溟[$=ut٩ڎ@Tɵd|xտOp`B\[cvVN: URYwk̎7\LR]Ξ:;៛:UcP+[r3Y)*7\Y\?*s-)t+,1KTzJf|8snbR t<ٯdU/ϝRϱR$nr\?+H ]$sn >rW()XE{j칮BY:{l)(U&)),>Spu\=Ia.߭e*pUd%n}|BG=RWىc:ejq}>z,J-5Xh_veB?,\;^v*W:gkw 12 \?gOr= fno<wYQk(Jn+s*:\$NZ\[cvTC7kБ'{ ׁ'Ξ:GJ3t,I7WgB2$ _ eB\[cv~\w1BI3f.߭1;pՋQU'^:ٽ[h"p?Z&)Di}dxM`jZ-)Y5fU..b B`*mV]:{#R\g_]*['BOJ* )kb.߭1;Y wpəKI\;^vẦSgs5R3\gw`2Vjпe|xUAkG̵_R922\x\%.UpXIHN!gO5*ۃ?YcBJnky 0)I\[cvra8\%2|wBG WTgׄZ Uezv6߭1; dE3GR}X>*ʅ6pK *|wBG[&70_ΎC ]z SIw7b|BL\~'k{2Xh ~bqb,/H +JKwwAB!q@JnI AARB@P^|Y{L;rdz5g2{ε^Ia./;EA"C =궪~J/)tz{*~H ]2s>TX5SR}w++T/ Dg_-\;^]1 ̊xbOlNOfC[uZ,)GY)߭wU.|ӊ:\+$_|wxʅQgkdiF1TyW(h]%8{%؅Wuvi=|n:JmxgI}4nʅb_L\;^]45;qX^蛋ăMcku+)ѬXhO+ JI\2O2Xhhu :\G$3Y|wxռU\Ǚdog®Pς;p'(w}vN*S R$>{cs%MuQ2Mwˎ7\ǒ\%s]x[_Ȳ W|s}l;LSKU:JݒVwˎ7\\5uJf<'W0pUlrd'1WX`57\;% ξW8{NCJՆRX?$ +eU::H\If2sxk*W]p}\$3>|wxWg_8{~wg3BmJx+uz>0WJɌWgojz.3W:Ɍ\;^vzl|vN8{ٷ+a ԧ BMJxk~%1Kw\;^v*zU^!\e<Qĸ~9q\gj Ry% ׾Y*Wpf\ap.P*&ke K:v]9߹QC JbJK /Vwˎ7\\*Jf7 ׳U\%3>|wxõ\ۙd9_g.%7\ک\IfhsˆkO'52WsIxF3FoQw1qmRU j#Y)ߍ,;pmYrzC27w#ˎ7\\I;#sndkXSuv4]:rR&Vdy"Y7p嬮ruF+ o 廑eT\$5|7xEQ*Z\$ݾ|7xgKo[݅B'@WUNPj+5J2AX),G^~S zJ!3κRZDgZVjd)Bﻞl יgT.Z\$3>_J 5C2w#ˎ(~UΞ8F oBU<Ɍ7DZR;^vFd3FouTKfܸ sndknUhً?uv#RݡrVjdƩ`0p?r2$BX5 ׇgUKfsnd]@È,:{ 2ξ\ZJ-aHf8+eSU^Z\$3|wxի\d70Fo^{SV$4xu^l׋=L|z.J}Jx\V*,n Vk!sxKeډ[eȌNb#T7S7ކRR$JxhfPks]x|& W*W?pg%3,|wxõldAװo$UCyԏB ׮K*W,2ϒ/\auk0ow\;^v͂7'\s}bsWC)TvIb|wBB+|q\y$\;^vژIIU@RVXyE‡auKW:{~o$J\{pVwk,+4z!ƠTA;*tU2˻Pj+UJr Y)=Q:*(p}\$_|BB\>sUzF_kuvu-vnƕO} R2JgjKc%+廇friTzJ Y]X`aWaFk1WSI 0XhWL=pe֒BǤ`.߭Ю~v}b#}bRưR%*+廇jOz\ЍV1֘o^r}Qй12#ܫ: nHKq}⨪(.+B礼^B Ϩ\5H "snvrM*)GʒBꆍA\uuzl2cޕVwk,}T&5\Ùk)3֘oPksM̸[} ,lMo:;5Ak㱹{JMRCYiBwYJnbcT\s$}|BGecUzJf\:sxQy%gO6\S RK%Y[*,p bՒB\PoUfk sm̸@ ,l]^\uZzufe9Pj+URYXhdk.bI+g`.*(Ո+oX)߭1;p5r} r1z|Tj\S%.+pRu6u\gODZv9{ >W:R%n *g\ $4|x592Id.߭1;pYˎAmKgyԋzTVjЩR[cvړ_:̵^R袟2WX`54\\_s},)t{nM)0j2.Ɍ3e./;ptWX, jOF?t؝U@>IJn0KpUgBN\[cvኸ:X#u;RGT5Vꨤ[zZUc\$Zu\U뼤i^c./o#۞p}wVRyJUf.K >7+5fT\I }|xX\UnK j W:*W\$sy/CarH}bq:>7S㌪i(Uz )t߬TX5pԯW9SRZwˎ7\_S΂,qxJRΛwˎ7\wp<:!vv=z'*J%:WAVwk̎7\Eʪ\U"$3|wxt+\_s8X2@u6.Ug%@kࣁ* *Jf2Vwk,}=^̕I2q5>.;}Pu@\|]MxJgJ ->+5>_vb̕SRJ/2֘o 6R.uz5\PxAPuvnB:ݪRBT!IbY G\WUK ݪsxQ0s8q 5>r]W!$qw++Tzo*OlIx)]W?yb/P} R5$~;+emT*\$30prW~抒̸KXj_u6޾Tt]p鄪P5Vxi}tVx\2W;Ɍb.ЮЫU[\$3sxv\Un+/sEKf sndk+Tp&ɯ}b^ӺR%]V*,RxSQPU RI}YU(')tXhuGpbB~|wBGQ+'sIfk2 m%^›rc]:;":OP*+5ZRWY)߭1;p_r+y22kU\S$3NQ Bogu=zuvR?ClLI_kJn?Rk1XhW_K р|wBB;qx\Pulή_VUzZ!)tX)߭1;~c {jEZ') U2!0fIsfa:u9 J^l3qg_UߠTfVjwR[cv*9H\kK2oS Е[3oPA\g¥]g=*' X#BoJnY22II\am^RuV2}wˎ7\sFР죸4~nEKC EI+`|xÕ\뚤1֘oWW:)qe}UgK>8d~ƩJŇRϱRw%ږ^x5l wnQjo1WT@/k_JPY W*WBpa%׾|x:ip&$.|xN;|bʹξUJbI( ׻9UJ\%~a&sn̫*Wp`B\Pgyp=l:{ϯ:AwUPYV*RRa +"+\a WsdrpE0Kk?\[cvZtWxE]ggBZ;zۃ@gXkGw͎7\;k##J ]sn|+\ɘ e*bND\ς+)s:, W2-XJ__dUGr틧wk̎GVT 0 |x|~8:{8]uv .'uvROB$TR{hv Gکwk̎\Y WJ ]s K#"[cDgٕk"RRkYJh+ \]r2֘oRNV>szK,sn ip\ B';\[cv<+^[}=  f'մLP+5\r ֘Oʕ \wk3WX`7\\πsM:, W斪Gم\gFZ]uvΪR١mVjڛR[cvKz\k3kwk̎7\Y:p@AB-:`k#OD(u/)tVw͎7\\ρs-z^Ik+'3rIj\ap:{4]uW}k5TrAkZI]a|xʕ\Wk%~b.߭1;pm٨r,)t95f}?\yuIf|9 WTڋ ح=9}9SiJ=.R;%ޓg_;{T|\%^|wxÕʕ\d3ovƩ gw]gj*γR$؉ mr9:#)>S*uIRU}eGUg>] ]go?*UJaK |+Bah50N3]Ɍe.Q;*Wpb\;^Qo`w}KVΞ\OQJ$%zVwk,}4N0WjɌ\;^vBz\Ǚ+dR32UgO:@SΉs]{KP+IR贑TXTb$3N|BGYF\;s=#֏w+}qpviu]R/CT.I/fwd\zu*hW%%oT~Ia|x2F* #UXR膥n}t 3W1I?ԇ m嚢T gr8kNq⿝\]D)(u*%~>JXr Чz2Xh(r4~eJB\;^vJ;X9~uvyyOS*R $MVwk,}Tc4(U*/h#&oW*RM%^C 3%9rUn@rÍw͎}K*\I ]g^x5z{p:8eǺ.h7"*BTGɵ&Ra!V*ksu\pVC m mrUv#vZ5>JCu 8;xڅvXU ( +5PrY)=>Sc*Wp\$?|xõU\ۘk+1WX`5g mϸN@m;L\G&JM\{yVw͎7\) \ok sM\5fEUs}&Gwk̎7\יf\gOp䮳3STR?Rs%׾C *;Jc sS*W,632ɵw>Xkdv:61jIg.߭1;pͯOb;y}RN*@:ɵmg|xZ60&ɵ/\b.߭1;pzAugpӮzU cH+廇f*{Z\;$=׫0pJ^gu̵Wr2WX`zwfY]gDZ/uvN>Wm(-+uHrY)=4;p}EoIO\{hv*K 딤J2֘oTk-s]zUe ׭DƋr_ i{jVꚤ X**\붤1֘ogVks%J }lsn*W#p$dJ\[cvj[U9^S ra?{OU1ZJ=&)yY)߭1;pr5r抐C/;pDj e̕Q2Xe;s,FfR ר*W0W6Ɍ\;^vz \_1WNɌ\;^vJzq.:; 1Qo`6RY%3Κ *W p-bB7X\Pc\k!s$+,uypev4s]TK(%+UR2IsY)߭1;pmhr*+wˎ7\-U*Jfsndkq 3WUIx?FoJQ_|-|[د~׆J}RJPb# _@LRru{R#>RsY$چ>LP*\sd1yUvHf{|wxõpvFx7 9{طT{(5j!)oru,j#)tŲ z#>c\apm:K8 Mqi\*ٹR:AOYB/jJxj+\3dƗ0onW: .eǣ F:#vT(5")gVk:s Bwd.e(;wWxu@ٳX{YUJz~QV*<2\n\5H =x;sn=0LIgWb./;p|D\kdƛ1o^\}>b%JRXB(Jx7&2Ig'efrZ%)te. ̯tbAirB7B$+eU~\%^sxhQXIR>˘wˎ7\yWBGSo RcX_$ޝ^xU6ʅ_F3I/d®ЎT..t1sz) KN:{ ~HqJ%@Qr Vwk,+Ԩʅ_ F2IIc.߭ЮP~)pF0yI~\;^vjS[gu!2[ݪR-`8+uERY)*7\PK0%)Xʅ 2}Ia.ЮPpvg:Be~-BJ N"v|,+5{[¯_QI'e.߭ЮP@o ̕V2:טwˎ~+Ԯgϯ: U)FP0 )tᜬTX]T.BL0"%^snv\Q;抖̸]v ϩ޿[ gr18{RMq=zgrH = +5>Q\Usza$sndʅA_*(q ǍW ~uv \g*AVIhJP>*;T…7sC!Q*1d1WhW鳪Wُ.8;·Up7JU QjJxmmokЃHf|wxõ"z=UM2F{ Wb%5pvJe;q^AU =nT I}JP>:TUeǠ+sՕz mUUp/\$3>q|wBBkkcĻ^_JufI +5>:b.e(7\\[sL\apUIa 7dur2FoR0‡Q[%]wb6SR %JxT+gpUa8Ɍk`./;por7dƝj1FoWEr]%]e 9{iv(Uj+)t٬2_\;U%3n0WX`AA ]2 w#ˎ7\ʩ%oQM퐭c{T_IIJxklMk7*0Wdm0o*SP_,&4/X}1TAXIy גK++꺫H\O\*5izq?*JMVwk̎w#kT*\$ny|wxl+J3<Ɍc:2o oVUZ$Ţ彺k^za/v6դO/O{b!(UZ.)t媬TXUpr+̵F20o&T$s8n3sx6{W~W ,q廑M^ب۹/v}Q(2+U2ͥY)/;pG\8sJs7{VW1/ oN廑왙C:$1FVho7+{/ UPEVd9`|wBBF\'s̸" m$QN(s]wovȲ W+]e'Rgo<:}USP+u]2W*Ra!v%SWa+qݦ廑y>u\/Ix>\Y͞]*Yp$%Mf.fO=(+؟^r}NJRXԒOd|7xÕp^:J'q+ޫKo2\U.+?seCd6{bD]t=$g%e;E(8r(5-6{&.T.yzF2Ùw#+ٓ|u\y+$w#+S,z yQٙg<쿲@)qXzL \y+N2=w#+I,E+'uv'|!r7jS#)TVdEe|7~JI 5H2'1FoҥWR+s 8O廑e#U{e\gfbڪRw@HI^f ?(U_J kd0FoV5VҀ+sM̸@AȲ ׍uA肳G]]gȪ] R%V W\*WZpecxɌSe./;pTt\ %38|7xչʕ\Z"X ׾EC4}SMU P* +RR. U\%3~, sx+% ǽ:u@ڵH&(")R;^vjreWF))tӚe3U,\$3|W0prEKf|: FˢDăo {Ƨǹ/BY _$+JJY)/;p]AuZ2_3oJVUN:'/eO\9.Jf|h snddb[!8Ȍwp_ƹRwAԬUɌ#01!T*WNp\7$3~h>sxr+R1_)\Yvp\9$/b#~VMٷ0uv.R+7Y)/;p-rm* }5⻑eZpq5LVJ ~gJf\# W*=8m) W*WpbҒMe.%7\GǨ c|:;m\g]R7Yr 7ͧήr $;wˎ7\}T?o1FoUoa48:\q[ٓEU[e"P:+US2㔿R;^vzI(1WɌ[7e./;pEj\ s5 >3ή8ݮ8*u/J5̸MVwˎ7\_R s q:e&TJf|;|7xpƒc4ovuv2 HI(uzIR?R;^vU^\?1׫\;^v*^Y\uɌo\1Upׯ 2@h 4*:zoUEVMɌokTpk Ul\P*~dI }c<+5fJ{TuJ {sxhV5DR1o^-ĵSVqtU^a4:J}$)tڶzO\e=szcS[* s5QRwˎl",G\gk]EP,+5MrY)߭1;pXr=kЇR3oWʁ s͗bxk5ٸv=W?Sj+#Էbɵ4cbB' W*ף:\+$׾T|]2\uJ 1sxB՛r?8FlVa6K +5nuMRI!dE ׳TJH }>sy/Ca᪭Eogu2vn2:J\|V*&@vn 3WB+\[c&vn*17B'Mg.߭pW|oٸpg2~=UjP+VװR{hQ!*%s]HenkԋeG\? 8_tv] <R?K=z +彰k*Wupa_%Nub G\O0s.)5 Ur= C5,Ѕ`.߭pWhg1b%{wWK,*]@ԀRYkS r$)Uwk̎7\\Ok?seMXJ:wށvAURX@z\ۙd0o:7/\g=uU@mT}I |x\˙kds0o=`!~wvٗZ70_RX$>u W>g[p%2Bg\PojmUy[]LĥL\t:*J-eImV*&jinUڃk sd33FI5fYUԫKub\Uk"Vj}R[cvR_z \3nI\[cv*Xz\ u@Ru+&Z[-TWxg Wwؼ/6.AUZJ\{Vwk̎7\UU\g$ν|xj >c$u*sx+e+,lr}~:d3Pj+uYrQX)*7\Z\]5I }sVwո \V2c7ƷłٻUC9k/I[$߭1;pU8r̕FR+]wk̎7\wSzksez% c/h70) FZqٻ^Vo*fR$^xU ̕KRQ3WL`7\oWD =[z#PN`/(5/)t4>2\k2\5 K } sny pMeB/X\[cvJ]A⻉:ّB:RU7ԧT)I f|x5t\S3WL`3\7\q\:+snE j߹ ֺ. &RU%>+廇fO\ok"s=!)t ג:*\H c.sxk˻`GBhEL3RU')=kX)*ǿǪ\5I =?sc$k1WsIOg./;p]ٯ:; uv xuoTށRcY֒BhJnY]paBo~|xUG=p}\$3N:sxBMg&VnյξP9JfK ] +^k3kF1W/IOc?Rk$sxJ W*ޑxSe//_V/2bkp_^R@`I'a|xUv)0Jpz wZN8J gI}g[cv!1hI\1Upr P/)enyKQ|=X: v=zyn"\֘oݯr ))tņ5f:eTJ ~ U>s%H >0~ x;)t;YUj$J%J =z+BahLk1*Ie.߭p(:O ̵!.& wWNtYUc]g*1z&)X)߭pek e]B\[cv<~7r] wkd 22#|Cg/uqS\gwRG%^L G=ǃ?s[Y &}r}~dsw+wJuvf8{~ٮߺ*5JJ}/)tyVwk,>5\o1%IGua.߭1;prMW_E22WL`aWhvUo4 uI|:imu+T+uSRN)Y)߭pVk 0ןBר\;^й&*קzFxr wWξBX:DUiP7+^RAX)߭1;p5rMW/H = ^xUs5\=+d1WL`aW hV8sSs֊W "gBY|Bg|UY\%^?|w&Uzx@j wFِ:9(՝_RiEiF)߭1;p1ǃsbo<уKU\J 77sxBgpBaOƨ7AWYʒBjJnGITՅKfw|wrT(]>}SVW:ROK = +5n-r-W'+)=wk̎Gkʵ\0WCɌsf®*W^ff'a.pW']x[s_ ϡKTKI{Mc|;\ՑI =vsnB\Ձ^>eY"sٟήtPoM%P=+URBY)e(7\ \KՎzJ pb B]UՖ$3ލ|wLuc4=uvsُ_dg멗AYBJxs*rpaAB?t|wxÕykZ3PɌd./;p}ZZ V5R2㢕?Up\xsy/vfUUP%+5NRX)/;pݝr 5I2-wˎ7\SրsMxW3 siK]rmW#.q}ey\Ր&xM Wʼpv#\g =7ATIJnFk33WI1oUs̸=Xe גٳ\g|uUJerK c+5f/{\[UI |wx5>^u@~8]W{逬 R۠cTaI#X)߭1;puI^w-f:JM̊*JnRYk$J%|xõ%j1׃kW<\UoVv&sU:K^ چ*Np=\U$\[cv:=E}b ≝>qi|dMݕ* J`\ɽ֘oޝrWu#vJ5fE U=cFB\[cvʒQY~uvY\u{w"RX'$׮g6õ42W ɵGuf.߭1;p(rWzFRǘwk̎7\.. g'ήT'ٳHjRP2+^rNX)߭1;p%ܮrJQrCwk̎7\S3\U^:n 7E]gH#O>azJ =2+B\a')tOwk̎7\ Us.);wk̎7\Tor<.j:\ ̃P<+/)3e^b1B?{|xõu\kЅ1zTg8KR:ʲRS$׮> Tzޖ3vu \ekϴe./;p5:8=uBxuTEߠTiV*ErVY)߭1;p]:k:2֘ovfRNs-rs ,lΞ:{*vC\gWi*uJdIݪ7+5>QNsfnir̵FRfcwk,}r%7]gꮿx7(UZrX)߭1;p^: b̵IR$[cvS:̵]Rf+&}ru\EkdƉՙw+}fiI70/@¬/7}nխr]W!:$qWwk,}tu \7Ɍ^b./;pȡ^v,g'ތG]g7,^ Rg$^ԃ^xUu\deny7XZJ |uM2řw++4y7\g.3QJ%&s]Vwk,}|R<̕^2Rkw++cL'd.ߍ,;p-^v, g'ξl&tvP*Je[Q1!֎Pn^[2.3Wth8&r3WɌ;b.P+ \0W!Ɍ%2FVtW6-'vNʂORݬTqɌEQG GT4\%3,sy.aMbp2Jf7|7xV>gg_ͼ*-+xI^xUʅ]$s8wu ƴ=6Eudƕ0竗SgON=^:2U)lYB#+e+U.΃ߘd{niDx5*ڹ1z@273orNWfC]gg7 p=av1Vdp*')]џήgʅN\p*Jf\sx+iʅWp$38|7xuz]:=uv!|s9>uq6!VнGR;^v^[B"8\%3nҖ|wxÕʅt=8\M$3W0pU:=uv%d]>8QU im++5V*&jgr! 3W+Ɍϼ\;^v᚟r! 1W[ɌCwˎ7\U.~a$3nP|7xÕ|E}b6@fqzbg-mzd}YΒg *{d~f.%7\\x7\}$3>^b_Gt[:52]gn*Yg|Ck i{kdƇ3o~nr`7s8Ȳ 8s-8{vؠuw}U{[/qo,W J Ryd$> zč* v04I?\;^v<m*!eǣu\Vav]մ!<+vVjЩR[cv j\P*\$.Љ|wxÕU\[kdc.e(7\}RTg+uv"Ϲ~#UzPj +ЩӱR1!T õ>63gB߷|wxÕn\kf./;p-^N gs=)tή?] 5RYBWnUr5NRKwˎ_ZUY ky( :{)R=\gd.VR߲R;$+BaEN a$t|wBUkURoI4|wBp_˱~[OƫJ=ֳRG$5nm:*>R gTƫROBuIɵb|xõk-s\;b Gci+Cp}\W$>|ƢGeTk sݐ:N Sopo݋oOlR͡ԗI-JnE=rjCR-wk̎G/\+Ћ'22Tgp/٧CWٻ6J=`rJ}b+BaVV2׽kgJa.߭]*Wkp`Bo*\[c]5[ 2uMwßOCY"kwJnEr=URrb{wk̎5T6J +^xÕl8;!ͳƫJ= >e\ެTLӣUJ9nMr2))65>l :v_uEUPj)+UWRsE9}4\%<|x\Jb}\3W )tZX>j<\Ŋ~˭:<ٗT^RR-%^Cnruj#)tunUry2XtE=#҆ή~E/#ĎPCV%IJcRxK~U>6m]/JR$׮$+^h\S:k!s\{D ,3N q]wk,}\VxO:]g_SR%׾+廇f3zi[]5FH{ sn;T/+)_wk̎7\Yj]ԄjwvT7(5,z#*WwpekbAտ g$Isd.߭1;pؤ:Y]!Hlq}|T(J%K =C W*WOpaB_X\[cv{LIUg.߭1;p9rlHR퍘+&JԫȌÝ'6)]'6U% j(J}*)֘'\kЛ1֘oQ^׻Ч3֘o4U@%3⌳:ӪRLV[I?Jn}{?f0fIe(7\N@"uHkq0kPVɵTLUpUr Wswk̎7\gӪ]m')oMwk̎7\+P-:,)ev{_tصHv]U^RYB坏֘oTkszCT!\%&sxF*&^w ruȡPMVIe|x05 \S+1)I5f.Uxp%2WI/e./;p]:] 7mfp(+YRiY)߭1;p-rWsMX W*HpMfܒBr|wx{U~uy|E{vURXBJnkSk4&2WaɌoa.߭1;p~qe1-gWrw JZVwk̎7\V\c5H ݬ"syWa᪭qUA2=3WL`u6\PswJ٫PŎRcY*B'ESbgpu \5jH ==|xu$5\dO3֘Fz;s];CֹΞ4HUjJ5:֘oū\5efg ] W1*WF0W Ɍf`./;pu8:ᶮ0\uUހRYg$p+5fbWUDp3W{IϬd./;puSaQR%Uwˎ7\3nS dU1oNRb&6~ʦr%ksMx xUZ-3_Bk!J^cH +B7\\3՟ޖe70/~u@ХNxdzSq&J+){X)߭1;pr W+ERWwk̎7\Pf/s- Wn:{,REgwJ%C>bIawpާrWoZ&)Z|Dz\kw++Vb7uvR;^\:J3Ȫjd% !@-H%GE@DRi ,9HPrAP$Q bQJ|wU}լ~Z/?f7j3Ɯ))=X}ʵ\}k#j3X+ʵ\려{~c./;p효:;g]gj}'sUB^aI7 GS's}')טwk,hʵ\ uR2-әw+ZYpkٻ{Y۞+TVꌤЯgg|Ƃn9U\%~!snJk1Ɍwze(T\%3Q" BO,nC[OQl.>ǨJR]XB2+5lr}WkjrɌa.`Wh;*Zpuf4_|w]轪q$u/x~*JJe U$pub,O\]T\Q'=\;^P5^܇ ?:6|qszC(+GR~IW}Tʵ\/2W!I'2W+ k#:0Wd0o>r}d-V2Fo~L^ĝp }'#g<>Q/;nRYBG'"®Ѝ*fpcxɌ{\;^TՖHf vrVKU殳"[-IhxN\* z))ԒJXrmW'[2M$k+c&\ޫKo[Un:$2\gG'=AgYg$3ڄ+ʵ\Mc.`Wlʵ\C|w͞Ug\짊gw:{DUP%+d#GR;^i*קzKf\sxk:,h8Brb3qT.(Ղ#)t|TD]*np5g\;^P*gj\C$3z|w]A=Ugcu!RCpI6g|w]7\{ՄFKf<sxkk/3xɌJ`./;7fwp# \_:WRT#VIc"B( 9rWC)w+zu\ ]Ɍd.`W(S9.8.~1#=Q2P>+гR;^vF:z̵\ReT/U>"^]xÕz=s \gOrNgJ}f6H /+B54\\_s},)Wwˎ7\\UvHf<-3sx%N\Ow=wsba(U\R Y)/;puϮrWM: )wˎ7\a(j0!ɌTgO J\s]go^@JUgvVwk̎7\\UNH =$sx*׷\8\;^v*uJbI |6+5fU*\oJ w3sxk9& 08ɌOb./;pɧbU\gw짊Ξ-(,)+TDUpU-rW>!)wˎ7\{T;\$36w;wˎ7\Õ]g@^eUB<"IưR[cv<~GrWnZ&)t3evo\fՒb.e(7\N;Õ\gƎwޓ^QzrR%~cV*"jj6_Wף̵YRe4P2pdmBwi\;^v<~xkUkP*-欔֘ʕ\9k{0o\) ޹|0p]:{$ ~jIRT6Vɵk>JEP/}\K ݱ(sxB [U4\?K ]S v⪨דp.[5ЮR!VWɵWd|Ƃf*\$޷|xõʕ\I+c®ХpHk:{UtPVnR[cшU\$>Y|Ƃ]kT @\SJf\z vn&XGq]gOxSҳRi%N,Jnq*#J\$N׫0peΦ,]Î FnE2AT6IJEP>*VD +Љ wk,>rs5 U:-8^uvѪRYTVnR{hq*WVpf$.7|x_4ETUJRk{ WojX8Ia{|†Pv(*')t,TDl*Wp`B7^\[cѤU]R{w+>Z8KupvYB*:;z6J%cH ](,ƬV5\bB\[cvYnJRXvBwJnG#\yu^:6sxGRiXCyuHfܠ sxhzU6s\^]xA=Oliv'z?;JbI =MV*"чPpdDɌ;ub.`q~v n0PɌf.`WHR5T A`:+ M?*5J=*)tR'U5Vj)R[cv<~8rן5IR{ qU\04I_(\]5}k쒮{!.wu׵뮡P*+5GRX)߭`h(+\Wkվf.߭`(*W1p\K$w|w]k!.|ufҔ*.R$>5 W|*c\IBI\[*W,.2GB\;^vs}zw Ξm&zUzJ]`J ]q>+5fU:\$snP$1^Ɍ\;^v*wXً*URR_J }+^~eBG5aj]WJ^2=wˎ7\c;S\gǎY]gW@OBJnxb+\eu~ W*ד:\$3n|wxÕipvqٛ~K\gy^U:J]z? e(7\1UCbRkuJ<*UJJݔ\teV*"o~rŁ'')tx ע*Wa=B\[cvܮ"N=uvRmǬB9JU63aIOgJ@zSjM62oRVg]g'!6u1GԏBw WI*Wpmd3B>\[cv<ޛr u^RwˎǯQpv.ٻB:hKPCVwIǤc׫0p=W\u]Rԣ+" R*W'p%1]ISVe.`(4Nu8QGC3\gߙ*2ZGJL&)t٬Xty\k+d73X}}p}\$3>U|wxK윮ww}WU.Pj +zO>ө*WWpf(Ɍa.߭` V1WɌva.`Psr28;uM\` ݡJV1Xϴ\++F2iwk,>:MJr*!qeTg/sξd*J-cH ]!+Ba(z (QjFFгvT/(F+538r")t5lm8rb))lM._ ggsc2nGJJՓzcVwk̎o\s5A^xTWCX>Ou*8;xk9]g9*J-dH*JnLWksu{5l:r`.`h~|5uvU.~P]VڭW|xrʕyGR G+"}-I5@Rיw+>:In:8eQs'C9ɵJnL \C5ސ Ĩ\,-)tb5fUgggv(Z%]g*:J\fVwk̎7\f\C5H ?̝yec–D2TdNN2eQB$d}PTT2ey̔y:y[?Zgk{{8Nb G{\>s} )j5 u:{.uk)KΞfC[Pj"+5UrmX)߭hhffk0&0 I]a.߭hhEv PcYB\[cvZz8nCzg?PuvRCԻגkJyWa<.}rῘkЉY+&}t[ 3OB*\[cѮPoL'l:hbp(5YrVX)߭hhf~ o- 2JI`.߭}TT 1̵^Rõwk̎|z|^}gg_U;VɵgbBW *ހf]B'b.߭1;pr=a(JN ]g/Oq]qdI'+5f*`B_+\[cvڰY»tuZ2wk̎7\v\xJ8.Jf{sVQuzs> 3}b<^Aś9·YkBOH`|x5ʅ2Cd2֘'6AUpqMJm.'g./;p-m:{8;mh l:Tp=Jez@Vwk̎7\ ϨJҹJF Uj U)\ bH =1+^u Z(n|+Х3WL`U6\Up9|H q.sxppvZٗBs&Jj8/)ͬ֘oVOVpU3|H u} *n*+^Rwˎ7\WPig)BgRb؏*#)BTLUp̦r^ؗI M W*3WeIOLe./;pv5 \}dƳe./;p>?M>9+>՛J:S؛%)tܬ֘oJRp&\%~ ^xõʅ &aOj,X קKUg/S.t}࣮7J"F؃j&)Y)߭1;pڮrBs?wˎ7\\؆_e%3><|wxU?N3N:<+ήO[VEIoJnBA aw.)t iq a7%XH'ًkzS7T¦^2+ORi?R[cvzʅ+s zU פ]@ ]8 oMŞV؅&)}dJfQ\%snk~v ;/Ifdjo:Q;3Hf{7+5fo\ö̵B2㹣wˎ7\\H6̵N2-wˎG3z6ξ:{*.{uvTakVjПg׫0por! [1NɌ&0WL`=dRh1ׯJb./;^Tξ:{i'R/aKV7IhJnkoz (ԼFsk]Pװ+u,JR{hv*qʅ3֘o.P+R،K Ev xÕupu+g:{;R6eJ]+5fT.|w eBV|xG'\6!)%^U|wy+kw4޴uvˢUM| aK=|+5f\6f%0p}D¿u2WL`aW3٫쫮ɋ>IU !+H=+5mU߀szY.raC*$)5m:{ }u5sNFVJab؀*.vկY)߭1;=*ZpgRBs׫0pmݮrW=*+);- ,l%ƫWk+8{RzyK˫WPCT%Ic|Ƣ}\UI =yKP6)))/wk,E\'6:; ?:;UMP6+UOrWR[cvxFU OlpU*?rCWJmRXPrgbB(3K^ TrpZ}&ʵ\ Jra.߭h(w;/f\gAݳUA'YkJEL{\U:K$snrWu&vߙ{ WW;8:eV?rbwB'Xk3 }*.pUckH\{h>S*np=\oJ6snEGGT*s zÏ5mm>sfH5>cJRUXQk-J}/pUfk׫0p~C\k/oeѷUg~puH+q6U$(U")ԜgG 5]RØwk,>ʵ_#S3X}M[{B:{P1VjзR{hv<V~W9FRӘ+&}48^:еwk,>ߚ7ax3\goRR%NlJEG[s%J =d;snEGU֦?@L1z zZ# ֘o>K: 2̵IR0z:Su \kЇ2WL`a\*qpbB/.\;^QnyF>_"z}bOW:JR$ +53zK: 눤S1X}pwp`%n8sxKTF5_i]g/A }U@xVꜤПd׫0~_\iSwpO8s]X5 t*ipcB}|wxõz']gow^agmJRRSRH =i<+5fU*\i%3n|xÕu\E+d#+1o$Fpw%'UC¬T6I'R1!ԓY 1W.Ɍ{Vc.߭1;pUr]WAO2 mwˎ7\V1#Y >g]gic` J d+5fU\b֮R[6J]RX%2C ט*pgB sy/Caju\3ףBw\1p=^Fu=9=?:D5( ֘oUS>z\RFw:5f5U?u/s%H ݵ0sx=G\gCZ;lGUn@Tɵgg|xU&0W#IKd.e(7\Wn+`&B\1p-rWnj))tejO,z#a-կqؔ-{Q*+NRtY)߭1;p%Q+'suzf ׍*W p`Bh\;^vEJ dC70WL`u5\'E6%'vfUTPV5R[cv:SJ l5 ʌhx>+ kH|wx9j-lAMqA9ٝ;k}BI d|xNMJ,5VR܏221t\zpef ?0WL`=`PcxuM+vvRݬ$Id|xõʕ\kГ73oR]5S23osp%\g{C JedfK FQKozVW+){ot#TJ\Kfs_ Wê:]:YU,P*+PRR[cvrY ̵LRywˎ7\o\qJ\%3S|wxõ)v6.R3Ɍ?\;^vRnj>}}b?[qغURXmBz lTJ\{$3ߕ|wxuʕ\)k$eV}UJ\%}-sndemQXuII1%JRX_H`|wx|\ WuFO0#>r\$]bzʕ\7OIx-`.ߍ,;p-Rnb]'i5Bԇ$ W7U{'sw|Ȳ Wa*}\%}4sO+0 ~q}q-WRY%3w<+~0\5ש\*s唄Ȳidʕ\W+$/|xU?z;^簏;5qeVd RYvOz\d1FVӳU\$0o oP-`)) g:uv=RVaɌ7ebB( ݽ_* U^2w#+ \EuH[sndE=WWgv>FNVG2WJejHf|O#YѮК*׃:\OIf<`6sndk@N3WIxK彺kwr]0q\g_*UJb̸ĄPjRB2|˙w#+I^*ߙ$0FVC N%:.*tCP$+Q2R;^fϺ*WIp`.W\YvPvH@fv7TJA+?|go6{”ܸ:\%3e.ho 2|7͞YTuޒ̸GmȊpRxG}b["3}b'RzJfKf*Vw+IRz\kdƹ>g.ߍ,;p;rAzW2+&SU\1o\YNREX\ Ol׏[!<+~b+U.=RS%3Ȋ6{%qy廑e#3:wL4~0JURIגB/LbW0prUׯ5O2.w|b =7+q s$qc廑m ɬ]`csq=*v95*J-4R|[= \k7s̸`6{ UksDsndk~łͮa:TR;Y-B/J͞\$30|w͞\5$3.0sxE=aq[.:{./sva4I(:()tBJxE=mVKf<sxU\[d32>Dٸlt {GJďUjAͬI[abB(l\ MuM2)w+)62mɌg.hgqٸlp {˻.qEU@J}JRR;^ѮЇ7TZ\$3T|wx\ 6u\=pc,6W0~_\]raq4X:0jl31uAh\}(.)t-TLp-r5#qųedUZ\%3^\;^v\$R3Fo>KsKx7'K/UJd%3݌ ~*Z\e$3qjg Rk9s̸Ȳ [{Ugpqipyz#َJ=Yʒ?; 'U&Z\%3.|wxÕpQz\?3W-Ɍ]`.ߍ,;pլ%`윸=^ qMRVХưR;^vDj%X2wpVoՠVȋw:`c UPj1+LR Y)/;pAjEZROwˎ7\ͧ-`x?;.S$JZy&[J 1SDLiBEF(1GS %jCUQݷZ=}u{ZkTwIMS]v)Sc2^p%\=r R]hƔK\v\=r W]jB<~eO'i5Vvܩ^0 U]/PS.!J crS]^KԘ\]"X^B&.t(//{]o+<{WoJ.)Sc2^pMfT5SuItOxe ͔kBg\.\gdz̟Zxcc]oRxǺ&j+ՅnDM~pm\_.t+K\U\LVqK\ سezb{v@@M%.Ԕ1/G\D6.?(K`5\Ʋ\rmS=FU)//nb+߶ghtKS}55QSU:jJԘ\9\CrP]RK\\!ZCK\{Su#^MN`S {2,LiBJbk:uS.,.`Fk%庨YK\5npmφcdld?Yb"YS#a*Iu/tOxu$BDtxx56{'ZNn.r?ʥ{K n,W(\UϸFr Şmwּw=/J65S˨ 55{K !,hp-\U@ʥ{K Pk גgi?=%D=tceBo$RDbXZBM'PSdzgxz+ Q.P\YqrR=(K` \9qgE]ʾ7ifgbԔGM=ڙEjR.3^2^p `&k!*z)//BmL~qJdMMTE38=5&WF5 \_Rj> x/:rM{S.y*ٹ\ʎyETiȞ S)_3=%&,קr5Q=\%)//R[\QGZqY_ʥ{"˹+2}\.|FTgǍmOfMM8jBW{=%W4k*Rg r , v\zS(,le{ی]Ig5,hCMP]藿QSgG-s\1M=*rMW,z?M\'dOtOd9w\dX|{񎵡gxɚ S13OMr MrW4嚡zR.3^2X5rQ=y)% 1S4cebsU ce?Ǟ=RSUQ45+tُʵX \g=\EٲKDsgE8[yP٩? =959L}JMT]'ͩ)3^],|pERg=%8 pM\TxSX9Vv^TfcebjzcM} S ]`45{˹+ǝxoS)FSSх1BiÞ4&RS }!5{j̹+TCk!&P } =r-xBMtxx׾V'*{>`1LEPS'T:5} x"r}q{Յӂrvgk,庪zƷQ.3^]v܉c7$ |J-׍=A=PSUzu5{j̹+r-huKuo<\gdjߏZ0uO\ڇ/q ٙ%ۖ=gk .!FZёZO(_ }#rr }ԕZQ+!7?Btx9w"o7+2}?>FRS }5{j̹+4w˵\#(W>ՅN\gd<&r ۽PI .4{*NMy. j%Da<˵\(W1Յ6rs rW*?֧\gB]XхNI*;oPjB_GMsn5zrUAuP.Sc2^p'˵\)WUՅnriB<='k媥Зm%+v~-;v]];={HM5P]q)Sc2^p5qg5r5V]s}(//{\՟r}O#)//7NFe5Vv!t+5 =5{jL .{'+\(WՅnGC!^p `6/W])K`\EPk]ɚJ>TwՅ>]=5&M4p\UAʥ{jL [ՋrW]'(//:rmWz5Q.3^2^pl˝ l/;vExZ۴{6 Fq QW@k;zR1g|<;=%W`kzP g|LJro.^ev\8X/vTwj*J7SSdrWQ=K\7Ytp}LfqɔK0Wܙ;]#{nFMS]')Fp=rWWʵP3R.3^2^pؓ .+A \'dJ[V7*;X!\XٳV?5Buܢtxxf˵\)Z3=%k$\(F3>J.!^peffVٍ%P =xr+!żu"=_lzIi~+-1>7{6\5IS5qK(:y\ՑrT )i2/~.rWʵOuP.d2^py\!:zKS.ݳ_2\>,׷ScBt~x*rrV+(K`\>=rrm_/N`v}To6[O}j)]ǦFV?4O,dz>Hg>y㷯{Il[HJ}i?MVQTk{:cW۰6.־)c 3AOA~'Hmh~_ c!=*/d/w>*S~266_OȦWATJ%ݹHb^yׯ2}L\z5GYyzXGwbӫ#SKՑ5i^yz+2x"^铭 T5O0U̦B$tiUlzmOJy<M V/똧7 gu>*=+۟S Ԛm%/boއP+k6skCǿ=a5[{J ưF9_͞pZQkm^ԚM+/c5QV06>-_6)GZ7Ox{MNᚴ䦚:G.yö,wjA(U%hFXUCjy5D9͑>*=<=+&qM>䑚o_x^$#qOgWsLqrkU<[ YUÚ0^Z֌X[M=sZӽ&kXY[fnm}ᥓ3֔ZsSrQkdwֆZY[inm=h溺քZˣTtoxu`Z+XbemA>3MZcj 5o } ˣ k5 nnm*>VTm\BZyk [Z GT#Skd݋ZY1gZk6C%jM\ k yZxk5ʫ͆Rk7eX[YvUk;}ɉ9@a͗Z&TSR5[2^pZZѡ9]2XkW`VSme$Nr+4f~VF3vkvSkՆF ԚJ 'a!eͭs'dOQk~jcjMv\'u>VւǛ[;vnZ Rkvo5ݻ2^p5hZk`n휣ԆM齌Ò ܼ3I5kr פ&ˬ;+9\)]w\)?osP AjX\JTC.6Z "y_`Ymɬ.E4_uVnKs^&نDl3{z$^iź5MX^\6Wpՠ\AjK\Q6XBm>O`+65Y%51'Z<_ 13IbmDGԽ-k/NMa~{+ZmgLtDx6 g8xcDcM݁,5V!5{Z L@g8w1k=*OMũE)e\] ?.Z&v֡\weohW9o\weփި잆^Fڢ`kLPSer=;k:;riFj=+W޲+ &UdSո)9`05BMq 8CM+6˕\ײj#=o+W]_+ R.(ʥ{"V b[qLdM5_MEEMiDZr UXMExR.$ǰ\UrP3 9[P.ݓ2^pme^W~壺Qe(YO/3;vX; nce' z'5UNu7QR]gXprW>UIu\g$eyrW^U]u\'a:XjgjM҂`*5UWltEx5% .H'AtxL*cES =s(׎(5.A],XF{ -4wwf5Uw}wQc":UMZnٿTZSl3Nŋo-#뭜GRᑫ5j!'T.9|8j.zfk-6v-'ɮLuol+j+:|^ĵ_w:.U> ru J|ŷ5y#Wi'՘]m9ٞ{|!HKݱo>S׮-:zf^:~>!`i+A.׫1#O\U#r:Gr3UEŶ'o'*Ud_:7FxЩkNQ+C#iB.;4#O\#\|Kr͒\WcFnVPlwKvb;tjOޠSWcF툨9Ձ*g95?ߋ;e8uSAG"jN%[tj6>'6'T._{\>?\Ќ*RCOkH\whFT~4.p-/vzf*wuHs r^y*yU}bĶMJOl[2FbJݰ6:zfk3n!W5!W@`e%^\|w|BOz\WcFϏ%;'~| 9mo;aWGќ[T2jNޡyH֩\|?wH erޡyn7#zא+y"#՘' j.n'{<7NT]fqG*:Uz&9)-'sT._rI m+rVq⺜U-+ȕOZ yjWKj{r^#]F Kݾ*:z5f䉫#.!׏Bg?\WcFTK"rcr3ĕWZ{q^tG3SaTQn'+T۩͋ɩr.1b#HV!v<:UUzrl RĕbwNz琫Э"U.;\ μ\ƌ-h?/rĮۡ:U:N^eet+~o"dEjE\Y\|;r͐:ur25(.`%{A̔ d'bN=:5Oz)׫1#O\\|wHr^yS^:r|Lr3ĵܯ&{';AitvP較ikM@¨5ŷykɾF.׫1#O\\|~:qKr3ս쁜v}Q{d:wyЩ=Bw=Nޡy:Z7 v*TV>]%TV46o/:uHz);4#O\;\|I}r9lɣ7o3:9vXqjSg"JT̵ bH $rޡy\\ǼGZ'+ rpqHMpNv.;xiv+S⛬ TB鵛eG\Ќ?@u?-CI:z5f0>-E&B_N\WcFzQۃj%-t$r35^4-c8d_3Gn*[N^;QRt* uTs"*-tjsSMy t ՘7_g 錻L@./#O\ϪOX~bOn8a?nNCy0iC\ƌ^3Nv%SƠSO3X"r"\3!W@`%5*aQ^:+"D1Nv;dGLXy_:|FtWT*(qRzekaz;Ho8rEθ~1r2fV!ۅ\ΧK,O\7jOT~bOl{<-Lu{CѩNQ~ZJ,wze+]Gߎy+tI"E'dOd=OM}KDTtc t*tƟֈS[ˊro reθq7r2{vl WvsB*G\-[Md=OdHb'Aw)N}/-덗}U.}\3Nx\oWԽJv%:^Z}{߭sP~fȵEZB]jו**j\;NV\o:XZ^SWcFP62W=z)-t*X|Vh]]ksEz\7^gRohdvK}-:z5zV(k s~3\B -rmeZЯJ!덗7a1WM%-t| :[A=}ۂ[|'%sS5ЩxBڍNQiCk;sUGDB,\7^FUמ68vB`'m+uN%ymtjWSS68TndT+S;٩TZilF\Ќ\ЌI l#rޡy 3L\ـkI8iE.׫1#O\v%{pT;ٵd]u;"`?:z5fg)>seAB]\WcFʜW0Wf+-(X?Q0Z,Cp;mPsdbTa4S) SWcF"dP1׷ȕLZ轋j*cRK br^y⊱VM6= l'/=B;مvN=a2Sޱr3ud2 WViB.*'aUg̕rJ =2rVKjV=#;x+d?xNCI#:z5fk"Waˌ\WcFR\/+ rz0r35ï&ϟG=_մ+v*5:UVz)׫1#O\O\+rUzzj UR"Oo)\WcFvvV'#^ڙ~fNSo٩T-iF\ƌ\1W2j*-.zf䉫l8f̕ZK rޡyKkdx-|58|J";ᦩi}`S^ ןsT̕I *rޡyv!WiI\WcFߍRv;Og5?S O@\ƌB¨Fk/ڋ\WcF;2*W抍\I &r^y\Q+rzH=r35w9|'6Z~bwQN^{UtjK*W4抁\Ǥ~ ϫX^W3Wt:-- X%k|Z,v.diUs*; 5՘'4]Ur]Vr3U"mijיj<v gd7.o'S٩({A\ƌ WiBjK\\I=rx6r3uH? _@= 㵳A٩wTAi84+sE:\7^F~?\q7+N(sAB/\WcF]R27[]^'<;H1]u_:NE^EwtG*WqbK =kr9W:U:N}'-t[T@Ց ]R2tƍ#՘'Tru Hg|=/rxyP/lwNє8dmMs*:N^Btj׾*!W)F.׫1#O\\sD.ti!׸ wN/%$fVu_:NU)t* ?V*0~.qzeyU!W]kE./#O\ {}do+Tu;jz:8+pNWU*Weڃ\-3arxyڽV\tZ#׌*O̵ :KgЇ\UTOU񍠾{x_n?S;ѩVYNx>\\;4O#WYYiU̵H}r =+TlwN]8TNfS5ةЩQLNxyF\ېktk"W@`YUZ̵J[~ r^dj;|}dl=jTmvj :5[:v )G%bҜN]z_^ IMciNa6S Ξr =}>U6!2錳D.׋,#Ҩ\k#r|/5n|/歹eKaI1z[P}vj:^Zѩ0qԀ#i[G./#O\\ kr83r2ĵzi';NyFZtjGS7^F:g4fp۩!Ԉ S{tCSWcFRP0ׯuRZcq r5e_무M #W@`5!R99 l';{6;]l3vj5:uYz;)׫1#O\T3*!vz5f䉫r9s\w \ƌk'{;/NugfS)orC3Ճf!WsA.;4#O\=n\=k&r^Ror3Ջf W9FG.׫1#O\s{~bM'v~{novj::UQz>t* +\}krU:/zfkcu/sMEBgɌ\WcF7>dxhm'~ca?vj :Pzm9tW:5K rޡy{M\o yדYǜ?d;ɮ8M=[;Nu^{y2t* *J\\kru:'rC3y5#W_K'F.׫1#O\Y'+pO>7_:f' vj:5XZh)׫1#O\˪>S'm.eD8uNEFH..:zf+[mksAqB]# T5H wr3˥.mqO~m+vQ#ةQL鵋=y&PJ\#kБ"'~ks@B\WcFVGE7,m'!N G~:qtj*\kN6 q՛reȵYZ肛j*8\ۥ3\o/=f?Q[&O_UƳSѩBzN^y:KvT0|Lpj7)Ssj;5:,v'\k rz}xr>by0D\댴y"W@` ddn'vyvӿTNG.I1":z5fk;k sCkBU\ƌl'bcJvvG'fS=ѩOkOrok${)nWSѩBNޡy{SZ\͐зF.׫1#O\*/ZK ~rxy:ec'{/qNv jNu^;~t* g0Wc&-z5f䉫e k-s5B>'i\7^FnU1WC(אf{83=W OlΪS٩pi7'D\ƌ5>UvSЩ=k?[$׫1#Ͻ~q'sUEBgΉ\WcFsO b똴 덗' ^xNovS7_C=N^; t* jC\S0We -rz5f䉫Hak/sUBBh\7^FP1WEz:rxy:vgm ;d?Jw `ʣS~r3x*A뙴:CH:z5fkG\saNr^yS~gI:rxy^'U2W.Hzek-[WO ycTit*{CϮ BjvʋNm-t!^RLp\=s*N%zwqt* *\IN:\BOrd+ג"՘@Nv>3} &OT7ةTzi@\ЌR.q&;'W;ٷ[ɮZuvNM^a7tj*φ\s^\ƌ`2SH}\r>byMykw~DD\c\|7[*}z5f+zJgd_:w}AvIS:zfRozgDk\whF\r k ՘'YI=/.'g; 3NNI=ο?=:uJzѩ0q%rW'"翵紂8+^HH>R;B=_EH:zfxO\7X\Ќto#T.?pQzMS*˟I }~r^yWi%d/]]^f51/t*_S[,O\w\'b/vXoO\~~\ƌ<&;!'{&d'@)ʊ?J!'U.&߇\crޡy76z Xb'+Yj XL;!/TBt*WSwhFߏQ O"W@`'#ߨ\|^Fr3ĵ|`Nb;øNNvmS|^* 'T.>Bk\whFPL?.r^jr3uF?N4cd%ٯճ,?:"vך8*\׾;EN5:J艶uBZ轹jWxGGB߄\U,O\S{$v}śv3S⥭?:YZЩ03::o;'x/7_S=rC =!UŻ=T'Qzzi}W[(5DZ-byJR[\O+Hz;+ Omjo:kNvS٩'TSwhFSaȕ\z?#՘'lUor^{z5f/?)v;s[YkpebSHݠ8:zf+&+3s=@lBך\U,O\\Y>rzg k>++sCB\WcF_do컑')>WONEH =o:zf䉫zjҚ}IN'%G~`.SNޡyG*\kkZ!՘'TuI }.r9W7~bι$AKUBةNޡg J3!z(3z5f\Zc\zөTDF~Px7Nv~>]4&' W:N^0tqU#Gg-E.׫1#O\\kp'vz5fq:t5wuav+fdWa';r%vj/:E>);4#O\\krŐ^er3Uv#W\iVE*A\-\?1.I = r^yz>BOlmnkK޲)5TS;ѩkW{NޡyW_\;+݃j9 Dn}C:#;gPSѩB.Nޡy⪫A\!Wik}\[,O\oPj26)-X5+~v;z;'-t'cUx_d;5BD׿85Tmvj :UHz7);4#O\\uk3r^{VrC3uU6!WYiۼC.;4#O\Cxah'{JW+do}NmDK]GmSݷ JN\'jכO*WZ\n+r^yA=ѐ!W}i͈\WcFWUi7~b^EO_k'6uCթFZtSWcF7S3j%-t9z5f+y s\.]5qu9&~v6CbKSM٩_Щnk7N^ypMj\!՘'wT̵ Jghr^yNv"=}dv.;2~ZS+ѩBZN^y*Ej\+k@.*'[9T̵&I ȏ\J\W\__;׸NGSmةe iDE\ƌ5 ^KD*K\ |܅,)ɾ%gWSSѩ}*N G܅U1%tߵB./#O\Q6\k2rEwMir2Zu]Ϯ}g'{vj:]:M~tWi*@暈\q3.34qnv~3^;g4SЩB؎N^y\\+tƙ#덗'V\Ckrθr2&㮚l>j').}˿VNEK =:ze{ksA\7^FJq gȕ]:ƣ+ Lk^|u-9&GTO`FSyN r2ĕ+5F"WAKfD./#O\u\kr8.r2Æj%(IɾVuj4;5*--tт덗'U15 p-Yfr\mb͛|+OmKɞZӼ~N bi]r;z5+e2FmbЫ1'/\40Z[l+j S/%{Y&г_yN (γ/|Tл߀ N^9y:k_~~̵G[b+*}L՗j ].s^9yjb 듗~hyNai ] ;z5&"pfSBg8\WcN^(k^}~{*?ê,T/v*I{'٩;4'Z&pdKB\UǿF\KՃh ]87sEVl2Ov%x\'N}S7׮(;z5U&\k f5s^9y$`/pu%iِBƜp5L6Y';7ޭ6ɾ'yϴ Nua2hݦ;;z5knk9^`lB\UL& pufme$\;xkm언'{Vөp;G{c٩Ы1'/\\Ց h ݗz5kHk5:0\WcN^έ4 G$>?٥7N}ڳSŵny s5iɵ\혫Е򷑨 \&\-sUv# s•0ȼ{#/vX?ǚz6TmfBƜpMxZ UC[&+j ّ~&{O}ST]mcƳSwhN^1փsN >p;ar}X[k+*W H'?3J3s p;B{T՘oL/sCz5kp-lrmW-tlX>:|y'{ޠ~]M?vy_N5fk}a:]L[\[,s:Sa K> F5^[5+j,觊H{? hk,ހTCvuϮeBƜpormW暦-tX>JgmdЫZWJ"dC }9%;AT3S٩B so5:y\O3{B?BƜphr%)Z-td sUyUn';${C;N(jc^$©zBNWA^w2v+Vi ]psEV5rLi'%IG] e: Nej}WT9)zI s@Zk70mOfЫ1'/\ښGSp[;=L aBƜpgrW-V[[+ µiɵ\5뀶w(* Wf ~zP?o0jSG׾;z5䅫3Im`Ы1'/\{1srs^9yZYȼ?W"dG[?ٷc{Cp v{FSWcN^j>jrWUE[m+* WRu\3 msbЫ1'/\_5 n' Z讯2tp ;ЇSWcN^lrWqH-fz57WMczk ]f%s^9yzou\+vƃ| y*W޼ #-'>S'y5;8UW[٩0pQ:u{w0W՘O\'(s=q߯+ WK"h9?ٍq蜟BܿSة.;z5Hm{]TsߩYĩSO>ʳSŴ׾:S suu\+V[+ &*\9kpnorW:s r5q[f;<<OlwM©XvESWcN^hr%4s\"s^9yZu\im[Wc/'/\9czA sbu \#mϧf/'0n'"LnéJmWMd¨Zulu\3קBO\WcN^Fl7<̵A[E+ ͻH3~d36~SSv*j MaBǎbЫ1'^Y\!\k+1W1䅫A?3^Wdߩ';HөT.vjڻSQalrW sz5|}U+r2 팗d룃͋H~-~OW.cRé{٩3B'\TvEQ:&Wp\XBƜpxJ uY[=+ հɕ\ٙv0WT`Vx')-w?N Sw^Z K>V@8Uw*_v)Cb/MǤSYɩ)<;z|}ɕ\Y+in1WXѸ8+#23Wfm=\7^N\3كx?ٍ6n'"өLp*;u?`(\ɕ\+`ЫѫM,\N\WcG֛\Y k b;sx% |`p}QU^[d*\~b~|.Ӄ-[6ZoNa*k =/ s\ mo\WcN^6%\9jkgyN r•{y=ɮ'{n ]nu3RS>V sµjɕ \w1WCm2W1 LJ\ʹ3y:]ļ>zɮ'-xg'{N9(>Q|7v:SWcN^=frkN3W՘O\suI\N\7^N^1= ɮ'{HIv}~w7 nS=<;z5k өpJWʨSgtjaj#&N^}Էs$\wg0&s r9 s59n0HmW`Ы1'EL\c޳Bop-iՍ[b7>Ubg5*Si lv*j7Q&W!p]eB\PL\oj c* z:3#~{Ou?ٓ6zNN1T՘&Ck 8BƜpkr= ЗF0W荗($3'H1ZT՘hLQp\˵Nw޿ 7b4p]b5/l\7^N^z\1=~O5B/kH%3RX1EvjzSWcNNgr׏Я^dЫ1'/\2\%uigi,sx9yjd~ ]Kʔ% vTI8uJǥT՘e/\uj ^~ S[0#MJé$vڛgBМp5lrł,szz sµU\g봶Э/'/\5_F.vDW?Z1eycBƜ<&W9pfr /\7\uj !3sEV:붶У&2W荗'v,8G_mtQ8uZB[[ةЫ1'/\;\uj }s^9yu+г`/'/\?O3x>~Ov=-6zGLe8uʮ-5pY`r=c̕K[[0W՘\q:\y~s/sx9y?Ѽ~ɮ'4? mf8 7;UP[}ةЫ1'5*񛓘+j ׺L:\%3҇Bopa^G+7rWwI3GOCTYm&_#A2W%mc3W՘\ujg8sx9y HvE?F'db:UNgjj =;z5ױ=S©G}v %E_t&Nkl;z&W-peB>sCA7jks5:a9sEVp7^C+ɞ6S?'Lunv?bBƜpnmr= o1W՘M\^\WcN^frŃk's rU~N[b]bo3٩B?N\H4Ws zp K>Jkr= 5B[q++a>a3 \7^ɷB3-?q~e^V>S^v*j kyM\3N=Bop,dr55];/1WT`=3oVo ed'pkN(^ҼlS3 sk,0<'1W荗163\7^N^N7P? .'8V:ɞB}L8Z-SWcN^3+Z-t.| y \kva(\%6ɞd ^~71jdi ={ ;z䅫!9p}\sBop8frڪ[ z36)Hvi/٫R]`kpsv*A[`Bop|j̵G[A/0WT`uLjg+zk|3SR~]sɽMZé1mt`BƜphrguJ[詳+ Wa&W[p}\I/_\7^N^ǧ= .' ^2xL;8-&T՘&W{p}\W,\}ۙ\njgh/sx9yo^NGK.A M?qLG8];uɞrO\ V&W'p$i3^:BopUooru ʠqz䅫Ty9.'&ޠ~%{(s^UuaJB@U R6H ( AE JQ@ MMz{sͅ3wΞsu~xwdsc̵7Fn<:̙2+I"WOZ\y93vg!_`S\AgE.zߵ93.qlw<}{i˘ݾfdG zSqT$۠S[cZ^q.rsU3vK+D.zwrf< rndiyoEot"W%Ό\~UFqMJ)tŖ67 Qy(:EotSq !:eoeŭȩRS)tIuqKXNzvqtvKSU[չ#KBw\;^Zfme|j)vK+-ɞJ]ҜOɎXnNv8ѩwru8]k;;-F]ךWGS~w6:ՍS)ۭ1-ng- ,)eWhEg";tz 4^G~~NEs &t/j^,rщL)teW.cvFqf<rxiyK,dϠ.fN:gNs״䞏cvcѩ1BGlƴjISk5S`M@Ac~ ]OwPi:ƹ+)=}ۋ\CSkw=\[ciG:\E]e5姫`qr6Mv9ّt"8JqmS8 C+O]c/)D.fq?A{B=\[cZ^qd?mNv%:i|Pzs߯,3v;7)=4-rFBS lƴ &r178lƴzA&;Ԝ쩔BhNveQq)3VLSDŅT\Nˍ/宸'KOAIyms*?y;zqR'l7۴⺐Q\]Iyz^#y 5/cNfJN]5'{{)pS9)++:FS\gE.mGl7۴*r/ #W\ \CќkE"W\%\Ek7lдZSJXr})t^"y5E5Sm/*#Err `0rniy]r߈Bk~# ȩ,N~Nniy(HZB\k>u!֘W\s\K'r-:)rniyŕ#ðs6&0STtjЅKS~aۊk&qW&;,%:{ukө!2r;:s)=4-N\?W7Zǹvte5"r\9lƴZ,g[X1+r$ bZ9퇋Tz2axCq' z7mZ^qE|&r ȵs"Saȕ@\ڵ"_`"Jzr}riyŵuȵ:"IεF.ۭ1-VWr+e5WD5r]:l+rniyĉ\kr]zq;^"yUHr߈L1}oE֑SSw8 S\1,T:;:tccqr:sJ)ۭ1-nțz뉫-p%d\\[cZ^qn#rm 6yvkL+W~%ȕS !e5+²WlzrDAtj#9 ͹v?QUW"&j\'!֘W\ v\rEp&#XQ}"j\E9 lwvwn:,yF.+U{[jNw|]tvkLgv5kq\9H2D*s[+ ,\OA\MyNx@.]cozNżbY/}n^};)͙qm}]܅'OaASS&SbP[jNt<:e}tȵ!W#N FW\N\׫ՌSÐzшǕ'ӳǰd&;2֜Uu!^AZs G_q_\ŝ:p )rndiyM WgNE"FW\GjK$3&kyhNw])j˨fIJ+\D:5]Zsk?qC>GTF.}/-J;|Oå5|Oì+z ɹsK=voSze:=vyO[} ZrQgRK՗KDٹ>vo1Z=%|e.dVW\e綗kovm]UZODuzRȷ$>/VT'M/s|oXgJ(N熗<_ 3B纗z$jӹEuzR\RзZ:=/szw[dqNO+^Q}M[ ӓ粗ze~?/FkoŹ"oZe:=p.z}٢[كsKjjc:ݯ;)^uC|'dȧՇ$=z޾՟ZկEt${WշzZ}T}Q^VϝC/#=sK ~nNw*Y/b;|GD=ȩ:/8g ^4PW#uo{9'Ƹ [+F i/Z8ZVѵDr.Sk[Z^q%]甗kyv|':kȵ:)kCP*vNzo*?֮5&4ʷaG]Q'J׋)wW\+@O['4A/}nX-i?Ûs?]Z:M\Uk-wxeB.2ZC+\g re{CFӽƓa1ߕ)?HOV<=Iqld7ޟ%+۸\az? R"9zvs+;e{GSC43bF{DΓSЩ3NQSg<1ɩ1|8NV.J{ۛFZ^q?(:u㞋ʇS!E$*SI܅iWS=ȩc1|85\VL!ŋ1U|(F۟z>OA.$WmoYnCs}B| r] g+!*-j' ^#a2jNSɩrU/ډNY_D"yUu"mng>\~UCquz r]&2F/"*-\W4pL}Qe{JuW~_^Jb*9U x1tƖW\/N]xpra;SȩTVn>N+#:q@\_?]S\3g  9ƖW\S9`NdM4';ZѩT1t#ˡSw⪵AE\E0O/@.^q%lnW*me{J+D;Uqg*䲽_,+o^I;Y~]r*z;>S~aT&}qBܓ \jYO\ɜ\+N6v}?9ES܍YW"Cz^sNW\\r5~I+eJx)9}17_UlJ"&&ѩV) U#W{n}n\Z^q'rWrɽŐvV+gM^cW-s- MGN9TwbT|NjyUaȕBmn\{Z^q}J@\?7jlDj+KO2=dgsg46';dtr`hFr*/:5; SۦZ^q}It8N8TSTt}nܜNnjyUȕr#(nݍ\;Z^q+>~WvKS+"KYۜrIjt0';rtYST.t*B)L-Y/re&`sXъf+r"4N 토W\'Lg9/Pݙ`~~tXhr*:5sm3)۝C-Oo:\Y+;r:% lwZIF\ِkAՑvO+=Dĕp i)rY?Mb9Ӽb[E+FmTr* :h#۩F.rWrkݕ%"W0qeFIF.6-"8;N}X)@JCsSOS[8x [B\ȵS!֘W\.47qeB93:[׵bNɚݜgNDS!NSS[cZ^q5/r%uSe5Wh+qe@ӜB?>\[cZ^qw&Ug9ٟP qԜQ"VS1&P)U2{Hއ?9^Ck{!tusE/ ֘W\\aq*r\{z r֋{"W~z\9>o7ۭ1-‰ȕ)eWDL'-'(s^?5N -@N=Vp&أiv&ȕSe5ׅ"Wq=@`N @.e(W\OMg9K譳wk{Et 9u˹_Rq)r"{)L֘W\qDH⺋\Bt lƴ i+)C&sSZ{9˺H'&S91wZO t~oEEJ4+i BEѠI7~}k]?돽g9g٩Ы1'mLG+sz\. s•op\3 •R8^?٩$GgPŤN7[NeSةB+N^9y:Cv,;8<ߩ^;;:N^{v* ׽WMi ]} sޡ9yz(>зvaЫ1'1wXFdɞVtq8uMة;4'/\+\9#s̝X-ky +~`N\WcN^ ZkŰ6 ;w{,%_}p,;X{3zAڃsIV4\{+j&ד:\mN\WcN^N3oKt8]=FMةk+NWA^ڍ7[ꬽX=+[VFz?Do.&|p4;C{٩;4'/\or)zC{4w3W՘҅Mji4s^9y֚ƒ=Z';zIv~/|h::N ^٩;4'/\~lr \XueU\Ǚku9τM>NDkd{{Tz10:NM1v*OTuzmc Csu%U\_3|mfЫ1'/\k~b8{]֟sEqyOBQ8uZGة;4'/\KNDNSMژMy18uZMnT\W./0ihT-4%,9upTq8uZMKة6'/\3J smЦ|Փz䅫f$bmڔB/ۜpc1gMy~k/3RpKvj6哮?$Nޡ9yJYerT0Wk: 3ڔ\qUA2b&'ڢU~;)W}Pǥ5IJp v6KSmN^NlruL=Y+ ׫M\)O\whN^4N F+d@S-?NUS{٩ڔ,aB/ۜpZe:3{Sє۾SNUS{ةڔ ׼LJ.iS_w3Wn2>eߵ)uB/ۜphGéhih33ؼ8 9ڔlN9yzxU\mc6'/\L2iS >pL65Gd/BS~iM]=ڔϛNŅQkYpd)p5s^9yr6C 3WMK1C^.'}R 8ʦMy;z+`9p}\9)?s^9yẩh}<}̚_%Q >djS^ũ0 Y{+Q\UH̓+. Wi&W-pmcbڔO\mN֞erV* zgu4'wQDKO째ው=$-6{:pj3;UIkة6'/\yN.h1#ߩL©MT5 aBo圼pebrF檩M:X=LiS{s^9ylF-}Od?{tE8j{orbZMy^XO W&Wp-b"s^9yjp\4OvBdW@w٩uڔN^9yYp/]4w3u|krU8;EIT譜LJaڔ\rNZ\vkS /\ۚ\iSes3`ōgʟnbGo2S_iS>;zb1ڔi\mN^bL\h(sޡ9yU܀h>8+5ͭpj;6]٩6'/\\5~Ҧ| >؂p= 6}bj$\nm?ޙ';]@],v6ة6'/\M\]5ܠvz+snff;4'/\\52jsޡ9yzi'Y'vz?w'O]-pj:;uډk?'&WpMcH{)2WL\jݠsޡ9ygIۚ~}}'U/8;gB/ۜ|_\Ә=iV8;=wȩ#/ٓSSةǵ)_Y ls5.&3Wmkg- W Iw3W\`&\7G3do+>OSoTQVcB/ۜpUj.px4wjtqj0ߩn6{7v6SmN^d4koث^?_47;pv fSwhN^-4kϩ5&_VsͩC+MFaTo&SmN^ڷPꧽv+ Q\C\BМpۼ Dd?^ߋ~f5N fFi}:uT >؂pMmr v+. M\SמَBМp՝jr%ks%k ,s^9yK;$xZJدEqiWse7Ngh6v*j㯑4/D}}n6T?v*E7SwhN^g6&MZ~|y|C`rM̵R{%+.jC-9 ~K'nOv!ޖIp/;Vkة;4'/\07 x);$NչwjI{ S{;z䅫k z3ׇڔ7\mN^V3W/Xzkcs+׶q~QU}Zw1p';WSqaԳh\ՃhS^o(s^9yD:vzoIfZ'#O='өp;;uRK'թcsBJ\\iS: lsvl5\]33Wls~dydG,8ՅU{Zة0p5jgr uY{׻2We1LD\k\6s^9yϾG/$Fcd(N8'o^gn^pv*6\i=2BМLYmgI$~KJn:M 8*̓SS)o[ >p}̕v Ink3׿γBМpng4Ov W&~߾j!jN=MyT T)j\9)\whN^ZN2-~n3ԟmn ށSSOhS ls5c.^akpZdr-WzZ{Iz{wr~7cp{[éTImdB/ۜpr F}S]sȬSKT+v6+Spgr-WKzzS\mN^ξcr-W 檡My}|yZL6^J>${Kz??7Z^f=[Sv*.%\%k3׋ڔ'a6'\%jv Cs5n[P?ٿ']v;%(nnnJV©fT mKgB/ۜp {Z6MV0WeLՄ^^[+dy ף[x<%{Mg'{ h5jNu^v* W[LՈzjs^9yh%\ M5g6'/\[}4Ovf0~ӝL©`cB/ۜp}hrW}Mzk9"H ?ԑ'pEv*I;F7wRm 5Y{N1WeR7\Uk]sޡ9yJn"d?{>mSu٩ڔשNޡ9y*; :̵P{ڷ3WmK1$`8%Vos+N=N-֦Ev*` ukk+j3{ڔ\qU ! 3s^;_Z Cs•}(d] fdgH2T8UڨMyLiOϙ+zu!b̕D CsU}&+%~~ vp\d9zڥMyTeo7M\iS~b's6]ׄ k3~s}\whN^f0]~Ov .}OsS;Գ!mʫcB/ۜ<6 M]\ǵzB/ۜ<~k_5>WUV{J+ W|wX.d'+p]\7m+g;4'/\/3~2'[Ǯ7 NUb^;Te[L=H\i]f/sޡ9y᪰ uM3Wn OvN߽Ono*NݡΩ- /spc{.3p=ȼ,OllOO/}ʲSY޴ ls{ɵ\e+g1WL*\ٵnBƜpil!ٽd/^/OS?Sۘ{/T)v*bBМpior}̕O{n&\2ˆH@O?WJN\p;UXlړsJg18s^p Csu9u\ŘuG1WZˆ Hv?ٻpb`%(^ GTQvgdBМpհ _sU^v% Cs l$ 8;TfspN=NҦ \1"fЫ1'/\k;jHv'?م{K_d'5?ér^M¿&\3ױl9D TQ)Bvy,J%D)Jd1EdTHQ2d(cxcû?>}k]\{L+ WrNsS xO@-gS~r 8UZMyT~כ\8s^z䅫Vq/pcMk\whNqu "ٽd7] qEq}I8UR{ퟪS[n`k_\ Ef5O@[ ht4*NҦ]Te;L3*\{NBМpU: kc Cs5y'zrd}9ch;z+Wop%1q\ p]u\33W2]';u$HW?kN]S٩kЂ Cs2QFd;4'/\c5Z\seλ+ W湏 n~'y\}d>g#eS٩r ;z+mɕ\+yf*"\\ h suldw=}}~;(3N^;!v* W&Wp]\%.BМp][<$%OS+Tnv\~k8z+g9++fkwO\ULLl\wi[J;+[U+;bBgBƜp%'c5+]|G_D>2Ndk]j;zs?W檩z5k') xOwPEr©+٩k7\Nޡ9yu3WG\ upkrW6zT[̩z5Ps(O^}\lDWéT%fSwhN^j(7`6k(\whN^WLk:j } sUHvG?{dar] 5D[ +j כ}M\kл2W՘S"dŹc jYԿ(٩>W >p]yU\kЅj0WB`W&W!pg)BNcЫ1'/\2׃͐v~KAdNVvQ-?Sy&u1\mgЫ1'/\yn4YZ-]z5l&1$RWk'KSv]mf¨fµya j;U}}~Ql]:/*NShhv* mLuVi}- sUU\'kyR+jϒәHvk?u7sXkT{SwhN^r\crןa* WkM:\_k -pX@[N씄S٩>ޏ Cs•iFp\{^s^9y$`u~g_>:BƜp 8a.QZ"-dw/ɮ8Ovb+({'}}!nأ/)Nov75kz+k&W)pcߵ{OO /\%r\uNjS~s%VI[1n:Myz䅫n!Vp&>؂BМp)brׯuY0W7\s^4 sµ}iOc}BМp,hrᎶ;jNz5kea 7t2Wm'aЫ1'/\_0U;z5&n牿a^5pn+:{g/CE};ةB|СyHJ4pIkgs^9yɅ9⯙kvwc/'/\Mk{NH^WГ ɮWbk }1v*j M._oc3>*sCAM.^oeq\ j6~U70#~3ËqE1gys_Q N}NMzqv* צJ&Ž`~sx9y^ϙkV1W荗!IF~oFW~_3O pbpZ JT荗̓#\=ߙ /\ߥ.H#~*aecͅ U7S˴3~s;;F=)\''\8U3\+3'sx9y3Y̵F;#+ ̯dwEɎ7OC{Mp` ;Q ةЫ1'/\\8y.\[WB隆p:lrܱxsmӆw,Jx=nrԩx=sԆwZ rQ3s +6g?<.`:әu;z䅫lW gk'v2WE<iuG θ`I/% '" gS3:8z䅫 '}k7S3Wk6 z䅫I%>`B\YN^֝3 T>sݨ-k+" WӴ+],s؃SlWU[ة/'/\+\x ^\wh 6s%VjQ{UQ[wcЋ,'/\;+{#ud/ów}}"vv[۰S7^N^0΍e~e/sx9y`Y l3{z eYaN^{ةЫ1'/\&\"ŋ!m{&1Wy䅫yge%J6s5zaJµh':~wɎ2²!^N5^٩Ы1'/\\㷘У3W՘BL.Bj-tz5Hys]OђUN:,N^9yzɅ$~zj a >pkrx>s=-t̕X+Dsɮ'l${a*%WQl5\x;O[a٩Ы1'&~G2 m7dЫ1'/\#5XdzxN(mn{<-tT՘amL.`Y\\WcN^u4OgBO{BopxLH~oE 4?3§@:;b8|^yɅxs-s%3ͻ&OeB?\WcN^h%}p"w ~4fflb;-7ةЫ1'/\ϙ\ρk smzz5&?&3f팗wg/'/\e1ksmxF >pNE+6NOI_S©7BON%Qek*ɎjiI/9դ{NM`vkm:u$qgMA\w=s^9ybr ׫uP[0W՘cd-'3d?1t85:T՘1M!\' >4R s[w r5gQ?BB>,_4CvꂶУSWcN^Jd67V2qɤ-9+j W&pp\ٵ1BƜ<޳Qh ݸy85ʥ-TykQ[k$F1W>ma!\v2^׋UP[++j WyfcTO4YɮtjNz.v*j W&hp`Bwn\WcN^*1^p*-t6 rUB'ds=2NzvÒ \T1ƀk(sUz5䅫}&+Je{&sx9yl|ߋb$~O?o:5N aMT՘CMqzji ]^ su[y,Gl\KOIʤm[̳_S٩zk|Qq*j kL\ Є+Y|krMD[2W՘-m$'{I{d/`&©Ts[dBƜp.lrMj-z5kn k23BX\WcN^/7W-+OQ<36%V)+^@4xjۛckSw-{|yt?[LՏh=J6k*egnBМpgkM0W՘O\iJ^{z5k~k:2׋B?yBƜp8brS5F;k'1\9wD:GO5ЮOhŸsOg95N=NM:y;z5䅫&\S% s5t5 \kvƋ0W荗kO*]~]Om'{Ys=8N=N'T՘ҙ'W/Z-+j וYL\K3߆pocf-Ov9}:^tj>N-T՘}L7ՍVk sx9yk2:팻L`/'/\;ftQy?]oOvw!NmeT՘̧Mՙzz*sCA^j7qڮq̕XkE'~Ivd׳oéN.mgdBƜpZ 3W荗߫j O@$n/GEq~{sNz&%Gu.3mbЫ1'/\mz\KՎmu !o&h+'uS)m/cBƜp}ɵ\m뼶Э3W՘U_\՚>Πz䅫U'*'{ dWlmnއSةBN^9yZ\-*m=\WcN^Nw1sxJ'fn=zj~+0ZSNN^9y|er}*-sE+j ?\+s׆t rHul2~絗d_'DUp;UJ;h';z5k4#p5e\PLj\wjg6JDŽ&W3We팟Bope8lX9n_q9+isN=NUT荗M\5~ ruGFdǵj\u3Bop1,8O&4{jMGةB7N%QMkTok=2ףBJcЋ,'/\՟16shg\*s^d9y᪼ܝc%AI楚,ncSmܙGX߿}?9NŅQUBokj2nma/'/\E yh?-qƻ~9W t8U:-tT՘L\GnBƜpnrW5:-tz䅫QYsѻdw]^Z\SU٩3kO*Nϫ /\y5 s]XW&ׯ\׵4BopUořh~?qTsJվ78UZ~ڏ|N^9yJkZ{\+;v2W՘6GUi =(sx9y[J+|~_T?ٳ3: ʳSY 9s{y}F1w-sgy NckSwhN^Nf~WYʭvnz+Z80W ]BƜpcbq/G4I󓽱 8U*vة;4'/\m\s^{ >p hirWI檨-t vU#,~gՒd_X'RXtve8ꣽv9$\\Wi ! suu\ykЃJ0W՘Ed)edWe:u Nah&5;z5' NE=߉/hO;9rSoj{;zۜ&_\#2sWA^7n+'sF~ bda&cm>z5͵z͎шfi{FW|l.ovj-vSwhN^MW&k m\WcN^L6Wi ]/s^9yjy/7G'J~߄$p*;5S{y߱SU1n f*Btwy"5!)N^{vv*.%\\h-)_;4'/\W\js^9y:zL6nwf]$-?3RZԄp* ;J{ SwhN^Ƥ7R+3smz| Csu(ɕ \kM_d)\6Q';vI&&;dooRé.?Nޡ9yrJ ̵_[+ W?LJ\i ]:+s^9yZ?l'=NW'dST:vvN CsJ+=2im'N`* ׵&Wpa B׿Azɕ\뚶Щ1W荗ʋ'7G3Olb3RS.z sf+3ROɵBƜ<̕V[+ WDs棙d})gE1{kN%g2i=yv* Uɕ \ɘ+Ia,\+\ri ]`&sx9yZL6 'Mro8t*JN^;icv*j W&d|m wcvNMf-"pNvyVSwhN^6຃Ji= sޡ9y=J-*'+.: WC&d|o"OLBTOX D8uv٩;4'/\Y?5rsz| Cs=>mF3W՘4r:s5wz5kk/&d|$b`_qmucpB8ujvTyklsA/DNm@Ԇ%"5!/N=vBv*./\IV\uZi]sޡ9y:N{l+ W&]\8BƜp=bhݏzރ+'v]B8u-śyq*j W1&WAp]`g.Wϫ /\ƚ\uzGXe3S4h'a2k 9vj˱SwhN^6,s L3 sXe4 s  s5a+W4[hLB>'z rI4L6M%L%=|TI8u-tT՘MR&i 'z5kV4N0m.`/'?oovo|/Ov~|i,lQlu\S٩k+NWA^v0ʂw暭-tLX ׸&W9pcyB<\7^N^41c4"!񏙋p(;D{٩Ы1'/\wFێdSUk;м3::N^;[T?0*0s^{yR su~c-k/l\UZƷ8Id7m菿';oysA\NN^;Bv*.j)\=\Uui }:sޡ9yU\Wml\WcN^mm.5h?r~v1vmeBМp5irU~:-lz䅫߭';ڿojN^ 8 ;u^{~k_LuU&1b;4'/\O 3^溩_E+ ҷMZC\+i }s^9yU\+vƗk2W荗$I4ƋDE1jG]TFm??NWA^Z7̕][?3W\`=%\\k's%j }sx9yZL6 '{0v#ݡ}pj;O[1SWcN^g:oGnN>ߩ+LS٩kKNޡ9yG\kr6*vz&W=pmerB7\P;_= }}+~'W5vgWSqaT>:}\e2W՘3ksݫ-=z5䅫 Olgo^f/cpj#;@{tة;4'/\w#pm`.BƜpճߍh Ah5Hu?+J'28zT{e٩;4'/\s\Mj}l s^9y:\k)0W՘gKH5?;o';hsA ZNu^{M=v* =\zk]v:sWAor=W[.+.*W;.UHU?KdJ[w+'< ~b^~TJMG^:ɇz5?T3Zks z5k`sɾ'ShK=v* ׽/\>F' Cs•u52Dm\WcN~\džѵH%?H77mv+m$aBƜp%z\ks?bЫ1'/\?3ڂks}-Xf!d!~?a:N^JEv*j \{A\?2"bЫ1'/\篘\s--z5z3sɾ'#di߅$N^T՘JO\=sm^{F >p\n&`pO@mO (t#N^|Rv*.j-\\szz5n3f1AmO`Ы1'/\\]-sL? sUd߈'>[sNdNj {v* z&W7p`B/[ׄ&S.k =s^9yʽL&$nhkrTw85-TLV&ߙ+j &WOpMcTB}Bop (d.7#gdd2Mv;N6%q*j Wj&WopMaBO\qKfw|? +A[w3W荗4[?d:g:?ϭ5zN}NHKv*j WL> j 9s^9yi,&3Wqm<\7^N^[~?3Χd_ϙTmNWA^hr$檤-tXk`2s 8'+7 ܏>&S5^ s•1brϘK3W՘L~\>XBƜ<؎w;}O\ЧɮƳSl;z5>"1׃B7\wk5q5\2WKmVfЫ1'/\3ށd'{-Z}[d_tj z\[ygةЫ1'/\O\5zoF s`rП`Ы1'/\KH ?{B'߫2e8;K[ةЫ1'cCMW!s=-XU&׫k b rµc쟑~Ol_dtj0zzY[٩Ы1'/\\C5^ sµaF3p팟BopU컐d@>Eo/ȕv*c._SS;|^yz5\2mgdj,\j\szt rtH1/+ӣLހSةϴ~WJr9~N ׉&כs}-tTz5k8F2BG3W荗 =HQ?yBBɾ$JvjڰSqaTL"M6s-z65\o1Bm߾\7^N^ZwE.;do. S˴;z5뛍&&s sU~5 \o0Fm\7^N뿹;}Ha?5jIda{Nmze Lw5vk =l5s^9yz\3m<\7^N^_d7F G?p5v갶Ѓ_bBƜpUar:-Ŀ+j {L5hg8\P1ͻ#ٿ~z%~cpUvꢶЃ?`¨焫EFCp\׵8BƜp-fr}k՝>\7^N^j?g هdB^u M>S/S)t;z5k0k,1W:m'mfЫ1'/\G\k sexPg >S6HA?/]/O;?SةПN^9yZU+sg/'/\C˘\՟ hgz+CH?q~WdW0Ncj \v*j W+ *-tzksU[[2W荗)dd'붒k#d.rj2z-wةЫ1'/\yJ\_sŴBƜpM+or} gб=| y*o?]CNݭMyN_R1 P1}k\whN^okrnX]j-tz+3u~od8k:zcSM׎=NlA^_2pSk>zX{0W\`#\S\3v/sKz+[K%${U8}GJUQ\=k);z䅫U7 0W'\whN^f2p[6suVE Cs•wH?ٻp^{?WNX-viNWA?\A*v7s=v. 5Ʌb5k{0W՘SW~(^y`^^T)pjԏ|J 5W$VMǟSwhN^NervX5vz( 2׻B\qp%]g&OE/.t gcUة~_ Cs 'ckU2W]\8\BМp/b"d:Iedh"yXEvjfBМpSX暡qlA^ޯmr_D==JuQ,zZ'Sةk_s 8lrWZzK[觎1W՘'L J\h }sWA^R52+5s-tl0sVo᚟6O_Yhb&8D{hr* Ɉɕ\)kЫ+jM,J\_j isx9y:1L6~F&#N0OM©twN^9y?&W6p%cﴅ sVOi~!1;2׏B\7^N^z3"déde:N%aiMv*j -dn:s^9yኤ3຃h }WR sCj+8r85;??m: oS#;|^yJMڡ-+. W&WNp`=B߼\WcN^24ǿ"dW~ۼjeHbjav*j WjYV[ߩ8DVߩum|bn8u:vT1+1B<\whN^73*sz) >[>_~jcЫ1'/\OaF"3dwédgYH,.S׮Ͻ7N}Seqv6ESwhN^nr]f2mp5cr1jvz56OdEj dZZSG٩6ڔ-Nޡ9y#ǧ0W\uj] sqldoWnI|өJp7v6卻SwhN^~_brUׯI1W\`f+M*:\׾:sޡ9ysL6ȗ~++=1y*:NM~T-Mj:\i_ޡ9y*5\{Ze+ W%~bٰd웝 y 8 ;m|NlA^0jks^;"ֳ•,"\ƽ3~dɬoG$ Sc>PO?'+=5A{Vy+ Ќ&Wmpf/׮zBМ<m`}Ŧ9(ϽdMa['#Su.vkN^9yZ\?3׷k\wkUu/v2k\whN^ dgr(2Ov^>b%%(Nn#N`j}q$;zwLi]a=sޡ9y| m̵Z{ +j [ͱL]_/O)-Fw`BМp-.arڦXEV963nGdЫ1'/\ =dc=Ov%K~o3j6S.= Csue+uX{3Q CsvV ~6vC4he 3UeBМpmgr5z:-v|yz\뢶%{1W\`SF~W2h?uSMZvŞbBМp-jr5Zw'1W柘 82O@܇𨟀_N5S٩kMN^9y֞nr=U̕N{)+ ׉l),# իp$JoVS~y ;}g\ksE.XBМ9n?%[bv_Sn )ڐjEU[{;>gЫ1'MZ\k }6s^9yi)~ǢO;O6pj;^TMp'赯}GNſN=SʹR >؂p]:jr>OvUb;8#;^{3ة;4'/\o4ڃꬽaz lmM'5zhhsޡ9szdoDk9'[Igh.v*.zRIڗa;4'/\KJ\s ^;BƜpL6jF}u~ 3 fSC>ۂ Cs\2kg~BМpe?gruLLz5}~[IfS>/¨k&S>^{H CsUy:g#\G=mN̵}w85BT&k.sޡ9yڜ i5U{ ˘+?2Jʫ{t#3Cݸkp\[p  f/ν{O͇ZWfj?qɡnj;Jh9cd)^t`VS~ur>byVJ\k?GW:1J%-zf+~ Ni^tfVS׎rC3z)~nwT >_j[u ;:,)6#O\\]kr^BrC3uՍ"9WfBH\:1$;yn_NvEwvt)}U *p.+0s-Ak\whFڎVz2bCz W*W/Z\cr^yzDN?e׮W>_Hqe7;z.v'7U>̵^{oW "5/sGk܀\WcF6R#6 v[ֶzEЏN}^{oftW*W \'K }5d_ɮ2gS;ޙr2ɫr-`>W 덗'AT~xer2ĵXO?;Nv d7=:Nz[tjW *b\g1X [\=뢴[ W@`"ի*~*wr2ղgX[?Olin?Gwu+٩N+i+A¨ĕrʵ:";iOC./# rfY:=׋: ;Nv5n׫}\[NNzttjW*Zj\3>\or2/k;s5B\7^FVQoOme>vWdk'R Jg;"-;T@Վo+rdUKZ%J*.檏\ 3^ \oby=;z{o,}4~m9٩T7iA¨VksB>Bψ\7^F+rg5H:^j ޞvϜ}Kv;Gة[p՘'iʰS=lMSQWNdSc=r35J!檆\ϫXbQ]v^lk'` by^_P0~zTe 2?P7h{;O~M+*N'9*\K9rޡy⊼T:\%랴c!՘'_dϽd'7m'{XTu;Uz"'**\/מ ϫXxUU H Ca uJGNo}$fU.SEѩk7ۃNޡyMu ;v}PTAS٩"ԩ0ҔNޡy5B\+ "'OT&%K;ߩN]e Sѥ)rl3uu "W\i@O\5ê1יr%^8rC35FOX5Nv;;.RIO v*?:Dk)6#O\\7+r;zf䉫[̕Kgrޡy~Onk'{)JvvþRʃNe|/Ww*mʍ\9)S qra\ȕOz>}߹˯6vgdNJl';GqBv*':UDzU)6#O\*]JI}"rޡyWA\9!'PՋvWp_%$;dGͦ^HgSN%߄ GN9l:zf䉫W2#W+'C.;4#O\S\O;j/v䟐jU̕ J ɋ\BSj'=>7'6,)nr35e2 ifB.׫1#O\w?u8-\]N 8NQ v*=:5Lze);4#O\&\2W:-vzf+4%sEBG\U,w?u9d?Y@ޕNv+v* :5]zVЩ0*?f5Gz*_̕ I ="r^y_W]NG~\v'0W0r*z5fa5 8Md'g*-Gv*:)-_)׫1#O\?^V>1Wb:/qX-3s%B+ݎ\WcF"^Vr.YNv=v*!:uSZ肹)׫1#ϻ'׿ĕJg\obyN \o{@jJ\O>\+r}8O8r2sn1'(U\J N%-덗=Li+sAOމ\7^F UP"2Wl&qM\1+qzr};b WtU+#Wрjrʫd:Nzht+[+sECtBW\7^!G?\љ+*rex7?]o&wu8dg&]]Tt*-A¨uGK"#W^G./#O\)ջı+r8]-r2;zQќ]Nt~vy~vOnOf"S%_D\oS=nr2U%ʕ>!Wi uC./#O\ Ө\AHg`*rxy I f5J:d"'5bkڟ؛z\{TvtjQ?S7^FvR2{*?ˑ+ *W2z\3ͿE7^F+^dװ}WH&{@eZ,qrv-:PZڍũs+ĿPڲSmzc۩AM+)ة7Ri))׫1#O\[\)oZ--tz5f+y{+s\X]&'^TmRJNFH }lt* F\v\ir7 p3ug+-sDB_\7^Fn dWoקG]vW8;':uXZ踑)׫1#O\Wz\rCr3ĵg*vRˇŶ0Wթ stڙG¨*ʕ!%i+|A.׫1#O\Ϋ\)rݐ:Vr3%lGNve;9kB;٭7jcSH:z5fgV+3s=FBɁ\WcFV0#z.-`r3忢 vdW]o$v8+;z-vST@ՒX\뽴Q!՘' /UuH ]F\ƌ<Oɮh':xWNo'{Z u󟃝N r r3u==sE(B\WcF|rd?+s^#1W/jp+n7E/$_'NAK!1:F#MTuK }&r^yjQ0ȕ\ZgjWQWNvy;=:K;ATSЩ4k'N^y7T\7+"՘'TuK 1rV]>.g'{B')b'Y";u-T>"tTu J]g!r^yZ*\WAz5f䙫vgso';G[թt/v՘'T"u*Hwr3uU.!W5ir!W@`e%ddߡq#USѩBWN^y5TOv~"@Lͩtڞ统*W K;*rޡ7ixgK2yj#-Qzfk|sCNBي\U,O\{[g?=~bIqAW);u!oJ>* W_icB.;4#O\\4r :Ur39ޜlKBa'{nvR,;u)-՘'yT.~׸r:jGr3oG)B[\Uo,.e'Fzc|v;o,LodCfI m :z5fY,/;Uv!{=S[՛F~ï(:5_zL);4#\T.~WAziWE[?N@ ;1 )~_:Rzȋ);4#O\\U0r^;Rr>byHwVAkG\Un19ŭd _|Nvv!v^'RU.~ r,ÿWjp tAklW7SHS,&:zfk^ߧߏ\Ǥ.owhFRmJ}uFz.#yWc*s3r]^;=q ݩ^~ OlQߠ=zfEIAq*R3׶*ÿnK]drޡyeFk\WcFeQq_wSOמ9 rC3OCDWkGjK\|*? ۿI}s r^yzBM`Nva;~~3x숤{T#vj;:Izk);4#O\cK=~p +vzf䉫~UoEk?\WcF"'Rﴆp nվrvQ~9-T @XdR)OZ++ 7՜6!W"i{G.׫1#O\\6OȕTZ jיcP?j(zȋ ,t'i.D(gD?K ^r g*J?J rx-ro^ d簒}6)J̗lRAh?:(-t՘'!T.HӐ먴_#՘'xe%C\,r9CSQ);4#O\V\3kre^P r>by5#k/=\/U8ތvГdG6w?ةAT>iCgF\/یU\Ќ W@`$5TvK=qrޡy⺿AM67Ma%\tg}{v:u@z)6#O\\%r^Q>rC3us@ko\ƌttk֋SFW1W)"ze9qUUFIûr^dyzVšk'Ku7v:5^:t%)/#O\\8rMxDC usu!lix@.׋,#O\zd-E>{W/F/SEѩHNxyou RixOE.׋,#O\f\W0rwOze/jAFN %zy*NDottkf_sD-/.\՗eVxMg%|(p&z-v*N8tπ* ʏ\3\oz+;#J덗'7.s}\3u \/9^ZJNuȥyI_\)tƣk#We7o( ~D#U+7T t/-ts՘'U̕*H ]$rxyGz\ɐtK"W@`ev1_{^j}T޳SIѩB7N^ 0P WCiC.U\ͤ3]\oWq(vߜdd}Gv*j#-՘'iTO̕:Ig\<r9C)׫1#O\;.\a˃\㤅N\ƌ;z+vs:zf/Ȣ* 'i@.׫1#O\*BׅB\WcFj8١dW[Z IUw2(; $v&'?\ bH ur9W"WRinB.׫1#O\gU`\n|\ƌi/]F.׫1#\J~*磝q{HvkSJNNtj*Wjz\U~.:&N;3>];9ϩNa^S]rC3tYJ\/5;!՘Nzc'`%_Wzb' }1(;':Tz~t'*Wzz\׮2\ƌi~b[.ڂ2SOѩ>kW)$N {&JN @iclC.׫1#O\%\1r |Ur3ĕ{yyg'__N"ڥ^Pv:5VZ])׫1#ϫR*WVz\ϫXS1!-tXiS~G筝(gV1Yu*;;u+-4X=Y*W溇\@.׫I c7vu!1e-{v.:BzVE);{gYTrx#r3U/ʕ OB#W@`ѻj}.du;d=:Nm^ tj,I+s\{.\Bre[uPZ覱j,LZ>d_W~ T>v&:uTzT)׫1#O\S\rT.r>by.+U#oB\w\{ӫN'k; j|QL6)nɩ^dSW.r39U"-iB.׫1#O\M\ rݓ:i}r3u쀚l~畝 7)}Zu;uz"v՘'\Er)-ٶ|^UU."iLD@\F76K;/R\}~Ѡtڵ֡SWcFUJ0ou1Љ2!՘'Uu"J r^y⚫ {<.-tvޠbΡSѥޚ r3S1Y#-tXk~3g3ȕ@:jWe%7Nv}nd'^@,NFH :z5f+Y~ sBBO\WcFQ2IJ/-tz5fku}58d7@۱Rdh:U:NeNmt?U@wqzNu7g= mSm٩kW(+N {&T\ǐ+1"՘'7kTuH Շ\WcFTS;j!՘'b:\ϫX:Ro<=(!1Iթ/T 鵣B¨5?zW!W=i3lC.׫1#ϿDU3Aj,-t z5f+Nls@B>\WcFRoО'v_i`bשo NGK ]:z5f+e?sC.Bo\Ս^W<ƟTmvgtکGSwhF1Du9; -'/:z5f䉫~]}k;zͳS-ةЩk窅NޡyjqIj\o/ ߳G78X >{oUk+vj:uR);4#SZ3z:/vhXb sCkǎ\whFw]+䛜;vGSy&uWm٩ѩҔgKNޡynk\k-rݕ^RrC3Ue՞ #i_|A.;4#O\b8ٷdgA9NAMcvj5:Bz37ũW*WGZ\K"rVڕV\+i3\whFfWȿs=wN)S٩ԥPk?Nޡydzxe;U#8{,To亰SѩҔN^yzT\ː+ھzfkjs-Ekw\U,O\C#7w87dXNɮNv$z#םHS:F*WZ\AҔ?,\wh!RS\=k1r^;7ޡre٨ N ;-P Gd=ڛUzSЩҔ}Nޡy}P\ ;k@.;4#O\~U0!vX͉kQ.'^3(ٙɮKNGHSG,tפ*W?暇\>P\ЌK} b'`J@Tv%QIS3ѩ:ҽ߃N^yڗR\34g e'U5ZHSI]/ی^~ɾl'{JvNQNMCJ0:zfk,k8sMEҔ\'`,O\*暂\=~ ++q%|^?d_}߻cd^Jd&S)rl3:z9&!_A.6#O\7«\k"r \mFDS0/zfk~?OIkĖDzSѩkNQk[ksCkX6#O\w!?\p~$ ߅<N-y[q}E\ck1 'u'2hZ-zfkDT)'7;/^{[;٣U$vj:^)-'WA*d\[n8qOrMaȵSZGt*T\\ƌsEk FA\w\ r^Kr3ugv﷓}}NdͩTotvSwhFs_r-b^u9ݑW*b\QN\ƌbyW#W|i\ՖJQ2W7J,-z5f[*2\ɤ3~\ƌf'{*?5Q\oB V']?WƫNN@H 7:z5f䉫Tks5GB*\P,O\ Q𫝀|5 $ MABN5CK=6;:F=ۨ*j\}\BQ2W$-zr}]{N;هڿװ7zjN^r >Z w;s5BqBG,׫1#O\i7`5Y:˭P *Nj\33\o>ROa{~~bI1FYz;U/-w՘'ەUUHg|Nj\WcF*T0W]Z)ӑWf';y5pt;uԋѽTtjsSWcF٩CSϸ޾vjTz3;U$-T@#)T}U vH r^y⚚N\5giG./#O\>h'3{a;:N`jS^ r35u#1i{C.׫1#O\U1W5:#-| ĕz1}J8e'A bv*:uAzm3Щ0~S_:\U뚴З ՘'MT#UnK =;rxy*WMN~;ɸ~NcSSЩBNjN^ytV:\면Ч#՘'UcU^I Ss :5,v3\5'{lBwi'Tytꭴ熡SWcFUU>I =- r^y\^:\eJXi-՘'uddl';7_wb'h թSTt*϶SWcFU N*WMS:Ukiv4:Cz);4#O\ƫ\gˏ\>Y#qYB{n@հ=vrK& \e,;CJS>!>^3Ě*9*\I.\ЌU'v[~o˜ľ߆AJGutBmR_a*%zf䉫?+\׮;\ƌ|#pwNB.;4#O\ckzUp 8Ľv:_ةdB\/ی5,q--rG}kړb"՘'3dGdouwd]:ϳe@H;q*~3iOGB\whFlTكtuTZ5ŐjW j쟬d_UNv.?Η:%-Aׂ*?̗~z ,gWQ=R#iWD.׫{5T.~/rݒθ]r gZjLn? j|+XRS^rC g8[gR cigE.׫1#O\mJjoN@~'wxHޡ(|ѩ?מr>byWK',!iG{ U.%EB,\7^F~׿\hWUcs.WkcI~}I.:r3uW`(-/z5f䉫oP}AMZWQ*_ #WAJ\'\|K\ 3n\o:YZ%)c('UU.^#{\7ЮЁɞ'm`^|Sr3ĕŻX_\*,ze*"}qtƽ#덗'#dd= 6CTx=苍NzV>tjW*o|tƉz#1#*/|1tq W@`"eN^ $>k'V]]0/l|1ЩzBolN^y⊬g8X:.ϧx9v=eIw_phTKiFF\ƌbyjGm>#V錛@jA\\RktC#덗' .?'6J)V,/-t՘'AU`\G0\o:C\#WimB.룂Tu Ig\*rx\ک&̱=hdW9:N5E%tj, +?s@B8\7^FjS 0u,-tprr>by U{}U3N]PNvڻƃ SЩBNQ|}U"W?iB./#_[uHg8)rxyM}=dB݄&ڇTSѩB̓N^yU.!xiC_E./#O\9N\Ř"rMθOe 578s]@Y?\7^F"TPo̴?'y5p}>;uZ -t՘'"RikD./#O\ 3N̔_ zRuNAVI ]3,:z5f䉫y4sFBۀ\P,O\Y\erm: 6MVK67kvK؍dϡg8,;u)v=՘\ro/rxy ]D*\Ǒ밴Е!덗'%U u Kg%rxyIɽ*wƞi'Z􉝛ĮQ\:Nz713*W%.I ]yrV2J=2sAO\7^F_S0a#qzekz}YL?ȞxĞhޮWe~AJ n:z5f+NsBg!7jxb' -_.y} XFND^K ]8 p+U$s@wBg|\7^FPj2~,#rxy*Q睏g<|RUjSᤅn9r3ĵwU~F\7^FV0^).| olB^IvKs뽄d{I`^.;/-T@ eR1nJ$qBzekvv>sBd7\7^F'ɞh'Un';jwթNt*)SWcF kreθDmr2ĵcfz& h~Ye' /S٩mT6i@\fWZxLj\[+#덗'rgT̵ Hg\?rxyZUK]ugܮgh'{M ;*&-t՘oک\͙kr.t\o3NH~sv^WjNmDJ ::F"6wTV̵jK ]rxy*Pj\둫t {#덗'o{^ϙNmmvj:LZ輳)׫1#O\E\mGj#-ze sEMG.c(5*W{Z\ݥ3r .NMK/~z ݁ZN:r3ĵbՑV! io\7^FrW:1J!qze+<5|m'{'?;sWNufVS㤅r2UiՅ#diE_kU0vjpګ䠬_p&2tj1՘',Tn̵K %rxyJX\? iC./#O\+8H;wPn;㏫N`S+PFJ8G5Փ#׏BK\WcF>\Tz1"$-t{X|+՛"3C.wT>̵Jg<2\oB.{^Po3I/7]-ޮeSNr S1<:&qD.˞Jg g|=쩽LttE"S7^!B]\Ckr=8pr2um5#K|\ݿS˕qzO N=&U/aSЩNxy5"'mC./#O\\#k p#qze+~n b';7_.wl`';[vr$;5$Ǫ덗'yTQ5 bHg<>rxy[P\+tƵ!W@`&dA+a'R3 ة>0i@\ЌbyZ\@Z i+E*H\\9r}gr3X?CNvh xk';T3pfhic$A\Ќ_Wg';rթT=t*SBZys֨\{.r}/-s+ k/sA݅\Wc!Lb<dwv=O1;ъ׺?SѩBr gZ[J\a/ X=Sr*~檉\eN\ƌ<'{l~ (ٙ^N8Au;U$-ty_ZSUUjH y4r3E}ig'` J@D|_}3!v:UWz})׫{A*/UKr^\Orf*RZ{˗JwUyɞ;54&SfW﵏Sѩvk'N^y[*!WBjJ\ \G"r^{Er3fl~[쟸 USЩkیN^yڶ@_̝U#C)t8 ބ䘋̎(*,PB 7)̄LEd2ϑ!}^?9u{oW,)cwk̎7\k^dBO\[cvʸH\kС kQAukEutOЧ:'vW)uk|'JM9TDpUv&s}")5flUzK U ׍nbT;g:_U=P+5GRY)=4;peo ̵PRkwwk̎7\;xa252ܮvD;?AZ&z\eTUVH {SyTkٕBL|PKB> JR%^\^x52^ \+JRO2WD`5FVX:̕CRåwk̎7\P n:;)t<R%XpvK2x%CYB8JEP }UI 5f} sI =ysx+\6pv o7Ύ]:r +P+UUr퉇X)߭1;p5_r]Wa)) ׅ*5pbBǔe.e(7\-2m殳4.uP +Pr={X*VHTRuwk̎7\F\+?sDm ׌ٯlvUP*+ޮNJn"Pn+/s!)5f*T?4su:6 sy/Ca g7s=)tRoCj_Izl5K2yw++Jg:{/NξPJ L̵I22Xxx'uu8H׿:6|(JmzhVwk̎džo+920I7E32mCT'Kf|2sEFO9 8cIϸ:kP*-+uXR)kX)߭Q*W*paB<\;^]TJ\g%3݌|w»B.~n:;jqs mU4P*+uYRY)߭1;pݼrWJ]Rw1WD`ahPb^P:p`;O\;^vQo/g7p]qvTl3q[x(=zz )E֘o.tS2+9qO")t"eI}TJ\)$3|wxpv} 9슿JeRIYtB/^xu$0WfI?x"jpM Ǚ)Ɍf./;pW߂ήt͆-mPJJ}+ 1WIGwe./;p iXsp@뀆kmw9TV(+UTRmKY)߭1;pʕp7{ װ*Sz\1B/\:Tuv8rjUP߬TEɵJn+3B<\[cv:U ?Л1o7t_r )tCOC=VeR[cvJ(r]j )lX WX+70˒B\;^vyNu;pvcp#w +RnR-$P W*I snP"m;\3֘o&W&s%q 񆫕~Ż8/'v24uUPwV=I[g"BRn0W/I[c./;p;^Pu|倏iP:+5@RoR>2\n\uJ g sn+ѿU\$ף~{A78UH/!g_"P +ЇRUc2sM^qGK .1קBu|wx٪5]goG KTALIw`|x*W4.0z;dӶCBsԗBOJEP1Ln2JId.߭1;p(rZ#)tײeO}^pvuٗBL:;]Km>T JJmz\cVwk̎7\4N36I3g.߭1;pz]*S̵KR3{ qbg gyY]gX*NR$^8j+T:\$|xj3qɌg./;pu^ή8x:xO:fMm> Rg$^ W*WypeB/\[cvP#u]2-=%ߪf}:/]uvnw=>kT*BìmI_Jn&9pbB\[cvʵ]ׯu"d52obz[*"]uuv!6|:J=!)֘oR*szQ ώK9`Pu@EBw<:nTRU/T&If"BS~&) 5fǣD }Z Weٕ\gAZ9VJUR?R$d|xz+OUDRn3֘o:oUk/s:=sy/Ca?Ύs)t19;(n׀R{X2BJEP>Q^n )t5>\A ]UYRw+}Tpsߋ1.QuvͻRNVГ7R"k~Cmp\/J ݴ*snD\; *0?m}7U\ۙdƱGw++}z/8;z>VU%(j.)t&XxhD.~`6B\;^]'-!p@!ΜPj++ARFY)߭Q[*W=pmaΒB\[cvpOХ3WD`aW4g˻Ξ:IZI*!4RXB_Jn>r5F/)ض5fǯ}U2 \}I`./;pMgǺ)fΪRzVjdx1Vwk̎7\CUks}()B ^*޼2DIG0WD`U4\~:{8]uF's.VU o߳RS%Q *^0 Ik-c.߭1;puޡr];Яb./;p]Kxc\gC '9ԝafI +5fyT.|\_H }9s[ Ȃ*N V1גB|wxõJc]uknˁ8wBY)߭1;p~Ojok Әwk̎7\7z\x/Jf<{ sxGpvi0Ξ?uhu+XBob|xu@z_1OB\Up o/Nr:(q嗘wˎ7\*\ IfܪsxkiĎ-i;y{bPK*R% W;* ` 7\;^v@2&K彺kN>2-Ɍ+djgn0'{b3 1{bo'JRJfܬ"+eJ}JJÎeRd6<.R'I }(;r sU.\,bdB7g./;ggPpoqRK p6sxk_ ^g]gA }هJ`+QR2Yjʅ[P̕ER)wˎ7\Tpg0rJf,sxkq]gWG*ǯJ`.+WRzX)߭1;pur_UHR.qe= s+Z2wˎ7\r]g7glK+p?W0*-)tߔ㫟~n f1W0֘ rʅ;UI2Wwˎ7\_nQpL9s|wx5zxb@\&M73XZBJx>*WOpMgxɌ/e.e(7\iLqzWqG0j$)tTDUprជ3j&)eU.l2WkɌf./;p:{"]uH9nz_U [TVЅR[cv<~'RwzSRwˎ7\\؅0WWɌb*j>^1]uT멊(5.)Y)߭1;pmjrac4\}%n|wxUʅ}c,qeUgO ^t]fςpIJnkf [:+)OwˎGX'x )sEVeXuw}2]uwՍϗw9Bc!JM^֘o>T.4كk90oVc>d9Bea./;ڨΞgt38󮳣R>`H=YVwk̎7\U 22Ia.e(7\R 0 Ɍd®P? >-•_~>`0VR[X)߭Ѵ *:V(Z')t35z*ʅ&J0Hf3|w»B֨2Lξ8{|/PB%JzQ*Qwk̎7\_QC3^Iga®P_T.0: q5*{DB e#Z\;^],C[>ʼnؓ ;^^'JzoZVw++0YB\%3|wx5ipӮߐ" VꊤЛ[RPoV)\7%Nێ" Bw3\ `{BGf.Pl*~AdƝ1WxWhx8y[S]iU$GJJ*)tɬWxW9* 2WJɌk~\;^v39k*ק\%α|wx5-Vgdƭ22KɮT J b$n+BU7\1kUJ`B\;^vᚔr-@"qreWUg` 2KMw1R݆J `zI }CVwk̎7\]T\BX\;^v*r-WGkX Kp`YBo\;^v<ގSWwH2ゝwˎ7\~:ގtW~*5J͗J-Vwk̎Odk%2I7e.e(7\-RWZ!)+,6\ի 8t})52f]TgVjЧR[cvB'G*jR$JPgZr ZIwk,}4wʕ5WR#0֘OGKhEos:^vص_JJ͓z݃oWs-J WJ*W&cB\apeTS:sx][ )vn0}bӱ Ė9*uJUcJ PVwk̎7\ϩ\'U$n|wxu\̵U2Wwˎ7\\U~8msy.a:z`.=7'6z4JzU9V*,lrW%J8 sxk9houp$sg{]UJ:+5fꝇu7seJfsx+gn<*2)Ɍ/`./;pMΧr u^2{u מ%]l#'vuBkTRYK-JPw*pcOy|wxUu4d;+2oQr`W(uvyx^:*ꝇ,(JX)/;p_2̕O2㾉e*epf’\aU?c۫w9-uvu!wz fI ]+e*b$3ޖ\;^v/|pznrkekP+UNRSVwˎ7\oY$s#)·wˎ7\,7UJfܿ5sy.aT_@6u]z&*JՔxL(>G+ʕ bUO2MIe4ຓIf|4|wxõ[[ t38񳮳ۢ*u *J=$)n֘?\9d$3n։|wxõss8asϪn l.nqv\g)BG ROI [֘ob*\U:Jf|wxV_ B]2՘w#ˎ7\[k\ s=#qvȲ Wjb>p}b_]DJ8zb#UrCIR;^vZʕ\w0ɌWwgji2W5Ӑ1uͪRCsBa|wxõ+/1׋B\;^vڷ[Ws:AhFpC!pu<\:k+AkBg}JxkXO+?ng7%<0G\w+s#'+,zUgFHϼ:{ UP*7+`|xuǭຍH ]t!sxx;G*HTRcwˎ7\=FpG%puVgVU0J-zyNVwk̎7\QI*Wp\K%֜m*W\Sg2o:dݛ@\gȫBI`|x5U\0IOa./;pm+r ̵ERE?1o^/Qٛ]gK:Ħ٬I֘oPrR%KJM.y.nR%מ؟ %eU\$^:sn\%uK =!|BBsbUR\G$lsnv"O,nzpأB> WJR'C):Vwk̎7\ש\\$[׫0p-ؤre()g+,+Tl\u :R色]}Ov$ J]TVwk,}4,!)G 5>zU\+RR荓w+}4U8+|wξ^..RQBW*o ř J =>/G{\;spIu60~s]߻uږtE(u*%Xh*b$^ۑ|BG{\s-)K)>ʈWgǐB]Ll4RU^(u:~+5fW_P* sՐ ,l}>V UWRwˎ'ׄ78:#Rfxt(uj()7X)߭1;p rł$s5z| W*WUp`G%߃|x5Kˁ۹3 cRՠqVII^e׫0pQsT 8qQ\AR W\Ov"R3]gﭣ]/R$6 W*:\%|xկU\_Rhsarxêq:puM߷Vف8UZPWVjГRa!TkÕ^U ']D^UꏪRT:+5Br[Y)=4;pߧrWs wk̎7\:1piH#_/=)Y/gpPJ}/b7*Kp W*#\$kZ[ξ88ݮ7S/G4R?R%N,JU}&*ף\$^՗|xը~` I?\[cvzml|'8;3rqTOVzJmg#Y)=4;pDjd:+ wk̎7\.PZks]:1sV5HSW٥jga9'VV_a|xõ($0Wÿb.߭1;pWZk3q%)5fmfa5g%n׆|xÕG`o'6ɴ'kCT@MTɵǍf׫0p*\bcm#JeTRITPrVRa!T3#-62W ɵ}|xET/G+l_\4`Q犨# 6Re$)1+廇fU*J&|xG\1WeI2Mwu v$na| %:V>ɵOgB&kP=2WI1Q*WpaB1|x58Uu68:7چ\g_<*J}J5\yVw͎7\}ϩ\o?C W*WgpbB\Uo\] sI ݧ,sV;I "8>#BǮruP/btR+Y%ߘьruERGc.߭1;pruWKR[Swˎ7\UgS]g])uvHUPKVs[֘o^yQ 5HRB12! |=7:`z6ؠ߰R%WAV*,>S71B7y|BLٻU;ÁC^u@4U>Pj)+5Fr9Y)=ІTLp}\%מٌ|BL;O\}ސR Q?^NqvݵzcZJM\;1 !uE5]rwk,__5SRa.߭>g3TgW#?T@Y$מ^X^RW\Kk/S5K }syWaJD9 gs} ٻ&cAXk׭JPg,1*ɵWd.߭Q*`p}\$מ+sn?S} :{?wLvKU!PVjq]Y)=>S*Pp}\ɒB}|xtJWqN{\wܫ^Y>bvJ=+彰k~5k82>I\a}͵UJ =q)sn'>gv} gnH(5J\Zhih9pfcB'd.=>S*(pb3B|sI&ٯ^9 gr}@wf Pj&+ocB *W">`˒BO\[cvqNz\3 Id.߭1;pR^ :!)tRe3׹zY !< :(s:(Cx̄2 ,1NdLI^~~t_Y>|p*n{=;;,{bWT7b RYTk j* pMcB0p嫭r}̕UR!M+,3\fξ gw]qv BUj0crJa|xm5\S+Я^c.߭1;pM]r d*$)tיwˎg#u7-8{;fw=RRs%֊qb\=Z qɣeiUzHf`>sxb-u38{]x3hJ̈́RXBJP סUY\+%Z|wx55\kdƝ3oZ:w8{^b٭zJ́RR%. 䕪RTԱ-R@ɵmc|xNk.0>Ig{ W*J\Vwk̎7\oV>uZR}wk̎7\Ts]8 Wٯ<͎/%][\g^݉JdJDVwk̎7\7Ua[B׫0]*\$nO8{Hkt (&+yR[cvZP]Zu95:1֘oQ J))t5fT%\$ož;^v<~AUO_8[(܄=IJ-RRY$~q*+B5/Q*ח\9$\[cv3Gu@YkP MˠkT^ɵJnk k90WAIW0Xѐڞp='. X:R$׮+廇fv*W\e$׎\UouR׫UIR+,p(*7\$|BWOlm9'NUoTVvէDbu>;p\u%.|BVV=s5qe Wp:]g?uuvꞇUP+%RUoUV-s? NRր sFc >Ngu=* \gwRYkJnnuXyNָJ B])ULL]JbnW'g|BlWJVJMLoxU*fz(2+]LX)6;YBʵ\/1ے\aL׎\߃%s#<廇ϴʵ\-}I4g.=}s'v{b0'6Y6* JJ \;*C gjʵ\͙kɛ1 &U-fBgm\UoWsM5 9RNJĮӜ;]Ě ԝ([T3V#ɵųR{hvZ?Ck51o*U)s}&)t5fUNg:{==]g/LnR$׎JnzFk'3rIWNf.Yf_ Wl*.p5b$~X|x5&:5&Lh:DKUP!+VroR[cvV̵Iro0֘oU ̵]R\wk̎7\Lio\gƭ\gX*J=J\{f#Vwk̎7\\,s:n>sVM#:-Y xtzS7GRXkWJk 2IIg.߭1;p7b3u^R舓5fwk1_΁cΞRU*JɵLc|xu0s3zo\4sݕLF  \*paB\[cvʑ_\J"I3.a./;p/rW-J!)wˎ*1pd\YvJFHO'G^Fr?9wU:jR$גwmCt(U 6/JՑoՍ'STvInGF'pUgܒ\[cvᪿM: jU@}wˎ7\Rk{3\gFΉ\gϮn8RE%3N1 W<*ip=\$3\[cv<P@:*UA2ř+,:TggtqvlAQ, o廑e9=*p"rOTr 1AV*V2R;^v\\A5N, 廑e#-rA!$ ʊXe ׃/\g/[:U𶁠 +5]2[X)/;p2T® - o廑e#U.l 0|Ix\Yv*p箳ԗǹ>FˁA~V Ɍ`|wx<ʅA$s-xc彺N6 [k|dc3WX`kYSmNt8{C ^w=yY5B]Jnd+C ;K<̵QRUw#ˎ7\\Xf_|7xÕʅ}A.- o2?e#QO8 {4iJa]: Կlso$'U+5f\3d`k\UU. 3W1WX`Pժٟ.\75xn X\kJnn-ܥr^]K}] JzP­ s\7WӬH8{ȵbg h{"q HJ\{PVw͎7\\ګbzp (r<\U$>:|xÕplMkd1Rh)YkJ*zA 抒\;3C W| m 9s=+5f# ٳ\gGPΩJ$cK]b+廇fU.t[-vB{ H5ʅfC^\;Kk .}pLٝC ^WD")R$כC W,I4 BR}yWؼI4XNߘJn+iA T_$33oS&E\1k\ [ob^Q]uv,yΞ]U K#V$K%,dr{5@skO? O\2_\{hvpXuva8#ٳ;eCΪJkpIa|7x% ۢ0ɵ<\{hvʅ-QCɵWg`Q[;7*)t|C ꖰ"8 YmZu)on R=.s͓\e廇f/QʅQ2BIf.=4;p]^uvQ8{H5/r=jEaJ=V{a OT.|jGf%pYuʅmQkЧ3֘ofP>:ޱHI?JH JE`xI7b.߭1;} \uvJ =snK:xwUJ@_XB^JyWa]us"J]eZQ2lfbȒP+uXrcDsCprU:.F廇f4q*Wip]a3B}|xunl0bqًwήuLU J,voVVʂs]\{vWuQ*붤?bj)5g/Q$WS3Ŵ-+EVSsR{hv_F Hr3֘oUV*y*WpaaB,\[cGM̈Qg"~I?>*JfFK .C *W#pb B{׫0}*Wcpd8Ib-Mfx1uRпmg;ɫƯ&Pj+5CRY)=]U\H >snnQ6Z )Kwk,t(nl+g):{^UfPj++DR舛T)o*$\/+VH =sn=}\Z))W2Wѩ*Wspmfܙ\oV0a,ٕ&X"n6`5Rle&%TBC)ʒ%K"qz]G\/tu[2;w++4z ZbT1/˪Q_Jmg>rVwk,}4\ۘk{0o:5W:k+sK202kdT?EgoEήd&N R%^s+B2\WWk3sz\ ״:*WWpmb$3U|wxuYƒ)ar֋UAIIw5g|xu\묤w1oPzC( *W,3ׯ\a5ph^fA#؟s`w}IŦtS/RR7%> ת*W/pO\2Jf_|wxǪЇ &( rfKgTRXlBOy ;TzrK .sxU>Z\$3\a5-%.tj%{P]VnɌa|x(r;UB2 әwˎ7\+\6s8sx4h\g.Qb*H t*+5fj UzJfsy/CaXr _2 *W`ڒ/\;^vuC}fimK/vwVPuVdƩX)/;ɥr jj,廑e \Z\%3|7xÕRB6:;.$rrJz! zyk$1(Ɍg./;plE{Ƹ/v4Lq_/hJ%CtVjг.RUgpUFk)sM Wxk4^b$3n9sx+\/2׳W[\ޫK>oT_,UTŦ1/6mKU*J-aJ /U1Z\ %3|wxÕ5\kdƏg./;C65pyɵ[JBVIf|wx55\ kЯ^e./;pUmrz[22MUgcg-:/"gW6?*5JgI =u+B3\Q&ksm8&sxBk2vɌb./;Z F޿8害 'C9NI?f|wx=[W8\kd_`./;p>rM̵O2 XX!Ld'iu's!IR[cv<ڞ*4pbc[|wxD%)p=\'$3^<|wxbl#]gliN٫WJMRϰR% W7Tz.H 10pG uU2z3WX`\OksݐxS廑e}l#{.w|/}aROR3H =? W*,pMcw|wBB'g\ρIS2Qw#ˎ_2vŃ`M+:תRCT~I{.g0p5=rK2Nי+,+5\$Wg.fuܼ\gWE\uv굉Pj+udmd|wBBq-Uy\%3N\;^]v*|pM`ʒ7\;^v:_tՓ`{T P*)qTXUn-\ 5O HWks="qqyl\ nMrUEPj,+HR%WhWknk10W3Ɍc.ߍ,;pm/r-W*s8sy.a*T{;Eq%vY{UT +^R]Y B]\/k4su̸c*KZ QS2O0FVhgd> .U]g½θΎyN7YBWod^BSk$s%Hf$|wxld:Dp%ޑGSj9J y_VC}]z\Ù+YRFŘw++T kd}j3WhWDtٸ r=[/vRBaDI~JnwQVk(sMWrzZ2j%wˎ7\ U5fKf , P}.U>WO:%qeZ1pξi;SrRyI7|JnkSgCp`˒B\a5p=rmWw.qYey u}>?<;YW6BnmIb|xUʵ \]BfI+g./;pT^ .̕S2enUT-\y%3ysy.aM}OĻ/;}JmRX@R3Y~59QUL2eW >Nn ZUP+UJRk֘o~Xr})qta W뀇q|PYCvT%I.U3JnjNpeBn\ۿ S W*pa%3\;^vz AoTq!]uvjN(՚')t'֘oƏS>%)t5fT]j\1Bgc./;p߈WJ^ nujFgP%+RR̬֘o.Q>cVR讅+, ׀*j\%.>|wxuHO8еc]ggޯ RB} תL4=j\}$U|wxnN_j\%>ԟ|wx?l|W(uߓ_)UR1If׫0pMQW4sX Ϩ&PzTB&TNd|x5"]5Arn3֘oW̮9_ X%\]Sj?jJM\;+廇fuU(s͔\l Wbu\Qj0WX`u1\cTj\%њ|x9J}fZ} }bNQ:RK$׾6S\kycwk̎G90aB?6|xõwx8 ؅>[uRGT=VjvR{hvo\k%\kz{(0zI/a.߭1;>R+A_`״RRY-kz W*׷z>\;snh;p=\I c/sn@zM ߹ :>vW=i5LǡԃԗkozL\߃s}-)'+,ⷭ`#B7)\[cvR9:>|BGcT\H ]o}߭Q]pvWg:Fq(UIRۡ{kisu\+%a.߭1;pXN\+бәwˎ7\+\usxl , o)A{Vj溺׺/~KS*5pE0W IG1֘o'\s̸J ,lr]WI$#e~qf0^lkwT~fbD (U.)tY)/;pIR~=;CeF)*Mpgߙ|7x5!p㮳G&N=**J%J ݬ%+ +y2pɌϬbi]Vns8geDP8:uWwnDdRwR%" WX+#b)g|wxypf\;^vzoapvKu<]g٭* J,IOd0puܧreW!'qX# 7T,*\$3Y|wxuz%, ~uJ|36֮NEdRXtIF|wx5ʕ \kdfK|wxUq+;1\;^v*3Mup8:\gW*Jeޑ:B%7`ʕ\yɌd./;pzI\kdu73oP=n:3r=T.(HRbY)/;p>rם̵KREwˎ7\?^P+'s@~^]xVH8M?:{ڥP*+_RkY᪶WuXRCwˎ7\;\̸psxͣ*Wpee<\YvầzG%/b/k嗨xӿ^mTVlhs9(U(eUB\%3Ni\Po&wWpeb_%3NZ\aQpv싙iyT C;X We.pe$_2Jfwsx+u720W6Ɍ/}\;^vjO4Ύv]Qldu.E1nR%q ׎*WQpb8sV]UU \0ݒ\YvzQ*UB2Sw#ˎ*޽Im؊ȌSۣv&(;+UZ2s/R;^vj]E*UA2w#ˎ7\k\%uHfWW0pJP g7v]镔uvdURP7V~ɌdBֆ+8+\טdƟc./;p=1p@#Ȏ}umRB_YBJb|wx$5;U\%3.7|wx[*+\21oُ \g*( .RK ^xÕ KA2J3WX`5\E\ su( 0(ىV\:`HDy(u%)corU'e)*WEpgA7\;^vKS9&KX} ױ}Gt_RϬ(Ɍg|wxÕU\gkd=Z2oF_W sMHȲ*^tJΞqvk3ֱl۸DD 7Ymtg<) 2ϔ)S)*CHhe*sPфm:y[?u=\w~9 AqEYVjdHj|wxÕXF*35Q2?0+\O*X):{]ut;ʕ̵DRK1 m-^?wfqŏ]䮢]ӊ+ NR+$^7 הgTRVK }k^x=ZO* ̵^Ri+*+TpS?{8vkFJRY͒kJnGǩ\euJ ) *MVʁ.)v5 9:{]uNJ=gvI}wk̎7\Ψ\s}+X>|NuXR wNV/Vgugo*"ήϟ. URGXck]-JWTJ:\$^Q|7T:\g%.sn.[} sF^xt3^[}bo ~;fbeV꒤iRQ!6Uk?s]P wV[JI%)[5 ߢ:{4]qB,:;UjPV*_d|{T\%>|xU\{+d.e(K:cRs.l3qL2K3Pj++)zTTpe^rn!)]5f!KUZ\B;sx񆫯~#j,]uvO~V fIVwk̎7\YP+*,)te5f )*W]pdB\Qpm*^g'ήSwn:Ai2K=(*-9֘oUPK )M5f㓨\ۙ{3o"Tg\gWE;n*J}J=#֘o״^R%\"U*vT#(9+UOr펃X)-7\kZH =y $=zDjϘ2֘o^fgw wKtw#z7)JOoR2\)suz廇f9>a%sn+vYp}\/If~ syWarGG22WT`=f^ҙO'O~0@U%J |cVwk̎7\Y\Kfsx.zUj M5Z2_c./;pޢ:{]uTBg:U6PCVp: ׷U^xX Tސx6?Li4gO^٩F>HMvPj+5OReY)/;p\k[1oʫru:zK2cfeϪΞgqq]g*JJ')J2SU^R]6w6JcZ(%zŨZJ\;_x9"!z TZ\J 0#snL*PfO$Z|wxUzOm*]u6هsݼTW(BrY)߭1;p]or}{Ћ2֘oNQ.sb2s+W5vipvAǚgo:BU)e6x:$֘oR-W`%s}/)k5f\xsfNJ =snEpvgNƷ] mxc6+uFryY)߭1;pmYr}u[ 3֘o*oR`9s]z[X ׌$ 8;K!n:~w o R$%+5f߫JpJIBo*쬪T/(%vjoW.` q]L#)N廇fWT.I%X\$\[cv@5:;ﻞvk{›9ETfɵg0pA{z * + כk?켮 cgVٕcp =J=&Vw͎7\G\\y%^usr yUHr0֘oFr^l0zHi6U V/V.t;7zwU9T)ɵ{f|x6rf0ʇw3֘oyXM`sB\;^v1A^]0fH + w> >>Bu}bˤJaO+J͕HQ*1Z^SaBZ\[cх[*:hZ.)t8 6Qi\Jf|n-sxS'v!\}b7tVB8xZ+2TTT.}Q̵Q2ލw+>KB3\Kf<sxG^gtw}"9;LU)6Ɍg|ZT.tǂ̵S2㒅wˎ7\Ϫ\hØkd)g{ הZꝸpvcw}G͚w R$3~1 }9 `s}'n]r5 f%3n1sndG T.d Y2}sw#ˎ?\˳W–>`ĚԫSꂁZJxkP^ IM0R$3N\QUp,r!3_{|7xup#oa{YSNJw+uS2X)/;pU¯A_⺔Z21FoʟWOЇKf sndkR=28aӠ `[Jv2+I2Y)/;pڦ*J=*A:鐫=T7+MRQY9(uP_A2s=,qea?\&s=*qeěꕰ]gŎ㮳GeT/b2J8Jn+] KU@2wˎ7\bU.|/2W1Ɍd.e(7\jyކc]gŽw_\gj*g%J%J bBdDk J=dk1oWV;sUeW$:.r7:~i%z&)t붬oׯ3癫:1o~r $j(S3WT`2\~TW7j&qGw#ˎ7\;Cx"1+/srԉpv$;1 ;qw*hߕo-vwk̎7\{\Յ:Hݼ(snkxʵ\}2oWւs:,P}puddIezp5^wQ$Iԋ+Du$Z:_`Ju`I cdlKUj\C$nx|wxÕ|kGx~t뀷TڱR$WVwk̎7\.\-s:asnkuk#cIBg\Po6Qoo1ξ7u TVjeBn*&pfْk|xպʵ\kc.߭1;permWKZ&)tne ;'G2OZ)&J}ZR+%> T,sV% rH4N\9sml])1I~\;^vUF2ONdwثՉd~w^?`!w_=о)kJ{hv2H \MKI,\{hvj2B̵[RV^hsp5bB?\QUpmr}uD2cwk̎7\/W?O>Gld~]Uj;jJt֘o~r} 1֘o]Uvs*-5f2_ ]$\gzn'JzdV{ ?#*W\W$nӜvB\oɌ=\;^v<7FW_i#g_Jt}QMwvAZ$шrWMJ')te7p=\I =&sx۪z^pgzJmdT/R5X?{o#Q!T ʵ\ՙ!ɌY\;^v 1WNɌg g.pdrHz3m}]g*-J:%+5nmUBRI*ԇ5v[Uj?J\;+5fUzH =1^xu`FH"Hĥ[hy*A(R kGY L{Ϩ\UJ \{h>Ss*apUbB,\;^>mdak8{Oc(U*v嬔Xϴu\3֘oSWy/)t|^x}_B I:5.ruvR?@rTSɵRѵu \e2X}tu\e_f.߭phUZ pf.a =|wG۩yЯ>ɹ[<Ď*#*J vY)߭1;J$\'UzI]sENSN+Jf sxGF&uv?+JR IVe|C\?sZG bי:`GهY^JgH$+廇fU_$sM\S^{*pcBW>\Q]3kFw,uƺYS,*J͒\;.C fW~WzSr%w->r̵DRԫwˎ4b+FhvƯMfgksWq~RXk ׶**\$׾!^xpUWZ/)t;Z>Zu61\goYj}fTAp:5+廇f۳Tz>\ W*pcB(\[cv:zSu6ڹ17]gxx1t (%or>r]ڱk+*i*%paÒB\[cvz_<~v ǧ~ ٱP*7+uLRuY)=4;p-lr]WbB\;^v{llU\up]v]PAV*NRX)߭1;pQ/ ƧW,s8]^@\*,)eu;:;di@Vg6RQ!@޿O lUZRw4|wxUS2WɌ^e I5-A\q]zz8utP* +wJG>1PJIdb.߭1;pzJu6Fc.hNw̝UAGA|DB$aHiACa(i0(KFZ$<\Y?p/}WU* JJU[X)*ڷTJ\B7o\!Up@JU_Rwk̎ǟD 6Hfxsxozu Ёm]Ǽؒ1߈UJR-%~(+5fŋTJ\m%>Q|wx8`ʕ \ICɌ>b.e(7\ozu+'.bRYnB *T,sޗe=)T4J\$3N7|wxõz ]gw3qPVjЇsR[cvYS +J .sx+u]p=\#$3߱!Up orS5F2 wˎ7\#՛Cqu?{v&E(()t'+e+*KJ\%3w|wxպʕpfHf\#|wxUhlQ \u=qDVzJ=fJ x/CaZ;OJG̵H2++$D̵\2TUwˎ7\!\ \q/t= \ zJzfVwˎǯ~9UWu6If|||wx\u$3Շ|wxLu6n)p#quPRBǮe0pU ;̵_2+$:>VuHf7|wB﮳aw}˫SnR$JxwreM:'qj{Cd1=wˎ7\VVY+ $w+a١uVꆤaY B\sݕxSK %nrUz,qL / Z]>h^٣JRWH;agJxwr̕D2cwˎ7\7Ey]$Q ~gRI =:+ R1".J=1]2U.J]f^\{]!V*$Q*Wp]b%^snrR"seK5>ڕUˎ3v;`Xx>(u.hVwk,}T:3WnIf.߭1;pŗTs ^k>JZu6.qι.˻>*UJJ\cQhhm=G*U\R1XpA0[B(\[cr{juvY\nVuvRݱ7iVwX)߭Ѱ*Wapbjkg.\[cv\U*U[R[0WH`u5Fk#qif$9:E;&:JՓ\;gXph*WQpgFk snQszV n=8:}uvK\/u[T"QV}ɵ;5e|xuU\GY?d.*7\\%uJ .sVf zsw]gwo;L|v)$)ovQJs\  WU:\J "|xuil\r=/mpU2P+R{hvʹQz \kگUdڰM* }5ZRӘwk̎7\Cw\K }g Ŭ-%| p}eg/j6Oxy(*Ҭ֘orU/Ч0֘o T*+H <sn4-p ً]:{hF6Ox%(Z ϝXʦrU.Z&)5f*\%|xÕU\;kd}oR_,8MȌOt_RoC6Ɍmd|xpU \q̵K2B +pmc}m\!p: s7CaɌ'c|x\-uB2tKwk̎7\Sjk3s&ݑe]?|)pu9dƫ˺N 6R%3^ z*Wmpmdk/H\j+ uG2sw#ˎ7\VG\gEf<]((z$쬔oNwgd73oUks%xIȲ ]paw 3_uvꝸwZV*dƣ׳R;^v"U\kyɌGbzpzM̕N2w#ˎǿ]W/6+Gp&ZUZJeoj+k%sexn,sxkN`L|$CͿP{Pj+KR]X)/;p9r5rz]2㈻ wJy8"u@Pj+F0>[j!)eUZ\%3ه|wxõ \d&0o{V.ttbGCEےBGe|wxU+2WMIKjkH%0W]ɌOb./;pޭ:"uv=BW:{QUVPj>+Uc|wx5\󘫙1o_P\ђE3o6Ui};+΅BJeK ,+emTsuD ꆫ|-0WI'g`./;pmrl+9կ[ҁ퇯Sgʤ^0JbI =+e9T\K sxkBf0גg_\ޫKoW5upٓ+aԏT.R!!T õ!~`o%^|wxÕ \3Ɍ#*2ŪΞS?=u{T:CX%^ W*WpMgْB'\;^v<Q[U\%3Y\!͞K:Wx Fg_:TAN7(5Z")CXpW|1#pMaUB_\;^]*WwpMf\;^͞VGWݮ#_Q/RX-Bǧ`|xÕ.1&2NI\;^v<~ȡr+q\!]DyU^\$3|w=_~kx{ËQ eKfe\ޫK;EySiξ goq]ˑ%h.H)5J}JՑzɋTH]eT\ $3\;^vο Sozŀk s5xB {pfͰ\;L\TEUjJzT{Vwˎ7\j\՟Ifsx+Ak 1W'Ɍ\!Up5^gor_.ruцP/+]R-X)/;pulrW-eiK:*t:Wo} zR% *xpb!B\;^v᪖W5LR{ Dp}\#%3n_B+p͝؇xkש/RUIP+5NRaX)/;p-]rMWw$)je *p}\If<5sx˼ꅠGpzٳq*9"ԋ3ST7Vj3>e|wxõ5 \]+6ܜ0pծrMWZ,X *w\+$3^\;^vx?/v]ءURXuB*Jx+Lp}\%3\;^v<0W\kds30o藏׹޲8hWف6}P+R!!TO~h&3AɌ0o6wQf:*qgwˎ/48{㍌7ɷm2g뗏fCviI'ee|wx55\m낤M2o_R~d3 Tj\7%34B+VV/vb1/v~TK| Y#J]!u5\OɌ^g./;p%orW+d :2FoWqgO?MTZZR$3+eTj\%30pr-WsJ+qX WӪWNS8{e篨J-RX \Jx-k 2WfɌb./;p{r-WzM2nw#ˎ7\%QapJYAFk~]pjJ̸qVwˎ7\\Ո Hf: sV9|ʵ\1כ~5sndx+\gEޮ0J(Ր*)q͔onVVsUP6+QRY)e(7\U6su̸l + k3j2W/Ɍ[1FoGhWK\gwFvVVmR5XB?Jx*VpUg7=\;^vjrm;5T2lӘw#ˎGpb[gǹ^(U()GX)оB*>pe8Ig./;pM,r[/9 d)c#P]{JReXB*JPu\눤е1WpW*!pbSwj\;^͞ AQy[[*ΞPJ+*JQDh *rW ]Ry-wˎ7\\GUnHf*svZRٱ/[kvNQ(JݕZzVwk,+Y}u \Ř뱤c.P%s]GZ;;뀖wTCԃ0ɵ.e|ƂG/=VNMJ")O15f0IpaTB/\P;*mnQigO8; 98~*u JfBWJP>u\o0˒BG'a.߭УA*pbLB\;^]\gUܙ\_: O =!cQ|( ed32l#< R'1mDB {ݯ}?^rZ̸pR}bW/Al.NURT9vg|ƬtI: UVRF{ k5+\ed-\q] i4sU̸p:QP—Ůt_Y̋m__QTRvNbI dovwT.|tXjJf\ sxYyբʅo bg%3~|4sxYyuGU ߷`%m3N}Ůp_l}|CrD昩: S$3.PI4W·7ŘdUd./+o -R}aQj-廑e ׷+T.|Y suRcȲ hB}Yx2Mhͼ`JfmNy.Apor"[2ܗ+.z9; ȉ XN@7ds'~)|NX/q7\g\0\'e.ߍ,+o:W5R2Ew#|ojw3ra=q;٥;.;5V2ㄚ7\\d\ޫK7\KT.q 04Ɍ:ٹ1Kɞ8dL^u]0?;,&7\gVp:Kf\ sxYyÕ5ʅa>Z*q廑e W:ꭲŝ왟N2K:&)t7\Qp"\'$3~jsxYyutʅ =̕"ew#4wc结6wp'iv2K[YI=NxYyc. ;aV )]3\ \ 0Ɍ b.ߍ,+o_P'&{;W]ҫ}6aBGS;^VpuC`~MR?~ #./+oK¶Xxs:\;^VpոG®P2Kf> sndYyUz ^΋-Ab.b!(u60 \V6K.vr}\X=P.CrK]snYy N/{wkɣU.tUXRw17\mQ_xsg0vbUB/6*.v֘7\]P \%nT׫ o>*^ `fPb hWA:Ak+*/v[>m Z*-mUYr+wk/PBc#L\QI`.߭1+oNvaLv;U0/~ WB LNՐ\^}vwcT.ћUGrlwI*ҿ ')tl Ω]=˝g'n4۝TES %׾؉CkM Iwj&v5fkߡݿoRR:W<^v|=ӝ#d\NڪS5zj/vy7\E\-+su-?}Ƭ@§ѫSRs+.}4h:bgu ^Uu DS$ܔCmXߤ5XRwk,}T{ʅ0pIwc.߭ѹҢd'[lp'vv3ܣة1\;C+eʅۢ?3WЧ1z W*׎^d)B/\q:a=;d7] vjZS[c}O\ޖ5gZʅ K i\[c]=՝؅ϝ٩kk*W pcw$N9\/GKΪ\GzORwk,}t'$2B\;^YW`b7.9?_?_<ڍHi8/v#ɵǚCUkB*Wp2g|bGUʂ4sxd+Ru(NwNw;֫NS)!I7We(lIz\?0WB_|bGv\s}+qߘw+}r:(x˝}H׏ [Ty8=;uJRcS[c)kZ$ש|\]gTS߱Sg$~avw UGu~z.^Fo7Ɍf.Qa~{ &/ yŞRE*SJ }&;5>޿T7̕NRwk,}X̕I2uCwkxzu ?o:{f|Z ƹP;MtIuN5zvwTZHf\#sxYyEsj+TW;q9Nv3NNS©=T'I`|w<~Pn!)aX W~*\}%3`./+o>>N6҂`;]?v;ٿP >cI ;e W\$ }w<>CQz\2hɌ;\;^VpܮM6 w"PFyN}NM7\U\%z?sV5ʕkdf`./+oZV'a0ڝ$\Q/>:N}N͕Hvwk#r5̵ׇH2ˋwn\Kf~|wjzq0ʝYhCdΝvvj)u)e(\M6Jf(sSk/ FdNՋzMI$S[cVpuΠrz1֘7\鲪\.wuVo{ p'\Nɝ;N5S٩%ޓ^|wJLT^&:()tX W*+z!)DadB };^^@lcj֘7\\-zk60Wл*27\?UZk=sx彺yuz `bO[?lH/Qz% ZN]ӋT\p-Aj wWIO\;^VjSaB/Mb./+_V'ͼ`;gȶad:N%n!)te֘7\)u[JC\~Î\7SouSkةkvm[cVp5kr u=z0z W*WGpbB<\qpN6ڞA3׳!ӝVNuS+٩k/hNnYyuq\+ir3֘7\]\]z\[cVpP e K0֘7\SoDuآ=b{PouSK٩rB_NŅQ ץ9*Wwp-a$S|Ƭ*HгF37\TzksUV}>}0}U3/QޛE N-dzS vwk\IZ^Z[U_23W\`aW(,r7m\5Hf&sxŶrS^ %BllE纓]T"N֘7\k{\C5&If(svSk*sM8.sxvfQ'{A?w'.x%d۪:5 NMafK l/;>5\kл1WlWhg*p\$3>|wT(6[ ^s'{.[-V*H85Z-)t-!e(y\5K } , rכ̵Y2ㅳw++T)Ull.}^ dϿ:JbKfs8Qk*pM`O$3Y|wbB Өwǂkdof&Lw:5NcKfz^j?JuD2+.+4PY;{N@Sv긤ǰS[c'U$p\'%|bGa&F3iɌFw++zW^dt^4^@FS$vwUI\%Y B^V*)ezW4d_B ΗpEu*N dJH =;e W*lp `\P7\nS/W qXEWTts'՞d7{Uuj.NUd;5f +UsUxO +5\}d17\T惫s=+q[^7\ p-Ȍ[.t_l%p7;dƝd¨"@9k!z1W#Ɍ?\;^Vp孨r-WOj.'טw#3;[Nv֥STvdƣ^c|wᚵJZA2%ӘwT\]%3~EޫK7\ENAgw 3w'OSTWvdƭSqaT%ʵ\]d;v17\ݯ\+ՙ%3Z|7RNUA'w5]z;'Up;5B2m)/+oPV#sd mʵ\2DIx|\ޫK7\˩AGwf1W4Ju']թ5p;5U2-٩0y5v.Nyũ:ucZ8՞JzPvwkpc.\;^VPW[Z"eI>^!nɞ#dw,޿[ڰS$a8U85f ױR*zpfuol\qʵ\}Ɍb./+o>{Ul\Oڻw'پSTKvj[lvvw\s:W|w W+̵K2r17\/nW'׮vdoGRΝc{T6٩}Bvb k33aI{cjH\[ՌI = sxYyUu,mޏpE(&So{nS/S'b⼆+r}̕")e5M&a|7Lcl }"fp2Y(lIJ"JlɱeB us^|z}u=~ObrV ׀@Xq}]gëۛzr()E2ƣ9V\]I+"o;\ՙI ݺ(sx~BA܃O0":R@NTMQkgJnSpudlB/\[cv^[q^m{7c TV*ڏue|xõ"N ̕Wr!XCoAk 1W~I|xտzooq}#?uϠT[VX)߭1;YBspaxɵ,e.߭1;"rmWk*+)t5fTgޮ]gݯ*Ja*IV^xÕzHVUCr2WD`aW KpdڒBo\[cvb/8G:;azOm;jJ%Ib*+廇nmrWsj"wk,>:yFuu@ݞ7N(u/+BrY)=4;J]Svs:_e(пՔ:K -|kZxY*Vluݯn(Ju\{nCVw-gJMQ1s廇neWs=,)#5n:opچYޖ]ͳJ5dIYC WXk?0WWҘ+"}=N\I5BRg0X}Ԭu\s ,Pռ;wg_TRYB])J5}U\%N}|xU]\3$sy/Ca<׫\UfKf<sETUo_bgm3ca(U')tX}2Y:DZ()QnhrW-Z&qnirWMz]2Gf2ojvR=̵Z22+%{q]ݿD3D_pOW:jRJfܢ+nxF:̵^2GZ0W+ *IpUcO$]ф|7] US\KۯsndB;_,^bWb'ח/vRTVj{QVwˎ7\SzJuq;ާRH4VĨw@ʬnɌR!v*ަrW%: q -ȣrWs8 w>^q]gĎ7\g*uJUdNHfܻ+ =N\d)e**\?Jf<^]xl:{uQdƛqzP+uY2^gY B TUJf|$sxBR. qeInיw#ˎ\uEdk?bg{7K/BҬTVɌGf|wx5J1WɌc./;pnr ̕GmU >ܧ:{ 6Mq%[\gW9*u JųR$35 W*ep\%3|wxÕu\%$þc.ߍ,;[X]g\f0C7KRY2Jx[\Ř+A2ԥ廑esU< sPEIc\?FU()R!Tcx+&pgnB\;^vuʕ\ 0ovW=gvv\[cv*5Bu(8؆_quvRŠԯTnɵJyWaeU\0םk˯-Upr*()t;wk̎7\wT=n8;K]g;*u7J\yuVw͎7\~rŃs\55fE?\%3sU:5?sn1pvCمqi|w[bmmno_uP +5@Rk1֘oߡJuvuD*fq`|(u"vqzGJ\UuI]{sEWT$s=!)"5nȥ^1zή:{ ?q=v)::JK](YL\5u&I\snLJ\[*DH캮GguR51Vj5R!҇\uw53}4\JZ )t5n{Bu8qWLoٛ'JՆRY%BW=JL vJMR] ڷs:yPU:J*Y)=4;p-?r׿ ɵr3*W=pdB_\\}4F$8;uR 9ۺGjCoX$s nNWp` kh\[c>ԉ*Wf͒B\[c>S֪3Z jΞU?VSJm\b,+廇f,]\$^֘׫0pɦr5^')tX פ%욮` H;L0HU1J\o\\$ζ|xk\_1iIKf.߭1;p]:{2}خuvzUP_wkOd|xõ~ \'ɵ`7\}r 1՘wk̎c mS`6T.~7R;XLɵR{hvZrv⊎\J W@j /+'1֘oT=ή:ҝW{\gEUJ\{nV{ WSJ'XFjbrmnq0kTk(* IyfwVw͎7\\m9s\(C ׶oTJJ }7 WXt8B캅4A-Tyɵ a|xUn=63Weɵg\UoNQ:ks#)+"R WF\2W]I`.߭1;~3Vq خ1bOP>aH}sVw͎7\\J ~ s*Wp}\$|xun^pveٍ3gV?JEP- {TH snU]>dy|x];3w\;^vz[b;`{eT(/)tB +5f;UKf|^xW\3Wd92WD` ,8;uv_B'uދcFJ +5fORTR] SURԻXIKw͎7\\}sMla Wzop\S$>sxl^pvO .{BӒB&J51JyWa^r[5GR/3WD` 3\yW\x=X\%>מ|wxunz{p6]u,Ȝ%]vZ$)s֘oTכ'f.߭1;p5V*Z))teN\sxs4sEVVP6_l9] g.;JV=IO`|x$A+н2ovWSbs}*њe첮3t#۞x+0XJmά֘o=R\*s{ ב\x',X\{$3>r"r˸ހzzVU NRH }u++5fTPJfoVPͅJ؅t}o_;Vx'x:))Ւ֘o-V6KK ~ snkr /sK뢤˧32yL/٥\gC ib+,fH \"+BkOI wEuMR{wˎG+ʅ+B9JR˗w+zʅ[K̕M2wg.pWq/~Jr))oN\gBW}" BPp5\%޵|w]qUgχgGGţ]g?* TI/|JnGϪ\exI4`.pWk,gB\;^vz)p}8=skp,x$)ӣX)e(7\9\;aoKe®м$ WU[2w+:E8좇ͯ~Oew3]U WgY$IWf|&\ s%Kf"snB6x (:2\ߡ*6,VY?c|xÕgʅ &Lj+)t^5ʅI2S+"+Tz-t!]uvx?:{h#Z(!3XBr 7S Lg>Bz|w]U.BӘ!Ia.pWً좮aǻ}+ORnm0$)]X)߭1;prac4\B\*I\;^PRpvh:\iORc$N?JnGѱ*t /)w+>*uʅ]`s=%)2o^^^gv=˯u]kDVjЅX)*7\\hk F3WD`a*zxzA2ݘw+>:ʅk$s-j mb]/N/vQC'ڃ8Vj)J5BT.tǂtzM2w2oֶR 2jɌ?Ne.e(Gf0wQRVY&44I[$iEdAI%I 0HR`@ED $#A&C%H(i<6w|l]]{w=qv#Uа gK :V*&®P~(uFԣ:_Ec#2Z݅NJnE"#T.ڑ̵BR9Ùwk,}TYZT32J usxo)pv>ٳqiϢl31^CJy 2֘oPD3VITe*gJU̵[Rwwˎ7\v:{ڽNLU $GR%מ٘ vCuDR=wk̎7\ϫ\)2NI =&|xÕʅ"/2YIM\Po6TM}bGzc[_vn%IKdbBچ3*>G1_BO-\[cvz9 #}+]*ɌUg./;p:{uQ˪7\U "}XB^JnH #/0WfIId.߭1;p]Iueг?Ve7+CR*Rz*H/#)5fU.8 ғ$^|xudpvqv\+廇f{\[sݖ\廇gR:ĕ>Nriwk,}4yl$tvv/UjR$)RCmʵ\3Wvɵ}\Uo*rW-% X>Z_Ds.nO:{W.(U/IGY)=>Sj*npE-73Zt)u-+\5[2Zt)@ Ci]gzή(+UFr1Y)=4;prWu*/vߴXgJr׃UYR2ZtdN>RPEqՁR/RX$n%+廇g:zu\Uн1Zt*ApUazBx|xv]g@UJ5\;Vwk̎7\}rJBR3WL`a*apUdVB7\[cs荄Rή38(qv}zJ\;ӛZti|k(߆wk,ϴu \噫Ob.߭1;po*9v0T<`^\?׫0p}?U:EI`>S*Ip\/I =Xtiqhz\gwƛ#]gW*u Jc^\?Eϴʕ5JR}wk,V*ipa%_|xuz{]xv wVJfޓ\NV*&>SRw e$Յ|ƢL9\gU>5gJ:mWE]g|WU*JM]MVwk,}Ӡ*epeՒB.\[cgF;:{nF_Bήg&*uJaKj=+5fP* 3W+2z)\UvH ~{ ,l%dΦ9 _:`lRAɵ[g|ƢL \UI &snE.Sn+K }*snERn+?szJ}jgW'v'R5U/ނRwR$~>V*&jh7Rn+s]  WW82MI{\;^vʘ:Ge'BrW|wx5U\טkdK61FoMR Aix]L=KU0J͖>V*&nS s$qeKT\K$3.sndq)Hq= lqT1(uZ))toF.;EZ'qJsxF+ ?kd+{u 㑭vQo{Wpu\\?uR%yVjНebBf*WIpcdɌKg./;p}Y*u@2z0o:W݂WC3LSJaJ zMVwˎ_ƳTR$3ݚ|wxG N3׹{{u '+øp7t9v6\JR%.z :yTr:\7$3b./;p-rĕ!dEg./;pSu60]gmJNRB(Jx*:\wIf<} W*WypcX\1p]9:8cbsy5\SJRGYB?t ׭*Wpa/)\;^vj]Wa*&qzm~6.GggF]ggDU*%)t<orU!ORFk{ ܯU*:\$32b BӇWq;78:;t}o] WRXjBJxEwRUk?sՔ:q sxEwR+aa#UUA(zDRX)߭Q*WupeB\;^vZ_z\{M'02zW]gWB {P*zRR苷X G]\pf%.7|ƢBTjks=+)tw++4zwC"n+[jõNVY)߭є*\=%xGZ5f U\$>b B>gt)t$7JՁRXAB ck6pmeaB|ƢBv\k s*)tZzG ]}p](zSR҅Y)߭1;p՘*w]z070ŹJ*UJ%Rc$=^xܰYr&@rN+&}dE!:`0r] Y*Jmd)vY)=>kkU\_J.|ТG6\7,v,snEV/ ^c\5]g,] 7RRI{Vw͎ǥD13k]\UoWSks͓\;Rb G/Rk-s-:5>*rD}b>븺"Mr^UZJ\Vw-t8~a5k\[c7UZ\$^>|wF uO؅v8zwZJm\9V*&zp5 \Ok%s\zO W*דZ\%sn*SZ\G$W|x śiޙGR-2Vڹb|xÕs2YIW5f.*7\?|r$)X n`dпsT(3+йf|x54WTBϝ\[cvqNz\+90֘oPorN)H.q}z۳-ZJe֘oUSځkszTH 4sVa5SpΘrR|V*ARY)߭1;pe* 2>f~|]U*4Ug7{z5\)T>\%1|7x/∄LDE"{>ґ( HQ "RH!tP3;3}~pge}RUg1\g7K\g'*JgJfo+廑eԫxv^W7 ]]MkR{WP߇RXB#JՍ#5tCɌc./;p-ru\%q]Ȳlw=fˌ7uTw(5/)ެTDUprlHRIeU\3$3>|wx"zf2ǒ*\YvZGxOnMo|"PU7J-:3+eLU>\%3 sy.aJr4\2X;wWo]g'ۙڸNSR$Vwˎ7\囪\\›Qe;*p}\$3v|wxõp.ٳjl5}J RSX]B_JxkRנNW؅*5:YUjJxVs0\k\5Ifs W=*pMd_8\;^v:QLv:{ vOtUEP(5:))z֘oTQ>x:#ٳ5fm5Txpc%3N\;^v>Cu 8{ ;cJ RcY+BoJEP ף+T\$>;|xUdʕ1uWRZwˎGyEuM8٧Pj4)1ڧװR;^QE\%N\;^v<lU\$nwW0p~Sy u5\^quΪRV*ڧR!SFk8s\d1 orWs0 5]:6qvH5gw}eT" H}o>+5>E aULr͏3֘o|rWupzw*J\{}#nV/su\{=5\}]Ic.e(7\u ]ٛ]g7.tõ6D)^ zR$s}45\ڗbwk,}5 \=k+2XxhXW{`uv[UN;@Uj6JK ] +廇g3T5RRq5f_T\$ޑ\vnL-썮{ .uv\mϏT+5YRsE>Ӛ*S*"puf/%^P|G[\Չ6J u= o5۩:; uخ~ uv!U%P#+Ur٧Y)߭>Sݣ*Rp\;$&snIk:0^Ic.e(?7(8{uHkϝag CkϾJEPqNkf#Bo\[cvZXLZ vuBRK5fUUj\H sx;OZ݅%ݓQ)zMRr֘DUՆ.K =msEVWu09Z3 Iןg./;p5̫rכuG2d rڽtxbtأx77'6}uU/T%^ G/\k:s:sx*חj\Y%3nsxd5`zˮߣ*JdTD:{PZ̕[22ef?\sx ׅ*p\OHfsxXEhl<_8Ol4>XKjJ=%񄎬o^T6*)qj k{#k^frg\4\gvcqvۮRUj3jJUx Vwˎ7\R+If W*W22WmɌTf.ߍ,;p:;hޞVJJՕ̸mVwˎ7\2\Wj,hʆkRʵ \dƟtb.ߍ,;pu] g:<2=]g*5jJo TWCj-eUj\oKdZȲ W&YO]gAb솻Tv@TgɌ?Jy/CaJާrW=抓xsX W*.pe^&\YvzF^:6k:~y7+5@2㡇Y)/;pcɌ1oWs Ȳ=z96uvMZI/JRYDɌfW0p{UZ5I2㯞bzpSLfV膷S"xߙJdJ = 9Bk~gj0lɌ[f./;pՌWWuZ 廑e؇害GԹgΎLRϳRK$> ׹*!pUcUB\pL*s̸wwȲ W6apUa n\Yvvg:6O2 'UTJ@1Vwˎ7\Ʃ\GdO\\;^v<>NV~s̵[20WUgK]g/Fl|rOH,= *R$VzTc\?H =1|wx^8*2qɌw\;^vN0u׍/G*J,)tb/Vwˎ7\Skcs@ŮR[/NdqjMxJgKb +5fVNs]zp0pɫrWY.)tbLoًُ\gS:hi(,+vR[cv2Z\e+B\[cvr"USR70Xxhxꀼp<fQQ»CVEɵJ+d o =\ %x׫0p;: 뀒mMt0পz\}"B(3ݾrnS0Zxzzo =\oH ݢ1snЮ懳ήtG;J-QBT;ɵff|LI\xGP su\\C W**\]%>" G~Ξ:1r&\gw]*7ezJ=>vnVP~/˅wk,ϔeʅ 1ɵe.߭Ѷpl٭k?Dg1z}(/+ Co˨\\c$׾vz=f\f k\A=p,q4^3_Ԕ RX$ɵ_b|LU. dYB_:\{h}<#U.\w =\$^2|G/V]Ξ:\/u?Tp5Z,v¢TozPp30s^x\QaՒB" G˪gΞKٶήPC[P4+^rY)=>T. =\%^\{h} T.\g eg%~2snU]Ξ:{*zN7VU WqBXo%>+5f#-~JMsZ\cT}3qqonWVBYYkJEPg2PPJ\C 3ՎWpa!I=:snW=ugr}U)l2R$nC 3-ݭra_;J='CP\%\UoTͦ9;g'ލ-C)ruFr[Uɵ+R!Ti-ʅP:-hC ט*6Bi+K*I[&2֘o^.g:8Ur]q6BQTR{hvmʅ=P$)t廇fգT.l}d$׫0p-yQ$=uyd_{ulRRH=+B6\OT!=\$~sVEɮ]dާ*Nr(+ڽR{hv*|HB#5xH]/C r}]*.)t5fOٓgg|8{mԋwX2kYJEP5 *h/`.߭1;pXB)'s$\[cv*4LupDaj'JJՐ\NVw͎7\T.4ɵWe.߭1;pmr!dBwl\Uo6uQO'.]gw]3 ' `J]+B57\ Q3Wsɵc.߭1;pOP1B1߭1;p%T]: F~JU I*+Vr1oS y s#5f/\~4xޓ:x^xUVZ:!Rͦy\go]i Twɵ۟g"B.zW5o[Og.߭1;p%wU!xK ` FǺΎŕ]]ggi*IXaBPC ER%TT;\ ɵ|Q*R';+5Jrk/R{hvᚶ^'o5^r6k+":[T.| g)B*0:٥1{ )Jg9Vjڃk7Rf -gcɵ\`.=4;fʅm3̵PRjw͎7\;uK٣]g'` 9_y=TeK}((^m? Ja%."8X*kЏ\[cv<X:\1\g'a:XmWzJf6I{=+廇fU:\$~snhlPʁ$sWwk̎7\ˋhØc}+iz VjӚRU/XimU~bCB"rM"3׏Bw\[cvJ7@u6~Ōpgg1q(UJP+uRrX)=4;Yx22I=\[cv}T:J }}!snG\u9s  /`Kp%zhz/6ZJ ~Vwk,gjދй2֘o Rk s:~w%OJOV!: RǦe/l\;^Ѭ*Wsp-g5r& wFO,`Ď?=0?O/TZ@ezɌR;^Сq*WKp-e\;^vf W\;^P9*Wpckg.\YoTgq/]g78*R%3Vw+>jwV9ud wˎ7\/\5$MY\YvbɌva"B(5\+d7N3a2w+K[ |7x\ȍau\.IRݠ V>Ɍof|wxug\2׃e./;prt*.q u彺9 z:Ύ':aUPj+URRiTD`jSzk*s=%q廑eN\s=+廑ekK=\gť']g7J\JMa*J OVwˎ7\Tk2sU8"snd*W?p\5%3 krN3ZAwEpi9ٱ}Pj+UORX)/;pUzPDRG0oS^j)q: W~i{A7e:;RxVR;^v:2A}wˎ7\uK.su:&WD`4\]U uvUld:}(5-)t(/;pQ^XzUR;f./;p]ȩr ;5DR" wˎ7\tu/dudyP(5))X)߭1;p}cePoJm'񗛘+"Tgc+:;-g\gXUjJM:+5f+TtvEv+}H(+5Mrt=f=4;\MJ+5fݾQ5OR Ywk̎7\G=tr='Nɫފ|JJ-\{S^3rhRHZ.)t5f]UQ\iB\[cvllc]gKQ}]g?AUm(5Br[X)߭1;pߪr0,)t5f_Qƀk(smz5fٵ \gGZ{a9E\J\{~V*"*g~jrk̵GR|ywk̎$kR려3֘ouU`:*)e߿TXl'v=6|*>QzJ bNH p+5f#:r@]R)]{ şU zK sEVÕtBuE20oUoB>{uĶN;ui;L[5'A}Lɵ/e}xբ>1׭k/\[cv*rMW_*)tJ *paBg[\Up5r}u>\;^v[:H%: +D?U zRH }+5f#٬rMWO投zB֯zwT3"0M[ӡTVڧ۳R[cvB\ݙaIf`.*7\۪\3Սz{fz'k&Чc./;p}2E}bq!(h>R1Y'6zT*J=#)t֘o]rWz^R㥘wk̎;*G\%Ҁ|wxٸv}:~|6JUw^+U >\d2WD`ah~|.dƛG1W+Tz7VK.xܮ'VV:R%6Vwk,>P]\F2L0X}45\홫dQgwˎ7\U uvٯtx(Վ*)Y GTj\$3ny|qTOՆKf|`7sxBs Zήüm\uAEP5+")W}e-\m4 JUHUZ ZR#$^ۍ Wy*p%0[Bg\P!zA%\d)^x^ ZRc%׾cBaxkZ0Dɵ2XC*rp5g$پ[cf\gF^듒T>RXkV r&\+ s͕\{o ʵ\MkK/12{ٸ:{|ϺΎ=*jJ-zWwV*">Ӷc**p5fUB\[c>Ӊ3*W1:Ieg.߭pPIZ(M]gOCi8ξzUs5jJm\TgSIZ?a.߭1;prW}))t+"}tWk1Bi\[cP~&;oXR\9Jz!Vw->_\u눤`.phN\4v>VuRTmV'wR[cv<U6s\{/^T\$>Q" G1c+FwrelVNUjnR5X˒k]JGɩ*fpUgko\[c_sU-zez 5n=H ju0%뮸4tأȽvV(^AR1kO]JyWaQ%0W.IS0WD`u4\+\_%')5f L| h: 9į;JmRYk.g|xգ5^dxI-b.߭1;p}O\C3֘o^r Ӫ2WD`u0\ÎO,wؘV'ĹOlTvBԓBJnke[p=\e%3^\[cvyzsc \;^vzs ξgyzF5J}*R/Jfo*+5fTU^̸^x5ʵ\2WmɌW=\UDTg.K~3UU(Uj(qwY)߭1;pXgd˫3֘oG70񥢠ҸȝBReYVBJnkHk/fDɌǟb./;eũ\UHf@^]xul|*:2.r7<:P;UP)V3R!e'J3W?Ɍg./;p%Ps xgY mFy*uJ=J to|wxud`7%V|wxxu\3;Nn$"J݈~_ j'ξxz*JziVwˎ7\TsM;wˎ7\s\G(s͐יwˎ7\]ݬ9 jNBM]gPJ=J͖:+eSU_UHf#sy/CaZ@:̵D2YiX W*qpco\;^v<l|2>cq?;[kUV|J=JzDCVwˎ7\S~WQ wˎ7\;*\'smH snd\l|4xuLϾ)I.V:R;$t:+ k 4d%3|.sE+ 3>Ɍ_+\Yv*Oή:{g:{=ߡaIgڑ+dWW() eT\%3 sxsi|u;:2M{ٵ7CBTLBJx-*pd,BO,\;^v" 0WdS32ZTK\9%3"Jnb䃗' 2eG'$u"Tv'o6K݉'U/C{Y+3j )w+X\ٙd#3W+[Zή:\Ou jmP*+ )嬔X}4VZbJ2o Wk㳀+:I ]sy/Caep+x;\gZ*u;bK =<++Ba*ຓH = sxG=\YJ =s(sxB5XϹnDkk7KRwRC%n 5Uu;s.)Ge> *W40hIfO}Wrۘ=Ɍ>\;^؎Olmݼ-}bgWneޗzjVwk,jre-5]R2W+^w;b]lϫ]vTfV#Ivb|[ \9>:8\[cvzW \73bIff®MTg g?:{[uvRTFVjГc|N*]\%n<|]Uus 5Z:{ ]uxQٽ֪J1\gJ>+5f#٨r5Z2O5l0oi\uxY, :{ٸ ~5xogΒUS(u+)t.X}t%J\됤л5|]9T\H I=~}/syu,JEK ];+BaX.3WVɌ;3W+e8.1WNɌo`.pW~8;u)EFa!UP"+WR趕Y)p(Ou2 (UURi]?]+.R+5f~/\uJ ]esy/Ca\9*%)tX~g]8 QIf7i]@TJR[cvS* 3UQR3֘o~r%4sUz@sxRك첮,}*U JbjI'֘o٨rI')tE_U3\\%uI w&sxItzv]uv!нrή]w+ R/K Vwk̎7\2\u$s|x5=U\GOa./;p/gv]&4lrzi< ,)t֘oڶPʂsu:[4sE֓k~{(Pu@g[˷\Q/r=RoJn{hv*@*COR)5f%]4hjP뀶ٵkqP'VjjR{hv*[ uޓ\{}5f+E:\#$.2׫0p:@u08V +plT(#vTDǪ\OksM\ CTK ]*;sn]g>a珪JUR?Rs$.ޝC ݧU\ $׎n\[cvzU\{kuj3WD`7\m:w\gB;uvڽظnVjڝ;R{hv_ ]E2֘oƾrUNZ/5f!WPG U00uv,U͸Pj+Yr!X)=4;pՋUj{J\{{5fSyUs\]"sEV5pvQJHw tUP*'voruTv:,)tw͎Ѯ*W-pmcB\[cv:]upv+;UjCYɵ^`|xUU\[벤Ы3z'T~:`ކnzw:{K~k\g,݋{Jmf\0r W*W=p}C\_yC W*W}pmb$|xÕpvargo:{dOUPj#+SR[cvc2uUBYkz ׆*W#pccH  {ARHOv:^BnR%.xˢrO5IdeQX52WOI \;^ѡV}߉pv>{mVеbX)߭p*W[p-fB\[cQ~*W;p-bB?|wx$\ s} q{ '6&aʽ[T(-)tMTDgTZ\$v|wUNJf%sxG&J52Jn+%VU`seiZ^xõ9ʅX抑x9, e}Au,8Qgg:{+RasX}TʅKh-q MrQ'q+ Cul8;h |6uR|JK ]y+5f?H(Q*؅5Uj~ wUTqI'R!bN\`B\[cђ*n*Ù3X}1zz.uvTiQٸ;?A}Tɵ_JGK\< c%9|xU"PpO-xH ]w^xusypvy RӦJ>W0zNrWY G{f\\/J }ϫ5nuXm`s5:p rW ggv]]WvYU ^+k| rG.su:vsnh{Pp!\J ]csy/Ca2G71bl3q^.7R%׾]q*ƃ[Rئ5fA*v_R#wk̎7\U1؅uvѪRA fޕ\{u4+5f\@ 30Ia.߭1;p5ra,x>XM W}ٙ\g.tsTOЏ/vxVwk̎7\ϩ\ 2Ig.߭1;praG#\3%n8|x5SB8;uvG(:՛YdɵK`|xõi'P*Ur]:|*uVj;VR [oUд z12ɵ3`jPг dUk}|x2Ojً]gnUL^ГZ+;"+c sm\;!|xõ P 3Vɵ,d.߭1;pr\;$}1*7\Pxb3OVU uVj;jR!T&EBtckKb.߭1;pu٭r! ^cB\[cvj_BVteS\[cvwXBR\$3^yeQ%Ih5v\w]QЅ*)̬TDpMʡroЙIf\֘oQ/\$3Η\;^vDuR8;o8:{W[U)E :R1%> +5fmfg ̕N24wk̎d]t}bq@rU)CڳRI rV{ * 1W&I7Tb*gWwvЖIf>o=^]g?: />wZQ *ڰR$>n7#ÕʅAk')t'wˎ7\1*~0W!Ɍ+d./;pu:38"]xTXbB7_Jy/CazcUZR+"Y\\dO3oOZ g?6ξ^A]ZR%,*j\%>8|wxUVsՖ̸j{ oUgÇ\g?t}wlWUjjJ5:+B6\UzK ?\_ s5eIuv<.uտ7ѩ'v|_Ħo>ٺJRY$ޝ^xÕ] j̵G2Y#+"+ʵ \UkdƱw+ݯ:ﲢv8FkٳOJRORG$U w*\P s n|U uN2ǘwˎm{u2\P:7?@JI{e|&+4y#*2|w͞ {{xKuuF\?u,>($+uCR돰R[c3*~pU ̩$^5|w]T*\i%3޿|w]fy{xOuu^l~O?ޗ=V*MR[cv<*rD抖a , JTse ՝:{=}u)ldw2GU0z))gIX}2W^Ig.ph֧**\%3ޕ\;^v S: R$< w.}rW1%VeUJ`z'\] sUg lcU]gY*uJeI =6+ R: "D29w+)VŊGuŰ l[ =AxV*IRR[cQ*ypfBo*\;^PRY 1W'Ɍ/c./;p/r]WA&, >/E]s\nȴfJ]RRoJ + =2O WRCw+zu\q5P2uw+G- \WUB{B WpM\kN32n\+/sxXo{[7f8uv+l.Wm&, Ja&J ]:+e\1&)eֽT?Hf|2sx+ltN~s jG]go_y JbH =3+5fUe%_\\U550'r2 Ɍe./;pȩrd˧1o>ЯBMEf-> ((+d{b|wxõu\ٙkd3oVn+sHfsx$hG:{2t]gMV R$3#+B5\4w+ sxI o\w+3sx廑egUgc!:\WJbܙ\o\ l'z$5K!0bFɾ/I0THD,YB"YIs>ι:xy?y^כQ29X)/;p|Kd+1o*dΨq uQ2㾋{u ׅ:{#N} T2C|oB7>JEPu W\7+ BuC2wˎ7\rE+/qC271FoHu6vB]gEVuv:UP*+ER%Y)/;p߬reWn!T *Wvpb8\_W5NvB\go*hwATAɌx WT\$3~5]wˎ7\g\9useW)u%ld|uйRTvV*,)tڬo~rW6*/q %*WpeeG$3,]+" Ws쭆λξf0$~v8/b%ٟBW){Әwˎ7\# 8`>lN=r@o8JՕ:Cp=M p~p\1B\\;^vj^O LT2ݘ{ WΕ*Wped\p ̦ŦybKu5/vK-Q@.`J =3BS +s%JfN *WaU6s%If<} sxkٸ5::Rqv*UJb:K ]?Jx+audB/\3U* W2镘wˎ7\vmϮ7NOoQ*nR%~MVwˎ_Z'T{uFJ \;^v 6wk̎GF . _kɣwˎ7\]ƥЏ uvQRyVjЩX)߭1;pr=_+URlǙ+"+mopc%|w]KOXq,7n{CԷBKc|ƂVI-wk,U\?1OB\;^v<00ׯ{ ?+|?-s_ٵ[P4+uER衯R!B*#:\HfsxB \G-q j^OIp=95oQT%()U8kR[cQZG1p}\%n{|wxꗬr=̕G2-{ d't5?~*UJ` H =7+Ba+\ǙI^f.`WhV0::,Ru]lݯ*UJ}J')X}k*e2Bހ|w3ߪ\ s=()tB. h=.†s})~]PWRXBOJEP>U\GЭ>c.߭`Es&0WuI`.`W1q8B9ZgO:U'aVГְR[cQ*W-p}\ %snVwˎ7\\M%sMXj^Oǂk'sM̸c vPks+qD vJͭX|{#t}VXnMfP V=IG c|w]T\ %3s|wxZ*\If|}^]Uz;J }:{$B\67Ԯ [@JI3a"BhrZ+q e-UV6If<8|7xUϘkd5b.ߍ,;pX}gbRؼ&UPj3+K2X)/;pUz\kd1_\m$፻\p ̠^WB\geaor8B 7 W*W<3IɌa./;pM.r::# o#廑e犫\K{(|7x56V}Yb7k z=>e.Kf|+B5RTgIuXVЃfRޫKo=rubzL2٘+"ÕU.Iff.ߍ,;p^u68pf|#{~*J-bjIf\j+e?\Kfdu C*Wwp}\OIfؚ|7xa*e8{40u=VХR!To5\3WkɌ\;^v:RWu$u@l.Y: &FUJzsyVwk̎7\W\5e7*z:Ifl9 v*Wpeng~W0p}P}Fvhb+5%Jz/w*UPj+[RYt\kmg2omQks ̸JlwˎGKBi:!/U/R3YђB 9BWIk e%.ڗ|wxU;r ;5Q2{u tQڇtzW fޒTDUpr  zGRJ wˎ7\WG\C5J rsx:ٿ;]g'g1ήu/;TAiI c|xk82Ia./;p\#sx kQ58{r]gO^ Rk$Џd]kRkdM2oV5TFk2sm8t7sx>Vz\kdƹ3oj$W}A_ضf}4@^I/ƲRP_3\M:$qX WBS&u8`cVꨤЍX)߭1;py^z \네9~d./;pIz\o0)Ɍg.`WhZ7k19Ɍf0FozlS_ m]+ޗj/Ro@YKBb0p58rkuU2z+"+45\cdQ+w+Q] |:{գs]g7Q' ^%()tt v5U&k sEIf؉|w]qTIzrJfܿ:sxJ5\+$dfO }'5bWlRJRXBgJxB\S5F vR*%q|e vݯrMpz@bw#ˎ7\J|o~˸N"bV/NRX$3^]x*tp eJٔ" =\35H;aqvᅵ} v(Ճ%qڬW+tpug$3|7x9FZn5Aި{u ww]gFTBWTAɌ͞\ s͐8% 6{:fPo8/Wg-yw#+^Q^:2j\g*J%RKf| Vw+QG\/1ׇgb./;p-mr-W'Z.]w1>Ruv8{ s&KK'* JJ8fVw+-k9^`|7͞o\+>Tz|w]ٵg:{+6Onr5 P-)U4ڇ[R[cQע*Fpa,B?|Ƃ]K\ sjyb-pJه v{TkV*oa_k*gcB\[cvZ~Q\н1֘oVЮB儳W>®⮳bԫ[TKV c|xõT.(9k˸JE_Q ZRaɵ/Jukfk\{hv}[1WD` 1\}:hwr]gD!ͻwRXhɵsWb|xek2WMɵ2onPv+J}n7snayeɇ;ӓ&pJUK(Մ\_X)=4;pe>rS+v^kEk73WKɵczp]M \Хe.߭1;pϤؼxK[ Ou_{{T +ڧf|xõk/2WY1֘o*'\Հ:K ]&ݿ|xujJH5r]q~(U!vt]ʕ zWrwk̎7\e\$s K5fӪK\gC u˪RT]VjwJ50׫BoIױ כT4pfBG-b.߭1;pIg凳Ύn:VMΞcJb&K ]$ݿ#BkdO0`B\[cvO:5KR蛭wk̎7\UξuvgV: jR$ސJwu \ՙkr1֘o\QPX:Wq@$fT~R$Ξ*7\gToU3n8Nub|mS2x$RQ1Oy3f +JBRȐBE|zϺug?p\g}]yOR㩙+&5u\.) 1֘otL'=gt=qvBoRJU`vI5i3;p,3IK d.߭1;pS:ru@Rkwk̎7\qŴ;IΞ8;cVTYVڇfbBF+\E2u\Rn2֘oguZ2M=wk̎7\~~ujc}/3cRT)Vꂤf|xJ2%If.߭1;p5;rdS;1֘o>QuC2w3WL`u5\f.'e}b?[?)uJ=Jݖzm"+5f]U+*\$3Є|xհW$3\;^vQ~WQJ+dȲ Ors'V* *Jez}O2΃*\Y%3^bzdp2':9RנT.)X)/;p_r '+ART{wˎ7\~UX: R\l*7G R%] ׀TUJ O W*-\%%^zb+ ^:OA+pvZRx{n4?+UNRQVwk̎7\_Th>$)_3wk̎7\c\xsf4/sU,lm]:;7qvt؅uvuRxc4%)wX)߭1;pجr=|PhnzUR芫+&}:- IyE0uz+j()6X}hʅwEs2W3I]`.߭`W(nʅ7Ds0W`:sxB9R~hv e=ԋ xbOh l>K^h6Vy{b0pLU*/Z*U)tNRQTKR1!и)8szF ^Soq;s ! v7W/<烳ήq//u.q3:(+5ZRX)߭`(sO Ykwk̎7\\\S$\1kUg燳n\8%>ThfVj놲R[cц]*OFC5_R/1X}^ kiQ;^|p\ٝ5ή0\-]B`4#+RrR[cv<>Spy.s: ^x|zrX4smzKX>:EuvA8{6oy]JU4=+Mr]Y)߭`P W#ɵ\[cQz?6чSI?\;^Qם ٳ]gODZTP¥hVj=q͌R[cvʅ;k 1zƣʅmh[U q"?R]$N8JyWa*P'OKR=+&^6\ۖ\|\$}|wxvEuvI8{Jxv *ˬ`Iy )ao\#%1 snʃ*o\$^Z|wxq 2N:RxV"?RoI+^k>0\dB\1pUW. kK.1oRӜ xg?+OieVjFR[cv\V* b.߭1;#FUr:\J =sx+l04uvd2/eTy(u(YTLp-rUw̵UR3֘orEuvH snk=fO:{(.ro:{kkru8 NRH=+5f[TI wk̎ǯcTJ:\_J <^xõJ4E7]gOp8bJo2:J\{(V*&kVsz[+8U\0YIe.߭1;p}^L41b;U{ٍ"RՠqVڛP/{Qh~X!mXI\bK =0+5f*s2K ]w1sV15U\qI'wˎ7\Y\σ %$ 硑{SVͪR/@T>Ɍ;c|xõb">gdco0of|r~zJ2 ͘{ 몳 Mhߑo*:Ru>VdƟbbBD!%ped 2oW^gUU26˘wˎWe~6~ w+ʮ˼* JՐx'֘oSSz^2Ċe \k7s,qi彺Du6~S s]uR'TɌdbB$õx~ uʂt}RUvJ5RRM$nޓ+ \C0W}A"wU8`Hq0&]xvR$> j=r5GYRwk̎7\r\zJ ={7sU!4uvY]ξ~LU1?VЍY)߭`i) >dABo\[cрs*׿FH 7;sxG[@ήiS#{h7MԛB''R[cv<~Ir56$)t| r5V.)tLX>?:dhuTZ@Y9B'`|Ƃ}\-I esnGI7UVzVH ݽsxB \VKf<5sx~]C' {'b|( )2e(7\T\K sv.Wځks}(); :mP_v]T{(XRNYX)߭`hޓZ\{%_|w]U7:`$zy RֲR_Y)߭1;p}\2ɵ;dCԷ(a:`rGC]7zZJ}#X)߭`^~3V3ɵ^`.߭`hWa V1.t* FSFT췑k]uR]JVڵR{hv<.\s]\{^kU;fkp_*&}]?:qޮ"E}qvPj+uGrY)=`~ZN\yRH=sG+\\z] UJviϸz/ (zXrV^] oR2I )sLJPzk1s=&)t!5l:4U@ETI,d|ЂTZ\y%|ЂT:』|FUZJ=)vӊZT\󙫘0O#WT\$N\1h|zo_GnnK-Pj.+UAr]X)=`Pk0WeI\[c>S*`pfg$n0snGfF?qv- vs(5-DVwk̎7\wV\C5J ]15syWak5 \3=*1WL`aiuZ*?v4B]g?8{BfePRYƒkJnLr\#5K]$snLWFk*sFϙ G us^a= ;;LO= JMa:I]+5f#ak4&3Wwɵ+aojk{ k bޒB\[cvJZu6B]]gGv:{UU7$VjuVR[cvjG 5LR2֘o RƁks5fwUgc.ux/]gM-ƳR$7C kU \S%7dbj>rMX-)s}wk̎7\s\&s-xd W:ql:OlK8HU-(5Z&)3X)߭1;phrMhZ%)t55fSV;k F1:Ɍ?0p-:;áN{%>RUj*J')35Y*JؠrM.)tbJnQk8s̸J >vC]g(h0u Pj+GRfY)߭1;poP: )te5 Y\$3޿[ ׌[:{: qճ`V긤ЧR[cvᚗAAuZ2H W,*\p d7\;^v%Ns62^wuwTA%Ie|xPk>3UɌ5b./;pr-W?.qX +P{W7μOUj!JݖVwk̎7\Tsݓ̸e~TM\ Hf}xkRz>ڹދήM}(J}(/;pȣr-̕Q2㍓{ W*2pb?bõl\ u}=Vu[UCTvI^b|wx5ʵ\=+A2Lmwˎp!(uߢ}q@RoCTAI'Wg|x|1WQIgb./;pmB]\C %uP++URR瀖}d4PV s ;U\$NW|wxõll\ r'v]g]*Jub%. סU*׻\$ns|x:^Z UGR ׎Ao\? t Ӟvaz }z'vTLp%NQփ=s5:>|xuoʵ\혫Ѕ2o>ԯ]؅^nSkJmRmY֒kJnxk0WIc.߭1;pN MRʯ02|殳KaGUٵzJmR-Y7$Ny zUՂK snfz#j0Wdy1> Ĺ 2jWoRϰR9$> \UI sxGZ\Ub$3ԉ|wx KH&{k*&OP*+ULR踲2!TUJK ,lEeR2sXW}UW}ξt}IM٥ZJRXB5ljrWE%)t$sxG ;\sՓ̸\>olPBMgJ]I]gOح*+*J5=T>u\嘫Ї0W}gF2w+:zL:1\b.`W(G)-j~xwn?ʰR]$9 W|-$J3WI+ne.e(*)pb>Bf®Ug-Pc%B^:hUPiV7R;^P *pd%.|w]T,J0PIg.`Wx 0uv5mZQ9(U%)tWX)/;pu\Řk'22U eɒB_K\]dH:,UߠTQVj;gR[cP|"0lI/fc.߭`WJ%pfO%N]|ws { \gwb]e;L=zi2zZ")֕֘oS+VH A†s* 1חB|wxu|l:ٱ\gwW RkJn+fwp`͒B'O\[cvẸ]̵C2m#wˎ7\woaG:;_qnP*+WR#Y)*7\9ʨ\7Kf|"]A *5Jw]T+\S nR%מ1+5lruARwk̎ǶM+?3UIw`.e(7\Ū^ ˹^]?׺>_ASJJݔ\{TDIT\w%{|ƂϪ\u&z\ j_U=Ύ.&J@+Trɵc|ƂI1O2s\5fwl 0.1WI{\PoPo͏˺ދT'JRY%ޱ}dU\1W6ɵGUd.߭`h+\+еZ0X+)H83Ǽe1ŠyVЧ`|ЂT:\E$n|xuU\g[g®:*WIpa{|Ƃ]{k璯:~'J= NR$> PJs=#)M5l|_* dƳ0֘oNP= .:;]pJR'XBJy/Ca<ߙK㣡ӎRy`zxWsk7cBTsɵa"B(3(ruZK =4snG}cUr:\/H }x\[cѪZ pvqUjvkʹ1UOɵ$}Ƃ}IUj:\c$>~|x$/\u>zu&,l:Uu88H}:{%*W p\3%|Ƃ}+U>zn U=Ύu)t/]g7*U J}J-DJQQw͎7\*Wmpc$>׫0im|̳VK >sERR_Qgu )t ^RR_K =z+廇lzE =̵AR%1X}tU\k{`.`(z"470c/:FU>JX)߭1;Y>U J>vW^+U@kJgVj0Xϔw.$8)];rv?J"]X)=`T&CWy}pUjAUPj+uRϱRm│\MKR>gsRN\M-s]||C 'Tf\H=$" LӮ\H=,sn L S𓨐hOPhwc&V/I;a|xS*W pm$|I] skE1%60#Bwg.߭1;p-rzJ')G{ WQ;_lAi/6TUPV*3RR!Toõn+m2oU:))65f U6K eyOᢞ‡b _ig_l4UP+Voe|x$zLjU\R^˙?V5;Zz\_2WI[5c./;pm:..W/uU:@5TEIa|xÕt\+a.߭1;pBUU[R>#wˎ7\EUZ\ $3nѕ|wxc;4|/6oe(^J`J ,+B0\{\/k9s:}E ~*Ifsx񆫯~z:uvɃӟ?7مn@XNBڂ }ruWp-cB\;^v@S2{3{ gy\g?Snuއ+ݡVuI/a"B 4*+Z\$^|wx\kd]3oG\k!s eGs\=FK[psnd1>e#sߪf \5Hz:7Q{w#ˎ7\۪g7Gn7Gfo5.cV7U)J͐^]xÕVJB'.:ޗ8u1s6{믯|{{b ;U}sxIka|w͞7T.4SɌ;tb.p'C{c:#^nu@hDSYɒB/JxBiT.2TI1oVVBGa\1͞ ف>]kot/Mߨw"Ռ>J͕X+tL Vts-m|w]C?\H4kd'_c.pW~t8퍳ͭC:{)U)}YRR_}c'ʅ߳O2zI302>*~͌0fɌv0WL`]NM3Bms]z#,~EcvH <+5n~JѾ̕!)[w+>4P_$'+S2fw+fpvAL4.:ҋRJw+5fm1 ۢD0p=Eu,8뀯7|{U= ڋ:+)tլTL T./}.Jf\snBoWI\Ifp'sxB{wngwA'wDc%~ 6uVTs8esn*lpugɌ~\1]}T9\%3^|w]K|݂ PTIINe|w_UzJfe sxBuW ~WW(qf廑e['6 ًvӉz4CάTUI6dbB( E\ ՉjJf\Yv~'Cy!azw\Yv(޺9 dg4VZfK }SqVwˎ7\Z\ՑZH ]:sxUՁ̸z^]xõpl|wH8\Ad4up(JjsV*&jb"KTj\$3nכ|wxUqʵ \1?$3.r|wxWs=.=w#ˎ7\˪[qB{boAf<fݥvJeIf|a8+e 5Tj\$3#sV#Uʵ \2s\;^vl]uvifͮۨJRR/If\x+edgpfW$3rMfe{?Tr>]ԝ* !)toY)/;p rW+# Lk-Z2{7ghԗB-v,:MT Vj^c|wx|fߪrWsX2eFT j\_Jf|0|wx5blpȌw=U_TSVjdemTຏKfsy/Ca~v\ij\s$3Վb+p߮:%dw28z)SJmRY{ Wc*fp5b%sx+ʵ\ kdƥ`./;pnvlJukK uܦr:uH2ک廑eww\6sx^]x}ʵ\dƉsVU `UNƦ1=P Jd.Hf< Vwˎ'Q+\Q'qr廑eT 1 otUP+SRcqWVʵ\ՙ+d2oT $3~!^]xdȌˮVg]g/oRE%~(;B>*~pUeDIe#ULp\e$3z ג*Wb\Yv<|V=hCۮW\9RԝT R;^vz.C:*ud'1WL`U3\g\usՐ82Ȳ kWO 3u RTeVdƷe|wx]E:$j$]wˎ7\\Gu;s58sx[/\g_mSGΞ2PUR%3~+ k*\$3b:Ju^yq\t*uJUd Vwk̎7\>SNs=*eHnk4؂sJfu"'TyV1I|Jnh'\s=!)tL ;eTSຍKf\| sy/CaVTNVJ̸P , U~^=f'psb#T@ BJxBG\gU^8GI wrdƻf1W+<^:R5J2w0FoUO,:Y6-ޏ&'v9UPV]IKfbB( r]?Z\;^ЄmU&Jf|sndBӣ%q>8u5+ZJ]RB?_ w{P kIe|qu\%;Ɍr1ߩƞ@pun٭J]R7R%NJńPTā8s͓< wYreW1I2"2W̭}N~qv\gK<JeVJ }z+ 嬡r]"̵F23_\9usm kz#+'gm\1͞OĎe~q{bGSR+3R;^U*\{%3>>|w͞T<*\%3.|7͞Ugcg-8:{nUB1I8JxoU|*\$3>ށb = oo`/8:`:PB{!JgK r+ -rW>")~ }\N*U1dyG1W3~llc]g/@zT Ab B) Ugc7u:kTT.VdƙY)߭pWō*\$3ى|w]TIf2|w]-We?s/$/nWJ"EuTDR[X)߭1;pUrWvS2W zL*lU]2w+W*8-q\|7͞luJ=תJh&ָJ5zdQwl LSJ s58sndBUuZIfȲ ]*W".1W[Ɍw3WL`a+0"8 RͯŻ'6XMHI(u(sW+u3.0WɌ2FV+tu 3WɌb.ߍpgqGIpuvQ=z!ߩJRX>Mb|wxÕcU\1ד;\ޫKoݩP\C/2x09PW?RJe*V*&/Aٴۓ#euKfCc W*׭:\C%3^|wxõz; ήOJNR%.| WTd$N\;^vU\'mɌK,a_jk ٸ)8:6:bU P+3o`|wxtU\Ǚ#Ia./;pV?3Ɍa./;pqm׸+r06[dwi~HJcz]SVwˎ7\TuIf|l/;p+r%s͒x> TU~ٸ-t6 w=Te(uQRuY)߭1;prC̵H22 p[]u@U~*UJdK +5f\U;u~=5fp_uHq]P* )X)*7\7_TW&smzF ז8HUpg$n|wxÕX[0{]gή\UJzi+5fcU{5fU\G%}ٸ3: yJՀRYkOz; U(2/Iw=\[cvB ]uYR腳wˎ7\. gv=qa˭[vRKs3+5f \;s\65f7\us:eJ\uzA z~i'w]3F'RT:+uswk̎7\ Uk;s")ϙwk̎7\\ks*)e{UgV`m|ۮWjR$>+5fgT\U$=׫0\Rk3sUzV[ vx[!Չ?;ݝx%yvIwbR/NHch%k<廇f Ҙ^ɵ;\{hvzY>pmd&kӂ|xU\2WKI0֘o2\H = sV$(D9Ds`aRjֳRɒk UZ\%|x5{\kIwk̎7\ Ԝ7`{lsjJRkX^kzF>*R$.֕|xtʫ\3s=-)υ+&7\_U7*tByuv`UjVj#GR[cvj>Lz\k?Wd.߭1;pUz]jd2֘oQ}:6OJR+XB{3XIKTc.*7\G.\ksS2:1WL`u;5Z\%3!sx닺 Lx'V]77_{b{PJRKXO%H`|xUA~bI2|wx56Y5U2+ǘwˎ7\oR}:V& 29.^Sa())+Ba^.p-d$3\;^Q*W'p-`a.pW;x1+:I]mڨJuRYeB/Hp(\k_b./;p:o]<ԫ:R]ԏzI?/JnkROQpe͒Bb GVCʹ`iئJ\{tVwk,ge \s+CR+3X}W̕))VnuޡW44.Xu#wR߳R%T+1pby׫0pnrL:+SC+&}Vx0:{Z.&2UR3XBJnG\5"$\[cQ*Wop}\B\[cP91W~ɌG`./;p.4;_9YVU (-+ )tTLwk\}5K Z w\5JJf<sndBSUg` ؅^UJR߰Re%כ ^r= oe./;p0Vz \_1WeɌGe12ƣ\uܙ\<k*pC(nXHnDde+c4Pʔryg?ik}?^k=<콮%m]gۧ*J-a*I 8 }\Ћ1W+4''1W-Ɍ;w+YEAo.~:/otݿz#P]V*^RbX)߭`(S2W}I$3o7Qz+H ]!/sy/CaڻP yЛxBSo+鱻]gMcA˒BJnGcT\J { WϜ*כ\=$afOռ*pb>=\;^fm8_'e[Pj&+5@RY)߭`WPk f0PɌ?\;^PƑ* pMg\;^vz}kp.ՑRuv]R4VjdƹR]RPoz}r T,q] , U;r )y 5oޡ:^n>u]ջAɬ<ɌWb|Ƃ]N=T5IfsxB\\If<sxhQ}:%vwp(5P2 GY)e(7\VFkFQuH2%יw+j0Yum8{Qsv}j;Pj$+uTR.Y)`bk5\Ødwˎ?o9}[]gٗEb@]Iud|xէ5\C+.'wˎ7\ʩ\5x`_ W*tp b/]\ޫKoRO]-زTf@T.I`Bv+k&b|\;^v=IUX21o՜:06|w:^5PMVyαR;^vڔSUFRNe~yU\$3~$sEVը5\}+,q廑eC#)pb7'7Gny0JajJ ]}+eSUzHf:\;^v=[JWozJ2)Uw#ˎ7\N got} S/;:;ﯪR T/Va0pMz\33Zʵ\=dU3oNO9;qvl팳'q}kzb(Ճz^R;Y)/;pZr-Wwz)3N\;^vzyʵ\b7\;^v*FZט$^b.%7\ϩ'65NzmC'UUP*-qTTUpuKz\ݘMɌχwˎ7\S]׫5DQ3Fojq?w]}KCWX?݌ ZEՅJfe6\3sMy kyiuk! '??^*z.{z>;^vzbʵ \kdo/d.ߍ,;p: u@dft=zP%VjdOf|wxM:pude\|wx5:)^d$3pEޫKo}p/3ήufRTVɌ^]!5r}kdƃ3o2Wրy,cw#ˎ7\W'g:Gqv7\Uj3R%^T W*pdKajhLRs]84|7xÕ0C\2Ɍ[`.ߍ,;pʣOɄ{bW a:]Ӕ!ʤoUWs q-廑eUj\1/\ޫKoWUv)s唄B +͌{b6][Uj'jJ̸YVwˎo>T]j\#廑e㯬1\|MwwWP+ dzR;^v;O UZ2n0o:8ۮwwp$F(4+U^RRPoPW I fϺ*^pgg\;^fwTgg?t|8{RګJ}b^{Vw+ʵ\II;\;^P*~p=\ %3.|wxÕ<_uv,컸zчVJ} `K ]/7+BaW*;p3WD2 Әw+:F\ud'2W/ZN$츬zSRuXBؐ v>r%Ȍw3o2U~cd32ƣpJمqͮ;uS:jR$N݉ +S: ZO25w+ZG:5H2vw+pgp]o.:{IUԣTgR;^PO\%3|wxl-rWu 3y]We"9\gDk>P_)JUcI }Vw+jG\UkБߙw+ev$u@-X:A} RIBJnGNS+\K%6|wsT\+%^|wx|~^:\#\go;*uJUf>\{u~V**3*)pUbB7_\;^QdWpUdB 3W+4G> uvoܞ\8{]hzi(U&vT>:O:2֘Du\07Bo\Po:rW9: )tXWFHn%ۮ_pO˹ۓReY%Κ vjS~W:&)#řwk,*TD\quZ2w+j^uv8{:57*CҬBJnKw+\/IcϮЮ7T *\$3x|Ƃ]o g/r=qvƮkS»YےBJnB[|P]W0J]m*]xKReSJ+廇lr+e`.߭`o* g̒B/\[cv<{#셮74V{&l+]r4RQ!/rEpQ-)t/wk,>:Rnbs:M{ ڮQ]Nr}i l*s fI]+5lݣrp!*%)tk5fUW sF^xõ /K 0WeI Mdѝ1ډ-==FS /R% rVNM8sՖ: TJI8/s=!)tlyHjVmw0\\ c$-|wxxS ̵A޳||7x5^{'=]Vdg|7xUi -M2;Cw#ˎ7\\0f?%zϯ~ދFoT]Ξ:{66:쟪R0nRW$39?+B -%Ѹc/šI\RHf|j4nURpTIhy:{oG8FB7XBhBh-PjǽRRo/崷kR$^(` J*ҿ5&)ߙ+*^1\۫\HBWIodd./;p_)'ޖ`}IRm:t/X)/;p=T/ɡUTRwˎ7\9W;bs=,)tZenoo'1qW󣵻T"+UVrX)߭1;$OPD/$X Wi*dBW8\;^v6G7%)tr2sxĖʼn?jgJ/P2+/vLVwk̎7\m~Vh|x51 Bg8\[cvzG˦odcI]g'PYVл[R[cvJrzUR [wk̎T+C:_T(u!vOX"U)pŎs*\;q7gT*B_Y7$>5l ׌*W%pbk^\{hv%2N2Pɵd.߭1;p ޡƎu]vUSdNR#$>C㑒5TB:\$׮|׫0p\ sM\X>Z>Gu6>bǸή\TU( +5CrX)=`iG*W5p\$||Ђ}T:\$>snGŲ7Ѯ"nuvq5Orɵ?Cw[ Qp\J}syWa_uuTBXܒkg"B(3r5ׇu%{3X}t\{Ivc.߭pNlw}#3UnV'R[c>*3JehɌcoI|xUk\0W9ɌfQ49:[d;vvZv&JU:KVwk,gjCjUU2]1X}to^Yp`Zӌ|]*W pmgz/|wx~fr9^EffbSGJRXǍb0bUV\Hfܾ~ rj)廑 e@u6r`2/:{!U6Pj3+N2SED}\+A2w+yJjdƧ1F֎S ! Ƹξ s.v&=J̸ZV{ W5dAT R&ʢPj+()OX L#J\FJ  NW:=+)n:z0uviB):{kRԻTCWR[c>o\ Z\S%.߃|wxٶJw%IY\U.GhC\g.t-%l31-Pj-+5[rX)߭1;pekru̵@R5wˎ7\#\H sxzV3כB_\;^vڱV}# /mR=*Vj'RPoLUzk%s+)ә+":UZ\$3|wxU$En4`+gܥ~z!)֘o&PM-)5f\KfV- oq r4l:;T(+uXR/RU:\>ziDõD1\3ח'snklf\gC^삯J RKY3BJn+ k00B|wx5GhC]u?{T"ZJ]zg +5f{n\Cs]z*AZFCnH sx񆫃~G=`+gk:fUaPj!+uSroc|xV5\ lFIa.߭1;p WFk>se 71o&:M uٗ^AUj$Je\;#+^뛭*(p\$^*sEV)nk42׽Bo\;^vrCu663>uvL7V~ɵJn*pfBo:\[cv*PƂzH2q5f5gcS$:]:{A3U,V*RUoVQƁe )tX{v5\3d/'1֘omV]`eJMR3XBwK5f_\sՕzH~q+\ә+N20֘o eUh`[,:w+&^O1 JJK } +BU5\W&ks=+) wˎ7\s\SseUgc/8;3Dc~3[R% WǞ*zK ݷsxH\S\}%nT0pUY:A?ٹ=8;Y~GU(5,)tJV*"jbnRk2s zE  uPУk%zIE(5#vM֘oʢrMW2sM:j=snktv%pMdIc.߭1;ptjgq]im8ٽJ̀RXkBg^xս5\kˢ+"U5I usnhzmPzH[7u,UUjzZ,)"֘oVS^XzCR՘wk̎7\GT\$>|x5*z_ezn6/-9P*Z')TD`.Qk4smcs CUW5I L W檳]H+'IUjJJ %++5f$U\I =*|xõʵ\Ù됤_g.e(7\P;*Aى.Tsސ5BaqIc"B(}4JZЧ22X}^u8tw]]\HUz J a\{Xϴdʵ\uNR-wk,>:zDZuARØwk̎7\wO͡؅ZuvtkR(5Er1X)*7\%:\k s]z@,lr-Jz  WU5N]]gAZ{m춱7߀RIr$X 6Rs!)􌧘wk,>&2WVI;\[cvZz \}+2WD`a(.E}Y}; ]bVZzR$JnG//PVs  F,UV's< H~i߿ \g.'3Y/rR=XRB7|BTր;sJ^xu{>mpuc" B bu\UZJR]YʒBwJnG }wՅjH =snG\\u$3\;^P|7beu ^q}fԻP3+ X)߭1;pOU70R7fV*5鰪{P+XrgXIgL?Sփ#s5, NV6sz{5n]/~_A :8. iVT^Jg:J]Vwk,g:>1W7I1X}Tʵ \m 2֘o~~F 65PR X>*vT}bۻ/(\}%RZR$= SsF R.\ՒK =o sxG}\ՂHfWSZ$qh wwOb1/>nKRJRϰR$3JxG&\\+%3n|wxõ4E&̵V2kKdWhv}uیuv@Uj/jJm̸BQd }wT\kd2W+2.Ɍ5e.ߍpWbY .]gmk]Uջ'TVCIc|w]RuUcњ|wxS}31Ɍ\]MT4s̸osnd= }W*uJŲR_If<+ }4S:zdO/f.ߍpW2Rt0B/NU0zQR;Y)/;puy_:uI2 a!R-\Cye'7GTVꪤQY GUU6s!)+ r}'t\;^ЧU\%"sxBb+I \'Ɍ21FovNиbҁ+/s*1X 3O^l*Ja~Y)/;p͹reWnK2|3o\uq=I2J'w#ˎ7\ \%qA廑eՋx]n* JdKf\eV{ _W+3r0WnɌ㣘+" פ>* >ɌsMb.ߍ,;puy]u8]Ȍ9:;;Rw@?+e{7\YKfY W*WfhɌ\a.ߍ,;MʟUgr} lTJeeIfwF5usU8[s ,*WVp\U%3.\Yv:]3 ή:fw\gV XZxVwˎ7\_Wb+ sՓ̸T sxx+;`wW0p}7|w]/\ Wkd;n׈FVSC٣ZK`=O٫J nRɒx wVr?yɌ/g./;pu8rWs$q[~,ḽ޷ gt]iqvL>K)`fK }=+ RR*ߙkdƭ+1W+4U\1Ɍ\;^fwTg'OΎŅVY]gۡ*u?J))tLVwk̎7\\:s彺~01׻Y" =?Woیknϱ~QVJ̃P*+IRY)pWje~eB?\;^*WQp]aݒ_\;^fOcꮳ{s^W*.R%3 ?UK =g'sy/Ca<۴1%3s}*X]ހyή:{TE]g_٢*UJ]bܙ\_7:CLᘽOdSL""c8!CD$C$SLd&pd _1}}w[ZϺ?ksaIK-f|w]kU\$\|w]`U \+E2$ w>~?]uh\H-CvvCsyIb|xõ+Pu.K ]PT`aW**W paKf.pW(U\3Ɍϧf.pWh~Q"/b!L5}ԋqiR|ZI3D׮PaD\ip0}B\;^vʤ^+S̕I22կgWr/r}+qeIV*dƅX BQʁse8esxBRʃ7#qnn:{]u G'Nj*@TAIka|w]o\:\$3N|wx|[8~eR''32# :{ ]uȡs$JURR'RQ!vRw:p?`TWGT*BTeIӬf|m'TJ:\%>ވ|w9/]wWve qaVڷwR[c_%T*:\$n[|xQ)W\?3WG:0WT`ahCu |?{7l46FTR %׾= :r=UI{of.߭p(*Wup`B_\[cQ_Uggw].iXٹ.J= Rm%=+5f{\5:J 3syWa<~K 3WT`a()v!0W/I\;^vӇUo9 ŋ-|H5snՆRYB_Jn+[Av1Bg\[cvzU\;CIed./;pn:#82Hw]SPj+5RR蘺zUp\c%^4Gz\ۙk1oFwe\g-E]grLU(BRLMY)߭1;pOQk+s}))5fTDpma9B_M\;^vVHR2.:ڧv#Y(Z(TTgVP&Z&)y5fw\σk#se,T$pm`uBo\;^vJxtI4.q_lsT Pj=+YR3[X)߭1;p}2YUj$** ;θJZUE(+CrY)*7\\J]0sE֓R%pe%N{|x ^`.:{ n.Np8v'Urwu|xk!!0IɵOg.߭1;p /r5wuVR/bwk̎7\}ʨ\/k5s]xb;^xÕbGƹ/v 1}+J5RXkBJEP ״1*Wpd[y|xm VWF2_0֘oU=.:{}T^RY BWJnkQ\2WFɌ|xy1WfɌo|\QUpo^^8lHW\s(&)l֘o:$\-rKf|(|wxUz\d?]b./;pX:{,]u?uNUנ"V1I?Jx2WII`.e(7\\ sxq sEV;5fz81ه6,YxvڥסVGJjo7g./;r<-Ѹ}ewjE\gdꝚvPj.+З†F)/;pUĽ9E{ "NM{p}\ $3޹+ߩgv]>-nOu?Tp>J5֘5 Ƀ[g./;p5:u0Hf|^ ׾4q8\$3~sx M/xey#~L0@U 7a/Y.BoJEP *Wgp`BϮ\;^voX\;^vJڦ:{]uvٽ'U) Rɒ:JxQ 傩5X2wˎ7\N\|\%3~p%sy.a|F` s< ̓x[Yx:MJȠ)>ԧ?}^=`2s}.e\zLbO-\;^vZugp 3wZNv]^R%3^+e=U.&2Ɍc/1S&]Ckᳮ*oXB| wVS?Jsj \GoJIwe|5T.|:\k% sxGs\}56I :|w]T.|6Kfʅo`c려j2W+Tkʅ/d2W+tx ߉ F1 Ɍc.pWhmz` ^lŎDbURg$.+ezT.|u*\%3p0pU*rQ*X[Z—uS2Q#w#+L}_v_Ȍvw_l֎RN0O%W+m Q >b\;^f^*6 e$3|7xufpv. ]}\g<*RɌ'-bOv*raw=\Y%3֌|w͞\\3W.Ɍ\YfT.w+d3FVٳS+4 /6b7#3>t};TɌgf|w]b]!l+N2w#ˎ7\?VS|\e%3\ =V$3WIxg%2FVsbp_kf|O |_U AVd۰RYf}T.~US2i-w#+ٔ:`uI|_UB?;xJ~oo\h}YɌ ߕy.a<6`Ҩw cO\Q͞Tz1K8빓\g'?*N\Їj,)z>;^oWʅFTЛIf< sx=U.Fwd=\YfOggf6JU =Vd}wR;^v<3^Bb$-ڃ'=MV=$U0W>ٳ쬮!:u;TA=Xޒ w^OQݙdFf*tcA3|w͞A ʹ]g?q;rm3пJJ Ҭo rwҠ s%X9BoZAg/6|7͞+Ugφr]qqvU;mV¿܃Xɒ/ Ju]R;T.-\$3֞|7]U.:2Wן\YvO5uvm!vpp~ oR%mJy.a<2F̵X2ᓘ+*+$Poó2ht=#5[TОZ!)UW+48;9sVJ} RpVwk̎RTz_F כUzb$3T0p5L^^"\g/f}1WB&CB7JEPຖUZ̕CR72֘oRVe';e҉HF+N翬*jJì֘o\kՐK sx+D!HTJ5`H ݤ;+Bu6\S\ksK X E*:pg*B{|wxU* #:(R ]gW2PEVgR[cvJ_YПla.߭1;p]*rmWs%J ]a ~~B/^:IF(<+B"&p=\$.{|xu]\2WSI;b./;pԯo>gǧZm=mU@DVg|xUʵ\/fe.߭1;p5rm3I212yj_"Ύ,1uv̓PiV;RQ!TpGp%0;Bwx|xu"^}Ɍ?j\;^v*8Nu6J:;?~{\g/*JeJ x *.paBg\[cv*@ DV%Õl>uvYor(UDR6w5l|xuʵ\53I3oRW *)Swˎ7\ջBHj"ήokTdfJ 2 W3\I#?32! @EҹHWrpYU"ɵ[RQ!s+@:j3֘oŐEҺh/'<)o$.UJUe\f2+廇f}UC\%|x5X-v\kГ*2֘oeR/0!qߙ:M(U)(^\GUK{/sEV+õ *0!I%1֘ozWGRE\g?_J=J\;pVw͎7\my\)B|x֯W\$tsnrWDRY_v{oP<+uYrSY:]:ru]Rwk̎7\\'UnK R .abr= im害WVoReH i%uC W*W J3}Bׯ\[cv<*ipbLB60pKT~WI")t?+*}rQ}hzq_bЋ튴(U.)t7Y)߭pv Yp1WI`.߭phƽ*9pgB?W|wm LvqlsuS:R$TU*UR_RR$׮^xÕ|Nǘ+\٣Xgr"UYR]wk,>_*B3wu;Xs JfKpC & S.sՑ\X ڍV s=#)t!5fWJ:asE^T_,z1r_k.&7UBGYk?JnLS+?s")t5neO\Э1X}4 z17g?_|TCT[I 7e|x|"I<Џ5c.*7\_7Td_dQoTgc kTnB\T/IJnGc6\ޓ| \>8  *Q+;s}(:eة}bV(aFH ]| + k[ol5V2Jw, ,lrWV(qw+J|ka{U@Y)BJxG\is})qϥnm[:b1W].tTJRs$$R[cv_\IX>zʕ\̵L2̝ť* KQ`(EKBbP AFQҩ  ! !)Cwy>~k0}|w tt*U7TP*#+/)tX}TY|W6H ȳlV/߄S+sm Wq ;C\gC ]H*Jg$^RPonoiI ];'sE>Bz\3aI3}\;^Q<llqvBWTZV꘤K&R[cѩTJ\$3P|w=%U J\%3.\;^vJ_A +Hfsy/Ca.+ -ȣreC̕K2fw+*vJfsndB*|o$tu:|iiOAXBWJx+z*81WɌ+Uc.e(GC|G%]H]tnT(uzQRAR!JTrsZ vjī\u*J sxBT/.>zur6MLK RXjBoJnGҨ\yujH } sxdHz\7U020]+lR]:nU'T"+UORX G#\yuK h Wןdƥ3W+a41WkɌob.`I^s΋-:yӚ/veUgUVR[cvp]fޒg>\;^fOB UYُȖ3ˠ)J]bb%~&+5f_kCMpp]d$3ރ|wxÕ,U\0pɌd./;pE}^aWB.+}:%SU A I f0pNW ܕ|7xÕzWB8. .^_ ׅRXVJx+^~\dƩ0o:W\]%}i#s'UpVk=sLȲ =bb{gJՇR߳R$3NU 9*Wp}\$ݲ|7x5zu5Lޤ廑eUgђ\Sv*{M}:3{}UJ5RkY%=~)Ri\H›4sndkKZ e$0|xմzB\gts?*J}J͔7F|7xm$Zz \k$90FoZ6R*Z, oR^4xETgb':{MVٝ[J5R+Y=JEP쩴BU C]jJZ*ZJ}+q|#Vw+jEjdƥ^d.ߍ`W(N1fɌgb.ߍ`'W^98uy%[BYBJxE%bݒ\]:UZ\%3^]|7͞Z*Wp-a#\YfOۙ~v2/4mTU-ZJ8qVw+ɼRjEd2FVSs\ d+[F *Wp-`k}" {8Q[BrhbpL}IP#Jݒ̸KfVw+왛Oyu_2tKw#+iV:k.qM.qBa pzT֡c8cgNVRi$3+eT\!Ɍ`.%_f\58`,DTyhomu]zU;+dQX)`'.f2WɌe.`~ C]Akݮwz@3B{ 6{wzK*$)e[?\s='qysz-2uHr}%Jo(5*!)t0;^P#^{I q;sx=uU>*K 9 6{P}Np})㮳OV XB=JxkL\ӘU3F ?>eB" = ξ gt} )cq(C,JH n*+5 gPk s%)w+z<>>aB{l^g8LJdWw]0VUj JNVwk̎7\>PksuR +k0&2WɌi\]cT5Jf|xXn,8?bw/62as[躪ԇPcVjd F{+t5\kd1W+t!PpcQ\;^vjR5^2%+"ٳz):^v^Kۡp(5,zW+Կ5\1WdƉ/0FVٳ5\kdƻ3FVsD8{І:{ UQPj+5GR#X)/;sR7VWH\'JR#YEB'Z&)" H^(̵ZRq3w+J޸ goqlfbRc0VjKR[cщ*8p eMBa.`h*xp amB/8\;^vZ=Vu-8٭ ]g?*1%);z~3T K =sErW&k0s,qy ](^ gov _?:RUIPj+u\RX)߭`Zyk22iIgb.߭1;WdO>s]x2 שU;p&EfjRSVꪤC+R!TA55\uCR褏1֘oQ>W'eJ#Tg߅7Ξx?\uvOTA~TdBك WT8pe(IO`./;pur}>̕^2gwˎ7\yk9 +'PT*9z")tpV*"hҔT7s=*)ϛwˎ7\ʩ\_s8*sxkJKpd%3^ۜ|wxK}qEn*5J` H XVwˎ7\;J݇R߻JmΏ&JU eJ4+^*՝K }`"sEV2JnUFRO23oJ7bs}7s솪l(Օ$Y)߭1;\T9\/ d꽤\I ]x+gjk:1WIw`k݁I}͋]}:J͇RYk?Jnk\k:0W`: sn*Bpgn\;^v<-r-W;j+e,7/6yeC*NMBJe:I ]m!+^+!ʵ\m]ɌG/ejcTj\}$3^|wxu6Z1Ɍ/lg./;p5˭r} $sN1(v+%&~u=}؝OBYˠT VjD W*rp5g=\ޫKo2UV$ ϙ+"#+rW3Taew#ˎD/vbK4/{b7VZfxFouTV-- 廑e}p*_4xCq0ᨪ7P)+@2SY)/;pM\M+Ɍgtbʵ\k$yGf*KuvٵG>S@J5bJf QO }EUxp5d \YvJQRZ* w#ˎ7\U ^:]gSJ5`vJf3+彺*\$3^(sEs+\k=1aɌf.ߍ,;p nTD٫\gE\T4+dƫR;^v6ʵ\o2)Ix\d.ߍ,;pMzJu^O1FoP6s]L^4xubSŮt_(\~~}GJjRNJEP/>\[sݕwYȲ Wk+jW$X\Yv*Cuv8{8F%'gg&9* JdRIf<Vwˎ7\_SuJ' o&廑eɧUz2I[d,sEVUuQVJLZ8{E3uv|4~R5X/NJnd1r׫̕K2.w#+ʕW+$c3Tc;\g/+]gW* JUgKf`0+廑e{I1׮R8U~/i7z*")t2[U=z^z, }K jUZRw#+Du^zJUe*H =+ }E*UMR藯1W+4q*3W Ia./;:;ui}]g_*uJUbސ\62e*O\$nU" B7V\UK = v\Tξz`JRYfB| vz&Sy rZRMwk,Z\e՞`./;pen߉g/v].= =]T@2T7I߾JEP*K: [Rٙwk,9_\+VR=5lP:5X2~w+)b3.r_ln~x}寫JR%XBO{ +wT*\c$>\Po^$QʜW1 q3XPC^:(i_0.XmV g9Yԣ5% (CI U ڒ"VeZBAꇢ^i.`}n.<~YWv%: S:NJ25 u.u]㩮zBGurfAWՠS.t3S\xTi^2^S3{T7ʧN5zn utXoVf} S_b"{,Vfڟp*:uVϽ)U#QW|TW@R]! GvzkuQkoR]Ɯ8n=7kRKErSWt:ek̙>.µcCuйs^Qn*/u[w.]c!<+=}W'aR͎J)NUԩ:מ9ߖ0 L1-8\UYTckLw9GO[p2NB@us~o+;+)7L %:+l*:եSSМ=.R+SxtXoY/D]Tҩ>B7^|hVd%Oʮ@ ]WvUxb+BS"(L(}Fu)?R]Ɯ/E]R(BOGҕ+}WvRr^%Ju m]~ [)Rx3𶮻 .˅n})mNakrQt lTD.TT[ПS]ƜID]ĩ4B/yIur+ۍ>+fw/ N%Rzrutט3Tu ja^J>zLws.N5 6 ?$_$e"1cCx/HGQ Ŀ1K{7p b=#N3<8Ѫ DNi ,ˉ1 "$ZȉDb:?sb n͉:u78er"1ZN,IyXH b 'n3ZɉSʢ%b&՜Ll5'nwnexsDb68b3>'6}' ĉ7SM8Hq?'>[Nŝ `Ml̉- @ķ؆t>2bo XƉ/Db>;qM|8WN,]q='zV K{ Nܹ!|G12}DS.lS1l{ f+tcptrace-6.6.7/input/eth.erf.gz0100644001217500001440000000104707717464071016122 0ustar mramadasusersC=?eth.erfc Xf xb.r020;0c縡\tË8CM@ LdI6b;6 j_|4T؅3@MNH8`qI=h94e@CPWQg9 Xyg29 Au:@]?܃/ &M‹  .z#a}i9wpS i09Lm0@QtA5\9 6\@MKs8yQYpvRJnղ5Lse~M#A5Ń鯛 Y<< ggRd>և_D_-`qc>8lAu>d1y毧ƒiη\9S5q!0K/mTs(͑ç>\>Fڱ9m`s81dNP iV2GaPfńÎA9+:ZeKG vYA6nbZ0tcptrace-6.6.7/input/fast_reuse.dmp.gz0100644001217500001440000003246107242307127017501 0ustar mramadasuserş'6fast_reuse.dmp XTU00CnKZi* `(h uIF^7HArEŔ$5|oXfkb%b?sg8s<ϼL/=瞅/#䊤f^2W"Y}pGzhM};]Sm,jY9k;Ѹ{oP%&L/&QWqBf}hHTOv &R&AH@ R"Ϙx(=$>;x1,ORkUgBWRt"-`DoZĊ Wa/05B23jU;ӓTؘ幕n0Ƙqwws = MߖUz6׿ F瑊O*_H>Gy Na go!`jB+\?ϋjY奙{}ʄl*Dsb&7L-]sbhQH,ĻU[hb\GO $Wj11B`8i7N,qkSup]d7p+r'ګU?jK0ŋM4ϾӏO.uurqpuh4ZVL {bĭF+}WV`-!~dJɽ+!'}8}TQAѐ)&wa$%^h&Xk5{Z"`WU0$1`dXC c2\Vfy$ lHR9Lxfy"%|G }G e62>?~\ n Hh -`&y t&1-a`~k8V2ݚƪRqsTg8qAFI<繸Hg x}:oI @Fx>Op1&TKsT7tD($<6')Gxx] 6RDŽxzwsZ񷝷*$D<1Ư$j($@b@nwK˻ U| *¹*9Ϙx\GFr4<~*{IL ôMaQ2\;ƫ뚖 g0)0%w45Lb⧙ä $p*x7O g 3sDؕ'`{gl85k0I%C3 0aF262&11?+d ɒa+5LV0 &=NA ' 3``X"ST0lvFoS\VWK<~Vo^NGbW|Ø^㦈o<c2nRc$&6{ȿ095\U+ΰKTiÐ0s;fca0!Q`8k/ST1}gArõyVSJܻ+`gjdYõypJ /Nҁa:7l(]I &1q NÄ:7p;p*#>nrb0?!_3D5 \[tU # 7|9|p6,O_O OQ3 Yd5 =^JfdhQD TcSRÓ$&r{|d[܏MY-0b8w)`Sn5 zMS$&w`5%D gd Ca&e11"7ܞc5MJgILV m snϑ U٪bŻ/!W\O;,T3|6 G;u7g-{㘻߈m>B *n.qR:\);hPC.ZM˒Ӝ%fWH#&z'.GZ9*]ĩ0KE a,]w;oOVugkזK"X]X~ZS5G័ko׮-IɚeJtO"qz$T"3^2dm-DHܟK\P& rÙEv7&11! 랻rYÙEa94*ϫػcn aگ Lbk80 TQ0[*vi9LbAVŰ 6 9rüblA)ZX=l+yt@QɰEp17ÆyLbbN sGtڏ&֩b*6 c(H`q{ dR [ |cz/nZC|O:`x 81,ÆC](`& uBh0ΗF.*F~7l@ h 75&11gl7p p/5Ԫb\* O*'p}60r{|6 s4t4J]U24> rEVZO2xNz|=|="Se)^õ7b[Q$&Q%ᆓA:_za5ԫ2_\<'3l6F Db~Ph`-Gp(KkxΗdoLT`ԉa 6}a,0]PS6ΗV,U [ WPRbܰjJz4轓gl6b?kXFKoٽ0P3‡o W~ *zn Lb★U؟~<&*A- '΁cPi<]^`MԞl1Il'O|u,1eiĐ1~=ձR~xlJ5^S@xYvڇx E܊o#=:y;t]$&.>ÚaBuj9t)tm>G-x ǯF))3Q{n MZ^jzr)8İTCr9kwdx&5 Wgr߬qoxJ61T<&<>,O#P< LJn3N8iEWOkYð ڨoxw7yDKnv m%F3r.b$!~%F] < QBE'(D]#XK܁c$ϵ0&z Rc f(>W[ W00]p_bQk=쭠qDOch0߼ + c )\Ý&[lq0/PbiEr;rNiח`SN6K :14~1Qm|=2,.eszb 9|4Pl)Z6c2fCL8X,w<]vpp&favCc=+[A I!S׫ 㭆̰.SSJ0a|_1Q""]r0a3.dK̈ ݡ{VИ 1QO|,ޛ4n54Z'CNĆya'^cd>3\ 1QbpGd)F~-* Gba.{İ vq 7AVи b#6"C.KQnީJcu1 o"F} =1n\ 1Qb;j5dGf,T}l5bZ~V$k ==qDs(kqAiMl 2x `paLb;CL(/Twiw0f8 _0xXlA k Cķ gkbIi͗&T7\ĐZ] &Jj͗f7t1/'<5\z ƽ wBL@d,ώ)J%lt0q3Э$CbHf@؋p7D )`3!/c{FbP&9bXb5̶ѝ/%K"ˋ?HiK㪞u1wC%'2D;W0p/ go$Mf]K!d81TD:ЎzAj#/md1Me8r&9h }Zk;1`3< 1Q?chO=]y4KUߥuJD63eu c{` b < 0<4KKdF:`xopW71 (M^ip/ a@|9[">õc](qn ;O92d sT] O"tQr׶O/Kޅ^%^&2Dj͗v/Mudu_np_(3(qO`v$Ϩސcl@4] k0Qkxh16l؃Qf<1QbiK!85Ë) v?4]'C<1| =z4D f'r *C6_vŰ9"6џh NPS:3<1QbBM!8ϟQKҘL]KK`x05=ʌE%&cR OŨ |S]KKd/[qĵC8!&J4TeR`elO,]KKגY`xd6\N0@LmJN8s]ix͗3|)d]"1$ʹE1BL#CX4p6BiXK[Lsu9\? 7{aĠ%4D"CٍZ|NiXK:2gF%d盍g#{f<1Qb"Cdq#Wik6_0eeK8Cmwɝ(VrQݬo6=Qn+9/ܑ͘BLqYB$/$ab#yąy5q艉<"ZwL}ZB@/64e5gX 3Y gMk캝Ҭq VtGܾ.o2A t 7 &[7ֈ3q{:(co.8WLaJJ x$xxFh #tO1ǡUXB9ʈ1b-j~|Į6DB$OCGrGIr"!&rGwLF`ߐǛq'P}f!!~L3Iș[PUatf#p /$@vlW'4*\nVL;BwsL 210߽!0 ѥ N6g8 TID/i燊 /ֆrU^ unx%1á;8QKt=W'voH]$NKae\Xs=Y#rp$#g2ϏD>96E p(dEmƽ}{9.('.WfSzZ .}2,㭌k<ό$< U7Ox^-W ^~{94]%#6[&( [x[ ek"q{ޅw8^xZ"F9'H2U-lx3شxV3q XRbK;K KSي,Pׂ*Dd4{g=7FxUfIP'տ쭞4 rgm0d7"^.tDLIp*w"bD%gr\sMl37Ts 1xݮz,fD$3=WbM-1s ܟ{V'(gZ6ʫݕ94mrMmGs #Xal.ϫ7%fJVDb 艉1s' #X%BjbjR^pnӹ#+Pw'[O5|gkY1ę q7{ L,f+GgO#D#x\JN|< or7bx>͈n f}/ruKڋrfpeެOrksWcb'p}ְ}(6|o(x UB%zb(i;2gC1u|}@ r PWޓS׎WhN? D 𓲨s@ We~>_[=Y %d?{$k&"I{'Y2n1C. '(u'Tbx*9Uă8nNdhKnvH/Xn$ksqxÉ#( q(ExD?ɪ\CC<艉yDbb&Y;/LyLg# @ o䐎!EU8"S{@sUa-zfSTa|GYcg -m/ uVa>,9I*)ꠊKLL{H{`Rbɯ]5)Sns +G?CzSȧ*H" ?W*;d{btB!!0q|AJub=%Nk(!$ij*B#N?!!.yQy@ȬTr'UGj+0k";W[=jP[G$#2'OښU[[Lɛrzc^}Uv> 2тu?^LJ+-!s弒8" !'y>ś| k⾂F>*RI;db ;!0ve8B+CNZ!zC%^{ %&ݒ !^%;;|.VS:kDxn%w?q έ-%M%Ab硂sέN ߛC? 疭V#_|ˤ~Wr)=*2[eS%}IǔVh:O$}l#^{WLŞg.I%PĆׁakw5tb54OpE;̓oTy.jy?0?$yKի|>-?LZ$#t̢g&6a.oػU3|I7xjyyz^tp[.V\WEg`fW񝐉גmH]4:ebXĩzb5'dMa cɏ({QX0ďV< ņu4bް fg Jl'2$a[3ƞ`)٦$B;H;h8^oOh&ֽ)*qJa# {Bm )g8dx>;&7ڡ U1dRA"CJ_=׮&~ïHĴ6'g`fO J|\]gVi1Cbɓ|}jtC?)WȤM3d(v -7(B/@?)lwۧI%4 CỏhlPYla' HމBaPgI%^> &i Y)1ŎIO(6@&~Hd,Í! |.10 ZZIz(+~!Jt ˚y(fxO3\ja`wt!aWLх?ogoL*qk=fբЄFU~*DtF; odPd`1pDG(``Q0 F(`l{dଖrc 8Eo`Pv T|ځ?[P5sD 8# Ohq 4<@@b%Tsk441WhETs#Xy9l?p tcptrace-6.6.7/input/finger.snoop.gz0100644001217500001440000000230407242307130017154 0ustar mramadasusersB.finger.snoop_h[UOg溻E_>G_֭KBe$iM:Mr&ޓAVǁ2*"(?DqSu AeM?erwϗ|maS۽"{#z?;#$M֧셍7>ݡ}Sx(sF&9o&S;Y2/5$ƈI.)OE/6rN&83/sl3]C*߃1of^qdr9B%k.1;׮K\gf=G]uUOKϞd~ܒMF׷0n'K#FH7W r N (xUf& nkq5|Ow-h Rbjț B@0vf7pE$D&U%Y:0@ H<0 cQ!kQhx[:/n18Yl1Qjݎc,^K gNLXtK5 (##*ejQͬZpG Ts͌=ġ51ф>=™if UͩGd:+@)[b2K\zbjΞV%tz'.d!3b%HSy+WɈbQ*Kd/7ӊEfVd!JUF/ +rrՋ V}va|1E`Zr֟yhLʒi|.J-T@ll]W3j;ZGzZӫ/D:'gUuy%n0dq37WhY3xV2a GCCq &mi5j=f at6)XVX-F;u/V _&[]D4& QUcfK3fr.Trbjtf5& Q\Yҥ ` ȁep_ou(];2Ykmjk03If䲆M*b6{ߕ/0Lz,1n)U9t@Dd+/s\9fPTUYÇPN܋vk>Fe{r">@ GgDaԞXh/WZ]Qʢ˶Ȱ,7 BRp/"Pdb^ ;< *q I\P`D42U\~uر( k2 <ERt-"8/f_%'J5_V`ĚTDzb"1Dh֡*|{4j h"QsZ7O ^$1O`A耘5# ijD H S 1YAԨˬN+*@d%-Ҕ#E,HJrsx|?aNk*Fͱb=A;FG,q -?X ;J! eE%)׋!6ci(Z IY,< TPluP,KlI T *5DG[DS !JB l.Oh7f<E/?-6:1\@,vBoeBJ&CJY 0E)UԐ FG|,/-OFb;H*vڒq(TQШ%CWZh}Z1@2tVf@)]V tКwnɕ뉧wizc[q:ar'TVY.X#:z}pɈygUQ/lP"q(6d'T_zDV "T=֍++lЛMLFu~Zi1,!PQRp]()Y ~! !EWN~3#iAF~(b%&&`|Ԩ10+ bCXkW4@)H];ÍM4vh`,UQf-#Ah92&up^8 adO8c1_{(xʖnJSpzEc|#nږ'U:T(r8D:+yKޥ!f< 6wF \ּtLbL4JMXp%7Ÿɯ)'ur Nj&A\a AX pZტ<жwfo8|XW>͉2򿷧 ֣#g#X+Ut V5qn0 {ёBN|(v="B+r࿯ӮUsZeē@v=1k0ֆj0w2k<i¨$ A%J&W -&v 0+bp5R a=d= !9< ֣'?a=>cs"duAWZ/ rH=q0wi[IY>X崺 yABtQ#y)!΄r됃'(~JZ^` PK1,ii+ $J7Dk¨24*d19.r~Qn|m$O #GW)fҨd9jd[ ĀbZ}.bEܑK(7BC׶tJEP>%Qqp2Az !\P/Z46фptD79^3Hxuʂ|lCvƇ.!|3"׎DMd08l꣜BQ8$]e"apL 5C%ݶ4{%mtGl/!H"$0b;]n$uơv mmHRv>f:+ds,7@ b'te#zȄR!@6G ra|}lB(ɷc9/_yI,|7A xSk1,N7fbI'Vf*Bpߠ=bKYo>BRԺ)8~3ŌxiO bڳC1|S7Z۹YC{4j s C#\%&M&!ډݏ+U *dl;.!;~y2ci=A̋_? Fլ^/#PGnvt!b)j1j @CaHF%V#y X{exJNU`:QQ9,&=]E=XAX=~,N+hmtx}g|,`/FHDE},ur柺DF$tHK 8w`o;١@KcmSoCY:ƘX^ {Rw̄}q:3b7_ a0GxeX2_F#њnk2vMŔً7/0N=$dQ0$֍WѫW.47xk"]JR?!{>HNJJ7 C =9#tB{FeeLU&56w7Gjʴp8*#ǎK+|xܨՅŵBjGSF+ Ěj_ {tG{h@{Ҏ@G͠%MO9b9n8;^l9Q5oRK*y~ԉB1NJN?^g=:v'ӧa K/<ʆk'sz"yfCҺ/ַl4fV]ں'M9>rh8Qs풓֝qƌ _[tgx~5_0kksּ ޼W.]X|5k^e֭;L:{3Z2ka'[Zrnɲo?ҴU9yg-:niE.~˭ִ,|ylmn~e텵/^غ7Z6oa[/;c~O۵G6V;ҥo]b~c۶=mW?=Ҷ{}_4ڽO>;x`_vnŷ|ñݧOh;E[k{}{ĉ??O57_̅_~gTİ?Pq=oKyhƕ;g\lѦU>~yW75;x}rɊY۳A-~'V/6U}Oq]n*eSoxxFv—'-MI9F.v操ܔ%^/}oC-Lo;ysMqV\]lEUE,;C .^;f[.1KZ<{eg3In}# ;rհ Y׷Nk{_|3cnۼc=ݐ6hOs6yܫ ;f7{_o}'kOYQo8la\3o8y@wػ][C[G1æT: U1&k_r lui7pMCW枛Sz6_9}tɛj)o_3GPi1ȿ?A~`oG"~gzOOq!v}nD cjԔ;l’}MLw{/_XpvWѰj?&}{w cEPKQCt7ЫHAQCk~{=zj?jǤI?cPkGNI9paLX: .*j8*癡(â ~%kpZ v'ǰ\j`EΚNpЍqtT2-_ M<.xX(uٓ6w@#80t<.#Hnd5zBkp$sSb(.x.Xi7f 5`zL|JE6!R{D|Cs#-QQ/dғ5 U6br:"O U.Eb5g9F&mȖ[>.MS.BmI|ɑTRIݮ/a{>#}$gzRĿ8MJkzFtK©ֶ֐+58;FI/b؝=JA\JF:1ߢK퀯>R ~wGX?ZcUJ&WxealN4gi6:G,Y'\H)~zgYgv@{?CC P_BmתhHMInX"$==3Kk&ˆ.sMub*"ΥG$4/8zڵE}YVoz2y/sa!\Shv^b(+Os3fR%t%s|[(xmy&|̷gKwRX"Zk ̕ez S!Q/Cu,©dIhZ Ûp둋wh*j%GV?X:ڟMHFu U,"aQ"ӎEڕ7_,vvs7{ w&Zn_˽lg{rat*ew.r~<SG+T>N<[>Mgcua>zҦ'E_ 8?Cq0T8DYVlá!C%O>•+E Rb%zbŎcb!ϱkN҉^0FSȼQb^VH=J'GWS'\ ![!#U0+{]] 7HH|Ay&xǶ ".Ԝ%zJ# VLL0y݃tNr]˽ʶV<҃ὕ.PRvq>T5c8L`e*&,௺gRCS|4LXl  Ϣb'A^ 2KGln5b:Eꡮ)+4EiECH6Dte9 v 9Z˼g΢+2d{uGs]T(>wwEx3$>?Gߘ$#FgqOSzNRsCQ>I=K>R y/sEgB>\ќ)a,et;کH7+;!g4TEU\ o6ȡ/B7N.Evܢc+ۢ}IZ]6SS˪t%Xs#Ful># &*Md1&nZOCyr&OWΔf_odzE(Yj 22=u`wrRvb)Mj=Ljk]mW#n4 &Ne$r7pY\}JT}D}³t|_}^T}_}aTCW few#;qqݱF>å܆<3qޢ8~vUqO=m<2[z4w5-fms,!)t8|N5tmL.IJܰtsIltw&,žFׁ][ 5$cDUOU^wmݼl<֪T\nu'ٵ*"AIKm~.%uFx(]AkkhB 7F{aJ+5) ڤ%䰒񢺺0#¬@,眽ٵ$|.ZA0[w[Np4t;0*+Ix,5Q$6Ĺ (e sOzO=%=w{ҟd~YdFuW]Gw9)YOuDyfQY^?:zWu볠*y/&kUhlԌ@w~UgAA_c̍%HGnt+;Z̴}ըgGk} ==K=h{^V%Ofݮ5͵;&vgWȴӬSz2~>ZGUs偪lt=))̵ld'X|877^2gxbn|>*jn9PB͊azz_{=3r?0,Tw_\/_?/i555Uz_Jɣ$ag++%wJnjH˩ }Q"vJӵ~՝v7 >{adU`V`1/Li)CQK%/_6 lDG߸v&od_$:.gFHvfskLkڣG^6>Xv趿*bk+/'^ןh~UӲ~mtB\z=/,)Zrp&:jw]ͧ*xQi_Hi=2\*ƃ`e9p/KM,Yyb$͚.&%ݓ6m1FmZ"՚cVd氿Qۇ,> i:Yyg弪Q|U{Ľ4';-S!d;֭tJͯv 2Ix[ֻbi3}UL?Y-$_N){.g:vGl'4!Z0&m\e*%vHTtsxݳNrRSyzMsG\Z ڸX#=|& +ΐԃWc1"&=YmdduxdP^A尚b/TAȠ{݊o?`ޤMy5u%}:9"B?D1% [ 4hB,^Uxҹ9v֟%ٓK eNJ;+>W!T)>pZu o]wӨ&μ 9zǔ+M2=`0;,{bc@FGNf7o˼aw6~SGbF1<& g n_[`;.(D3OטyфGi=OatѬC^j>5Ҭ!u&1?Ϊh7 aHwԲ1tB*OVCy8/pk]ȡ{cTFA~4 A.b n3\Nf tXM_G$j~ᅳټLP&Xk[e48-÷H& *(hN͞DNҘ~J_d쵘,=F0[ds ^ ҭG!sZGpE |)/0G.$/*Y*Ȥt ug7c5@@xګ4޵zG ]65$34git wLˇBV{ Am"LʄҢ :\CaErä\ګx_d0`UЗEaG,dSaLN=x 0.#VN3:@6Wz_UB\N1\b I|.՛S18Æ8Bf&]\_uӆ5ҹjSr[Z L>[A Aqm(ߒ.!Lu~>ltY1#i%Qqfg@h}Q18o _ ;T+ +2Etފ+V\X ĹS,\E%pE!Z Ye'YS?!M=\'wVG$,\I=)"G(u"jAD# vI*_b!^=؀;gWC@&35TY(iT}99'VRޓ+0,0#f=bAE łe+$İWB$og B<VܹƷ}9*qilU+MyV@qNp oEp@c4t- - Cu.ԇb`7m4`r A Q$ oY)]"eA =%M>K K1dܠ3/,vy哌HF o* E<'1M -u]8F,t6WB n$V)D8UF72>DY?'萫,hJ"<Gq "/xΚ 2oǂOP)<߬ /f>E_@X3tiLZ:\9 X&Eykxz^'89z 1MHKFD0#\8g4!m4𦜢N;qϐ+3D87ҩ2$2v X樍TBye܍)ݍLʯsb?\P.7ʯ*A0 @]+b $d'PӲ|3GXݤ+)`z.4ATm, y@aA$w<4P` V T`m|EB<3_,7GQiU}!n7/5C 9; 4(j-7B\b(fv@KxjDIDŴQ4ƔEһu(*^j=DAB.@㈆K; bH 'Ph҄|Z9 fL, EJmAt/. * k ԙ٠w WADX( FpW"↳Z"Z;y0"LoI) !ampmLFX!N3E} B aK9sE 4#s'ϭ .,mm:#Ѻ ^ @@SxЁv/@ȹm\IOF/>>f< .?׋ lDj ,{-/HM<o@,iKC$?[^Н! D0֨JĴ1&opr+L@wAkg*^Z co@JO 3#[o>Q7D?vi gyL.- "aC0Sj-NxkxPdLE*k%ȩ$Tɑ=e) 2V#[UEI~pƷ/D81~. n9@(%[Иu-O61+k'6|r [#Jg7ܦX/@LFXD8/߂|2 5/'Piwrp``' l`gT,/gi$￁`JT@`3,7BEeV!S;'lZT-+YZQ%FIb$$j4*Lq շ2l\iHW\;,fMAqIïuv Mc[#ڸ,Låk# TH2"O мڡ}cZ0TO4J\*z.>L q(aهㅯ*! mTwy T$8izʹ,UV6Ч}Sb0̌pBK^:@HmĶe$Ǔ>=:!(bp3ă}jip00[ K_Y䅥`Am@z D9EIIi4.-gEת?K~ȌRrI\/*9zegP=4;w5ƒ^2 f@'+^TW:[& AtN؅ Rʌ"t ){чO9Tϐ{߳F1K@R1$6۫C{dכ.#ê+ t!=R9֓ t5؞Jf.4є4Jox_04:|!56 X!thm))kx~oV56eԝ~\s:^q.\p] ^x^L}L?hm~D`}k4]n='5L׮]Z4@m+& H 2_DZg>b"({ZdLCP%,-`A#q0? z4ZY 9Oܴ B/wˡmo-x~9̖ =ȈPc*bE~ "T>L`h$8ual܏@y"|< 3EZppUg :{TT sQp-;\QvxM]rK0BˋCPo#p4-˵; |Gک=EPD\Ϩn\ĽۭӅa!o܎5p4췠ww(>H!vW#~Vt)"PE,yʃr `r# I{Kƅ71d6td|T<kz(w=̻8#Iq$~Hq&ψ`hw)KAgf'1d'bȿ' RǽԄJߐ6PP5g?]Sd{/+zpBF)ܕDPczBCTD.JÙEq}$eyzj.( X2dSSK+K(C=Xm$s^u6̌Ƣ3jࣥq cl2Rc$ DYRrRLDL[n3=Mix44եAI%BE{c@!y+i[6{n4A7{[qt]b@RtgCjwCIƬ}*^ykSI UL8@4/Ҧ%^'S iÝyh%Elsڐ<XP#_Il!;0.E4+#_bĘ=;JQ7Lh pϖzz.\[xI͡~^+͙z*rBm]; HQ))@94}9d 5\% kI(2\JT]ʹE% FzũgyAi5@fn NA4KnVahmܛV˶*,[d2*UE2d<-W>Y P>oqH~!'c@P>~C:^?FZ'MH/IoIoZM\-/J֟拼r+2=_wcR ^P-rfT}Smn|WlLtTH_Iay7oդH+U|b'ҫH?><.a}mO_@V ޾%8ZF,#oYLz:LZ5VJzۓcSv-oII ݣ=(]1^"Js| ߌ^~YHM"u}E y {pjO5@ }WZDgspD}i n6&:A>:OOd_ɮ.Z']O0Qaav(! Žҵz|LӔ& d餩"ҁRG-ao_s#u+HoW*HS%0_?2$9gy ِ4<񂉼DQ^)i,it0p9OhdWa[OW&F߬,qyC:8x3A ߺ5[,yr,hiyb}F!H{sɽjq1#-p;Xт Nx7S ;1e #!s2g7<P8łd0vw5[$/߂`UcwӖG,-gzZ^&Э1H)ILd+$L-|G'`Rg]{f "ń-H I& )([JV oʏWj 7]$~ԠC^̑saǨy*^cӧ7{~\N~z8KDqHt̄tel6e?淼:1̯Wk;a?Q7!¿tz:(7نg>m >s71\y`) mQV* SOݨo൮rX$ϰ<vu\75߀uvT$!)qZ[v,"S* +u{T*.g9neʊuȡZEʎ6Z6@)vCwܿJ^hV~3/Rd~mh::P/{~6;\ 9V% M] NL.EQ!~5Uc\<Ɲo|)7DyS@KSNv2QAiQxgdʘix5Af;EĚXݵ!j%3Amx|{rIuΩ :PRrj 4T6Ew<lz Y{;-Og|gd5yr \[O0%̓r =!B\8b,a2w]g#,~8Oei#Dì>ؙpnͲ)lHsg(7Sq>Y ,B5pkfmvVˮ` ~*[xrI3 -[8dk w8oikma=ۨ|GX`tW\οRvKıi_xDtPdn?%H7@haBK7O!E( &{{oPaZo`ohƕ8TRU|ga᫤P_wV_<V-c}ԧjXRlBj 6ֿʺYe"[(pJ.㩶8.(C0+E]6YV3$7f\G{ʐ?XA|]7e [~4bno~s)qA9ҭL\U6i"Sœ>ɥD\}w׌d͘;Cg)@H3,w ͼ:߆$ܪ=RM zPAQ5 XR{* 3{bz Ma^˶c|cp{1XzDL>5;Ծm%ʼVa>ǫ=xۜctgrs(l S 3,қrΉ½n?7ş|wԂѮMF+8~~bS{bllԼAwwM~!Oy]l~a'ԧh(##uXLOKxs7ԇXZ[^RO;sb`Qwxꌉx]@M31ơ봬G%!, 5;7&SAJwj:SsRBxƋ+?[\!9v!;u#̧Y 0EL;E=Ehn}1"SPMo_`p擄sĩb8@K>[_ZzyDژ0%$ֶ]Sy ͘t~3 ;b6J^HB䳻CZŠ %>W q.z@x)Bq5\\K_ucb'Vi[8,B^kQw^<}1myʭ]l: ̱hOɁSDOGp 'ޫ%as" 0 kjb@Y;:s+.׍ d0:ہƌ][HQd6"+Ne*^:[ۨzIa V~&^0;'".WmFDC54z)~tZn|h^c}|l Hߌw\>h❡,1끀bxO\MDHy]e(R?U^_ $,e-g {}[8gnpcHfvRdRTX~㍙ax~5(͛ܚ&q&V|;*ɇk'F5̗2;9cuT5 Ejv hYm!U>_U *.k?==U,.Eb 2i3Y}`Gt]^#S_`b\q/$ h8"U8qD(K^']jg0JWNMz)E@݅}R ~|D?&RK]7VQ¥?OsF2.&1|TdE_dfBrg z j"o35BхaW>_TRS<:K@@DwGY^0|~)>%F&1f8"i9SV(rpUﳪjsm ^1˙nځ7/d<+F~HM+/{R4(va^ X!b_Jn|tn(%BDH*.fef]s@ao{)4 m~j hs|7c d4rL6mk?ztih^SUʩ^SGzm7υ=fOޗpL. RY_J0rXˣSB/FPG'g wi=62/X?zkWjFp`@hfŇA^P@qU4S/d}0{9aO:K usCZd:5\ a0ɮsdoA^t?.OʎLq8Vʆ5zF?ʠYD P~LZeا.mLid?sЖ61ns$3LchȰM$715qH2nw]aA4ne7u4~fnSgXt T"QS`"x5wLJqsHNm3Tb4i)ێw/BԄ Cя_;6=iXJ0,y`RL~ɾ'LҘA Q/NP8IL5E ScZDac~,:l"ɓYj;my=MȠwsv8Lu9ebۃa 2hɽ2*4n~-ZO2CB*Iw=]&1l%˲E>:ha+/  =kHÎ#'w=&ȗ8ntRw=)'6GίϢo:PdS=o._ I~3DFMr Yn|G NЖX'Դۯw0{Nop^ڣ7b5\nĞtߒS ;vLc6=[qo(CA\]Z=/T^(=e)`8LEipY0{謟{͡%^u1/>Z,V b^E *Qh_~UE,+ڜU2߻M9*Pnv?<40R%\Iuv;h:?lўDS7(U&dbjxj$W"6يyؙ\yeDV ⃈F:Uld,Q[/#8_-lӷO="Qʉ R ȑF~$RxZyx37TW;j#mKR̋Ӥi¦{ᥐ Q%X>$kX^[ ^KudMLvW_,o:/O5Q+ TOQ5'};e<,'CE:U)?o+]L8^ N--say$Q9kĦAy5I/Qz-{)JAZ[.=wWE]ӆI ;XKRns |I{٣p~Te>l 70 ^G3"|s5i}#΀ALX}t[x o!O7465+j\w S"G _?ddI𿄛}$pk|[.0/]us.CS^*x xtTf[& Zh ɡAf( (*~v,]\[a~oL3.W]Xz4t;?tʅ/5HZWibGֳ bs߽QNsۡWl,.t.U̥8^ NH؏.PW$׋]J!Wuس~6}]axc G< ܫ М\TƑk4biGϤkyg[sp`"sc*k{n4Ƨ:y ۥ-6J\!檍T]}oahWo2lB5d4oS%mKPriMCmdi\TMR"ҷ"l& M3< =a"[3XfR$RIncɶjq5~̴l7m~p؛a&4f<2K Һ+IʜHԡc:h7m4~\y$}0B!5 ig.c8$#%5dS09^:>Z(8.µ:KM=#3 u;:/-aj܉y[fgjڄ'!>1G: `n7Ҋqt(O,mOd=Y1`О~emRj fM '&ءzmtW;wdy~.3B/N/g%áh1w^Mw.{|$ȿtӰ Nyŷ2J)^$ # ȍ")!Dl>;m!٠ y-Z?#¨/&j U4vRa|1 Jg=03Zi9 #NnNX*,Aa)sGSa;*A!uۖ~kBEAmmfZ2-Ž "eZˍd<|ejiМSԷt1XM };!Ꝅ_d0˯pN~Tv9>sމy>E"}ڋ P!(:zT~Mx(eNJQ;N]MҘ[aTi ~ +i bӎ:2\N‡.(qL&j>f+.W{IŸ~>Q%\M Bn7[f -yMM]< z ք}PUVog)T9ﰄ3J=4jĨm {Ӻq1)ɸǒrˑ*Z$d1SJTQkC+(p9.`LTXϼXycrA:aBCUּ8)˽T,vmNQy%vC kE7id/MSZlQF s~QtKdsȸ}]b-$\vmEƉ48ymd*"ঽ Hn%{)\R7U0ui69D1OY܃È a.~ 8nB71S5qШCCvn23|}VlCjquj] =0rqAhA|b*[L=#~25n"w@8 'Ǐ o='{Z>ce;Kx7i;ӧ_:ol=)=ܮIe!)7̲W`SxwkD{Mİg׋bKȥ=^I?緣(DX5dg4g/Xʸʽ¼9p@4ݏ j%2Wfڬ&Of"F ȀrS%{Zll(7Kǣ8ZC,QQpm<Ewm LwJb堃|"=+妇8uIBz=pzyD*it{}a\\Os Axќ)HXR4%CBq:}`J #zPݟgv,IAurTQv@}KPY(wt6UXv *IGtOtٳǂə6=1% /^8>1?럘W$k~___9iCȸ[= ֈ3ꨱgG%x)Vd.fV(zp z ܵ=ukzq#LV>Z2wsR VW}8<=иmErmPm-9Y˛@w+,p1Q./o\pe>2^㺨Z^!~DeEq >:W9[Jg}fZ7P9RnL>Us_x#*I#$b6 ?'9-vtQ:C?"[+ʺ{rKȃܴCGM,9ΞhPniBj PrHS5R($&BX(ڤ7BإBΚ*Fhiا%NTf_%SyY+*M6 ̢-ѧr`{)KG X[*Q4!^NJcI$$Ο-o?<| 7UKr/^ }3o}1]Di.]7XB!/WշۏB 97 w0cORmY-=ĿfDz"zrO)^M ZRla@l{S΄\LzݨO}}Xx˦}#rȥK<=΂1׫7*xH/@=yH ?V(-˦ˌٟU@(B#f瞂N җ$=elkeeo|ڎo$(&1_u%#v O 2J!% gaj?QWǝw $f_E52mյ\!KgC@XsyNj#Mߞu|g~K T85ğһz^MuI_妗# ;vçmđAIMs_ͯB0L&;8M3G@,PcU&j\2+״>*KP{qywAk鵰+MM;D0$X4V:hT>\0V}βp? ] !}wf(9 މ8EUB6&[&ɊC/O{ ?LEPTə(eIv|"ɗܬSg`.=Ӑ%9Vb6"Ȩ> DQs=M| IF/k$g}95brf M vӏK9: dqTBlL[ }GKA,{PE;ݰ@*"HQJ縚6[7:N%tDݨM%,R⪅YQ 2V#[bO[vRVߝ(] No-50^jsц CU Ĭzׇ2.f28ޤ h`q33h t?]Uι)NG雗'/:t7Րb I)<5t\d _LE97:j9w] VL×ȨTI]p]9v`-ߵ#RI6#_vbFi-,nSt 14VDkK$qg8cIzhU! 9~c9N'GV%DŽxZ-bFkT&,}ͤ '_ZEƔZh\ XzZ{ .pos4,hD磴މV񧔱8mwH@,Z1Fnkm7kYۖQ듴w@xڜ3z}'/d\2&(ܘk:פZFpf5l_j.1._Zr,n\@]?g|˯?_x=q~4|CHoĆ<7%_|7%]T(9 [ y q)5Ǜ%+$Y_c(]NdtЖi h:Wl+AD}-t䚤o3xŵr-DT+9nQ}eu!33`c={R;5{C"dxw2m]M#fE]9Rm=^X;Ɏʅ*+zJTH4i c0+_$,DWH.CUC*RkG%g#⥯0dEөH=S'gSIa]D3k',i$Q>klj#PQEF20} NbyѲx%)Xb~x m?BGlK|1lX/=v&KI_u߈m0'ZL׾^ڿ) \%HcR`XQcL)q>%c1@uX b?sE[5sQc &~qV,x@KH槶$V\,GTȓwZ^ ^RCpqL8lrzM>%mbdNA~61e层o-N]}{QC|>4 J>zɖG05'lY0eϝi&˕TN AC5VwY)BMkK[ -W|_(X*<ЙQk DrJ:2x6Rag"R\kl! T@ "b.4 o=ʹP '7Bt3.= ˽oN\,O Em{Yܙc0P,GwJSWkh%1NmvI&v X2t(+12Iӗ@UާCz* J8)#m/g/ĔDSZ\L0Cx^~,b2M2(4v)'.48c]J; 'Ar'ZR:8]t6O/ãL`J~qd\-W!M r#ꇲ)7]V(;^~ۍceT:ϊdJ/ B.QZݸSUc)'l,&⹪.+MbWэ.kBT)j3l0i']x[8Yna5կ]L)~cfۦiLlz^VCxP޽Gzv\ cmY!q@Jd,Bڌ \W( rg0Z.#/ʒQe9#d/N#87C7/ _L'Svk5peLX^$:=Tft2E^._y,:!(KO%\-VPW!J5ڄ.r}BeD(W ."DF b+#26`ca)#kӦhK8AڵLOj#K811t%Űu25fen'["ľ`͉d,/\7)MCWr`_!W>/J"Ր2ӕ?[rE[ swCU̔x!|yrr`QT(Z@>T %œ!`ћ*]ʊ!^N{.}֯\Ł6O9}ЯLijˑ{19Jc/Tny}4H=&'WO tMF4GCf *T@/ 5M@*,]Q*-M"s *hHgC#c0Ui`n'^Onj 5_ِ dhI(1z 'ѦvĖ9X؅6p#J5+X9Y)̅e[7l{Y+C枔9SY? ǻhܹo@߭! 1`Q4^'31FB OmL`Ye0~Ǘr8((stC@u*P%NDZ 062ݧB9#tĆb5gp¬`v o8T'ჟԮV,; )lO&3hKTΛqgB'ي@5 $D z D xxLDpQ`Y0EHFeF@u\dHE`eT1mAKDj:d DpAj)Vsc=A{P+;,f}TY)\t+Vd8Z#iH2N,ړ8^':O$wzөw?W軓Y=0??P_{_pˀ}[o^-y0!płyjm1:9~/}gNOWD \+WIT.{8q_s% t\qJuB4Ǵ8q5.L#vEI] LtAut猏>D?J;JkAn*tHTbI¿u)ܞ)lz%&zf(4 !j3tGV~M4SwnM/nmp U·h<OkU/u :kTw$t<%|H<\,?6pQp(o]ӮC8Ga8բEb’.:g.O.Z8TWRmW"@rjBIOr$P::@ @|}PW1N1҈'ft!݈#zW$h^E&g\ ̅|f?X VX ]Uܬd[X"C$ LEfC,GNZTySEpFI[msO}hOa*f::^"Y Rtyqsr䑳L~>9sFk^LG "Z5V:Jb$bD+uVmT?Z^g @6 x\dhrR/i=~Bt6@ !ezckG q yhl&| ʙ1">"QpQt4Yv(>5ND3ʨݦΔ*z&:H[29 > iYxj/9C;8 );u<~Ig;6 -.D PN-N0F 5?zX&~[AVQ L(?6 Lf:OZh3_BBmڡ@Z2dz/Il>2GQ1"Kl8A8w6u*+fI%H+h'&f^FpZeǺ TFһ:D.h&8gjJҋ=5y\ThNmx_)WSGc[xb`;`l9&0p/c4Pt SБ0x^ߝ } =E^H%Vk Q'UB6?hZni]Necز L3etJDŽj~o:M,3p WQTc09M3@AځEmtdV@ .9q5 CRre׮Mr2_TR G8,%@%|exD,s.'CF[<B}onϬVUyPϹ:6?9?j˭`izJo{^B.61 hXuLMz1jSľkD'myv_j   m'0XM*Aح~eȇJC?i˿Q"($~T.xj[Ъ={qx0lJ[MJAXr&p,dW駮x(ӂ폪%-hoRV g3FR۵n0КGtS.}iA~qx_)&C̚~[.F^6'q)u.C"BR/[\!=!U;D)g]fhk3[XE(LYV (TO&#E3_F(ٺ է2hbc%Xɷ+ 4YZ Ն>~`X@lZQn{'ȘM&֖ǖL-PDŠR6Pͭb_cZp94W\/T'  LRQM{N5)HEC=3gRY+!hwNF|x$]DFR ;Ž#B:"L.5<[I-{U\$s ;R7LW)o@g"Ё)tT"CA:2k㝢r:8xQ-نvt5fY%awNh]a5, aBSQE?UǸDZok˟H3Ws$ =>X5YE5E8X,V4 ٷ f|h }ߤ4vuͥqQDEeFWh=._zF5L,cno?a4?#5x¿Q:ǝ?.nb5`XX(-W@t%-TUD5Ł٥4XM ?%u͸bHJ gj-Y@pOM) R 6稉y ~%4߾oCtgSOs|3=@ŔzͰ ww?Ku43r"[DJ Jj)1Ug&f>8O7 G0X̓.!D 8rێQ\#TX 0[c&c_*%)rw0JxӄA;v}~4Gؼ,ś!&7rj%OgKnX"8>w'w?l `]\eILsaP 6"-!23z\E%!;|Ӊsjg76E%&^8W5VӚWD;xz]H<W[0KYfCћg*C }sQ әCj:͆PNG:00ݢ_Qr0DO{1=:aigYҩ@mJGISUK ztV{uvTO?'gSOI~zZO6Xl/}_{_muNb L.CWp՝"\B)IׁT DB\F_IBȖ[`pAx~QugzC0ĐJq^2'eUfN8l/'.8>E9SU=b@v=t-K:k%C\`N`ݔ\}t< d WwG"*ɋ#ʇkd'8c!+0\1,ۍH_eá88W!|PGiftucTӂόAq1Xyk=|:Yr Kn\+PSKҽ\LB*6{(U%;@O0wa9D́;AOWr ^F/Qj7"Iض5[>=[^ ]\ F™adXS4Sb2a#z:_ a:Sx?UxwB8ͯП槼\'K 8h͒Zи\h$(*Ma)wXLo:E$7Z, nNg4策Λ^EiT07p!O8a?o;bKB}G{K(m9[9 'nt_Vu,ʵ]G?>1?r mLYddU|:Ʉ|GOrx;`7o_9\Rr0Μ/ _x=Dؔa:H$75.~G67^7_,[uqLM g; 9tmsXf o?pX<E'8!'~9Kg<+o8~Vv]§Ɛxz|yKpiY_ʽ(<gnc>[LUgL@۫w p7=pN8/? +>v,+_vi,Zw6@AG2h&в%Ӏ|\_*_Un_9ab:\y9v1̠_iUil0LqJtN8Cl8؟p+(9Xʡ˗d(?U7$(Dzx+b( VkC\r= /s#SQdj0%%9k%ӏ| jSu\8,pxs~; pqCWS tz*Y=cZk!QRd?d%7U`Zc{$L70Vn?f WѶ~L4ܱs)^:ot.8N/1s=f,kvTV 7 |8AZ&J1spz7]Qְa*TU^pxs?U8\C*g@/{ř1=8c"!sڃQZma']h+mMAN~""KD`f-i?yD/=' H\LCIyu5/Qmb 9 h4$៪ pC8u r/_9t+($7Y*TZ|&h`bq4T&yo{å x-{K"4J/vL9@Fw~ev߬ˠZH@1ySuq8O8,C q(G!_*rd 9w}¦\/dt-=XbfYYAO/^+y+_scg6odnv-CGʯ ӛ9}T>_zo8lq( a_WPrg.Z)̿4>M"wrPMABT_er'(ecg@>zFLݹd)hS,aL`?UWH p8Tqus8p;7E~p_nrc2w[|DX0I gdU5mwǵM8B.jni䖞"OnIw4Ϻ_ CwsŜo :^(qQB@^Δ"V1q+1GSKTQNjŝ>ĥMdcx3 ].XW>>/u]vijDN4&SJl3OIs #7,;&M6 r3aNCzbgj+ɲ 9%=| G ̡ FU֓Kz("-_ ,m+kҕ3^Q:C$0&h!?sn8:O3L vgT 5ϞɔSLL_1TUVVҥ Ef#]f8elU)08u-mosy̳eU~/V6i :TZj_hNENm,R16\kGMKN2Xɻ 3/ߚGn^}-f)47J1}4?aa[ͥ1:i~)&Ẽ`C̠C8ol qlj$ gK[t]m{hO:c*gѓY$-^yu.f҄P& ͺ!96Fsݫ"j7b?_vjgQ獙ӷ/>8JjTi_EXfHш׵| nwtm2ۄvLk-+H{ړpٍgj{jJcb@(?kכ|i} ?iv X/g!bwV0;9:ęW?ZQMfa HhzAA(zUC/*M &(UP̀e3 x9[q׺!C_6gϛ#ik%gOMW o5'[V9xOlqy_plAOy%nG`IcF&\}VGx7oBOw(H#fY$):e9+zٯٳzI3xSS+x0@$ϭځ)20EzW]B39K7 ^‹qeʺ=Y߽:OƂ IYcnݽYI'"DAB^玺󄿬yF6Ze,u/"˹k7L\Ivc-ż~>TT)u0玙Y[Ub{kQϯ| a#t%-j\c({oVil n \8oP͌r晅'Y7>++0O;6(U#UrX]߽F#"f 8]"ә(ki#G\:VFVIbdǹibbR֏LWz@@Nc1\5>JÁ u$vSj]ЗAl=jRVXG^`'@w2pe~E`#é?<}:*.=|1㞲Ч*?TX#k?Lo}ꚦU)a~h눨T|GdUZfjhw_ã${\_Mϛ;ܧ=,+svꃼd9#L^rQكi2~f88.<ȲZc6UoNAx]SxAXӤ8ըv뛵.ʼnr_*\Wtu{ǥU\s?TZrj p^1$S5K{zwm_ɹP )S ^j].a܆FtquɸOyǸq6{FnRLHh0 r-T)6#QN9V+]p󋡼~e!!(<Ŏ.fK\qekh %b@NmqY =5Ig=;?0zYOα3 g'yc ߉(9FI<|i.gP⍈<|zy?6]l1 dqH) ȭ^K A{O}[S>\xvLqֆgʾs0W(Ht=JtS_MeM$^49Ϧ#0p)_q)#=ȶ'?7]n42fuFtZ+#C8i=OQ3_w@^.vl}SV'dA5r<>z .L όe y;otfsN}~0d=]j?sM"탸Xfi1p"ϢtUVZƥbϚl€ 3v2P)$!R`G!>ru !Ӌ\Yxu$OZ899^99D-Y+]鏥 ń'ܗtPP06&ω?Bi)~Ia\7ӱGum 2xb禆Lop3:-.Ia@RA s<1RHEQQD!~N9כi?|(&8 JMW* M.yrjqSD>ˉtOB$`?!r)%̍o\({)@缃[%yeNU2r&H܏Xr*(mK Bn;}y4se^?19d%iGtc &/VRXK/]*YW;JٕQ{}pQV\-![#D>LT Zh?̣' 9-R|2/p\`#,꘦3Å7@%oKnhv~x ̜/ ioϘi''Q@W0泿V6ԋu?X yU'8h7!7;ۖ•Z> ;4mrrxHeD؞Nk{#|Z3J.b?]CA<]aSݐayuGKeCՎ)is"&v\r>~MP[*|VPa~h [ٗ>Q=o>Oi%CN |Q/;-˓1W ##ns_h*,OF/'6CuΏ 뚣XI(1 \^FJ|NRM(ːK ;{%|@7kOq]8;g#璭zV)%m AF+];"AW >7](p:W53]]Oc1$س$Yakɘr/Hdž^h+q `s1ԁPcr!Hq#Vr1l+Ԯ\u,(`DU g/tJL wpZ_f)gniioUIˢo}nX ePqhyDGv2JzȕxX蜍p!'ǰ+-Br=P5/£v{'/+NCcr*ʋFAK7w*c9`S+3=UZys~Q~Gb:tgЄL2MgdDWH8r tHl"ou!gm&[Gpi/9se6\86պ89`|k &STnK}S(c(}z^Q],$'>HgLp}e1&nyI?9ęH܂U }]gsI\nqT\lzZ$Q*"*OXFX_FGG4^F?,[1TaVl&r hwg2A}UUK\RCܢv9%yh=Yξ?ٿ̂4u=1x{…f3:뾆LgqTXX\nQx˚ e~Jk., Μ}+q *؄=dS]U`H9d |w/Vڤgs8.%R Ú\[LU%PPZݟP* كx;5oNjk+ctzʅrzI:$U;ǗL -\OF0)s~vA;_dOEM!,lhr!@]碨!;Lm= yl+Sm/w9g6&u6.c X6M;5/ou04% DRI\~::O5VyePfw/ʕAJgÊ]y;4& )L 7kf\W,ӧle\xVN? nu-t,ۍվOٵ_f(yKV3"zBJ3^,m 󲌧fC3yxyUwl:Cۡppݩnڞ*!c5,-s=ݜvk1ң]u4星8hfwa bYRmq u19,OzjQR[ZJYJFvLk$܁f RYsr@MxeP|SI7ܓ!; /T }Ipx)wRoRYe#ag л%|%v*Tq**y|ጟtB]HlڟbUNyY'b>͑pFnsN}8Pڻ)}\rxs7UۛE:Ţb*d3_ X+99B`Ce>ח;Rb]o)ip)5ȶ4y\5U= 41j]+%wM4bX-_H;EKY0^EQ j`u۟o0?݆V*m{jaD5U=<* X(TPOPOoCyyl=|}B0a>Ѥ=|}V3c uo}+"` mbX"["@,D}""P4(m=t #Ɗcc1fK@#hEFjxͶ6yol]Xl;Ҷv%acX"m+EEآ1lm+cEر1m3͇biD,Kh[!oa3(7âm`6lkm޼cD"mOyX4F,muw3ƈcoy_"H#h[[X?mfKm%mj7lz-ږ֏7oo^Ɗh[|[ccEcMnF"XżMR߲#n==? 9AzvkU3Yv9oӶ^-3Vl[ WygĭPm蛯֏7oo^hc`1F_4> hיF%i׊F5hto]F7Uh~qDEߛFBDEE "##;;;?,m^.-o}u?ϟ?w6/.o,oFmv`40LĐ{l0L n vwAtz!D$Ȫ+-d0fχ(!wLV/sU9`274QJw{H:Xx!;zX }f򊆏u^=Ryk=D~EZiBrϯ9R#^hغe;z_m$?֗Ӑ~A[57ĥ3· UK@ xx EDd O7prAeII1t\EZ\6&ԧW5eeFԢXt1P 'VyW:XSgLv< )uh7LšqWo\7ߊBt>zqW,ʼndLV<sGuR?:49(?`

Z}֏͜yƝ6o_SdVgSGߏ$&>Y̡4Ad G,d|FVUA|4CS8ZMãN2Nzz*4g `v[a9&Nӧ &IUkx ևHU;06JrnVkt۽2uPPq."˔ x, X9>ZH;zmih"`/zdox-E&GG.HJg=p9\k2عtֿ> &vyאixOs(BQ[})Ϳ{d)] `LyaMF|qv O`Og:PD.8 J֏j /\ؓn=ɡ+s~R"82~)n3n'3Y6+Z'J8AFteF[t?Ns_)AwC `&ۢ*cܷga;4SULmX b >~ Pƴ8Y,NdgJ<#eqXZJORwzFNLesw̫O~X 8nݘ=9gr4:$iTz-W.s{iRl_^.P-˺pA*maxPq Swyxlv ڞ ^\3+gwIO{ 㱀!9lcW[AQRb?zXP"TK7f[9Cݎ*,9xAlS[:{Ցq;!I&}(slB{YṃG~ !d>y,dyShCnk A Nޓ r_*`mUp~9AHOyyzpҫli!b#CۓP2 yQ9æ6 00>"mL%.*O~jvRc=D8 ACjF%p;Nd ً0ٽ[̼LJ.cl@&\w*#!g'9Wz`|;g~%[f P R0pN`|ڏLfw:ҤΝocN[;"V7kډEɱ`n{*0nΛ &Z9k{E5I""a tS6ڹ;QֱI ?H V]"Ya2ElO"x!﬊ zX=n<:P)t=/6lӊYIw#FJ&UĘY7fՈC?9?9d\>W2orUVVPorS&?M]w~Pa4[üxHL82RHM!$̎pd g͋'-mZ>M$܌vL A``_4ha-G =ykSMz&QIӭѺbo.rdsW?oq':+xzM38*52•u\Xd>Wz~(Ώ[ 5ouF ⺮pӡF?;$:sP=x߆H@A䑅DCj3SƠnECGy1&'MZ.c6Lc76#0^`0} F88˻shnBq{ܷ1+rq-ʏ0?hnAe,5(5mFJI(#) [Tn'nqxyP~A6P|WW%Ҫߨ8NwC-}{92p;,tefxhՀڡ ēV|Nթ09f$# /`*s#=uJTQ (6P9X(PGvVz݈H'1p0}{9l/BsywZ=Xd^ gx!S;W|>@eMaf~Z}_{wcdk7 }8 uZ7 mG]. {9,0p;hO1t@4PW;óأqJh)Q{t=\aٝC.*Jw:ȽHFT@74y) 1IO]ҪQ"3 PqwWTԆj[Br9+]Gy/܊;ȴ#L~z# \Rc1~lv+n~;@b,m/ ;dshv"=<6+PG9-91N2z~ #SSX,,XcBm}olt '>1ڳ u))JTM!}ڎU&{8wW1t'sXUA;5aT\35 >lFW-,8#B~r`3ᇅlA $[kF("+_{_3[*9&e;?a ݡWF.]rX`Gwxӡ?N"J{+a\"t`6ͯ,sޑsk\dMWG[@oKZ0=?[+*sM۾c9͟3vJw}/{9|gphCg4w:ӆY a25Ы>ʞI4d#p+s- P"w- $~vdtTlD)rMn+CQW\.g; v:̹^4Ey0-m;JBPCF n)P C:-q)?aYe )vA1$@v_mpg.J{9|;,afC;>"4"X2yPHz Tk%ý͞S:$4J͕\aCwh }[P|J2xt3S/fs( J}v-8;t@bdl/G;LrXGtiM&˄ F}*3OH~2J /h½Z%xOZ1Fӱ? ;tpň@'~fuùYsPy'X%v@*C=NwW[/Yuw׃G|]x*({`ǹ1jʚ$AivA1὎BC,XX=wo!.d"$m/`hPQQp*8(9h8sTVQVT醚hi{k$:  v'5N(+8DihxZYڜ7'9ٙF:_ȕP)T͈9>⯖eqO(ѼŌrZu_c.QV#'WOh&ŻۧG:^w9AFT8TvT9䥅7'VGެ`R`=W~ީWy'&B9vLS/q}uf0ϡ WN׉rJq 4uI pI<{oZs>DtkDoloЂLs51#YZE5IŁi.E5y.\wZ2w%/bՁCKr߾~18p g州kon1zےM7 ^]noz֐3:x1wm`xWy÷N5-ffqC@vHcyV^?|k|ΥyS-g(Oۖ VZgV.'KVSQz&v>!jXFQt*G' pfd&;.HG#_̈́L /2E+ǁk DK颙J9i3u>;IXuASiij_Yp!TtBׂm9cD3رꗬ5u1˙B[jlӗܥPqs_8RJXtZ)o'uT]GGZVYnJg_a̅/Cna  ǂJUEWMkHɬ4"LM-7NRyAo1O3? 쇺z -6N*sp+*9[=gfͤ iDIdBJxLPNwq`M@ >Wy k> UZgnYdv稭QYAha83\_0 0Ca%bA8ݡi-&yYdǦw4ezb5&(7}Y(m:zPQ6}.:.) aiRi@s}I^B+! ؈W;S ""3gJ5DLإף#z`~ݡ-HiIMDaw{c1*ZObνJ\ht*' yZz `r z%8@<,2YAdcJ)0E<ǘ;! QR. sHЬ*%ۧm$1sV;V0h LBkfuw #J!2s7~F ׹TKmg@u3 g=f=m{Ϭ'7}2={s49_VLvRO? Pu G-Qel>| 9xmJˣ*>̏oN#^'ٰԞ(藝Fp<ݎ:pW[Js^f!N[?+; dP}Œ=YӝEH,$ M %VjwH^4f ae.gzׁ JQ_c;@4wUi0pH;rYi> ,ߜϵL%>/f}!:&^pGhww޼P?#綥F z\5x؃egz--r!8 $S,(3)!u8pWvz^fHd04?+;fp'GYH>g懍lԪՄ+Tj! "1ܙzӹs-O,hghj̳M 6K:M6%ÀxunGBwhÁ^iW!0gDN$#|RpylHZ2Յ_mDIij&WH% y#)խIk,="dMn㓕JǔWQ3pn@4ݫ 9CadJs®TG۱V3Vchf{o!%M; I,b=.ư'OKt_FK|rnHQeDwhա^iWaxCJskNʤXxv#gK L?12&8G[!욎=׽] @'_3a1]O?z>8 &QBؕu"3ݡyz^fHr$L.f#'Em8p[2̊:.)^>thXI<ѭ<:0v U C#+Xv>\20 @R [~{bpt;zg`rp? .v9<~pN&1% $[$u62Jr*.A(;ؙI+$&J+]Wz`f)m\G'$ idUlq5UhCկw:<~TйGKv?E-̷ȾFNK4yd,֔؛-4G&&ciLH vVd1 w-MF`OEmdB>U|eO؎f\t=:<~p"]?v:Xr!5|MZ .hA\=ُF,1sDʝ]jUm:ي[FHkEzn@s;shwvԭS {8Џyf_w;׋ j+J.$PƱn&-#^޾ jx +ޟû2t3zyhBe][Pҳ?}EcҪĴ/`,+܂c^$3بfL_Wij&O*QGϗ)Ăˁ-T|x듃rcؗ)%[2 ,L+M'Ul+kofs w+@Papub\Mԑ%׾?"g,)va|!"4!,Zio5q`AKgլWK'M.\$ gFM:GP2x;$KfJ2Z@[M[t`8jk.6snRaǓ *@28VFBO1OV AE L%լ?sTi˼N#UopN_n  fR87=^"Cͭ?A.[{ l^Pw:7Yp8~@@POȨ@t#gI.Omƾ.f%rJVF)ub"&w+ܯh.kD<ڢtzM7׎M@Ҟd 8 %zsoi mW7ѹC`}F+aU& o#os+R+ Ԍ9 h{C#DMt"Xv4]gԟ F,eQ$Rbŏ;_aXDUȆ@C7$޻r1|$diKV{Ǝ&fNJnN~jC jdƂvӠ ċ7@ n],Y\!+ 9wn2ԑ/JMcXW]x6睧S;tכg DJp]wcy`vCx;Txp4or݄y^ P5`(7ڣ>t%\M@NP4ńu Gģ 9PgVcwvn.b>ϝy1@Fۂw2,J\R^RIo@KjCw d?qÜ,G{h+!ɢ 0 OhNm0d_%=H1)NgwAG' aȆIDxa*R|[eoȦ5<:UzvRdpK@cSxʦ*':~qi<؂3C >׀@tж,J`nEzɃ,3'!\nzBUѪ&.n# 0LHp=| >n Jqd;csw,g΃S F:D^E4-$:]pJe -uThu}}x>@WT;5'x|N+Rvz7ܭK&| <@4A>oE˒ە$:P2/"y+JB}z&jx)޷sY sgN8rC`}%;ܲ%R?ձ6h%DFjSh6ڷ!`?gmD B2:&UL{Rll  kEjCvޝ{]  9h NL)ٯ,_tRHAKz~zYOӞYwF~?W;o!2:wQRԔ:*VyYQn؍ʵy,`-$țJ>j`2Po*Ed_^o8$I#@ams5KbppslgP_>?( \t⛣8+@ċƎ 3X l:"MA"h%F63i(4r&]|\X]5K?!C쵽VP6t]?W ;ˎ^/-I,%ho:j^Jv};t JH $b͙4pӄѐO 5{ra=I(DvU`b Lw(a^ W5дag5|hla'{7ɀ+q7lGaఏP~mj8J]?;worPU۽PQ*Xv+ pWïU 0zT.pLLL0!vvv$B899h47v˨J;0J_ݫ7ePMwѩ?mv:  ۷o FDDDTTTLLL\\\BBBRRRJJJZZZFFFVVVNNN^^^AAAQQJJJ**#TUU8.@7U ٚifY _R頮sA]]Cx===}T1nһQG7٫:ڭn|ՍK솁Ç ˑ#G=vرǏ{xxxzzzyyy{{D___???'NgaYfiM/uqd.Kؤ;=؅I4 oO#LLb)׉}^zˠJQGRwNL~V)$A;'& OKlvȯeICk'˙*Cn$Vjs'EG0 j\y n$p]=sfp_"}"NRӤ5K$l6Em{%Ļݏ[v᳉ܲfs81Bi}&n ##>7ʧ* WY>"cmgt5ްDW{@p Z‣PQ~=lqH 9mI_2d%*wLj?!LXXlTK }YTAo$$, * +UG>4\1M S'S"!^S¼^V>yqʓg~Y,\5۾DMUVy^㸇>K}* ndo/ڲfWKR1Lwj\}d\AMNԲ+*ks*Ґ[$-12X9=mX锦^rB4^pGD ѕ1j_hěXcv-y 2Qr;iwA>ŀ6XHճ\^RY췋L+ĸ=<)*,uDo%+Qt(rjAzEgw\F=I@yjBS(OKa^}?7&~X^3`喳< 1Fdz( C!T {0yh 5!H8EAi_wRTdID_MS,^tF@{L#p-k\|ǚMs t& I LV=nCz`)ō4DK/O#*c(jRbMMIR>`ժLn3K높iF|$~ f_m{hT,[^N"k+27aJ` cB'nu5]xzIZ/h))k^/y(^[%&zIYI"8ؿ^?m,ϾD=o&iӏNڟ͋7hO\v]ϝWv~j(Ψ}b̔{YI3 *Ů#3?S:-ɉGGGv9;1w)IʵiI&y߸j%4[9wt (j/r{|`z*+A/rawޞ^ bFH9FT.Cȓ.Q:9́pl8ۓ9!d<.aceFF1YY'cbw7-O&{AY! \~ֲRvvG^VQS& R0otx\X!=>i;$x"A5/U R]sL6z6K#~S2ى(DɊ~tl_[F+ر1#.uuuՉi{t$>rᵸV{"gϏT8>}p?o{x?d `HЇHCduk\qkdТ$Ŝ=[DmhG슡?[}(H? s͹n*j MeZnQ9AW-"j{b R^gfntG-mN8Htcptrace-6.6.7/input/hardware_dups.dmp.gz0100644001217500001440000007311607242307130020165 0ustar mramadasusersvN4chetan_seen_twice.dmp 4VǟkPJ&$J+ڦb 5jZHE(FHj&(KS3iiӾRR"-ϸ;8gL}=Ͻs{bFQ$d?2*~H1*$d+2V|gO%ۻIe?DO♗ytىڶT +u_L0ws_l.XsAo>~)37IvLN@lmOkzeF R {W$ӌW50b$5؎rq(:`H{xGB:)l\5FPZ/s9eZ,WGy<:' [HjHlw[k;7ֶ%o߻r'ĽfbN4סu:њkܾNӼm̫;qllm y&r`s\k{8.CuȜ7aPؚ(pZi:k[ş:TŢryh:f0!7y6]r~sRsiO{-NS69h Q1lMypiy^i5jȗ4_k'֎_CYe kǂZ;3ޡM^{UB\>1#>y9eU9ح e*,s\P`'V7)pы:Ӹe@DiiÇ2km.sm~k]9bu^u֢5cux%gR giM&vv}n7Gs9Jca?R9g:ʼ5iu u' ήѵ֎̶2܅Bm;"okXd#D{>88]kwJc㛭A~nHmy뼛tf&b7B}CslюFlH@7^綍si!/ tes2f{Q;̡JK:+{q67.g9(f`iy0X48T= sQ0`Veur΂/ç>˿9;y(s(0 1< ˜ M32ofe E"! &y¶pZ2JP1Oi3|=?3ǖ,enC51"6m\HeԢ[Y`SP2wk>D?h VsfZ'd4)a,05`ndsϪ#+0H{TquOa,0GZ ˜/?3Fm5Xw(\v =WgW1U2RZ+RN=5@'g%M̟>a瞑p6Eќ1DR#2{>QS(#G,uu?\H1Uǘ9;&G8|4qTxCѰ Yk n5uAW9} G>hc=cz,ԛi1D>q,ʹJ\l]#!0;(\2\uA8y;07y 7!/}xXh7~2K9f 9#\ڍ̙P`nU@!5M4ݜ!fr?y!ypʼ2O,s%U3Dc U%F>V{+VkQ` ̵߳0W]'e_?\#xn!%/<2'mA\sY?yy05xqZVHOn4C5w'JH} ٸxkWu4뎠9Aks4GqԲi/gZA-%˒Jl&BM隨)Bfln댦(8h~;!?u޾e5,*U\Uwe:ڟ?r%KrW;OQ_Y`)P柀eւ*?EwGڟ?c1[2oCTaz2__DY\e d 3b\@UϿVM<7v3ИĽl(DM얚NSKYn{Z ] fTdupjw1߇.[V95 Y:4ڸBm*><뭁ݰvx7 Uߎ=O`MCMYCoNƁC4w+,I?(24BSZHNIN}b/}5rFg,MԚYa9g> 5c{h]si~+Ml퇽WCkZ}]IDՃE>Ml~9 f r r|>eNj~mzўqJ)ﵗ =Ml"0SQeٟϾ3Q$`~C׶w!LO-8|wyVss22%\2 ڟ?%= xO$9OS"ʜ s:2s <:w d&Yo*̐roNoׄ;qiSwrBo~9Gy69rΡu>ut寱ye~iHX7᝸+r>>'vm>]As99½j&uj2WY560!})t#0y>0̳^Jݫ^?c+P _1oW\JM 01o(':B6DdjnYTi}@;ԹYM )W:vk4}.0~799:#0#0q7ܛZ֎]: );ڎ2sqK Tx_GY`Qfe=xjF?Z?nzaT`&G&ik&>!/N;d ><7&Ao! /DḒq,57+DmVUP㻢9 Ȯ3 |@Mvg#QoH6B֟њAMJh|6hŔ(/ߐ 2fu2÷Xpzᨿ4'9&Hᙃ1AuZPhN1.8xbjqm9͹{Pt,5w$mitsAs޿94݀]>ds1zP1QO /9?F/9t9>$j?H#\e˺m3^(s0 Դ|27YDxK=s_onaINK+?sHZ{OWL J9ͶGvv5W=9DmO\{~;t&6T:g"uE3S Լ.D һ,a`sc(a_J!ĊFy_.t4$K6F!!e=>J^X؛4)r̄,2a9wwS!G*ǗE~΂,9} A Ky@ T&PGtw?KxƹI殍1p=P̧5~)Uu8+!G>| [lY0c4qu|ۜ)>Sk\u3q4 Q`c? ]dRW*Ϭw d `]޽\I 1[3iapZi5B$OVm@N^=& zS(<{nEz3l5)Љ/<Ӭrck,{g~igQV *qKu \|?ʮį썟r+dʌPF6&CXAcg f]"!C&S&d)%-D"~i&Z(Qxݷ<>yv}8x xcB},An jN\zZN,||xd!W|bcI|(aVwnj+A0T3xӼ0&י1v:v0nL}aT]= (4Cn7띏2z^68=șsq4 hnCn ܲ#.\>LQ<˯X7ή&- }qlùYq8IG5=k.zԋk>/ jTzWKE}N|+uW[Ǻ-dF!8PuW 5t3aYJݘT82hCZ\8!a^W'k4K 9|+! ܶA5gf'n}waW~M[^$Ʉ 4|r; 0٠9P7&7 6CQp梍'6;Lshcf5YP/9LuDe?A] 0~@3y~Oao|_x8=,2ε#^>4e@$ G=IMm)ռ 45Bcjշ|,Z]8!$Kh*.c$}S%a)\3ɖmU`!a1[O,s$4k@388&3q4jͧ~*]up%dd[[ ~hzc|qN3@?Aͮ!(?HH3r yN &w#&JG;'<1^)hN`4c?4Lu?@2]syٻ!VgXLKfihd5󟉄\mje`~:4/ 9,qljkn sX43 B?A͉Q~@æzbgsp`[Z4W2WrX?0,`v2!^  _.@6췧bgspi9#.d> &{ @q6݇+'o{k+ Q ;!w(T3$^P~OP&xУ=a^]Q~fQ~@`.sgM땭yL!-7jyR֖c[ f@T3x$>P{s@{ s/,> JȃOY{n3W0bZ#5{_ͮh ?Fh69ˠ3sKs#r[2  tyaS9UwBb#!Au]U-:Yƭ*1KÁ5q̌ ei,!1t%J3٥΢`{?emANhH{x@xFs+g0; I;K&U_ݕ h  t7Y~#hnj.SY~{>xj7E\01JaHd1uLVלv\ࣾOH >c Q'hw qq\00AoVM9l3u^gae0ٰ&:KB},2o``l  4,`$Q=HF&.4q~vQYL卌DŽ?:ii͓Wf r[Ψ8Bx>[#&zP@>F&e2!+Z=jw2g -E0?B55oz6\w7 )tp~_3+aG5_͂q j;x[#j{X~{/1pf6[.2\8|h,Y~Ĝ[P~OPk?x$>J)4uZX4W ż, ,mқxG{C}By(A t+GW>P>AvJ-s28W5B5͂q\_k{E0k ha)=zZSsٷ筷0PA`kP@5˽"׬qE=~wEG:d緫;~kX~Jc :M rxN7}a~0gAP@#xI~]_35Ϗ=/I!g/lm7V9o0Uܮ܎f1SuGCOl4ntwh>lYg4k@7qL8>g64GN*TfjN7HΡR"ǻf]x'`}-(OP2x8x~'a}~Ƶ{>_,uoe!^mP~3[8W8oe1n ]WG%0jL{ |Q|F>y۷ܾnǨqԼ4wĮ {ϧ0o>>Z dwg_Kus yb)zS1##n5od1Y ,?=Kb!T.I\a<:duxs lCԯ<z^Ѽ\/2plnE77Qg|ezf;(}J%M~6EL 3k45GA-q_J818n4of)}̨nzUlҏ4b~@kaf5xr fh: j.'`֪u1ychT;7zi]?y(KT:I!ʊhnlUN( `4@qc\ aWy#OPJȼ"XRu ڌj~ hj_,P_st<  4'.tL^Ø%$c\.yBosh4; KMf,ky8k hw(`ΧSQuy=QP2F}z{`ó3$LbT,;Qk@WrV5j~ )Y밦!ѱZ_co>~j͂qz 4,ɯQ~of7(?H!RhQ:E Q[/q|hӬ74ZLR]g)avj͂qj1يfCмg3Işg!>74 1+| 2^==1{ϲIf5hfevlۇݭ"$BqCݖ0B5f8vjKya﹊{Q~j'd < { f9};~zl%-{~{5U~ %U88J/ڵmlE}olv|h G'3oFM@ ˗> пBsrG0qAf5KxrOf g5JE~y~rf!d)6*HVgq6qb1 m2Xf~bY~oMm.8#.E|7Ln߽j6Y~u !>]vY\rD>;;qL~jr{_F?AVE(? x~!0]5f[d;!&-Yw̚cyhy(t>Y~֘kU]Y~;!SYv8b0c)zcDT3.P^ Q~VOPx$P?LG?6;Q$M;qe_I}G5&YtS7|5 tY~_znܙ|ډڞ.#/13ۍ!7~F hJc}RA= ||/Gm0Tsм|S0.JȳzI6E0"P@ L=ߏC5~-E09:A3PjDƮAOzn,ȳ$#.|!_0qTj,ź>/ HZqtl"a>)G9ԋ`^E5k^ ܍gG(?k'<L2L=lm`yϯ}Bk!ʮ<.}WJRmEclYB5 ט8A 35c0Lc)dZ c4i~s{{N~\sl25ly+<7Glmy#Xǘw ׀5gvGY?AI1 :x1myz¾6Nާl <֌I0B):lL9>N#?)=ۻUR~zUƜj1!N56YTF=sX@h<#msΡeoTdۜI>*cJE91KQ͐A@nv%s-<ٳi&HX[<Y*WJ!cODbjs $iB*/Ϯ7`a&SC@uTa lgvjo&$Ԯ魺(c^XΗ0_Hנox^NX#5g+ j :WY-y۫abNH8 ]1~32?<ޝSbW1#7,A(y`kJt{oJ!cz%u#XǑ^Ik@'do'(Q~OPd$Љ:nf<b&tS3οroc k 41+q\r x7ۗo܀i(?Hx~Usvo7{TaPP\hpJ9pc݄\sg8wqc1iߧIܶR?g/u֓1{Qt|ywʳ;e1fZ3C wtl ˁFcsif؆zxG6Q~k@x~O26,@u~u2h$ x(퐟=x9o,{sv~ fǃfHcyO3Ōg*ީ*O8?jh6ai{L$5dwkO24 bJC5Ckn?3}j ۱4r* =soʾJ\=~sT&'hļ  CNR4fXAU/lp,}_8p*Gqk֧LhSDbkHM"X4 ;((3aڳ rh_Gu?c}d^%9j2H1{&tL]%F~Jc=-3[CNߏ Q}@ fH#xͦ?ϵugݒIU鯘iI~\۟a4 4׬#it>lg "їn^x6mb]ν01Q͐A@x9ќ 45>*'f7/C~r^N2Y 5[KcT>Yg͍^CoNoήՙYƼͦ5QjxK[NyQg;ZG]:0uf5Kkp?d$P7 n;~'Qڲ}'46u@2>~#11ϻ5lf fw$d^ fL>MAe)5cr'{]ۥ[ \V> b}jkVa4>jͭX~>2'~}G:?8]j͂WQ͐@սi>P%Oۛ[ɇ$!jM}[ۅ/ɘύ~<2YtY}<Hl Bܷ^qE9q socLwA5fALWWT3d$fo yTshny!-_Wh& ^gث MZ2YG&A_8KGuY-q_G_|Q@0_f4OYS7} F\y#\GicT3.Ё 2T@y^eLHIg Vg$c:ef:^iև\:<-sKX&yha NЫNݫk7<4 . ^0o]~eYCfa jkNa 6Ԡ UX~IhjDgӪ51ڢQhޕԎhz o w]Q0 b1h})!oߺtOҪcިSP{?:ސA}N6YkP,5xcְ蘄ØZ59~B?Ч$d/ '8ΧF!w5֓YGG_f>JUb4RǺe/QYP͐@y.vgE,TH[Op;>9t|SWMQ#@`+>F5Ck^6iM5ORF?A+Q~A@{BcMŬC$ď&[䙃 +z;z5Ok$cVnK<tyc !׀hԱy hZ/K>z`pCq||Y)Q/uߎj\kz3f5ᅧ燍7ca>7{fdB҅0=ylӼ &y,gA̕ըfHf St>G|~ɶ"_.xr<}XLSB.=pu ek) ̶X_#}5::fj5Ko=fͷE$Ƅp}~z]3 mW8rE|b^,f[guiEt+s;{h<3:BuXkěu5/ CAFu[Me|}mTswK5cG/u\U&W/1c`63yύj k>s٫'b}U` ;{{M*t[P_ZywclNCAHyC6{ ]&&3@]::>b:ۂ'GAFu`pS~:٭o+&پN#J%!SȲ YOmiz^ҿ{gXLmo?0eɫH5;doQoOo ZG5|=~:>0zɚ%o jVb=!#xoAvZ$<Πk,X؜NY7_Ց-[.Q1/.u u9*ZG]V|w:D5v ?gf>"]{\t7R?O\/.΂uQ5'Q͐k@-9WY^f]] 5{EAӅqv2o~MzwKN#[Eu ҡ-w/kVo[ .GT2Y}l>'|.gi%'XkGU;]L嵬o:`No۰ﷷm8wJm YZG5| 3uvG5L4&SP5 _pVݕ(:!wv5|缡(fp-<00y|}$4u (ulQVkf$|Ys2h{^dt>υ\yqFfx~%+~eLܛ sO2 Ԍ׬GhNYjKY~i uC^Rmx1[oBs gKS{,sBlg+G}d̹:΃: ܝr )_G=:~PͩO{lkO6?o(]V]#R`c>T3P^n9C?AP~A@\a [ɬa/כyXf-I8w_ `go٘`xo fsCA̬T3dPc^NòZt>ͧX~_r5J,#{RZ`=eLI SS2h[^Nm4ʮ<}?H_Yl)k CIa(#ȾNd i/ ɾSʖ=,~tN<_纟yj*k3RՁW?uxih\u9|GC>ϾX|d!zl _:wI9{82}؇C2lH[{bmjnA z%h-ĵ^;׶v!?q̫BC_me_/ǟȽOA~ $'="?O|;iy~EH3|o N= hZ1jivT^7? Lאhn}5"ui&߇qҐŌ=*8ϾKMF͓I``*>z $7?6z'@[Qo*l>U PzhD~~wuy~3YR.gdMؙPU󄓅>Ș;a.sRR4xpҹOșsq&9/~ƞn}zd%t-cK<%i5Ӈ~+(-U5D=Kr\IA24G_m19`\/ZQC8sQTy۾CM/ȘXQ20R @k"jsNƞ ~ 5~!=j1$ޮcgMu1|R@6!%Sk|~ y$㈾ Z&Q?wBUI~ f!:r7FcE^/\$Bͽ/A*-ʉ{V5N'd)քZSƯcƜ+4lYS:2~s3&+!C~r\__lVE! f ވ5e;+q3jMŘi~^662|CWۅ<*c*x[f$? ^5eʹϫq뿞fӷ:>6;M+[Sո?+6n6~l(bSQl#Az!jq6мgƘ%ϫDZeL_+r.:{3ˀ9cvv{㻭kd" yڑqD_,Gc;x*w^FU[3xbi߂){8F$5LԜ=Gw"?u"G/\źPoo<<]\c#ɇjk}+:aVSs7m\Ds Da2ʂ 7x&%coT7!#55d3kX ^bnO7 1kٓs7"Z#.HO8Ը88sDmw&DWܻԽoy ϯ{޺g٢*UZUϼ/cں3 gIA =5?ÚdG1f3ÚSUR$c'~cze̿c} 78~+cNHz;Vȳ$2CGbuj\@s:ӝk:210@z(j|ID~ 5!grȯϪcsy~EYij>5z/ʲyzαXyL̮s;{;CM>M}Wu2f.r.Vx[!vqDG3&I:bj>D~~N>·R}{9~:2~@/-_ۑ oe侽 B}f UܚTyDqznIX"ocW8+6T\^DqBLbR3z$Hf}-9 {ۑ{Ox~ƺٱ7 xU1ǚsXwd5ڽYyzV˘lH̝|cky2V/ަL5MTw1C;ݎTݹT 뭯zk Xpw.cms&ZQsHrE~uqZ饵KƲ:cxw c5ݝp^W>]U(/`v6VY+=;f}]ω٩kx][d}k?K˘dA=1{Llc,Ƶ'y%jlR-`d̓/*yc$G5nql8j8Ώ 5G>+G]nqlqqT!5fOS5oٿ5;ih+7Kr0]@.j| )R _. U]w-p%2umv\fWȘs*u>ucv5@flJnW֗1k۪!|u[j9.HYbS9oOo0Y%_uFȯ7|8&j.ywI~_vkXreMSӭK]R!f^;rMЃ@5ĩ9(e<>5EطQ&?bw?Io|'/ff!cA_*}3A ǡط#㈾RG/qǦH |7u0Oa+̋Ya#eLd#_1} ?._,Of0z$H"طqvkIMÎ7ذ~=c\VٙRZ,61Gs1b 5GtE+|0e;Ǒϋy~B,IΈOB fětQXı/ǾKL=0J$?H.&c&ԙ$g7_ڌMa|Z5[Փ1 ?PgdIb|"5t^Ԭ)%99kNȩo/^[{̴&9>8뫞ajq{?ιd٨9G;Vӿ#.H8kʸ8VmGΰOj֎mRO_Sy 9$ϲp24clD0&ܺ`e`u#g؟bt#5AYQ[=HoCx~Z1TcCUk~)j9l$9 <f<߼ci/"yUp's6?;I2`cluB:{577q!9 g2 qF\ۥ>o+\FC)EW˽tYuϪV<1mjeJs߬{Cw|VdzJ!f\R3zHɢf >nM,޾oZ1N9T}G҇Co?@ Q~^9Ĕ|g1CgSoYn+Viې 9 m4XUJmj)NjBMμF)Ic4XMəܗ 5/kAC)Q|R+S*/#Y:2~: jKkGFݭno NT>_F>+Čr%5t\ԬǭϝIo_g=fpB,*fjo!o}rHorq,O}d޾o+l G]qэ%o+ž 05\9:d f1z 4dY>~廔X6aq1>vs> ~qk;z=.΋HG:/&}D_)EQ{!UvsBuI}A vî!g^_R-U굽txoABOe~ alZV@q({Ws~ }L%}D,SlsԇQ_Y#[_S7ٚXx}ST%:3p=ѡx׽Sf=߬+9Ɍ~Y{^9̟ק;{{޸oߨ<%7 c<%у@'2k6ŗJI\0O! cUzٞQl=&*Pi|L}t;=00){W c.|T3#.Hɢ{8RQ`Ngҹ#[d٪?ޫ9"sB77RQ _+_њԗ} _V'GW9gnMhK} +[磾^9O a{Ήow#c>@F~$c|tb&B>nZq/M{} 3I} %ЯpK}}-}>1/M,sW^[pRX6kWe^˙$E|r0OXiR8[p B!k }9,"I`{8--kW̱/bIf5v̶öqsXfRCS<0ԷvcaoQQ{~W_/0Vmay5x9f^LqlD2G]dT3cj`r>.Avr[!sLRz$H[E}{ԸڻySE=zYwZ{dgeE:X\prBb;M̅baO0fH=`"2;aLVsc2mo^<&;zs{<g$>7cv(N51*~V@#H.q%$c̻x}n8?a,w[?otsXm^^I0YdvC,%͞W} #A$pWss<{K8tgmt,vq)?eNsy<&>mSaYi}칤Ns<)ԙmGFnE\nO2y;<_e1v6h"cV1{!d!w8q(Ɍ7r{]%`+IΌo_Wߣ$|[D2Y}k ^fs,W} Goq}C&Ǥc7H~ OtVO]bnc߁gYjۭ wṰЙHX <}DGt2~j7|g/^qnSy ɌR~> f^x@I<u&^"_Y 2Hf5։ѣi}ۤO!Rz$H>?n}}+<{vɽM0H)xs˚㼑;_􀱔Qݕzs6Ls@OSPgRG]֊>jϔqσߑoק;_Xv7ϴ7Ù7kcS*w^#w87dF_)Nd֞SmI}oO!_ꘄ>H$Q_0K{sR$oN#/X/ )gޱζDz7ަ^Lq-IƴmL2Fd֞p~kS] ӝd,apDC0븒ɦN:R3D4tZN0V]Ne)9).YzVӿ#H!;fO p9gmc~:w> QϝoʡO!s?=oE}Qg7+\zqziٵc!,]^f\zV dFiȼ yaF8Yϕ羼e3<'U>i#Ul&fUdnW!1W1?V͡h+Q u|GR ؚF=x}rndQa'F|foCvRzQSɌJ9TR{S<7ԇ Q_<ٞgT=0'@ry%c6شiskb.ʥYS] cv##AZ.2C6P>U1g7:G}0V~ǂ{S*c ۱|L[3zÞv7YCzT׳BI7sjMHj`^"Y#[n{RV޿/l^gcX)Ɍ 2y'Z‘dUdyS3ӣIQvGL=-Hf#0+1ӍdF_)JdN9ָ7:)dNC; }_Rvḙ]A5&%/EΤ~N,]kHs 01dF)RdN|c7Kͨy[y;/Uw@=fb ܳq$dn >9κsAc<5w3d_6ͨy[y[kHwA}Ԟ|P<el|,c].*`41/Qafg1;\!#A 3[glzӝ[2H*h;m 6-QcV>=uۙ[b/gsԳBk >jWq>~UF2[9ק;kܘ1ya26jSݜ ԋBsIf53[\=Gِ,O!9=Ţ\=_cNƄ㣎Q(u9/vhZj1GȘ53)?alai/VYl߱>ZG:F "L>8=K,;apARۂY11~› 61*dfs51KYP>փ u؂} ٢]5>hc6Чٸ-=Q]FY}<>o'4*uf]woiP]/#pƌA24Kd֞Au bק;Q~oavswԋ)7˜IfHf"sD[tEZ2#FG=$̍0fAɌ Y{vrJ'wM̈_/Pc_If5Efn=R2/ԗ }SE}3(zX4Øvvaoɓlyzib!c: &{ǥLt^3sSyȉ1c3P})ݱ­-*&G^X{̽OF_lO9f>Z$wA`=,[nfIk} [[RЃ@,뇵n}'KR#mtu?5XeyҌKF88c]r .b;:Sw8?;y;dvt^py?Y4dZ5?5ewّ̝>DHDᘷy{>'S =јsX|Է+cuWtciF[_o 9έ0|ݽFm3fxxfK +3^WNFg/c :o>4AQ{?6$3>9.?Գy%j1U^2wZ!wm8Ef_H.VO!sJRzH>>`.Vq>XNTC^o@9g?>,kw]1VwwĬmBv>4Nqr?ۯRI6`+*Zs)tG=kbv;INkB|O24Vdr{eR_S\rԇo!rn1i1-sf0ޟl囆\Hَl2f;Ĝ -dl="v R'[:> uyJ 0V$wA%2b؉d|u>nHs̋9v30+Ɍ W":?s϶H`(Ū2萣zĊڻ k9ߍdFiȼ gR_{SDZ$KoJ",՚PЊBjƾl[ɷ'I~OIHRx~͘oeLS K˯ٔ.xxu杫(0'fd|b^%5c!ld?/y7,?%31+c/T b+5aۙ,f 3w޳nƱS&p_en y^SS>b_!}|j*0jX${{x~8b4 ZX~c[fPeL%0- 3ReƗ $5̘$00gwZ_ږNQCbF"fiYԴ qzj SW;ET@NƎ7#]t:}SHXj4GTlg9WR$aι#QB fk hyr/?KB~ 5;ؐ3uccg8ξkoKV:Rs4jVyGGj55;䚭^2F²c߫xxM+v LK32L{i9Ԍ=8^arW^g`}M9Lvsi?BNN9jt8`Ws?,/ @=cg{&k >,"5ǣfOs&y;we-v0EϒkuYH~Of #/7kufMX[2M.^ڠ;%7!?G{g-4eac&R}1xj& ӵMƓw yl#}ľ B&?$5Pw4 = !`Mm?Kq%cGG۟IwA5mZzne-'[o;Zi8֩?/Xޥ{RXb:@`%(S8=sؽA[Y-3geYVsb֮йY9?].:J#ݲY#Pk8u imBy a`5!|s{%e JKpT9x;lN ag}A5tQ} ܿK^R(7K5. Ծ/JEҨ!䯟`$<8TjFFկO>`*;OUשL}J:t!u*}!8%;؜a 6Ħ,dd !iC[;a[_j1?[Q|| *`}x[qx-do+2P"3ozp6Z=\Ah%یM"x{TTxہyu(;)c%*FWo&!.ƨ_Y "ɠrN"j+oNU@MڇtWo]o혋 BkCn&jP 7"歌t7ŋk @iM45KeXr9l7IVR!%(&B҅G"$extOaJt͢ @E}mŋO#{wL=>>7;oEkµR]Mj2YfbH]Ab4beuaT&:&̩*-ۇ h2\SUoH5edHRi"u#BRMTdD̽TߒW<{&_TH̴\N F"JD.2\R(=SBA}ydב(K'"v&Ƥ"unҨ<Ǻ>UF,JY+DX{P(ck#6qOL|)e=5RR=9^XdYi9oTMKde/#f Bίvs5iwA]ڨv%M# "x."`~rM5_J1e -Np<~7B=r#9r"#w,p;p#;TdϣHw=L* 2VېLܬc3 Gy<ˤeb99f߲ 8Lx gZh&6VX""s@7,X'ܔ js?tt?"Έ q̬(Y1Ildw2"qZ,v_qUUo`'nUjW_E\"~.#rc`9 &{ہ)ևPM2?X]C(L+1tFٟܖ0ZV1i5??v`5m8.RrG%Qq.DwgIp.MX_`M䂌cA3OA@ȉ}ےGxHOk%٘g!jL` ju rBj/DnL'IpD&T9!iVP<(~Z,g53\ op_4Iʁn,!ݐ, ,c#IۻιUwkDHS>J! Xo8)e3Pd"d!xV6rBJ'D!ɪ|Ps0$8pW-z1w-<he9tQ{P DVPT=j! o ]P+Jfj:addq6eUvW#o˥K`Eޣ"*HKdu}DvNz{ c"c "]GpQı(0rDd߾ W8͉L'jvsHڟBe29fvDP>$e_ .Ly4Dg|<Ϙ"Ǐ<˼eԚ: 5 x L! fw*n SS_?J(9W|w@ NeN{+7+߬$=p'(,PS8= rc.Ht8J.[;Gݮcn_(eW"/*@wkeZ70s^`ID*Ev6TdxQ(Z-S;P*Y_<qIWRuwhҮ FEvY_Dv&Stc7 4oPE,i蹊VӗA{NEDQBs=jU^.P 6~IQuE$:;XG9U 9w.^~+^4P~+Y<"Do4Mk0"/51A} x ЅH_ՇE_q~[$ܗs'7_m5oh21sW`Tԕ8 :T2_|].ikpЕ^>ᘯen;f=8qL0!6o\S \!lށ oG@NU.*ySg ޾J2PNbVzxkxNSYpvTͩBx-JYc@YJ[ӮbB=x+T[zV$T`x;J8UKzyv( sO8[ оeI떀| r uz`(qjUvXݔTcKzk nyq+X"ei*-e,e`z{|TV5?HYc} p;#:Q|vXeYM5<& Ȯ٭O8q<)]C:%m,c'8 <ݾ Q\ȉ]ݺ.VlLLސn[#􍠧Bh} Wۣ.&3*=p;0PeeP5Su\,+m١+Xpv˙o.DFD4sGKː  I`iTm`A^9,f '8 [B sDF-0$_!L`QL@(ׁ2Vf+sd+Bב6"O4V'V:k+fp>J -+IZ{pl #SUYMjJNb90M`Փ< VGn p7+O^v};0;PF8)7{fry}DM &ܭj4)ynԦ^ >}R=o*D-P4VM;S| R\nֿOjHƈ?@Q̌^dEyH 2K.ڑEwQdSMֿrP]TMV(4܇%ÐUyӄd?)*k죟^ rDPkz)K_R/xb*'d}5 V\E'I C<"N&&AP@3dH&@ I$"LN22/zf"]$ UPP$1>EqerQ\Ew/׻:]JY^HԩSURsN?O f_rF>?^B?;sgҊ?bR3ڹs7q'SxN8MK^ nR^xs7qRmxdbXn.0S>>9a(4QYchdx*22ǽBߟ nLF휺խ }n=]#M_g$Gm+-k>mzVV%–?7h c8گ9c _xpqÆnxZ/$y3$%0vC( '5Q ܶne\Āfܗ g#t$}~ZznڎX09sV.`ҏ#Qc,byfy|.:^ s6D9#`m ^ՉX} ֳ/b_IpIГX/8y8: LS3I2"ء!]H=\#/^ccr'\=!\L ǾIbG$NE5 "8'CWpufBG&8m&NobRgG8Ŏ'qڅv EEB婛2x|)GQ `qU`|'qڍ]c_㓡˕m0ݬ{)#9 ^fu@JR.cI0 aFmvgM0H0b7 $o"#X%Ӣm-I0HNYXdu#j-a}%DEF/j fIX:嬀= yfIy)ךgϹ)Os$=N-ȰAN|Я47qp$n) @spKόu|[alAqrNM:B1)VN=ȉFhl/,P[D@M`l{jwq$nZ0oaQ2NĽ5B0%Z%khv~Tz 0JGh{& .JW'qۆr|X݈k:]F˭`rjgUk}vGq\(rنp<B˙i#/(2Ru9>C8ȷ8.[eS-<8A )2y:8sɵ< M^=D5r |W3[)1gsa|!3$9W+CvBrXJ Vd;%952,l-ϡ8 )Vj^jh8Ch#3w@e2#U67-phEET4lB+On-Ԯ4W>="Wt%'WWV6)hHyjNް$GdUx+?<#Bh=S7Փa9:QF/@}u@ws<E.F<+P ?cX) 3{.)IM=#࣡Pz{xsqsJp1%\E '8{kd;E><ʜ8I23z4A}o<$(sqaJZ [N=y,79 PY [8I8.PCRkla4_SFx R{F݀d'皑0u=ܵ-rX;2Q9:"NC;' ȥ%!Qj\9af0:<7&oHG&v?hvp%@fGˢY6)3-'4ܑA<{Ȇ@7GW^w ) pqG8hA,V˸~D "?f=<.'B(gIjR q+,=' !E V+qQI:_Sl3w ٨T 0[ {$)WI(vQEܩwr 4aI%mߒF݀m} XZ. ]X =ݿ 裗ҥ>) &t!.~n.[š >]@ .iḀ~n1l7tdS8ڑu2=a5Ǿ}Icjuqހ|I?n%d^JK9/P}4W1[)KzcǗ _SN]p~@>*R*@2gY))62(ł-*_[]C ̈́<\f .$L{p-@uuCGm g^+;"v0V˺u:{knEFyc5vʨH#5ۨJ<_si"g2vl\ٖ5h%t$ɂ8.f2[)8/DB |;o3yŽ Rס9 d~Gpq\ P!.@F弛h*2`If8~ጜ'a H2YAIei`2a{8ndcyFvW۟8Xh2Z['Py S,兩&IW }W'Ixfp V1Q2}[y90:  tâ5}BP-)Vߡ<&pt>;tQQD'}ϴGR}O$~w|]6 \lsxpANktH~{SrsRMI`>%Bm Ed^.öv[ͤ:ʹvα5 5E0ZgP'WSrh/v07TYAdYq'4Q'7G+>25-FHB.9A~؆toecS~N>Ze sf(ddOF/_Œ3 +.Kÿ1eն™=Z*"_T E%Vc试>(LSQ]RQm5]p(B~EG (~!( ΆFZ >Ixb׻~ZJN>A%rTpӺh拂^ڠ?u o .|npԺR}Ϝz8$TpU.Mj~J5 6y&CpMXhI]Pf#+#|2H_IL5 )8z.`.KRHMBQl=hr9|(6U]fh+-+YU l%U%%FzA%PƎYJDSg6WZ\L@i*[QfuM*, RRbP#5E)_n HU8Podv|HNp'u~-:ޜcyUY1q5%=q9#c Fk M0ed%&V.8P4S"OY 1uD0iRB0Da !|RHz:z2 :dLV fn1-gL6*7&ˍ74ͤ&˭774B#SXPEE$9A ,z rW;S4b!&*(* ׊q t=j:@]eDSz$Q9!_ jDY|U!`MSq./L#0G zOHRuD,# _|N/0j܌,!IȰT4O"o+ WF[Kr_I@3A-%ֵe}"Bn,"59Y )@qiFKBA,?-2'DpxX,N#Nrm` a&:?Z^G\E WY: =}4ʅĞR kR;Z'F':(_X җi &4QI1%SE"lr@lv)7/>:d\ =o˷ G#e3~ y0֪ )A ֮4{bQJtH $ $_WA"V"$si/99\H0NU':<}_ eƬ~ŝG HPU8nH-ʱòߴo7wPܢ?ٻȮ> ‹V"iulϧvgw݄ɛ73ow{ouPR))@IiK""VI!"A%E($PB)rxflz l=s~ ˛0 dsE$de*'Dm 5]Y/k{RҮG-Gy&)՛vuguYnYe`I'e;ylkBNumjUlgtizp,ldjH7&ru !:9"q\>hh\Te #.pY!)ZJ:4jSՂseTEٕk-h3k1`WDkBBF2MCuf^b8ONf8F172{0s!ßP1f?õU*a5B喡 UbA|mzd{;2 n* UYcpy0% TmGmhԣ+jŐ7hWݝjO~;Nt͕CG)?֜8MW ?Q6GA ~3V n׹>-/4qiۜ x=4X>ݮШ$K1^9< QQ4/I-$КcX?Hkf.bK41Kg$sWӯ"6D)X&y2ul2.A2 :#Q>'ȏ0TgbUL& }e  Y8gܺEσ +Mխ/6S3@BDTݸCɑ䟤_~K {vEhhmY:zs el@'+iEڗPE)>iK2hcc~KPiB ~X2|jjZ,1 I *P-`f'J?Z0^B+Kxt>@ |i^Dqwo u[-=LW|CO`s nns|֗ruymexpqmM1L3IHZZޢ|&b3KK m 䨣0Cҙ+.E^Ou][X![Νr҄v!m4 Q"ʚWpAY[BF2b%R ОM֒ȾD֒qXXYnn57t3.s#+ F[3K9ٞNNr≠^3HBs")]Z[] QWK 6H_5fʕFCni :^MDs1!h|A ,X2?!Û4rx9 ?AU4Ք*ATK1P}]41]sa<bi?]K 4 DjTh4;FT$)@HY3ݘ `60;-2ttp$mR+Ym;#q8-SJQKUSý{ֱw*걆3^ijM^JwH]}@AZ7ۄ<#Da"3A!?Ӎ_ȿfD"ֶjh' M i89ݔ=%Irp!Pb214}:Pu%fPޟ ^BF&63N;"6B@#6t| š-rȑBEϻo'_~$(Њ?Sb )TBLɃ(Xhv4Y(7JW6if悍t\ATE9Qgœ"7F[(j޷jUܗ5L/y?"3u~UmIWTZuU!C?Q1BƉ'VLq7PEH'r?!TަTF4bmSKԗ}ވ _vHOd/%hC!^|zIɱ|&vҎVbe54]65>-w"ޖ(R= EiCp Ϡ#X q LRm9#d5IR*fUqw ,7O* Rj=h.M CtL\RqWC2E?m@ґtI5eprL]}h3Z1mDU%@'+5D"#9AG(o<)ˑ`@`=TD_BV҉9.}ub&Em\v$fV[9!\J;1-t99FSd*~ DS%mWmjRWmaQ6!'`4g@äPm-LH d된g3m-Euz ~(4ŔVHͦKS)1s4gopYTTWttDݑEO c3i?CW8Ya΢5C" o|/9%}t›kKD[ ~COSH~ޱD-y=-IV8Yo_;K3Sk|vLw7A] vkL7V\ w {̠ě~|dr&@S+W}xpLŃqFonf:X5G2 n^̾;*kg5x4 kxJТTrC.;vuG e;ty&LQݗMix ud4^,͎VS\,^ 7/QUr3?P:B L ֵjbFT5qj)5z଴%4]Bm)mZT3RTuOEJՏAuI͔Ueijwej0,YT SCaJ8n w8t+s۱~{Ez<rPrQ0[phsl#47g%C T"o\Y!%7}`w}r;+n?vZHd6@WLƁ8P86(kx\ BK>j52EO~?ُM?iAb-4kie).*#e֥rLʺml7yա-[cAy[4o mA#кyӡ #[!_n%D$r[uTn$V-Z.qOrrLc=1~S?E(dP%٠<4Uczyt_yuzBZϼ,ݡi=*t;#Oa2ӑ؛361-f6)lol @K6͗ [ZrItvO?_z/׃x2b懬`ǧ$ʷ(/{=b*B(?Qy%d$:]R>VpbJ חE>㚰8W6ېԺ :Ŏ11AϑZ ŵ&cxX^ZTt#sbt'"ub>;KMEꝾ"AJ>tH|NTꕸ*CYoI^ ^PRRS7p=:aEɱƏ>&Z ɩ>}爛333dn#(R!:&Oex&Ӛ{R)ֳ b=U8^KWe<=ɦ-a娆u *E?͚tOQ$a#MO׭nDzN̏O8 K۳M&}fs {7sUFG $< ^1PnYnC1v!8$d zoAڙ鞼 0{ᶠiGBquez]Xs\ѹc}7=b2BSM+kݩH~~v#H?cLYPy{@a,r}}/E @;}o#zpEg<}]s$ K%YP";{珿q]wy>˨}[]7L xac'SR!x8{]eA'G诇;TҿHgr*[-{›Z,ccYMUeó,3MeG>~lېLlh+ͦKO!eQrD,Y;K 5W V5c8Նwccbxp-uu(#6V4슜%Ǖx]R`Ȫ0ېtCF m|zzrf<16:1khLm/}sA0^}v>Rv&ɝ?~ hZ_[+A"ؑ8L%Hlbz61IV6[ؗj̒)ǏK9E)ruwИM$fIFc(ZB%g MLU'M^1k& |ddUT .u1KciP WJCOTTcBk(ZgBvȩl&=w"fa5 9^ZJs̒10aG64F.zUR1CRqXvV|Eg$ϒ5v| B2N8wSN rCy}bGp8N, 93,Le9rYSrSNrMy*ѦQrSU3c__ͺϏHDV&F&F"6"6dz`6M$-G4mXhMMޕCw,YR1df[h!eRT#cV[PIRJ EYnɾ$%*V,}kj>={9<ϙsPU4C# O2 (bCFv $::zz^0D604d pK6 @%ϤEIx8ea1@ә&$!|W4 Y~4OE3o8Lo>ӛd6=@(_`+3On7le:aY] hgCpmI&oM̞ugɂ7A&i0-{p(1էCB7# Z9H2aB@+I`2><VB >BU C˙ F( $cnRE :?Tqz_,HKtUҳߦUlq~~f @)$0J"dl%4%p >p&Ơ-W H+%hZS™ xEe qlc6A)CkF&JLA)`mf6o>1;< 7T< Ah`|LD0#Dv'4 zvhE/R,0g7Ak`Uf&;&u ЪWL2$ԃކH~m41Ledń^ĩD M#f'ݺY|GӔjrTYNPupT>[Z}-?Ϲ{mCl$c3][~ǘf9ŜV8L O(aR8GR@`8iyi?(5z?sߔ \=h2e??0G]'a`#9-Ihr!ОBR/B `@k]kŨqQ?N8.SVH*hUFiUdjzQ0P3BC=##3Ѳjx)3`#"u|ǫ2{~ZA$znҖ̐7Cf5,3{$/h`R5?*Ƿ̧+4WKA)2ZagYDsǎqh~JP(GzQJ!: >@l?!q8d=#J ֬/f)f6nz }; l^g^%K-韉t!fBT Bt ]#H3 p^D]PːA VXۀq*m\|Gj 0caI$ n`&آiIj2Ԇ TuvG~Ә}fV(@Y3{,:{9!HJ=JĢ!z]%:&6 镑@Ip@)Q1QAE:/AzN2POp =9EpD҅bfVor(D 7JuOg@ғ(ͣru`ǍH%e4&a$Z Mm"ew%wF6zUQ 8oPkjH^Ȣw6"DA<,~Qx f_ VCw۷w?"2&b9eM9 ~ $~Z: b$&7eMŁIic5lExܐ~wm(@X8|X(ge?}a#W7SwB2q${>cno f~Sm{-0𱙽6eв5*hYZu_e&+-s7q%CÚR6ɖx->3Pe<iаjFHӒ)Y1:k VVp1(9;%qdLS(yP (SJɪQIB4@ie)^:# HJ?5'8P^XsGg1vAj4;5@jOP3z]P+5Wq&MJfo gi:qxacQ@jBǿB,?EK>͂C_d\w|xUW63cUha^xOUȆYJ=pX#m`lhfiaE6^>? )ù5V7uoЊ|s,1ϡ wQDkPr)m/ϊ ;Įe-^i<5"n7yK^,.X yv*=ErްiϯFϫՔ^g?XDH(|j\˳2:YbR6 ]3?mdP)"g"o+Uo^۱q\O]c&mp(?%L*(X/I=`[O|VcŝC"smb/ L:m@u.!w yrʼ<ɱ ;7{mIy-;o~xZQ6'/F|t MxTx7B+*y+ Jn4#+?j*SP).䒐c2E8q~Ã2>._Q8AA_~*׶L+KzdkǷ +=D7W`y32կs+HzݾnXo:b?SN&h#%eW_/Ȼ$9*[ߴN|2sZR4˯߅-.eX 06X<'ݛ?ޖ.yo6VhOX2/W:;r@7.Pk4~'nwHV}v {Νi.˷sscFs92޽T˼޶; ޑTr+{}'dP(P{Ea1B:]&掉U7 /IAx4'=cZ>[æ%_\T (' hlqYlA];Q6J[jM*k'Cl޵Gb_dJ\i^4l[\`6 Ⱥ^uf٭  ~h>4M7bH{b=-x+wu* ۛwgN2/qQ;d`;#Fd?פLv(Vֻ9pIue1[㓭5GG+Z/(~mJkjXu0!嶺RFy߇W6%"F(W.u7OSHeSuR\q%~ =>Z@c2 '~ktwh۶Iߺ Kh*xtRJrE ~E[cmv-\Hj^v@opqbʸѸ@C_ݣ$_qH Y&ll<^ BJ=PvEko+P:xgg;7 oOSQa#lO#Z̥ jo[ȶIip!H:TH">}o17) ;гMVbޒ̸wv~yx΋"9szQdaήZkUU+J2h,Xn&~>*JҔ`[iS@O</^H\\7z-);"d)o+YGZ\'L3R"b^1!n &MMWIoL|i!yr=cJ?mg N嶬w~/MoOY; F)Ƌ6IWe_Z8W⼒aޖ|g.wF ZkËllabqW}NBoX±x+bD#! d Lu/%YaA-,:(g_eECkQ\TfJ|r2ZFe:X6/食z݁s5#45VY"LETC؟f; U;eP |7ʛpډol^vY4I)sx@3t0ofV'*5;+a'Ճi|+~e:؜ߦM#oct"8^Eޮ}DfwHq^Z-kF[ =/ChAIhJo?]Ep':Ɗk^W~ֺUeʒā]LlK#G6RTjH(76ҫol1QZ24Vmq=NGccKN7PsOg@_tHpP{x>zL+8!=5T\i9(1~?4UI{Ŀr)Po֙I'}lNA`#)@/U]^> Uoؠ Λ`n7qKNQ"{&LT`v=汷CmNn箜AWdI܊C1[,~ZŮ))yb'^a<8uDf ؒY՜Q#swG-T5YW/Mݐ[@*8T [|= Zb< ѽ3#8Ϸzq[*ΫW.l2*].SYqx"nl:ZLCYn,5fj*t v/&p>ž]Rs~^B S~p^ s{sμJ%{H!s% %DBdl0VE)V5rKGVqڛhf۝CەCp,B-'Xk'+Gye+zO7@Iv}m؍}z/&fFT=nUm혠vbE&\~nGE'eaɷ,Ƣ".gNjyV(w Yѳᦗ%g*CnrԷl w˙u%`,-(10[ _._yI?hN0/خl[v[doAQ'wu^,~䃰w/MvMoe0Z3k\h9T\KZ9PimaS7xa#R6u{vhzhں3nТ֒Ș1$@8N>ulg\/TՋ [|kkPKz&38n  ~x2 ghIi5BLh4-aH754D0P Q_Ɂ-0f7nHy_ӻ'jpK7Hj:;21ˢNSuӼ|y=)XSLxdF3gڔo}oWone'O8? 7#H\ 3 e%' ޫyU7!z>_qt0eI b<1KF0 rd++k*ċ=禿Zcähl#./%s JoSKv߉N;(Ɇh+W7R0Iwd98ڱһ,8|`{\,Tuh`qplS {^Ͱ#[Җ`kUkYUq-ώ@V홀ށzya^LmV&o'/a8DR7$< eVgtXt[RhE Av4|]W*KkQ^?ӛMg8KZ.ȥo_x[:Qkd;ƑArB +$%9%/Vx}|¢';,MX-iJMѳmU{S_{grQ6N-WL lL.tGZ;^#n警j7B ٰc3 ȅ p~xpU fo鴯]ȝsǤB-Hb໘E5R' Ld+n<SF5 xyBޘk|ՃԍRug]8.`$e%Y.{Mハü ]x)(\Ly4[xtE j94]ϻeÔj{g 8T+/k:P/ zK=L*]JL[fѾͳ .`ĊpD8xUZ{:B)Ɠ}c wlY/Kkgn5V=m[qE<,ֺ1.dᆖ)INP!n`g_bl-!KN?D)mPݖ\+/rZ@j|,LCY@jzӠ\{ \;_N*{ *n(cqz8:ܾV) o/) xb~?gmm=2"WֿN:13)+\#NO׉8˿T'fbߪS:1<444 4< < , <<66* 88DdDDdtD$Dttddttt ttgXgddTTϞQQ13323ՉM͟Ur2121s" B188 $- A*3ca )UBa8$'P ]h!])`(q X7:H)>V$F{k0{7$6Vyp{ Y׳ vQ2\u(HSh%X%EF Xy (ǐZ9$Vh/#a¾} e^5dS#~8H:Ia%\*ѪXDhM.BP!^[_x-UbtbϪT1-ȇ^SHhx,9먚d t?q{HTX Qv,߆F'a˓a[VYt-#VG0Tmg=q+>!X(4)pt#j+m&>8(ޒΔT v~}&ibÀ.x6TBeG^Rbs)\~Muǧ$dps-7 Ma䎡LWihy磦r 'L\W'hf qqSh@b2am1C3 jG}E/0g8^iku,Ne L]˓4n?(]*?H8PMDSا=m 瘆gQ<|vUHhR,?'Tw* ƺb|Q;qD I"?,qDK7 |b~?"ws.Wo}'+WB>C3IW^|Cʅ`&Nw xqo$%JͅG$F!Eqb䋍i||) <4Ӣ m"޶œ|0|pT"sx%^e A})ʻĈdjwio@KUͻB| bbwEPL3tyW=Cj1E˯`9; *GUKu2Uf2nS5ʘ2PD%:O鑺Tt&uHCZjtkU)KS;BӪ& ȑt/Ǚu*ݒLyɯ8oaVOqE0a[l蚼;BuU?*/P_=g9n+L!fR׍ B -DS}w$ 5`5-YDP›& Ԡs؛Zh vT.kO~ MJoՒch}&TY^';тYoRq>}Y/)0(U(.n'`kw^m@#Q|]i2ՕS噢 HGL )yz5aOQ;bfylHG ~Lȟ>{9W8}q`]˜&嬱d)s5{_!6 8 zm:'Jà(?6סsn(~vc][JZ$'5[dqgBGOF-7 Mt譚a934֘68kx򘒎սr`Iu8 $Y~بΝI/+aF7/ۻcO'Ыi˄eWWTc:DNt&"k=JgN$@Bk786)3udRn#Я%;XlI^k!,lB "\7HI'\izG UA?. 2?UZ -B褅:zJz"#)*ˤ@`]ˍ&=o c hWN 86 _?ƾO^6< ('Bch/GK0! y׭!}8e'O͗_b ?E6 ǹC:D,g*<&ٴP _$;$fDtƦv_^UB&Q9 w- zqssȔG\GR$%^e * $6q.]WP"[^OhW7B2j<>S[R4ߡ(mկfm_:JerI<( X7ŰY%+Lqil HD֪(-wDϷ;sf81 ^ϔZ&۹R*ᣜ'rJ:QԞS]*-4B?~ Lm螕LBs&F( 1y==L&'< ihbkƚdYzlȑNTUtB$j /bh{$4 fr:BC d3wdT;]IHV߉cLK~U^~ΒowoM,&]%{ i<d*NLzS2O,ecnab(1@s܎|Z k~*gokaL;qSE(LAyOW'qEAU\ErO)]c>2e-N.D=e5frGr {ez=jqk6(G%Axǹ,`<|uhړ,_mk\Ku OrŭKL85OqlRt7 eHM+ttv9 :hK$ps xWC wY֨RT<><~)zZ/8CBG-[^S~SOOOn9b0r06r1b'6j=O{pP0H(7{k=`Р`OZ?>GHcl!@ǟAB@`G($`Lh9cBJF,d?:g芢V? 0A `f{{:} zTNCfS}dJ0ش\qhʃF[l؝O7t.R}pP%؇`]'^:f-5dz GeXa "trNwAXok_ `YX+z7{mvpGpUӬ0DAjEԭAи Zg3k]O%'udƺK{fD+W1P J39\Ug%Y[YCdaY w9/w|ik\`Eq,?vTdWz ؞:*Tx9yYj 0 }X6} ږ.Ml)0`,msMzkAΒKW}eBrx1 Ϙ^Ơ0¹Ny'L{R.~8/rńOXmV9RTQ90J҅ZFTČ Q1Tpa?Z*_Nɠs%H#x^Bb$CJdplVPUj2H;|{N/ ^FR[TEP[F h R^ʩ݉/Zr,~k{m[ik9t 5`QH~ES+he@Eŭe{Ś9:6ffxCńr ʸ3$%SDXr+7`-+ cG$RHj #~@jhW1#&B!ȴʼ3qCR :d"` [>ZqҾq<Uj g.s N ge.o2ߚM:#/vsI5XWZSl˩XwwrpdbO{}s?Ă=nDeqRmLʞt*JyzK{g8j _}ΌHF{'S0ũ)d j56 ~:,,RT7|v^&FM\k3dmG8TPܶS]sbP=l dz1"O8n'Ε75bPs|F!fOXjs})޿%N/ƫ?~W,Lx«\%i];Tt-EXXV1~[RD:JF@Ru]!f^ә6ct0#mBNbG_.u뛋N9oe9K&wc wb5^޶ѱŁ <Y8җ۔^10Sa4拐%(8gg/&%;@W؂#}[DYchp3iQλ)e IH{7Ї59.v¾ %6鰐l!|bnwoɳfۂ=Hx{cŨ_C}MJ.D{Π iԫG.P)badX ,,jc]L&XbARwn$77g6п2+-XᤶMlע(|*lTѮŇaKTD\z,qCּ;ݱz#r.FHJX JNmK77%5?ϩsI3|'gv:/OSzC;/iBm1hg)U}|KmWr=Gvψ&w38N\Y]?fξUu/ݓӔ2B&Yjrn`HHA:Ԍ3?p\Z۽)*P+4;NiZ.nT$- &Ibr"p8@K(?Dg$TS|n_Ek{SE$㨙v O:{*ঃ3#Tʎ4T< Bu^Hw X,%95wr/D_.ĵfd$N|!pQ Y2Py`< eyYbmɽ743p;58EK.TlM>_ĀV!;:p"~Cz93ir@H^X&&y6uJ( g.` N=Cx1e ꍈ/Yioi,렝`?Z#?y?AnwɳF `JAHC3ۋF<}ю}ʅ`^`Er xcھ.f֮L>jjp\noe0s$_2O>/^sr0OĚz 6|VĈ(mS"Ledm^b.+ud~|ķ?ܝ<5zcJL=D3t:\DŽb*.Ioo8$tJB;K5oJ ݈}_vo Zt$Ewidr/!`TT"m{y}fd{Z 6*FN 4!zI[W@O;q\]Poó;Bv %Nqgp;OE0DFrW.2k7nQ2B!BGTB ._årq5Wh,5*q/ݗ N#&& {Zӭҝ,=>8.QSlE<_eItq gUq Dۉ?IL09Z(ؾ}gg[wN~d T& #1>yqݫ^庺wkTb2+yjt! ǟC_ =ꑓJƝi5wz !#*v%+7ԃZExߣb4XJ{2e N'J3ӝy,9u). rFk2v=Qf0~ܽGz|ZI8q W -ѹ P+&TJjB9UzάH)SvYPIx_[w~V `{!qz+l\yiId_'هHjR@Q%S$I%"tE6csc"4DزL綤G&t>՝U.["Xɹܲ(;UnTq¡zƆ6Ԋ E#yE^68!Hd%04儼A:tUЋs̘>An:JME+{Fؒ m'{۵64ebB#<sBکr-IFP@{#Rf D?M(  뺫4b/9qF+S#5 |b栭5"rEU씊 ~/,#;w|0$iKRk6SvJLզ̑r60E&)FbfFm:ťf,滮aq.!km9G8gHĴՄWv:^ "tZ', kz[]:\Zȵ4 i Fk̫Q/B5y6,TI*:ZѴyW-H4SeqLEOc^ЦlZGyA@zSقN5/ڭhЁEi%eM9[E7 e zk^YTUP XMDgy*-Y ?SW\szqݲ*ٜٖyǂ6HE׊G,/pܱ&,37(?D\AL|,čM%g24tMrjQbX- MI2JhL7ʘ{Ug -Z)P(zI0; fx gVqi:l=ju8y ܁r4ܛђ[%OuP)B[WW@h""Ep-b2X0EJ-T}I6fU5}G5|9]1/JGw<3rt6oRg W7gIߜ\VX\2XyP?8uʹ9Sh uz݋Z7)8Aۏ_z="F lTbvqAJcK 1A7OKy> md8Uit'v{lɂ3x0,xJb@r̛{S[Vy__RiRw !q֢|p$ԑsۨc~Gg1sO?3ks>1?6f,"PkVS5Q=DmUU^he7N[=n]Ng"utD[VK*Q= `PIٽj/F۰^XDd(x{rkepˍ 4i[EMxG>f((-6*ou`{ ?S[ٰCX,>(w^:3"|Flt:V 䌵p[,9Jx2:P-dJYt g^oCR6%t=C- b4_:ֲkX|^+Ug;I@]򹟒RN9KA;`lHRTUe w@. -+Զ+XAk'/j# ܔfA,fVK~E,xZAe Fmn#^>!kE^b`t=?w2zIZg&^ -1ER:UDQu*ڄ+kngJ ʱ۲lR/p)i8yfj7^wI)0jI#ܨըΖMBW}= ZVvBzHߗp(j!))yߛ&jt& WE/6d2o!Y{Y`CrJRw,NlΝG5tH쪍Io_A>'i:T6|b |̊suo oD3 &#,5<PzFͪ;4߶p3%OډkpFǧD,okYG߾(_\<:*#O0 Wyl.ԧ0Η|] I0_x.~=:\V9k<ӟ#gE,.o g7g#T/>5;%(n}dxLCgii8H҈OL:~rٹz0E;Ӧ$9a;y쪋֙č$i3]oX Oy7񩍾|wYR7⩄C?g}j+Uj]*y ޅ-׿q/NSx찧~t8Mb|r3'tΣn#A Wlÿy4ݛ}DXP(! I: 2w<>cYK5PŭK=ڠ! l Dq%:'>3/x4o^ZH}!E( 4< ]]a4-:3 ӫL^X5Wk 0&Z4=7bh)IUKdc("~cG֧1؅O?3g4<1?6f"6gw屫aM^ h|CJ[bDN[GiEQWrkh>q9)7AQw(es2[D(xmCWE\_8!\L [^LQ];%_>ťd.xR*%zN#O?m/ |&m>󜷾I*V$8gغ_gU(VdJ.E/{*"v0OY;gҷԪ6z|w* ߶?Fj;DL+ڛ@K q^\ctֈqF~u'l`[kR; PW{l>@2~^썮fi܊RQڈlǽɉ}ڹUph`^d[xv}LtÈxlw͋jVR}:_D{.:Sׄ {g)1k?tr7{S8[C}J)e`MG%LkDGVgB ۗoc| _?_o 'z71bZO*?4É΋djֲO3{|n;Wn\ Re}g n-|470~ƒ#/|^)͸ܴM>rn._uCw-5;V)4H>=^ΏEWSܰf?hs>Uw_<S-'n?P0(OC m(# ]Q׿wEݭDDL,Ar,F☏"hu^~\12x"ESZ.Z X\тfp޺\<8Lftjk/(8;Jcihi?eG/[E,`W]NME 1Gc;Q5ՓjEۼl8Y7Y_ 8σ69bIdNWYbĸ͚^lQ۱̓׫1Jovqh"i3Ct][Frw`]Gp30~ڬno?] K3ez92:ǵ$jc,f&Y*C5z;r׆g$X'!-=?#/م`*~80s'I~k9"da Oug aä B SVk8^n@HDxE:/=:jX<$h!R{t*fnJ(Y-|X %)B͝<0,2@%sKy[rap8߯'-2R Y'!+[.N4\1Nr=9/ҠԵLZZ{Ix[jwS/m&}brSv9D $XڷUR%pHBvTtF C/&* ;-f:6CEHL$]RDzFozTٻf*f E_q3o9Hۏwwu1RK>\&ɬ(bVY&W4{$z J,VL+U[D!KsWQ`vmPEoSXoً*XjΩNq_JfV{^&5IUjqz2m\֎Z!:zztS5DŽ<,K 竉/ -p|!O^4݉kϕ "w&#~hwAg >vZla3Gx0uZgE W`,Mw46UM@[rowNp!Ʊ@Z{D0nhkA| \PU՜[|A3h nR@.֐g콪L; 4lL~a;ߘ BȌ qhc̾OTdYLDx>ۉEVR[?)E듑/3_~}u)ݢO=2y+~1СQ(^v%vҌ0yLi,`=>Wf #Þe5Z/(gRꦛܓ]:m_~pQ-duKz7"eQijACׯ*$@BF$KMNJJJ/@D\SiTYNb#Fj:8e t\S;h6A`[.ӥuG9x;K_eW9&@W7$dI:5F69㨦5܂nB| jdֺOfN|琙j.:Ne}s0q&$9.'$.j]N<(0|&ܪ+KV$IdԚb=ޤVhvbJ%Ǒ9m~64Y#%y.uW. _gd5 q?s {R n]V9Uŝ^Z}`lNYXoFZ-&yE"Am@]e;xAQ2ܐ&ߨ(ZҠG<0@+u+S;P~CL8m=*eBi"<@Ī:KM{!aN( J7PwL wo{rݦY SשSwjfg'U*?1FД؇FP#SF!QΉbd,z~yY:A94t}:g*Ǵ\[<T9Z2mk+u]+׷Tcn (jr#>0J/f8]P,*nzp5p;ߵrO*ƚ޵˞,qr0\ fcM<Tg^4`Տ0>7 Q=- .XB?˸{*jqu mI(;j]R  ʻ?B?PHCERg)Zw_=97`^JGQ" Jޟ?(i@xB"Tn! 8 @>?StO_~.gznv==?N.V)C)gCOMvq#:O]Lk27?/'g[YӚԚ@DABA?&ם?kMCk3I㙅10srɒTM(XYk&R8tH$Ć~S RQӕRM.E2rMz~u؅|f - _|dEnm&̠kƔv^)! 3s0cEonN\j@gW0%p +Eci`XCS vl1@??{;iMn2*Gu~u9 ^FBs~$CbB}G k1ѱF^c͸Eh/H743l{>[$rLH]pT7\D^mos-S\0+/YtOCcA`Qc69^,$ ~]YkZ * {E cf)j |,s{|!b 52DT|qqj.N3 GY̐qsdFBCE a.ꅱv U)M2V^A6M!Uv R bZ.ZIO8F ]LtT6h5 L[&N=:Q::o9y>-,O=c_r M}.͊3M=G(5uT/\ڈn@(JV!J  `+(FUo+H`҉i U8O%y}NۭzcV31RXႋ9QƗꐊ#NjN >;U l-3R٧)=wc`kFIduϨ>6t%gJ0r{ƻ^,n+3 タqvt-^R&Swfc <}'m(xy!)WFҷGg;ڧ< qS|'[VtVe9[7 >1 wOLAVʶm}:j_>5l/- g/Xtrˬ~`d)@u,cm=( 6ͬg{SY'= r+|NPdf:ՄZv(EP6YkD{̡35?14R"¸eHa}f_:+sMH%ޭEibۉ'lᠻl7]X7R"3]7ZdWߐO>6KTn5uo3QQT8}c0Wh2k{AW=Ozyub %QFjƩIUh6f,e OkRA T"dwG̒˜NJ2&Zrjڵo]t!tx=<ԚBL27,nD`7ٵaxcAZR֫R~I8u~V F2Y쥵S"R2<ê,AѨL"p{j쉕Q'x@Z@m~lnKGa6KJK, 2voZAFkNcjO,k- |})RU%jzJ:F_MGy;R}X,׹Qw"XpF>1>pX)mE;:f('Hw̔)y0c0;vёo7^¼^Ik^={Q}.ǢoM.u? S_k㑷BZ7_7q5IǏ ZRgSblySJG^rf5g\f/Ko]DZBt&s]qr=}2j-ihQ{6N7"ijÛ}:JAhTdZ 5Q̪1T0Hf90yX: 'wںUgcCdQd#ZZ"=4&! 1PJ-{!ӗ~h/H iQ+qɭx{VRTc4˭e#ᑪX9EHkPȌMP+V9(Qu&uŕS}nBG<6 NUTAI]7fC#)ߏnrtd=@=EPx3E s5/5S=Ǒ+>WM44^.>A%w~ŞoM pݫjz9~DZ׽ >k'9K!u?>'ů[:^jBխ]sWw骛ݟk6ޱ !#߼ћ82{OMYxt\10tGdRyDYZw7'Lyȷ]Qݓ܏\[ ?b9zD }O*ik3r~|9|P]igh0,6BA$}uDX?/ .sGQ7IeKע ki>(q?"'cymc1w:eY9̘YLXOXIJbfcfō2K_.$?Qv%8 x ,:,"32]}5$WO"%?~#t0_-VWĈc ]P#mAGFi=`/O م‡?򭰓=C4c4a6e4a26o쐙Xy?!33b2@|y2D\o_~-))y=HnnךwwwQQQN::%WWkkkA#A'W'+Ĝ0o`444JJf@_zxm ﻺFFF QRR4\]^T^*P붓<99kCB1l3Zrs,|$?ƏЖe'Aĝ5Z$UUaH*q㗮ѡ۵ܳR0HU4rG-b>?#xQE Ѕ%XP`3r8x 0/ @hŐy `):(x8MV&(0lB∌(t0 )JHQ:5AXpGCZ0bL^v c2B˴1#KHݎh(21 b"T vҐhj.:r{>rTE pXUʓ/P9 )X 28ywE#p"{|Դl{ ;q O-l"/i$ֶDU"3ͥF0ORe ,sBH'I|Fe?0 Z0xT\R׽C C`삐vaQi p)`F4M"@ Lpx (w01(A@G,E 4a `< =Tpm~*)oV $t, A1MvB 8P<#!FН G7e,`DnQ oA-BAAnZGMUȢB^0)V!h"q [Hȓ8>5#h 2Էl*@hj p[spX?0ɴdP8cRd8^iEDv,pcPtl$U3 k:ڈy4?!F1N3T %,_t)B]3 Hv7",Iusu8rx6  .Dc6 6D\m7zO-nEO_~fwO) (~CBgH(=p_cG^l(mb ǝW0̠] ! gf( 3 7[ۦ)o@F\3G+>ǝ|QP. l/~o]^A8ބFA6lɛ!h]> "W /i"bjH)u^ /BJEDn@g $Ef Q& 5 ᝶΄l}e{ e  O,a^Z208,'Ҥw~h l*L?l@:hNhXc#ڂ2XH 2;ԎE1mLՠ(؃|jb#R_e#EكH;aH @( ~P#j9 , Ա50]I{';*| C!ٺ# wR ?83׬BwL*dԌ 2 3gytRn\Ą3*}@6dYt'c {9au xUО|m Db{˨~Z@ldq-hAMCů\n\Pea Y0 P8!C .@i|><%y@+3mT'̻~A"뎬IU,U%Q.}(JO)4_Ԩ/ ]䗈C&(,Xv ANjh@O[]Q# ۬y b6k*[[X#2WS0o(,B! 0&4v*jԤ_`.F1n}FfП`ͨ5S 0ˠ)kY# .P{V( hb`u`1PHls4LU`u *2D>]CXH"vLkv\G  ST҈DL+Wvm$Vvưŧ`o >#"` Ly'd̅@ܶ`uqE/fiPm1ZBz}IYATAQ1yL%=`R lzL%T16rvw|) rGcɵ@?uO=-!yõ%L\f&ݡL'gfѹe_Bt[߲AGzOLLȸ$ ptt~{:T1&o.WT!p!`ᘍ`YD0aܪߒ!%64olwK8 /١1Ce%H&fsK=(=;W`z.HtCHx.pwqe>Q99k^([ P2kD129kHHj?8<<g"9ݿӿfw>Y?=m'b: 颸,DDNw'tjbWѳAnvD  Z3BXf97>%Q7  hJl4v=T /T:JlsiYWƪ3p3R5*/8n:[\"۸8%#Hh! d,yÓ p l!.0r l6qRx}qMXf@6Qĉ!QϠG˒RZT0!x,lƉaz*`]&;\| (WE,7=x,wI%.|<((<|%y^ 56iX߱l[˰Z 4wt $Ȃ=ϖ vv(65偿P7VaboS%~{ow@AxBIY:$)yjV Gkq@|\>4J+SCϏKcI,{~΀J*6B,\#! ?/Vq6} s fz@=ۣGG *X㓅Oɞ(Ҷ >@6YMyr1?ރWI)y9h_>D厏}M~T7|o?n?CvƆN! Oms !H#uw"Gi9KM)<ǿ(/paQ? Jk ~ʨQX~9LY_< 8p=l7g 7aܿ.q iv<l/Goq1ra4}4WcEn-k? WTXzjCW9>2nhhifl722c\عqOsK ]Vwkm@GƂm=mA<4bSr=BJٕLAtLl XX|EP`_E|f $\۠g+[(0}6# 1`99Qd' 9|4>$= %.vHEPA]LmปWA±L9_oJQiV g$2waL;:U,|2eP(x 7Yz{{((8|gU<Nw_<(j[];i4Ӻ EK0*_8Ro#^t2`laD QV8-Q@N`8@̐Ҷ 2qa= `Լ!pugc!z\x0pW`0C @@,Sd|M09C [_In14c 4{]ތeYύ xE-рڠ!dUP|_V.k5r#x,6B:s4a,lSZpk-s~E ɚ fN_ c9M#+R;AP>wmZZ;k Yf9" le^V(Lͽҫ]XÄP2IUTw+e$Z0܉쟗Y_`~UJGym(7;gXC1Z;!x:`03Y}ZpSRP:&3uh@qx+n' NE/x>ziO!AS63+F<1cJ&￵Aj"fho 8ię` : F?iݼ`@"jpe(ەnl@`P W0AhC@mÞA( 'R $! Sx# n`[itG-TB6y=?9iOA_9A@?=,?ο%A|KC_x5r SdkGɟ,\ƌMW++3l 9P:(E~}s5yUYƚ PIr/_?σk-؈ӃY66:ccNUoꚪǸfOo2e%"%:Cn_h[)09"S8h(WgϘha+;HQVfTB-`"Acs5P- l샃5Q"18T;(lA!LL\8oh ᔴt7QT~A<XPkt7F0"A^tVCCp@9`[n%+0!`F7+|28C|{Vu YΉx9؛ >Õq)4_O ~ͭ\"D4bj1`U }]@܈¶5 Z. AFHE/t&o铏* _h-RdAQЯ4@@FtҤT"$9f4 k=ˈ\U vB_4$ 6x5.~㈰fKж쇞1EpQN)nG8܋"()lL%[ Dזq+&|}Qed=Jڦbu>jcR/䓖M^L*(,*.)-S$;}&B2/X @͋kBҀ.k]Yu:ph/DEڅCM^_p^]v1 l-RξZ[H'BC<2ɌiHThV'L,]]=Q\`Ǩ`x4Vj}0X1ڴCFiX3Ai94Hicڑ#GVZ[ mGoUy8S$Gr"=F&lW˂!7;v!ʙӨ >빶mUoqi3A㖭z'8n{"`P"YGJGKNQO4"'DHRf|ZgZ}sQή j7ݡr޾ەzݗO@\ԓga+^7 |Ozvl? +7;\#L,KmY#`dI-fC] :J:o6C&ƍI[КJ]u-Ȟn;z9[Ks慵߳ ?V֞i' l? "|rkYf.O;dRhb PP^h3::,y|Ns!%_hȒ--3x=8Ukn2[p>;n=rI 2py|eZF U.[We$B덙[h/pVh'¬I>GH6ۂZ;QH%EgN& q!6rKIUQL ;]H RP\[Ш|cm{qX.\5JRKlU:byu$aX'^N pr˿v H)E eEWN ="!󛑡iyh](ݿJHJ|k s)Mk?4ȺVNvF:.V"YsW@dD8I:\[\,2,j1:::p!Ϸ]9O#\A(,'$Z"Ӭ-nQŰ&@YsqZf~<zmucCOÒ}~^&襚3ZqEݛ3PŖNbG㈄moW.vJ3%ڈ"'n|~>Wk?8j rQun˵e(qct<dmEZ;{ 34f>-gS{pH9v(I[D0_Z :/2 -|Aco/, [}wN {^ :Wiyяyη,/e g_֙:%wQy V=ᕑRq_ҟCi2)ui$QӋNMBMόgwZ O0 @>k*ϩ |VBW+2#1Ҿ7;ykFq*_/{>Ee߿sЧ3"=rMM7]ҏ|كZ}>Jo\WΰeV4~UEߺCEخ=Jى\Eh$GxRGhck_Tn[) Tk{Vɪq5nd>Z?lcj-9sr9ڐ z˼-2#ei+ kkʌ콾tly8ln!-&Gnl}>RQEaTѳ,ȘzQZ&G L&1m-$9r" '{F :˲V fnHmȡz VlQ!cI ݿC}}Zy.xӯn s.IU0_nuW|? v'18 iĔ?A\ 43Mn9Pa%ۈf1Eذ7(55 ]l43 6* prGٝC f3M^H#LbO.nI$S{WkGk7. <\Ӧs¡kK F%Z HWKvC0*9=#mhn`X ~ Ʒfrvuiя8Xjx7BڼJT,"MeMY$c4 O9>\π<;jk|CNN!#cEΉRG^LN?c>-qيuy{TT,D|N-\>p¹^aqz>5^Iyʻ#_!Ѫ 9lh/iE:,?j$wMb@\vŸ=A(|gF_@>Zp=zY~dLgSUIYB,V Rz1Y4BYV87Aa=蠀auzw^~ciuTS+&۶rs>[;~/O:ՙ:P腀*\{{'lde (`O#dD@<b* he?+#g?/n_\:lNq~(WLv#XU:)xbb!{Dւ8!DɩC8Y2|gϞWqnt F#P'ޖ}kESۂ˩;~ASx"hv]&&lvwqUiqF~?rNkvM;i8Yhė?Vؖǃ iE:8$pfkqdޤP!7~Kz=zsq/"呉,ZQɥu#*㺗ҜKJӴ|@KtIJx`N4:s?esxI'N_tٜmyo9a9M陓Es6-Ẹ?XOYS|[c}.:b<%kyͥG7__25jnsͧ7^SyOPWkߝ9~gփguuLRhxk+^T1Ǎsm*n) rT+PsfЃYs+&#oioBr+NJ/7"Me'fCy ޓ?Adi翑A[THWBvH~>WOs $[ɣ ָI E ~VpC , EBDkB_l܆|VAN ß}K5G}:#411N+11 1l(˸^C@XXG ZN0ye8P?FPdnz3ۨR2\u `VIYa~03/73-==}Ȑ4innNVV,%3+/G1(E?(e3)iTlCW$pQ73Q {cyZ~I ( ;=#Jgl 0/h!sF)2ߎ+?ecW84˶YVXd$tCy,Y-c֌BB(eVp3,TCx100XelF S^БH5d-UYHS%L()m 4 tғ< 7UtE.xNBX!GAmsj$aBpk$ Z0̌^\CU6C}F5KC; MJ3,CsAx*IZAa X /!= +I }AaF G0x0TTZ>PBb1%Amԃvo@[ghA&LاuՑ^*i;A wvВHvnCє`KAG xC= z R$p)|%9-Z>Q`uJ^0,%=5/;@@"xۼYAzfNo S4E|xFnOP 5y| Z\)7eSqR} hTj)F `"@n`aRD(&HeBy]Ze3cR`,VD  8ng0-1;B[-D1c_AiꭼX 5HGn#V3tXS\n@PiF&)Jʦp! F{jIHLb(J6Hdahhe[9P<NUPꈹt$ cQɖ0#;uں2y]k Vh^\-vF=Ό(``hU= IrvKF2k:c0?>F#5~p. CQ( .>|*g|0㮋ܺ.|4MzKB+p01@̱JcPVa,"ʬ#U/o#.OZL 9Bih#OcHc),E3΄UHfFtc~>"8EkPؿPIPSvt<Ȕ<;ǁTEƏ~tMULLC:5R F~BMteDϘPjf HW^7$;+E ~,FQNg=]5g5${g8|Ӫ4e3 ٲn3fHJ91#Ò|G֑-/b2Z*s q75[$gHcu˰2ZDPqQOG&"(@_>|"s1 >R>")^|t| "3+$Lj:Il9Ʀb@bW&/9%v;pe6_AZ4wamNLLƠQ[.Orgndi$aCL[QuET*Wi">(~͝9\N =bjq1B&Y] Ai40ʓ EBQh韄#dEGET"tG)ɘʶl*gLBTZ [!;iX!v'zvI!F4^/⢦(%xa{b3W2NW:tgrb(?HA itHFR7F~JAM 3̒XФ\ŒAH9?,\d[`Quz w4p $vZ3APr:Z4{}z(ؼ79wG*:vYԌD;(%B(Y%uGPj -@)ȿ#DY 2L^l0Ԍ-\_fEuH-U8 d9 IsGO1%+"ZsԠXhGa-GHL^ jweYI _ نe0b$9e-Ө $xTK0עpK^L Ⓗ|JS@X.͡./fQ5 TK kGdnmGlfڟ lV.p{!;ea䷐m u*ÌIa:+t_xhdSI_˚n%ŜfexSk9xuU\n[ݵe"ASac3 Y!gCii!#\0npvҲUYyO?A8p䟑owW2wO!ђnOsh4nug 8 #c<8O`v;;'.?Be @6YSP&FG;%rb|Җ܊-~0ٲ e,M.JDɈEEFx/:*Vͫ!VUgS&al$ϥ@ z):3`l is棪:}͜(4ŔG|[jp\}I> ]$Ķ,q!)ACƜkAĔ bLLah+Ķ?GAQ-d0P-eF4q"kcaж vυ\&A RX;[%`3ZĘyԧ1fRI; _DAw1G"a0|C,Q J\쑟xg;M$0 Wϐ懍[rM+kcΡSСTW1 OOLNFmߏ\䟽I^)bV[x Po@Έw@x|YK,4ba&n". EA7n##)d6w{A Xʼ}a!łbq.'!YQ=ȿ _aN9PʓJD%1qIwst/ou{Ңoi,Zx=5yu+ȟfO0/v)рrp)fK 0 Y>qb2)0'DL?+Y^#E!(MFSw&5?Z0zwv)H(qWRmPZ2b/g?^f6d[[l&"Tܘw^z? )e4CBkڼS'E2;%ʙ]T?Ne S~sO+TNpyϑ^q!=txp|aJq}ҫW.*ך1•;(݅+n\r_Vo//E|)qJP,ܳ;u=kB{yB+G++ T>R|ͅ+a>!0ج[ Y|)r#jY6vtK`)k9 u W/%\tt0bzwK3.&CV` Ƌ 0JbݔTܘqa[}+(kCJk_g50g@Q峱*o%=mH_|NVo9@7 P‰?pT2HD 'nu0 lAA^G"!J )y}R˄_ Qt8C>FàGfX6q)g4ۭxTLp&v$jG03b ʽ1UKGJ>yZ9j)Ƅ4A8vTDLbʾ;ʉ"?5\BŚ\p-|fTh&rQ ELVHOu7ROǓȿWA{72LȓG09 t\$k4.Fwi"rT$[3&3Tێ p8еF)q7dSyٛ \bUіs"LZж蠣2A6Š 4ggE4-HA!Z|r ChOhCVǑȿ\7>0YS&43hvf #<ȇ=*1ya)CMw3H4 /RFSH~/NeJL'=b*%$|rt DF3h+"*zA9ӺHE(1dɁQKe$]aNi4k܃$R@MK6*դr Hx"ћX*NA>2#咑Oh@e \v^Ds1pj4,!'>oo>)y؏~NZ&*~>lj)>٠tCY+1Z aD?Sf AMdjWfW$'v#`isgK"\JͭzRBB_Lqlݡ svuj u_lJYCoGzMkwYY#B(ǔ^I>$$+WG#[!1/I"|?ϯ\Jz>?A]%6hx1#~-olTB*/#A>"_k'+$:r-{nd/.WD2j.n @R)x q?(DBEU=L;і5'^AkF#Maʞa/DT T>v F!8#kD *E6H_`)܍>Y}ҍ܀!݀'^9еފO5Vk Pm[tqJHұ k N X'[ǻ@lA-HDIsDg@U=6E~nHގ5gm!gt \8lX,NhOkpBn>_us$_?ib FAQ,iiĻfCqw8'u/"7 SH3ã|5eA7`] vgu᠝w,)6XffQS3Tsdr>(7K%Aq(#^$j akeWxNeSY}a|[F~DK [s)c SI(sXv묮F|t2sȚP(\g˃_պlFxg}"OjilڟRWvnO{SgeǷ驒<*ts:Y%U5}Փ9\R7a|Qa&v8V3cu#v^X{Fv&Drr Ԟ6ʳPyx/,,||a_ xWs70 >uߪʎ׳%QD1q/C,nɎAㅯHn;OފRς9ly&$#ȹa g2׽ uXHqԯE7ڵ7#>Yr^w%953bQ=\ 7Lۧ){ }ttk(uh.ro%ߟ*ĩ 9*I3SP#jɂ.l\PJcŰ4nS}+R?н.-,KZ׻DZ>~84nC)g}.ߒi4OܔY8{sqdHSGU\VqmZb."A-9ͯKZ:JZ[(5ٖl~j؏vӫ*q¯o^%n47465JܔJ]E>WdJjilPfH%2~R%n ])e^%nh|/w"!ŵJ\U|Dml-oa*3FHQt?M78r:Ju j]!ggC!TTgv(gmLKŕp8 *\Sep> :)[%kq*87e(8<>߹'L"&ӎCJ+QGӚCQ;wt=Zkߙ Cr J0w~AZkAJgzϞ|lbJQ-QZף3!OB^Ёe[[!De&RfC,ݯj=/Z)4U?# E;qVz t!Sԙ7myTA^sz^9s!>)µj๚%ҍ.q-%R.P@AAA,vG>ys]]˾לs1u11Yx:9{:_0^e5/MO4EdĎ^P^TX^KY@*/$Np$EuTFɿaH"5%UmkX%oPٓY[k;tx`ӟ?aɁ 8XXXX'ȸ'?8xxx!!11!!%%? 8COJAL@LAX& D Ab r:w?`p(CN>@| C`pEA`("`XGC9)\Vۊ+].\|[b=LFL_Vy[b0t:sA=' M b O/ߒc&_Aϼ"Q2+o#Bq1|hxGEu|lv) Y F _|4M^mfrVzm^3>bռ{Z(TDCU~MnsqN|WzfF]|ދ`Z@Mbe9ɻol+7D߾+cV%_P}؋pȥdkDr}_-}xk1>o${v=.92`biu^¶O Z4Q/i^]1(yG[X6bb~ܣK#ć ΞF 3WEӿɿT)),CG;e>FvSvF87}uլ47"F#5.tKCb/.WaA\ש]|DJAhV="K!3 Gq!Ɵn<5)z;H?V߹iߚѽNU|bYpen|oyshRVN/6w,۵GIGwh ?4blyk{aOCv& $^t/nbO FQ{O>e\ex۱-"-#䪋XVPNYy։ؑ8) +R%?zN sEb<:?=oѮnl>$W@܉Z> p"]]H4t\JQkyK%&p]>y崭S*1Qi, aJ(`I{>@C*iA! ǽ/C+_sI Ɍ ?l_]x&˜/;WҶ9cg`PzU#z68u} TnYlDww7>C{[=p6.;8rR*HϺ1\a[}--SwS)b3E?k3@^UܤQ- ~7:@5ѵPU:7yi߸/v"LwBz)sCEloC՘NYUp ݦk"VczE-p}εdpOd zod`5q߾y?+bO@PPNztYU0m\cӱ~-A<11fhlG2&4{iMjՔJnqb _.AeXxiY1]Р#$`kvNJx;A$`M) !zЮ-O/V|%nIJ&hh+2U~竼Tm$,h]5!e~OvI}$jU ޟS_ /~!?u4[H@Hkŵ*K޿gQkV,A7F*th?a9msSYrC/op˱#yVRݮҺ ך%gc@EH!!2֯/;eaY]jix+D+*G7@_j~R._ c8겏p^=[1ưRgT}H3[PB{xBv@b$$k?,{;=w7Ƨ&b^3^풹АKݘנ}Bڞҝ1Ŵ0=c8PCƱ?2sJ³z-)4/k˞G8jCz;\Ʈaj":(3D O+[[_y`綬w~4وS6ujnwepë) TWqjguQEgٗrn8woO=dNm\t\9xV'0u_]`jU>ʌNnVN9$%b0=Kn4ķ_,P?_{B,DdQsAB4y1t*a.1f3%Sn!ҭL.rҾԉ n]2j)/=k=Qr boCl`wt78bJ͛? ]:tPc  ~$)6Z5c8h¬~|E-6CkFJ!6%gReJGdD傊$к|Dpܒߺջ!)H 5L=F[O8y՝+!#k5qnR7'J9fΒÙhRZI/Rb?ܩk}T/Xު@fV7>kIl5QaR9?ٜϳun~s~0ߠhErBEW7oзBm?B@nEoՊD:DMV]Y*a?/r\͑ڀ >}Jt`EK. % 5z?s}8,A⑒ ƔTr䎛&(HU91)@d<9S9VBHv*oQV+T9_SާbZMc|2 !T!qt9PM/s$BW?2>p|gL[an'ڰ7i8<# n<~;74ӱeNwYYiO/@m=̝wPƧ;_zm\2WcKU/>ꯄ#fҗkGԎk"Bu_PsaOe'9:]{eO2j S\Ii^<\V||Q զGhw_4G[\cxN6ኙD Gjm7r/̙܏6ɇiEҔ8ڶ*ی5mf|ͶEVrA^54w7e塯3avz.ܙ7(o[ r-&Ng{G;eF {]Ϊ*̂Ăz:ҙANZ^g֫y^&K7fEi/v>k`wֽt:jv.j*tg0ȥn7K"$txӜK#S$ˡ-{ 6_cWZ<ʿsVV $* /Z^7҅~RHrğ]{<½G/Z*y!Z_2S*\~~wh0d|01mٓvƨٸ܆b{Y.U >_5tKqQw"DSm\XU.2DXխ"pGP1.U(2;id-+OD_!=ԮvbzkoPho42 W+ Yrb˥)/ }ǒ fbt5MMs Tz/r\ў\}4Ti|\ }7ݐcS󀼆R2J\{Ք+PD'9*ZbP2t4ԙPr-RUu8??7־W̯/z@c-Sfވ%]W+o>1BjXKhuPDi^dn?Ul$%|L;":3"l{Jb&6ds!=)mLST&U= yRz_Xhf m|LLὫJ7Z'YtCZwy u_&N}.G0aԮl_ NpuLQ9۷USl$oX{}`t{Gv=1l'oϸ+g2 fՎn]_z6 ?NVc`O6>Lf pJzt`eKwCO|迻! uusS$W\6>Z8UF7֮mg֕!zw/sGij ]Hw^i玲~r{q9,ݶN  oD|kVՃBqJP-"49)BId풒Q/{"+;K\ǔc n6Ε2KiZ&riz,ni-`=Oϭ NE۪lFD و>#6g%& Z6rEZmtZ?|槯 ].@[Vu&7{>>Vߙ*:Ӵt_n\ekؼ؉ ϊu-{u)0o}ꗟ_1@1i7s<$Fb Lmvxtru7B{/ Ot_s T-}kcCw:%m >d/- /: 9Cb{bx8 Q3kߵ[ʭx":E8z2S[ʬxZs_tXzryz&4BѥՆ7!Où &/-B1Եzrz{7.>̈Wq^o>ƛƿbE|ȇO4Qz kB^zkiSv}B?||%EC9ыYsE 13]~x; Mdj'tV$t~nWXLi^WN~"1ucc@h&Z6y<}7wm*=tz޳gܜ #r)~[SsJojM#wX\4jer nJş3m4Y bnIآj4VB 㰛t`SN~ * w;VO|o1-/(죤6F 4A !As+42*9Xr]lDLt@GM 0>ֲ}=.!MP nOyBU)TWClZ9׃xujDAGg 3Js} Tq E3e3~Iu!dx|+?e>lv?1]sSf;_r EKmhp1>?5W0Es7_qXg'nʭa.Cb;mwmu}@ G~oQG,hq͞=6z * -q"/U 臈1ӮW+haoλ8̕?dI 9Ӫ3,ٱ s*ࡱKYm-lKȒK||rzyN2ʪr8Ru*kO1#"]~{XySm!6@|T?2 a>Z#wmÝ| j:E-š&-.ruer.Fu[עާE秭8Ϙ[23$@~~%; QQ'7*E:~:1^5l) tPlUY{͞M>sU,zʄt@]rwnӉ6t,'XkM5] v:|):QݨtE?nLa kF7g{U?:s? [/\޷1I-_ZP7IZ*[v[!?\LrTl~WT^ژ~IȵsSû+i.1酸Tfv)/z2ݗ X7ËՐ7Cs=E[\nnYp  zS%9)X˾]={tgvvFW;_hl yJp|8u ő &,vnC.O_뻦b'pD UWn&EI?`vɐ+~25q&c|,HL'|nև }eNB; ADlܽp 7g܀ 8o+.H{T^ .W\PeM_8U|9kV>:Bg|3tT8/'d,4^3*d<" rڛJIB3L^^RXZo~].Gcک>4le; Q,V̱؜"]x%eݽǣoKiʹiJzm+ѳ*ڎv?d Qv{43j#Ti>Gw͙R;iNPr$]շC%ݺeCC ,UE'ѻR˯%7L(Fbh(E|i5IwY}Mqr3[vbP/Ǽo+h=I|,5̖Thz)}$?z`[v.EoUXso.`uZ=A6$K1ko7qWʆqRyXxV6 JXӜps^֊&ǝsz-bb0oFYM>(twd\-sΊO62Mk_r\_)f9$9{J1YӀQg@D-xt~_ $X^^,yU0-;E1ER性u <mMFGWffi29QT OidvwB^P ne&[s-k@4[Q#[P3̝^R糷ЧBF?BcTAC=MW/!1Q]/獵zh.iy+[î)jҘV!$KHݬk` ZkFObJ򖄭;oX@+SG.#s<_x\Ti+F/f-t5rWbK/o t#HZ:=x`փ2~U^|TB$6a@̘ GpAYĐKߦmʞr"6{?T,7)qߣ~~JXO`OǨB6uI;q8:Pyc[BRx>ތwZ5؝O8\_v.:}qK[ T=h$b#c .U 7Q{p<EÆGlg:%llj.jrӧʞLqT5Q۫*r&wIhqQ{O.aW6ԉ/E=*\KZKSLBλu `5|4?eDXFcw̗_oܓuM*e-:E 9TU-%Z).E*LmbZL?ҙJ*Bޑ1~m4-4I[rHѝWjPEǗNm7j$%C7żK;$%vC4MgP(]Vꗧ`k1uR]I:(hysSnrh띴7cSB2JCpSQ3>}}veYS R'8/YLs [^RzCȗTk{#CQN9C5mʢ{QteaA{}ϱ-w*29BwwD쮐@0~詳s ׅ-ŀ7POTa_C G`z² {8Fr.&|F(8-LZI,Fj>G"nRyp KXI^Et/2e.m=:K]Z(eZn?_%:s-Պ(~m}oq~25kDd%RTB%?^~bPAu«c-E8$ȴ((ҿeZV8r%Dk~.ћ=o PgTHlٌAɕr8x" =L+׷ò4}՜ϜFCblF;^L(L2xZekYWw';rGOXJ`G"89B-sCg^#~zzs67.4&b.R3ЈqPg<1nSqpc-cFZ7W9xfșpB(eo=MS?6:ohm#AIʔcru nT,n)8QwՑY!w]vXe##% if>ksX"fSįg4NG0CtIK M*"gw4":4g]R%M+mRl1izlI7+^!QnBnWaYȲהwz&Zd&$fu彀7=ϫ)ZsFUoJ 'znET K7L.4eG Ƿ-knݮidVPcpe2W金&b zT-{ `Qe=PP`iKp1y}"G$ \p+{6)]_[lNxQn\II6b3!DN,9ּnUUg[s|R==$qPDXcΣ.wOww3gi4< G[ʡ_$?zч{?X_x|6oΘ">mP?I`/L'sr+;բ[=1vUAQWJ<% 褽]nD͸U5={wAn=ͩyG '"3vuØE:SW]t罻qDŽ4O@4G/:>2 -[Nx?qՋ 9^&pyQdNA7닌] \4i쮅vI >y8xQgocQ`?t7Y aAQJmCϗ+ T4ø Peћ⊶~d_#\AG S;݌3` &3Bx}n[Zރ2ץ" st5ӌkgX< xBfpl5YE9ˏ"rd_5/}x:y&IV4EǼm2qJ~kGb?n7<ن?B(HOK>WUOa~֧ 9;AZΓ~W cФsFWZ7M</~;GS?P#&=ʘ}ďA?`S]|'Z7K7՛S#* a%T2.^SNU݆(Z9%?/4HWx:c^L=9O/B^>XFA6lx:>-ATZnFxx> MN?FεDU5ڻvz-`JHX%5ZQQ(ng'`j{WI6J&,:tNo4pAǣGT0r6=siVk@ DPSEr/X_#Mah}A ' =#h3[Jn Lg6S+VK #9CQ}?hK`wVEB1]UT<8mx#Kf!e!\J T2{N?"1ȹD.ew9ae߳Ĝ8.%-R <xtX5hJx1h -鬰 X:꒰zx 10+@|dGxIc=-BGuP*(3筋28NsYn,0`}t"<HC6m,njxKN?lq*lH@Q9?Y@ı'A(V/gRC{9l"#ږ"O»N3m/7Q6&c׶R$EpSr=Bݵ,RoJ3)d}&P|E5ɒ Տ98=x x /](p"ižՎ鐯yHW@N5C&6-jBJs&6/rn+VM]q'~o[sXeUM_jWL`AsjLv/ɛD&| ^fϜ.RwwRDk6e"ZQ.+1!> i'e0VUdaKH-5 -j7[R(>3TcÿWeO}u-gw{~T6p#\Bf&Lo -2:}j߫,;(FK|+sP)wK]k> 2I/tۍ=kda*|S{p%>z:AqɆyv8Su`Fzs`-ޏ@3%_u&DfPT(Y(EYH  H( 'Lå㊱5#J8PRYJVr H.P(~IKkz b 47Iq?N7Ozꀱ!ܻ~qZuDڝX"s&_eqs\JQUgǯ`AY (NA7>kooc#$djd)=;~[S68[ȿl}E~VBk5Xt{; DEǦR QL?OٽZ9xb(YMQ=bb}W<^0>ݱO"_X}lɑbKk7Y^tyMғ*P}c{wyuαfRиpq/bnA_߼DŽ>x0}o`NeO/ K+c 7ox|b%4: J[gwg؄7<}3gsp 1ѻٻۋ?ڿӀSF ƄGXHEC^""V" +rl"E)a{ ))I 2"qbC"kBuCR~uUvP HnTW:[x3*X֌% .:H]yWjgPOlhE7d^MgEXɀ\rS$#VN{Sq XDb63)oihsnNjΚ2"S8:MG{˩I=4 XUh"u"+8MtL4^w+D:WueKa_Dnӧ/ f'ٵ)|91c1A/v^Ӯf #˗ui m*CvKq[˧|;v7I,.y["yg,KĒ%^bn^(qd/paⱕmjKsnV:V]+Jdl3Mu |EHgH/߄ac{Ato2oQwo>&ɦb;ߒ˯j{;:P/ɊD $lW ѵxmW=;f'Y<&PC)v ꡔQ"o=Bϲ P2w)qIЗ pt I8cU_15׌vH94n[˒}Ţݶ_ܽ;^V|9x\@>GAaGN9 5 ,IN{ |ĐӁ ٤y #a0kpӯX$o X{|EbAbK`=!A Tb>$U?j Dw|?-t%7̏$>R^ǖ2#ƕ)&CH3aRe _`ģ' p:AIÝX  ɽh"7ZO5$}Fhe6v,]?!ߥu6lj7TUHaNQ<goqx֚".rtMNrե% m[ؒ kDp> \S;>lh󛐬 ]foP%NFky5U 2u\|yokcTʎ/RRy3bāL\[F᚝#}JQGm %H7'S ʖ`re{! i>l,bn`D.m5dyq]_3BʐY h-L Tcy·)}9v\MJTFl~S1*&LJww.Pč =/!rHv\pb\[bmֿAp+Nq>҉B[\=1]lWVi$gp|x"!)Ϧqӣݩi(xv=k<` _:Å&JPW)(:r,=)L8@ynGC @^Bl=K>y$_,[η-_ڬ` '{OI>O(5 tl*JhA/Had,BUPV zS0pQ8:f]at}v$YP ڙOՓpȒ!hϊ#s /Rc$C.J`LӮp-> HqxUYJ8|e ,[Z"U#g?-~[imòkFH"6ȠuCA{asg?3{`~#Ŏ?T Z.q  ǺDع 6O+o#@ h)A8k ;ĕO#s`s/ ܎T0hh/?&AF誀C{8KX{*/JAᕎ::Fe0w_8#v~F2 y?ߝ15h$&H1mhxǘ!<SvKeED{)Z+a2n %[wQ ڿE5%NXW 8,bQсq yIK 1\,@TKPV^Lg{0{i֗p2l:b,k4.K HL vJ8M]Kþ oh+Lq_RRJa K nc=қ;׃j'( P5^,Ditl=!k@؅'1Κ!'z X$Dv1#4:ô)5^:Qt p_Ԃ'/4XY=)ix-'CT/:s17 :w}nl}<"g^ أ:hbSl4AE.+ð%m$H:YF: K@Hݜs]/.qj@o|uif82LA熱:Q3Yf=fT JEeŀ6:ecSN<n3Ǧ{_j&^KOiw6?ݱ~b~W1Di 3՟'?n?!KK:eNg2*@ &Wn f!ͮ-68|ojrGB]I{WNpќ册Z^/| 4 Ϡ"2bZsl8%~W%t'<{RF.L6eBlY]c}Uc9i MM6O5FX㿑DHur*3\S;'(5T]?P1]s6MO!}U iݓ{BL2ſ'_/u%?qvjz>$Fn~gG[ߵ}'SiV70%}u>QIAQIam/Y ؈ KWj)'AA!V)6/,/Jh:#tfS<􄙱1X>ұc{ dPTRNHL1z!S-^ Q߰mi‹e<9'2rO^5):B$ [?7z-//?]T};Dmɿ}7OSNԽI3 M7 bK^#'6.˗ۆUFtuFhy sĴA؄ѱ3&QeᓥE`BX@3r KMrbq#0M@JX Fꕨ)}mTTE½ ķq7;zHak$$܌ALKu@C7 ;o"."HrVZx~qU7Paͤ |E6^4'tʥ`dIoy ^p>ʬJ} <W|%K i\Z:Zpwjwi‹L4M5sX>fتO=Xswq%*X冃xTEߞ5hOz&}Vȿ7"ub }|foȹ,RcE[t L\z !2,Ex<*NR9//^XE(v szv:\|"j;'V?'?r m[F$A5MCIЧ7p_F5]%(5n= Up%:'KakSS yթ<`&f6Z|Q%IbM9OӤ_HDG# (2e'븐S磝*Q_;8vuh_@J-Sz~JC-ε ¦!R< 0[-^L !W9Cc3eɦ(\E2]Pph)B1 Y⴯'D VQc"`:;l ;}b$tٱ/y?ڛNP>m3(w[+Jjs%}s:rZ;pT'&1<+AC ,^D%o# x1@>Y$e)'  *@ 1b}F}-T5lޟL:Fve(F+Oj[>j p hgU_p5x`ANL8NM,( : `JNy4#HD&.;Kv$" &wW2 Ds?EiHd&/]e7 gڱS;'(?f:2A~30v6O|9\WPs{:LE)Ifd'xsJoƂeJgߢĂW~Ă])*Ar&\Mtx12j71^R']2;RCHRPNHPB^KZ%tu:]'vv/(R.AN,xd!g%ygGyyӓ+<ݑ^~N>nN@jhΕprH>'ɟgY;ȐS`ek{ k̿RÛ#N+ʇT8Np})hrrEZv>Nv9CK'TqUu5gUJ6'sr;Q;>k:orb8EG3td 2ijQ<n'c ۝<'O Aw򧂟8ڸiXN/;U?|xzśh^:&~f"3槢x g6ơP>s(lvN!O8xoPT. sNjIw@i ߢ?PmN59Ւ:A*=MiNB#ڙDVHTz'}\?P s8sJtJNP"~7~q'aq'ϚFhsӈǘSwt'wz7/HV~~|\?P~ZL_҂mg$.ioƣx=ֳW*,Iuoѝ8UokN?8yxzZx_ 2eM̊;:OHyjYRI)(̡ӃMD[&v6?[kV=K(UO?K[=5k'adѓ unD/^xx@Ύ횥k'''Frj럟WVVmϋz3;cSϟ=}59> $/ߖF)O9=YÙ+ˊZ|£߿H8XWiQP;ń}/:j߿٘,쪜DqIɣG\ 6V}]QDDo H~6zllqq1s 4cE7nhBcp""cbSRR̬ܼko,*QR^QYU]_Vt>K ºtaÕQv36aac73N`KQfk-/#+FbuJKQJdp=R]RA2/PfGr{Vާ&} %ƥp|"֜1iG|6 %?Ww .-PB84/Yc(pKM FN@^ɗ}Mxk$2Q:*\.:(P5z8*gjEqr~cO*P~[sGr;9myGk6)Sxt4 $# BW@dD Yg=jbқ58mh >J ֳsє[HRfs"Wa+2]1O:1.ȄH Euo*QZ\jɜî2x1ת<]"{Qc7O<ΨY>00;tՒq?1y+_x->[kՠ50aRrc9UYcQjV Ah9q5Pc3&t߻ 6rb/늆a,4| b4Fe:FI0[SZ (G}0ZF9U5ȵ9;R]?|OSeSk aƬQ|E'K=+킺&ǹ7"ִ2,F_7\ju%.i.-)\{Dy?ze2-\ zͭ(l{AΗᦓ77`B*HZ12Zx#w0`3I+ֺ,Z@); ^ՃYNX Ǚ%6Y,AD[JrqE>pV̆֘^l]SYq7=6 @K9AGitHpA?5o_~f~)P>i@K; P꠭BMC;HߔZzoҾh n}x%hMإy1o}3< DKWg}Q)AؘMqkϛ^gS !%d@7\̼,)r p_Ӳ%[" ͢r, 5,dż6aKre NdM0*zl@ %Ng7@E ԺqЬ!^KM:NFo=~ ĈC [- 4YIS G/7"1Tl ,1P "Y5zdnO@Yp VXCx1G_B /yFl…4DvզA[&.CіizZdMc?;"< r*{6cL[z[\zp3~(t8,PGS 2Eb";JH"`=%hsC!l67q%EvEH,>CPKa8\Cg_!D?? >>0Oڠ)5VM a$qDI4GhD6gÀLMk򯁑Es+S̟Y݀i"%/J,0avs00,]<"97޾$ XM~w#C4 (ql|;F2U6#ط|ʔG)%ɲIOh8Xqz>_ !7ߵQ7+b3ʪ8V{`HnjH.,U8I2C),9Npp)/2Ҳg6u6 %T_ i8HܳuqPQ)FCܦtW[̲[">فHbE/E:iW(THM;`ADB\gdd3\Eyj|,Kpiw%bZep! E>Aga'On+ kJ2M B#.)FT|n ņ8rPYX1(@6BD̂ɤ!1P7@B"عK5+@(ve D@}@ #"& XhriqqOC!#hYx tLSNE]krfu@D b"\K uhuqsG9mOtCL7 GCa2D ~p `&cᇎV;i P/&Ό/ yd~U`$Q?T|[0i9" `e&i9QckDV?cuo_;f̟\*>r>Vcޔ +?TA#d?$P5γRFqg l $~:!˶&E>T3D9,`n@0jL ) kBߚܹS<˯IsLܗSهL+V"+4!+h'8a p4lHl5?TH;88ZAL(/MiAGu^pr7#)BnѨ%Z=WR3!EpC8%HHA\\ 3hqeMy֮Tsp[gRȡ *1O%/c[k!akIM}TyVp8e?}ݗ]pZ! ٳ7x!9n'݇e"T""8V6P:4Ld%՚0u` DЙyvӥ#uK ½C6yb4)tMY`^2a$AoN剠:گuH^ kW/A }5ژܧM74 6/ОXQ0r">2{4鄑! #)4D_Ajލ(#U2= X` 8pG1K-"2EFh= X I]J&-M y:Kg# t#;tD @k#Fg~}p>Dts=]S7}ƗuM  аDN5%Qnܜ: ֣vmJ&kEt#jp셽l }$DbO\QLCA7ipip-W+R%k)i @ Pö@]זӖH0ˣ0q@^"0+? Oq,$CBy N!CBǟ!h'Ѯ!0PrؙkO8@,ɷC@l iX1= r`j> :S[STdp5h4(DS>vmnN Kku!EpZDδ>mҢu:h%Uu^.ZYɱv$B$]$B#nCԚ߷Ixh!?0X5p`/zp!* C#[׆A琰)Z".k !hà( uY1曮hY(Zw Bn98-gϘD>zgnLdqhj>?8[缯i$z=s#{  _QOQ~ddk]lbWa?P~S;v&dDH(3v&3-g8%s)SwKu-gYgsH'}ZPSܭ7<_t%}"Y'o~+_t%}")(qufk=β-BeA߬st4& M!5Ƭ,6O[ZX{z;on_Tr˞bY I@附;owM|@@PRdq1[~[;1;%54gAV@LRD.M"ib99q|||HO ǁ+Uk{-a+g[5r nY:<_7_꯼9I%%OQV`r#TMBm"b}f1Ž}9U>܅+MW=A8+akL\GjA,FpPa鵛N|e)+/V'5{64snnKzZGɫ'zǦs?-.>fd X|Bi//~G>z/F[N Მ)gQK5Nm\@TWyaCTttbKHAQ5(,G5XFs wagŪ";: >l+ߞ*XxB 1`\ c7u1 ;x^xp-B5֬Ƞ-܎ۛ&ݓwM4?/VFrzd3qCuw^koX KpֳDrs{>?طm+6{1nό4;e\Kikdc! (4a;ͿC/f4mSg_>lyrBXT.B4cockSӦOO˿W&.?TΉ Ҭ"K?} 0^k6꟞y1`L%x{ƋG/߼ǿ=;WS]g]Ox^SrL[ BRET}xiL`ma+b}qOnLBƈ#?3zS4a0ȥ,qwh_M8D P-[qE2EpVǽ^qs艍o1%9jӲnvWV'9~b0lN=[0.C|>~~- @<^fcZw ;\94uGfG`mi W2=_&6KV&He&9$(~ƂKG?id8Pu9?mpIG|Qw ?E=W+c_;?ȳo?:ű3]1vy C8lmsDRMvQ#* $A( OYǴ(rA":bP9T.<'0R%F9P}*Fֽ$> h U4rTӯ]D3qpYrK6 1s$hZ_YE"c?#&\~ͦHuE8dZLyDBp,Ɇs;3%4BUr/+W>'RȅWb`b0j9%:U2|w,@ۙFpN~jeMŊ4xHq3YXF. e2x`Fw`dkcl1qmݬ$łtlT>xA( bt/qxYQM㽊s7Y0*sI;QQvZAurzJJo~`ޤh".:?~Z'") )$q ۋ vO\mo%,)rB ~(UK+?}f?{6>;V}+OUa,>.-'VmL_k”. G>ztqOIj1f#fok\~whyTlbM1Q;; J5/7V1ݽ6n>bcvZ~ }R6@l4F&w5_g8 ԈGƫo_%u|yxg kI4lj: GŝɇQ@?H" r/4wqpZ@m )h/\/ EH98;7/[Nʡw슞Ⓒ fxcpQw4 Xd6x}H \-#Y^qX >@ɤricf7yp7Q y.ѥzHH::hz#Q-[il_[>BU=l헏5̊<DGԤQRxBP$tdJyi_/GZ?kDsE8INK gҒ0S I#d߰**ƥvQ a<lzN!9(N-ӳ~<]݋< ZF$0V&^A[(RHE4/ͧrq(ܲiעH=N} Ih,RM .{|yDϨgLi32zcWA¼%;Yac3F0EA`F7kHP0\qzPƣXP0} `LIjQ£^Ų+,J"\>z2K]X@Z,>`GL2=눤#\9LjmX];k"t8qz5Qpo:P`u.@7u ܣwt5  u۵韓Ҳ{r nPxՙ9ه-xvY] 9܁M"y~fN~oU;~0{=hT^\~tqMrqc+bvwy$9P: ċeZ[FD>.`+M79<17nWsqu[[4寮>>2?zp{i0wǐm @MLd_n>#x1gWì4}cFnݥq ڸ!w Ip$AKx8^k+kw't[sc)(V{Qz KkpBOv_h^y g *T1EQ>& WO̪ 63:\_ Ź ;qz0362]dlE+zxzhA_E~i;; 8] TwO0D? *DV'(&Nc#EY)"3җ=@COv$z֏aD{^/%z0t' bM{֯594(P9m Ӓ؊H43,.ӠwvcIb ߦl*rOmD/+¦ 8,UT,P`kآfv+EL9?G`)>SpEӒ&@T'R|WMN Щ/@2" oRE˪R FUM_K0ܟNǨP@#A̡LSҌC#ev==֘DƓ`1u=iZ49x,kj^;z0)ol4[xƻb#d*ֽ;@fB USy9cD4x7"&b`W0B Hج+C0gs "1JW V Tr5}K9;5(#\M?3Z}A&SWﱃJ: "2[Nw-( vzEt "`d]Sf~  tN~~TB+3I؄>h@}JpuM?]"ORlIJ'œVBjJQHZ/M4vI?'rG" ?Jv2sܪzZ4D9lI @KK"`#`G}?&AAj@6U%nTִ -|z ƛVs%ʨBvy!dyQ]?¤ԒqfTjw$SRُ|sCz-{zMR "F椭{ B'b$=&A[ǵVo֨FyPyځƍGL^ 4|=.-냥LK&A|#y[}"%b'웭',E_4mW e=qrȘ  \">dE{1(;v }n (@ :pMd0?+'/LVC]x8&}*N#i+w`-d11/AЂKi||zc*F~@ 5Ã\cc,DcY-^@)"(OB^Z-:0 lPG Г=ٻc#hV =Ca(ЂV(֪AptPS3 Q@v\D ĴQp@P`1qпY4 ,0!EklPbG#WD긄fjfdfd:Vp4b$, Hh} TGuޚ /\CÝRQmk@ª`M8$$O$&tj[Bj:z  Vç `eĕz uUT V4"s?4hL Ճ$Fbc) [ )*!tAW62z:"S4WTg CRTHe)J("'sS"bXi\!hmrvi`>3b&`RTtsg=;L 2iakD ,1RJ*fjKkl<|l0#M{!IJ;"VkfL4x/T$k#MMia\z "#G5ㅄ1 #2 t2aq\CX$ZVLrcEid@CH%DOO qFaCp,Q`>ӆ(3}}xX/w0 HEÈ|Ͱ̒HHI̍-;Y?sHM&JJ`ə{@.l[H4 =zDSg>ʣ6юED uM툋"D z$Cp,[V)Y~%ΔFqva׺D"g9}"ӛL=[+;um_ `$x9|q¥dyP]!ȿ NfeeLf¤| KQ'x`/ y]E|]($5t$| UM|?# $>@QPw%򻅅NȌfC aJQ4): =5W 4jnkvS(PBhhqfj#>~)?mGQ Rnh_ x0ưRw/Za !_5Ge]IEH'hTN( q"\Y97 >|f]8Z{0R7No xO 샐@QÑDq i@ Doӽ@wz=G+mjR~O ~?^؎Q5.q9NEo1(= & n "'ԼI%ExKԂxg`G5s_) nWEұD_7`qV Lr E4?A8*lHUiZؗ/ 7^nW?kK>O:DMfF2PMu($9Q,,4p@[B94}!ZN3e]5bOuwмG]|g8 vΣp?8 |XG[!8i\1(mfk7kq| An' *rG~*fD$#IK|%!sa (/RT8ٰ$ PܮVyV 6PCs B`1F75OT47~%Jvk]a4f^J6V틆āa:xRAvҞQ[s1ڢ1N?ҖPۆPr_#Ks'ԈbOpV 9Vzq`r62.GR 0oǴl&RvA-UӸ_sxv"*}|t A@5xՎA T!yz{{K{X`[|5!X7m=$D3hTixvs̯ ǿLmhEe~E_?{H^ݤA.nfBZSVٖ%1uɘ Y/d[ |竞[7n.If%3õ/#K=Atl Bm(Lݧh>MRAc]dMXQgWqSs+W  ϘL?]y;ihm0R*xol߾FKV5'K7G/X_bx; Ǫdu__H\}Mb93΀O/Ɔ*r]t$Ky5`A"^6J'&(FsAo)8.-^XX8?^[NII~Ύ uWׯ_𮛚=???122RTT<<<|jee 8 rlln_Ґ:pXklk6.#[Ϋf!%gw xc@Pg?>>[Hm&xSZy72ጉ0*! !D.*)Kh/q11!^H_ol<-.=/]}75Q& GOtI>6?nU*|6[ؠK~ FFҍU%¿ nqـXIѢKPbiA%ChC $i[8z0qԟ++xʁ%G@V L, B pd X:6Rd9Qr\?[ -BS3 ~}"78c|]k$/T6"$h uD=0UH4$8c4PMJĕ `cD-yc,,Ã^a3Ôo3v.q~IgK- sHXtK/]e20™Dƍ*H 9dzø 5.%A@ƈ j{hgʠI!uLWEYGF,e iNUӧ-a) /s+ñ.jtqL [-.5.z|Bsuсzc6~vZFYoݑAʌGɌ4B 6FhI"MkL]/t5~ɽ V $>R5.E. l}x |o7%Rr P ]0o#bѻiՀ؏;~.-G</&G}F24]Z ȤM-d#z@ F2J$ǬOYX~2Z8KB8x"]`߈7`;pXv"-O ?:t&]X2(s| " Ǒ t%Y0>oIoŸӡl64Wg2JeDCÅ( Dd0P<-{Hj8'=ym0R/$D "v+!4 ``$|fs1޵,p|y':) JbW4l \9=ɩ>بO{l7g}c^z|`њ?mBX#QbP[7{,[Fg60$&ұقKmwPE+IHH0`K! xXDFM^<=t99ܭCituqL+HL^!tI)P=2KX8MZl{BiOB Y-,qB ʽGˉ{ݶ!1ϰƦ9uLh!/5tP g>oYGqce viTlikDWB @+⪴RR>o,d,1$HgxP(mc E.!PXc8 $v GrUP˶mOJe@x^!WbC?| k(:(WThALaӆ 6bW="DcVsE:-D.>AٟU}Pdfx"<>yCv6x0&baLL6]~V!0]n_Poxɸxpd-d(xYhE zC"RB+$D7 T |Moanh#9`(gˤ}M@esr9RvhVP* IAϼȆlB2j0 3{ kH *hg]T/]lA6!-ouiXN ?RRFU^Ȇu}D4A?U)֟){VT*zOek=k>ni'rЄ_ˠ/ 1^ZTd{f3{:M{.T˰"d4yhTy!( '9 ,]'488 v̼s(!)_PB >؋a^|PE1}֑Apb ;gwGQ}Z~6\e$[wy7 k-U 3qqS#"Vho\*𷜃|VܼhiHbnЁ]|5"`p eF3U6SjRh(L#6ܟՕBhi31 M4gDx`e5УA!RvbpI_2K޻D q, ]`BIaYҚ iQLY=#Agҧ \D/#~RZ:_NAg@VWY@tXuu I'FewdبT% fȡȎL/YAYYYY Xp"-8>w2:-hhl(Wiۃc׶rՈɛ҉~YCޕo%Cu5w,V[˯ϵ7(Q?ܱ^v,@?wh]__v,HZADe@]d(7x˷#3KFoSkH=li- ß(O|t(DO۲]C7r# iofdژt GݲP#Xhy'gZO5~!Nn#LGSoY,-8HmdsUwBܷQ0"-))o__M:DHSl*P!|{3Q"Z'Ntqˀ+>!dsuuI_ocƛp5 vnvd 㑈lS(VDARQׂt*t(!Zş(DŰ^7.1 sx"ElkX>v .c !<H$!IM@W _*=3+A@cKJeCkr}Ĕ#K@Z!~ g@XVW!}yt9L-H ,M;*\04 Eb֍Sd _3=Gѐ>.z*H]{KDֺS O2gMe gڱy摴ka;<(0n tt/JwW96^pHazD2m&z$d,5!}$ZU L . -H<Nb.09(*P(g>-c۷e>tTsFDφ4T  8MjpEz()Hx= .33i2eގ>B0t$xg!iq(ʄ ) GDWsv DaM'F~etw@AKk| )T@ TߺJA3)`i} . ɟ12 nӻ4X=z@r%XZ2 ]VjiU ;mJ\{*V8 fվfՑ "R3],\ki<Y$&j+&bQAɀ^Nh}0!X{W8!f*yg"G?$3,DYG8xT0k&!DFhgo-'1R|eM9t>s0r#4p#ti2SkF-*|LTSp}@8> @̵!T*x (UūIo|H_&(2K{DjYL?6mpH(>2X94zJ"AbQE:-W #pp3[ߛ; -hs$;+R3j/hsctc݃`J~x2_.|뀃r/a OtgXJ@\gvHMg4[ kn$xSY6>aGIVT@ t Vx^AyJbZPsRݺPm˛viy7>/]a=/07;k.poFo ~;1%ߘ;0rw؟e 7(Vw(ET;;cozq݋~[BY?b3hW9ܗ L1-WdMV"y9[oN2-nSvߎeSp AWܯ[M~ v;"d3& x KQhyrI4AFՓy]mbzϔc9i͞? d*zAPl͎+`T&:$|qPŋrvea ەq;ptʗC9]`PBߧ=X5&KDiK VF4?9Ap9;unZ2j1sL4L$\N ( M'Mby]C5MEtQ[_?N&)IMdlFO1k2H*vCa d>oac9`0owcm`-35d&Qu<(hҫ ̾Sj H(H)Bݹ'%`ҍ V뫡ߞ1 cUW^d P hpϣ{ޝBΏB…e.*2 _;z/^ĄKVÂetU@ʇԠy8E1@'h̥҃VxTHy.;=-x.BX($S^zRKT Ap#ˤpG@ʧ>rBxD ªN?i2s+Efq# m!qU`Qυ$V0m9N9dṞ/+rYF#)T)30ל.~/6ۼVD>=T-yEלHe~tl +%oWo1?7m des% /&q7|5&hI2q(LkeGboش@^ht6nA$RPg"O,fىD&D c3֖k&o[$IYAC'P2}˥Y'cӺw (LEƕkI]&z q9^x~Q Pҩlh DE'HP3p<Ҷ%R`(Lc¬Q_+/SD]jM }d#52($BwqP`}GH1am4n #ZA4$rYF u-Em us5:Pog3(%SV²k ȉn:eI!RIs_+w؏9RUᣟX>D2h`!Z"!_ka> C!JܷE킳L09 #8 m!23N|icUi$ * !Ca2xCǤ*)&Bh^&L{X[6koEp;r mR J[S" QTË/¯OlԴU)ejO`s*ׯ :NIf`@_'cDpDj*|ິ#!jc) c J4Tx!B\@oAnAoi5 3p26k=VGWL.5RvXI+Hq5! o@TB#7*pG 0-!2ƠQ888Q84`!'Oߞ4u הpEҘsN=؞* cy(/3ޔ lhP[Iriii2X(wK!%K&QK2Kvcض-JO|ވΪR@Ӽ*[S-0hc]wh }as^UN0?g?oߋ:&K]u~=c/=k@ք? /^Jc5 7< #ftc˖hShb 褡b ݋ q| | y՟|HIxt$gnlȒy222F_M8Xj໫Ҽ2`Ԫ5o]u5c(hDc5T/4"[) S&_N<9nDʔh9EӟhE/E6t8)WѼIb+к4c@qj ˙Kj LҎjtgsxgSg}R؁q=5.?{3e1[xysӇI{<ۗy ɫX4l밣S 7{o3wNIgkcYJV9'\(J(Z~I fiӪ bSS?] J稨jܕ;_ov&tn8!&GbQa)+{B}fh^hWk-ZzK6#lS"g+(xg툸#%GCoFJ[DTS Ы.Qڈd5} [2wQQ=}R*~gXÕb$+5#2a/2׌m[T%)FT@6C Nn\+7"~n"㗫T@1 bHBei'2hlg(unyժx2B5%=cы~NKC^Y**Z ߉:B^Nwr"ܧ=o.6 ib5TP=a5HzeRhY_ MU:I1ۙfkĠgvCۋZ%~!jz}PbnneSZEz`'Au:} 7ʧɂbhu)HuI _5l]5쿊,OxR'{-\vdqRY,)SMV@sŊ H.T }2WY=pן?j;G fX,䂆:﯆S@YUMG3vry)9RHYtWGO}ҊtڞLx qr$i7_D&[اK_k*Џ:Hv够uX=:ѤX$ΟG9 "̨P7U@yg^L!R}|h-(n':oP3j6lV!|"#eUsuucZk!ËF2tw8\)\`GLzOog?rDIP6ILj4)X M\O쾡?OIpeina OM41W0bW/.sdrR3ywz*vr]˙YJ 0gIM_RdC5bzIm/=yU#O`?YG_euwL3=y|9IcʪyW<Vs[j oʞʓa~;_+D@|c@!$Iv񣣇,ہ-2p,SAlv.ǚryD L5<⼸6@iPvT505މx:؎ORbA@gH]Ǻ4>L/c!3i~sV }ZM4@^ J\Rxt-jG$Q;hZQh0`ݥf̤ʰ+J#Rn豠UCAN 5: u[e4hލ 29Sra1 >n[?#SOE}|]uE>Rr Y! s~/>1:Rs_ѭ#ocH851q^U(aݗ} |cՌ2ค묂~{T6S1թدg,Z~b`N7! W3xZ@ccɒp(F#\;uc=?Z6ZFG!,V$cK)O-+p:T|qD)$p*R~V`NT^i B __ѹ} \#zu6QM$䋖iIpEucF1b)xt~Jz_OP\:Ga:Gv5eރ{ 8S1$5(?++mjGykdk52sś;4=u_:{Cy%מl8"‚UV4 wҚ7"PuR j1j1~<嶨`r/qrRu` "sPk@G05Cwiιg!Ԕ@ oğ/E\]OsmZhw!ZeV+ JCȏ*G<6M"6* h6"Cbl yg6F~vxl WP_iWFOYسɖE?^/lY+9[ome4k%kwѼN"rDJj*l~[737,KCl(L\CTa=YYxu[䉯 -] XXKIj32YHа8Ě W[osڄ_mWAiLzI̋J;@?}73&ۓh #حG_~1v9}rO 1Λ!f1|^e^Q$ "z`0FTNF (a\~8X:oӕ ;y[;N[ۊc^mL̑uEb*{㙌trSZ?#1oo %><3)Bfqd>sȤ,7\$tEXYTb7Ԝ\.ٗL3DJ0kevuWrIj+}/&Y0bE_ B_{v'z ,CLFd'E D-TEH =,<ˍ_:KEd XKBdұqiׇ,8s 7۴;ۘ#}觴32oPө WI| DLCF?jg>yDjnh~Wnx `.\3Z fEo6:7[;՛MO=47))#z߱G0:[-"1CeRCd0[ . hv@EGWزH h݂-|lྖ1D! ;:nQY ,_pU[PK,K@҈.Q k>HXhr\$uz[&M `K9za1#ܬ_a0Ǵށ`I2&Mp`nP*sntKb5! 4(hv0|0f#5u@ B۫`-|M-/yQӔi /IpHtEHJ0YQDܠSoܜ7[S>) ^!lCJii\Z2jmC8qc#uFp1^_1ʧM a;y\F e s~nMBB<\%6G Uq8A1uYVdGhDݘИHվvp&L\{F06+gbz? Wq*#\tؒ6!.:nfVϋ-˩=c  &V`~.0XsFܗF/J}-TDVMQKJq*" -c{gv44yQ4[Y}f402'"~34U>q^%9b1.F{*N

@SQsy ƢrY"ȋq,?4A)OLzu9uf86Gg2gX \ Plxr{@XQ!1Uksuu~v#Kؕ'Z55\'[+mlq"=p#K82঒ШRxԀTnypJ\qô/!/_ sI#8j=͝VG,4%*":O%Dj}m}(su!.Ŵ3,[Y'QX284ɹHZ0^igA%ˬnC5Ay^4;Ѧ 0E,%DdceǢﭲAۣspi"P/;MMiVk S>"S &X)MJ\tŔj4È7A֒(QK'A#>߻Su.m'4Qd=+t9o)u]/QK7 G:d fTv;NGő/{+zvCEcyǰʹĎ]9fyF? +Zٹ`om%B, Ɂ,o|pFIL;rdCuKjJ O7F+ K[_9<䞢],݈bM]#ZxZ2L${'V8 xgKOYm:fS{14)"$se|p^uxQ2GsZ#`mNN>VM/+[6'^vC˹%pa%[nN쥪yaZtu-%\5{ƚiM 璈ghP>}Q7MUq.6Cʞ]/W{DsNM8V>Gx_XtJ[IիE5AH[N#ᨒ壢4#&iBm]]M6q2Ԅl0kS΁r*BG{nYLnzOn羊/:R"}|K;WO-?$??0a-UloG.J># uBG  #PB?h 7T-X-x,Uir:pҌ'JX!;+4: jem̊Y*{`ͲVC=mC?-gzDtCǭ,$JyL eb~:*ȌCt`pmD'[W\'ug 34OcƏSɃB_)^5b?A_iF?Z9 bP4a7 egfۘp3g#:Dp;i#V0gjpr:mRh EP唧Wr/]bZandvmķvk< I.1(8UYTҖy6Hj%`,Zw /t{ׂؑ2^!A\Upem%y_џLir3~PZdB~}YVæxLLGW,ngE8Ѡ`kVɶF\I!\gZo|?WUU'P.+'37.T"5)䷄t 1Nn&z[I`u|9Ԣn$mF>VlT[k'ϽdrZ#9.jnvٖIfT g Z5&yƽǛWؾ֩Ah1BeWkb!Y9)\H~zAtxڡOc v-$OWY C/$-xN?wv %Kد"]; Xo}APGp;ݠ78atS3 ~HRy^}]狵$J> i} !5͡UEIX˥dt5>~ʉbrѻ(i9Ι #os 1%61VUmSė?F$ t`Q 4.QP+}dNN&~D̈vB2$#cFX$F F^%Dk shmw!~Z8sC.=D6YC-c~_sBa5Y vTrcWmx++w ~2B1bUS PPa-(`’c_F3itK^Gral y֢=ǫ#б-а>2:;MU U=>/kf%."sgM9xMO}Z = 1O3!apLCOɐt]!xZtT!a륇@r٨DӁm -IF3U2v܃-LcBɰ~:.۝~fN?uOM7 -n]8 ${XaRka+2U/ ѼhOY %*>s-Ϯ68r&g]h'ӷ"YbxPs.QARP;nml^ wNB ]ic,.Qkоwi%OD-$s[UnGo(]iQRuL Mݐ.BiYAR{T_ҌJKKZ4:DDVXD} .(@geҾ$ sɏv x'Ot2ܻH8w0PY|䣼NpNF#"@^c:߬bJx3?ȄɋJ;"+/.!iwSF2cDO fXn*%T-,SI4"3 (G+$k#,,c7!o?>u =P38I^ ZF @j,/1[ ݉ Z:CU|:F4G&D֞75b ù(xZ'lPO=fbF6J%\>yp,WԌi)Y{\j3f?7̯{32W?#OG XCcBZ똾y- Dc(Y_y@х1 w%QҒ1 T3LOJ'셏 +"#!Tx[c}?A  )qtOtnᩃ~ʉl^j?Pt&vIdƪ!==v #w3=xP'Yٶ!׎&Ed1U߇{G0UU0Gniwȝ"?MFelHԪTK[yvRK?My[q6&A'I_M22 wy*cs#չ^+~ !9@@2Pٖzn I*_ٲg/)^|X@ZK](}Ғ2oO%kֺC.ʕsn[3d> a+dOvScjǶ* Psf!!r%K)̼6*Z KrVѠjD~ t@&)qU?JPHa2,9bN᭤VtۑaIq#C,~zP#sv8פ"\ZJ` Pv8 ӾHxĚ5D;c+`Bv)|!(ٿ+.&0P%z$'>!T,\ŋ#J R8"qTo[<~:՝\O tU|#1lsn Y1]n~ Gdm,Cy{{pzs bO>bPNJ,w;]Jcn2Th.^5>! ,öpJVt4$PU#!%o0}¬pr3K{Dqھ<0Es2$\ՀGնeEò+$[+ Q5׼zO׹D#WM34Ϸdu s*R-쬯pOU#y.۰6\%~@cBn4ҫҷJVYs5%d>~t dIJ"w&If̖mu(-ivrKNy؝Erd,@Jً8̈́w]|&qOX۲t~ڷ\[w}.NOr7P|DL2:jSj{Z+ 8:9 O:M(dY ٵҌ*-UH=(ZaǮ1[,KE`@0OZܨEkyqs|N/ v%^cg"h 繋ɢq hok-X\k|2__n/x=ɌߓooE5֘Mյj4֫drIO.7VA=*60ym{9[WWWMTR,\VP7qoB6Vc)Abbkب ۵ussrCp QY%6v>X /+.hQ$ "m&] 򮮋L7f<Gw'Z|gfD:R [؏˗ bDb|i׫bRi66nk:xjScY yK/ƿlynmk9/r&6'\0Pm3rouRB3׆fd4$IK4q25^9MS+DT>5ep<[*3"xH/]fMY)Tvft25n&*Sf |dK+e{ 0)TjK!<92S}Z() $`~ΏAk8Rˈ`}n/['mQ?^O5pqtq <#Ћ)K~ 0o__2j}wHzdF.$hEl7 c F!\é&X)1sX Ϙ`$]I|u/) b+/#p@8X2$aY(@ y'teIL(:5T02JS Fdp^Ag(ϱcuT 1$&1ȠeGY2#~e}&~e0J'+TvA_)3=gbrPΣ|%NX.z}Q {Aq8}2ӳM&}u$%h@ ]a0|OG;_1S,) 4w,ӐO5jlbw~7Oxv75%+qb$BI=[uqn,Ovϫ0yyafM89-O}_k*rK*2= %}GK3HP斸PHl!JL57۴#G5b΄fẂnMPk E[ /tv#hRҤT \ڊ2*s!Y: pԠwHd*C./b+фwtD|H|].|#eGmCKr*WT:* B ,U;"`V.U =W \<(ז3Rk[V-3[DI|`{M]*`q*'{GH9;"a:%)9#%;iWQ4 `DF)}슮amA^r&01'G5yRt'( Pr`cv1nReŎ/RƢ̑_>rzE(jks"qU9Pa:R+H>:o'Gdn( J".}p=&/U'cX-;irzVGul[Jܒ `۫߄>Rn>fF>d_ۍZltvC3mE1[M]@zෙ/*8Tf+E{̙SP7F1!^H5ß-DG/)WǧS[ٍ" dWEsYfd_Ija5Z5`=~nasΛmSDЦ@U+e>}Enjz c0o~e~T??87RO'r!Qz ܊Vs+tL2pj>DYOP'4A*2.L=d!jF3XeFgUC3_!~x*|,k]R=N.V`A4_`d'?dTqiy{ H8(cII ޞFń\sӯ5l*ؒRi ҽe/BVxVEhq;e3ITIa3Ea343#ī{Ue,mB=]_rqsu2WWԮ$(ە=* P !rv墘б#~[W- %t7"I +b. Ŵ) X< gNlt9rIOeWدյS9pw;U^4a=喐Cn+ Qk&?31\ZW-31~ĚPS'ϸtP"Iam)qiVo{l߇Ŕ`h/+N '|ϷWDTeHcuσ 3|msi8D%HjnwQ }Wx{G?իHujT fLә2?GK [䤾iltBxµM vp-yM~Wz~M)Vػjs(򯈦AQL? =]@)fP4 wѸ75#Kzڰmv<"J?\VގnBiLۦ\@8ݘMxdGZ駓Dg8\z/ͼ )yzl@L3Zݶ⵺d'1WѣC& SXj0cUl͗pd(1z&˵i:>i"oXc\Ϟ()=`d`|kj\bt_t; N|SO(ASVLBC˰w>3,ɵrv ŅЧXe5O4",eB;j]19qZIPWmHa2VYN1r4)''>ïI*(Ԧ.ɀSxni i 3 2}IrͳV),fISNvթjМ[n?Ϟd :cdNMZ9mV]~[AcDB=t!TaO60(-=J]RӮnDy.@NWV`9'AAosbs!:q][Z%v*ٳl7K_7c_q~?kUaԯFl }l0cn}A݋NIFKOˉL/Q.yfYew~_MOxg,F9zaD/޲GX|R: K_M66Vr}T>c"`P_#+ u~.'/Xrmp@] 747 !%ڻtcP 9˴_e1jU.&X㳄\c7RO0Ai݂&d~\(Zm8dnJ~B{554zؒslQnb1j?V_=ګrR'/Ĉ ycČ GW–f=j Lm62:~:1O…hlWꬄ 6t瞘'+V.PmLk2pQa+躜^UFr]s5}N4ƨAAY8\:jZ :([#edq3R ؘ#~yrBF9u *4mEhm_{C6a6cV&O%'vTYgUBdXScϚY,YiY쭉_:r;JN\vlNbG/}!3+lڥ|v+8D#~lKǑd5X h=okGYw6l`ٔrbW;6)iP E7C$M+VB8xA06͂:VEynWCb3Xց@!/$>f\0'rsv=j&nځ- Ѳj&ԝ3#g'A[L;5O{שꦩiCir6#:R#,u᧊9'{LpFyhAҤo/VgE=U' g3~ٰgQ8GN°A٬֞՗$mzߢaO|gVӠEdIq"˟)b8>V%oK"HZ \}w %aOglߋ>ԛg4u$n{:]A!KWk- UuVSő`q _憆ça)I;1 @Jƪ=":R/mZ}6tkSuVަv: Bu0;z%Xa|{ y ori3R-  L: 1 ?%A0";P:]v XG2p*jF&Ag+O!!Qgt>c 50s 8{s5H?/T#v{ot_.k.(Q3TNCXUYiNYkDWHSȧz*VvD=1DZ.$r'+ Gv񽝡$, Τw??+=\jxG { c7z׏Wn|FÛbPgM ׀BEAH܅&jUjC584i)D3鏬jK~2K)[o1h2B `r>A#/n!ϣ̥W``ǥ2$2slt{d\5{_^MRw~6soY-ԄvIH~W`ge㳤ջS5G2ySg;׭VW6_1>ztn%-h H@3Zۙ(h m`7#Ym!& INiЩ ͭIg 5/w2Jy<1$e8/_:տ{L1FH  e"y~x9V#xl>@j* AEi< vd^;418F֧ZMY%`ٹ SYہɎg|7PALZťEFRQv|1-{N)2c 5!II/t2Nxu2様# ΗLTdJKq&dö !8wD$hl_PbqB{*GbиL9D&\{w&Z.;81~^YF)z;uQCcJRzlhc]t J;?wI.kxT7Fdo?A @mr.=nN[4 2̪m6zF!jׂZ"K$s@q3$Ax|$O!i7vYe*X2"rT;=_G͸U}$|Tke<GǠ/fIZ8BSNE,XVkVf:Aoy(|'-SGr |2|PL lrEX[~w?+YѼa44DcFj0[n}!EXR7>!j  eT1lcul۶۶mضmVvawQw>oy߳Vͽ7\c1R c.IǹD=j?( *Gf!3OiCMiC}N>wsk5_ !s~ioД#5>&㊔,)>O_-1/)}A0$D9ZU%%kQjv_ʉSR& Eqڬ?t<:5:Cyg>hzn7g{qd͜义osTKctMك\;B}D=U-ҥyլ5^z0@j5ݱdqQƞw W(F6o8ܖwSR!H3JMp .]*՚%@KhR??&3 4444nS27O\3~?zLJx~)gg9gԢ'g=(0k![ Fk:y`'|!{qag^sM5W8. &VfH`7ڍ?];W^` &\yXO_ͨ5<49Sz;' xk]#}v()(bQ|P&f2҂!d K6: /P ~Kp%k\T)wLWInl4BdUap0HTohJkA28H{@sG˸F2Z- eS!ď\?PNedNA'5OY8ljG*$ )H '((rb,'*u$گBv7 ᎁVӿW%[,- eGB``+N`>`C ?`ޅ :h=.V4*.u h:z@'UxW$`H5BL)<"YpRpU[(xT+#hRORZՒu:3?Wb۱TKI]|ebUZsxՊ6ty TOw&L6lplE5M\63c 55XA핡L8/G93`{KEQ1SV[#GDH!J*i",^e<͗ߌW(#!aZQ‰iIaPQdHkRN_uiv`rբ`+jwbGդnk0?AI)ʙ-^u< IdgG! [}}EX0w_Ȳ?]/=%J#?o+?)X&s=/DS9czi%;7|53zX8A0`yk*$[ykNX#,Yk|",Y@>?ߙL ~ }'$JX|R~ id.{q y׋7pF4۠melUJ;6wGnW젗gGJ@|423C:7 ݼM=b.O78?-'ocbA?`y[i֚^g:=&uN2UOPQ"GtaU%#kvj9E`t 0L5K,+wb)w 9ڲz %H 1?O'lE0K]- &Uᷮ9vǥ8}q|J h]ۧ:hs7w]o}/V}a:4GT?>+p^ٓGj[Hq64U7} _m@LAsŸ IF5HcJѕ#O(;eswnľ #K#d&%- DSeД): gB9_?շ#EA}>k{S™KKи)O"D({|u= I1|"PLk_棼W*qAel0R~ٲ[X4=@>UeChO3;b̅rj)/b7g8/[Ţy'uGn4ROUDY|²4Eԉ^P-0,~O*EN p`#($*zSʝ:ox nƝ$}V5uv, qK38D-B:@w 6[Xia̮\%8&{;3ȱ=`-Q%apbY4~$!O߅ T6fՄV3G>Yظ8YoA~ÿ_f+?:Rߢ-gZg]E؝Fҕ.3.zVAF.Y&]~ICT~A!AV\ 8\NrVFej CM2mr oe1Q^)I>̰hKA˗"î FD$jYLӣ7~F^`Fuo?7U*.;BCC*trss~ߍmO,~ &5ɭ)9p,=f _nE= kkMj_AEY?HHNLui] 䳫P(G tUoF {!" # w~ 2Q$4v5$jE CB}]@./(yqX'0 #QPϊ:+)w]B~3Tj$K10UYo J#fD]>7 a|ʻSŁeO #7dj&g2!RJ%n(M&;g Wq$=&FWkD8M3}4o_4yČ tG9 dz>oZ˙U]Z rU ?4rlEU %9-2 yBGY2à)]blIJft@P{t?6ok-uf N w,&3RZ\6kr 3/s-nqbK EbYX|ş6%Ӕ^B7S"2 srԈ qu +;- ,8|$$Eٛ셝'myye60r62( JZFw!<M}ojdM_8+3Aiz<\IڟS.GtxԎjWs>_[ަGcLUa_\]+eB+lkWGOJ(B `>ԁmԑAx~*p# Dz$BNZʳ~s1(~[VLa-*v=TqZL\JPemnV’(=C𸛮*fq" "' uVVWcg{⏳QkTr<4_iF+UtQ~#Xr/Hr .6GEx_5G4"av54<+ڐJ0 7[dF~{+Q}Kl73eX0 'jNÏ"7lo~:!`hỎz`:2Y?JZ#nV7_{Bz.sK f9 $6o'W~։1 A-tE&~3Su8׾O|RLM)?h_a>{2zN (F[to9x)@[ Un;Rz.Gܾ&, }B}9MNehk\^|7 )b3]dw)oN/Xּ˯h;:x1xxQQ2z񪒚~^ JQ_ 99&x"^2|4?}қ`b"3`3̻"[mpNBkRctd/XXg{M +Y$=N+N|9ۗ=!2+R%b5h 1th C? qzc<8o}y4?mV4galDŽM=R-λm&ef1Fṕ)T_K xo0ha@IW8*W1GP IʈM2%!?,/ٰ—ؖ)d=Tsgr7?* ͵t.*Q85+e- !hD~ƫz~CyzM=WYR9 MAq$ >Ӯ.]:L2/D ۂQ ^>!r4l?Od e6'ŐgQ0YiﺷfAZwJx'jOT*c8u60βD5hwF}@ ۤ7MmStEf'L UFDlB?b?[Րk%Fzi4^R:$BpO -HQg*t19IY5_i1WlN%v+*Mwdh΢JIެ X|7M`YbL, + K -2].xAXMZG-m9~up_m+z`- ;O;ryt_mUK!T9^!!,(ήNb"xݕ@Obũ05Ti`]aaMX#0 mDOS  ` C8P~*srB|#H)|MzS{i:\ϋB5Qx%cyb9{&FAVSB*ɋfnwsYRvtڰh8cjbF'TuqHk,6mP+V_&Z[WunҭTMfrciz&4$(B hNu,v^?Z. 0NU]غpvLY(8Y(@FL`܈C%CMy>5@ۄiL~[?+`Ԋy39Od`SoB .K3y"r"1t!me g&5]MATFz`gnBEAߍeٞŶI9#2m`uO |՜l'z4{09`V\OkpqT0$M[K腤N ,p<[׋Nd+cirSÜ;tĞf4)Y_ 1!N"wֹA|͑!Tndno_ZQR㇯η7e+!2RCL_/GX$d>a5*C@*UAG沴O啬I=m;|mJ߭.7K.]^T& mL`hu()gAx "Louu|_!/=!c#9Ȋ`_=Y1tqTD"^fZIi R%qVwLfDf[ w3,6#n LN5_?;=uSxj oB Fns߫ 3z5B38k|Y,Ƨ((Ht2VwīvecP띤,~1/5|Qlm2?O"\svp3iVڰ|z@Wrc`u,5/3ۧġS{pn[{tT>9 J{7) C, w_ !6S'4븆%<_far ,iT+x+n|$+$[W7-]|z"v:Xzh!e#?p+???p۶Z@(ZWn*KFQZoX+:ITHv>؊&H̰7UӺF堽4es)hF7$lsDyNRqƗ?nvv?sl3-#m   Ad%ٚo[}L,.a]ɯزm4zb|!A.f1ecu;3P#(-ЖN҅]YE zӌk⩺KuhZOC:X o g삈9n}h:E6 香:M*0mFx-PXJPV1&V{4[CQ'XpPԹQm[6@ .=㘛M }c:|,@bA&eL t(/$'x U8B"")-Kb[|:D] Mʳc@Xah,h;sjas%6Fe[1ϓbqNCi !ȝ,0_: @wa'Q}r0/@h\!");sPZS47TT2΍ l.pԻTe`#͵|?CSN;^Aٙ ˯ƭĂ~8 VSބ9~w4sUҒِ^7-BvTZu7gq '&c;WJUy TA-7ω%7`X?667]]h=>okuG&ς^ȇ>< d}*|;HkD8RɎJ pvϩX\Ifa,v懺Dݵ-6TfkG}2dv"46@-Y1_t#ΧL;r< `eNs+&t6aFuvc|;6"``숂d`ʄHy6^'!z;ޟ:N 0~%^ڶcKpo? &kAl+"Qُ\?}XwIG@"G9c(c`2ҘDRvfF3Do/̿ʩ.^Hߧ|aX,>0j - j_bw"'(NY մ-%oO (A)QM x "T &EUһS4ӥ|lyS.C~7DŐUcNJ̇[Ppf3tw%7.ҵ:RI\5IUkCU섡&P,>SC6T'#?GoW~o(جPfa†%5Xϒ}vYɻ•`b7}VDGŪJ,} , &87+Y.Ti6hjΜ`=M2兼%_M>|6m:pG'KxG,_F=qOrٿ`}"/nBL@76+[沀L{5K7&(1 #S@(47xXӔdrPEYZ7Е.Q63D ˌ4 % "j}T)A=,B-PLKya2BR2P$,: ;O 0 5&"1qfm=,#`uO(FaNBp/dbgj{wb($(3#KG'3tJZi <?Ί Xϣ1ްD}~B B3@f˗lR8k(eӒESO|d"y>>)7GUM;K0c#!U(HZjYۥ/1yH[}65@?б$Wk)rK QA#l7$/g ijkf䱿Uo)&`(Y z 4SaG=]wmP[x^uP5`cenʄ{#.Q

JБw fF|.8VjY%_OQ\[ԸOsAUG땡pO3:TSq냔¤D)kpaK vXlqG\NtEM8gIQ~$W:d!`*Gh;"ҹ,zr}d~ӏz~f=JQeƞBܿJjk Oup 5f@3%:Ir~mt֣ZDm6 &#\䳺}}PF}HwIf=fHHȖ>JK/ɿd}WPL>X704T@Orv@urВW: Bv.Hi*O sBWkO%EY˰l HVidaRZgͭOEEI{ϩ_+PVG_dye}A.=uX 툖Y7t<iHdb.c佩=G&aЧ6afdzB/OÇ0,ː0bfS(%B5du_9&:s؛KPGAiLIY"&4Yu~D,M\u$*/bD'Z ̩RPSM9B^v9 .)}kQъa1qO,]1xq 9S=WC^$̿~C:(Wx4[>l漓LM5$pWÆF8%萎I,fM_oQ8חDsi ̫~K] oi83V3.@iL{W8a=9< G̤ZukB "m{]?ƽD#AиxsqnAiz]-&U*t@>8Պc+M M,G~I= q1N{Blln ¢*dxt:TU}Ks6_Au`CAzK}HSip,377GB 58T^b}/!ıq9ek? ӝզiG]VeKĤ՜a?+r.^L6&=T&K0X\¡2IY I)~.dFG޼{TwRb!gxbR 'hikURc7_Ho'8e›C!ɠB.&J -#{|©ծgn =?F  }4 /:4b&Ցzwm[8oG!WSE@pÇ@`a|%~[RͬHpcafb WEǫTФɉG1{ T x#AIB(cT?G?~׺d CxReW$~gWSș)Q<_4̯Cs^7;~ $YId+BV7_2jZ2Mq.QgHæ2Z3{yGn>?l v4c(_i(69|6C~p+nA}M۹$kÒc#9mkk;Oų+,0pX$?\M=Qi_*[Y3_Y㇭ʈ͆Xt:i`,RB;ȡШ5NO`Z{}0 M"ŢB1ΞAASC_/$* :R,À[w SfL8\ K ǦMi$}``_5X&NE椤n1.-GCB:^i|ظaHJߐ&e\}cq9%Qh,eARf[GJNʝivp'r1NTpߤSƬ skwZ4YXr<4} HïOJ">3&ٷJJ,-ߘ9, o9˕L@J.ڪP>2T1`JbK}rsCj "C}щ*Xƕ3M`HX80y3wZa&IǞAd҆*YbO=B5g1R4i[ NP*=2(-Y*o<,W7U_e!P?XbZkQF% mggUFvn饇KDS].LIMK!.#=)ZR%JbtN" 6͵3iS Rþ,s}]B&K#0S^㖾IObLgWKAuO  '%·_򉟡a4:,#A]EOz`HWȭO>()oEDa#o/f>*!10=ôo(4bU>}8̠e u VRȟ`&|GG}fH(x.NV0EǤ,M珖d;TynOНm%zxZGFk&4"s(܊0(Zj5 UD&gQtgGPK802tsPQxpS>EY _$_HW{}rڴq"li!dJ+X'>MisL9*td6yzLjS( hL#v;Sby&Q*.Ƽe@ Έo4Y{)`qVAG {̃LkUM8F]{'j'pZsȆ';Ιש/-:y|_zR^FL(U5$ /ELP#V(?\/xx17sFpOn,I0eN C&&{lO٠򊨞|/B L'd&g\pRj U?"[ڋZ=863iãy*_ e4.?%Q]&Zd%i^.W~SJ\`" 5!s"[&{OrE9AfAm0 WwlAb1vV3v#cʷFCm Q/m5e]"Γ" 9'"wQ\Y)"" ] } Q(QHaQ[Pq5s.=0=]Y5}kFv/_;D,*!CjJ eO28EK69隡ѦoUWnleR-2v7*0ZR>\B,р4jK~m,F@`F!y}|O4AF;|*k™v0JnW^܉V>1ZڢMcViRi'<2;QA;8~#ѣ@2ضI-SC{iF',Wog2L ;ckh]`Six$W]]&L>vLT9tN&Yҵ 9s Tbc7g!U}Ȑuxwq\R$"[ZwT&c $N`p~)|,?XhֆyiU5K'-.{Zb "nWݸL֘T|>l"1躟h:RS59~ok?A=lE* x ~wC)*9O?ZJzE,8ͣAށTuL̯e,Nt?L]1<C^i1KLX,$t"D)! DГsKэ|shb\Vjʴɯ/)u*Im&{z+xݟ ;\eFF N}Qd,me,6e6> [ *q]RD +w~itȆ 8FL*2Mm%웼!:AN0yxhzJrJz>N uΪ׬,0V?i+NcTf/wcsˏ4kOkڎ6N𻜣$.7ż(#F GM[-PiFEkSZd=8-3ڎhXܳ\>P›UsIId]2 M2i ` ނ")W=ռfꥐ-;!m.#_A$c̾v`/QmyBX&Ԡ'S|I&pHHYk/Zf`ÝD *3ivjsajnu"e ߄G:&=B>/%VQVRT-W_hp{)lۭ2_7xUhJHPwa(!0WI4d8'[T#DYQi|۪[6U]p5U70,ӲmNgJV@V^qVnkNbboT.!L8$6< nː&/JgYdf0˝}7iɍv/k*WUژ"M"~C /B=>d+\Cp~ 4͏tVQ{;'z>fpEz֙ܙ|yk:GLhAg\ #"Ur256יopb_IZ|l^TlY4ěV9j3͒14ڽ 2p%8 u-S#VS9!.H_"R=5&n / m*h޶]lOL>LM2GTdVs[ʴeyKlR}7MsJ>pIE7rvsy".u},I$>>XȒH\(j@ĕ\E:0= }(_}T/֯>:AO+ *&G嬳{t rD$j)TwE9^aPJjQ5l_/$SԔ3%ѮOt堚wVuP_KHG.cЅc) />?bլrphZke8[^~4$%*}!hD2^dU M"ߔfQ#[^8A%űOcb CR`dE?k wu:pIuCl %xDVy $}e&0z4Z7}2ˋڛZQyZ1j@fĂݝV&g8W/_VWf5m_=&tjD2d2E%fe wVѹQMKdӨK~q\ L'@xf"ræ -d EqzBS{f "wL+z/\)Q&0˸C\kӵoku0,)laٕ3j1إ˿`,(Dz\qO]ǯ"ya%/gLG]9-,5شj5-@kңZ]&A%-i 4Ciw3q9N X8NPcL$hV=^,V^f&C/m_0ˠrOf~vs.fs M2)KhCz4Nr aXšs)wy.ѵdKErGlb19?I|p}X&Ӯ^z/2ʹxxߜ% (ݷjFX.-Td+~CC)f5,ɴFYeM&j"$~?,ΙZz;$HCa$W0㫣ml&܌Tt[ G 8R|dKhIڡ8L+2j^%;4-Ӎ JW8uTF2z@ /rg Ɠi='^UTsphh @XLy&v (Є W}ƒxhWѐ1"b(h/kOLjt)` wAQHK`jyy./RlMo1YB' ּ"Lքo' m'3*TR:*a=લybUN.>zab8oTTT|%꽕Yuj(i->L Ƭs9%H!rV9ᜄ;7ev..appLSRx) _Zl}=J3Qb݄=JFZd/hݝ⭂=K/ Ś? U}9P`+0h9y0_Զb`[hQ“,{b$*+9zfM K3L5)$od'E2 *16dC(_' +VrHIL #_A=#/[oW~:r@TَZ@3teS8&zix]d!: xN%6+U$Mt)c߂Q|j)p nzT{[<9(r̐4V#q}eR*75-$9 >%61:SS סH^ Y.#.]iܣ3=+R9ZGY O9DWYdǚ1ú|81]O;ҀČ`IT(}r[+)?<*`P`jH\DPh\5} $@fpM@l$_:XAp*"L/f6Uڡ7-$Z/Ak wvMw?AZv׆3sR^hr$KhwٕWc"-Pr?V)Fkq Y{n;GlsVx:'4d&3?`mv6cDϫ+8f =}CSMl6dTj ks`&~se:ECcnL?Ą3aNg\8ihsc_"WUrE}.|oC;1MMW/H~j~֩51 (;mВ%qgwr48F-T 8@AB`Hgv/Ioςu`B0f&Wz={.śtvxB?а'k,$dh.$6Ŋpkm"TgvaMnfPzvfZT lL"Pa0m.x V;ӗ&KDBWG oI y$ ]Z`$bV5V&SGBu7t^|9R+l# bs¶' \6g26Oq"KЍwq/z.ѽF[V`47zE> E"Lɏpdhn귌:]thNԍq0ޘtXM?Mj,WGVa؟ځ~*+;4pWyfݯ[}ROYF-K,xĥmF57LH1y_d.VJŽ*&?#<qg$_e3v'x?J 9y@D8Lٮ@fJݞrC*9jaT"b"]*Z4Mʥ20R{؊](Vtm)|b+gσCۘ&w0CY7}eb ԕAo q (h<)FE{U~c5##hec)'![%(RWhhh^F2 #c ۳U?_7v! P\q9@rzeLǬKbg窅VUiXo*t!uRS6QN_>MoBu6 =qw_:"~T̚)CTx UwQ#af)̼BSpGtZ̾'˰(!T$e!pjTeU6 (X*fRr5w.'4O7^2̨V.'E"Clt0okAۏeHzeXqM)QO4l,hW466Hq;ir($:@aJ!{ 'ytX(!-b@զC:Z:NU#= hEY4i* T{3SuH/4ج$;S0Or5Zm}FPWPcz/A)OFa%DL*A-NVڶtb!ƌ|+B I.fEv S9w6zŊ W}Éom3 aq9ݿC: >?rئN_"E*=FN],VF>ZLo/E" '@63}8n3}S\'Pox&)&9O "~&sGaHFR=N|mݦl=={ZԮ+6ߐ7YУ鿗yDUawMS|ϮsBevHz,SE^5 1SiJsLӒzPo̾X0z[68=Ʉҝ\o$/G䤹0𪘦8@i*2N5V2U'}9$(*m3^nd<$09kp.\4X1ۮ)δ>]u9.rcziX`dgIqԦ~X ӪwB[$˕XNL֐a0RuM=/ɕ]$ Gi,GH8s2C)ɗ]3GIC ӼO2*.noy)PgoaXm{=:O¿GZ 6]UNy}{k>~Djpp$KZӢғxlCYYHfaJ2voM759.'PRmg3ZP[C2iTռ:6E*5;X .[F9?807[_΃_y/ W\AړD,)CJ 2T#9"O! Փ#f+Q199].5I,%rńIh_E`Rk&wUA+J7L+Xy"zXtXG23yIALDx~\Q s|:d/jMPnR?[{ poPv ߌK*sx̽9G΅u'4]uh\ V!W}y T^#mo)hy`—B,Zf5ÎἛG}~K?W[;Ec(^n$nz}4Ί+1T[2.dSk}r"!ڸny%'02Uo5=0'!̾ۂowhb8eN)ݳv͗芅tb5M6PJ9r|,e=c=cX.GҎ9o뒓5<\PY 'uIԴ'6}&I28'K__02@v*oITWsӴ 0 %7)|vݮ͐^KqG<@);^,djd&s9k* P[-ӹͨ@.ꦿ7ۥ'DCW{ CU:[:~"ch9 Hb`ϕYs)Lg$gg AdfdɪCܹ~rcfĽ2 :Ʌqv( G GU'밎!YؗebiP&=%lFT==l}8v3s2*o7,d]gVRޔ)x,z 7 jcdy ˃YxZY/f(_5?0=~p%?ҹK/%dF90*waj]͠6őX0Duu7~9/"& Fx@@ pRj+f[<29+r‡q2%7%KtzL{z=c+$+"i=0`a-6]#?5+sWZKmkyO LjH[g3f@",xҒRao)e"9˔D]&qkʠ0j1n`|Wq!/KR9V0aB_ҽ-TNtl>N-Q G]aAW &DaK|(u<'hϢڤUKAоZ]B[-qm|95Dz9$~W]-~to{I0y/-V&/*FP2m &iFL0452!м{ߓ./ZlsZJ#Ժk!4Tz.$“aF#y{4rMdC3كlˠQ6D/GcloHQ鵆W[lul6sܲE_;X<9w}of-PHZ~·[csiC0 1\?k67sQiX$ӂ2rp+l[Q^Yb*&`vtwDKH}_b\#eF[g9}'ݓ$`"/魗c|;;m^wJz\4kdE;6%tޖɬTC)MͱS!NZI}qF1D|SO:fo%T>qhf^vPN xx oTjH'%q-0|T2rZuY#eOhlsa=:V}ƼaZ- $P0I%Fkebx_/)kҾj^ޞlXR xe Z VDŽQc_Y_ny+ [&S{$ڶCm$U뒎W̾M15` Ӽ2ceBcɀ-8D)?pUij!#)gh6%^gwP?X5drݢi5MuvٯzIYI~[^40os!H iISXkґ] C䶙W{ :$fQ`l.Ix$3<bvAQuWro,*b U릤#!x\*VF4ϣyvdNѠDȜ9B>9eTLg3f4L̔ći-BJIC"[͘ոݞ3 ܏56":͸85!ڨ/з::d4茳SZgYBETfFfNGvuHH]UkLT)9*s9f3+Ta>!狁}kGo1+4ԱNRs_lqJV?:̤hyrn;hI}.ggRf [Ѱa#dFgp]1ikh ٬?D->ߜ Q&?͑_3'ګFk|*N@?#)ЯUVdlcÙt!|Q2SF|fLg&$QΖ FP~ߥP0>Dd O6벶;gިs6,zqbG7Gų#k\uMe\ )R0Vh]Oko4lJ_"%:2U5&Gep{4;]Fƒ}+dJ#?MMvzv5~e7NK綢s篡/ 贷dp-!JIR4 ) 3|CO%=-zdi8- Ѹy[!=;GDDRth]29 ,G.$P$/$!kHÄUGdC%nB9-yG~HHA^Ī  a^,"`rh502~2;n*3>$f`^ P5HNu~Д!-ŏ@Zv{%$XcӽѝO.:^f]c]hL{`Ppӏ =3wC[ Uƚ_?;֞@QE.6.tG%J0@_8o,e._n2c-YkOoK#\DTr]x{m)}K=g vVjio甬"o`/;^U,`cZңsFkL͘Rv4Ci;Lo=WdG⧆nJm%%G~UɫDz$Aq[κ<+_`+^(GJ M CCɚ$]{nP_/zrͶ1=ev N8xvdǙ0S4+w v8_& W:=%JuCARa9#$1>͡ +:Or'QI)Z {up=r+i[8o=5$bOxGEMβf}[kEݪ}4oN#1[U,*od?Qx2 f>`K)-d5kBZZT\Tmuzt")[=L-? pbC/9YE<%UDbd^''6EP1B)J u>5RaQOH>Ńg##îw߻܇%?v "C;~doMoR/awU ~)#θ9҇yM8*fФM*.-ǓxHt7NDώcV1INFHtB@.= gTEH)Tg;};}_ވ,f/c%VNVF"ĻgcgsՕQY2+6*ERMrz=*/3)i)IHJÆ@:y#ڹ@vi%osUBV&`HkNWalD n̾yIF$B53\1 ~Z5bx Mw{VGKkprѾȆ"6ut~spJ ,İ.D?@rjS4sޤFk˝RJ2(B?ebzsY{ϻOFZSQK_¼jk2<?#b3hf/b7/#~\NvRhy#,K=E{+$- z(,<<}TeVtaiu4!| ',:F9mI-hgePw$/t-oo!R%G%)F^2͍Рyuackj yςAH^㦇_n>D`mR/B2]ŗww^'\ܪH̟(=/~B y 0=?\f9Y1v95mT[`2j!"f Rsrf,.CynӠҒלp/./)j>>Y&=-+_?<ɋKkv]]$)l02`\aqp Qsء`B:RoEx4JVֻir 30''E$S!mG$/5|RJMmqOl !2E1?#?ȟY+凝6l?KV¾o^&k]F%U4FhkSO9}1pztГcpg5*[^4adR~L<:WLޏN9:Jaȏi$슄!!k}%(;=-[DdU]Q"ꗚ:N(!jjU)֠XVQuL⁻yȃEŁPA)$:,W:bpB "~^p/fݷ/Pu[UZi9h΋ SӬc_5N˯0Ġz=Krgjޔ4Ir 8-.Sr+f13b9Wlk=-QQN-{cNov 5fAG>^,fF^A6,}F7KJ:́_ 96k2^g;PJ+)rJ'Sl>_|—k/ & }1WJ/~+,Kho߁B=A0 BqeZX&Lgyex$b88Y6J<`]'v2i=ݤ"W ea7.`?Bo~޽XFU+!IR _'X!4ПEy'_˽c|,luqZ5eMI5Dp1)ˇ8e2cKL }'(U3cKC4B*wϹ-Kk)Yͼ 7MX9e D7% cǺi/@򫛾 0 _bq836(muq!8-RL5uBD.P01Xgʙ~|;뺞Cl9qn$? c1~ŒA6d6DADQ'5H[m)8c,7))EfEUkZTm#Y"~P+y ,cXm=YD'jL7Sc, GpݳV!۟UcD m`u;COt~Ӟ- K^jiH:KU Wy@ DzE_b'Å^yޕ<.>Ьuj,QP@cS{.@BzR^\)ߥi@1)]_&9KHR߹=Se*I=]aB:Q Cƈ 揕z;'ȑčyQ`KqzW£Uκ"Ek:˼;t5ޞ l[xD,_txs":kxpImrZǸĠ;8hޛVmTQn0)f7$iKD}dJ|MU/53GKXMml2 (%ESx|f["dNbДLi3 _^<*xzӕ}I(&h*. >.w*MʩB| V\@;gbg p㡮ܬĝ|ɕq/qP-S$rP(v[\6Nn=JBɐsz;pׯ"O\~WYxLnFiH)Cav(Þ攮[ݐ;(]u-&Jզ6m5}$b}|\{1 ᅶBMK"gkAFH::C1+L~<Ewp4* CrO,j<» ͥTTa3(ReDe犊lɊD7RJ@5)R* oڤ+4W6h/d ߧ3*U< ސ صL+F?y,=FK%7DADX n.XIIK K yF#ZE=.H+ 6 Fcqs^#x>3 fhBn@DW/ 70_%C#_Q;.5KbyH%iOE~𕬹ͼ~Q-Z**Q:+ Z & 2pSz\Yΐ][c>6{m^ @s5wBF -(˂ _ihVU.M.Zv&ӭإ0$44c1mgyVKK>[!RX;;ۥ4IYmJ3yTr9׌LnFWE4=-+j"R¸FH" |KHaJLnEYMm4R&"Rj\Nm.Jz_ ]Δۗuε:`ÉU??/1#sӷZ/43Tuz&Ԡ ^(W$@i.e{wvs΋M'$ '[ +xEs)<tϩ4 ]8#[Howz) 9"Venb[$uM1H*^aɹN'#btt)o!l:Q9'.ȕKLgv< 3C,4G뫈ivelRijks9:q<@ۊvK7cԩK4VBx=WOc>)t5Z Tnr^I)fj5cLA}XdU},$H_B1 PvZ_uW碿M"Jٛd*`A r>#ifIGkLa1դ,f9sܲGEѵ;x\<3X#hA R# 7ZvPSlZKdC'6Q77[_"4pt Yeo,3$EH.Ҕ1~p&V-B;@SW£bpk2E)a̓Yĥ{?* 9#LJa7,r`酿gn B퉾.WӅzTWQŐTQ0,.BH0*;RC KǕ ^d;"<~T8ԫ-GV׾;=TXV*0E0QąDUj N sc)Im0ij%0 L+kN8+vX=Nj}ח,mO]Wp׏`wHw+ْ,QsEMݯ [ 5,65]. (O{p[~|ıʔbNڿ$qC`NT̈"Z=:RP\-WFBŭpSߜ yN`gqk$1r 0[JyS壭>eVǘ2-Ø. %]َD'rw2 u&[cZSg{ = R,og"wxYVFsXq'ef&_K2zqz"-"n(+%͈P(~0@ҡ֯59W`xS`M1hdڱͰJRV jK{20U[P~Nje0 CA^,F-ے}]&1h Ee϶=5kh[H"W%IC DqTw_u(*^( ܩnicРP{)wP٦z;~hw:,@=4k?Ai[]+oZ&}Ck"I@-2'#, u$>ǒU> [&`Kf`[`FYM:m0롎&)ZRſQ[f)R1<1讣0!QpQfaP"! )ݝ"9 C5CIHwJw݊"b~3>ag>Ϲ9Kg;n8i3KCB&  xP&-/?*%xU+jY'}e]z{?5/٠t' [,=:큅^O]8;!Lmc B.mv5 PHLLT'-9f|lznc@} 59"͂[gw5miikN"?P[ތ4i>v*;4N9[ B5w2D}\\ 5h}, ўTk>o@1r?ھOy5n7?G0Wݶ$+E1rU_ڻ#=ȴ'bpG'=r.kuګJCgC*5}hq;Y}HpeVb)s5%cAXh5HJ҅>{z$)Dt8({X2b5Jtimtl_l2]T~I80rOKq'~bP~dSfp'&f BEh# Gmt"(#DWs 4ry.]R@07SL5-r,X54"}|ܭt~[ϧYs'T.׎b.<`STe-+sTv7dS+̵*IuPZB .lu ܈u䈞r~X|U5\a'[ +qU&ٍv۸O-4or4GVU"U풛T:xJh;a !. /a޺fBAJ)AYE=7ҠwثX9˷-cI4v1513IvQ)=SM{f4&ZO*-P g~Fo*E'LZb_ F~%pUi偞νd䍀L0ϥ*o(}7;KAm Uut[`ۓ!)σ3P)MP"0XFЅ\y{ Bki/mT&@y_w\ft=A$ewwSLuC.x_o5V8=g,FO9Mj=Rz3ؙL:'jUOPzū=Q%-7R6*ߧl+ciX|4PVN%z<EV@lTZ0@!QCDQԀʚXKVy-Þad~6& W<0(@o1v8[&EXiDl@:kΕS//*4p;R) ~!qâ;-oC.v\@1︴9Lz_QdYq2FĊѻqC򻏽{{CCF5w23D=J5ce[h  hw+ͮпL`pd9ky% 1J4l,#y;S7 -Jp2oں/^3{`0 v>u}(u1NUU;JZilq{vpBd 7(lE{$  $zq/APFXv2"ܪ@?fWja)pCJ<0ƒ-pe9е`Yv]ihK|6+mCVDDsE>K[mxh +=-vBa:QՙYm4hFMJ-@~7OOT@8=Bot?~M<2BXB0 nX;`9Cluތ'h3tYPSQR_ڄ6 ~ hc=#I ƒĈK*tV]v߭cϦmR(YKep9ӻ[b o%\6ښdQ#w>VBK#g%fZDSIlz>O#NpܐͫfP "jC4/R͠ϰvk)nP&=RŢf 24;)lHgBn%2lAk׾PPu3Xk@kM͎+ږy>a}|l [}6ނ>/ n:a_[DՎ<;"n8s'+Mxi7(,R.\qVz')l]TZчuDɨloKTMrDL (׳&N,͌M_ɓ'oSp**,\h'Ud/t)$P'{X?_ٚVNX `Ad1͆VޘLyJV&Q3$]՝m%@z;*2 n-JnB"_Yj)aL0)+xEgd+1՚fLJgW}}=Hu[w\ = :wבH"ElZiޞJ>~.=USQ/Fa=;doOQGP.rƹ}blNPs~|S5􈾁9|W8GSn8N(f@ȅ*Le6}&G",;chK - מsL(1] ѵLqvmVx|TՁKįfb/ķ5Yb0h]VN<ܒdzY|3vE)yzcQkIz{6.׆e֗lj3X A7E鍮OHWct9}[$ZVa'X-ixmx pH\\]YUC* 8e[57my{!&)&D-ÖM՞\ΜB\@}3 ']4%}Hd_":JXd fn{MBDל$ԯ,朶8OG #Z2<.C^v8aMJkT ᥧ_7ȟ|?#o` v6Vy0Xvb Y^& $.k5ɾc_ǙmJ ˖͎GWz2ŝK*r>N.'zSIkB6yݹl&-5uU2]XUnn7%++kF- 9,>hv6[Lj\W,Ržsjb1F0},&HJ"lzf>ҲMqq@\^7+KKļN'((?go ^}s)"򎇮q~S_inIP/݅iVX` &en)u@ J}fK;^ ~Wo` .t'dkk00':j r!7 d(׉*P`gDɵۯG/-yP&q:c4ܝmiްj9YI-nƻFAѯȩbBhgc\eEnc2ZW]}D=([m{y;$}C S'Ńnqbl"{̉\/4wuP oKZ5TOBixkS[Zz*Mkm4Jz^6 R2G;LA7}eqf՜Wԋ{onHE]}::L[)'$2+)cQ.lVW_ !P"!9W,vK%J`:VO bV9"Y' zpeghCٚbv8ۤB*Bѣk/L{on=ҧjHi!A0ʼ2`ɤ'iUsE2ۗ,kYҴ = XGŒYN$1EEbV*\ɞ k?쟵g\U mPK$ y.1 a66_&ĥ[mz4)zwV]Mt=*lU;i͛Z@eoW5pPM`W,)U("d\hSguRV5U ^]th6a>\<50:2on 46C5Tk1S[|+o#s߃8Z <"4BlC6È~ʫaqo*ֆ(br+> չV듥ֻg}00՗/~ygGtϷ!=FWg\z8 _̛{T)? ~6C&3η/8ͻK}uǨlԇQ? e/?l^!M5297-<7|.\Lٹw!#"4F;آ$Xf%dPIii8si,s@n&B 5ܲeu0?H~pk>^ݤ*fCȿ >B~E~J$ݩߐCP*Nx˙ "c߈ivΖG׫~8y>27͞XzY9zC}]]֛g8&v+FVc͗cp+2SR$+*TuDZ]@r,kXD&=E-1 J3PKe6xDmm;-AҎjTp,⬺ y\Ūx'Q?b_nNvC+IE@va;ic!+˱5K{Z,YY_~{O}n6,"=bŒe'/dm{]U1z%pr\'{'63pvU"%f4x1Н&;!ALX:"#g:,xǧo`*ę3+ލ.KQKs_̿C2Q1n\0 msfOO/r*!vxqn>1Ex!΅gm&)}W$]oJ (zY^Qi! LcYCB+|(Fo(?8r]cXZdRGNĨ!u0j /,F.qgO(3m.5~.*64M.+RiVٵowkW(=}@v:cco0iKf>dQybCcqJ=/Oj63i tm;*DB%uVn\Y2aַ.t44NN!끶jΧn_U(hŬ}vBT9$p57>QSQH,#l%/Q^c]q<Ͱ!\fUjS^Wux?KڝE?6X*ڊc_z1Us/K-O U!oP|Q)P/ͽO_w]z}ҏ<'<~D j x^iܯĉpP.Ž$i3J8 KsBN}޶ElLnP-.wXl\&dυN>w8AQͦE90:kAI߸Etƭ :ZRf͕gT-zMA0J*{vQzPK kN-i="*1hl,t劲 `\f&ySoA;AIp6p;蟌]Uf-.gdrZh?έb0p vKݽwTDlac\[+`}x,_7ȟvQ?#a|CLeY .n0>˛haKWYZ ߈ȋ⧬ P iyiͅ;ׯ XahVw-D\p1q"/|{z* /5^xһO=[SteNW&m݅"VR%/j=)Msw]/n.JGMFd@!H0%LWv5U/ɯ|iV7oòYOf(હ`b›E]GwyI1a^G6524=VnU9m. 8+Tūk'W.v~ZwcԚ)կT)InOY ԌH} i yF :ڗ9g?y"ƅe=hhx(1Of= ),Ty"B9y?u(zrb_vދ\YRY~gϦ£t⣃10M|Gz7X'wZQ^٧y h N I]NpH6˓_y-nM[3".?Ѥ9n{Cˢֳ440 =KjEc oSZ/mE\ܠɯeNkhKxGUj*EZ 4w%m) * ٷ7.;zlLU rAt-5!C۠އB9e.vX\RYO,kJݛ*`iܝQeH`3u OU[V?[`t[<rKڒHސy 0 y꼲rǹpy], ;EZɤsg+-wQzޙ[J\ve/-.X(mK6o7ou:ZUcN2\uަ%nkػ1m~~5u$!PM5o]~7j6l{,^UV19۲|G_U %xqq0Y(ٯAls:*]bzk*/[?>#C`~h1m(4/QO)x =B7"/*zMeƣ[=z_/Kw}bZ5$I( J4vkWÚXe8(wG8DP"۫r Q\zuɣ\g|Х^M1^@3gO6V?V*LWߤ9(]V+ uX rϬY1#^<^+%{PRq6"h֢jBTj;k%#ė$O_Ey{ I]]~Km3,Dy@~9nO~6GUF@(MJ|rQn"QDe2iDly t1$a-$f0/z)`jt3[2(25>-',M #$:R3R'QdIO@F!bUYVT{/G;`)7ˀwB%$^Jٕec:G\ _cs00qtJZ)!,*'މ!zVPP]8ٻvP2!3~tbkӵ+|I|)[E5K/ ?/tb$Rڌ{*%17f^1X7k.@b=oztlfX\fv ғ8Gbj؈>_lI{R0A1l#>Wft+ ~|uq#iLLn9\ Q3|?\٪CڿL+͢et*m%*2$yI) x"Ewⵜ5':1f-iE=⸚JlBfFO5QOxrT=Zcgʺ͆SƨC9JBUOx÷z\ƽIWaMst MjwBSU%.Ti:3Hkf~15kwuI~S'ΜNN2MpKRBRի!.?i|}jri]gb%&_0Q%~a/$-y?@JHc݉Hv}bbX{;^7Tu8> }u>Æ@aC*~ƋUrת w/7Aj%Fm@J:ܝ̓CJ߲#9mR݂5[tT0ܙ1elTw>&y5}2 v+wmgM&Ϲ̧3<>)][xn|\T8׆{:`JW֭VsnT LfG֩H=~<@0 ե5s_rR^|nb & MvDgQӶ@3hq]1)#MyxМFI(GYJ1Ԏ5|1m>nW\}*7f4ϋW[`R|F];p Q2!PrvgzfaFnP炸D*@$! &;biU]!S RSzqM }s(Ap# V[Qԣ~O׊8}:m= 8Yhbj : 蝄|=vN kO%<;w&´rj!b Ըlgeg#86FX^&p>0l&}PKFS&DHQ95QX3OkK5*˵}J0;FwR.WjçBc|N֎\kBQqrV :~jsa5e;uxGPIG<ׁs%͡v/Hv Bb͒K}Rtys%kc8ssBa5yF4<(Bue/qIro4?9NA]Nt\\*c<*rX1׸paf`ޮN@S]ss <cr5rt#trnݳ!o$>uR9+S%^iquqKp.MrnMS,+6XDk.wOez7^/@-Ǝ~qZFaehiWzD"}߀ۥhؒ J}S Y6^NFkѭ!o~F~E+zkMk= *nȜA/EmxI>x,npX}r 0w>5ew-Fttm6e.t- 9n̙卐ߊN\׳e;Ld V1,ZMuc%ϪIl8RͲ'2at*fV%=Oh/|H*  ^f=Gp҅lӈj _t ~eIBi^sv-*fsR,;(YMU2Z;&Ȧ=9CjOܰ26)ŧ>\3/ ´&|y\[7R_ RB J[)g#zH<k8mh&&uUkk-6U*). {<4jnhN{·N'SHYkIQ*6"Jk]0Dby64F8czIZ̊Ҏ:M!OƯPحg֚ƼJ[3:{R$vpvt^2oDI=i`p=quC5=މL<UFE2E[1uJ \F3.]!/{bW1l\gO 6ͧ|L[PժVS:71'j vv͛W 4c?"!OغdfxVIrە3'G̽lL5]< JCy$\ [-1;- "ҒK J2zj$;X0U;JqJ.YB"@6 jw<ݹ!py5M+m@zEC:MC;}&NvMF#6UzZ:KtC W3e;*kڇ:Q@f7 *Ra[W:$;o4`3Bw{mK9>=m'Au`nVpʕ.tqׁj5EX"Fw_l2mqzƍ{蹤 A0>].gUAxy>" 6" 9yzy8{ju9 =2_t 1N 0{‘>Q̈́k"G;;z\3't+Ybcg)ֽ:7^<Ψ<ǿɗc3ꐋs7T%Fv/D-,4BCIoh_8u bΒw˷Z'4ͪ7dg٪w\WrGw_,SIݛT wXzN 2DǕ1yq'ë87݂啕4. ~ je\apMOB#-s[VCk %o*"wzA|3Ztc81Dپ\3 &2Wnh¥1xⰆ4~h̸){wõb 8gj~+3glp `gl$wcYu|t^5FB솂=98٣ӒmQo3Vr|&GsU70L_QASߟ2,$E=17,'.KϳwFcv;e Y.xf3O}du'T,S/H}_5wvEIU$-'2`ǦŌpL*wqÚPy5«2Z̺ db~%>ys<qUT]h.Q/ [Q5.Z͇#-oF^hPHѪVESo$;ep-\_e4hX#IWU]ժJr!x6b-ln58Ϥ2LuE|:3!ڈk&K>MV„OyqoaGU6`6oM gD=Kš_dX{xaӱK"ܷߔR`V(BI'3ܖuzP/}XwDډ+*0Ee(e .+32[C9]uMffeg1^$Kg^+ yT);&M^ꄢZ*ǣnبKXl.B}c4TN۷Ζ˯s:,ߦUUGH{.ηtўao7uY&':Mw=JEヨ1a*xDڋ?;{7mۺ(61!WNSP:iR /c30 &l*R}DZ}\b{ɰVrr0؄8p⍁m2̋d!,N1[z+})8fUV/=yPnqnC9v'jN}9A o"TFb2J-͗.mhՅAm(i'5s-D9{'閴 s %yw,gM !zQAP (ee¥#OTM!Q%u*5 eT% ɀ5\Fc±F1幦ˆ+9V/0 +N|=vuQvfN]tl݋3N7\wFP{J@|"swt[}ӊbc}7:rvT2H]~Wa6`XKtoV ;:B{NLF fD7X9 kjhC`%hq'FԳ9Ÿ:l۝H;BZ%VQu '59 5uzpa-Dw/I"Be_&©Gf$[ 7= yL [2燸B sdpgI'.@aYm|=͒Yqȟ?#Q"ӎ\6Z3<7C 1ȲKV3oZ߼!(zuE2t\JنCnmBx1G-Zp H1 h*Ł^zPY*ȋIoe",iCҺ],~ZZdXRɿ.%y2Ǯru&S0ꤴXߜQ9@b)F9\< GD#^ 럥{fĖϽ0d !_M\R]}1ΆtL 5ް[P!ݮ/]!3&j#T@wJܤ fosT(h/bt>+=vtڋ&ʉ&zjw=OYvIi{=u"Sp*Cd]~:s|P*ȱ:=.ؤ@CxM({û+IM2ڌpXm&jȠ/xiCbry^$.2wjJ(&!1(:J *&+NO>mMa}bRFh[Ov\\oVToٱ"<ȟ>E~/&6 y@2yvoҌj=}c"7+Ǹ]=:Lg7(ìJ sisvf~2.wT&U8fؔhj_y^'(K1܇X^o] bcP}Y& Ho~K1M#S}y<kc+my*[G?D*9o]T{(V̡j5W%7!9q?%Hfapu7sXL u?JQc-l ({H&'2m/UkЈ#0|a=Ne媃ewD6y QxyIu*%Zwϧ%V  ^{81*goqB}S  ns*k 3LgMc/HR葉3ʓ*Il8S [g_q#^0nP݋\"f pۆ#I¦?j d/zgC}yOEB> 61K='ihNv`yp$3>W9{b ͽQu<6G-G3 Z lxɻȮhnDrr>ws=yW:og<ϐ>;ϣ]ޭl> |=S^^8d[lrDlluMVE_L*+$pɡ8,`G{4é{$eJ"~\,GV[, 2@2}n|!`;2{1G>2ËFf3-2ɕH RňkLگQ_Nxe8tW .WIwIVEdWU n[aOM?/΅::c_O\8o⯧`4\V T7Wt>/ ;(ݛ:o]$ĥnDV>S/6frEф*7qn9HWqsPg,TIPn7dU5*Wg4f|/- v|0 [1 ;hjrWD׳TYP:ajg*]qoƱv`s6.bMweA_61:<忚\A-1f~2LbnNz_ڽhùgew ro <,c2`= =]&wu *K7` ,xe/`d.?)X/W\۱p⦹j֪a=k *ronՓloe*)Jyo 4"KD vuԎd߁H&UBLABT8?8 ;Q7ٕn؇"DGļ$8-\NսY*}4)D&tVw""J?(*&?_J \pn4S۔RfJn6fcL6 # ;724FSV 6EFc$3sp$eD PL!X.gТ=jE@̃ |FF^"n  YVF,H+~'vEW;0䒅$. |(^}Ġq8)tԈHOO$U3PqXw^ګyls-f|xדH^3 VTbGR}2W˞-}Oo;q~kx;m}*'ދ7/G(>Ex}e{xc 6&;c,fO4cd{^S?đrO5rx~Ct ʬŸ urB!> 1GJp~a={f^BL%vFZ g yݫN2; q~51J~9ab{qö"3ۜMTPGxd:1vLa*=+jj:lACk 5|[WxSryOF9UɽvU\JĦ"! QR6VգMSyKZ 5,$z`Xɏo1= z@X'eV<=?kzVOo6SIхr GRFsvZCCfqM[wa d_-2*(iqRqc /RFuJaM)/Ti dMa7r‡''غvƵ 5m_)ԈJujPDf9,B#P ԟt9AbB풾: >b7S^"B 7_=NˌM/._aT0(E(Kݥ(mLtR^qSU7.sH"eb h/{p,u¿W) ~ɽcU5> K!)URw"xߨ;UUE QxH+UrdOB5d&/swM"W-wW-Ü="EAy'JN0 獵ݚF <%3wP "ȯ&|BvN+Gs (77lq) ;jPWiUXT\tɝjF|wi'l1ɰ>fRČ\^-ByL> %zXSXT"ڞw @:jdyH:긞إ3Pg3c}}@lg\xiȡǝ>,ubnhR)?i+oNXBcITOd}'zF28},ݿƥὬMIyE`*JCFs<Ӂm;hɐsӵo3*MD4=Jwt! 4Wj dU?eC{IđGچ@ohoFѐW3>h+8$wKR^菵_-[6^)՜3( a \j͈?lMkg>;l9lTX\Rt^&M_}혼,4bk\PC=>nkdm(:<9_V}D~0ѺJCzr"jA馄c<~@d _c훒gpQI~WLF$E@vA,籇&;͸7wF9RT#?:OgnQߦ Q3Tr UdQ45_gVRBÆQ{P%9l^jhV=ICD˚wұkFTȇ&* { b@x< KvD-zgX>keV]Ny}ygPQ)4e84Cd}cM)}՞h!KUTIvÏkYRa; *9Hw3WZ{ At3";^+NyF= [kqڬđ]-#nj\AziQa1؉.7=sjJO 4iDCIZeQ^rߪu4ͻ61pw<Ůu2+aJjF/u-aĖ5)8FȺ2n+h?Vd|"n v=^\<ޜrY[f;n%R{Fj *pm+%-ԣ™(ڀةW|`iU 4gW "ȯ&/ҸMao92? (Ÿp…ecQ~jL`^0Y孮1P,gcVc{>lډ `طjfyq-/…(?ٸQ7Nlux9#d3Ǽo&p[lX"⇆6c;!xכsyMŴoR-uK57j6pJkrL[!rupNK6Lsq`n1[9b+"Y|S6ryy>GEI XL^H;ޮzm #t]7ݴntuD"^sm݆ݨ3T`Xe0gN{Ѫ֧Vu$LqlIyW,ǻ<3pYuV4{k5uՊ<+pXK}(D8<`(VŁ8EA]'C" {SXdNZH;P~I4 ]Ll=KFLM3gùA0HY7[I'#SK[w%>`RwlXv< P/{1׍/EgCUZGU'MY%d^G*e)=, Z1-PD"yyyi=c 4 诎S,k_zlne;>H6lb)FhR=$L֠'eu^;f"KY:DY\nw%P;!ꏿj+<Ó_U$;F1|z1-Yd3Q{;'!_@I@~E~`A$_$6;B ǔǾ˾ku,;,()t2}43g* =H N@"K/nC+"&c!Ν|ݎa&^G"wwrIKC.,R|(0-\4( ~ƛi7I^( Đ~^p}F=* 1Fѵ<zw&55;ة:;21n{bZ&r. ȗ)a]YOx9__54bpshŤwV Ks<=/st0 WJffZ$d/g2]SgO:OKEzg3oO9{*4TfL8IEQ 'o%x"_RA=b B_9] +uu5x8/`kCl 0Lh*e9]]<8!\e\!`w{gQ ! \@ !m qvC .~N! l#Tx8k8pg~ ؊.pD_ot[ "8l!\6_zsx[ٻ;\} Έ\߈q9]mE߿V9z :!߿."<6/`IaG@G`Bx0o4ΰ!` |<5O5Ps9#- rGJJ{y-yDDy ju 0O̤]A`;'/7Yޛ7rr s5\!::\ܜ"U]3~r,3uEP8+wĠ9t}\#vxsٹ;Aŀ3>JF$ie5dt4ʧ Ի$RӕՕ=%N'-,)('-*'l:-uX?_E|kZ=@pĥrt:I;sIKrk"淚%-+-#`PFP1#F7CB8ɗYLGNl/w֗҅S@JfFuF7TN%zQyy-#}e^Jca^\0ןFM:#JE2:5uLZQQQ1jϨQ@q#K5n1EPp%|'jCӱ 26 E3. v'P~7ف gk5N(n/I' qGJl3c##G A@`( @o;B܁H{:m ҉sK",pӚ00]86/+>>5P3PntA~@|DxYGGGTY؁jJyzfiO=d w8hHpӦpN[_:I$r" t0{Wwq.$7ߑN?vBLZV ̉!9. Lg.Ť 4@vJSs C6B +f'7ٻ# =? WבӖVE7`CvFi|?3r;AJ7~67aÜtUΈ; $-q:22Hr5N?)-72"o~FSGsDlw]`w?:arI-@h6ⳳ5 ~ ~;!/,}J!@Ud!W#PT=N(%kz:H=s[‹Yck 8B,7(Fh ARE(y@ !v؁2>VNrJH_`#Lʩ=>^e_{>zgP(BRNl8u5rO~ @}O'0RwsB6g$ݜغ)kC\6rl_"<@uii9M@y> qw,gxu ;T&_9# qc٩Bue49NuŁ0lBYA@y%[U@א 0(-gGb }n=HEj3fKC.HTI ydOVa'ⱿS؈$ }ב+93A|-p2 8P9_bFy"r3>N ٞ=$ y)ac4H2:CF%w!e8_My!'pg2 ~|ɺ"ϟ"pDX6" SG=ײ ;RHBH:);+-" t =B {!$AN@, +k˝7"w/\`_9k2́/2ZR``//=O h8Xo$N+b矡O7o5ΐ_P7ȿ~?#D(>*oD."?oFh[8- j qz F Qr #!$!_Ň= ?Îpv.՜o$Rhl%ųlsMI!Jd~Y؁>yCF@=7/=D$_asڹy!20x6] r )o,WGdruf#]r x"83{8 '8{~mVzI.XG֦Oe7E(=9 rI;!MLN{Սv,gնӪ"DPT9BSMRE[WV0~F@"ĉ?-O?B'X~P f=ΐߕ7iP̡'9 )?Ss:#QqG_zS*?{9o8}yw g⛥ QuB Z\Ng=E2P wFDl?]o~_?X:2"(c=y~FՕwY! !ψ2M kH .k#k-> C( 1Uh)hUkǿ۱VŹ~%j =b@;{$EM&g?Vyj{rʄ "!*ߗ%?'*w<y l bۏ!Yq Cp;O U/QDw1ȏA/rNN48~Ng rSF( A H :5rG+xem$G.#m91@ be}H7 $s :UKh%3 dc AYHܑNBL4@y?ti;2@G _øvw/]Y?.6wFM$}׼je-|C WMKX$ʲS6"#ҿ،MYBO]ו]-o(tZG[eD_M*_u(`Pn:Bgk.PY)\$FGGn@F4wg?@OF~r*?# Sg&$A|5D.P7G& WGA@yg*bH%WEIȈTi[l@` Nk_fmƚQת~{;^?ꗮrp`-SRF7& Y@|V@nj;:xA!ֶHD@zB!;}sUxK/oiiq9:G5 0//?dzn-NsrrpAA,?7iUsUL~zJi?S*SICPi?_^i~8i~& m#(f 3tfh A7i?oS/TH-_G8=qn9TS)7EݜdO%w8K?`̡଍=Ń+QXO@r x8xDx@|V6<|tٯ .p' U!ζv@n>n> ( .#&o nW֟&*}y ,$d"?π˧O_KAIM"@$򿥁 @pu JF @ tT4<`>(4D9T:sXᠠc<" $DṂEB';2=v)vk; dL"^ \aP6"n@7 ʏ#8yT,eE* r40Q1 0hHci.ގ=OLAUKqF>m!{eY]0N—. bh)?==Uȥ/4jY Wu(.v+Z1z~=A X> (4lm?eִYc8_$DMbPp"5?<_I<,xߛ6ޯtܮ3π0,ߊ^Bmo@'_5y'q҈QSuG)‡KERp!4:AӋmĴK<@δw?]O5Zlr9?L?Nwb4w{^"k,(sMcXDI*%jn4E,u{gxVKq(IBsjbJFX{ j$?ĸ&z]pfs1Q}ez#ӆ/dkZ}9|p ]tG, W rL94 _bo$mRu#,^J6pyqWTE%E+/ TiB7q ]_8nϝbkPzYIZUSCq1a}g]VgQp$z0.KvFӇѱJiOA4`#oWDLK, ygr,?#eSGv8$f{wݟס}FdL7}9Ȥ)F zLwKu|BQ|DDKF>;<*,Ө'W*+^+y^YP,vQJ*ppdLl^qTK*a]mh+ϼT˽*lXŞl+3Z \yFZx-8ٵBWܑs6`aTCC2|v\έ-x7qeYnq`p\=Jx k{h)CEV =ʇ¾ -&QqfMw]'C<@]$@$<Ϝsj{ݿ޻n|LW)>,hgE =qcVoZevKJR eR9H'+>`W <(vxHaU+ٽ/ӳGdEb 88(%°aE#;.5{pCxev'UHVc-I0L] cL?1Y̴ȌeFe&%piYh`oDzXSM™ L_wQFv~6 n:df &;&oQھ,瞧l\K :vuɌ#B%$ 0lu`AΗ'*j,*Q3# j Â[ d,u)' dZRGb%R$)%@9e@Ț|cv xN+׭>i1%ҩ7ʪfQ/ &_Iʾ*IeЧA̯A0bP.7ʱ\GyZ:2 < sNpLt)σH3ZmEY#dFJEnh#!MݎxI)O&N`.FByUD)Kȕ{fbDvA`@Q)ȀBMA" Iw^IHpXN)@=paLd-e+: NKo,glT[ly}§EQ/+X'Zh1ޡ"y=H˨xAIja^No pk*j5vV\Bu$A!zΐDZ)IdXƅi "$ڙm$kh:%16cDqk1=\bGCJc"(:{@3!m- FZNzv]G?c\*ԳV6# 1F] a1H~J!Eb"INP2(Z\7ծz}y(ڷ$u5ڂ̠?<7+us0b`^D=w@T-8?~DT։#+4=ЮF=1i,W117Bq)?j'u,) C/O$?1 0J %UFas{4m_h }4[$접!e \7Od =F?n?"cO;L)D5TI R`$Y ٙBVxab},RHs:g/>4؈,0ç]exEєGTlNK+Ʃ팆5\sT߼~S ĨS<{k%%l73Ivߨ+>9 2OsN]V#:~Yk>g#fS 83ռ)T,мrāg CaYisI{KMn0Cr Lg_\qhl֨ת +FYC/>w\_ YQh.d+gJ`b H).bQ>3;EFUjR>4rV]SkEp*H^rxXAg0ȕ}&}:Vpb븶!#ro0qVI`6>= 1 uda~QK3Û^0ț(LI[I];wQy@в0צlu^k`Gơ6Z#g7APnR LqEЖt?3'bsSYh'fO$FnE}u>фit: eYTXD5*]7@=b?Vex=c AN¦Iņ #~/E拄 k*)O$\k[L)x)!g ˏ֞SPI[9h,@J&ænq b m Cfm[(ɳdB4Y&Hr8=7S*op/ֲ"uue3'XMFWo- ^ոYK!wk)cVC|`(@V0GAP)MF +ztXsm\vbMa) r 3'*K?h{F>B)9*֚*tH%ybdL<ƆW=/)DA^ؽ-Y J_l뚟7cmRRbPfT%!l*&YؔЛ>thLG;Ld[gJ[zPrrkr+'{C'Gј]|Rk3GiqI&"TQbfF=WUֈ]%r7#  YLgo LYbgϥY iOm2)/-YKBGSycQk:b1 MkVQXNvLbRKĈwM'60# Pxl=ƅ}@vZ`|Zk.XxM"NYS.q c%ُCM3=Y1)٧x:h{ntn>[j}#GTs!<({0S%qFQe#}c' #[%I. yfr\$SLB ~NAL]^ QRġ_5aG=DʮGEU<`<J%Q\c.*]bI + Ҍw9/nk ,~'ܯ:h3U`KF2HB4 " DR%;*g`ˇTtrS0&Uݽ;; WrCcVz=T!sWh+eQ6bd6H wӗo9#-i_I% 'Eq d|ML:q$kmT8@ 9ntT72jP..:?_9#>wҵ34ڟ̚ ];D}Gְv,9  /ԱDD ryV_&2{up}?"٩W`NZ%W}Vae_UCwt Sܖp!!䧵rhj|DGgL;HG./m"Z'%+Dh yYjU652pvi{{*p_?պb @KUNqU-u`Wȱt)Oƨ%3L][?4xSS)# x4$s[ rwkʍiw%iޑG2Q@ `\E[[ @g[!=kl3bUpPFiDބ"3K̘$Ԣ[|oo7EP'/HO<-)5ط~^H<^ \BLĚ6_yebzFYΩ%we?%En<\9Ynn!\Jv|+5(6>y2,[OulvWtu.Ƃ[%7G\l*4)(q,xJ %h /Y҃̐>(mK6>.+Q"ˌ}}{qY$D]i;:J:lۡ@{vyhdI)p} ]EYqҭnSqDS50>:uVlPq,nw#ꊄN2h;g5ޤU"PUz ~#M)Pd^DbnnNW6 cS`)ƫ5jT}WDú6(G磒{r' 15a1]cpy?9u2z2ӜϵE}s记lVwv;g)luyNZH?n  $ Ofy;N Y51!*}Fv0əGګ%ʹ{B*?J()dbT1KVBhhR#˧O%&MoikaǮm@MҴ@<P"4"Kͪ5zL!ꕻ 3]`vޔKAz.b4>Nm帐`C-5WU A;e(v%k4.PK|dS~Kf6IDaKO,SHXv0ʧ o՞0aђNĩ"$rɚdwLVe O6nV}E/z N6~ ~[r򴐦X(\kq߬0uM4a];uZv8֛~v" H0KcwFxì9l{0]V64ԳHL\2{T~gU/09BTH)^ȗބfuju{W;8:Ka,d権`,dt}wD)H'N_퓓Ƶ^Q}pV .b}QI% -؍S148 'NA`s_%^DeXmJMxuؒd8x5?D94@3T˷ :( #@D "!J'<2WdX5ŦzlU0/9$XFJDSDts"њP ?a)o`cBLr!V0HkkEO x4Dc\<˒ی+gJ8ѕx.3Ɍ|.Ow dڨk.2 {kܛE5<X0Ң-#z?Y~ omc줂ѸЄ4yGURb]?뉵ËsI&!£HfdnZLOj~a ufF@@`?Rş-22δG{ĉбl3E6=)#ň퍄$DK؞iǙ\5HLM6TST+MaA ]b*iГicؿYMBa`UFdPZ!OO/΅@%BT“d[Q`V+ۀCVf!&\AlN̎IqHLu,c*rul1:aU@3H,!W"U`l v[bB1)1IPdE]eΊEejvH5(y&q9f=۝N`|[B\00Z epQ9Rh,A.ElJp6XEx_0券+*Jh &5K* 1EF:K1kkC 1G<"&rl*x] )z}Rf]jvneCR*f3]ì&f-v*?#3"'cz6_kh S@[w$'n vC|+C 4΅[ENμ6\ ^)yXB qh` u~[7V1p Z%-B2)PAC)_SžWecXIn2?"8*ʰ[[&=QD)S^>(A_(M*𛌌8qGT6&6e/K=89T*DrPE!XR't4ʵn\)r;*h092PJ"OqThcBU]~QjIL3IAm0&DE[mQbNғ`~#07zLJCS'6,"}wDN/a95֦X8a3Cu!S) |Y՗ OM<wj&OHa#ނ?L"?'B̎fg|b&4dlBlEr| qe v8^DrMQ5׻$7=&"M53e }sվܼ#3g62ӈ3bx]̊]C *h3XGXI%ɓߴ1YeUģLKj56ۦi\@6MfNM|;.#bp㐘 ]d&r Lo`k<Q$xVo@JiV֩NQȜG3cL!A&"ifB-L3iKMW`}TBtg[6dY NE~<}g"KCxR <?EXճgQUubG6隰l~}JEi R\M~kp. p:{% $bDc~1\w=C:V͢5ޖj_&ub')fP2V>aj"sKߌ[()gnaljϮ]Vj/4'Tl8cj!Q-!tp~N0NճE ($=ZWX,vsY?eH~uؗoߓ(")w=?6s̚yZBw?љjĝm l_+fB8Z+M:Ȳnwb\Zuq:(Ѵ%*h/1nzj􇬤&ړ[v$o`Kƥ͒He Ba NUju5mG#*4N(%.0SȘU ]}{? L ˚/μT[h _׬0_XoKQ btqȖ6"HM# yp:«oLAD0KN S\AhB"T)DIZ`*rЏ ,LCH7[rfEZNY!p8ZyA;'ku>?퓢)c,'z]Z;e_G q"'1[QwjK{bƕ|"m"lT ?)20F!R^P04Q `UC! M~Je(6;r1d(1bM Oՙ`uI}JG;+#11EӰڐ Ѝ+!z;:\Yښ%Xr\ $PTeQ̭@E⍚4IГ4=`E\"RFm+%z n#s̑nC/8lWOQ'W"'u: tvR(gJp)r8)ؓltH :|6$MZ2Qb5SF&p&1ʹCPܳc?/z) /-;Ե̆O\x[[}17O +xjJILa\Ĥ; AQ~d^;cFf* {/\!k'"∜Su2 )Y{l2O\:6t?pR eȋRT2$*2l{oI|}f*ܩlB֊7z3%Sͼ?HiZ)ѓ'w7!tk.nvv2޽lhё~o֚ȓ;odƛ5.v\)홼9wLì=0iqi3e&1:0% %MZ9zcn+ٯk8={ gI6ؽR-8QT畓)G+;kG{fqQ]I5 (&9Tp0iH=ȥ9T8ָ9F>A\''58e#`L(sJ9qE;%gb; @zxs8I[ -_htxr9?#m]Ԟj~ tب+7=T Eا QI bʘGdOշFh A^Ծ_, ՗=4>4A/ iE{,*&w(c *8PC5}>"5 lU3롞#}cn ]N4, KI!Lۉ-cYIqzxfq<mjWUzgksB]l#nc]=EcYpVZlKhqѲ8)' 6Ns~~qx&Mi"RS *W \)zFSLn(Y(CCcC.2/ P1оzy[mG;5>Bv[EtDs ?+ }.}c0=zRܢ-Y tѧ=/~ E񐆊_]kvf|+P@RvXdo V+J]~,xМj\'sxkԟEAOj./$<kϣ1⵫Wk|dͷ>V&.nqn/0$  :H۱gt#G^7b><ј)%)VP0&^.26h\% ufS 6* @HݸhX2JQN js @ Qx!t1pH m|jv1PK8XL,<+4:Edva([u>P]ɡ;$[-ZeDF(-aWaΪ]Τoü!cST3d`>5*.Ѧd:-YorH}m kFr{A~$DzQ*oAQK -ׇ3l+Qait"Hcs+VLJ/pA-Yr[^.DRDEy|bԏs3^v.r>)K7 Hr6ưϷdP Eo|xhh̟ GFx~q~.UңI-rccd^_Ǔxwy||U6yk?GgJ9?ɯ7/9HaVZꛛ:#R>8j27$}Dc(h"(15"!_TRi3h ?[`  x<{֐ IuLc`i+`i߄ׇ!0 1DʠRw2yĹ2%P e|Q)T78l"t: ?4Gsm:7@)~cyN4i`6!΢nPZd\UZ=pqqE^ |'];2fH?+a- k5%dF0e*K'8I-}P$(0"i$"L!;2_%~ ?Z/eSQ Qf¬Ք^SXjL@ Y( v\xvpʥFoPEH.[g؉$~&APP./^.*oxy{,K5OpzXlcS1s雲p|j{pp]欔0fuXg~ut0e#jАgl#{v[MKq!2h  yJl˱$ҘB|c )3d˜XRJAW"2-X^zzCL/lctŷ/C2 8ѭy"8I';,.; SD1eRU*|Rzu(#kqY$rM E67k|pX#D|ўi!}Ibېhψ )>!Xse9Ut2<$RK(j ƫFH,-BmyȤt,-C/ =wHQor#+yK /gB{x|4b8]TsJQ~' "R;lLCv[ qbD,RBz@CTp xYM_rdT1\+0od./q襹/rW}ʵ~U-Ɏ1:BdS.p?l*w;yo";{ I#T%hnt jD"|մFt1 Jmk<z;#gߣeaaiM"v OiD< Vj~ 5K{\ U]ji «hA̶’ڒBiir{FB'2Tޡvv d, P !yثc1es68f-xߕd/GRmNSDi4ۓ3&W{yUZ:vPj!! %5 XLLqf%D_}6qx]F:uƟj"dhv@viW N9g| $ІM%ZYtS]}(^;=!H SfQu@VkκBkJ'akWVVD% "bDнAUdC=tJQC$^*p*{M'KnB7[FWagbL3n@@K;Ivr~s6x5w#[驠Qҧ0 ;<&x`8iǗOuF*?ƄBrXϵ*r62 j5!vC Vdz)2z.{- p|u!59:PgJr-; qx? 1"??ɯw lQ2׮tG4i mluG1L \gmzg煽^XGl0( h/ iZEl?X_D B*wVAc+m[\j/nƧX"6e5΄bc_«]~iλ6@3Fl`ʎsGyXz6f'FAίrMDl50i# y_>3֬q,jUj5'yGէm- `DRUKڕդSOZi L|Yiآ1&o4] sG.L}"]*6+YPg V`TLk6 O_N?qFcΎ(9SP❎dRas[Ec('/^vVggh f^}_.s8IIz2mSwl% j>6)Qi:}.W؉fHN9 Qa'A`vtiv}y̷l%u /)ٚj|{iL>h 攨"k=2St$}G- d~=rXǐE{l}֕.NFUoVq:HŖ^qĄvvppĺ4xMZ|mTi$5ۼ@a30(Fa|nna]KD%= %Jܕi\ou->Z9N_}L@{m %-VQM#%RИ=39M '6(ђy0ܱH%,$͘cŒ4hWH9kƀde75!Sd>]Ebj hx- =o͔e gR5^ޕqDW}.$[aAnejBb1:J8$C">0UPv#g_vgvJ](AnkQ1 &[qjF&H$y"E"$\~up!hQ[ /KEZ;%תubweHT"d! JӒpQ>WJˆ8ZW׎Ө e&C'\^qtϡ\_DWÃ=Z Lgϋ#C~(--4-7/@~]9P.]J4QXC&VR? t~u:Ŷ:!mM @*?8IJW\WR͂xjx)?L3Fb u0HsruBV1%3z^%& <5+Q'Q5ٕ =plaTth?rRր^܎#‘Ok|1cVtU;$ 2w./?RS)ozs{b֖kO吆CN`G H/ªKB$Bŷ/cAN!Ivf߀#EbGWE37*6eˆ6vL66Ooؤzva|еr'DŃ=yԣ@E ʼ+wZx*$uqi'荪nyN|}ҭ,L/WdHIHJmԡ s.NpEUU!?[|-d'),.d';mt3Yd{F MI@IFNj"<m(8?q uP56%'tL:uS%#p(*6DjfBaA|KK1:iݨLQ5J+!fy+?]x,[?lte d M&k^]M*QZg*SbZt?e.(e^-c*:1*3eUaK eb4P4X."axx/W6?:nB~ȏOM7@eŤyn҈@Uɸ0Kz، yіdGth6GxwCHb V dN|jCYVA4o(p蒽 [+ uW~ݏ֏[CSP3Yd`IeK26H?P3Q%j;8?ԜPԈKhhȺvVADά̔e1VbrW̅_\*Cs٨ط?8j99ʞu""vg=e"#Cԓ1{j`M.ݛΖ$7`+sgx'1kGUEe:hA2gԽiv&JIͶMsM5hz?Ktmvb-YFEM)[Ba5LJ,lUOgL9E+qفg腁Q(9؟8&Ǿ I?r:;>m4DNH~9a` >sΝ޿XnŒ /|-VgWwS\Ũ`}-ۉäu2;xQɿCs0SVa&]SĪD.k!*f+7rh{M=sz 7! |^_.n"c.gL ` YR:Cd!͖^8yd8\xM~` PtO.XrK^$pFA-Kc{/g%5ZllKH`8a߀x N.ZtmH5@TH)zJQ8:[aFAr IdjYDٽ^o0@7㤝ӝ}jh!m E o%))VYQO{6· |TGAE6H g> o:`Q= -}i3%ymξ@P_8/8#߀Mӵ൵\aQs}=˚tKQvG ; n,{To"ehuliBRiH H5ڌDKbCHjw zm5'>XE7#);0D*(_MʗEѼ| V{fEY y2zvJ% ZSSɿܣloMcNě @iLo ,-=x6Jٸ 57 Jb Rf$SŖO5e*mX4ZJKTBe-^M*{Cr$Q=®Zp+sPEᲪ=*1YJǏZ2r9aW|N@8oQVlMGڧ@w 7#)4__OQI~R Sq?F!N! RwƑ@C+ɱ BH*7`7EЀWWh^ _M$$kOqw4n۳HHdS4w>G}ǃ%87t^ҧ͙~dc-ЦıN/ BLմ04;E13۴xd6fϛu}lN׏`qKaƒQ{cԡu̱E`!Şdۡ,L~e=ɕsǏ2*v8fPukɉZI".gB +O1)F29"Fdʂ[fiԉφh쐷j6*h;nEE.0XYLM۬s}.Mj+V`Mu.d36pbDJ%1(G9WJKQ4莆eK7d:17;\[ .!0!]V|vc'nQMGiB>C,- i\&XvE$G' 芤>($5RLZ:&=X숺;(B.J!G 3\vEd6oSb~e=V >25X/#I)RTOճe2La Yľ gɒL<MmK:{Dl\q,q,t{Hr%ɐ%1:f 8滨 x 8;Rg5 VFI nQ!"$.&ǻQyyPB'eO@ K楴, E}R[KkQD'%3舱:$+ҝQIiyBR.o؄xb(zgv%BJKKٍS29R8o&8vO|",>ϋpVk%dGq5!_'OVkQLɨ.v)qW#͂; g%o q͞rk-_DzGr:w Lqfd54@&(5T*y)vΰUv뷌=[˘ؒtZJ$F5mpN D*VbW߇^RWؖf+P@ҝc}peE=ڕLs& K]"2i~R)o\̤CF>bbP!GQ.="P},k =Ψ=ƹI?Tbfѥ&BoE0yWK$_C#"/]Yhn-M4x'VK*@G@eh@@&gЊҦ^@LTB4E$qh`GFuuL'wDͲ 8>ܹ^*~Df^N̟l+Aq-nX 5E0!ڼqпW2ܐ Qk8Vа4^dgdg?=#m4 )~0ohB࠯pFya WjcjӎZѼ KZxamڠ'Ih81ScM&/[G.T32TB1V*k֐ju١1:iR8Y㽱#v7Y-Ђn,z^nh5UAkhP]~%dJx44u ʷ҂Ϸg@34Iuգv -AriUǯ֛WX=/ ^p ?隨xU}ETl*"vg k̪d ~ 6:H AI^We(حp*"58ڐf3%H!bD,)ッyfqަ rՎ0Wmmvv@0bv"s!@83. FP%P4#j#vnh-gFs7ڕv_8!E]0Ta]@CCíի|S}騶&ͶvD6dz(E s ` 1r)2Sy/kúg߀1pt^ko_ǵjY|YFp=+ Ȋtpp7 HRۡQ=듘V1RVGd-|:vI!bõm&Ϣ f;Uʨ^g5jn|CU,+pK1QY+[dZW9嶔zv GK Ol(ؑvP O;jHjfR4t36q9>zi{NXK9GkJF/yGd¯ U~6~/(,,Y 8SR:-2jy$i?ӎgYL;^4'I1˒"CR ~[ ^EX1e!Ovk -~-˓MٖO`C2+q/8\{N!mU/#nݸMМL+:#,#ڥ'SklO|9n,:/[@2rއ;B0B v$q ;29|w /MҰR D _T¹6lHZO%EٝIGHgyN3ulB1xfKf>2bHVn❢MfD֓k[quurfl_5<,VL?+|7Wקߠ Sg7 5չlX ]K^+NQL{SRl8Wl/E.hv7gT1"eQ/%\ndT%ӲcޓiەZ#EiD픉^=!ב9PHo':R`YHdTiJer[Z|=֫mM/:EL%O-%12DBj%].T3m}35$G#=^dv$(VK`yA70]&\cuLcFzлe$k Dh'JiUҒ&u(A5d'8= ^&/rLg# .{)Ag'ڻ}.<8^pΆ4sDBBke~>K7gwp07@3I–9[{-{k[13r5"BQU( 6vd۶ev$׸0(] #Lj ȍLDTavZO)Et` %@%ፊ1Gd|mbpcV *S!-F*(gB"{; VU8\ᒌ~ ]%B|uǪ.Hҫu]D (ROoFٸQ,ʝC(|FƒQgL HCRAXwd7qu u-l6$?Wgi֪0-Ӿ#*opc*"cNG0<M!.34~)dk!9񿐟/'#  AIW,lOa0O[)G{IÛ{I ɂ'^ ipgS~N('.43'^*\f͔%rryu*Sdt 7 x7ALзzOأoX|<w̻ 3-|:S9@ڒ p]/]@8 L L $߃{WU$*pEHȈ"Wa!\['ԂW 1U\M (>@orEIpʌ*in ]qqJ/T; n「L ^02ʛ7DTh@ "B(78^ڗBb1dJktg'E欟tMV;̒_lmsR\3bܶZR$H@Ld*Z*mPk:eiu+z\&fHvTkE\R/y5 +:; (t8}sL v7k,~^.W;Pr` @/94IȾi>Zz1`gcke&$eB_d@.yqzC>CdlN#dϷaM**XTy&(S3"faUvQOxK76VW酖ĦH-ȭwҴ"ʞ*9ݽxP jqErFpIK<՜2.:zDQCϭuD™)PӶ#386ϻbå2f ]ȡ9]v۾{t+2n]7@#B(Iv>"iJqbExLKG 6{ d(؄ sLNᑣ 4VqIn KUb JQ$#8!^bDr=(8s,Hh l%8|[K0{VmQ?2gؐ*P~bnrU)=L75OK [4ZR0[ ܸz e&sA4R2u[m/֝dQ8SQo.HmUzӝ_+5jT/@jF V+lv`F$$FcdQN[|LLN2 tDdLemsS ) WC{bw#C%1D>ϗo_v}xxx~~%r_#=wM72 lEV$f=NC&BtŴd0.3I %S~sџ7$6W$I0T]=iBaɗXQ){eDF@x\غU~.!AhvǦI*q!>dwj2Tb 6}*1JFgO'A4AՋE^(I/EYB{&_L%dl#xm[6`w0h8K<=Ƹﶟo9#FV@JDÈ b)ca$E.EH F9ӚL-ˈ`e` ::CVFƩbӥK3J?W%1;F%$ aʌ(}w~UYQ+N.@fWƯOTE 'oLcx02K:·/dobʏp USUzJ Ӝ ƿ@HoKUPM~{6&|埌Vz_Zsre ]5f̛ OIV 㼽t˱]؅_(;X K;Va')?gWkg!uk`aS_eb!o,x`R|ہ0#2G0p-K=^X'гv9%'0Tjet?c H ıy=B #5BRrLcRy 5Ⱦ1ټrj%rQN6*)B@AZn`~1EQ8m]ai,52+(?c\CE-v 2I;1gL]Lҕ(A{1QNr+637UI$2ه;o:} zz&4Qi޹L6 2q<&DCu,db ¯Ų텂OP_pi_?)S#>5Rw rgORfH( ^fL]h?dWbH'5nEix+6"m1* m`ᫀ$qB(Q: ̪EFg8UZsJ~"VP5ZmUAic eWDtaG@[U&DMKO)--!RƔlp H#|{X2#I>:djłIuGِFд-Ǟ\/nTN&bVf0ߣ0pyG}Y5q?߫}ս7gG$+ǂ9{pz q`Ķ}~ Sr x%Xp7,ribel[|1{eQR Wԭye4-.;.cxB # _9@C$<4j1|?AV$dRE#M[4OmI|doN$ǝ$x;q=pk"e%3ޞ (4L bfYG@ [= zD&,*WAd{:[@S(3XRNTW&% eg0"$WI\Or+=(٭Z,֎"t/PŰlc.oee}.底r~d2 BL * l\HtCHU'#RZG"]zEx˥-/RQv{WjT ;Gyg!Th!Ϡ~=Zv̸JyjltM@ڝ4bG)YUp! @XFm>?+tNymGsLH1I~1YW1>^Ed9^@TUk41#> o2 = D1>fB"%Ielvo\m\d^&L_,U,*q'jga9){$S*wG~ɀb1e;Ruh !,|q{'dmRlHh1!氓=iW4hp"G2h(OBvp/' '32&>lbu?Ïv7ҢdW҈>k͡E:}tGaf1%Jc†^0Qj4ry6u'|m!F[0PP 5:<3AW"S%DrnC)-7 5x)*Ұq_~U$÷@&]'K2.LWK[qB;UZ)Un|GQvg[p+=,Dsp+vpp"ȟRYuh\#q§v+pz;4wOG*/cxgxbRZqgm9C\.vtD)dvI═5%e JRÓ-˺ ~E>3 : Bjo h Aʇ w?vzh1b /Dp溏iIek;5?Gje1){S3BNlRQKtQ ?)Jd1  Wjl_i 30/TsHc1v$g+'=|\#j)٥d%oMYr_ZJ%u ZHH% [bqe%g%NT jP#%_l|-qTnW>1%kU[G.!wosn!*5t58[A)Z j5)XjU5qsN5SRJqy%֧=:av ##+| K Q`Q.@  W@8ޥ2,uOiz@ ?9Q1i"(rkP;u(ovi^o\_G~*hv#@c>*G`GAEېu/YF{vCLN(" DPWC gɭO 7qB ̟KL69pWQICk攦M#u.jvU9S14ڕĈR* ȢK*B %1 "T|꽲겉ط}ҳfHX1 Fn\OSFD/ koq,xqNg+O1&Z\l%b<;.<*ذBjP=SMs3Gეv(H)VIE|Ov|٤$ <#Eb ʹ3')[U_yplu5LKNRƬsK&pln-4s5g6NJZq[k(: Hu Ys{5L F4]|ӌVra R.Z]X0OL@-^rWXe¶]6Ltٗ'M%ZZœ%ڨBz̀ XA&AJQ0# XHo̜`v~]᤼r"=igg+r1zpIqޑtґtqal"1&D7UJMLt$nfVPT\7yX@N*?&B[ Dƹ w͡G~t%> v)U.T!" f 1'$;UMLKCǃMԄ>nbd:3RMkQ|ثu.ҚjԘ72nȌn'x~w n$C/W ,MRC/J7|2xs]@U?Ix?ooUC:_|Ҿw9+EP#ھq$9^cBjuK&zvXi3jr ǔdEs .7劓#/H@Q`YjZ̒L3Y ZLg̹go^GQQ2msq%ZC{uR,O&4g,ȀKyWG9_^ &FYecO#OWY<:v9h4R+:&;k˘Ui:Q:U;)/aG%Bw1gA3tg_~EZ>fV'6Vg2 Jq=7 \  _~|{%hH2ZhYv/M$טr5IȭxF/dyqs>l>`v}.]JXxrN$"?ϟ%`/>[WIVXD?!Dži"kKl6.q'OOj/j UӌrCW!s!U[ d١Q^jFm*w,t}"aFQUAʙӟ,ZTkX D4Ys }20 ☉ ɿ7i"@B 7cm-a qFpWNexZH^OHgB,b+!Sr\/MV8WhkaXZ4V׼B*T ~c,0Sd:Ef^fyE%KSOM̙T ӻs[iVz૨?w(+eCaU42bef]PYaEk{)= :KfTT~6 <_Q9rrX@1!IdKVp"4ݎd&m6/tvӾ'&c*%bS=3DH4Y:y d&Tln]@GJ9'L=va\4,-NdsyR,{LB!)?QK.yIgT'zjXg\=ruQzVfY3ْ:~2Dzl)K阡V cUHI?U 4N0߀?쬞# ={T`=}پ( A;EC'Pʨ.peTϚeOHHozp\K\aW 1k(pSRRMM(vU.*H eGiZDrCR)Xȴ]z`BbiiIʩ=C# *!p(x>/v]U|Mh=*&{tDsRIZcx-R/ 8&d<+p  =)ԗD_FrȤJ Wc 8x@FE6}[8YrZ7E):CO7h5oϊwR)4̊0A54qxzJDr{G@lBXe#RĹ37vZ+Wdrg\!_F35ƇIETuEF{*dAasEߩQ ٟ034IbpEYK+ܰМW7^wL /e@GfCDTz;~ǰB4Yjdm8;^Da8pvtVj7x'́ ZG")43PQ̟vֲ-l58( J~D+K7v<^Dّ,a2pK,PDP'ʤY$|-_zGZ[l"?_Sֿs~3B TitKJ DYz1¤J6+dc <󑪄MDGÐkcY+zxP|dX59 (9- X:]dHn؏ls<2Tcb~M^gNTek_KIWukORKc.,^c\\_ EBSgǜ6s:5rd: 'vD*3$ APɤ)mP~W8`'~W$;dT繖àP{UH@p* V50>Q5?4,W$b674^ycbfZ>Ԭju{5sbNpR$KpW)U_³rk!|0H1`{ʥ8-n܍#_iN3zRx,OP"~Jc+bylavjKjI@Q2jPT:,;! NOۇ{8_*A9 Ɩ׎}ѓTY ym}.ިSe?k릇U}_OJtNC J7QEY^lռ+xυ>ȇj=;.Daq]AA޺!\!&;ds ?9d*}='^h۪ L, ͳM~8DΫaW  N~G8(B < =Bͺ^YƘqq2qS1ܸbUk%ݱmKT=xŊA݊%|]"NlnB~.m&F|̛}.LI{ɯ 䚲7m,Yګ_A܃zNeJI3+H)ڌ&J.4#x$8C!}npPF4oej̐s++ $ ME1vKDaWQ^^_~qVD; ߻x d-thKEe@P<6I,i/fgピf.Q4w@R+.dDL֨i_(2|ӻ4$J_RsjwS%q1 rТx{Fжw1sGOA(bMP-%9q6$n^p۩ 巫 32ڽK)/d<u]eg#Zdjv(vsxFϜӼȟ:/gV&pMzs`"Cs ue u;Ƨ1ܛ&Ӱ)|'ɹTI1=QDLQawT]c<DtGqD}1^`:lx.!<*U.!^]z vRSK΁fzaґ^wkj!@OMVFOhJƨ${n & yPۉ,agxze~ZCܠ*I&(_Y&V÷Y%ҫtG 4Ic;5&a+ Gߊu0<dkuC)}>lMD΋\|zaRf3) 3VxY6:fڼ7 7%&:.>7Amh`Kɫz}]k .ρE25`,="ա;˦UˉyI*+ p5>%~Q؆)=7oI8>BOw7Rc$cǷ!<5Y٠.rc)FkLl nMdf8jJ4Vv8iUa*WD:;Ovq4w> 'j o7c|ȔV i:poFx,n|}>(Ƒ#2YmGXgQ>eVIq- Wvaӣsț$mv-PXa%I ~XU*ٱ J*N:A1PK=A#j88 [<+rqZڂַ~#d*D(2jq YFcL3\L;,ege+J Mϱiꬍ YTuOZ{VuH;Z ,eO)Kim….y}&]gĠ9Fm9ZiOϛ/H04Ŝ1ZVpYܾkKX+=V~~VYPѸ%5 K_@%[ 7sҙDАS97iHhzEl NC&uI227^ :i{<ɤ孼e~߭]硻S0ŌĖ2"X~* #\&zBq- B-rq}kŨ7_6+lBA+B5c/h'4բd P\#H:96 !uTXCB0Pp'g(dN-o'QP{;vڤ'}-Pǰ֔;5H|!=)^v4a*E˃}NkCq\HpW[P~uz*Tk: 2dCex'! ?f\;"SпsWT苌R }Ƃ$GZ\uwg`EEھx^zDco&+ D@}VEԈ*uQ {# [1s`|(4",MK%֢Oan~Sh-2GX2"OTn.@'1[FتJ`،q(:B(u( UP4 a ̏6z ToD&J6F(C/_a46KPXxE9}։KJ~Qo㪪A;9=u%ܱ%!92+L:-9T~vRRሿD)xMnB|6Y'y]Q=`GH,IsGS20a&$@4vֆc@V3CgRv4hm2tLNĨdID!Kype$EոBDZUHG#qߗ$$h_b 7 `~~ ˦d\G`jqazY5hy^Lu[<)7wP{./ `5i5,~OYs[/L׵:[:S~]ZN+lrYmU`D/8`y}LBi [XiK$b3 RS—-l5|^j*O_Ig D57֡.]-:\_ZHh.R?Dqe)67g6yrJVIS/*Ir2|\JwLZK4aPJc>W gQ8.\){e񺬹~"vɾKj4BkgSEs(5gm ȡRJwEH1(o?}D3qfG>c4J4^mP'6JZVwIxp([ 'Ψq9Dtt5 Yh)y2v}c;"A^l޹P8 HGG,Tͭ nsĒљ5!E#-Ԧ5s7OTU4Qa˜cTLfEe[)\zґh+oN4Fq 3m4D< Co/Dɗ ׏0/Ahc4rR"3ND2"%+YSܒa*V1Đrq֤l% _PUDbbu;81zA,U*"2pUҽ¢HA@@{1}vk^u04R&g'L U& C[/C1wUjIdD>%#23JýYT` uHnlSa*V5$o ߡtOo|;ffv e"_;޿>W~Ҋ 8% Lm,P)I p-@TIucrE2X)v߯Ʋ,@#sp )fT 0WMP'ESAmnm=:8)~ V {:π(fvD~@*"J6ΡP|` ߑ/djs@C Qr | lT1~+0. (a 0q02];0 B2$ Bf]"xSHMB}Tr/)TA;!3q!I plJ+߀Ҕ='IJl. -= e(vJ8O@r"pgr1JW/''&[ 譡 $Zcjo||%LE@#*d^wF_)FZJp liۅp>Sja,'`WtORgKJ*D|oK $a"^{+w|:{B#%5C/~@X.h)ַ(V:LUnCMM$te)4 Ʃ"}Z$!eHWj6% ^"]޳htu: ֽWTALB' QG3XswEwC^AH2x'%K FgڋenHEIQ7 뛇,yO(W#w$zC/س}K5ߡj> l *! \E n?fZ'ϏIcAlUHf!`!MI'D\˄{D$XܪxBARmPs":<k@h2˹K >$uMjJ3um:To٨?g"xu1&X^{?.}h95KhbtD}pbzR[Ǎ\5A]!DUy4xw[e.:I7 }nwQ(v0. 'P; H$6zJ6UO'U2/)VjK8bU8tQeB83v8FCxr_=MꯐcrHCڕ&dK%M2W)Y4g) 1 *9kϙ)x-i ,Ԙ+&)16T:7hC ( X9oe ;e>[ i:W9%c,ٮh5~; 9W$sS:KS[vT-. (R7a8HXqa5΃rr "qi ,\T;9T ]NFYlӽ)#^xב=ɾb{w?C*1\Z<+[L̬.]=,3"h-S-ZPZt6ʲ%SЁXѩB!0oZgRո}D EeˆHrupRZ^ۘꏺCԡ3^2 49k=kt>0hLj쎡y"v_xΉ"L<&{Y9{=!Ij;[ac;ΣI`!Z߂Xo|ݾ;$T| Z#7(\V=R=X>[վփ'DzRE7Ƅ*9$EW=i&P> Y3XA|7EAjjh[ⲒGզIU.6 TQ(pITz돇Cm)+5C܁ &FZ$Y/$W^Hyi͛"QjvtbA55U"o+&-3:~n>~dX*j4iW;HW[ U]xtV{DXx+/;"сQǗ,@JҀ eې#H>cVyԙ86(TYif1 .{{5os# 1sZ5}+<Æ(q`PꚀ*Q*1|H1'W5();J Z_eiW˥+Qq/H0uWBOl_M0HP7$+9gr|ʪ} ?6`"9bytթN͊,8E--,xk/6eQ R4)ױƴeRI3qƥl-Z AGvI|Y Drh>_b cgR9JE8 i@-ue9 a4 յn@d`=Se4Jҕ<;$Zz>t]ы#N_*%c.J@Č'uƖ|h󩚻_O-ysP6RL'  XP"X)[UPOMe2>G=~ }&\iIjg*Z8=nYD$!Fr.2`ODH gFGtX<:}h2 hB ˂LBZ%Kud[Usz,!$B7! ռIHf0-B]8(Ze^%F§!\$ VEL"yCf.R9f Ņ?͗pUB3UE>e(.E )Q3JHPMB?"Դb=%  qH pߥTxE($?R2NXŋvrx N3u㑁P\lO6d ~-Eڲ/ C_#<O*3ʮ.~-qф_fPmi ]}Abb'Wɢ?z}k# 6~NJz{ ScKlނrO-8Fc&E5lhgDCէcQ~/-ʔLkjO%|֐MNǣt9,HwVeVŚL (4q 476hHqbI߭'ґ'Fœ45F =OM RgT*7?A28Eܚ.Nq 'oΌ1ZfxyrI[4TT8se\m&+D L.r-pVCd =_@I]="&k~.ߙB|A/EuB7>3*]e|xj%>#G%H?ni%ݩ)N9oCR<'{ZIRëO krT4Ib\e l1H9Ӿ):#Nj5ˮfڹq^dn ̑.1@V.lRÚt M{ r]&DoΔ3D#Wu 슫bOv$&*m%}xsu$Xq6wrsgsw_y80o0?WGww$E+vJiFppҥ˾؈'59`6TtejJiVG.й`-]DVI9)ЏX|1Z 4nյl }&`OENM(F`gG&!$W"ZUкZ' H2)Pcw[Ҷ6̍/\HoQPI# +#WUvє1DuaXĊ,y. ~>3" /#1q1QPJ5{eZc=|WbG4iS=췥A;e zkԾ91\WC_j'p;vM~^ߚЙrƗi3ŭެD.?6s^eqp.q J<Y3602gӢ c0=me۾YJnCT~@Rf\iNqQTYY%ڛOQ/``x q[i((cb?KUngeO'\ՂKr+nLNf\piݯ,S-Y{.+8- Z0,<<}DEftAIU%\iV N0Ydȕ2s 9-2{E9׹_B-t5†lB%{^ߤyq4fږWE,/ݽC=6޿ ygڣЃ^u vW_° YJHcr' r/yq]DI>V xPϭ}P 0xquwؓjS\a?=E\^T2w,;s}׭1S>#d}{L_vՒN Ԙ s+*+.l:}l߫?o. D +gK}*4=2 eU{3=GNRnʨh(Ny͓'t؇spG${q8򬬷 n'` ,[&B"+yZJC28O? dP '̾Cn?_WSʿ hYo@|{1R!7\ߘ|P 󰤊ס>{T4N""n hTi- /ϷV0 D4cq<uw#Ǔ$*N1bEl*?Fp= BaHjF}>_$~<y|îcz'B!-6|+E,ۘQ*ϖlo,q#/BXh_PKZ%pAEYևFw3 )o[HbQE#Gַ{U;{sP'Y7g{}yň@ t4Tρ!DFUz=5N k6l*#5S Qg-GW 1tigjGW:]srb'jTfq02 X .c)rו f_'#EdG3.؋}Yq[4X=I_wFZ|zu!_au ʠ!@[Q/c,ؤR #lFpMࣲhqWl- dNZy]5_ܴ6,U^َ蕒լ=bw!B>]z-1)_+?.EmfX@{9} wO dž?;0M䖒㑴sLd[+2/y:m%e>h <]± d``@7 \oW/?,p ^#N>JR ^[uG?;dPGc/фJ@Vc1*{Ƿ$N0J0(˕0fϤZ!PxhlH# 4~D.<25uڍol%z|~4=ɓ5rME u=*\A?"?~r >'}*94PJ\"pѫޔ8/+)??[|`Bv9·Sfw'))΃G\O>Xr4TTZlD+Jn?X"99YTSsC6єk$3?: ^`qXjieK' GԴeu;'UN3EŤ qDKFaƖ*La#O."NP(,B+*Lg&˖|nQ}Sf2\ea8\#8&VVmU Lqz/5QT 'z2lHINZ$i[Y#TYc'=vgzs;zӖ5}a=uE2޸1J +V bsjUC$CD- JUrZM5T'[/wYNf^Ҙ|ZNRUX~MIu#am&m@zAhR0S6$]I0H`H`P=a @OXwa44Rkp?a/,NQݡԫ]LLVȲTߦfEĂ%( QTC}jMTnIC`HΤrO7z3I4';L+MB''Sk WY9XS;唆J*P"YBTy'hKvۥ)MB&,4D$J뙭%XάsB`axJpPO}TX|ISi&ֳXu U5>5ZT8VR=DYm 4904NVPZzkR>y;i0lE" i;3kƤ]8 Iw]aFeƻgDgӳcMQX3񚿛Xw'#ו6vCF!%wȉ ˨z;p5~}8+3Y=ᯏ.U>/7S!nd 5%(8cK5Ns3ԘhX_ID#2nh- cC6QW߂:Pg(MZ}i~](hJlLx~gCCۘ&*q;ztvSCbҘ ڠQ‘ǘD2^76 aIZӨk#k6;A!5ᙖ|uK<)aOB\)G {~.P\OGn|{Ȥ:GD x4_czb1ǔI'=35^uU" Y5~  ?q5TS=ں:åܹ`2q\y!Ő4YU#EΓ+I\1!rŌ]Q= eZF# $sDe!G};g . DZI^E@cmlyyS[>)\!DAh7JɬFɑ{-V$RP&@<0D{)THgl-f 2i5Ev%N:eTehH 5z\k؁&؂yk, YD\_]m`)%@4BZ4a_+gJ*g*ס$s&T.BCSW#cp3(a͒Xĥ.7k3 qg  ?^F!%}^eڍFTU BC̕$"Tt*A_|6'Fx\5gdbF吆BIf&oL@~J i%D:91yPz'{% ަo/0\^mUC}1(]F5qȆWԂjx,+D22+l &5vns/Д~8f?p||igPLOȫ _E~?_W۴&z|꼴 'fMV |yo7p, {4 4MEAEʿH  2&09FT:DZ%c8ѠA+ݙu?UO> {_Rmp'`Ϝ٦di]s&~lU:Y W&2P\8Op!}ƒRf: n'$ Ww=3*j:Ն-th7|,97Ju-_6 FFt!i܍N4if.'0 ,IM+Tڜn֔vXI73>.fx6RGYj:sYpǚdP_u{p;~…]Qd Wr9>C!ÐHv[ҪײFyX6H*=FHMcc~S*8Lo wC\c<C2/wlB {(4a=J|n_ޭ9 ź Xw1UII5JƅQD_NE}V9y8䲥m"7 c/IeP)xúa|/ d 5f$7IJLvδK_VAFZ/D-ӜuY">Ĩ Eaϲ91mh&yHB*  ߉,!bo-)K+.7(ݨ6\ȀP(rq=Ix[ l|q~hulS=B} ؍Q{Ո:}1)L?U5$ PUsj;V[ ѕYu <ÔUڋ [$`Kb*g՝cXو,F MvWC\p) _)_΋R6?1=몥0&jǒ?;qK?wc'"]ضT_,O`a[~4`]/4Ak5ly0 B,MרYZc4{Bg"He]9^`Ttt2*'w>/ҷƊ<¨e1ԟJuӕ/ܶ1c?چ9C J P^9?p_Բ>uoN,կOѷf!D{ "He[,P^Esx?{`v-#FJu Q~$ʫnq~Oέ꿊ԸU`뷇}]8«4Oy7a X'\6 vD}K6 A#NvU,LG|Sk0_[;b_,x%\$;ƟȌLz91rSgBEІLWӟO{4aggx{ |F25vqlT@u ̐(mLLB*.9'$$.Ou$kqjFx?5xG½V&URVFXGQIv9Qͤe;˳L(!)nA~˷PLKLW {u9th,0EH2Β<0l 3|K5Doc-d՝[9_6(f؋S̗KAty~XOq  n”.۲mU璽5B2J3A@#=% Uo¤u#zp|6x/%;B ^v>Gj)sUBDbM֡2hJJk+|֑LjB_`N'11CWJ8d  7甐;l)sJl)\J0u5M4z_5VD%> g6!O_[MJ W!+K C 3LUm7#i7\XwKHÈ0@M@7H }g(L9hDi`v YMHb+w2Cq1 y" .JaH $TpCm$ hݗII7(M;YTpZdtQvRKh݄4YyC>!Jh(.uBI49>bxGߕs)ޑQTT +!1axq!l .W G÷5%9(Έ9 VeŪdd1e( YPS.6qc̟Hˆ _<`!q~:< :Np:2,;BӴW|j"6v$uȑ)@?O8S\/d,# N4% @2WWXگLWd<kVRYf0X/QN)Rڜkڇ. m捋LBD&뎽$©Nyƞ B`Yя! JiKN 6 oc"џS"˟ DSfb$Kc|<[]Ng'kɑhב!/@߹_-;KrDbDÂ++0n$!>0,)C"K'(M?o$"ep^z@4a@ 9J41+erӴ/ՉL{onl'nh+pGŧbHMHQ'ϗse3ށqpb)+2%ql~-EoF3X_eljY]6O@db\VdZ{LeФ!_O21P 3Tfڤ$"u NMQ$ܝ@h C-tu *gT 1ْ41IFG7ʨMSKW mvj 4E{$H1uAUAQ=OCUu& 8PT94p2W*A7S/)ͨWUuzهf7k=uC;%^ژ3 !V;:IJФԔ&>zZ0zS4JN35} ȥq2ӫ#Ng=LJ\3s7Թ5c"! Jñ c3tVlIs']$TX4/??/A=6jOti,.A%"70Aiv1јT-N+ 'kr@zzZ9H<77 ׽sFI2QP6x>L 0q0O p5MFz{q{\6IVsaAhB}ܿ0&%i(XyC{c$%Mޥ jgb#jYX EL*HW6T?k"'v|G^_2~;1 Lo|J-5 ~Hmvccם̪vd8R| w N(b3jx69K"iNoAp[њI>8}$"L OLSa=ewW0%` NO_yp,9R1Fjb(%UXÎon>>f7*I903:@*jm1"@m>u,B޷q 绋Z0\Ͱ8!Ye|nTq88Nv41^P,]I0ib jԬKjĪgxKmv[q"Bu.m4in,T"M@I)F]Ū KsH|t<P|T'hD1*ch {ԍP΀?.ӲJP( c˲B yJeQBx[׃kYL䵚-6ZmYKghPE UhTeE)3eEKa)2SO;vڞB8cKL&l4 Bq@Lp 9ݓN?k7>RP۷jf7q<Śz_(rj#kakƉwU`(*As\a2zٰ7{H$GIVtIZ:tX-KI,֢k1<&$zhU@ $kAC{S7ZՉ31`!BOLs= gzœI6VT}RQa_L?NA[ +U箔Xd9WJm_$ jkhXb,hi-ɲP#<0dښtIrGBXz+1M<_@:.eӣ{@OF`DƝ! ZMؤDv |eny[ܙyۼyO¬Gf'$ |7sa²;Zi, rz|u/fd-|v WQ.-|ա)؍L3xQ2 @6v՛]]y-m~dg$_3aJgLAy`$3k=#<5>ɾ}'qD6 Əɑ"y vi \VT5 L*DYKD$}:ogRqclI6˂1$o\=X,ڿ Sy+0lTp幂az=+At Oi:Z `8 tyɮ$Sh@ʛZP%9Y,# g-J7#\POuVN.|Paڣ $tZ9 dNC̼r,gӹƦ(#plJ(Haʐ"ƜX.y]/yٟy?{33`c&:$QL7 oD0KyBt޲dǽQrV0  \7;Y[g?rPGU&y'+w̩2xιĚia`]x *8|7+_׍H3zuԅ&.]:v='z6 j9Wqr"Aehe.(?XUP}XzBrN5Kr[m/Ɔ`KR(Bsy`?nj<ІyLRбhϷU罐Yd2nhL9 сqCسήsm҇zH\F9j OLĺ~% c@T( z2@1:MACasmwW_+`<쥟8!}b q!B5 /k \"3E{"ٱ$?ْm71km|.HqeUD@wNx<'%8ܱ&aN{Ü"( |4O5w. 6+d=M4Sol wjA Fë+M"fw@e21  LsׂҀYǛkdr (RHY4߿[ FUyd ha.׷V㛇s!x#!IN|ثx8SM?I[\,/ c+k.Đ{#W >|1td3Uc3D1>#=PISVN7)-(2H;/,+B(V-e4Y3=e]4P? :6'vZz573PVT@XFj"S~̿On~ 9<+5"j+^G^</+@T)LWY0֔ +ۗǿ:DM\n.~ˇOç';T g?ӛ@Ђ\2%dK iG+`00`z hĐ$$]k_.HY(Iv?D:;fO~4}{*s ~bv?#.gjO91[?YI8^0n%s;_]Nc!Sw@Ga(=hsU^Q-'QoiRM)fOM2%TȊYi Pߞ:+9Ϲ/ķgѪr5ҾeASG ds^a; ^p{>R)E$Z3?]8NBbAWH8ȚmeGnc# ;%F=*,R.?~YVaEB<%k_ @XǴM`wV日|Ә!K|GYS"NX#)NP :suA_" /I[.0B^XUHhP.* ӓIv)waUϨ2dGϓʽ'1 >]4Lhpޏe$ƴx;muV  ! nWn$ӵ ZڹX{eecp3#sxF4z@?ϿCqa1a Ԟm\ eT !Bzo#շv+8J rsc;~0&O rg𑆼1.E'i'uRb** 6>;:mj7D*7~B'Bc6 X}Y/_q< $'8@S0_*Ha;Jt۠Q1$0h DE~,S^D}`(,%۾Hx@,_@Q8MGfڀdB0V C bRvh7/2D?j,Y .Ŋڼ= ^>(zS})9/G#:TLTh%m,fdx4ԫ .moqN٬%:ˡУt}nW=pϏ T#[q"u,p/9 234`w%[g[1uy vnWss4z|k{LxT*-:yϬ.G9&֒.&;( "ك (y#V'PΧͫicl뷱femq"2)Qq9VW[=O0YҚo8/ZX i*MxO8He؉RacF9j:!"ˍi+1D{7ՊUTl&eBZj?4?Jҁ-eR)i>~[NIgvCdMkGUTTzbUQ ϗǮ"]dA&?cIeEj/optE&><1>(˛  hnpNg=yh@8oT O]{VO49$EC<$Y)̂ c*럽p/&}͙y$%Ռ8Q/3h*C)'Y.crD]a=h)n<`B)YvODf[E. 4"e72^;-22ק࢙3b^NJ2c[FDmOW: JkOxlR1rǗ2*aɟz9ҪB̺]O"价o ۩noFHś+(y"' z%.KqZA\Yw \I:Wv!S(Pα OٟydsU\a)Iޡ:HAr-Pt#i"QbͦFWUЌ+.4M\/m[cޔ[\!)\~+eXa-U\|3}R6WX-(ik<{ND]r/Lb␛ʦ-!@foxg85ΫK׆}X):?m|nkSw2ZI./si؂Qߕ[߳銱m[nyF$=@ȆjzWjdKimw a@$]g[Nq:`2CL{ĤRcm-qGP~.D6'.(?;;G۷`𳫯 V?СުR{yOlMnzޝ־ ~Dzև}~;Tc~hD0m5zDׅ_V\`[>\!T0Xbt޿.3Z~IwTjVa7y#ǂ ǫE 9[ԾUDa/J Hb?Ѫ!d_z\*q_=.4?rp_LJ?W1?pBĊ;{ѵDls.Vr; 5,ĎBҤ8V>Ӷꎥ+)nnjtBo/{RYz]t1!{e,w%KyS֑Yhn#G70+.' MNmNMu@MsYyɬu2k(&jZ'=P5Z2ˆ"2ʒiAb8^XRU7-xZww9d#UU;OD5L$8?OXd눩=u@_4A4=Зj/}q-.B%ڼa!'tNt2HܔO_怪ڭ8xf@) 63&Q@m(;Q T~5=.g kATzRYg <f7V:bjt<(VoJ(Nr)Xئ-.]~Z:M\h3u̹ Wז| 4(O(¹D5bvNi@ux&٢IMZ^*$*-<["1l # ~Uh51S0" M@Ů:rئަlW9`,UGZFXcc3-Ρj%V`NPSlKQq8i nW_{ ,.EZB7G\=jY%kC R)?ޡV{q7.ٝYscP+fhr鵣`,WSxJfknؿ)xTkw DD⳷(WRṭkڽj5 \}YA<̃ cn`xT(TJ8 xުʊEqM٠'sJ|h{i $AA•=dU➕<1YϷ ?[Pg̈́ /rv!:3072aYT]L% 'iMUN1 ?ezxPnu6 nePl^XUBcҽHX^?)SKbO93 ތ7 iQhROKȑ-W/ :ǎC =A6ZC&]MqnoX-e޽wA~Uk5)6[[L nt𸸮f2Jes]BrqX.A;wH#  ]_povNji| | 9 8dX`a iJZFXX">g659$ c,'<ߵR3b;m.;HWsҘWhн ԇhVHK'Ksn 4::3/q1ir9uK}iO5Q~qhdH*qWfQ;ڱAW[ ۹S=ʾ*עmBAh~8|7sc9{\ivllk%-X\\:HN!ȳ%HSk\hòg?U~uRrfd4iZ]Ry^kWOOf8}!HL?I;ߩVѬPt,Ɓ߄ ZDA":JN FsT?R?Zo??y:ƒ˃K֯N7c'۶'Ɉꫥ>6HzOe;N<,'#U´tT`弪_M<>"lRkGh*I6}YQ[`neވD߃4ې _rP@=8$ŴUB+AME_+㨽5Љb&{\W#V~s .b1/B9bܽ7\e>!fȘ/q7x'^o ''Vk7(m cDȲ)C\X({TJ&GnL% &?NO&Oy@9װ`=!"3U1T&-lUle>*I;8v?1G̽Foj4YlWS}US}ٗb|xS3nJed*bErg=άgT23|QAVȊMY\#-/| 6>Q`͔bK|j2qg*+]\_;EL8t*۞9srJQSV9!s!֞`ϒ? Gkhվ!#PJ]lWݩI"P:3͈#XUwh~/d47/+n|*[j7`^ %YyAVd. 875WS7\@3@.hܗ&]jZq<MB%'wVssX%1{{)C*Dؖ0|v@o/KyWG'X_)`ڹ۲sCzJ7bRr͵ZD<g(fm=;T6.0~~)M[ }ȑfnK0w@9} 1{lIVOZUw6J&]/֙mհtPV fms=dؑh1L\ K<@clZAd5ѻl^:}6ʷA݀))IeÉp 6"2 yχٚy',I2.).x}K&c`-i22ԏkPmX-izSߧ*.MFdWlo?^i!\'^|gZ 25*~ܓdm.Weٰ^ *3'§ZDw ZF{5v֭-olCbb$c<07M|F(-k›,[& YɦiѶOh/]R`'kЛ\fzmۼ-F]ʞǾŗ$$m LX"~GE4=4)c268i;Mw_+Qũ+>ӗTFf3vŤD>yɀɓPSzF$fQ5.)=DkHDP-5PGkHZ^nGd5[4es}saIYPAJO z+ԆÿUr@JTK;A;NR:Z ]վƽHl {n]ʪfڱ3-INY6H?ʪ&n"8̷޽֌oĢP|m 8k&0߁y^@@EZ\U#/FKhMz&qn%e?֢"K{bIWiz;9* >C4|7n<](=Ǚч–VO i؁IO0q;Ur$YܖW&3* X4pcoK/{cs.6Rrm-H{ۋjo)umr=BMX^R0!a]ycy"Lݮ(p9wePs\>2gܨ,,S3M5yOrI}Aiڪxwef嬼#P@ `\Bf. w4͝훪\FIT+ѰGȍ,[\BMv<|+nnVЬ\~隧7N-]Or(#孏nM3<>{Ij&宕[g7+UCX4+~SRGZpЀ\횙+4NFC2fث|Y5En.3\b[`2v**SI.#F,!Iф^>8*g>Ya|W6?N# ar,3gi`yARqϰQYdJ^]r) a M crŐh4+6gC, ^>X-s/3

*h)2n 9".K1>U4.Vi jR8@Z `{ !RuV'n j|:gE:PI}\XlY:9툥3,.yHsZuk﯃&w!dè݆үz;RX)w,RZeڶ!S 21(0-n *LK1gp\Zi_s7K0P4HƆE"R,$F>ivFD(RmDg&}s ۠}/*ɏKߕ%+e!VTAA%ȠʽKw3O 1We͖}q/1 NaC0|{^;R tby%\GxY|`yϒʽdZh_Gll-gnmyj 9R,V"eʳ][or+iyzӾ PSҿKEتQS*׽~XSS6~Y0מZQ:\XB9cmV)?S-cix8~'\wf4&O2q;$pRy'AE-*ӠJn '*XN;zAR٪4NWo?œߖX_Rx.F]$|9a4E }x;8XC4pg( P'a|DpR)zn\ \MX:.ϸ<:xѫ@?ڌ@o{)u Ӝ1iWi| R6笔৏5$aߣۮK~Ousz2TBO2Fy{\Njd 4d8 ӂ2S|iÉZ,ѯەI ̚Xߙ8S SF*[Ww]̺r7r Ah&VR6tazs3 2b}l(DxnMj!2r2i.#G5Vk `C /sa LEgǹ)_rie)M% j Z5"dVO]@X?w~'PH;chⵗ&ؙ-B(r] |Tg۬eGG:ԇfTU(J[U&hjӱ-26q]6ev]no?R ȝI譌b4ynU &9RD7EoC_brk2AĄDl{t֗V%Ls<;brtC;>12v9)7s$D=m U?x&7.2:h-,seu|!>l7ZoUքoȰ@(jG&2"Yiˇ@΍VP^_&G,d,%(<;Y+b-1:ejm]7U2bځGS5ϬZk+z&$nt.3Rê].u~ҿXN³4cf#7:QSֿ ͫ~'}]jk=jГfsE )ʮ%/ܕP%0ż,B\X6ki/ )>uZŢN|t~;cTVܵrC?dd^]K|nHD'nbT =jl/^\D_#78`Y%6`}pOs~+3{SϦyZ=`>C&{Co^ް`ޘ6Vr:?-?-Wʧu6ý%Z; 5{0gǎ?=aV Ӎ>cv1ߙv55Oۄz.Nhs9N+t{CEُ *Vl1Wr<w9qp n&~D)EsU,U;N!SVYC৺;6uUMjHQփ9%$2k-Cz~qnzRfqhG'chR{:{uY[$V-~%y[ , L);XfN\ 6)fےZz "[$_1ڼƋYܽk{T-g\ewo>>δV'KʼS7hH]){ʼ O N̰?މ=E}/J`!fJW!(fKl1~!q)2MqLtͰ1iKf5^R:|ꬣ!>vjK[Jf} 4FǾGe|1PM1XB[e;viǗE/etaħ33t> E&> <3dRߟ߅Z`,{5s+DRHw-|,DE;qjm ^R |kyfݖoۯHz|~cȳrV'G \Y\4{y&$O ֑Y^Ì<#t?n.ZCJiW*mϛr8u84Ch;P4iJĂahDj< +WåQ!^oRjˬOUNu)UTqZ@!k/5MD.C1Ê%<.c_wi:RD ʀiXWߘFg.X7jv)7|ZWp|seՇ%oY)aeMnuQv+I+^pZoA@7Xqwf3_)dF&2֏vǼ;T}l%n_fO$,!g!fcH=K_o'ypp.숿ܕwCk S@~nl132Utq\EuN /)ohֆ2TcxJ`2*l:9AgSiG40牓#Fge9WQ.l*6I,%P0̱Q[\`w;(;m8Zɟ+3_%^|,|mOة~{\T[8=mkq̉Gф!&kGLHo7'Z):id&)?Zk͈e?ZmyUfxɿ|;W\*S4:5W- OZ,(4KAx`ʿqd}=[^DF\AOa_$%8gД%1Q$Y}"0i@DZ?s ct-#͝ ƴ?n`?|^0$5yVOٻx(46 1<P_ȜnQm@5J=#wESq': w'5;Qg,5gӭR0c^ao'iF!0> ?YikI;Dh5Rgɀ*[;>ՎcǀeE--i]2ll6O8-</T*sXZU7/2[2BL% ܭ"Ex-.v 6ʰyYhmZ?=e=߷Xh*IPрEEaqf"UMb+Fv LMR9vG\tܵ5uL,4aKy=Ƭ`= F<F5Nt%.6GV Q̉>n`Yә|~n_h~BI_Hf=*M\Q[Ij,>m9օ [6sCՈ{(Jn[eD[zʧD} }/lza8K-3f:ۚ }IL!1ɟ*^b"w ~npIWMKD_ \Qq0`9J"M5 .ʁS0`Rsɴ,Neto-]ڮ@]yi~NÈsrc!%Ӟrn,NC8{aXDd@@\y* &+â BFkr^,Fk96_&H =:,kթWR2'faC- =^J'{:ɀE)I3X[`$T6C~م>o<轖]2qLޱc,[C^zQ/-D~\^A󜾨SһLh6>2pIa}+nZpKζ^3k ]fK21 !qJoh}mZJt ~~А0lyX* $ zoݔ1˶,9(]Nu !zo[jsKȺ_Îut9e h05SJUYяAu0JFfea4_8炿q?_ҹ'}q^0-j~+ˇz˝[฽_??1d$V~bKI@-E3Fʜy :\sR.~f?AaFr} aA"{YRE _hFVxD߀ nJI=m]\H:ᅸ9_D ܹ3guL@Ǘi4@'6k8Ss@\ˉK;.TՌÔluD32!bcZoh*!x o!Hp}<\|5^RxXlhkz|޷b'1)^X.C=j߷dWih3bXMl{ҼoY+RanG5S\SnOӫa}V;އM}_NEq|߉9e̞f/WޒotJOVڬ:0\DaV_겟XDmCsnms[dtVB)̌9ӘmӶjѿ+'k_OY'ěGx iӔޤ6#dJLߠP7ߟV8WՑ_Man|p+`{sMrm4M^x]p$bd~Uֿ)-xaK?QgVS+a޲W7#M6 ^9M_~4GKйjxm5ADhUGw[ʩPmFmݘ+3I7__]> b* , Rj6bv:_}_6ҋI5fʬ#Kl?YSbsg{2z&o?A;+["W_HB_O4Bkb.v~}[L t\MZܺ W:1иȗ59F˵sT`-`u@Yyܟ|>pЏEkf~E㜚,yX%Hc*-Hhm·ؑ>eڵV"' %Q`b+1WqKAJk$aPIv+>MÄ蔥̧IH x+s{fҷ9$Z厔?W^*Nj#t*dIU"RJ5]ۈW9^]w9˦͋FW_UlwtK(U]WDPyvf&\C"/J]s }0"ě~yatputW18po3 _i |jaly4({ZڬkN!YE=`JN>f mfo ||[u{΁8MOW!m!-w8"MӤA Sc 4UJB\Zg~-.ecX](ՖcYK 8X\ C?6 wazmfFmUB8"D9Tzղaj.؇>h}0op^qpuVK)ISttAP/li$9vԮϩomSOkr ?^[N(Ӱ$y ;<%:<^z틔fs@y!K\wTKM.-VMv5޺%"Q$aIT|jv! ?d?҇dw rJ춼쏫3VneIPe`<"(ꭊQF- I|$vI4.5l Y. xYqAM-ߊ Do+2?ۥ48E$۹"}Ggſ@о?Ba~;j3ՐcLyc/љާ K>1Q74V05G P-J/$!?*bxHm'T;Ep1={!z5c"mnv;yo6G9MK6EO{!}a'qaYwzs—1F|I8l-1/؆) cp70*a>2ʺPj :S.޺Hbڪr3x:Nέ9IJnش)$ʼn0Ūg 8^s-͘{Z8ZmD:G}5%+?"!eGbŔ%)|r|W*7<7s;qq4fkI s^}$9>[\zzTbqގx&6j+ ;3+ H(+NŭigH}bNY-}^]S}P%,{N0V'G%+LToqoo-q_"KIL"2RQb-Q[p$uX9[Q$ʗ <חSG|I؀7Y[?|Vq_,xΓ%e?m5\8ӇODWP=JUTރ xBa^90Jkt<oጰnxH'E%5R8X|p#u+<yՠW9ykC.ەG"XAQDeגS%L,)5w!~&;kLX2Iڱ8kZLfÀA $S\Vju:h_T_Jkx9L:)2J7l֚l~5ҟe5W-Q1Aʉ9ݤ0 Jp 68Ou 5&,ËH1ltڛ*E(zH qYuhsԙq%)gM mjYA/*,2^͎Rz;Ǚob{ӗVPcS Iw?6BZGEd_\l:x0]4$8%ryN7w>+3G

bi@Q+L:[`>DY@ȃDխ9&]:ɅURtrؤy"?2 PU{7,m;-_GO_60d.JѤ NxW o,YOj!hPfN"&4S]vb}j2Tm|3QaN}E*U UL$4W5ߖ`&oCoh) *U`0W-6;O%(7d!t#54FOkz77^-}Ԭ*9~>{6ЁW?n;[ÛRL.a«miȢ(DiP0SKÈ?hSRwČ)+C֥E΀3hlsِoLZlLM, ,s*1` ~*Ɇt4M\rncLrӳ7ԼZWSP"ar5仴ƞ⌺C)ԙ-./q5ːL忽;]1u5Q@ZʣN?ORUl;+Gs$!Lsnp o-;^ QeJq4 {Y H6mmK>0nB%#S |w# ȬƏؿƏ?ldHg9^j酠y,u{ͯ( `W蛺w[HN6r}lJROd^o' sBO(Ǎ*/Hۇ]['%m4gYfFuT Ư_'q28Zm|ÅK Wen:Fc|4T+;Aqax@wdgM%< /FF#w"MqHxFA}V*t& S6|jdH\]qz~}P*ܢoKҞZ5}\b4UszܞXMB_bY-h7~-hlV2

    YX<\h  OA ~ͭ FWZ~)+t(/yjbez7мofhғFH1q1 hOodZizP \HSN/ěIY|r`Xkzƀ'OD]7$3SUlU70']~&}$=֙oEBOp'՝1w1|/Dܦ?Գ[uO;~U3_'x( TzD:Q C)eu `dɵ$$3QMG- }є82|?)[*ZK*qx_Iyh5Ⱊ{֤J=Pq=`nBEǫdp/:I.B6 kEj͌4$ Uޝ0KU|Xmo|ֿ𥨄Ǣkܻ+qAnm^}pUN3b V˗qW,X1 ;^ťƎՔAnqY܋;ߦO"$,[Ko? )57,h+="_KW~Azv8ɢf|λMl(3C@I1*[.U?1bPivusR์Z_U/Q֖ӽNlr95^2AUl:OFL*cHf-ho`Dl-`k?M [jHš0%6 (OyX 1ՖJv^!*2G׋t+Oes").u-# 7uV^7y钓jrjoomLjG|[>ǽm( RPYwZ~:G6-߾1{1c܅c_%.Rji)B<=R&%x3c1߅_ ~hZg㮝99 ]\{RoUx|)EZ#oHR '%505%V @^*,ܔ9 jR[6©SKv_=#W$?^_rʹۧ+Lajdö&;%2=;TैT2tw'xZ,*sεs;ڂ(s!8͓O'c#[I& o2њcC캮L2>!A/w &;̧zAէM 9H_/ 蔎މ5ZJPZ6]H Xϒ)˄~,hx9[n/ϸy9 楺 n,yX@ Bz]d.%؜Lj* ļgM痙.~GKڞOE|cT6hg'tXwo _]15\qKW&L! [ a'6Qb}bJiU<_9!ťw ,U"DSeT]\.#̣S1'5)a1M7*l# .#vBv9kRqYW tUXCԗO-Qs>Mx&1Q_w8>de23T4~] _\/>z׳w=G$$RGs;#2WυQ _ˏY5]w>]8w[73T2c^#z(ńjKeu.e^vߣ:DDਏ12|4..0pU0LRaT =mQ< c\q6IL-`۲d+;;B5(IoZ1͗S;[V_g$g'INReZzQ|sK6&1=jBXV&74RݺLaD(I񛾍/* :hq}9V?kXP4vτ!G(I|%5e\hJHr~DzɽT@k]y0V^^ «Z_Qy?l&B'A6>:GKpHap>Ϫ[eY ;LKLtL _ڂka9>wIjob #%0YY]sQ4? ˳+5wL+k;%.#A/ͽ 8J4DN9: 0q?TjQNuDľwQ[q\vǶM$dAn~WdW&km&L:179<7 )) mȯ7?z"$T4ot}CӽŔcЖIs[>(鉕unLLͫj=' ITl^y tI,?_6"%'\8Z0B*Vyxћm>4J r;vihgߔ$R5 lwzEj{G]AGiof%fx|Ӊ\k &F#WSZV $m cBVC$tfNF^"P.y僙ĝĂy m^Mtm!~)x_-9ԛ׉whwT( b妘t~2UTh ~w9,JDE]74r檛cAqrq|ԫ萿 5ڄ 8pP@>azJ.2YkFϑV1.R8 ''&voxn_DOo{<VYSD>x(ѹ} ^aU=t)zBʢW ELłvA]7?d$zL,?WJ/VZ͓'if{}o-ƪI* hϤʭ=D4Z0ZPU [zA/e~G,/N$,ju?ALƱWye8۬AK1ӟem< ?Dn˶,9DT-FC,:Țz=441h|9z.QM "vq'!smJ҆> ľB`+զn%W97w$_+z~.l;Zĵ=Q@ ]X=xz`q!{{&2Vk/x&F]Z8@a!R4~SSE*0[_?0; S"#fkhҴ2RuϚ5]xk]k<i?(aM1x{qHIed;5͗V4>5l*Hyޮk=a<{IҘue8Ky5%8@kn&($5p;aL{bg's~{+Bo&gOsds1_KP8gX9Iޜ\ ȕ H+ *DG^$zySQCy( o08\rZ~rh}peVc{H}ۨ nz!<؟l g1혓?Hm<]+̲xT1XνR.G%kWBC^z;0+ߵDꅰbH&j8,8_r*lj5_t~E@qKۛbQ؄6m{'/ͺ]S|ܾ)Vs읣H&nnFb 2ӎ3cU{Y|oY{;f6>RX,!. cBq e4YWܓ<sSAVl*i@ Ϥ񱦖"ǻ~o.xհKobsqr+/\/aU>BEwTst]e7;ˀDˠɭ{6-g~hZ\u ɧa v<΢#z%d鷥?2a}gF amTY,|r6#^4J?&`]ypStiߥj@k">*h~WE+=7b3/=6(߾yàE.E߀Z~0=AIm%6@9K)5]#`,ϜKm~TQyauz5ʵ5\J~Ѡ祎9IkdE M NZ^k75懨x%ꡲ+L: ؉>׳z0׋*+1g .?ZtXYV>}&r`Bc钗e ]u'L xIrQNJ1n7 XFԞ"1T \+`ltAtG[]庖sXZ6G60/ǎRz{&e:l{Z]&]Ds0BTמ} y*lzZBT7t+Fn 1aC XiLHw\4dNJUÎqaSȆǁRn;ᖩ5R|?@ZjX6u~sG\l\CGDFUu;or,EƋEyH[h3P[}}duOR/?M(}iq"ξv/ȌTc¨rBUCoHrrl<8C*H24]ǘMh^+  ՠK3%sC_&G& xe9( sa'R؄DL%jRRCghDnrJBukXagVR.,7,rvF䜸}3EAk[Ams2y巼'%}q88&Tz,ba=qj~/&s=sREH(t(udDTUT;Ve=FA\v~L 5 ܪF  U+&>Y=-nIжo,>*h.Ej 준wPl#h@#'w9M.]B\`'~+y-RZQV|bftNGCX6ihW m$j@~љC6dڇj$Ej=mw]4Uxg^c͹sO}c I{}/4 5&[d`,>gLYYV.uY/F& ,XSQ[$^y;v[> ,)]q`EPbaT ~N(O.YMhݳ۵B#b2YãO[~nP?y >:70duqQz:;& >X*{NS >ꘊa}w2|Uk Y PO}^CԂ~j&LmY()wMŋoot敧&̎vd R2+6ŠN_1pb+ <,&dM{WbL%7sA",Dc (If.Ԑ.No@V+ၑ߄d_a9/7M$vandi/nz8|ԧ | <9>\݄:߄ꐛe 8' mQzH(ŝ=xWFԄI$o2oMԠjOEgwoW6z~t0.CFD:uxg-(,KBJU\:{ M*/MXv )f{%tj{j*WTyE('QlpRr5< )۳/J=Z΋׺c(Myeȳ$~2DՍ=:!ASMxJ3~{xG!+5\&uFXזR??[~# ]x,XM(獒@3iZ~Al!c;๞ \5M;(!?PbK-oܤY.cۀDkYƒOAr/˺7cFyy1/ȄtOnX\!]*'kK5v~"N5z_dyHk}Y8U3Yj;ҍTu:_Noxae{=(]#b@+!:RGxb1R6 NIGiCT+3-3Kyq%ܟp_KB<Zs%NG5(Mtx3[AxX4țtn=ʪiZ4^Db$^MOȜPþ_?xa ;{_wPQa07a`.ݒt a;*|[AL{;.HzWiV/Q_Η0U}R%ΡG7wЛ҄ѷ[|A^䃑_c2 ;Kdti%ΰ+Ó. bg؎➮lؼM8=CDnSd;F@0d-싗{wP=5b΅e%-`5=0lG4'G0q%՛LUa(T$U$D~XC¼7 {%;Q6-9 ޠڬpAQh@ 㙳h*xgHJ wQ`vZNU5\jWMg7//l*L>@az X{cM/::wI%5%K">m7 eۣ>EK_ZӜw4WC@ff@?gIem:P= w,3$EuQ4focD͹>ڱYAӫ҄%ŠԺGv\9dz߉?iqm ~[p6OT޳Rt}kcMcgu=? 볥[vS8ݟ7 l wL!VLN\C(WBQ$ -Qɟ܏+˲/(qܛ@X^.ga +qNI|ݺ C@~È,bEѕݳ54.GzSC9MY5Er*Pnua_N)dN'[};!AkTsTa>28t]OrNcN51.&^^Qu֋cB@ *ZVb,_&KaѰOyDG܊k?_Dny52]{f҅mJS&WvQѪ}ſ巢S?叭[$鴤8 (T\gtw*;]pgm:,j-|* T8G|Hy/ke{}^FS poUߍff޼r{3zDIR!Ĩ^Eb`Lrl NlreU@g- b|A XH̬ ;vwz^$1SJ}/HYN4H` TAzՍO"_DG0:zi!FЍvY2a$ }5/sٷ:I=%]\Ⱦp#l^U_'Vƛ!v>/5#ӿqWGdH tηɎ$mQtɺ1ۦԉW+k=a$Sn~gؽ輝jJ=YgVc[_aj]O9[jchGxuʑf9g?"QbM~vF5b;7  6tD6ZNTqU-G L5V͗'Zpɀyj>C@{z^悒qSx #QK`.l:x0ڇIwݷޢ$~Q~Sk6ΨZGÈ32!tsּJ4M\Bbfʿ9DXʀgTZ>J{5MT~|/ ňVS|kW74+d@}ŷZ6,!_Qw2<[ϡ]"[V?ن4^?(Ʈփ[U+RgsS2dL:sC֏}m' `LZq\eK4fì_#YI˵+7G9#?Bl:p8h  +VLBd6*.B,'&pjpGsqYq+ Oǥ!D5i*'~g^ţl//IeF]wW`#j3B=RX3rR뤅o@,4iݍ^^r//V;Me+ KȢv?{cx,͗ĘCMLh?[GkGZQN\bE)Ju=i1=ylDoTB%~RޮI6+4 )B*Keً.CH?~ʘ9qocN}NCVOf<ڶ>qoTPK1ZJqjmEJ޻w1]Ք zwrwpՄ- mtO7ϝ~8/)O3U,_<89Ƿ JGyY#EȊOjU&W-&C\K1#rBGY%4,2AJ,E5yMr hݻ7~Y|ej7ӼN?o XZ,Hʦ"r9! mɋ砇HڙJ |MPoG 7ad"]#B|L:m8`xİ[E4gDdY[~ YTM M-G(Vke1piZ&M&;f{Vo> V\luͬAI`քe}|LH %P/޻Yik_x|J&NU6W֦II1#tGmKK2q;s;t3\ܓ%)F=-7ڠLD0;jRnF:mY HFL=P~c6Nuwt_"H^vm˞TgGm?WHT4TwOjWE?{q1ijt,.t0ƁfIo4i8rv0;xtwԤeba-ƉpA}H͏{ \xs3?E)li%C4哼03;[j@av](bR!Z ED4̔y&,TO;.B1=kq+ ރb=DgQ[2mj"a'F@56cfʴ e_naq}p;"/4X/ h|5MNȃ>VX񰐄yxoD<#[$̎nDŽ*O AcHēPB~8#i>6 ?LoyĉxpG jxhx>HvuQ m1#V7e\0*= ҙ:Fm4n -|(S]Dlߵбr9]}rUod\(Z*N7"2g~?*ley$d(%R"dyr-UxhSza6/>t9l 6`/O[tFH#VBjׯB+ADLFuKo|VF>|}u1@;(I.YYbY ȲP'5 oя5:gT(īeTC&'s{9vn0ߕ}tLFZv[%VGm {ͽ}\&:ʵ}=NjVc1 bq:n `QԢ,( OCJñ/44l٪H}:hZ k]G]۱/|~'ю<vp㙫!8؋ͅšD;U6z– T!BI L9!h4JѴR`iR2PPҔI8*1CPTuc)(u8-L.G,myHagXƒT)ǏrbT|@sE@:8%*+}:07.&$.LYK@p (^K!$2 PΉ˷`SF=&4~]OѮmݾIh!e/ 7䷧Y^oZVVpSB%P o 7| uaPS%c+ mxVp8 : B2~=] :6}@T2]Ni*h.mRޔq'BP fը릆Gy:I୩"m׭%8cukM8~k`*;ow>(ףE=wc2`CJr[q]Ot(=UmyI:'9>g!V˃]oiruFm@ AZ`e'0l6vEZkd``FOM2hgk0)PBE,`ʷ߲c5ס}}_1?#ٓD0%p(P}k!OfbCf1wja`039 u`u_Fmڂo~l`jheԲa c6P|y2f.HYǖZ_s2a7ka w_<غUE/YWNw.]@ Xcbwo'îuyqVk"4 c 8yX;ߢ.=Ot\?7-x+Umxxų{o {C:<]Q;ޱ`osV-ö'bz $>@+ptUoͪ*.獎*@J2hBً]7lTΥn?Y{Wu|ђy7E#;ȣ2[T߁6YG}rK aȅUW~9Fm9y3jiB-1}| *KA ېlgbF/bhcd#C>Οq-كC" x\͇1c=dl(4' JM/y&O M4 gd@5|?0Wf͈Uycn>)QMM0"yOqt9bMDIqWhmD եUqwвb{e:4! P-0еShD$9+"=I2L %;Ea4L(E$0S2 2D4(BILao\(J2j@p tP&xCq1 xb~!uDyh2nEjk9J Y 4ŒPp=c5DIB@'((IJ֛ P-M8 Ƃ֓T>֚M{ub֓_۳:?yoF`t>)Qϟv3c;/?2hP "SlԖݺ"AdeoǵB*v̷uu0.F>H: 2NNNm rww 8tРaÆP#FDFF92**jԨQG3fرcDbX"(-Je2aƍ q JI(iJ BS||ZNHHHLL0aBRRRrrĉ'M4y䔔)SL:uڴiӧO1c/2sYf͞={Μ9sMMM7o^ZZ,Xp􌌌E-^xɒ%K.]l333WXrʜUV^:777//o͚5k׮_n7lPPPqM6m޼y˖-[nݶm[QQwرs]v޽{Ϟ=޽{۷~:tÿ#G=zر?'N8ydIIɩSN>}̙ҳgϞ;weee .^xҥ˗/_r寿zkטq͛nݺ};w*++޽{޽?xÇ=z'O>}ٳϟx˗^zuuu7o޾}ݻǏ555?e`dlܱKةzErr `dmQeb};3};MvZ9*pZ?K{ެ=):$fM/uqGr^Ǻl:yhxhNLHt?~dlј$9ɷWQBDTs+0}/2G7gʠhiNүﮙkn,O]*#1 (} !~|u8?gƪXc?guۇ#a)R $#2%= 6?A8UCa.ف7YMWu9GvͷVPiqYLz |S0q++֎L>nsIڽ@Z?ON4ݘZ<—#}ߑ_xgo&{{;ez(b-@B:h]F=45 (8QQ)6;vǃޱm[}CR_ǐ382wdqlze5,̊aL.?mVZGMPyNi3{JĂZ7J;A3u_@.JVG.T[~Jrޙ2lb.HBA5ePUzOcYn"nu8rh!RC"gXP%B;cҺ{T̅2#I碦w~Q Ok)qCXg\43>eq`$p\z ɍЁ׀E+ׄ#%,FP?mr1 w@Vub|$I2j~ICE4jkxfT >HFa3?R4r."oshN:w$w_ܑb+ܶ/P>ERi$ht6K$4 FH[bb 2Ou7Xmp1l%YZc@u(zAGyD%S{Q|o UPԜH*N=|/}IX+3^-DzH ^¢ CTvH]UF كL.lA5K0Qd {$]oZLrVAq9\.!hbF'ʸAeTMB1T:œҡӢidʘӵ0ydOH,iXt3Ҟ3njNq GG4z]*!$ !,ot"ZO]0UhfЗEG X9#[$RdFYeGp\ab/`6r⾢~oX$b*EqT uǂ"Y\*F9 Dx^SR'UxU^M@T o-Xmy5 ѡfri["D, YS!*Ac$#t,HרmnHg}[bwZe'$9xp|W∐%Xy s9t"#Bj;slstq/Wm1e?4~ȟM`"!@Vd;_0] .t扝5t "N0Ĩ,f @-!X2,@ї2d:rm "RƏžAät:wA~b2j} cE fU\BrX{d7Ö$bdBLƊ9D: !_~i.ӳ43 S>bF1``>Yxh rskBJ.!o)"$ruLKgߢ6D?>禍Ou]JE0\vcd!e}X,MG bE`  qB7>޻quPo9K !@+S8Z)z i 7#0 HBH,j/#D0cޭ];k7,a/$"Ƒ,z(`+z| IdrȥbDxsXP9qɖ"\ᓛ%[V 3rK+3GvKoVlfOʐ$Z,e4mqB.G,6G!h{<1H@hXilx*g DPYԌňNERRVzrE$km5[ӰjDYih{T N$6DլS+eytTlbv`ћȅ"`$#;`" ׸l̔;QݚiYKDeXQh!w1T l809Kw,d6k|+\S #!z,vx9d,?|31-1MxL5F'!"!t2.iM1ÃpANЄ,'bE󿁘!r,SrE-"FA_"g࿅@aRx4 ZSG\㑺J= ^DGB"H-3:z.Ԋqd,s_e< l`^_Dh2&Ký}FR⥁Bdj%; R(L/Px, 6S0L{%l1 !\D Yxs"8*Oh]I /-`⾢spGdKu}arQAcmߘ'̯9?2x{pA(NnV1:dY6N՛Q|2@י_"F%"Y=R&E'Qސ  8l/8GEўym1>2%`1THP ρi"arp".ut{E6gfCQQgw'E$+jQu>`8̎| Y[UʉBt5꼸bnz,+Ɇwo*ĽĖ:0XChDF,vTPZ"EeEϞ5YH33[t}L0: #{`F"@]yq^~ܦIILYUyY&(A#J l;{> j)okd02nICݽtD ŬfVpzn4bGF^XK Rf&`@}3/6WJD5 U <=( )V5T rb7q97ޜqx)`vA(8<:Z]QLe-PQ!\ ;S껊u:=5R҈oo|sB$^Uݵ2Կtypgv]uH9dR<]8CDh[E\1G4 J,=vW U myY#E5NԄΔiM>B;nU3F$pɓfl'WM=gou}BK9Kw?0wlȻzOI& hBۼk~%X͆K:.I9cԦszgxIi^0ݡ8p[L8 脭s- ua?itr YLYvc+j~kґpMTv*͗v(esކZxګԒ V?A=wCq9XY"}/HP"A(?3S#wOp|%/1RңߊF?Ӳ\!:Cx4nG8 5GvZ ~%l4}L3 ٦*2+.s>=گ;ޛ@Zر"+F6x1cn% !NT8_Sfưtmjմs7U˴Z; [}uP !!|vV?C;WKl_҉ft{5!]̹;E5($=ƝY1K8즡yn!M,ƔtD9z]eylތ^GfmIe(Zuٟ_XvL"^PPgJEup)ʱbjF; 9РK_s8;}d188rhy<לTNF<(ӵw`|UPjծȇ[VbBP̓^s Fj3e·}Иe ymܕ<~1a9K Ur$ϭs I.ݼ֤.4/iP݌[^)+nlЬsΗ4kf;U#ۧEJ#\y1|]u2 V؉]0=Xj8urS:b'v Q.<2v)&4>ajYx]'g8ӱ&栔yc2Dk$:Qx -A\J'=/;N(mu2Tɩ!,((&s댴Y!J1BZs5&ԇG?_fdy$qHn3 z>ַdz+^A ] .tnp\ӏ^ћ kVF[:U CPOn%sr!=Cn)hq?p_}7nQ;oYZk|\?DM;D,oWZE{wN̂Hq Z gx鿔EO)G'|?}j>dAR<6g(}jXzRmwhD D=jd ;xEZzUj.'x "zY#CJxm{M~?s1h{2}v'8ns^8KR8kL(,S3~7xj k+z<itW3QETMp2qGPkٽH+ s z:`ydYܫKC1`/ϕ8H v0T]QA ѭ%V:9 luJAmWG I~'$~Y +|}yy5<GA2x~(7;εKl  T'݉2oq8>1tG̗I#E|~?H!9m'N:,>3GQ愴Fh0Jq^T qںk\4Hb7+mE %O8Yup^u,)0W(JFpËL^ \͋$Ḷ#|xT/3.$}OGe`,kw%Hkm'YqjMAESIbQ|*%43q%o|@ě?+k=hC.4q"0_tNƃ.~xnU}t *(rws۠$Xy7UB%\v>ye9ikp+wx$JcQ̝|إ:x9FgZ^ 47I(~nXd7Kx||˧+<ܴ7l0a;2X?I=gGFNƈ'?0rg͚8Xk'.ƟMO_KX?fI 㮂{;fU&x0nn>dXǴk`8Kk;o:`o}ډ(?*Ncϟ|b))XPDrKC&}>=̠rhx|ޠ]h/2Cu2 Ԭ ?Bg\ B@j諱cgΕ7НDJOb%c;B:;Aʏa^EIBPޙ#W#Ad[jO^{[M^~u0؃ʟ+ kܓnnLB5|@?$ѩox4a b"}#D"h'oI.Nvhx9AWo7b~ߥ :J`=/.Z*'zcs;u':}(/u!@ 1̗sd5"޶/ x'2qŰBeۨJ6qN`߶IcwW֞;ԛ@]͏('aR$p <+srͨf'n9+Map~>99yGtoq%leބ!U {t8E i 촌ﻑWĔ[~#eq=!@EQ<6CʧzC5ޟ]@"\'Cμ[e/F/>=ƛ/ {QW^a|v=?(2_E7OEC7=!~`(Oyq-&|w3ŠvzQW463eO/uMDN\i+:#^…ل4o\y&'S,0 $[Ed0dϛ3~Ap}RyZEmaއGϪ:z>7+}D<63|mHLc&[qM{F?3x(ml״m'_vl[ĻvbX}S|}=~ZZLjC}zC 6;1p^Ӛ%/kZ1}Lrgh Y]ݵjihg&FC`(t|ߍ]AuTg 7i^(>t-:@p! 0=Im׶LZ4"<#>з?iŧ5.'ϯTbqv"e>U^&+!5L5O\~NUXAiEQIu,;唾KM`dZ|[ b-g*VRg݋L]/P MKث3xXFqx7DTIҮ܁#(\L܂LquɎAB n*ٛGhJ.lS4X;$x碱6/7Y1ƽn C*+ny#&/-HNd_i fsr dNz-Zaz>"lΜXt(7ʚXq)E".9Kvh J,ӤbUV8[{(q 6뾬:\6/heڶ }nжS5 K8r+v#fcsd+QsSeyLEv:7 %WԌ˂jM~=k.4m:T쏶IzqxuZ_ɚ~i@K[u泍zSt8"`CKì]ap'|ٽN_+yg&9X^fɩ5/D_߰ZI]( xú2U&Xx@L 0Q$2Y,xCzg,/jn"߹eiFzr4fP̀:Z[IE|3+'t\*oEF*B>:\Unfu@-x+*9*?~q3a&ݹFaf|!&{|y\6gnWQ?3`Ji!B(G͇ ΁{GOlN"xTfEf\ jM` ,51SKX6 $Z@:lUSGkZ"5R9^Unsd(0>)F!pU%g&OjՆ^-@go(`EâEVvsV`{ jnIbL99 R3%Qo=*&IVsd TfOQE~.ڬWSjZC~JC܏k0ʦC#؟F1 gXsjZ7ȥ=ofpU$,`|$ uxjV aو].ڤDzE3֦!xO>yT&#G'`Chۜ"ߴ5jd>0`hWwRJs3ώ؟|ɧB0pnaX=!y;+Ͻpdwy\pv/AK["ˮׅ; $nR(V[ ܂H`L!2T6/-I7$@ͥs,z)JFH(O0Q|ZJ%n/E@Ǫj%s)iMWVU*E1:TV=1 lL+Z#TEn`kFJ@caW'o<}'9p<|XCxUrbi3V:޷DUkiRZ6j0]"oVH4V"ͩ-hٖa}ܠ]D~WhgmXΈfP:Hj&J>poB]-3ͭiI`rglM/@f.vgg1\afeQۆﰴ.,u | D 5~iTMiIFJC43s`wD*CKR/®gbj qWp/eF>agAF3J'C(ʲ=}k$p wU Ң1JOqzKD!_WHR~jl3&9)W?w !9n]<3,794D_>52 o+חRXFJ%>2hY;6(uW'>ƒ!hHvչ~уR.v? mVi!5>[|73BE mc 7>~&ښ5<2*%vwr5C| M2|q j[DBw>?b,<8 bf9{J @2UU(11RCb{} K|4`yxy%8Ҹ4Ϛ/%?} ^tVigU)Q#wjTAmE7[/zDC% *&q=3tIeWܜt*s깣ER͈(5WpԆ_(m$|uarݧCoWl6&L8kSsvDk'.xų]E s * U&.;8:WoZEo_o'r[$;8mzH\h$s{Tcֹ ֡aBh޶jųz:LBxF qYH ;zD#s/-488fg5<s~/'rTULWt׼hb$ў$}٤|n\m5p3{^reiI* Z3TzFR@=7fXes>űV:]ÊV:?J:wҾ=m=Ե 鶞 ڊݾ2''}K$>O)~\s9x>^-h)42Tj@7 5SNsӵL4F,Rzj3XHs7c:{q☋Ҟ^?eg+/m[jGnL=nߕeӯCV.j42-! ~eb  T|aEuGK9?^5{96Bu9qTrFw4tIJcJK2Fǂe50-M ^5qME]C2Ԣj=P` 'p,}2_HHb{.0^)x[5Zϡ w hc6ZEm 2vs:u!~\S: -՘2a"Gm1 t5\z,r57ֲ46hIQ]bnC}Fjm|cFVb&uZ7b\̿˨=$9I1\ֿkyx칆ɓbk,­On1xv?UȶH YLdViT-sTC.NՁC pеf}1d1`so'8f[q jnΌ3)GKSgxoߕ^I4Fj*COyX_݉Bj;q@ijºkqyevvLװ b@22q. L_\~"n2&mq#;~+=Ʃ(20]]!+q =xeG Ԕr ~=]V=]f&CA>R¿Xu^?fڳB9L\PZCFiiK2} 6~vMbU+WEO~*8 j֩S`#@9HBLKIAP}\aTK\Bu|eyPgӪm|z[dY^ iN]PiPrb /6ʌvurX'vH]hm7,LRf9*[R1]&ƌmiA۔MQ󖢺7:2IPFxiwjq0]֯6ήk)19o"\ce-7m߳z@$'(ӱ{^0?ͬkQیZ7S^¯_Tdn:ywܣE^vyި+Nj"bϤZ:oɀlΝn&;NxndŶȬH~Zʹ:m34߉ϩֺ՟$ZBmPVR([8 6eDEJ4*+jI󳮁m! H0OlT)-G&E&kV׉1#SKCbi )h0Kg ^kG mGX Z,7u60V_ ZY؝2ow.jewΜ(hyI5pˍoެES8jC+f1ZjB5pykѶ]W_w|6lP3sŐ@ T2 xdurB[SNO'^[ǔ6^S:^rڟBQ;ʐז5 v|OS;/ƾ@(2+P5ÎOryW pGL@'9r 5, {ПxSd/xS(rS_P k>(ĚD3ܶjc˹?ݝ{߰/mV:X8Oi_Y;}/]P6VXr,a?@$[ /5Ojryd,krH߶k Zuۼ?TOkv#?'US[ByнGPF6vv>vvp;D;;﹊M==)4p o71vS=h1IV-FAqʒLŹ_iL6>s* o^<"zQ|W8' :?*)R7~T8HT<%”Dħd ?QdQhFuruR:%Kw2_ )ɜ$D@Va@T~0 ?)ɞEr)rwhS_ H)R(rgG] "hѫRp(eBeP ዺ efޙ?ܛ"*6=I H6$d$R ?rω?o7J9$3O7`!WgIa$O--=/8&mEu/ڃ)䲘2,\-5Fa-X./R?+C炯{,33x|RYSuJ,kY ȟT%$o驭}&"f?<5n[詍t$gGUZL)U_SIVl? 巾tyNSZZkJ<ނKErrT-yIMS-S[9O)$.!a9KUkj7?Ӗdɻ#dZBg232[҇{J"P?4ygLFrGR:&|m] +l"7Y)I:G]zO˖^9Wq,*rvLϒ4uOb}exipKǾx4Oǔh?}ߪV^[&;9=[5Q¼ 3S]Q Yu),֒)bW+R3OތAk3mjV 36)%v.4?ylYjb#O9E 2͔sNǧ>࿟?6EM_~/EW'3l]2;; ߰srrUlmo{r@6Ύǔ@x8F~IMϻ'OUOcᾢɵ=Ö8xj5Sҳe}V%"df&N}9rC K+Ib%YFr^Hɜ_?%Ǒ7ۯ)Nf~!1gI"s?j?h]ğ#~EQxIS@ߜίU(ވ7,ZENKԌ fiɒř H[!g:Ky:e[ ?dȄ`jyFrrcb}ɕsff/F)J&*Q-/__py_K ) !r䅟U?RYS{$y.\Ôӈ'>}w"9t]2R۱ss}07}LG=~w),3~B^^sýC==n+P:뿡`ReY)6(_#VGYhS !H24\ &g.(a盁٤G. ּf0?)_TRrZR'}GY$ɒcјG1oj,|fݳYuBU'[bb#d :[õ5u 6m {M0ɸeʽF ȭD Ww0hqG[;GFijx4_Q#qQ }PQ|JL`]!o]wjWc4v63 pA4َWFm^B­e%L3xgXV-%Ib0zX}+I u."raסaJ:~܈Nz#C8|OkYC r0d4=jVߤ]*g+٥;=녝;f q^;癌K,P@dW˞&0}0k%o Vav!A"N=ok1sX.{E.du"E3 zc>jvxq>A\p*|;.UP2S/4i]In2\4._8ɸp+˵j?˹4!t1PWt%!+HP"4 Ɩ=~0@d5Dm[z`V^!p sc+%-vi3@_KϸKߞYW휎aI=&ppPաȉ% uug5q%x!E(eV"np_3"yyq6g=ɐ&Ӫ:*=Jh#%jg=@0PmN,=e~NhZw)w]䐛cJ? b9{4c\KJ2p6GnEa맻؍CB>sv86| ƅ:>Y~SilNۦ)ͪ iN,x?#ni'e-g 뼟඀ 3w5 LhiKJ~%h ncTkd{ ɒ\jN'ڲ@0Xzy)Mn6EBP~y5jf&Pʖ%`=xJ.E'yz6 `8{ K[G"BwF10 iy6lRf`nRҠ70{~l 6Asj0׷b!b&`(y֒ A_e{)h͕$RawwɡHuV=a>Fjue$pAɎʩ9CHNl7*35ܥ7$lߢY|/)~d~)G{r_5ر׼i^k$]Z~/T ff+ߤYI&Ƙ/&  ٨ lXmU>5ذRA d@[=JxOns頻<G/QyXSW'!6d;ٲR˳!q]x<~4hEZj#v`j5 >[' 'GUgi=#sFE"ƒ3L͒rV|mwv71uc_o>a\3J`8*ȡg孳5/<7>v'7X} 娔{`~ک^%lzND &BgIG8шdeFxg y)$I_vKkm6T]_FTN{\{7.9wzFy1lJ+Qx_yEQ\vW6)W'PwQ)5W*g|3#b: tɖLM kTE|QV)[GzO;刟0S>L޿}lFȣWOj"zuƓ\ܝ.q$2lH$d'8|%9;9_7U8;;Ϛ5cٞs! E*yyyh4ooo___???sΛ7N㮰Ȩ蘘ظ'&&2 &$RRRRSS,Xp´E-^8###333++kɒ%,kҥ(1'''777//oٲe˗/_bʕ+WZz5k֬]pB󋊊KJJJKKajEEźu֯_/ +++7lذqM6m޼f˖-[nG۶m۾};D"Q}}}CCΝ;vڵ{={ݻw߾}֭X,>p:v#G=zرcǏ?qɓ'SN>-H:;;{zzz{{Ϝ9sپsΝ?… /^tR˗R+W^zڵׯ߸q͛nݺ};w޽;<<|=Lv>|ѣG?{ӧO={/^|իW_~۷o߽{>|qbb_o}rr˗/B5*"~Fi<aMO* Tg 5Ϯן@O^ Es2.muǢP6xpf]٠~h*ܕf 짝II 7mTTêsC Ob Aט?~4HYgF'8O?¥W >4;d^u_.\O6hg?vS MҸV#E}tJWjeoz4K=}WX7vyw- 𼕂_lwkHM8QV֎+7^/%QdWѬhQ^4+j+kMS~Okv۴c=Lf#wvZz܉=E%,I w^L\-ݔmh>xR1Gg n{ԕ7˷O/Ke({bO}+^I,TrQQ|2_flYX0fD#rL aA ݴu_߄5Zz%UIg${glU"^$T\/ҩPv;jѶG>d+u 9#xHJv*n7 JƨG_\[s"|QȬf5ﮫu90,'D6D,hu4S^ tiuOuMn/z!(>V*X(B$TS[eZ4ј,V#gpQJ"9d(r&U"3(7L\(>az.j}^DZo;u/͑WL?`p&ϵKs>3L/@XF J8Ap XԿqM:Zbm&3pgiU'G"$WQ0NO;4\KVܾnF d* .|6 .eNK#wk"f>F{ः{lMNpgI,LI)mKZXl.UfLByOgtNA3aډ%  ()_wSϪἍv F[❥H?T׏7!) `oY@J}GTr8eX*AZ8kP% Eb͓eGYm.>ZVה/jbDPM},=O0Z,-U+f) &@ Qf9ذμ7'7]*l=PiD0pX /KI#Ghy[Cд6\ k3`(d GwD;Ө;29ٜN Qێ%,:P0Dneaa2.:BSR|*Wd7EY|eK~򛮠_=d~)G~#ذu\E(JEA.NU3\2\QNlӕ*ɵY,ihhi)$x׺VQl49Gfyc_ 4ph*f {g)ӨǞfZa펧bCͰF}|˙b>a2)DIwpJ66ҤéP{ɆxF&ѧZ陮^D nwfӓ;5f @7"D*57A]>aV zaH>T}s -I)=QaHxC t=}@3St4fy@1auTZF3N3Xgb3]t$%z Te,)kF?2@Q/B"@\@o&b,Z:e(kYMT JXrAaXH: /#?=V?VlJUy A, "b>A#׉Wo"4G.4C QEȕx$KCK ܣHʸḤg4@s `=Pd8,|ȣǬ&VyYxTUNLp 8`<&R` x8l:I- ߰6abW,~{+jxJ@a^"R"z U!N""d"0j%B,{%\ ?"bZ9AN]]@%ujUΏHw8+T,zqP"o 5TQ_GFn qU(F2Fm QI4< 8 "@ ^!!1ll}EYMްIP] T ZՓ2mEp_ h Ts 4H'=dO>F7pk/Zk5C>'9o'gpN}˻%zcM&@3`A"Fns3G=b}?}h- 8!QSG,ʻ2H!RȈ|1!(D]`Ld Њlgb 6En<3vV.Aډz,Ae2D YE"B2XBGADJqpw5h4@UB\Y}"n=/C]QUz`yxL݃lJXHkuؒD,UX)X1Pg!˯5Aszf=r ԧB0 '-Z$ô00ܚR u]|XJcD&1zuj,/m5B,z@D$cd#XRD5㔙w'ꖱ[32>s1]= -ģ2n(t|,p /PJ 8hiQ\ *CBow20:fa sXPQ){;wؽt4g'=o]DouyT!@:{==7 `,'~щb67~50C[M;d3v2%`1THP ρi"arp".t{E6gfCQQgw'E$+jQu>`8̎| Y[UʉBt5꼸bnz,+Ɇwo*ĽĖ:0XChDF,vTPZ"EeEϞ5YH33[t}L0: #{`F"@]yq^~ܦIILYUyY&(A#J l;{> j)okd02nICݽtD ŬfVpzn4bGF^XK Rf&`@}3/6WJD5 U <=( )V5T rb7q97ޜqx)`vA(8<:Z]QLe-PQ!\ ;S껊u:=5R҈oo|sB$^Uݵ2Կtypgv]uH9dR<]8CDh[E\1G4 J,=vW U myY#E5NԄΔiM>B;nU3F$pɓfl'WM=gou}BK9Kw?0wlȻzOI& hBۼk~%X͆K:.I9cԦszgxIi^0ݡ8p[L8 脭s- ua?itr -PWZnPwhγ^eU[퍷$q.l&&_uK[ᩘsv_:$zsn4v[@UPsҀ]]54Cj,l:&hgGlOaJH pKp% 7tfWڶ-7m@-.غT] »~- tYOC@33f  j!V_y1gdbݱHYYu+]AUSV,5x)&X%&Tx7`%cY^ ] ]zrv&$+*K<0]ȵJvi~_'2K~d~ߙKfQϑo*?핎Ñ+\64-Uŧ_E#a;[Z:'aZ;ܺO%ܞH-u/3d|˥FxֵOfaM:6qp3/Y 妬NP9m\N4TAݴ 3i#Y[rOV@o( [vjN;69MHyhh,|u%Jnw:߷&rݴHL; U ∦h1~ @T4<논;A%'N,یM;RU'Exu{bYd !FGM$ ìG3$@0 KLHn1f"}y9Hshgi<.^<3(j&o1'ei} Wz-`@#R`@C*V}sa<N&8E–8 `{'EA63Lk0 ȃ~At]EGnq&W`/e/~㜃3^swv#{}Nj;b^Ê7o-՗J'<^z=Ʌdlї5p KjIӣ,ZOqu[t:fCts`zˇ,}p2$srpoꩢ`{3l,J4̸`. z HQkX { KE\sv[oUy ? OKl&تKlNT  .zx7gxP1OvɱJoGB&tɑXK#THDkqTdGFH˓H@r[LLqFdU˶Zic܃gTuqVwTIZlI.EBޕ! Gɣ6Y^j\"_q9윶q`y~; ~!W}z6R}2Y,*?ilcFH3 ]4Q?D;R!E]ɳ]g1m)x VҚ4gΨMYrڭaˡMa_OfCf~d~)G4&y73=M\`1wuڤ웽C]x$醣WrT@g=!x-`4Yē7Y[9Ok_?= ϥ,UG9oB>1gcdY3`5Ўi/{ƌ_ෳ̀Pp=딘Ig]5<_v+~{XGpAmOr)E4l%c \)>yi6at 3K.T,4rty3~,^ZOs{qF0xהcz&'B+-zY\[ǸkG5EPSWӫt?Sws|ߴ\ID.]V]ڋ8dQ-5`ݕ[K튒bÔPʻ-#+}HaebH5z/PygOHs Neh^ʃvHliH]S8*5{3S3.w6g8LoƆNh3XxݨZͽ167p2NaQɌ,CsQ"5*ycNLp>zUӌ0gI,QU?rզivwf ҃Nw5?VnQ򡦧x,_.7,v|ƽ]Zf:1u?{pK ,\u^$40VUC[<6aTr uN}yCj"<*^)A jUI "nm.1*݁4𗓋쳘Ŵuj7¡WJFؼ|/ o닠  An|i:R6WKmQJ-ɟ`heszx(1DS՟%2ѧT /bC;c>5{W ZҘ(#%=zh(?h>-k3tKHㆪ+{TPsdG_ζOĎq=@mr+o1WܣʸCI^Y 9z +biGS9~VR J @!nD`@5:rޱtmjմs7U˴Z; [}uP !!|vV?C;WKl_҉ft{5!]̹;E5($=ƝY1K8즡yn!M,ƔtD9z]eylތ^GfmIe(Zuٟ_XvL"^PPgJEup)ʱbjF; 9РK_s8;}d188rhy<לTNF<(ӵw`|UPjծȇ[VbBP̓^s Fj3e·}Иe ymܕ<~1a9K Ur$ϭs I.ݼ֤.4/iP݌[^)+nlЬsΗ4kf;U#ۧEJ#\y1|]u2 V؉]0=Xj8urS:b'v Q.<2v)&4>ajYx]'g8ӱ&栔yc2Dk$:Qx -A\J'=/;N(mu2Tɩ!,((&s댴Y!J1BZs5&ԇG?_fdy$qHn3 z>ַdz+^A ] .tnp\ӏ^ћ kVF[:U CPOn%sr!=Cn)hq+/'>?23@WMgǎ%i wjZ}`q3_9Q78D4N~(˛@VўcAd?#kFMWzPTzzK :X!$HbCH4*EP@QPi***((6_=wsÓgZkf~kaO&QB)uO@j:+ǵWd_ʞ8 J4NJLW8PG# H!} s}:4?X-"1wCAzgW_^tp#pjx~Ɓ/%/J 36J܂W2 =DrkӍ$Y7,$̛>|oӯ#%jJF#ia]PU" `zRȦhK$'i.~BRTm u%5-0"5'!読}RPX\y{VMBox2gZqjnRU\$$+IZ,Dݹ~~Jh 5!9s$8ѱ pEi:H$_H& Vuz,O!":ނx ]{l$GMqˤGV)mPms\&u8:φN9E#vU4huA&C42R_q'p* <Ҡ#3K:q$lNVET \yQoM[}8$lr蘂:)Dhs@Pt|mK^W@lZFtrc) 0ݧbTLM}2 a)8 1 Eɤ#7ڀ4'c\Mw:빒H,4t ͺ y d: ׽H"\;Z[ă솦d1cNC$#*ŀsQ]w hfL C{bYk${I%dde;>Re6ݣŜ劁*thmFGv&hxǃCj,ou,\H.2^I=4ܮL7OA'2>Yye7ŝ#b4a]U-F,$T%[o#i;ժtoօN-pފ$ m஦\6r5'lm%y 5~y䀰#j!OxC@'j j!a¢?xy6M\fv9fxh/fÑGB#HvkI,CoA ,z8[Z︉Y 4p٤9u؄ZO+Wn*`AL&ϑ0me5!7iqYex8qY%V oSI=u˽KWsN-,&ЋwINˀ4` P*%92[\_mIҦ3";y2'R{RF%`@rٞ>36#,Dܫ1sDlSZ"0R`1,DG4?VkX8dZx(n5:Wj[b+wn]DٕNy%?R} ڊv1\q3qvtƔbHTPlzi6r|pu#Ey`n gR)nc'pM 뢺 y-ѷu:U#50k#H)I7/dv7\/uX%^Twy މL!#$LuI~?{8Mrn5îΒӤ`-PMƀT 6#L- /8ᶴs SL2}e9­*0NTHmFuOS, >ħ/WIh}4= Hԋ#$f\{BE8,@J˱:d,Hjm|ȯ)EB_|ujH?lA"nIrG]'9nBm Ds| r95|V{L2ˀ Nzj7-_7pؒMbS0M]W۷'czXrszr=WgQ}+^{L :2ߑ+CI7;./Jku [p:w|%cy ;y_뜼o;/"tG^PwP&~GQɮa'5W'A aWVv@~^Iˋqv*bny& }*t#o-LFйk vMNJ0d\eTp.,7VC 'jeΟogk ԇL[кf|,y.6Ru>>/*Co܅Γnr,Ž|яCp*0LV&%)Ply#Ǡ S -c=>> .ttV`ߙCx6ħsL&, T[в7}AL>q wA#䜪,߹s|_J_p>\rPotaJgTm?,?WzKoT@`># 33 (Pj+/{];*iH$ ‹O˹o݋lPDO_(*Oɱ6AҀp\4Xþ}JSQTm4y>:O.-Y;AE8RDkL2 OuwDd[$1G7rh yIlxJIaZNecDsƖf:yN ˰Oak*ךboY)- =W .&j40UuV/Wvpk 8ȝ)7#] fe3 Vpȃ~X+mL&Z^ 5튭*2jsii:R( ^N % it\Yt%Jc6~~8Nݿ%s D||eKSBm.Kwj_Q8s3"*aTsHkUtrNZmG7:==h:f<]:T:Q_8Y!Z"AP\Z@ G}Zu҆3:ʺ!<UD<U/I߆ݰKHZMQ= qWȴ/1#_{Am+G8{S *y{%M%Pp,%;; ^%[¸V :סYCo?Aoa%5]T榐 .U,3{9vsfO])t'~آK͒8([cʛI6e=9]|le9BY88mH0%UdcEARÐ,w޲ýJ5 &2"A>QCy{ݖy+]gD3g*1tg u7w{b`LtF4K>\^"v5^h)їJ{4zo⎦%Jvu9~,ȟ˜]R #kLZݹz:a+-:grJޑg/*JzB%&O>4p_^H5 ݠE\3-fLO)} 5B\S;w?WWC PeެI.Rl.r,Q.\6BaIgyf=,ƃQՠ}GXHÕe"N Z dZ7%$oU;wtM?axЮo%i8Mj*'w!;qnL'}yjE3 5Jb;5ri\ٽ%%43=,g%iwz,xEh?10rL;jy֮@:o \f{eVo)([I Q,H>e C)OԔ!\kaD}ޭo.~a/=4=_i.ObrU3Ce'a[lm9E_"'2$6IM'2' q=I\HYa+ЖVߣ??Yad!bV{ףWfU~?z~^BCzɕM* ޔyFko obؽO?f/ӣozfyQ|U-M^iT).}ɕ3Q'}c~ꃣZtUo|pSxܥ0pZȕFI_&}`$}vo.m1j7\q(X~~ :?/h"xL < 5z٢㪢{*U 6uWCXѬ.'?vn|\X/kœN+h[e!3j`cNևK|,-粴Dy~gTa-/]Y bJtt VX16U/yNAǩ8~0y^ Ђmwڕ¾VV!)d/ /lhi.CblS.(ej.7+w7dDULu!✸N'7Na3n]ƻ@dcFZ:ǩ^Z;}ck鋒Á2ih'X{ ?׽7eB[u*8rEU=afA7GUc,ױ?Lzv5 gy;Ѳdgu.>zĄ^-']S5]Vk/uXkd˴\, LnX5-]{j2%eћ̩)gyqhJϏࡳ73/N|<v:3~͞^|&`PHVx-WtʧH, tTTW?b7Ѿ?٫Erkޯ/fhz%őNb;ze?u2NȜ~{ jY&+l V#&;.@ZXy9 [@^n43Ok n6PelZ7@&}n f)Ҳ$ZyOUÎ ^WO |::%mըki OKy-11fhEv}ӌS FVSw*J֓ouΒ=~׼$p{W+ߥ'y:JZ.˺hkn{&k{39_Vv;U,''ˍ2#HYɉG4)V*m%X\W“=',I'+ViS՜U1q;ZN:4Ŗ St)fy`~WnQ؀4U,w8!Yꭁ /urD󜡣Rٹ*f'4!=Efc[J2* w t3.+;l&z -]_&&Dj0n暈,}Yd(,xX䌼t`$J*X.72v(MK^E&eUjs esٓOӤ " &wLDŮ*_cS,yb"l͌ϝ22%C8xeEt˷n۔xu8-mwsͶ:ۦewRhOMr~5:i$iP$] QK} 2Jj\㴹н)C:ޔa~KF'w۳+ӇU˶~g?0?:΀@K3ח.)}Yw|ԓ0tP53J/SL[Spd WJӀ}<^o|&c1 tk7=YayVD'ty_n=%e&MSM퍛WJrM$(z)I<Ӌ#MlmY<=v%*KA֋DI>9.n&^=P1qP"0FSH/s@$i'4k/<IHo"I\pKr9jC{azJRq,POrRx1nCJsE0]q31kC[4:iV.k:'~FtBj! EZ޼\Ӱ$GI- uq ~?nuDV4](6FPo3)W g+D8+w!0vJb۝oY=ncqAJR~ΖB]\,WaE3g(p{csoXʸ[Ɇ7 k-H/>d\}"NviX)*ʈҒ A=೿d3˚NҸ|-WXvɋQ0e}sr/-l0xO%Қf8cŲ_4܍,"MKOU@I%zx'&@e|T'DMneYMD őh{n&R8eqRQw3 Em91D.q83TL̉]wW|Lĸ9bXF,Ab4a65qݨu (DD_hhA$m€9#v5ڂMG>+|+`d.b$d44N1vp\b!¹JRS9k0#C,gOpe.y8ԤTSwuqu!F. o0^-A_`=M1*܂ 1XQ* TmVl ̊WG96&q x꿀>4En1`NRt݆CMm j;Pi7( N< 0 4&žԣ7Ki<ؐ]7אvUuɊoWJFgb-My?Nnl˰xH.r,⺹tJ]6$p5[qImDUzKfC3GȦ Zqel.p(V=z3/W<\TVjPPxS|qA8c4W!{~TBYOWxw?QbCgQ~,aZF* 4w[Pv; 0/rݙ%؟Ocy@+hzw*1&@J>7},jiܵgfj;fp]I wv?:~tw lE`Fp#N6IHJG%\dv~C}Be_dC}Wb]*]tn%ӜGhy0"*g I@9j(6btEC{uӼYG1pC7#2LF!2x=aѥ#Պ-0_ dC|֨r1!)q[lʷW /ݗ4bH* n-Fdυ_#s|=5H9֍[a5 %m *Y80 %AN\)Cy( R,ZMp_W%SC.-!Fܨ:z/,-%[9dKN 3 <2&!a}Yai',(㵧1'7dl]V$9V:;kw=YyҙC4K{ftgk_T<ftC9HD}-Gg^FDק?|wxkOWy|{QxfV)Í_?kΙW|N2xf9vIŵ~& Ev5i, `}'X~i@ZSR3|y|n!).Q1x3Dz3QXGQ$ FТ9ȥ6ͣSis6"!Kkuz t$JrF}PzJȬ$GsRɚy«|f!}(6Y AP r'ݙS2B"";Sg1ȡ[B޼V푝8{d7!rw6X$LLXCę!B: fdr7E"'Lu)ݦ$B|cwaI4 vw!0ǎ挞܇ Nam69>7݀Jsg>|E ri%W0W //&FX ϡ}%Hxɮ.JA >D`xX0%B"~s){63IɄ츛u\;L֞Z 4rԸ"nOD-% I=*ga]TDv2Qf)nvNљPRƖ\ /cDHgl ,c_3n@4.|.'5c-eL?(je2{B7FЄ Nҥl5CeWkŌn5H9Q=&;B8 9 M d|ߜSG]փP0.!x!LB E6BH *$ ]Q+FSp;{t'u5d4zL#E9Sqy'! EH9!v d g~|jj-Uy#X^%a$d@3^cY Fv>J+.#=Rniq%t'MW v -t]-{? %Jz1Jo6FL%$ݐpfG "N|]tLz)26(JC8&=VGWH#{2ۑs| ޻qRl9fmY,3 z{Yr缑pEEgyS 4_~f7 ՂE9a|gg.%N,yp7 0?f?{xC0)ߙ1X\~xbKbS:4?PtR2L,ŢLL &ȯq rʹq[k;( M?T ,uT@:_j!mYGO*2Ko/C0GA 0 @h_ m;66m(*b+ ~oh&HlؼmoM?4jKEؖKTkvSm5=MDx wo彃XT,_?(N &x!,PLF(( h#f}Ə%|Qax@߯ ?WrpECx>oc@Jjg h~, n-_~kد9a;{?a?uJ*#rp چ0gdd*jggPPWkEE)Go[NKZ2?K 8iaWTtTWT4@|@XIQJ.WUUQSD*FFExG)p":Z-sn"}QTaEv񎌤^õ8+ 9zEERÊX(MwXpLԱ ?SFshGGywX%BB}~ީF5>Q?#|p? ݗjOX?j yB(6 Ȣj YrmgGrlpvQ'B?'/O55;QQԭa?6N*pj "X?>VKԒ5ǶZopZ]/ x,n{G|A IqbEamAULA$88کk96BgZQ?vp:TqvDHm?k8u;:-ߊia>Sf-E+>!>_>Xh~@*KF>,<`~Ov;OH ߋ *Sl|TQX  `lRQTgdPU.UX춦T1#Eacv "Tjcxj8 `dqFSDQCj[S]Gn m:m*SXˏej ׷ۮeaӟ ڶU!1 IuW8*=m7I?0Fj;.j6َ!|.DeuC|OP/‡UIjTgC%v@rԢۍ G-l A>;!?,,Z4nO>T-/GPU6;_ߙ@#t[mqTDTB}b"nT5S~VFD4?_N, -EG~!@:ǕlY<PRwP~GqFyPvPlp_(PrwPe:]vlL H4;ƴ,5GDTvC*ՈC#YԿIVv;?( -y9"d"m_֢EQqeJEv^%,# u\|[$s/NMhmЙ;]ߺL41ۍ|ﯝىNbL䔔Ԉ+mרʾ*J*{սTJʪ1mԈ:Î6-hY!.#fV'/'()' . Q+((Kl98da272  `V^UNCh-=#LCJzze؄hmt"ʉ9%nN۫b*^F.n}5 MLN.8_?@jp0HJ>{3g嗖WT^Ttj[5JOo_͡;SwM0/޾[xam ?J @Cbo`Jlz6tpvDzdNIc7*WmF.1ymv4#bLm<V[n: mK_~LuJ  d 5r*ZP Q֌|I 00,frlOG"C&#uC>s=?`)e>Φ\30"?,K}cҠHdX?ZZ(p\%3좮)9|}ZN-;Yi+PLD-Kr+G(LS.~8q,ALDƧ^oM χկ|Hy^Q"ogW/^fy}ԱW֗JTLk6Uxnʹa UO-&}/^t ٮF,:֝} X%}v5I)*K0ߧᮁa𨛄_kMW1ʭYcJ ļ~sVKQ[t&sEN__99%,"&u]be}C&߬ r</|TjT+KRiJq*SG~Hp>ѥ08d(5n[VīFg>b2Vd|-E:|"XY6TkPr*`}Pãc{z?q ko^7WBg!ޜZ;D/ڊc]Ѵx1O߻s1±wC)'6nm.f HV{rKtqIFnf̏a_b|Rmzlv_o0Sxk4!PБ /jjZi??UcbMj;UnxFˍni#^py=wJ#Ozs%޷ '%AQx@`c{IcBDK䁒^:*^˹Y}iv!P:>~@F#GC??~mn%ųlXkmsc .NAQZ-'?\|'.{ū_}HCvZ\DT5b |u"mXbBؘ&7UsFwrPn=Og4n̉,]#q]f(ꃟ68OOV=_Zi4GKǷ 8^ ]OMޜCO@ GDܘ*/)8 zDHd"v<5٪Qתc2+m@Fξ$pp^8=E-k֎n >ͮ2{uR0|,͝#^w4+sϝ5\?֫fʚ$n.me#1ztD"GVzrO>OQquDh.$Cˢ7v PL 녪EGO0Jie!H5 .o {B2ɺ-7tbZyY3b9?aR."]W.=O^m-;T${fuK}"/c Y`xՄiZ<Ҝih@W-#icwOex0"jz#ȤʩɨR^T6iO@Kv$o4ƈVY8|SiջQZ}YV]AQՍ=eZMZ3}>Upah] .Q8#F%p'G>WYŁkv3?fxbQN0e i ,/B…HqF^({"" HF~z"32s?&ϻ3 X@i "4(3))@N>S,afp4>lbQZa?gSOi{ydv' 7}/;S(ϘDo/3~K`Ϙj䞶0?=_mHHBaO~ɷ/_ȟQ`pjF:49[O9j%υi g;j?1B%M4xda& .?#B2eD p8cl4b{jz`h()qZH 9lTFaA%Zktwm@24<>YqB}CŸND_3doI ub7ċp G=ܐ%移!SsRI>>\\ ?W!?==g@[ +"${qFa9feoAVV{O?{!Y!#kH/6#`!"Zb0(5/cTzwD vC T`# EBљd/,K7xOoB3 v4T : XdLVh0Q*ʟ_ DEyȔ bN @԰F~_䛷FuohX ˦0:qrhxBH.]dbpbQx \no'#?V[⌅ ư53 QI 2 k"ŝ!Z`xGmU /;c7/IFfث{U2D1,P$a?5?Ml@C<7?]:e>V/0Щ᳾{4 _l`G¿qwX H9úKS3VTD"3pdȐF(zp [ qaRQRi9nGmEo*)za.x \*i,dwXԅ= xtߴ,⤔[,n}q/"~' ov vbϨѝ9Qڽ7~W]06Vtm8O]Fu∗!LD%C2Md(`c ;!?DMNXŢ ^*iddp]pXASFD(+qOMsMwNMMO9PIR>ZˏWT'B Pfĥb9!YL .x%Zg.KF\ e sq\_?^M?< _}}ׯ[n~͍eǖdA_-_#L;i?|7`՟[@`|ׂ䄖C O2]չɹox,c~,a-W HHrTWW T[vI5ˍMpu"?~~2EB,wE\LluMMe2 e?759 ] \nYnB2WWW+⏸0]Z\ ][V5x0BrPYrmY+ c[W._GBx}NhI#̄d. 0 ]c>NkA |&AM@_?~}-H^]2?^I-K\_&Kr)5d~KmYrAl,׏WdX>˭ R nG2$55ǏL&s/殖֭_&'']W&䦺"ܯ_&`0?75 g΍&Mr\ܲ2z M\AkpwArsG3ʭ+?"?&3L? &y|Q2 |W?ct-#pKCjlW)obݢͬUO{i(r9ù{5N%Z/-ǎ ֺ^+#`[N>OG^ozw:p Nfg_e5zʩN[ųQe ~,OjO?|EbYW~~?8qTSro ݥDA?NRW6aFKؽ}SuS̹u172vxH{0{E=&ceݙPH( 3YDM:#G O9vt<{dsv0c{uO*hhg i}O t#ءER^))^E':o%̜(Sf<3{isCi(RAlZm:WH޿o/-_{M}skml@;a[30]Skmkacժ#> F%U(L;  J.4ͅ+}0KT]'0zYı0Jeu^W_ut{{qę-J.Y.}椣&tOt0nCH;-;)P(FvPpVpG[:*8j]ņϡd}gwhs#]]y6mM c fnlw czu:EYuy#6T5Rj"_dVI"-45G;Jx4'6L~qI fA\ګs,{4ɋ3$c!EeMaџ8L (J?m9I\-TWbzLb*3 YPiU:elɩ mo=ȿWM-i1\P=~̈7et#x)u*qU k#BmOkX:k%HdABZ|\33D;d(CbCA FSS %[L̶0>`wL$m9糃*ǔSY7ߨ :3dt_Ì9%撷xO =w*d 'I,P/Pi3P=UOgYIrz%8[a8i(X5Ouy*%u4+aW(UӋn}+ #Kӷ@L\x߽J#Nbv9\UBG2[ ZY|:dEFTcF&$j֚ZhA_t Dg Gn?dC L:xULfydsO.uPHЩr],vk&ƽ2'3h,c-rr$UB)IbaR) (Ű \p5}#풸M'6*+9JʽfvD /}Df;Ҫ>sL1ȪtZq}8=H5Zlvbkn$qJ/e\I 3Y%y^Ypoԑ j$ $5q@`CL0dz4*>F egGC)3 \io/&!3ߕFòyna,8oHSz9\bq 72>}AdIH^%A[T* Z 3U'H/̤.#\ 1#o%F2Ib*?qNJĪBA&Qꄵ L.7:R6"^Z8TS=Qum &Q.+Fx' -i17U-(ffiIϦ HD#j J =C اtN@. ] +`7 HaZV!.LEF(z@A!.БJ0xR_Kr땦t¶P@'6nSzL{\*#d;%d9O a% 4;f+P7C< OM@hT7tzWOt0KJ}$2(uOV)q/d?]ي a(%ӈ/S砧V:xdC)Ң2J7P+{t3s8 #uq0,aB9$60?+0Ѹb(T4-9z\l9jIb|r!vFR[P^1'sӰe3B6_#*i)Zzl&t4Jdب4وr:NJ%%-}7Bsr)49eYԏ-ogodP3;=F/o~x,V!K؈YBn59!Po58 bqp~t@߅%! TtA,j>Gh &YH7Q)^蠜y 1F"v: 8>ŜM s(876YA3htG[MyUjJ48<lSĝZP^U1 ]C eV%^!;EwJ6'| J;3 >, Ib\Jr3KOyNuPŒ'm TjC܃:9~=e#:BYyɆ㗎W6Nqi3R]Ls_ ی}B)Q5M-yȀu[y먟N ^P@-&DL;nX*B\4v K?iw=b(n x>s? /GNj*(IN2I3j׆ Vk 7gWOZ-QQ;\ X/į(D܌6DS8w}dN5+Xmq#ƭel\ }(Cp?K)[_sŎۊ#;v֣wfiZ^Z %yBZ@Z(^ ڒb_ӮK2pD7Tbz6dV$)@tХ]p~\ 灝Z[N$*JnBo]M`j¾&|ǯmt]b<_X4j5g{ms G:K5rI[8}Ƭ;4:h<.c圜Z5+ܿ.{|SJ LQkUVE}ltv|.Y ZjxZte;]"doVuFKiQ=_M[ͯxTW޽=HIGEIYbr3KnnAxxq ݶ/\qw*V0cH8S:"Se&=F{C>$hCê}g^f*(S\f9|]U:|IBlapG<]tCIƵ-aB5p}1LM9ZgY'T­I"1 # j@{6=S"!ګ1BXVNQQ=ỵ_Ub_:?}> GypPNe2E_Ҁ}?Ғ~H|T}S=x u"~ĎQ<.uՊO R쪛BYRn~[|)bZC吋`xaT@1@I=z%$ qfʢk(]=EƁn֬ymIxHq+=au<맏rQK ܟq{W2to8JoG}Mߒ cꉲB ăA:9#,eoϔТ%c%T-yÌ/MT0~> W^E h=R~iY;EUعʒrWf#ϼoV[ֳw'm9Qe/ڎ`9Rt?yI^؛{'<{t_cߪ:}[n߶O66z6$5Qq۾%%qmNhػpgwO2˽݃91JKn&AbڴfG W]}DtA_ٷh?vIɃl_S‹)j-L"".o%~2J[IM)وlu32#0_N3vԛ![Ck'WS&"ZiiBy펨_"+Br>s'.ퟛUR>coL+~>wюUœ]] ɡ)ϗnpl^zy˾6o͜4{~MvΘ=`뎐^ѯ;<Γ3I)h@~jU#eASM^ϐ⇁i%JƢ:\g BkTЭTg&?k|0fTڢeI,^ʰ3 ;vcW3fm,EYY6Xc8hWFm%7/;ӿPȦTϘ T \,h3_'v;f6ȭJ P)q b1'jĤI9Է)h Cb2͡đ|Z9#8\xФeg=`_.8gI\:az8Yfqegj/wQj(LÐ\:Ήh։tRXctL6P`>nnH+SNq$"'g?):q Ya Vӟ\Tm3p!DAiŽ]ayAնrE]9NeIRvy`z9"4_S9Ԅ`%|6q;kE`K}uI#·gs*㝺\ J5} fk)Rf[7GH:>l*DC?&u-ha-7IFplO4 l t+ L>V~k蜷hv$F_vU'AKХ|fiUc*ӂSZ~vXG: ^m %cn@JwRoJ K0OIXv܍(};R!}G}8lEb#^ PT M3!5TcUfR"|RT3pVp0|UV P*cC ;q0FR2jqرUc·c g厇=Bc=4 StcPcĢH龽<&iݸ Nݏ-mSjLh]yG{lT-Y'5=2/URt?ՖʃY"0h턤6+ \bܪY/cL"k7ls'KTo5Gr;SW9%nz:LhlzU̡'y4Ԙw}y>tb od o$|VTp6SJ |nftY]n \/bL545wm%HߺW~{7EjnuMڢx_F[[=(0dӭ)88xʔR**tK_ "^即iOPUzbzrSJ/G^fC YYY+{ Ch-:IӍ1iA+0T&Imp)L)Vb \:`gJ,N\ -W4qdE%0ƈ)Gc2ρ<8΄hI%7SNRy}SN!KeX&`V 3rfĤP)6I^FD b2@C΃)$pplwFBdZY\#vt 5Ya&!r3.ǂǃ$Y+aLy * ޭ> m za]OcI@Jc. VLbdJ+exOX.&\qqNh&>k O9%[$5h,‰}t@=wai(W"ec60z,0}-Exʖ=&)qd%:I)ƞfb8ˑFx4.:.cQ8u)z Nɇ6N7n]rݷ{D /? >j-xG^Ƒ+̺rVb)0{F$Z7/I`5 &1޽lyJwCe7,# F^enLzvSRuWyzq5|<~m}|4IZ[>ʽո,10 WVA~8aCA^& pOr/u7HtP^j1T6ּoVP)K7gsXWBYAG{zf092h HT׌*}@2ZW^[3g\ gA1:Ǭ¤GUrOfƻQwA@00RODc6X*߹U̚3;[+/E!|jUl~wV#g^/*H,vio.P :lsy,@k0՝*vN,Ob$y"I?`2p ?;ᇛO/@ur]6POo7m\V/9F!/;%7 +owK** h*6Yd)vu+Gq$siI#MWiOm>YH'1c1F_>8gnO;]mqX /Rۤw| { g~r?N xqⰏ*dws0;/#f 6`y|qq2_OϮ+s%R"R+>r3րhiS9'.xyvLWӺF1]>$BVQ.X4[osaU^#6+C++~_AzȓOa`ލAq%.X5ѡSOfx{KtKT)n<}d=}iDY1D"2G%$meϨ7Nq**eSw&hnžo&&dwK}N79e}N9쯜}NV6 7H\^>W "&M6y[|fIE]I{Dy7ޓ9oޜ^9xax*· 'fgxD߹dhSbX!ʮ+Spv>VEoRYZ?.N.B{KH~+<Ӊ#)`iՊ/W|8(iy 2G摄$.(Q`K15CX_d)P@ mʑy[a:ݭ(W S_`xFOיscyL?R}w0ɬHwtRWkr 悰e뵦{"Bsþd"7{xĪv7^IxٕvH؝]1TuGz/]J]W÷&-Wt7eR+iGfnh-#tUKw3sO OJ.8ƹe){so\5V/5g|8\p PvE,jNוnlYxӣ~xEE;Px&*]$DI'm%&?5kӑoNP!u׻J>a#xwӼ z67QC`x)߂OۜEf3ڃlPB%?=+:[ʊWb%k,8=ݒ2'>7XWdL؟kyscW̬E䜓E ̮l9ҹa~:trKg:5˱=l#K0uŝr:2dTDtnQUA5v44'吋,_d=6%8fs\jR26gYǹKb#g׾y[%l9 5/OA2#2{s%lTVf[U_B@'=ǻ`s܊_TAQ?4Di]k9qѣQޞ[ׯ~2^-jLI5ia{NҨkeلu~Ro =f\M˙xn@i;WKN,7N7fq5GfF/pK/[{qK\(=>!Na\=VA"WVW.3}hghʓ h{*= P 0Ko|`(~t%Ee(^ʓW9BTǺ~L2 ȹ'⍫Ui NVk3zBi2. o7'IcOׅ9KءGؕwk.}uCcEP| *jTq/M:8QvoW' FggYE$5lA}d76dWu~񄩺dqYJset'[yV*SXUUah,6+<59AިK,U0"W3W1pV7m8>ty ˜9(ԷANSWh G[vrmexZᶢ_ʔ(DT?5_ 0VNr*V]vFS=sKoń?p9^r#>:;a5IU=(]S9Of2<&pq7 aUg5ڳ@STJ6bڴ8Ѥv6 n}׸rjܝs?sQMA/yA ֺAG0>U3qhhsɓkT$d4p-cfgQ;tXOyCŕ.=~>]NcLvCp@gBGl)g5]w(a/Ǥo[UJaVl˞j(g"'ȜJW1ixba.@?8k2N!L.8-4G %ѲΝ\5nj#{Ya./['jX8~ѡ;|K:eh%{ 炦lL!#Ebkh[N8zu`_0:/ (߼ICgLCwAh4dX0La1EC00fTsNb8}h)Yʮs? sC!m6zk8Kk2sa-W0<^= !<{uA;@xS?Ua8 >T߾~ܰʣICmb;7Gw(P^f-Q雾娼sԙrԓJŘ(Ɉ[Co #V;rd0kqmd$d =(u앺;K)0Pl-{'1Ä)%L։=h}gtQIJPÈkoD{긦j l e ;8Z 4PJIc7ng(Sj=Yb_R a{`ī VC4oyHn[j4Vm0[#qUNnYFPf[|DFAPc?5gOy0s'[jɖ:P$L؊ǫ]iW5N(?R@o~, l c1uK-s7-Zq(3ĵHQg'ؽꎴ{8XaZ;Lat)1H3Fq1A~'WNnwbʸ0[sKXM<~v6stՋPKPfl {'A tCSOzr9=Qi6Ŵ\462ИiCOC5g[D6R$mO(ai;<J<3աZ (h|RKNXv@Zdѣw_\PU]ca^\ᯄf)"7%FL>+[,3ϯJT^Ziv(my)CXPus[[+[߉=\BWJ|J?{s1m3Ƃn<0n2Vϒ4;Q9Zjޏrao&1k '(nzKFCavna/K:IM ze ǪptЄ;|ހ *h7dRoStBl$gKDA]v;Al <4ԇ[|XV P [(cɥ6Vts׺H$N|Fԏ]Cjf 7K Ԧl۴ אfywF1|+vvto&3ՐT#&A}&l/Ȕ&J<0LƜB;; /Xȶwa6gb*ٵb(Bw}܏sz5#Z-ۏ3`)0W?vv<:Hcz_[Ma5e1~vƸW}lCV7PQ(Oo= !odM>e lM;@F&qx7>xwB=l1w -2fu0 2u-oHN}Èm $ZWn< usIa-pY`oRNtTm3(M6>)bw & ATġ9(0bPOS !uG\$ r먣M`Ealu#PGR$FNߚ0d2l7hL3l &Pu+Ϭq7C7m4b؁7_R +; 0/ьa7O0v1q7.}i~ooS^?rxB>ܦ\f(Ԍh伙@VWAvԍĿ&4s6, 3R@.B `,5ՖAYbk-̱auaR?jwLԾc(y]qh]cZm|@ohLt{G0Gj WMjb::$!+1j$sLZj6*s IC鳔 &&ڨy)#Ns&Y`)C ۼ]&:n2 &TA!\ :~sx5ͮFȉR>K%:[P^P.0|f'dtJ=,S0hHY/cdk@r鐪v/䢓^- HO3n\~T:'Q]M$8zhZ#.wpikPdpDP:dMC}v 774xWR:y]>;C[KP/>̩C*ulO~]A@>5 arqƞIYLT»nn̲psUYЋK7)5\VYkC!4 Ya q,E|2e nN#;@vD)$áťI2o{ޝvcXh X/4k ?tRUIQz-AqS{Nr{z[;ب3RBu$(x(tT/a@ul<LPZ%D gG¦餾˞zƝMkM+$ vy3&Kt[n[7|q@D"ǶcSWVa :f)<5VԔq_>@cݜat -6k~*}\1+.2JYqm!ῡo]=cJY+8-=͔#8Ai@u^L7}0br/ ʁb֧~P3xg^ip$kh),W `K\GǗGb=9𒲖G;NpJϱ LO)Uykژuk;dBM(X_jJ)I`댰qo鍨(){mD]GMUOzjՅ*qG֘, %aDϦq+2O;Cp KZ,GpsX]7[cJn+wOzh)YS7- 苯^F6 ˗S[ju к0*,lKњkS_"Du!g>\,~Dh8`ocl8.l0Ie7Ԁ0˥+)> $atH fbxy缙[jt^[SSvp>sg^z[M{ YdWv9Lj<߱|K,'Ô1>-D|V)~]IJ#jhS*+U3,!(Zq _fϴ9lEWB11)>͡āctsԐExv QTǵ+N˭pn1c/%s.( o-=!5R.tϭR N#mJz< (u7|O˝oBRLJ,.ңt:jƖKi6j+D炶; fc4ʙ7}5N[Cu8Dr,g̷T^ +,YVFNJ;5%p~]:O^n3rjUx ju]ؔ&Z5FK?6eNjgYpLa\Q/l$cZ7B6B#iRLoB-Q׌4iuj*JD|02)ҳ:e|"AAa;/G "8}:H &it#٬e ޸1"zI/ Y66NB5c/*:/UT*LYRyLCXLcÍ wk%8n }NKK2/ i pVq:# 7]AO8B>-7rZH0%08JT/iz*z45*-M=[bD6qdo> Q㦴Q?xO<{mO\:F]\[A..D5xr0vRP"h/$ lw}AcU[R0P)b̻uň쓾rxj9a'0 ̓7%ܭ xTť>H꬯l(s&K0wM(c)UZijmٶl"BJRO ʳE7 V""I9TDBiAyD{ Z>4z1P/U6Y5mV5"t h+x<` ҤjޞX{pYCxģw34,KB %˝iж>5= <NJ9+bhLSD^ǧ)}*0_1pahS*3L7Hʅ TD*Ftd%[C*%B|h()LMcͼ-\4j Ssoӆ% )mJR0j@SA="֙&L'5L]u>#I zi2&re[atF"@ Q)Fp'XJ\!aux6^cRg\բk)|na* NCV4XS\Δrhkłlz ] @8tGG_b_:aYa0<3[{/-a$S<=`cψ%2N${ok0s$# [bvrk" 7VZs0 %؛dMTB'ܿ86nBt}&g7Lh7!n/&4))exOsrBfNr>7nSF|iЩ!Ă,Fľۦ0:h6>rXpT6^qxARЈq,o I]nذgD '{R+qj7-xQ8{"W!weƴۅt3R L1Sm?TӆtԇƲܵDmav3^oF ú [@-bMHI֥j e dz":wKl "2ŝ߶8jS6\(j'`Y'2PbJPCΧ ZcuEvmhEڧ\6kJWSTjSeWF h,Ė*)/+g(|R%u›zd2:'oNGtkӓ|fSQ_2Y6f嘜\i,u wSule*Ί?>7?#TNQh2|k~ⅰd%!,ELyV/޼ ؇ V^nir#e<^=|@I9 Z5:yyy,5eT!g#vM|Xt§#x@aVd^<0Bc":;{/mQ%M<ͤ-Q㚟<l}_[03o*ee¦/Ɲ:vozzʵ_(>Yge9Oy^oWQ b]g$$^{(# cF컆tNv ZBBSMA3T=NѽNGʼṇ*3J2;,7h(/ciW,(˲iVKw׆Y_[4zmF1V0B[~Dž؜eytl8IOV`J>?׏-6_DX1> eYŢݦf#p?}s^F0}Ί:N|u7ﳽ>eO:(vx& 2v͏ }JB8=crl:bhAR3 K^z 7}g˃}q{T۝#$i>Mu\Ý ڊC03_˓;" 0-\qӂeAqso{8=kzY`Ɵ~}$ٷXĚ:)AD2$ ]SgcoL˻?uA릛>$=vak1ƿx7oQ~܁[և!)hIlsg՛Q~NyRh5#] /uά@ $&vzEO{JJě=#9 x1ÕC=EWٛ)*Mq|vE )<벫¦ }7Sf׽$Iy\ZߢwңYS=,x!Hw q^T;m_MrO7oL>>~׆oOma| lm?5=P8,"/R?nlgK)vuØ[ffw=[v{q lss٘3)Kla>3a bM1s r+|jBփKOCc5[~jf&y w'&7kXn}ECO6 >BZ M[:hQi-֣<B894)on zF1ѡ+Nx8C9κUjH4N:Ō'-U[MFmN"50c>iAf NǓWn%O垱1k^$ޑxIOw^Kr\ KϡwA Oe\˯O_NZbg>`|#lO1y H%s%ƅՇ\__QEnx&$=n"̪ ƾr~'0b5n{>?r)cMDh 76.QmeԨvw.T!0H@9tyrǛG a,QW>;3#Ur:3P}^nn- b>0T9!LyL76o>p??lЃ7N{Cx9ʳt ]w="<{ECw`ƹfl8n=K&@lknl L*)Foik|Yk͌Z!"`wCt @Yc)$Mj k0`K(/~-0n"9O W&bM~ eoo5rfV^{͚[~8yȓLxeN170cJx),viAF5#?zPkr+B`L0}^UҠbc6Yۦ/|4i[G#(~SҪ 8x R9#4ߤ61P U*0R9('0JĠ^c"yf(#K0??]aH(Ԩ#T$%ZET&س(vZTk!HSc333P̴T y{f|=IY 곗TN1y Zl6氀<ś-\dtU sq,ڨ(Fʅ:-boTP72j^$;Y3*l-^rNKF%g21<2M]7*阎.cPOM܈Ɲt'X~8ĞAGpkY\P5Ш$@#cö=*rP 0cfU PR BJ@׼Vȡd )ŵSf"8߫zN5%u&=B)lDv*4Tb4A:q(mGu/JaF RM78b8tYGiUI|:ܶG8쁉 O >+s !QCj'58x\IGS@~%W" !eHy6RN!PJG&˴ԋALiCȩZe#/Aި7U AִĜ?LL9Jy V$o/z8 \΀O˴ 2JU\rFkFBBlDžN1ܦy\t¬M  [A}׭Jsѹ._Y:t64Wo:ՆU}xk83#>o}痞>'{Yk?~9b(#WR4ptssR hݐuytb:sNZsSg@tqutV#I~˾BCKҸCX.$H|G8%uw?N@/DW#z_2y[Mwm9ǩ ԿZ]A;go{;mF3.Ѵ]-F4+oFmg/]՘ ll8՟4\7Ȭ4 F3a>Ԯ8м$Eh\b^_s<ǙEN5{+_k4F|1:ץunиG g~*IS33,[ݾ}lff 40ݞӵnzP BtqLʗ4=} YU\σJh|gy6_ţ,E4I%=[+I@F~):Ŵu@]Ewb2=\!((p8h1Cc.,=o2=&0BΩҙﭖuBr|Ѫ >?oy7Omhk%Fqqt6}Z ok#0aV^D-:c׽pQ.po:{*Y /x{%2_2rkr@o'2y%i(t@Qx!'; dOpˀxӜ#dR,sȼMcpo2$e2B2oxO A@dg;2V9 <%# d!Qܯp!񜙖y2qo ǻ!e^qk)/Z&_Lv^Fv+/2֟ĥѹ7WK׿y|#:/=l?D|^|\ݜ=I\5A˷9Nyw Ё׶=%q<<>&G?Hx*cI3r9{$Vk+8#䥻#MVVwMJ$?kܷO[ft6c <> /p9XMr>O$pU/_r]D >U !'~8bLҚKG p-*ߒ<~GZ])V+<~ `k^XZ#`Gho78"1MxSBb}ǮDž5vu&==ϼ[.[kZ)]AL肮u{ 0%ifv4\V*"zN@U${NndG\SI@'CιG+FMǥÓ+Mmx(:1nddl g UFۜF+]*;8n7<DEېȐ%CD.6!CpEQtn~\;?H~叻6 HaH9Le]Uᯪ˺$QLMe 1Kg 62~`y@r*;`X{&Pj6Oב\5yS]N#f6+XV>p4ٿzplUO `^DIڟHi%uT _)a?#SXB ]Ūi:@PŭlX9Ep,^zDn!@m3oz] X3C4liHc;gg80d-8睭sN!)9/8vL"&ЯZ*-/Gu"@A s%3[?p*ITPg֊dU)Aذ%JJVuW8lې6R30DyC

    &DWzEU = fr׹vJlAd}Ns+ŞY 綖  M.g61Dzc'2(:ɊF!G "BjhAQ#^m{h q@b+xUެ?%4,@J]|L^<1}y l(]4ONfBI+K*0<=\2JsF',@,{hBi\^Vf])Nz3Z*: %X F)llyHBC}}~œ3"oH盦\KoYs-`[~o%UݐkaCZZQ `AVvNUr%gnIυ1~MR?=Bw= m@ʖ9ny7Ttڊd$|TnzltX6843Y(FH1 kوp V)0q|i$U.됟dނ"[|k*TC:m!Ed B"( t̊:(60x/ Y5(b4j@E,+DcѰ"J Bo(qk]HpPL(_K!iuD\DG3ݰ"* i@NIH@aS ŤAMRvRK0FzEb-޹6jiq_1%=X&4\pQL*^qrr38kTxuZ"9unn&]5^Oʶp)YʢN! u"0 W*bWHaVSAE`I\Q|M$.Uˆ'9 lXB^R@Hk xũv%ġ 2s^`G!d2ߩlmcNI:Yp`2LoNXYe&UMMdf1 :1 ̚L.mB`]\9n!@)"nc-M _D]0J t1ɁM u5ra=)V#ۿ {jqH;clUk:]k}m}UU T]K/$1tL`jwt9ibۑCh&H(L\ufu}@>U11;իT&7~$O,[k#T^Ʀ@>^J4F VwK[KXA~ftƉ^)$PYvJ"Vnu+WQ F~|][v04U֔VX\Ȳ-a)@aFK(Pf. "+@2`mvnŧMz4iWptMW23Xϼ+nZNP7_OW;1^tʏU%~'RC{2;N>lщdyƧ]~ǦgL[ǮVJfjzώpJgdvΌf;>93; !gΎ]gz߰+,clf{ =ӌpJ>ٵgvT3c͟z\ kḼ5ve> =پ{tfflf/[og^4m \fjfvtbj`w͉lwGߧND~Lpϡ<{;_lx}4T盯$D̽v9lϵ?2~1+.q\̆d>5vg&sN$үόkidiif D^)9JںKjjXA=f CY~Pa<5[􇃙y,F)FM> [s-Cw#M3lL&.z1u\ec*%+*fR$S!䭍o#ߘǏIy/MYA͊eb [F/jEV$=bw-PӐ8ˉy~a 7Ʈ|p yNr 6'uJrlm?0``y6bEc}tWf똅JW+q;2γH_U\ZGf$fix<S'+`F,5~0*` @2epq2P ̉j-B?)2 MW|?M>E*-e1*1P9]b J_,<Sj'E۳cW~Į|NlLM".4͗_[6M6ƿuK"x⭍#fzwbW8t4;bZV*lU+SKpQq ;yGqş~RFvKN 8oct.?}íY?h clEazy)ct xmlnxr/.B1%]Tnco"eʔr ^'RYϚOV`iJ~f6zu%ajyJA+wI^t̉mĬD9uBr DLRLv=e]yswy(F|5g O(m V@ 4p0\r}v%W3-?|uˏhsɧYv拗7=? fcn2XajdB7l3(ov}>Jexs \ ]Ks9J%asN =cMo7Ydq+Tȫ;1hk6z1 SqP9|C\Ow*+@+LrG>B,wR_Sȁ,=c>--Ͳ_/ؕҀ[N0>5᤮j vFdط p3[^c`w?=R  q|Ɓei,Pc 2׎ [CuCF{~$S9.HDxB㻃 i\F4.W\!bteE֎#) J+~yέDCd!BILa\a01ۤ/SJ(RJ~ 3z!ِa̮cחCSjULhդ5#RvgwAIXP/%좱>J B6,:!7b$yfD%68>`i uVi۞C1G<  ֐Vڂe6N^Ά"/9$tYf 4q2A TctYMޚGgƮٿ/-erVI~͑N' !X`Z KYd\ hzuzX, s%͍\ $>).zhC6A#3#]Rĭu (@E1\PXrH%u\W*i)]C} "o!~.jpBZgR`p;ry@?eNqHv֥%@UkC80\C VDs }maĞyH_A`| 4&SXǟͻn[t44>OHd道ˀ5&jCف7@ǰ~8B9qd6u,%A ԹBYKc8u+},#"Ò`-ѳc~D䚄}nx=zdY;tȁwEQPgә;: |-'%g >иEԂ6 T8b lsX9ΎCVmכ Zk kEP'ra(lCmxYkia 65ПntXk%03UeZI=qG,w޹Xۉ ⌕|Y+5CC!{d!J}lfZ,хEBw)92{FϹpu}APxGbY<µ+@eٽ㵪s^lũ⣦Zm"hKgp/l]fyc'i MrSqG8jA @o06BۚӎPM y8-':S;@hBg`z ۄ'syFnP5YU";#V-mAӠIz EmCCrp^)ry) h^T,A|FBz(R]CbcL`W7 ~&y{! }_mGUH\h>IR/\>f>j[uD~G"/F1a{}鹆cHZ}7`n4?Э3N Q)"rF"܇Қpvmix3{tr6 0z{U)_a'#tL n{Z\p"ǘ`D҇ cF]C1➼픮68 >qFN>Բuu@we&DmoCOy5ܐ<-k> qZ ֦k6J1`QO+b6_~ui_/-y?EQ,bN-4n@/^1d (1t?{u}@,l!<@ bw1H"Y\}!RG^>Ikvȓ$8xJ]Ot֙cqZJ\!PØ44 qlTs=w]Il4,k zd̳곡B=  k|-?8 5`AlfCsVgY0@^H?ڂ(f.ڀX>CH?N{ ZxQ6݃Pd6dʞZ44j `c$VM?lCHc)26QG5?$ Uk4(i?;?Y.Oa=T\`U-简x&XЋ;  4c Q<.QPMZ+9a)ч5Ǟ02ƷFAij s;. [GN`Azm+͞(.[ݠA qZ,:lhe(f *d\d-3x7t@9LPlKXRG[77]Z2YJt c jPjzh {h?D*\[@&9_ÆF~~~^(,虿gط j:uȚߒ]_VD~y(ܡų=UU5\_j~b'mocNݳ]' Yu- 7ݪW#fsUGne v"۠ijRbT[{-~ΏĜvjqvTΊ ٹzgCO<'cŴ0J`wê,"-^9w7X2yXo}w7*7Rkqbo8`F.VPgY; pu'cvTo%cv.c}Wҽ-D3ڑeUتs0ʖvbFfuww58;Z\ $ZhHb6b,b `~|OVLÏ> 8Nn/ɭ>ޘd _ݸyė j#*\ ?wusImTHA-;dPQ:iW;.!_^|cb'ǪgF9V~]]n[q,B~/`;w[g2S*ӡ?-t:W#LK>y1A`ʮdFS]⧓1\X^rԨ xDM{C uu̻VrJz۱Vr$W^LKQ}e2$y[ш2i26t zB^j==q~7`X Mf=>~OkX}LdL0^̻f^s}k޾=wVrMC5qeC}L+,F|{~񍺇Qw(:1;* 2R<~f5=զ(s)pa0-a6v+`Kyj(W%u^WMoˀ 2f˽,.AE -^#(x3H&_S25_.`ේsYv.Yt3\ tЅm4Bm p±wµ.ٮ4~~*\2m GbtRBuSE 5i)Wx-ss\/=DJŜQ J_JJx>ᓄ\~'~OpIr\~#nVI9/fo"Ex_ao6ᷘ&VWXWGmzD<yEMw`[e}+֕riAI]W_3}D{#"h¿u;Ot?dʦ0 ?/ߔQ$8)>Jxyux +1);S G VՕWG) / p؀ x6~a65ֶwRhDpC k`cz;[Ls`^-YEpmN*GJ@$CP`iFCP2vtu~S{$|(5Ԯ#+S<*hrl ۍ2[aqen\΂s{/XhBQEtQftct|=9<L}0)y\7B R9՜q)}9=PM,;׾1R 7/F Q^q>ii?ݒ#Pɜz@7sтrg4RVaxd˴G⫚O%.A;.vΪߥ 4d5}vaNÜ.q)1q1>OLOM8RK:iz{8YBg]R}yK3%ql;NJ\0=z/'RCi9~Pԙӧ&hmZ}R6S]z{h -zL'>fkn-/NΫd-Yϓ3[0gG}y%.Oz8}cM}nܸߕA_<yuJsrL욦IAϔk|Wʗ闸$;:{z%ԳtҠ'9w"{ 1NZp+ܟpk!pN#HWrQ XXD}ⸯzU#Yv;s}=MݭjCFFc%oN#hOts6}m;oo Ȑ,^3nw(өip0촋8̐"CG;ip:<-jȼ p9Q@N~‡GSi撯b<-䳚ODbŸqYf`'6SOA5|'i/>?6|H4=p"|݅_ޠA 䅨T 1F &xeQ֍>?xQ#!@g汙w)l?f)AϣL@$SV=ʽ?Ô5#?JNd:D1Ӧ~;kL~onGя^3+>Arя^0+F?zG46mW~=F?zkW3;fW6+o蕸e,(+\YzP)`7A!]ooI,MuI|f&_6RXiv^UC; k0R(WVۓp~4 r20]rWU%q"N:8`H$,;vx5>UB/=UuU2E\7Ad&  tWbvGm`O[q͔7Căxg0ޙ'Cĉ0NJ_mVAiPy]7A#<&0qGXQ7t?B&3_?h 9՗3|hc|*fynx{xV{=aPH]w|1AL"nwg%Ceƶs-HA6[}r U/o1,|W=ڭz8[72|;&L`72&Ew )^|aܰq< 煉3ܳ%҄ϋ);+4>f ,VYyGH@:;vP^8nsUL|^>5Rɐ=2@ 牵L`(a8t`@::=)iwσb XΣ:G?_Vs ៊W4t"D)e IHɼ5 qVF݃PIiڃ4LR`&4LOiڃゲS1i_DiڃQ`R=##jiҴS*#S=8{0rUyV)[4MܺWHo#{l acdw^x&L8-$(A6=k|1_AȟAt3ߝ|y3@ו㐾"1;/f;({r~8]ra>w7&?rT3t5q𛲗^f\[FO?$??'kf9+evt)+b}|؏ҾPl7C\ҰvǕts:{>G{5i2h^NH(G =||m 1})žgЎo8E<|s~)?EIIȏnJqR0߫`π 曏q~ug$ь?ɍω՜H2 s1>ɭɶp45 DD(&JOVJ#d] x u[[DLfd4(z 7?V n0mm uK揸dwkX鼻13~OT" uSu$‹[+Q)"+- a%ȪRh%Qh.]c_)K'5 ;5Na 5y L^tV(O$by }N^4_^S*-0=[y}Su>1n{.ZŲ~bOewho6k;=0d: y7wH;Ѿh)D6i^7B;Ѯ(_kڬ"vNk4?.<ѾLwӊ_:r39rN8rrhr^RVdy99yV}ўvt EO:rf49)rz9S=|KoJ9r,Sm iSRّ3ir6*448:M劜=咆]kݾ﮼+ٳrS,G9rʑ[Shz?MqRёc"cM `"gș[N99C\"9r49Sh)֧д:yCȱѣ; GptF5IE.s|m QKfU/`U/knʲJhK6_,PhMh|Ut[x}gPi~#SB45Sh|_}/o~cٶRU3@l!eo/lo9[8ؠ{M:&+[5SM}N4[rrQ mFB[hO/}g|Χq7'i:oq}m:qUXs:xCǵtLv+e#͑M׃gfMף-..OT.Āml~sd)5ݷbwfgRKsN=H}|\Fm٭>^{x7ژ(qOk{Th1JyM|Oh:Jol GWyk8qx\k\7B;"-#^ ޛysޏ8qxN3*)OqsO/d~Bcbዟ>C*ݾA{E$en쀇(UwORh4/W+- OWBmh M{fUyhOQY>WAo9x x a}72[\'z~۔v1}k_wzKO#Z`.x.ro}{~]v>xRHc*'*Ϥ(OП?EQogxTJC(k3~8>#Go5~D?=w)_pPӝUF| g} SB:mˣ:V@F Fr~5}5feꋑu,mK9ٶl?z>KPR痀v]6_E8_mz=zyh=wֵxSf)6M 8s sp ~Y6mcF.m>/!/}&^o=yY<}=3Mpd;4\ݛM.뾦:<蚿rѦeNX1۩,3x'ϸ0ugҪq}*~|*1nc81xwO0R9ӕ1sp{x_YddriHvK)9GÏo垡د;5݁~]ap\:2=lx7凉p݊q\<6MwfتSih75AXO[[^mm:xp <`#%e={?mpY H8*x{Ϗ!߷\c[s>}fH_(ۉG(#ST>9'xA}S>>zݖv5{s ?w#)5F{7.kÓn\+\I*P[b;cf"6p/sQ9goϟŗՑXۨ&u \GkBF |0+2,!e.v͌H+gq*#n&ޢ;ᐐ>4$I¡|Jdx7By!)6sG۝ZH25!B\u%ke-)Wp9TeFIU}ㆀby.k xg(ר+m_\(w0~#6lیnlXѨio]F\ڃmfKZ.56nkP>'+_vD >&mb*eQ8Nqe~Y>p4#n8qSv3p`OYFT8%pT⣠PZҋK's5w #}hUuuon_u1ݽhUe?Cؿ':aՑV QJ^f&=VMa(e.AL3ʢ@XF%\}-E*QMRӣgJr?=g+c:ȭ@+[/B=QD$WVnuezkn0JA"qh PٖQc%a4ʡ`uD :'0Ni< b l;67/\͒[=i!:fPsǫ xwe?wWV٘(1M'b|MM$눉:2d0QwOFݣ_t!>l>fAYLqB߭q-~-A|?w I9,I 3_34scen̠> 3m 3蒆3@ d. ̅ˍ+qcJ 3W\A>'U F7fo# 7v|-̅kwc kcUҏv|e޳6ed#XfǕthĝ8݆$LfTvy3c%ĊH >@ !! B BZ@Bkg6|~*z:ߥއ~W|fw> 3 3k|f?3|f>g|f#tvWnt5?e ?83;?.?*~6^(Vpڽk!د{%ʖ"Ӿk߿9sH󪆳$q35^/w^־gRﷴ/k S_/^x*2Dm'c^W_>޳}y w`_P 瓺"UXb"*)c1:3=%ehиڟ-!j:G%(,5NzR>Bφ4ƅx ;Ū]Af.܏q,+v  @_mk='"_Ǵz=' #?'s1s lk3ݵ{Nb{(v Az='hϒM\L=ߗz=' G_9Al =3?s"ED ~Xz%ԃ_[ u tsoE;H~9rG <w.W21"wMb;H<>ze|3ݵ(y6^Yxkѻ6,Y6d@*2`W:uS-[bZ>u6FMb-5+q&oA5]קd+SS\SD@RP k`J[1,"0꜓O!jNEnX (hM Hoi-J N ?>(@?gY=RH!rl:TjHi M+SG3 |{ C9cbMt Ł`h ^Sqi 9ck{jD.u' i?ONyC\Y7fcwWN'9εk13rtێwVC9,Z4-&rB <߱0J@{2mB1Ko^5~q7'L*r(h<׶RA lDDocBfY7^3^w;aLt~dܸ08J˻19V59zk:- ;mM!}hcy^Y*#.C\8q8@PBLfjymZqXF~P;0FZ؄O`Ї)SʰF`e4A* @!Qj |seǎk ӄuҳid$?rt(hCfqf|]xn-1Dfx^*Uayo-<3̸ؕ7֮5h" U彂yw"Q fP6dq !O EJk4MAZN,`?"?Ik]Z Q9uha Lqf8;l[OlEJ^].J*d׾c*RյHC}M. ,elۚFd\  U9Trc ⧒46NR?, AR:#>Zɔ&P8O5:? (kjpXAg:SH8MYU'&YU<) a=d wI2BU)$J(5jGHaӹMq|=)q`6O[9=Yo; mOό]YW#[*vgH9Vk 5Pa:oApR*!}*>3ݖoFu:=Y잟!A\eVaE6V$iuɫKXDBV$j@qPu,Ȋ3'#EDCI7veuUXsƇ4 7 BẺ=0I2 pm"k5m|BM"B V5ɖuh¼CuQ}ʯ3Mja0C0"+lw :~o:i $qA(޲:1 ^wMSؠ2M'nM "c9j^_yB or߾&ɝL޺HIo8_<1%d^^nS3% -4 cѡI dtϓI]޲L. ~S ;(_"l򣇉0U:!˥8p21fP#2Rp)h+ |y}p7x\TVĶCy!j{_u ӮĥLz*;}̥XPtneKF.[x)KjN ";K<4A4mR&,񯖅6i1[ yNӆ ?[6Rc=h76'..D%%]k&`+UqQouSAfbNC}(ͽcsY&zalJ/Y 'I9ݙ(:L5HT-.WeTڞn~"+sbۨ"ԤF1,U/ (0MEvUsOAr}9ৗp7PMc{feEfop+m\ ᆞJi:RmL-?Ǿd. 9 "B:!Nis@^ Y\Yq#؀+4o`j8CuՁ_[]ojX} ɌrC["2Ėqeo]E T,>q<]bm/RsZ Cnւ~^-*ۅGƄ =~ԜWNϵNmg M sʢ)M,{Ͱ4SUSՎ啻ǤCƯ㒺)=6-IkUoL v/jbN 0Y> xEw.w|( 3q_^#.XF/ri(2 xuL̪lp{݋%BQ[21*FX o˰T%\?phȨ7K8U$7+ _RNi`5N\VTb$F.\AkW0|\'pe@sW|^_N$"^ 궾 n]OF@IŐJ'ٚBiwV~tR4:)²"վ)3\6GBT9 CBhODf;Ī6 uwݳ.AS! Q΋42R U }05S3 \H5k\_tb3m E ![B%˵dӸq5ӊu P%Tzk^6P/R<컥=yMzM/rƑmŁ~ sqߵ{ q_1hl3rc_2i_FngO^QX`Ylƕ}& rhjM)ELamZ^2yǎ*̞ҫEBkYoom{ֱ2"hp΍ﳠJoA 2ܑkW ,G^Yǡ <5;7]r+M.[ QGU"er][1/o'nG4 p82'o\o#1Vɇ% \^3;F6*1hʧ#GbIpN#P+$KO.kWXOºBV>#me+%5 !xn2B[_ "{ͭ{F#ad|I s)Dv/O>/B=Õ"26K_#_EGH"#c3lg')m8Ob o)kٙ2CGT pcpb5ThjqO y~Pǀ+B5U]Bn#}g8t \1ÖJQ,/jA1P! !7 dGZ0.J\]A=XP(>B;Y@5$27Ue1Gj5g@RXDBYwËU<D2$S@!Y0ۆ-*m]k[+؃ rOzȖjRdp{\I-K&|{^ o5!@rE@lJ%znB,ϋQq%o޻ uH$Fn?ϔϑ { wUW-ܽ|ձRӝإQBBaP*H9Lm>*FNu0QoKww)&|C~QAq$F1<2J)˥xBwE{逜.B;(.)c9C L0zڦ!ؽ2Tfb+`A˙k[G& m>`˱<|r8yC\B &ss6\ǦguѺWig.FgsM«9 H%AD~~ /w?#Qd*c%{yl6Ot~ϡyV* !m:gqpuٴ(;3t*e(Ąp:d;e8n(5\^5tw4Nș_R+7 (i-(w Z$tzǠgxn#<δ%TbPCT4Oi߾TZ^skgaOfxO>(N77Pg997Qjֱ{or8x+mcm ԝyQ=#ׇDZ(e7K_+Mo ُBD!1`B%k8D%ӾmC' MPh14G/R, %Rs+݁ 6‘}Cťx:ʊxeыyn~( f(qGIfZㅚ7b ;ZN]R7$eUy'M{9=EF_X>pŚezҖbJHQ=z4W Tk1gJs>ߏhsx[ .&Z/UPO$+_ߟ/4.`t  tLOxQ,YЅozݍ3d+b.u]|E" ٠"6Idf aBB%!p !g&.{q+*q:`VSq. :㮋wx^DΟ( ˚{Uwug4BCW{UիW?S]_չ[U͂ 8b<D3:AL2&\&A{Kn<##m⏛|a@1hHUy=8a+LKm$^Aq6@Y'!7&D| tZۖi˹o^tO? (~?:1jmMhCm|#Tx xγ8AMWgh¨B/eB~e` VXZ`YJȢC P%VUSͳ+Eo#̒|C %H)pqfluysE_E+@4%nεtG\q"A&zAnK SG;]ޕq&=p&/χu8CpddR|J'WudL֑ƙ(>ď  "}ÛְEP囶B5Nb奊Xxdt]Ga1_xu[e׮NueWx0)s*;[KBuaMevR|'oY`Sy )bc6ʪB%/8+Ղ5 #-*SmpHWs L %`PӲ6M*FBǭ" :~1I^C;q2i+{;)1tlʐ~R-+1%S&c <ķg2&o/P(cL!lJςDIx1k5? ݻF_1'UŭҖ J\OIxc&g)Mx%.t,j o/ow| ow%vK<_҄++ޮWKx^if L4)}vmi•z\'5LSvDIlrjB\IZ Z#(']Y3Obe[>qXF&sOCfƝ`^,Hxv!\[) tL(:?鸒J>Gxl;0mz/ !tӮ1`ٯA_? >(_+_W.ۄ{ެ<%)Ӯ,벶v ƒͷݐ^g 8r~98 ~B>5YơMq#2>Kơ̔qU*೵2M5^ơ82CXv Y瀤oۀd'dV{/ZU '6 `Ys`bs t7掩sa7r7|#͜ 33DX.s:X:koul>2.Y cܼdޘr!eaF6TVbGhW+Bi-oG:ЮDZ{w &ܼI۔=#8OKܦ Shj?Sh>rчu8>}p2+1a[_2 Y]gG^5r,$IS!(/U =wFئ a(&tzvt3PPk3durޕ`# S-jy-@ $E{{h{.'ӴyLFy)Ymԋ6覷fy6;, {G{յP_b+ƚQf)t81ȶ?#OQ<өy?1D2;#ay\yx+GQboTzRo0۸r}Fm2Zlm+t2vMsUétյt5[_~T<;es-r@pڻ/3ٻػwyo]֧㛕vYד};-JͶ>D؃o&2|s8zk%e=ݡȝb{U8y۞3չ ʛ`ɋzq;[W3th|VGe~:?\ٞfUt9$\9~FR?t(W1GMs^>#cʶXMtNLΗRA?֤W@[uw uv̴r.?}Nuz:\q0{Om'(~~b=ʩ{ush9en/eWբVcsI#j>{Cm;?o·:X"NEշ2ʑeE9fGtnHc@? a ߲| J#߇NvAR} }>4Nׄ_yHޓϧan∬7$ŧ)}k>w8G|XSx@=LriӡEl+wɺֲ{?å/COKЗsCpZe_xP;V#;Gv {6=kUoPmr9^+'p}ճz暃̡Jh)3'ds;%}9 f9cy򝍐F9qE~Dׁ]tb|R?6W1{뺺k%52[w9Z:mbLy=RFׯɥ[!OU.}sf9^Ӭ9 L\4&:wԇ?>49N>g]}mJvqdx8U}-E_t .N3C\[ }[g]l˜uH7h(xEm7H}qN-Oa鞎?4L_Â?K@œmUSѳ}i\՞ig%my{4u9Us2?e&g8r9Oob;">3u^GqYK^eG񞟽:m{Pk #L"_d|@Hz}~k[0zu$95c{OsyziM{!B7rf]_/No^ft-N k%4h~n~{_kѧ!1X= f}%geY3SѾ 黰~nȊ́<<2}phz~:'WL֑ <_?2x<c+[Z 9U Z> ~nPX +\V9e2gr{ Z0x֘XӠƺu>ghÉp۪.:g&saL-ŞMWЏ)=@sm^n8| ~ yc`LO+z_U^t ..4"Ԃ &]o #$ "Gp^3miJ~i`?Ǎ}J__u?7AGYk-4?+/k{Weƙ(mglQ?73-`2 &hg_NHw叙,L&lk^xߏ?rV?7AC WV x<Ls.ppE|)~ L1[08喻zZY=EZ!c /p]6.g~⯋Y$iZهA_KTڏ ad91{W>ldͦtiKϷ ML<(۔6ǖn[{l96۫6NX̂ߤ 7iJtaV&mo$~[Vl%ފX>ބ[I[aVVl%-,Jj+v[Iۊ[I׊=hVҶZVl%)+[IeVG~;Q+eVr b+rJKJVl%T+k[UcVr5Z\-Vl%W̊ӊۊ׊' m D6߲2(?l"_ ۂ屘~!g: qamp8AJMMM9 Utw&s?i΃Pq1Fz ~ÔzGCgf+%Mr=Ŵ[q6 ~҆؞+2f׆+R%~C_v0|h~DEOg絤'!E7V⇕gJ/C%Jr%^įQ#+*>q' VNL,˩+x[4ckid _ԉԲ*Ǭ*X ._VW/\57XW"$ࠦnypyYF㬛a<(agi1+KEjj.v2'zvO|l\6`RcKaBaEX#qOf_T+9O)mcUHw4? O_oF~ ]^e_M.w*,sஂ{9Q0V_Z/BfGd]7+b kb5Zq'RȕyO~ڻnkX`Fث,FڣQ,3ᕬ?++ޅ"Q)_S#3 KS4q sLQqpMl:fZוwy]B \E.glr,KggeC|+3zOx,>sd^gkgW+3 M{~u4iEG7B๲)A'=@Aڢ`kȡB:D߁} Ȍr3,9o^Bjz^}^a\i)O{Fo n~&tvI}.h?Zt+^;]/L,9y7w+w4]AFk[=!-v)tZPK4{,-7%e 0ߌfݨUѿ):mah:;NOC/fmB2 %s]ǜt:se4K_fwfru'Kmݮ_+TZ<[nSꈟ`~A|ygy\{X\no)i;mڍAU89`2,r(!.\'X7p+rlun|?xR78uyҨ7Eoo*9Mޖ- ׀5oYo-{F].s*(S <xR7tkLn~ի(okToo1mܝe2+ӌsȮ4ٲ+y?jrmn^ 3Kx1Guw;3>yOW7p:mwmjݺw]]=N㑡$M Z~TL7̸ tW$9HCCM賚apt귴bt8oP&!J0MDi}X]82H8jH4Ze 'Pf"`4;#.%/e[:{:{RLghh( P; bgU vP!Q+ݓ(Ӧ:16ߣ~S52ǹVjw=J*Y Z"muVqh:(FVm PnBݪǷTgi7\F3X0b4(_9{e(?3ʰ)rUuiGF?ܕ'Af˾0k _*Gx!| }R.sjnͼU ^ YބÚ4G=,wߋ˚YMmMMcMe(oLu0|{r9`\[ϊg 2bQq02F[q0z2nq26-`$2^.1-]Nt8?t4?8BqxYqx]qxWq-qe|22-[qq8ֹdT޴#b }2'6.!c cFEvKG*vEΤJ5\a.s@MkE|\I$W9 ftbۘCDcXJ. :q|5{qC5LY.s&(p(ĹpHz+w}$=x(=^Cg#@9H1C$-x><8ĸ{;ŝ|Nޛ3pqX8ĸÝ9Ld{ ^ܟ= ZxςyH3 \C^pߋWEwSd.vH-{#>~h[ q=.++fKv`S ӂ3s岶2ng ke-B~u5ڥ:ɤ\KpU\~bsV` ={&{\-+/7ψM-kj=Gj^brK|P,SOm"*yțu%*8UD~ZAKz vʑͫ|ύWf0KĞ Ğ ĞFYbO,M,ٻY`O%v$ ff=~`O8\ ƦT,[T,ˇa ^+s]EqM 7(xMȳkn3*l(Y"@C=sRż/w%apOqh3 c]b7pQ 1njRG^C)ی~W +'ܤCVMI>Z,OoTi|I3CP<1fSl=tX_"?(î/ h"fb8`%Ɲ_7YA>-&1fS@8a X@B*ٕ{sYGDi/$cZ mFJq'̕c*{cC|nr%?3;3 3n|$-se\*@\stwwi{q'Rp=׎J n^q"9rѢ{ fGvD ?/oTyQ㷝r_S݇.?#~s0gW8~!̂A&ylB>\o8O)eyXz<_<27=^nT8'H 5TeI J9~$λӵzbפ=W2Oί:=Oϗr@͛U_Kӗd='J{X&9 bev9ɭʟqZV|?ɭV# rTn%^"n4- Wi%9y(͟53sl[9ɭͿuџmniv'r+-{Jsmٕ/pQ[ofڹ7̒[Ѣ3['Rp+z_+S 9gkOowGg;GE#W:F|ՐŒYo4&?E_%"˛߭HPQ #-V/vvK ;MߒS;n΍nܸōعQ΍:7vntc-`;7Zع;ny*vnΑb67vnXnb~w_wca7Vnhn[7vnߐl/GYkMO@.Dn8#c@V|8 ݤ|c怭Gseˮz !uܬ8ppdwK\tj\+j'*ϙV8e!3R)Mƶ 84ܵQ+AF3nц0a5Օ}g`2eÉ6S*!XX' ,JMsr0n odw}ŸpRb{(;(em_ػcc mߥ;JՋՋ+JeEkG7me5 4pV25z{7ix`!P(fdYM”CnvY%hdƬ$XY.ym+ EDްw,ׂUygiCCI[L AtfI'J'VѺ`-~~ Tڿ⟻]oX׻aumͭ VD#jC[aÚ{V{Z;$=Jة7Ӿ+ai5%xc2‡0m~%~sw۸p\?&DHRTJڞMk6vtqNAvI)\yp @0%] /YI"*< ^фd{^|ئNŧyM ωh$YXP3G0 -ՌTaN@VK*8R$%wT+XP檵ߊ슷TAswyYMEE`[ :;v$cQ6(;"a+CBt f8`(N>PV杶{T._nnO)yZn-gv!ڌ"xȐc08n̈́^ۡ13Fоh(DhvQ/l׳ xX^;P'e(c hr +X#O)S Apbh4qCipHs 8 *iڬƱ`CG/N&z(kl8۲yגU{zV) @}{:3C0xLCP$3%{ ]hx`+2;v@abz* S9 ;#!fjoP8"UR^C$p_ VE͝fTN8Q6R$--2R߳rh%lc.j,3n]ړT Ðs 8lyIr%yU~M54:6!zG6Q ,X^x| -]%,KVzַXFڈojK#$V9A˂ Y>X]24V)e]m:&CI k;Idݕ,,fZm|a_g8 %æR`Bﳠbx"q\`P|P˦XJ8|i~WՕxɮ-Eve&w=MVYkJ 0 RǯI-?( "ARE&mC[-MmB8{ѳ1FqS8z<J(*5QXS]WsPLK*wQ~/ߧYj%t69o/^+V-|,vk訪u*Aԫ\27?'O!sмS -҃ٛj(KfnNk-.b K)Njic/CuTdy251 ךե^ç5Eí.)Go9 $CQ(\U`ik3XSX<._WҒ׮t"06 1(ݵQ q]K>}I5knuiq \l˨¢]?]FHAl^ݛ[ z},E㮪cx< /ǘo3"XTMygɝSiTڀbN9KigS]4ԺiKTQ|?Oe":Di/ӠC?rW5=8IǞf{Sb{ƺRM6ossM9X~N>66)t.KAkx CpZ""6}~w׻X;ջNIG#ŀĀyC$(cA}/)^^\1[Qx-౑y(UeUW|t٪4F+5+G/]&n]aSf1. ,їHJD9PF^p (,K֔_u9IF*ͤ3-'S˯:EuǪgce="UY)7hAzd#ZjJ6h1pzv0A^]sf{0irPy/ێy-lWZh1ɢVJU`_T.vŎW(059ejk(ܼ>ip4Xn\T]k҅aSgNl]'jSf9@Rt).)*Z1ŘԢcHr>W,n(Ttnv~'pqo1Йc,,X1 #ǀĀ 'uľy+_V>|Fw&E&Sa>fQm|tהj\U)}a54DJV%#Q+TBo0&#˵Iհ?8ŭ6۱)Ǹ8:H1 c ?Ջ?\bs4^T\Oc| yL1. P6\\Wrr؛mW9@YJ~N[nނ<%E/*,⭍ ٰMYkgTQk~4K|]վnV96ln'X2odP{"gj4T;+{F:h+ã,L+.5q׹LvꑆNɰvbPr9*YG˹~WSnٲj [UJmٌN_ͧ襇2Jzh^y(k5 6E%g%vRP\`Ґi5 X?vX# *5(k}YQ~,1p(g%)zn$F~rm^,DdnESùQ*mhkd_EtoI.&kW^_T|3a3ق4Љ{b-,&'eeخp߭κ 3Y6Ylt4dgÜء8: >썴?k_Pg-5br[.,laY:y876WbI!2tَkp/hamESl{u=;qFr%CMR[_m|h"5/z^f2gة:І͛*M΍ٌd u1XAl餺Yapaí>lio֍& a$ eM4D ϛE:[Ut9:ȌV^nرE¤\}Icj`>M9aSh)TnO͑iߡLL!Ib#dE8#:33#%tC;#sXv:Qq&ј3 JeUU)Unv^-)ɭ]YY5)IVt7`]ўGqׄK,]7>UJCbn&dnnA }5lGGmRcw*&ItCI*=Pypmƃl3Dڽ-%0IJq3c.eng[odjdzRG YK80םڳ:8 ̓dv୼5tN{dw#%xk,$defq 8H~3@-9A=ߍݪ?wǤ,x-t/\tzIazMLпq]& M06s-~y Ó>E]>&h1xGR;F0{?8 hcvj$$()K鐓M?ZCXӼXY}f;MuZ;Cm =s5*>y13Lr=VO5, ΦnjKx"%b>(&cAO/h]BDUVR< m&Qv6Q1 pOy֥^+h^C&5>pYGdI\UG#F͑ׯT'}+)`{aSWs}xݴx#,ﴖZC/?!+[IKHgbbǀcw,$CxاxX lQ-9 45W|M {WVw0YCE)/s4nڟ,C{'tE#{F+^ZGIv xۏ.Ord-=MZaCo>fFT<|O>R.Fr0e7lI}U۫|E1;ڶdۗ9sׄ{Ŏ]a:JØCk 1S _xWs\ H{ZcEkOR|1ϑD"'C `8]I Qyzm$y^H$Oz&~tnz"m8,nƮ1.tS 7\_}53(7d6##s<ʣ'l)3l80*E^y:9DSG2|,.cU~ڸ9DGQm(|.9-6S|G}Z= ݇<hoOErzGhr/ψ\Mۗ"{]%ao>޿O1ϭB yx/ɿ+>5Ęcl~ YGb܀11KCC?cL ۄ; 'nG/GvW3_uEyqAmϭ֑i -|קö,+~??Nb'Oz =͏t+ZhJp_Wc/?I:>Ҁ.5l*n}=-CL)3NQ2I?\գǞu {]H.|bJ᷽t`{/Jz_0 T~k;d2ס} mҕy<^mPA|r;~jA]q"}~ȟ>MP?M t' ȩ} Jr_\IkCZ/t '?}~*'t9hA#|W&龅?OTB< rdBsM@J#lY#؛gCmŞ,iDc~DB}6#C^mI\Y q ?ՕKS;Z?ې ~< ;Bc\wfYط2qVe[qNu&{_\z97-@#w5^I94 9$;헞y<3Uf/riRܿ< ?ߞ\,y,D{Yv~IN}j귬]7xR{b1C'6Rw0J+޽b*)03 ̕x%C.6@{)>>/JI=p`q˙X=nUx)4OQ.} ,xY.EOKK8O}v!pdx"=ۈ&z##| wC*{7zM<f y: -Zw\ -u.Z/hzu].+'!h;RA{C]VTe&rYk:;7Yt;A6h ga"PhsYŹɲ\O ,:-~K˹t݆TDэRlH⟚${ <sZ݃q]]e3/_'_˓}_ =;'ogwUw6ʠrNL|Nqb=EZ-Ps_7,`ю[c\H\]wˉGӹwqwx?cw/I^x"ooC[:fjj{TjhMY:[Pڕ @SYHg <#n%˫P^[X{c(*a }f>Y+1powg*(ׁxjopn] s6 ю|2 dceR9D9jcm<\sOwtYݟ{~Qy^ 5lFs=n4xŜ0<Fey^9܁}fsa2sfsz1gB?:h6ְ@'cέrƛbܬ7 t'+Hrǭ%{&g L_/yp=y-?l6>.p̩a* SYc%tCtݠ'Ś;GLtpBx^YpZ9<y>ZNE OQE<-sb<5LԛdZ)x~̲/&?&Ǚk9Wz!.*dttieyu[Ȳ;xv@ψ+B<]9])fRw8/J`!1jA]/l 'fuvxsop˶f>YZ9Pܖoߎ퐥: Jϐ̙KUzRK'lͨbɡͤ)%Tʘ$ x7&Ku pH}ȗG3U ]v9#gdFX TO=yU׏}^cxgQ#W}~](M&7.f{CO(̡P>1gT/%cڗ&x(e(Վ[mV9j'm9Ϩڬ)-xsVE\)}J̱'wr J픓ȳ[3ؚ\ӌxJ _$&׳<v:u߀o2wYo`&"F|԰W)֗bRNjX'Bxύ(X"?'76Yclgn[EZ(CAavR1hb{~֔NW ?F:ڴzЖ1VucSSV)?"Nԫd=s^0P ~Υ,,ϟ9]J} 4dCܢ-ujzq3QoP/z;4(AQoJ!oQgլt77gz66Ӡ۠fvX 4XQȟu*~>}~_C K~{|c=8%liAl*E(٤5b'Щ;ZaأƬv/UH}uR;!=8MڡՇ߁ґ'IS9A2hzCgoRB~+йo9OqG,Xb:Y: 2= j6518!toy*\gP:A8>;O{aȳ0?FG$JHx}4䉻65q8xtkS*<}}>S˲*O:gw]s;5~) ->F^#hg6J em4T/lF&ldFM¯+w|䎛 #RB~q'؉}MuR'loW>c엿5ϟ+ȑ_g~;f}A e9{6M\D!<+vUE?Bg7CQZ%k4PסJ(6ia?Tɰ=J06[n].{Į|PcM?6Fe9}?8u? YS߸D/23+?@Fc.>QT8Ƈ_2&^O5S {?KF_zlZhcKw>]1K]FFCy+3+F/> WCrWfwڍV]3Ϗ 5a^825u}%m3 c[d?mb>6]bM_E.i#~d}Ε[Џ8~tndǷ.(YθXT9ܮ̱!kΘ^|A;O@2 }EO̡Xx2O93+&s{!7{r{-}6Rg 3:}J(JK㙈=a4|J#ͷ٬>U%ͬB<gʃ3׎]c7k7zumEبu?.fx;+nUĝWϿr\&c6klϷ@? ΐ }Na9bôw%Yٱq?нPD^ n~5|]3A|o.xlOz~j^~5>ov[wԜ эѤ% 7.k,c lQ(و|crrʑpr݇_Cs4refIntm.`eϯo2ͤ}%9CRr]j('Kupm-eXls}ڠU'.,F٫fY̕_4+e:?QB;x}ucPKq:m>oeM<>AO7+9I,#?{Qq>$Ц*2A:),g}vr y_H>#M+`IKaG|X_ cqGGj.vlx;g0ӷol[߲%}f7e8e^CT-71χw3o85^7H6m̈b,QJz*uԙZt֙:`]Gיp-`p+_x4р'xI|=88` x1ŀ^.w^x倗^xl^ x5yx`KW@<1n1/gQ8wYk9﮼MalXٮ;4s>B+$j [ι>MiC"xBЁk|CEkц6  $.a]†+%lIʁ(u.l8pBuR v[,aW%.. )K+(+Xr2'FR֤ٻ8"iYTVT6\wL摒lYEȊG28mu{Ih H Avcl.HQ*)*nD-l nqZ}73{s#%F(Jk|o̼y{ogggHg\G~'5X/)3hh xgۀWۀx~Pxxlo= )J[ VEok]p@7o]_W H[1p@x~;畼 T'O < 87?Y̡gn}Wײd)wo1c=AKg^)GgLxs*_FcmoL1=nQGl,2fW_}Z{ |Mo (kwV>}ʦ|X_|OzmJkC O6[9+~,ـ Np.xe鵖1遛ۂ5- C'.4 ^BW@ m"&' [SvˑS߬p޻ _}Yd{ZSrR߲wX#XWm{>2罝=ckDyQS}-sߖUpI\Qo.lY{]t59|"ǰIlzsv C| Z&xZr̗[5CzޟFrc;zbGÿ&J\?PRɓz~̟=EaMս~{ŧILE(W|諅'/^hZXڸXZ9hE OtGDysԦM=4wl_jY=2ڄ5mKvZK7]]O7VS`ߖj*{e^X/u>1omwkT&qw.m"ؒ4s8I2 vرH[Lkǫ5C;ztV ? ^?y.c@=LUʇ}\Q&c$C-Br n#~a|ɱj^kQ:J4"=綋}rh:C.3MTF{߶meg;_#Z?nTMr=8 Om2W2h]|^ŭi.ИZA<C!o;"@Ԯ|P:j}p5gtβ_+qǷH3'aM>67?+J{ 㙤k]<ؗgz8s׮edߕ?oY߫M7ne“[k-籍6j_/Ӧ!ݐ|SL~?wnoMkɏ6UUa?n~4I]=k'WfLCīr-Gy/n%uH7 ~0;g}X7e]id_|WS}AO>nØ^4|C/.|wΤ:HǴ.&t'4ҳ5S3L?| ~ςoc' :6a2ک=C?Vw ޠxt {(WYsImBڇ}}ӲM47m?>/!Ekpo}._}UL ٖQvyg1GтxH̳xζG|qpo6 DoRًx_h\W̲\[ͬݾLc܆~I}[e{xjx_Rs9S{2,YWrEvJ{(Ai/;)& ߢCi%͔\zJWR@%-AJ)A҇)m뿎ڻүS?şWXbmG,y-:(JRRnJ8gthڽsS"kprNu]"v1%'Xqt-="k,J=ױn ڎs﫸QLĤoWBz3mpNyt'Ʃ~-s'J ~^D3DXV|,tSwgRT6'XjRJvcSnm Oe>Jo|Xxo_ߘK}JrX8\e)Kf;Ns㨓hpĺ_է $& cTe4NE7 @1,ɫZ(arn9V-mS9>E|YBп.?]rJ7=\]Q}G'NNN =;1622!)yh94;RI;BjaۼS:}MVA (9/?b>|/˱ 2Jk]1?kbSiF'pfG8,p̅߂ ?ĦwuQҕvg38~|? > T4+;!" 0*.?Aò)FG;v1 6Ly0^쎜Ұ P}Rf[֨jA^9$XkKhuJoDeaZ ݶz<=PPDh)DܲrRp%N]N@-*8޶dzZY{+UJ8.䱚%l9|SCJ`4>p싲LYumS&()jNy`c=^%GVɟe;8#<=/`TZv`*2A8^,h`)'8 8,UP?\^oKE5u':$uX}c&Fm~}sqSc; k#_hI֕\^NCFNǼB1dGqVǢ*|ܻ5M%.00?_L}`,#lZ4ճ1ikǴKe\Pk--<*w7usԒY2cv;4n/,$/k ӭz&XvuucZ<CذeW f%FN_6ܓs:?TJ*{oR8T:5'8vʙWu-̒u *h" QfɃձyvY${yr=E{)luz z^N#`f:qXy˲Y*J'ڹA:.XKk/ g5Ap:G݋~ 5.qZHSk7mfYjQCie X,F6jH8W+sDM?#H[Uk!)03i_%.jHq ޏehM֕:ٻZSH zFr\1kkO>CM髁6^cǎw B>`̰mOxW. >Wbץ B6cC"UpN;2 KWHT̵WQ¼͋#MF L*2JVW"}SȰZY&NC&EQ grlq]9]0Z$f9tZB:6jd%DӜ/\%$e;;8]D(y{)5%{308g=Tcqj?C2=S4xd(!r P7kMMhVc0 ;ag'X(*wꁘhmDU04~C&:F̺yxǨFD(YHn_tյ퓾V"0q#^0T=TNߔH-RHvFКɺ|s/mtH$l8\/(QǨ7C/]~/A E~e u :Uq4Ok0t^Kt֑2gDܴ< LPL^rW\vOQmψjSut쾔ɣ>MI8~G%fHzCZExŢR!re1qj*8Bٌ#/a2Klc$^TSkʨﻤLt|Ta~DiS(QkRP%4:qjpҰl?'1$wo +}z_(=*ZXÓP^łu].1E.:S1}vmi$>1ZͯV. Z|S"p|hXd V$q9͖j&=im\oe.&97yXz~ =FIfL~s\c5sM=i"~7̋12ʡ\,9, 2q2M6pC2cӓo2d)f>oxubtHH.z+J b{ZJcnn&[o̬xȡ)0uDwGWKOX/gX].glS£xO7Q3?R4-iKyAΦB啭д\՚˅HWV>/UFL2VгVTѩ^ۯQLhǭT/OVu~cauB:6M=oj=H9/e.9w$R>/ E2 c4Yh ު<,BvFf+ra M% o%:ر_LUH^19?6'2{Ϥvك̭rP9/Ar^L?י[(p0l守\1>S.DCҬKҶOT!N=j`=3g)CS+n-r;T*G{i?FkΕAپx;ช+ _!E(6Ejn;qV6/ȂHs%]k4#HƣHxaYCxcvYlb / `0/Sv6dST% =cqUuow>9}* hܞq=xt7 4y>yEuS}Bclkx@j,,$ 权wO(1P]g\aJUz|@dj%#uy/F#%CmÒ:k3E?Iپf([?nN6>@ v]x^2͛dL6#,DeDy|H)'#h٥Zj<(VPZUNkyPmʻ|Yz)U>LMU8QdO,Ǜ߯_r_-Hir$hk',x5-/FbgdyGACK-goH֬`PYN!_}bq,k>Y> {j1zd?^u28 72c7 '==6#+c|<+0m\w|o2Yw3=5|_fxs>Z/W<\6$p9C#)׀W|<71x3x16x'8l[?w3mo>iq >|s0X|lc o3XD[ cl`3Xd,g bG,oׇW`0_?d9|¸D{5cU`|+/ *?3X? *f0>V`|XeX][c7 *U^54cg * *OU3Vy`|rX^=ccU0j0>V(xu+<7 M6͚}!#]E@HDBzii;=FZFZNZA&|vĵK ͤ햯GR$huQ4mtÏ s~cBg)uD" ^E^d C/L0#ԉ CLG.,٧?z<vi߅勝@B1d6bY8mc܏<9p62|He_&Q:[Fe44HA"7 9y.m Bk9-XN|!!= OS>$~HfO7DC\ѯCOS%, 0ui/vFy~/F11t>LcI4F 2go2sI4}<`'}q8trͣ<_ _h%OyCE+b<]J)h~22"WAkDIxDI=)dBwS3E)~  B~XA5ȷR:9`^t\rO,Erm^ZxY^֢Z]]\bî֡u:俄>/RRr)t.ůMoc;^/Ö.#[ir]NԽ]+ܻ{WRJw%客U*x FWkkkhkkkz_}O::C߁wq=zzxڀ6po|n@7Poo߈nƍ|<߄݄7FFF6fd[h|HVdm2r;܎Cvmށwԝ 6!&x܄ wawa{wA.nڻwfތ~7x3t~܃CC h -VB{+nxw/~/н\ߋ=|9O?m6d݆η}\Pr?O ~~D/!C|(4CO!c1{q{rO'O$D/OQ))>E{OOקvC<A@&Yh? gYxz<<wӯ{7uvS5^5uhNis{?{7 &Ħߤޤ^xK^>ꆽEmyvA@x|wKw{G[ї(>Qfz݇}e?}~~d{Y>::@gsMy1:mFt簁q&}o PoDd8v/^zǚ ZUhVe&h=~~Bޡ[=@U'hmK޴xZ!5-I^0Z=cVtZ">SioO0xRӪkP6ٓ'&c97T.ֺ!ykPjFAAGN؆8#U7> nfPx?|ӷbشXm޻~A9WJk1J&C׭?UlټĽ?m?v?Ɇ(=.X|؛89`Iܕ9/hG6.4?M}ҟ챢.j&! ChfB=94zT'$dfMOBzjBDCNX5|u-?nr@T.{`}w0X(z 9?j&KVgzg'HrȨdER%+[e)yEW֜x8sϻ95mu%Ly0([%4,uLM`rfǵ~{(q:"a}-1wp-HXgUS[Cjَz'ȡbkTģ^eo3NzX,tZF9>-!kbVhOsy>Y탪m4Qy1ROUYY^gziiCG'C!4Čx )x[r雗4W+9v?14Iv=nV8|G4&YQ` l2RkK~1g!kSim GeQ `EUQ> <8$@_t hN:&sJMZZDLCStÊ! h4,UN{fKr{4ؔlnUŲƜj%2I2)2ƤEoKW!U eiU ɹvVn#K۶=vh㽑xE"];H:4~DNAg6wdkR1lw8AZ,cm=tt+p ;6PEH~9IJؒͩdji|JmGo-妪IOu@__6SSN7U=N(b:;".M'ȮC"eՀFL섬_d4jqYY^[_;b EޘACi'" !LAP݁Pٍt5U1l?wڣwv;8 >Hr8oR{dJQJ0v(vwuTTߔgI3%zXy (jfDpm*<}*%jp.2:LTɕ/y]%l,C?M SzHZ4/ t]ӎ,Gǒ\8 Y˼-vvaox0.\X; f ȸ:,ΫٟAB8FF]3]IvU]3ڞVhdNzf]Qlc J`B $%bL 1;`|}{gW=^z}5.݈GZ>}-U+3c^4F.~lYu.Vm#P@o~GH"< 3g{7tcTF rIɸr;%mWc-$e1ZFO%'L-Yki<}b\E|sף8il+ @ڽW#6|h !-閥طVN~tZt {0T,Atp#kd;x«#.v.Á[RVu3\qZ~δ]xSI#*,bRtU03fz Њ|0Y7%ZmgTSs6VKDA1x;:HL(LBy"cWf-XcCڊ ߌu-FiX ii%XB6hka7 m$MwmTӕ|B|O֟螯&Im}y1LD`79'[p %V3=hl*iХJiI0-,y+7FA5x+5Dy,'Tje'DŌc.cYije;Ց0Q%pg[M/-*ƾT8_S!#@ %t1[Bc뮌vh]oѺp#F(Z^6`EL 0/t+oz 7"nڰ2 ژ W@!*SġDSX+KJz5M7X|B[JQ(/WMwԞt9JDw *Cɞ`٣h2b^Q( n%c g_4PDRiVf2R0r6$CVZaDkd?]5[-rȳT(gq^9~| mg|DM}5ǮGT⸒[ȿI? yQK}\mE+٬JWdN҂=6`XV!8b(Y] ,<>,[l %+WVe'@uV_.Q=43ڑZ! EP}XY`iyN{m ŬBudhȟ}3=|F'h~]+]Mzmiˤ9K?`QA@iB]]x ^p~M|uFz5X 'xa8nDA t j60V) 1bkQhD9$M]WPyws:S#Ӳ0tJm;jAsH+CZMXΞX:E}vڜ:@AJXqY|(>}M>0s88z@  ]C]Ve\v;3Y| ףJ&t Eop3p/@! MJƔ~c]o<% %=Fdo5iEC7w d4 mUJp:@rK\X4yzP)dGJ4}JR^=rE JFAh+[E[^afU-&Ѕn!.}_jQټ0Ia ,l^-PyC/[?5S#ih|?r+k^LMO`YI>蠸Zs ivB]tƀ!=A/&AA.NSȦ=re@cozbCnbp>zVnuZh?kW9!K?dsrZ@~8 jZ(M rQȹ')Df^E'pJ' ޴λùbonK<ȡgّ2*RYjږ1.ҵ2|Z|4tziF&+lN@/)+3fIgsWE)>mآB< rnn>Wy^mtP=m{-㒺szP$7ϝ% >/öD,qQ5Bt ]5vybY -\gk+azW^>})_uw;7zp3w2ƩS,ʪbZBҩ7;&:  š R Ҏkw O )sS϶kSE#E͋@"Raʕ ]32$C]DMǖ̂ r"HIȧ`(y6[LaGF(8]a@C?:A *&4 }3i(`Rx!Bn\{=_@i 2S*՜/cMRZʪy](,G"+ 0ldMVӮɓyNq_c!-FbP@U#wQ Z, g9j2+'% _:B@jrt> 2#%J7k}q[*˶@ U2.- DPA=_i ]EOZ j)﬜WC54DNQk |:?;h[z}V=ɰ#eM6.epcѣJ7mC3B{m,6N`0\ąBcgrd E#< ZSPB*"-G+!5Y&e_,fkntKJ+WT/'!'2t鍂uᢢ\5h3\ø]MB#5Vr QU_.Ɣ:9kKy::WS6)p,~P]Aqn狶uaZaZ?k'cr9c_Nyy'(Sܨ59 xw-qӚXddY@1fƢ$VzZQ/gG |~0VU _5RdUR̋L9FT0m`Ԃ%C ճbe9fm V<h߆mNgOdy*TTchyL OțYrx|Ҧkg'G<͟4 @ i=z** z -s"T.MW:t5 i]8 pCtc{uޭ-" \Nt~8w">3EQө1>O߄C.tspv,5rAou'{W =-r~[!Qg y0BZ^wCܢPsJ^fcݕ MSʻT}%X)lp2{}[;4#O^Ɓᄫ Z^^k;|A̲NQ%]vҊ;BPV/yP&יOx_?C;z0ag Lu6,tR? /b<("RU[/|hĘ+߈ԩ!R"ʱ2.i[J0K;{as7<;;l-+[,V2lrf]A?'\b*^'ԗZxV3 SCeU7娔؛mV붃׵B UI*dyVGJZ֌h^!lL=-R̭8gx%[1pn:n{:+T!5hv_4T_T4=YcjYڰOUZ | ZSPd`֥j f-~8o7/!ڗI[TKVUidHdU b {[L'>zL3xT6^lrLGn;et R64uj4̢ZSzf2 ~zݓIQ.oU;ZdNu;L?|׫pP>-K.KP}o e^LfZ_֓U\%R3ޜYgӫ\ǓZ/ YĔfW0$aKم 293P-8 z~߮n*D0c_p~VjkgV:K|uqGBu>Ǻ芿gSj-Utpr%WVVlZH|d\6_;ƞIޑ\&pWNO<铌q>J*BS]85rtas%Un{:j8#qI|歝h(i'q%n6k4rE}ބ:?AA4gFf hEˉCG ˞%@tSuu:qG-q9 4HoøX \,#[t;vhcGLJ^5rV&Qj^@}TLǨf;H@[1F\IR^̺fܶ#UzźΞփ*qy۵8@& @x3jOt]Ůw_l>CГ"0B릺I 7 së2!yVSw1й] {uz$@q4|/nGȽ^u "W s`[N)SWʈ>uqO|9w(s>B@ӐN3k@ɸ*bCFtJ[ %󪮔\2/E X !h`d$BQ\Trl>'v_c肊S8KܝxZwWt\XcA}|4.mAsvhG e|pWIrO+h*SGd]g d?^;"q|Tb'<~zW8= 1<a L1~oF:xW:]q $0g}^4" \?Vt tXL[m[SEȏe֦o[<>21G)M/ WHsFg윾*Ī>}UY=g>$Ǎ>޹q|i,ڍXlXZ Qzvgll c55^]p&i>M1Ŏec4ffhRwB*_L ?tZ'憶"X>^c&tmJ3#eB!GqsUphìop4!Kw#k~[.@#Ϸ6.bC(HA_# >:nW{#ewn(%s R`IRfD}2W)|TaFqq~}Uج*t?5yfuI \j S}?ڜ\T[C 4|ౖxD>X} r*V6ᜒa:)np֑{NQ}W>q=k8NoԐ}z},TMp v~Yk[nEo;乲ώ+䛵]Vuc;t?x Q~mkN<1ERP;6Gd袬PxjK-n1&I_6O]CD䊛etzU~4r.e^n>׫͞{*c#*Tx NeRe:oWWW`Gu_.ڡVӬ_*]歷Fyjg߿8NkoFLW_H)|6Nϗl&g_GMCmv-9oa47sj*C%EKNƗ"԰ l 95u;\}kwZw_@@ ozjHqa?x~<ǎ:ij:~Xg:?:S,(q~_*?kNOww'{{ScccCcPu{gvTL|mw|>SyWT>3:> vy눏y҈cN~I| :sN>muHNa}ӿgn~5V OkشHj y.t I|7ѧ>I'}Tyۙw(}>;kߍtO123ϐF:ӆt uLJCٿB# Hk6_E'߮ӟWϤ FDty|46HYt|1}xY>f?p5='4>N^yX/P;n0n&umJo7t ?}?:`oQc3:[{NCz4!)TN/5*.վ4*c/YoN_>ˮFjmHe c9tPrBud Fic:1]dMNީi;H8e;t?5,G|094OOB|)xcd˻ʛHڥx4}N G n$clcdcI&1ퟄXm~P޾-}C<=['^CϠ)=)=&0~zJ u}&ZǷ=7 cd_t #=soJdk=KQRizSч!:I=Q&uʛ}&cl'uC{ G13:ky*q{ c(H;I4RZNڷF#)#$:mI#e?y/%:fc~ }>5ެ?cKmrޟO׮EuU#u2:?g\ =ӿqPN˾B!}hݜi5RguOُ|HGR?!~ф~Qg?l?F{~l(AypkW#&e~dFo>ZKoA?[u'?>[2>e:xCu8)uP^Kh:5m^Oe{M9 ',: =)Nyh?k$ιCn# >8濬dh1)!5y#)㾭_3R+%2g/&.|T@fx2Rߤ4N8ࡨȏ#[:1=s'??NHxOʸh3=kF?Pf~V&YA1_$=ԟMwsF#S:5xe/4R?bL}DL:9L[yJGp8uINJ瞡ojyo!DF|XT&׸nj]'{S__Dg1zޔ/NdܡI=^6&ݓˡ11D&O'9TCLJ;L,cL]u11O'2г9Uc7z cD'kLјxm!i0&ny:Qd|ϓZ~11:Du:p`L܅?,/ua f:^c̳IG0Nso%t}PƳ7ݯutL?;vО} }^2c'y7&^I |RYi>oYPXHBE DG3Ν]d !`AĂe-8ʄ@0JɆFP1BL}vկRi۷y|ܙӐWWqCөmVM,ԝ<+MX!y7x|Õ+9|=mbYWΣpS,[0{X/=KRx@lljs1S㋀Wv|޷>5ӹ<CNXYzi` g)l^ڜo(n耵,BUF7=KkfwCowmޖs¯Cg%NkSkC_>Sͻ,B.fPk8b1qk} .?MlcQ#ρ~Ɲ IoYW%?˄^LEOd%(2K)lM-4afՅ>^"eb.)P5`OQ}_aѼq7#+tCS%lcWCH?xwA>H')xJx=˄~/ yMoS_/=,پt1Qm|^ 1}R+XsI~-ޞ~.1ۧuۀ|~-e~~, dZnNiw#-?pۘLoqd 7=l="9~+[wCu:~ȯ 8Fh6qB3?>8huaߺ+ {F ;)xb-?aqS 6o=?q؄tç+4?zXm)lؘ6o[|^F>dw~}x=𿭘ܯ7Q&}kKa61> my}pO|ChP؆NlxgS>`!_ 1QSlN %>}oP,H_ώm3 X3&YqývoU֗Jৌ!Bѿxy[yik}B+AW|.[쿌qmduRx6+Vy?I1Fz]ߩ %.("'m7(ӥN !fO;= ~30cy)S菒/b$jy'ۿ=6];[3Syl'/A~OttYzI漕)K ^;<\pNoX|X_kG\6 ?,1N\*N98r%4!ȕNt,꜕C4XIB{6u ,y#ُ)s&1I['C,-! ~:ql^M8U_`pYDi;{KQDd)-pBb:7R1Qc_6PlZU|nsWϢX:o@ߺV縠T+_ x?E';_weo"O~b?6 ^ 'u|\ #ut}EYeu5gu5Ňuɸw]=_(lyD@h?)kF8]o~dcUv[)KE ^G~=c7cG>t3b{?J߹|7^ɽsbO2+:684<8OGV,e\~vy -v#))lQ_w= ^q~̊ 'M\ #.:] }2da Y=#ЌkBCGLL+1}A=Sx~˯,b/DCLG鏄! |pm( z߮27g(>FX=3|i =:ڤ^;_~L8y50`6rY ?{)~ד,O"n{ѯioY^O~ϛ=}G|c%׾mf o}9>oc[87;:)X[(;r2W Wrh>\tx5{{t>+s}[,M/6ދK<>ͯ㝆B|},WAO{#8Sx=x,81U{ۓ_Is(ֹ)Ί 8"<~+Sl::t192ek_CCco&GEV\2]<}<'8o;4%,Cب_{4:oD@H SX.80o`=w]SVtHtv`w?} h*Y7S]  |_o2rs#[#n2l牏xћˬeQ'|/IF.\ ]e܏\2xt>O ^;ꝶؠA? 3hŘpAŦ>Ltp3DÄ64=21SBJo#8uhM_s8!6u4;x~l~+t[v#?"k^Gf+F Xyk*V_.EcA⻆:5S:;-tzx%(#7Ջ"bkG},2;锫M&Qq* z4~jk G8/Jԥьj#gAfuT.ڀQGjB:*nϧW^5SˌPD^ڔTS|xf>zU5t]r~J ՟~RVPQ)[idj5=YIy$Fӑ .-QPOH<iuRp<2Ux4VGtEp4AMPՊ@sI٪jLyf0E1[gʍ f$S(q.]⩪͓ 7 ֩2ᣊQVh5.([)HelQD[DDS>:^oOL5qYFN5؂_(jJFPIrlƟhˬL7=+%#iE'֜{nKof0 u#u }M%=%.qn>޼a#FbhФi(*0z>Ms+2 yJhqҔ+ڍƋ.ok |O/g^xlg<2ݢw))&Xj$C+K+T[zV׿rOpx [A#O*vX[6U&Q՞JQ(vŸ,Hdʩ)yUX+{.Q%+Ajzd g8^& ^ 2Ш)'j w>~ݚ5g݆u'ij0AC52t3v5r:<1Ckp\| J5!SBC'bk%lQysrV1eg>[1yuMa񩉵RQqH$޼v݆g0OR*P*JxXW5&N0g (U5sY\fz#3];_4[Wp O*Ett~:x;$5quULsxiuD 6)Y" )~N}W Wg>Nj``&>N;Ik*0U@yZg4fmQQtYE-Q% q aR995¹+#ݒ 1I饖`6!1gUB;L ]jlYU̪\mϸ.T7GQ\LCD=CUZP,xee1Օ(Y e3GKN0D,F:4M=A*Ԫ%G뙩fHlJ?'P)U (UZtq ĸ!Ya89^ɺ]QViKFR%.ƋpVK=O\zPCNMg3e qv2Ӫt>GUQ&.8#8ٻVgW-Zʁ *b0PQU9Lb|N7SAnE[goZQ]9IƨX*dTrb.'ӬWPM||t(3&[)3(# 7K1l6Qtvx{Vt3L >GBb0BkЂ uC;pQ܅u̡srژy.j1pFPpGet^3>/ @"2MěZșÍ82rJXsy(#p]zKxF,GS|:X^d:lX1rVf{TOúFISPG-/bH 9=ʥlxeE\S"7 )U!%T˭ݦ X_a0iȍ,UHiq5xlѽpD  l+y|{%n%ŰBQRc\r ݝY/)E\KdQuQ|TKyaF-xk(yB)II_mUM 'tڹM@^ۦV':y> ;xí;ZhX %b^Gb9ZxP*0ZòõR(ȵ7m(`!<6N&6$^Z.d>TB{z_1Y۬ V.WDhm'x&yx$cp/U'!}8+:_DR|- 8굫4h44GH2U?FuXV*6;apXRs9֊#-oR6֍\&HO ib)3bg(p$'$ջxrB+YWʮ$\7NCt'F`, T^Bdۻ@1ݑf9;6㼹8S٨a+`btT#I sF+kzFarnX'UR+?.43c2vOM^y |CK΍y1^9"HUt:RZwN0V` pĵj#\:r^'-@|Nk1=F=`WTCG~"8#y ?oB$nA&=yT%7*HH dU6_E`*QRcuhp 9FsE@~-PY]׺{b#(:[MPL#^?$%ihi)=Sn! mmHń܄dSk75iMkNs='Jz︌/s5\s%CdM{^l+t3cL+W'?2Ԏ(ci:VM.=5Ue W<70ȵS?IOU>@o=2LtmO8|Tj!TaP.ϥ8vJwC.MeSU?ts{qLv9K+f17 :X5ь1xN'ίg(%(VX'=#%[S[NVS>@W)8ʕBnsV&'[9\<;Z5WZ2y|`d,jԀ|eeӕTװ'"R}ϔLzu'XmQꯌ/G:%7y)E(NtI 18^Ne!u{j*KpQ2%Zjyw.lg̚NA_H?ߤLAgî?a9JJ(B>?=w u)w({(\I?"3żwwe<9{n@YUm$_qS[H]nbRSbӈ.&eVv5x84%1>=)9#)5%&f*!1@W2jJJR߻ZNv?2jGuI)$clII_ONJ2z!%)9chѹJБhcIdhйOuENcHҽU9E9,d4rTiΥ̤LQk>sY8)^t__/.s8R=Ӭ8bh]PbdvOԺ&][vڵWʪjͨ *9%U }4 bJZ)]u˫ )jq]󤤡Ćd-ڎG9A(t0y魲ΫYm'U=~vcrv)y>{>fR4h9xvq/'NuņT[p[qmw{:09sII{ z'y2LjԔ)71Vk\\roRv?ϜMz/:04Q>7c*m,Oqw0|,*Rqf{~Lzb:yQضDu3E'Lǯ,͟~]̽u57Qʯ(ot>泙X_J~뛆W7~7Cbi."eU{\ @D|&jOfYgÀ_Rxe=/Swe#K]93wV~gx5-pǖKإ)zgTZ-c΄¡. (矟VϘ$p(pG)z)z6ckln+6}y°qF)‡ns:wRp9gX֯ȴMXvR}[^ɷY&y`O$VX{JA׌N ٕ,2w.zQ@b)=øYShwO4,w<;Cu aa{Ч+LTz߻2eNH=&^X.:z9(翜kx7:( ύuGϡlma4b˸tfW;" vT_=l# ^E6?6gٱ#Cgd(T'^ `:{X 9D~cɯ@_M9W3Ļ=p7Was+ Ɨ } ~b QvfW&06|# `9>°-0@<<ľnI{!4A vl5Ư]6h7{E\¯]~线=Kz;њo^y_La,?lc;c saGX`ZKtm^Q%<HdtZ}p&茻`nKT)#st | "{! V#h_ѴS/wiwU؋5!?r?t'8xh?0!q"ҿӞGQG`|_;mDa|ZL?LJIY!oACλi̼aRVfNz߻r!^^`ҿy5v{Y@< yir s0l|DƎC~~,r~th_Og8|&#ǡ3=>7q:C3y\C f2_:>ͤ9:/hqᵟOM^?l.%~]Q4#Ki]Ѱ?ӑSF xXtc&lȶ&ѭonRدp7cKio@Ϣ'$^4<F$SK(@`| / ,eƞƓ Ksþ;tѭCǡS|x_8؊ykqɹ[۱xcy?wR w/c:ˡC~cwN`"h}oBe4ob"}>/yS^W칈~wFbفr.͌vdA@8xn"ȁL7!y 6Y>CCyxΜ%Lws|}{ގbsRlG.spףbmX6L#-$_假x0/5oފ24 siv`yvn?͡D/[# }:4D~a 4vk3/-%kg?~g!rrg+9t)^8bm? oCgېx3}]UПq3>ƹ$׌`O~OwbhAmp0w=W?[1UvYv4p?mp;lJfYavgq>#k$="$؟$6* '{VYjlgQfG"'JLN xޕ6{>߿5*MWSI3.A<%|8~W|Jka_E d>ٴ:hU4np㧘xoS?W&S=gnσ<|GY{EAΙy/Sls_5/Q22S^nA Ga:z}4coC-aGQG{R>zLtQv=7^<^ _Oy{<LC7kx? ޽s#p'2|pY/*=rGSD|}፴_?@?x#.4j3 lu#ؓCz[WC苙'OW/ /3n:bu3?_X(&uk۳Hƚf?e r1|}_I0#߅6_@0^u]/ﵨ D#%G`E} 3Ѽe>\\O> r;'+iDfM4n=7zA#[?3M|# S?Wft+i+yCGX3 =x0zk[ژ^5^J} 5q"kfj '"3cj,c!ƉY?;Ҿ$"1=  ̳13rٴOC)V*Kuce[%!Ni$ ȹ,'B-.Ʀ{Lck}Ѓ'?ŒT?w {2ϨaF1Nuu==zp H{<9ґ xy}Z105 gg"-?q$8{1΀|?U#0 抣=\8 5&tO9#|&~}z#`||BɆ7#&;d{a # ?$lea.GOԧ}:v0N!Vb'g$ xS)#{ϕJe/c[;ҾC.7#[p?.܂}}ӌo O#ETS+ N.bo|.z[Ekb^-:Mx:ySJ5έ+抧"VJ$J?xn%2\Pu VtV }leUOes%c"g|r321?#'a"eeD拗%K|)\NxIlb{}\֧ኮt[Or.& .=*\,<UMxQ.sل]zV>EP!Ibm[vQ`L<D8tݠ{r0O,ѣAbв*Nz#]3T5b:5q﹒Ltۍ1w6snC~V69#gA}1:cÂWg@%货ABUkȬkWaǺ ]Iҳg?u tjxϕ-_^H~Rjtb\- 枠0O; ?_wR޼N_L4Yg؈Fe\%`Xv{>S- XIg@H~7soqȐeGuE>- Ϙ RL?vF:.c.~F7 ۑ1fl$^d˸#GDHh$;2SpQSD㊚CNI| L.2x'٬⴨cɷzAyc;wb4Y4lE#F"v IעZ.Zf];5!6 <0"bgGdSF7}h-Q G6{aGߎαf#2p.\gy82Eߘtj@\An{;{yʋț{i/ˁa{k=<;_^=[X[}"քހc[Pc%wKf0N'N>-|<'a$.lCn5 ϱ.{:Ux S\T!n/J6E F>aGT%yEZѿtdGqCpI0j`@c4aȄ.=WO 8aߝ㫄')LXzy@tU[^"s(:d[&Ժ.?U϶Cbᖯ ';f< nm'w@ {WEV!@:FxE a@x~R)Ee?j3"7[9Be)<(ɤ6w˗[-ln^6aœ(.7uF~d\_"+;}?%8d2ާW}MÍHc^~'cc 'v /)(=1.~d ^wVp*9B'þjY#[[?ﳍV^ (:[!ZG/+zwDxGI1{&vҧNxNWXUX dl'MY.no)9ee=n 0:שx__ebeo56$G]ֹ߼I. 祿ȥ]Cn>o&唧g=l$ztl-xMQ;n]$/ xQ^Xzwgi}ٍBYѣ(7Sc+,8:Dw ~3Bpv@ly[ռJϯ~7Hɼ֒,X/U\ţ4*o';N}=MZx7xV!x%<*-JNXtN~`S([?-usnܗ+tBl])+VÂ7 7B:v)kS{ZwDWtM;F+R[znWr*UXqgg \T߷\)xe;[1TWBf30Z":>Sa{y>O|DxJdl,դ[u 8-JS{g ^)ZKkrnSAEoW/( ߣE/)nҭYw[Ebnٯp/coRc3eX/nz'Wg*UJ:+;Q%sB^%")ԸLԼ]B: 򓂃R]WA113B:[OVzFF }F$8Yca G{hSՀڷS^oܻeGo=#BEBo T{l|n?tXJf&AkBoRTxfL(VcU<,VR5)jRc;6 㗔>J/ Tb1|l.:})eK Wu˷=Lɑ|mXaR']Gr_^nڻwdvܨmrvmoǩ{-J<_/f.W-W-Vj띉N 8}ʢ=?;=AU T}/H+H ߤTu?Pd]ZTTj`LbL5lYDgÆefن&ZoʴT҈!7`7TR.*sPb"Rs~9:}A>g).G}s!{ho>j^gf٤RUDL*@~kJ~#LEA{`f^zQ8޷!?izOw;=||PNyth:ߴٳg[5ac1mTŦS}jtG* yNOYTv?7':m~s yיEgT@,)_CwSL} t0&zQ=NuPurZ&~١ztwA-۾г(yE) INyw[ݱL]yK~OS/A/ցsw.١Zn&tg =Fq:q֠.vHϦ z2\Os_}gQ 3~@*?],C~STO{qJ&И;D{"H/tϱT/EN좼5+8t(ύR\x8Et{=BgFE~_qQ\ÎRC=x7㬢sb:]+;(Vx1stUs:s*t\?ՋGLcN>,=qxfRct~ʳQ\;j^5B yse1I#:I'Չu ;u3+kINketփt{GIrẸ{iM_Ng#P{9ց_+ \Fk2 'Zw(nFҞ?Jq(H#dU$H;x# t:DjQ'|'(gQ7DuCbQj7BiXB:? #v;jI5F51#T/SmC;h|1H~G5Jw8;4_p,zh}.T'ξst;GuK0\3Lgd:;<:RO5L{Yo(}Crs@Idr{Wzo kߊyun|?8Dq8ճ/3ICN4iNPp3:{!ԭ:DyOSn}8Dui=mtoxȑZb/q?HutR]yq:\n%?q;6$vz|g~ai /݅]9y g-,:`v2W'˲qYmYWvbSR=UFj3ڪCm |2>pw\ v#o@\"9NL/RK-;O oNs%s%=89#5%lk<>ҏ'yVn%@$e?|!y>q6͓͂W_6O,5/%˲*.4as v* ?#j!:mNd2*\Q_'A|e!ynX NBێ<p]>`YOzbˍպjpdpQ's%Sgzڏ>LςO^xo:g^ؙFvfL)UM o>7tGύq!egYKm7K,Q[y4rĂ ¿bY;SS< $OrTY`w){ϥZ ~}dQ6Uf}?K:I^s3|$o? qe5uE.4ܑeٹ1`YNs5S iY~w2o ,B<߂Vj Vd&N#7!Ϭ|ENxe1aƪ-x*'B'sY>褒N11u DaLVOy9j]GҼs%,[ַKXhȺ$(&+Go '㢿ȌQ2O>UAߣ1bKcI=P@KDwzNI!t"!CWѐo:й</jY*gY8uL&+Y<̏=@B|mšSYRoֺqT2aEe8&-"xRBXbYȂNO;qgnjor.eKW_o)b#nYyA?8%6lhp>*gsf#e gK=C+_Y-s lѹˌ*#muSzl[ ;ZjQR?İmm /4:⿧VUzVS9͉_EvHgk6)u䅰Tf͗96{%eͻ߻9_"|}ega ?ƀ_JzC+/~eR`=γ$ vgB F_􈬫ݹy_r:8D\Xj*Y#^ 8~39F.<4`Xj˳5a'FJv]w3gͳi#AkoaL>[gBFG˙8o}쇳E83]P⌗^O9 ߆*IڲIlde'}ز8mΧd :U=h?Y xu5t.$/7go($& |x҉x֒.p:i&M@MBya :G=_7y~в qx~ q.!;QId'<33a'{ Or'].w~ qpWqt^<Ѵ}|Ke]P ;jy-+0ݖۢ3 :u`9OX+TaGGg*!$;+d|v^Px>cxa xS }:]5>TF8ò%^Rԑͷe<3/D+)_3ϕ*K$uy^08\gG !'Fbt ~JՏA$^<|W; %්BŇ~VcX7 [c.3\(c',0AU>sڞ`H`%1iv/3m!o|mGt [Y mv:r׫Q^#鴂Ɇ{x#yٛoDڑ^s;2wx>\Esak7nwWb.n/}xܭ~Z '83{sHWsaZ6MMvX?ٿs=jU[#y0v638zF3~g8: :ނ]F+Ӌ`zqs==mF+3~ămn|"1،r=bLS5s+ӺagZOki#rH?@\AmѯG\p|joWDcxV맬ݰ? ׹Ds]c6uXjѓB^ߊ`-Cn,4;jKY-v<E8ߍg7 nY֑seDމLmugOIk:kί1b7y|s )huԺmW;yxmY5,>; >DkS; 'ۜn[u$ժvTWCOQ <c<3R8qjfޓl@-(:Az/|^$A'iF6Znu3JrJG\9/TxrR#ܔE}wyݟR'OB=AO|l>]>m2ݚM؏|ʏ^xV_2FÉ~p0mpX'!j j 5Hs:agS{`yu08::;'fZE7{1؍KUYe{|*)`D<*&&(vrEI]2vI)aLQHEI㐞xEAGRr>>عꦵ$H9g/&æ(tR0WH>Dq ~9 Atg!= ΛL%~QNW!LkvP~M p I~RH> 2'@_^ܝ>n%ʕOSqT %"HkK9Z;3#fкWt&}i]u] E6ʉ}i߇r 4\w3v١:K1?y.=qk&P>lr)ᣴmTC)mթd}FcֿOgCBȫ)&~ Nrջ^>qtN|N=*RDCjNq$O%w3;|D8)< ;rrO u.h_z([;{ A~ $ŴFʭ;BKKW#FEB_MZH{v/h2ꑜHu$j= n&8 1tfdX"#FoFEꝿ'CsB\BLu*snbAIʿ/h/N"#t|zJʙN2ՑWR[Ξl&}7ńzJSOu4k[.$&R~5BMk<Ii_0}rgj) wAK*1WQx Dhb'19J$QSοI>=)6zCvH)SL@91Rs03?ǻ]{)}yӼw7ͻݵWԟ<3 Hy3zOy/޾lz,yMdGu=7xM>wi(Wf=b՝Mo.y*=6,ZEImlF 5Tг?i7ŐցcZ]XHoX-,/9m cɶ^+_P"PzW[s]1,@``Y<^"KPʣ̟,w?cg,?w`8 p|@`lH,k抍l=EH#O{lVeos[63kB9 ~%e` RU^=}w; +i+H+f" fa1c#! 6EH{6co'_5r]/¬}}.;ߊy9$l1|N>gegor9hV?Ʈ1,s:{s#^mXD:Nefkym+e;<~7\U`g[Yn-Qu˷ۜB^9\ӭP,;jD?umo%W: 1:*$ ةsl)=@kޡg|ΓTpM"*ܫmɟ X۰M36csՃwIB[mIԹn7!YuHX[Rź%3V$;0l#=ȓG?~.mߴI;ޔA6#0ע\Tf =O$H~/&&E&n"9؍c牽 &wQ܂[=`D91Z)XJ8/8%)(FhlM!-~[y!O/\BGڰgUok`Z_saO6:;`k{%}-gV | |@o%Zjv"֕j|Vs|8^M\M4/iz%tO;uֵH~s5Z޶ҧ<Z tBM4䰚M/]AãA&βb׫Bz1y:6ۺlD:χZNȎŜWGf-"&C>[mֱjA?-EX~!t1Ud\]pu^Nv꩗tLo3,|teubOl1pc k6ǹ}cϟ:w}e3c0"^t^~EBI 䓺0vbx:(nlaB;٬He^qaRb9)`Y`?+?dXyhl9q͆?+Yr AR>ͫFmhU G6Xܪ7[1ZvΟ\fI$y tlbaZu*s_q+A>]dƲr/׷A} N]l}\Cra>'X}kX$^ Z%Y6Xmyr xϰܻ [ S?Ͳo6!)u|Q n6Y:M`ySi!{1Y_ ;zI r+R7QH tU k?Sx=L{ c80(oAgy >ָ=Aʦy㡳oP4|G1R JH .<:"b~{7< /n(AޫR:3R /Z"B!El ɫ﭅ h|,MVStgӺB3brXpD|V3ϓz^ ,F˛=M6æzr;j`)g]yT=iFg*^\Oh A2\bq٤\ZLzm'FՑWtNcpUߗgb ջ8o*f!30KS9Ak"GѴѨYae(՗KkH&U2rW#6Uwaݴc@Eg)rw'p r#Afr43kS굝83?ջ(Z;]aTg_^]wߒwxҧڅS[UJaߟt9TC۩g9r'֢NYda$MuթZ{/JO;§hލ?YwvG_{W^9~m6[t~SK1Sܵgk*2p֛k,ްw*\l78?Ұ2,Ϟfl8t H':ii?RQ]=Ã`b8ҩ$b06͸0ŧz+(>QpS'Ad |Z5O@_L?Ok8c.5b3;I9bvf_D4`XZ3z ᰞwZ_G$j Y_ ._;:CA><6/|T311$Oh,3U^~fb>.8 Oϵז;t\foy$0r938ȉ,l.s  ^ heXAjO&'fP{W6s[JGdᷚR, kVzjⅸz; {mt/⊄,'g3!S= 3?MWo|ww6dBdbRbiTaoX L>'@\!O0W4I^lŽ> M 씒~q`%3 rw~fZu'[HN!|$́|E:UCrwӠ8\QLrL~ሕJΆ]enj$ ,Ms9b("{^gY[‼K Zr;;?jc{^vO~ W%Ñrm p/=`y3B>QπH_&ꂊykimtйC&jPy .8 }Sh\o܍@l |COPNJ1O:j Tvмt~)t>r>ՋTv!Kq0ՠYcյxq"jgl.3!<U)O۶ d[eX[azSN .%fu}Ϸ-W3c9c7@>$`Wt~$?uA _dSecu5ī+yYW@>^0 iT{hpeZvJv&l4A@ [L41 ܢ{EF.;L͐]⏄l4KfTK5 Ie.ɢq:X m팳,fdy<99s߇{5lxTm˟|蜬R~p 4m@ƪ={Cܹ,d.<͠?'+4ܫYWKx4q9KLSUKUyۺ~?i| k:cx?iyy|B>R>?fx o9Jd?7/^u"ߋ1_I4{ַ9(g~5 %r5_C-`kSdƨQ](>a6E:O=Hڿ>N>ʛ\r?!Cg}@;MF[:_eV">jh0ς>9 OG+6Em>ig-jCSdyh58 d͌Y`VXMԇ<&m7Փg\~Hjn/|vmlUs7,|r>>D9t$S.F9EG:(f <3X. c9xW \@+eyyϺF&7$Gi"+/Ss.` W>Bus a~3jg}z|s_IBA/ck).NActځ~irL9=\$UU_j*u3C?sJ)9γWȱ'9O|;̵IDO[\$ggk^,"saߜ8J+ 9Zmr+'_ˣȇh9>c?X:NS>rdԑ)N&x8:9#S>XzH;GٗO,nG~r]l5>|5YЎxCG k'pp֕%a}?nwu渖=[Hƚ}6}S|>@9N?)Gg8.!Gy'jrOᏣl}O*Si:'&Ή1J8>vma{8{JT(Oui< zo"c짨#>IrJ.^I8+/N+4^xqO~OTy cgeSȈF:75^lX1gvɡ+8:2᧑d'h8Yy_y6縼g՘y$w@^i_lLkS7gSdԤ}oyN ŒwMy_:Dž=l4>E&Wxg S.W>3nӷNXѣأ]Λ/;?(GqVh0b//A@$cߛ^Mnvp>lIq`ORtՑo3<`!2h]{um3b/Z2-ΔY7f]+w0ڌ+3٫Ǿ%y5Hw/g<8ǗΏp![损~srs0M)ͽ&+7Let?u\_Ǹ+}*+8w 1.‹M>c-=y$mQӷj})ѮV]!/BC͈iUq}vC8S(oD q=5bMf,j9kix5o|أc QBs\#b)ӷAWüA qy!upe-xYAAH^y*:ܜ:) '*GLEL5?x9[|?:s:Q^In6H!?6+ЩYP;5?uBޫAg O>׌U]22rH͐<8*o ޹,ԀbEW11mkrxMEo4\oVsbZT6BGLn1?S]s18Ҡ}hi9P;g&#&FڍN199y3Vo*}k;1r-DI2J0\mifOXmճlRMVcW׺}~J}HZؼCɡBUS?OT'7S#s*?SmmQǸ776*FFP7mkQ.7r.M3^Sw7 &?m.y3n[MS#ʇRoS*O?3I7<>=ȳ|G W=f3Z3N0?3jξN_:|_NK/}WJλ$o'o6<*;տ'#>67 9Igs?sbj@SʹFWەk\d8p; @zõ1_OQr5( S>rI1y/|MRV+Ql%o yUZtəc.&Esʿ)#}Xwieio,1(o7vտަ܁x1oܥ>z\4 x yZ?v{ pxrYrr4#7 ׏=zG~eymzmw~I[:ߗm@ห˔#OIOi#t= >ubgw[|Ǘ {|g.B2-gw9aEgcvƾA]烞)oD|=wYۙnuDop%~~GBN5யSZbwW埝` |(s|v徭?M/.Q/xq.W s{[—xȥ8"s!?dG?^/.P_^"4?v4B9"ת>d \{n_8fc}F0"|q]L}|*! |8@$H~>B'o$#7-z2tݿ90m;bZ0}9y;ܣ6/>\ #\xxT;tFީk[j"-~nu}Δv:՟gO+fxڙ-<o~ŞpCy&]6rqq6f;iyF,$͙c6q|6vgk3lw}\yvgz^0g;`pZyzV 3~3T_[L ݕûuGC\'|כ4({𒷯8]yKx?zo}=z|Eo)qYuͳ9*i0\kyq} }6lD 3˳.< "Kq=덴g?cvacψ4G *Q֘<9}Cy{79~n{U+@\-uX} `v YK  O(# z2lޒOxv,v{v _>Ns)?hrީ*-u]x8--=,[#)gM-zyˋ[#=r!Bw/:KOG}';?_.T{'oa!cosoDQoP{tx?Q>wIn}0{ |!9/%c\KM8y]`*r+g?]p`I#& $m-~_7L;qßqü' /Kxݕ+~++埝#;^O/xrtʡsψSsqwթ.@|t)/w Ky,M<(rI2ԁ~*X|;SZZ du/dn0ϼEw*aα2,{RyP(g c]>Hem>a}C{aȳfgK*s&SyلumFtVlQ}b, Y?\>jEY.dK)j _0Wl;<$?qA~&z5MC>́s9漢x'N+cCy5ȫ8Wil>{+0g1M\{$$$qє9C?gF t*|SrlCD%Zr2l\US-gsPח[<7I74~^۫:%=/SvXsԀ7+ĝ!VNI(Veg YVX$`[adHwDгZs]< U} <-V(r\ }JgCfEG<-9%=7InɃ~cWmzFKӱ~o*<7$8#KRs?#3yB~/ywKzu8~Ir%O΀2ee$Iy#3RSqFRk}ÒRQx% AB4-}Y7%W$3Ϥ%ՒIb׾9Uay؃>;1$8gob<f|81z5k%=t=VIfH g %gCk?