Initial commit from project. lib dependencies need checking
[packeteer.git] / README
1 Packeteer
2
3 This is beta test version 0.99
4
5 To see Packeteer options, do
6
7         ./packeteer -h
8
9 To do most useful things you'll need to run Packeteer with super-user (root) privileges.
10
11 To automatically download and install the packages Packeteer depends on, and then build Packeteer, run
12
13         ./install_dependencies.sh
14
15 To run Packeteer manually, without creating netfilters (iptables) rules, do
16
17         ./packeteer -i eth1 -p \"dst host 10.254.251.56 and tcp port 80\"
18
19 (replacing the IP address with your server IP)
20
21 To run Packeteer and have netfilters (iptables) rules enabled and disabled automatically edit packeteer.sh to
22 suit your scenario and then do
23
24         ./packeteer.sh -i eth1 -p \"dst host 10.254.251.56 and tcp port 80\"
25
26 Remember that if you leave netfilters (iptables) rules in place after packeteer has finished the packets will be lost
27 and cause the services matching the rule to fail. This is because netfilters expects an NF_ACCEPT response to each packet
28 it sends to the NFQUEUE, and once packeteer has finished that isn't being done.
29
30 Sample output:
31
32 $ ./packeteer.sh -s -l 500 -t 512 -i eth1 -p "dst host 10.254.251.56 and tcp dst port 80"
33
34 Packeteer version 0.99 © 2007 TJ http://intuitivenipple.net
35 Licensed on the terms of GPL version 3
36
37 Monitors network packets at pcap and netfilters stages looking for packets silently dropped by the kernel.
38
39 Simulating 'lost' packets
40 Introducing 500 milliseconds of lag
41 Tracker table has 512 entries
42 Monitoring interface: eth1
43 pcap filter: dst host 10.254.251.56 and tcp dst port 80 
44 Monitoring a maximum of 1000 packets, using 512 tracker slots. press Ctrl-C to stop
45        Time               #    IP           checksums SYN ACK Seq        Ack        skb->len
46 pcap:  23:22:12           1    10.254.251.1 1C08 70DC  1   0  1989451024          0     74
47 netf:  23:22:12           0    10.254.251.1 1C08 70DC  1   0  1989451024          0
48 LOST:  23:22:12 1 packets
49 pcap:  23:22:12           2    10.254.251.1 1C0F 11F3  0   1  2006228240 2886120720     66
50 netf:  23:22:12           1    10.254.251.1 1C0F 11F3  0   1  2006228240 2886120720
51 pcap:  23:22:12           3    10.254.251.1 1A1B 5BA5  0   1  2006228240 2886120720    565
52 netf:  23:22:13           2    10.254.251.1 1A1B 5BA5  0   1  2006228240 2886120720
53 LOST:  23:22:13 2 packets
54
55 Stopping after 21 packets
56        Time         #    IP           checksums SYN ACK Seq        Ack        skb->len
57 LOST:  23:22:12     0    10.254.251.1 1C0F 11F3  0   1  2006228240 2886120720     66
58 Kernel IP checksum calc:   1C0F, IP header length = 20, IP total  length = 52
59 Ethernet: 00 19 D2 1A 18 49 00 16 B6 DA 68 13 08 00 = 14 bytes
60 IP      : 45 00 00 34 13 7F 40 00 3F 06 1C 0F 0A FE FB 01 0A FE FB 38 = 20 bytes
61 TCP     : 83 5E 00 50 10 9D 94 77 10 B5 06 AC 80 10 00 B7 11 F3 00 00 00 00 06 00 00 00 11 00 00 00 58 B1 = 32 bytes
62
63        Time         #    IP           checksums SYN ACK Seq        Ack        skb->len
64 LOST:  23:22:14     1    10.254.251.1 1C0B FF32  0   1  1788255504 1813230864     66
65 Kernel IP checksum calc:   1C0B, IP header length = 20, IP total  length = 52
66 Ethernet: 00 19 D2 1A 18 49 00 16 B6 DA 68 13 08 00 = 14 bytes
67 IP      : 45 00 00 34 13 83 40 00 3F 06 1C 0B 0A FE FB 01 0A FE FB 38 = 20 bytes
68 TCP     : 83 5E 00 50 10 9D 96 6A 10 B5 13 6C 80 10 01 C6 FF 32 00 00 00 00 15 00 04 00 41 00 00 00 00 19 = 32 bytes
69 Lost packets count=2
70
71 ------------------------------
72 * Version 0.99 2007-08-14
73         added hexdump of header bytes in each lost packet
74         added timestamps to reports
75         added -t <slots> option to allow user to set the number of tracker slots
76         added -l <milliseconds> option to simulate lag on the network
77
78
79 * Version 0.9 2007-08-13-00:00
80         pcap and netfilters monitoring
81         tracks and detects 'lost' packets and at the end of the run analyses each 'lost' packet
82         various new command-line options; do ./packeteer -h to view
83         added simulation mode with -s option to test on a good PC
84         added verbose debugging logs with -v option (written to stderr) can be redirected to /dev/null or a file
85         packeteer.sh configures the iptables rules and removes them after, use it just the same as ./packeteer
86
87
88 * Version 0.3 2007-08-10-02:00
89         Implemented three threads: Parent, pcap, and netfilters.
90         Only pcap is being initialised and started.
91         The program will exit after 20 packets have been received by the callback function
92         Packets matching the rule set by the -p option are seen by Packeteer
93         A summary is printed for each packet seen of the form:
94                 pcap:  1 IP=   66.249.93.91 port=   80 SYN=0 ACK=1 Seq=4287232391 Ack= 502335762
95 ----
96