tbit-0.6.1
所属分类:TCP/IP协议栈
开发工具:C/C++
文件大小:420KB
下载次数:3
上传日期:2009-05-16 01:18:06
上 传 者:
HX.YIP
说明: An active tool to infer TCP behavior of Internet hosts
文件列表:
tbit-0.6.1\capture.c (5659, 2003-09-09)
tbit-0.6.1\version.c (29, 2003-09-09)
tbit-0.6.1\totdata.c (4929, 2003-09-09)
tbit-0.6.1\timewait.c (7205, 2003-09-09)
tbit-0.6.1\timestamp.c (4008, 2003-09-09)
tbit-0.6.1\tbit.c (11442, 2003-09-09)
tbit-0.6.1\tahoe_no_fr_check.c (8342, 2003-09-09)
tbit-0.6.1\support.c (7157, 2003-09-09)
tbit-0.6.1\session.c (12632, 2003-09-09)
tbit-0.6.1\sack_sndr_3p.c (11575, 2003-09-09)
tbit-0.6.1\sack_rcvr.c (8579, 2003-09-09)
tbit-0.6.1\sack.c (3903, 2003-09-09)
tbit-0.6.1\reno.c (12397, 2003-09-09)
tbit-0.6.1\piggyfin.c (4618, 2003-09-09)
tbit-0.6.1\initwin.c (4468, 2003-09-09)
tbit-0.6.1\ini_rto.c (4174, 2003-09-09)
tbit-0.6.1\inet.c (7531, 2003-09-09)
tbit-0.6.1\history.c (5046, 2003-09-09)
tbit-0.6.1\gmt2local.c (2213, 2003-09-09)
tbit-0.6.1\flags.c (5970, 2003-09-09)
tbit-0.6.1\ecn_iponly.c (3055, 2003-09-09)
tbit-0.6.1\ecn.c (9458, 2003-09-09)
tbit-0.6.1\delack.c (6616, 2003-09-09)
tbit-0.6.1\base.h (2685, 2003-09-09)
tbit-0.6.1\windowhalf.c (7329, 2003-09-09)
tbit-0.6.1\totdata.h (2305, 2003-09-09)
tbit-0.6.1\timewait.h (2360, 2003-09-09)
tbit-0.6.1\timestamp.h (2294, 2003-09-09)
tbit-0.6.1\tbit.h (4644, 2003-09-09)
tbit-0.6.1\tahoe_no_fr_check.h (2334, 2003-09-09)
tbit-0.6.1\support.h (2823, 2003-09-09)
tbit-0.6.1\session.h (3811, 2003-09-09)
tbit-0.6.1\sack_sndr_3p.h (2362, 2003-09-09)
tbit-0.6.1\sack_rcvr.h (2413, 2003-09-09)
tbit-0.6.1\sack.h (2282, 2003-09-09)
tbit-0.6.1\reno.h (2553, 2003-09-09)
tbit-0.6.1\piggyfin.h (2307, 2003-09-09)
tbit-0.6.1\initwin.h (2322, 2003-09-09)
tbit-0.6.1\ini_rto.h (2418, 2003-09-09)
tbit-0.6.1\inet.h (4803, 2003-09-09)
... ...
BEFORE YOU START
-----------------
. Read the companion paper: http://www.aciri.org/tbit/tbit.ps
. View the slides of the talk given at NANOG: http://www.aciri.org/tbit/nanog-talk.pdf
GETTING STARTED
---------------
This directory contains source code for the first alpha release of
TBIT, which tries to identify remote TCP version This code base
was largely developed and tested on FreeBSD 4.3, it may or may not
work on Linux, and most likely won't work on any other OS.
To compile and run TBIT, you'll need three things:
1. a compiled version of McCanne, Leres and Jacobson's libpcap library
(I've included the version of this distribution I've used, but the
most up-to-date version can be found at
ftp://ftp.ee.lbl.gov.libpcap.tar.Z)
2. a FreeBSD kernel compiled with support for BPF and firewalls. I
suggest compiling a kernel with the following options in your config
file:
options IPFIREWALL #firewall
options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default
options NMBCLUSTERS=8192
pseudo-device bpfilter 16 #Berkeley packet filter
3. Root privilages. TBIT must be run by root or suid root because it
writes raw sockets, installs firewall filters and packet filters.
This has several security implications, so make sure you talk to
your sysadmin before you run this program.
USING TBIT
-----------
The basic syntax is as follows:
tbit [-p port] [-w sourceport] [-m MSS] [-h URL] [-f flags] [-d] [-v] -t
- port is the port on remote host (default 80)
- sourceport is what you want to use on your machine (default ANY)
- MSS is the max segment size (bytes) that you want to use for the
test (default 16)
- URL is the URL you want to request from the remote host (only the
part following the hostname) (default "index.html");
- flgas is an integer < 256, to be used in the Flags tests.
- "-d" will produce debug output
- "-v" will produce verbose output
- is one of:
- Reno
- Sack
- Timestamp
- TahoeNoFR
- WinHalf
- ECN
- ECN_IPOnly
- SackRcvr
- DelAck
- TimeWait
- IniRTO
- PiggyFIN
- SackSndr3P
- TotData
- Flags
- NewECN *** new ***
Follow capitalization exactly.
- is either the hostname or the ip address (dotted decimal
format) the host you want to connect to
Here is the output from a sample session:
# ./tbit -m32 -t Reno www.altavista.com
##### droppacket 0.145557 385 417
##### droppacket 0.17***79 481 513
##### rexmit packet 0.1***352 385 417
##### rexmit packet 0.211520 417 449
##### rexmit packet 0.258346 481 513
##### rexmit packet 0.271379 513 545
71 packets received by filter
0 packets dropped by kernel
#### rx=4 to=0 AggresiveReno
If you do use this code and find problems or make improvements
please send them back to us so we can improve TBIT for later
releases. If you experience problems, please specify the operating
system you're using, the DNS name and IP address of the target
host, how TBIT failed, and (ideally) a tcpdump trace of the complete
conversation between the host pairs.
Special thanks to Stefan Savage at University of Washington for
letting us use some of the "Sting" code.
- Jitendra Padhye, padhye@aciri.org
COMMENTS ON NEW RELEASE
-----------------------
The new release of TBIT include the following
modifications/additions:
1. Fix of Preparerequest() function to interact properly with
HTTP 1.1 servers
2. Modification of sack_sndr.c test to allowing the reception of
out-of-order retransmissions
近期下载者:
相关文件:
收藏者: