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
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:
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
70 get:ASCII:<id>:<time waited>:ACK:<src address>:<src
71 port>:<protocol>:<dst address>:<dst port>:<src bps>:<dst bps>:<total
73 where <id>, <time waited>, <src bps>, <dst bps>, and <total bps> are
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:
83 where <id> is the process id.