setting svn:exports
[jnettop.git] / jnettop / README.UIA
blob41ab23953a7601ad00694cdcf3cab08a6697c8d5
1 Justin Killen writes:
3 listen:ASCII:<interface name>:<data size>:<bpf filter>:<max lines>
5 interface name  required - the name of the interface that we want to  attach to.
6 data size       optional - the literal text 'bits' to change the output to bits
7                            instead of bytes (default is bytes).
8 bpf filter      optional - the bpf filter to use (default is all traffic on the interface).
9 max lines       optional - this specifies the maximum number of lines of data you
10                            want returned (in the ncurses view, this is determined by
11                            the terminal size, but there is no terminal here, so we must
12                            specify explicitly)
14 This will respond in one of two ways:
16 if there is a problem:
17 listen:ASCII:NAK:<error>
18 where <error> is a textual representation of the error that occurred
22 listen:ASCII:<id>:ACK:<device>:<data size>:<bpf filter>:<max lines>
23 where <id> is the pid of the process (this is used by the proxy to  
24 determine which underlying jnettop session to send commands to)
25 and <device>, <data size>, <bpf filter>, and <max lines> are the  
26 initial request echoed back.
30 After initialization, jnettop will attach itself to the interface and  
31 start recording traffic.  When the user wants to view the results, type:
33 get:ASCII:<id>:<max wait>
34 where <id> is the pid of the proccess
35 and <max wait> is the max number of uSeconds to wait (in the event of  
36 no data being available yet, wait and check again)
38 The return data will be something like this (ip's changed for security):
40 get:ASCII:7007:0:ACK:TOTAL:::::11.8k/s:12.4k/s:24.2k/s
41 get:ASCII:7007:0:ACK:1.2.3.4:50:IP:1.2.3.5:50:5.67k/s:9.6k/s:15.3k/s
42 get:ASCII:7007:0:ACK:1.2.3.4:10375:TCP:1.2.3.5:22:3.09k/s:1.95k/s:5.05k/s
43 get:ASCII:7007:0:ACK:0.0.0.0:0:ARP:0.0.0.0:0:1.12k/s:0b/s:1.12k/s
44 get:ASCII:7007:0:ACK:1.2.3.4:53:UDP:1.2.3.5:51795:376b/s:168b/s:544b/s
45 get:ASCII:7007:0:ACK:1.2.3.4:53:UDP:1.2.3.5:56124:376b/s:168b/s:544b/s
46 get:ASCII:7007:0:ACK:1.2.3.4:53:UDP:1.2.3.5:57578:376b/s:168b/s:544b/s
47 get:ASCII:7007:0:ACK:1.2.3.4:53:UDP:1.2.3.5:54968:320b/s:168b/s:488b/s
48 get:ASCII:7007:0:ACK:1.2.3.4:53:UDP:1.2.3.5:60545:320b/s:152b/s:472b/s
49 get:ASCII:7007:0:ACK:0.0.0.0:0:ETHER:0.0.0.0:0:192b/s:0b/s:192b/s
50 get:ASCII:7007:0:ACK:1.2.3.4:53:UDP:1.2.3.5:54392:0b/s:0b/s:0b/s
51 get:ASCII:7007:0:ACK:1.2.3.4:53:UDP:1.2.3.5:57988:0b/s:0b/s:0b/s
52 get:ASCII:7007:0:ACK:1.2.3.4:53:UDP:1.2.3.5:55681:0b/s:0b/s:0b/s
53 get:ASCII:7007:0:ACK:1.2.3.4:53:UDP:1.2.3.5:54390:0b/s:0b/s:0b/s
55 The first line will be the total line, where all others are data  
56 lines.  Each entry is separated by a newline, and a double newline at  
57 the end to specify the end of the data set.  The fields are as follows:
59 for the total line
60 get:ASCII:<id>:<time waited>:ACK:TOTAL:::::<src bps>:<dst bps>:<total bps>
61 where <id> is the pid of the process
62 and <time waited> is the length of time (in uSeconds) that the  
63 request waited while looking for data (this happens if the data is an  
64 empty set - see [max wait] above in the get request)
65 and <src bps> is the RX
66 and <dst bps> is the TX
67 and <total bps> is RX + TX
69 for the other lines:
70 get:ASCII:<id>:<time waited>:ACK:<src address>:<src  
71 port>:<protocol>:<dst address>:<dst port>:<src bps>:<dst bps>:<total  
72 bps>
73 where <id>, <time waited>, <src bps>, <dst bps>, and <total bps> are  
74 the same as above
75 and <src address> is the source address,
76 and <src port> is the source port
77 and <dst address> is the destination address
78 and <dst port> is the destination port
81 Lastly, to end a session:
82 end:ASCII:<id>
83 where <id> is the process id.