~ubuntu-branches/ubuntu/natty/ntop/natty

« back to all changes in this revision

Viewing changes to ntop.8

  • Committer: Bazaar Package Importer
  • Author(s): Ola Lundqvist
  • Date: 2005-01-30 21:59:13 UTC
  • mfrom: (2.1.1 warty)
  • Revision ID: james.westby@ubuntu.com-20050130215913-xc3ke963bw49b3k4
Tags: 2:3.0-5
* Updated README.Debian file so users will understand what to do at
  install, closes: #291794, #287802.
* Updated ntop init script to give better output.
* Also changed log directory from /var/lib/ntop to /var/log/ntop,
  closes: #252352.
* Quoted the interface list to allow whitespace, closes: #267248.
* Added a couple of logcheck ignores, closes: #269321, #269319.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.\" This file Copyright 1998-2003 Luca Deri <deri@ntop.org>
 
2
.\"
 
3
.
 
4
.de It
 
5
.TP 1.2
 
6
.B "\\$1 "
 
7
..
 
8
.de It2
 
9
.TP 1.2
 
10
.B "\\$1 | \\$2"
 
11
..
 
12
.TH NTOP 8 "December 2003 (ntop 3.0)"
 
13
.SH NAME
 
14
ntop \- display top network users
 
15
.SH SYNOPSIS
 
16
.B ntop
 
17
.RB [ @filename ]
 
18
.RB [ -a | --access-log-file
 
19
.IR <path> ]
 
20
.RB [ -b | --disable-decoders ]
 
21
.RB [ -c | --sticky-hosts]
 
22
.RB [ -f | --traffic-dump-file
 
23
.IR file> ]
 
24
.RB [ -g | --track-local-hosts ]
 
25
.RB [ -h | --help ]-file
 
26
.RB [ -j | --create-other-packets ]
 
27
.RB [ -k | --filter-expression-in-extra-frame ]
 
28
.RB [ -l | --pcap-log 
 
29
.IR <path> ]
 
30
.RB [ -m | --local-subnets
 
31
.IR <addresses> ]
 
32
.RB [ -n | --numeric-ip-addresses ]
 
33
.RB [ -o | --no-mac ]
 
34
.RB [ -p | --protocols
 
35
.IR <list> ]
 
36
.RB [ -q | --create-suspicious-packets ]
 
37
.RB [ -r | --refresh-time 
 
38
.IR <number> ]
 
39
.RB [ -s | --no-promiscuous ]
 
40
.RB [ -t | --trace-level 
 
41
.IR <number> ]
 
42
.RB [ -x
 
43
.IR <max_num_hash_entries> ]
 
44
.RB [ -w | --http-server
 
45
.IR <port> ]
 
46
.RB [ -z | --disable-sessions ]
 
47
.RB [ -A | --set-admin-password
 
48
.IR "password" ]
 
49
.RB [ -B | --filter-expression
 
50
.IR "expression" ]
 
51
.RB [ -C 
 
52
.IR <config mode> ]
 
53
.RB [ -D | --domain 
 
54
.IR <name> ]
 
55
.RB [ -F | --flow-spec
 
56
.IR <specs> ]
 
57
.RB [ -M | --no-interface-merge ]
 
58
.RB [ -O | ----output-packet-path ]
 
59
.RB [ -P | --db-file-path
 
60
.IR <path> ]
 
61
.RB [ -Q | --spool-file-path
 
62
.IR <path> ]
 
63
.RB [ -U | --mapper 
 
64
.IR <URL> ]
 
65
.RB [ -V | --version]
 
66
.RB [ -X
 
67
.IR <max_num_TCP_sessions> ]
 
68
.RB [ --disable-instantsessionpurge ]
 
69
.RB [ --disable-schedyield ]
 
70
.RB [ --disable-stopcap ]
 
71
.RB [ --disable-mutexextrainfo ]
 
72
.RB [ --skip-version-check ]
 
73
.RB [ --w3c ]
 
74
 
 
75
Unix options:
 
76
 
 
77
.RB [ -d | --daemon ]
 
78
.RB [ -i | --interface
 
79
.IR <name> ]
 
80
.RB [ -u | --user 
 
81
.IR <user> ]
 
82
.RB [ -K | --enable-debug ]
 
83
.RB [ -L ]
 
84
.RB [ --pcap_setnonblock ]
 
85
.RB [ --use-syslog=
 
86
.IR <facility> ]
 
87
.RB [ --webserver-queue
 
88
.IR <number> ]
 
89
 
 
90
Windows option:
 
91
 
 
92
.RB [ -i | --interface
 
93
.IR <number|name> ]
 
94
 
 
95
OpenSSL options:
 
96
 
 
97
.RB [ -W | --https-server
 
98
.IR <port> ]
 
99
 
 
100
.SH DESCRIPTION
 
101
.B ntop
 
102
shows the current network usage. It displays a list of hosts that are
 
103
currently using the network and reports information concerning the (IP and non-IP) 
 
104
traffic generated by each host.
 
105
.B ntop
 
106
may operate as a front-end collector (sFlow and/or netFlow plugins) or as a stand-alone
 
107
collector/display program. A web browser is needed to access the information captured by the 
 
108
.B ntop
 
109
program. 
 
110
 
 
111
.B ntop
 
112
is a hybrid layer 2 / layer 3 network monitor, that is by default it uses the layer 2 Media
 
113
Access Control (MAC) addresses AND the layer 3 tcp/ip addresses.
 
114
.B ntop
 
115
is capable of associating the two, so that ip and non-ip traffic (e.g. arp, rarp) are combined
 
116
for a complete picture of network activity.
 
117
 
 
118
.PP
 
119
.SH "COMMAND\-LINE OPTIONS"
 
120
 
 
121
.It @filename
 
122
The text of 
 
123
.B filename
 
124
is copied - ignoring line breaks and comment lines (anything following a #) - into the
 
125
command line.
 
126
.B ntop
 
127
behaves as if all of the text had simply been typed directly on the command line.
 
128
For example, if the command line is "-t 3 @d -u ntop" and file d contains 
 
129
just the line '-d', then the effective command line is -t 3 -d -u ntop.  
 
130
Multiple @s are permitted. Nested @s (an @ inside the file) are not permitted.
 
131
 
 
132
Remember, most 
 
133
.B ntop 
 
134
options are "sticky", that is they just set an internal flag. Invoking 
 
135
them multiple times doesn't change 
 
136
.B ntop's 
 
137
behavior. However, options that set a value, such as --trace-level, will use the LAST value
 
138
given: --trace-level 2 --trace-level 3 will run as --trace-level 3.
 
139
 
 
140
.It2 -a --access-log-file
 
141
By default 
 
142
.B ntop
 
143
does not maintain a log of HTTP requests to the internal web server. 
 
144
Use this parameter to request logging and to specify the location of the file where these
 
145
HTTP requests are logged.
 
146
 
 
147
Each log entry is in Apache-like style. 
 
148
The only difference between Apache and 
 
149
.B ntop
 
150
logs is that an additional column has been added which has the time (in milliseconds) that 
 
151
.B ntop 
 
152
needed to serve the request.
 
153
Log entries look like this:
 
154
 
 
155
.nf
 
156
192.168.1.1 - - [04/Sep/2003:20:38:55 -0500] - "GET / HTTP/1.1" 200 1489 4
 
157
192.168.1.1 - - [04/Sep/2003:20:38:55 -0500] - "GET /index_top.html HTTP/1.1" 200 1854 4
 
158
192.168.1.1 - - [04/Sep/2003:20:38:55 -0500] - "GET /index_inner.html HTTP/1.1" 200 1441 7
 
159
192.168.1.1 - - [04/Sep/2003:20:38:56 -0500] - "GET /index_left.html HTTP/1.1" 200 1356 4
 
160
192.168.1.1 - - [04/Sep/2003:20:38:56 -0500] - "GET /home_.html HTTP/1.1" 200 154/617 9
 
161
192.168.1.1 - - [04/Sep/2003:20:38:56 -0500] - "GET /home.html HTTP/1.1" 200 1100/3195 10
 
162
192.168.1.1 - - [04/Sep/2003:20:38:56 -0500] - "GET /About.html HTTP/1.1" 200 2010 10
 
163
.fi 
 
164
 
 
165
This parameter is the complete file name of the access log.  In prior releases it was
 
166
erroneously called --access-log-path.
 
167
 
 
168
.It2 -b --disable-decoders
 
169
This parameter disables protocol decoders.
 
170
 
 
171
Protocol decoders examine and collect information about layer 2 protocols such as 
 
172
NetBIOS or Netware SAP, as well as about specific tcp/ip (layer 3) protocols, such as 
 
173
DNS, http and ftp.
 
174
 
 
175
This support is specifically coded for each protocol and is different from the 
 
176
capability to count raw information (packets and bytes) by protocol specified by the 
 
177
-p | --protocols parameter, below.
 
178
 
 
179
Decoding protocols is a significant consumer of resources. If the
 
180
.B ntop
 
181
host is underpowered or monitoring a very busy network, you may wish to disable
 
182
protocol decoding via this parameter.
 
183
It may also be appropriate to use this parameter if you believe that 
 
184
.B ntop
 
185
has problems handling some protocols that occur on your network.
 
186
 
 
187
Even if decoding is disabled, ftp-data traffic is still decoded to look for
 
188
passive ftp port commands.
 
189
 
 
190
.It2 -c --sticky-hosts
 
191
Use this parameter to prevent idle hosts from being purged from memory. 
 
192
 
 
193
By default idle hosts are periodically purged from memory. 
 
194
An idle host is identified when no packets from or to that host have been 
 
195
monitored for the period of time defined by the value of
 
196
PARM_HOST_PURGE_MINIMUM_IDLE in globals-defines.h.
 
197
 
 
198
If you use this option, all hosts - active and idle - are retained in
 
199
memory for the duration of the 
 
200
.B ntop
 
201
run.  
 
202
 
 
203
P2P users, port scans, popular web servers and other activity will cause
 
204
.B ntop
 
205
to record data about a large number of hosts.
 
206
On an active network, this will consume a significant - and always growing -
 
207
amount of memory.
 
208
It is strongly recommended that you use a filtering expression to limit the 
 
209
hosts which are stored if you use --sticky-hosts.
 
210
 
 
211
The idle purge is a statistical one - a random selection of the eligible
 
212
hosts will be purged during each cycle.  Thus it is possible on a busy system
 
213
for an idle host to remain in the
 
214
.B ntop
 
215
tables and appear 'active' for some considerable time after it is truly idle.
 
216
 
 
217
.It2 -d --daemon
 
218
This parameter causes ntop to become a daemon, i.e. a task which runs in the 
 
219
background without connection to a specific terminal.
 
220
To use
 
221
.B ntop
 
222
other than as a casual monitoring tool, you probably will want to use
 
223
this option.
 
224
 
 
225
.B WARNING:
 
226
If you are running as a daemon, the messages from
 
227
.B ntop 
 
228
will be 'printed' on to stdout and thus dropped.
 
229
You probably don't want to do this.  
 
230
So remember to also use the -L or --use-syslog options to save the
 
231
messages into the system log.
 
232
 
 
233
.It2 -e --max-table-rows
 
234
This defines the maximum number of lines that
 
235
.B ntop
 
236
will display on each generated HTML page. If there are more lines to be
 
237
displayed than this setting permits, only part of the data will be displayed.
 
238
There will be page forward/back arrows placed at the bottom of the page
 
239
for navigation between pages.
 
240
 
 
241
.It2 -f --traffic-dump-file
 
242
By default,
 
243
.B ntop
 
244
captures traffic from network interface cards (NICs) or from netFlow/sFlow
 
245
probes.  However, 
 
246
.B ntop
 
247
can also read data from a file - typically a tcpdump capture or the output from
 
248
one of the
 
249
.B ntop
 
250
packet capture options.
 
251
 
 
252
if you specify -f,
 
253
.B ntop
 
254
will not capture any traffic from NICs during or after the file has been read.
 
255
netFlow/sFlow capture - if enabled - would still be active.
 
256
 
 
257
This option is mostly used for debug purposes.
 
258
 
 
259
.It2 -g --track-local-hosts
 
260
By default,
 
261
.B ntop
 
262
tracks all hosts that it sees from packets captured on the various NICs.
 
263
Use this parameter to tell
 
264
.B ntop 
 
265
to capture data only about local hosts.  Local hosts are defined based on
 
266
the addresses of the NICs and those networks identified as local via the
 
267
-m | --local-subnets parameter.
 
268
 
 
269
This parameter is useful on large networks or those that see many hosts,
 
270
(e.g. a border router or gateway), where information about remote hosts is
 
271
not desired/required to be tracked.
 
272
 
 
273
.It2 -h --help
 
274
Print help information for 
 
275
.B ntop,
 
276
including usage and parameters.
 
277
 
 
278
.It2 -i --interface 
 
279
Specifies the network interface or interfaces to be used by
 
280
.B ntop
 
281
for network monitoring.
 
282
 
 
283
If multiple interfaces are used (this feature is available only if ntop is compiled with 
 
284
thread support) their names must be separated with a comma. For instance -i "eth0,lo".
 
285
 
 
286
If not specified, the default is the first Ethernet device, e.g. eth0.  The specific 
 
287
device that is 'first' is highly system dependent.  Especially on systems where the
 
288
device name reflects the driver name instead of the type of interface.
 
289
 
 
290
By default, traffic information obtained by all the interfaces is merged together as if 
 
291
the traffic was seen by only one interface. 
 
292
Use the -M parameter to keep traffic separate by interface.
 
293
 
 
294
Under Windows, the parameter value is either the number of the interface or its name, e.g.
 
295
{6252C14C-44C9-49D9-BF59-B2DC18C7B811}. 
 
296
Run 
 
297
.B ntop
 
298
-h to see a list of interface name-number mappings (at the end of the help information).
 
299
 
 
300
.It2 -j --create-other-packets
 
301
This parameter causes 
 
302
.B ntop
 
303
to create a dump file of the 'other' network traffic captured.
 
304
One file is created for each network interface where 
 
305
'other' packets are found. The file is in tcpdump (pcap) format and is named
 
306
<path>/ntop-other-pkts.<device>.pcap, where <path> is defined by the 
 
307
-O | --output-packet-path parameter.
 
308
This file is useful for understanding these unclassifed packets.
 
309
 
 
310
.It2 -k --filter-expression-in-extra-frame
 
311
When this parameter is used, the current filter expression is displayed in an extra frame
 
312
and thus is always visible.  This extra frame contains other information, including the 
 
313
report creation date,
 
314
.B ntop
 
315
version information and the active interfaces.
 
316
 
 
317
.It2 -l --pcap-log
 
318
This parameter causes a dump file to be created of the network traffic captured by 
 
319
.B ntop
 
320
in tcpdump (pcap) format.  This file is useful for debug, and may be read back into 
 
321
.B ntop
 
322
by the -f | --traffic-dump-file parameter.  The dump is made after processing any
 
323
filter expression (
 
324
.b ntop
 
325
never even sees filtered packets).
 
326
 
 
327
The output file will be named 
 
328
.I <path>/<log>.<device>.pcap
 
329
(Windows: 
 
330
.I <path>/<log>.pcap
 
331
), where <path> is defined by the -O | --output-packet-path parameter and <log> is 
 
332
defined by this -l | --pcap-log parameter.
 
333
 
 
334
.It2 -m --local-subnets
 
335
.B ntop
 
336
determines the ip addresses and netmasks for each active interface.  Any traffic on
 
337
those networks is considered local.  This parameter allows the user to define additional
 
338
networks and subnetworks whose traffic is also considered local in
 
339
.B ntop
 
340
reports. All other hosts are considered remote.
 
341
 
 
342
Commas separate multiple network values.
 
343
Both netmask and CIDR notation may be used, even mixed together, for instance
 
344
"131.114.21.0/24,10.0.0.0/255.0.0.0".
 
345
 
 
346
The local subnet - as defined by the interface address(es) - is/are always local
 
347
and do not need to be specified.  If you do give the same value as a NIC's local
 
348
address, a harmless warning message is issued.
 
349
 
 
350
.It2 -n --numeric-ip-addresses
 
351
By default,
 
352
.B ntop
 
353
resolves IP addresses using a combination of active (explicit) DNS queries and 
 
354
passive sniffing.  Sniffing of DNS responses occurs when
 
355
.B ntop
 
356
receives a network packet containing the response to some other user's DNS query.
 
357
.B ntop
 
358
captures this information and enters it into 
 
359
.B ntop's
 
360
DNS cache, in expectation of shortly seeing traffic addressed to that host. This way
 
361
.B ntop
 
362
significantly reduces the number of DNS queries it makes.
 
363
 
 
364
This parameter causes
 
365
.B ntop
 
366
to skip DNS resolution, showing only numeric IP addresses instead of the symbolic
 
367
names.
 
368
This option can useful when the DNS is not present or quite slow.
 
369
 
 
370
.It2 -o --no-mac
 
371
.B ntop
 
372
is a hybrid layer 2/3 network monitor.  That is, it uses both the lower level, physical
 
373
device address - the MAC (Media Access Control) address - and the higher level,
 
374
logical, tcp/ip address (the familiar www.ntop.org or 131.114.21.9 address).  
 
375
This allows 
 
376
.B ntop 
 
377
to link the logical addresses to a physical machine with multiple addresses
 
378
(This occurs with virtual hosts or additional addresses assigned to the interface, etc.)
 
379
to present consolidated reporting.
 
380
 
 
381
This parameter specifies that
 
382
.B ntop
 
383
should not trust the MAC addresses but just use the IP addresses. 
 
384
 
 
385
Normally, since the MAC address must be globally unique, the dual nature of
 
386
.B ntop 
 
387
is a benefit and provides far better information about the network than is available via
 
388
a pure layer 2 or pure layer 3 monitor.
 
389
 
 
390
Under certain circumstances - whenever 
 
391
.B ntop
 
392
is started on an interface where MAC addresses cannot be really trusted - you may
 
393
require this option.
 
394
 
 
395
Situations which may require this option include port/VLAN mirror, some cases with
 
396
switches and spanning tree protocol, and (reportedly) some specific models of Ethernet
 
397
switches which re-write MAC addresses of the packets they process.
 
398
Normally, you discover that this option is necessary when you observe that hosts seem
 
399
to change their addresses or information about different machines get lumped together.
 
400
 
 
401
Note that with this option, information which is dependent upon the MAC 
 
402
addresses (non tcp/ip protocols like IPX) will not be collected nor displayed.
 
403
 
 
404
.It2 -p --protocols
 
405
This parameter is used to specify the TCP/UDP protocols that
 
406
.B ntop
 
407
will monitor. The format is <label>=<protocol list> [, <label>=<protocol list>], where
 
408
label is used to symbolically identify the <protocol list>. The format of <protocol list>
 
409
is <protocol>[|<protocol>], where <protocol> is either a valid protocol specified inside the
 
410
/etc/services file or a numeric port range (e.g. 80, or 6000-6500). 
 
411
 
 
412
A simple example is --protocols="HTTP=http|www|https|3128,FTP=ftp|ftp-data", which
 
413
reduces the protocols displayed on the "IP" pages to three:
 
414
 
 
415
.nf
 
416
Host                      Domain Data          HTTP   FTP   Other IP
 
417
ns2.attbi.com             <flag>  954 63.9 %      0     0        954
 
418
64.124.83.112.akamai.com  <flag>  240 16.1 %    240     0          0
 
419
64.124.83.99.akamai.com   <flag>  240 16.1 %    240     0          0
 
420
toolbarqueries.google.com <flag>   60 4.0 %      60     0          0
 
421
.fi
 
422
 
 
423
If the <protocol list> is very long you may store it in a file (for instance protocol.list).
 
424
To do so, specify the file name instead of the <protocol list> on the command line.  e.g.
 
425
.B ntop -p protocol.list
 
426
 
 
427
If the -p parameter is omitted the following default value is used: 
 
428
 
 
429
.nf
 
430
  FTP=ftp|ftp-data
 
431
  HTTP=http|www|https|3128     3128 is Squid, the HTTP cache
 
432
  DNS=name|domain
 
433
  Telnet=telnet|login
 
434
  NBios-IP=netbios-ns|netbios-dgm|netbios-ssn
 
435
  Mail=pop-2|pop-3|pop3|kpop|smtp|imap|imap2
 
436
  DHCP-BOOTP=67-68
 
437
  SNMP=snmp|snmp-trap
 
438
  NNTP=nntp
 
439
  NFS=mount|pcnfs|bwnfs|nfsd|nfsd-status
 
440
  X11=6000-6010
 
441
  SSH=22
 
442
 
 
443
  Peer-to-Peer Protocols
 
444
  ----------------------
 
445
  Gnutella=6346|6347|6348
 
446
  Kazaa=1214
 
447
  WinMX=6699|7730
 
448
  DirectConnect=0      Dummy port as this is a pure P2P protocol
 
449
  eDonkey=4661-4665
 
450
 
 
451
  Instant Messenger
 
452
  -----------------
 
453
  Messenger=1863|5000|5001|5190-5193
 
454
.fi
 
455
 
 
456
NOTE: To resolve protocol names to port numbers, they must be specified in
 
457
the system file used to list tcp/udp protocols and ports, which is typically
 
458
/etc/services file.  You will have to match the names in that file, exactly.  
 
459
Missing or unspecified (non-standard) ports must be specified by number, such
 
460
as 3128 in our examples above.
 
461
 
 
462
If you have a file named /etc/protocols, don't get confused by it, as that's
 
463
the Ethernet protocol numbers, which are not what you're looking for.
 
464
 
 
465
.It2 -q --create-suspicious-packets
 
466
This parameter tells 
 
467
.B ntop 
 
468
to create a dump file of suspicious packets.
 
469
 
 
470
There are many, many, things that cause a packet to be labeled as 'suspicious', including:
 
471
 
 
472
.nf
 
473
  Detected ICMP fragment
 
474
  Detected Land Attack against host
 
475
  Detected overlapping/tiny packet fragment
 
476
  Detected traffic on a diagnostic port
 
477
  Host performed ACK/FIN/NULL scan
 
478
  Host rejected TCP session
 
479
  HTTP/FTP/SMTP/SSH detected at wrong port
 
480
  Malformed TCP/UDP/ICMP packet (packet too short)
 
481
  Packet # %u too long
 
482
  Received a ICMP protocol Unreachable from host
 
483
  Sent ICMP Administratively Prohibited packet to host
 
484
  Smurf packet detected for host
 
485
  TCP connection with no data exchanged
 
486
  TCP session reset without completing 3-way handshake
 
487
  Two MAC addresses found for the same IP address
 
488
  UDP data to a closed port
 
489
  Unknown protocol (no HTTP/FTP/SMTP/SSH) detected (on port 80/21/25/22)
 
490
  Unusual ICMP options
 
491
.fi
 
492
 
 
493
When this parameter is used, one file is created for each network interface where 
 
494
suspicious packets are found. The file is in tcpdump (pcap) format and is named
 
495
<path>/ntop-suspicious-pkts.<device>.pcap, where <path> is defined by the 
 
496
-O | --output-packet-path parameter.
 
497
 
 
498
.It2 -r --refresh-time
 
499
Specifies the delay (in seconds) between automatic screen updates for those
 
500
generated HTML pages which support them.  This parameter allows you to leave
 
501
your browser window open and have it always displaying nearly real-time data from
 
502
.B ntop.
 
503
 
 
504
The default is 3 seconds.  Please note that if the delay is very short (1 second 
 
505
for instance), 
 
506
.B ntop 
 
507
might not be able to process all of the network traffic.
 
508
 
 
509
.It2 -s --no-promiscuous
 
510
Use this parameter to prevent 
 
511
.b ntop
 
512
from setting the interface(s) into promiscuous mode.
 
513
 
 
514
An interface in promiscuous mode will accept ALL Ethernet frames, regardless of
 
515
whether they directed (addressed) to the specific network interface (NIC) or not.
 
516
This is an essential part of enabling
 
517
.B ntop
 
518
to monitor an entire network.  (Without promiscuous mode, 
 
519
.B ntop
 
520
will only see traffic directed to the specific host it is running on, plus
 
521
broadcast traffic such as the arp and dhcp protocols.
 
522
 
 
523
Even if you use this parameter, the interface could well be in promiscuous mode if
 
524
another application enabled it.
 
525
 
 
526
.B ntop
 
527
passes this setting on to libpcap, the packet capture library.  On many systems, 
 
528
a non-promiscuous open of the network interface will fail, 
 
529
since the libpcap function on most systems require it to capture raw packets
 
530
(
 
531
.B ntop
 
532
captures raw packets so that we may view and analyze the layer 2 - MAC - information).
 
533
 
 
534
Thus on most systems,
 
535
.B ntop
 
536
must probably still be started as root, and this option is largely ornamental.  If
 
537
it fails, you will see a ***FATALERROR*** message referring to pcap_open_live() and
 
538
then an information message, "Sorry, but on this system, even with -s, it appears 
 
539
that ntop must be started as root".
 
540
 
 
541
.It2 -t --trace-level
 
542
This parameter specifies the 'information' level of messages that you wish
 
543
.B ntop
 
544
to display (on stdout or to the log).
 
545
The higher the trace level number the more information that is displayed.
 
546
The trace level ranges between 0 (no trace) and 5 (full debug tracings).
 
547
 
 
548
The default trace value is 3. 
 
549
 
 
550
Trace level 0 is not quite zero messages. Fatal errors and certain startup/shutdown
 
551
messages are always displayed.
 
552
Trace level 1 is used to display errors only, level 2 for both errors and warnings, and
 
553
level 3 displays error, warning and informational messages.
 
554
 
 
555
Trace level 4 is called 'noisy' and it is - generating many messages about the internal
 
556
functioning of 
 
557
.B ntop.
 
558
Trace level 5 and above are 'noisy' plus extra logs, i.e. all possible messages, with a 
 
559
file:line tag prepended to every message.
 
560
 
 
561
.It2 -u --user
 
562
Specifies the user
 
563
.B ntop
 
564
should run as after it initializes.
 
565
 
 
566
.B ntop
 
567
must normally be started as root so that it has sufficient privileges to open the
 
568
network interfaces in promiscuous mode and to receive raw frames.
 
569
See the discussion of -s | --no-promiscuous above, if you wish to try starting
 
570
.B ntop
 
571
as a non-root user.
 
572
 
 
573
Shortly after starting up, 
 
574
.B ntop
 
575
becomes the user you specify here, which normally has substantially reduced privileges,
 
576
such as no login shell.  This is the userid which owns
 
577
.B ntop's
 
578
database and output files.
 
579
 
 
580
The value specified may be either a username or a numeric user id.
 
581
The group id used will be the primary group of the user specified.
 
582
 
 
583
If this parameter is not specified, ntop will try to switch first to 'nobody' and then 
 
584
to 'anonymous' before giving up.
 
585
 
 
586
NOTE: This should not be root unless you really understand the security risks. In order
 
587
to prevent this by accident, the only way to run 
 
588
.B ntop
 
589
as root is to explicitly specify -u root.
 
590
.B Don't do it.
 
591
 
 
592
.It -x
 
593
.It -X 
 
594
.B ntop
 
595
creates a new hash/list entry for each new host/TCP session seen. In case of DOS (Denial Of Service) an attacker can easily exhaust all the host available memory because ntop is creating entries for dummy hosts. In order to avoid this you can set an upper limit in order to limit the memory ntop can use.
 
596
 
 
597
.It2 -w --http-server
 
598
.It2 -W --https-server
 
599
.B ntop
 
600
offers an embedded web server to present the information that has been so painstakingly
 
601
gathered. 
 
602
An external HTTP server is NOT required NOR supported.  The
 
603
.B ntop
 
604
web server is embedded into the application.
 
605
These parameters specify the port (and optionally the address (i.e. interface))
 
606
of the
 
607
.B ntop
 
608
web server.
 
609
 
 
610
For example, if started with -w 3000 (the default port), the URL to access 
 
611
.B ntop
 
612
is http://hostname:3000/.  If started with a full specification, e.g. -w 192.168.1.1:3000,
 
613
.B ntop
 
614
listens on only that address/port combination.
 
615
 
 
616
If -w is set to 0 the web server will not listen for http:// connections.
 
617
 
 
618
-W operates similarly, but controls the port for the https:// connections.
 
619
 
 
620
Some examples:
 
621
 
 
622
.B ntop -w 3000 -W 0 
 
623
(this is the default setting) HTTP requests on port 3000 and no HTTPS.
 
624
 
 
625
.B ntop -w 80 -W 443 
 
626
Both HTTP and HTTPS have been enabled on their most common ports.
 
627
 
 
628
.B ntop -w 0 -W 443 
 
629
HTTP disabled, HTTPS enabled on the common port.
 
630
 
 
631
Certain sensitive, configuration pages of the
 
632
.B ntop
 
633
web server are protected by a userid/password.  By default, these are the
 
634
user/URL administration, filter, shutdown and reset stats are password protected
 
635
 and are accessible initially only to user 
 
636
.B admin
 
637
with a password set during the first run of 
 
638
.B ntop.
 
639
 
 
640
Users can modify/add/delete users/URLs using ntop itself - see the Admin tab.
 
641
 
 
642
The passwords, userids and URLs to protect with passwords are stored in a database file.
 
643
Passwords are stored in an encrypted form in the database for further security.  Best
 
644
practices call for securing that database so that only the 
 
645
.B ntop
 
646
user can read it.
 
647
 
 
648
There is a discussion in docs/FAQ about further securing the
 
649
.B ntop
 
650
environment.
 
651
 
 
652
.It2 -z --disable-sessions
 
653
This parameter disables TCP session tracking. 
 
654
Use it for better performance or when you don't really need/care to track sessions.
 
655
 
 
656
.It2 -A --set-admin-password
 
657
This parameter is used to start 
 
658
.B ntop
 
659
, set the admin password and quit. It is quite useful for installers that need 
 
660
to automatically set the password for the admin user.
 
661
 
 
662
-A and --set-admin-password (without a value) will prompt the user for the password.
 
663
 
 
664
You may also use this parameter to set a specific value using --set-admin-password=value.  
 
665
.B The = is REQUIRED and no spaces are permitted!
 
666
 
 
667
If you attempt to run
 
668
.B ntop
 
669
as a daemon without setting a password, a FATAL ERROR message is generated and
 
670
.B ntop
 
671
stops.
 
672
 
 
673
.It2 -B --filter-expression
 
674
Filters allows the user to restrict the traffic seen by
 
675
.B ntop
 
676
on just about any imaginable item.
 
677
 
 
678
The filter expression is set at run time by this parameter, but it may be
 
679
changed during the
 
680
.B ntop
 
681
run on the Admin | Change Filter web page.
 
682
 
 
683
The basic format is
 
684
.B -B "filter"
 
685
, where the quotes are 
 
686
.B REQUIRED
 
687
.
 
688
 
 
689
The syntax of the filter expression uses the same BPF (Berkeley Packet Filter) 
 
690
expressions used by other packages such as tcpdump
 
691
 
 
692
For instance, suppose you
 
693
are interested only in the traffic generated/received by the host jake.unipi.it. 
 
694
.B ntop
 
695
can then be started with the following filter: 
 
696
 
 
697
.B ntop -B "src host jake.unipi.it or dst host jake.unipi.it"
 
698
 
 
699
or in shorthand:
 
700
 
 
701
.B ntop -B "host jake.unipi.it or host jake.unipi.it"
 
702
 
 
703
See the 'expression' section of the
 
704
.B tcpdump
 
705
man page - usually available at http://www.tcpdump.org/tcpdump_man.html - for 
 
706
further information and the best quick guide to BPF filters currently available.
 
707
 
 
708
 
 
709
.It2 -C
 
710
This instruments ntop to be used in two configurations: host and network mode. In host mode (default) ntop works as usual: the IP addresses received are those of real hosts. In host mode the IP addresses received are those of the C-class network to which the address belongs. Using ntop in network mode is extremely useful when installed in a traffic exchange (e.g. in the middle of the Internet) whereas the host mode should be used when ntop is installed on the edge of a network (e.g. inside a company). The network mode significantly reduces the amount of work ntop has to perform and it has to be used whenever ntop is used to find out how the network traffic flows and not to pin-point specific hosts.
 
711
 
 
712
 
 
713
.It2 -D --domain
 
714
This identifies the local domain suffix, e.g. ntop.org.  It may be necessary, if
 
715
.B ntop
 
716
is having difficulty determining it from the interface.
 
717
 
 
718
.It2 -F --flow-spec
 
719
It is used to specify network flows similar to more powerful applications such as NeTraMet. 
 
720
A flow is a stream of captured packets that match a specified rule. The format is 
 
721
 
 
722
.B "<flow-label>='<matching expression>'[,<flow-label>='<matching expression>']"
 
723
 
 
724
, where the label is used to symbolically identify the flow specified by the expression. 
 
725
The expression format is specified in the appendix. If an expression is specified, then 
 
726
the information concerning flows can be accessed following the HTML link named 'List NetFlows'.
 
727
 
 
728
For instance define two flows with the following expression 
 
729
.B "LucaHosts='host jake.unipi.it or host pisanino.unipi.it',GatewayRoutedPkts='gateway gateway.unipi.it'".
 
730
 
 
731
All the traffic sent/received by hosts jake.unipi.it or pisanino.unipi.it is collected by
 
732
.B ntop
 
733
and added to the LucaHosts flow, whereas all the packet routed by the gateway gateway.unipi.it 
 
734
are added to the GatewayRoutedPkts flow. If the flows list is very long you may store in a 
 
735
file (for instance flows.list) and specify the file name instead of the actual flows list 
 
736
(in the above example, this would be 'ntop -F flows.list').
 
737
 
 
738
Note that the double quotations around the entire flow expression are required.
 
739
 
 
740
.It2 -K --enable-debug
 
741
Use this parameter to simplify application debug.  It does three things:
 
742
1. Does not fork() on the "read only" html pages.
 
743
2. Displays mutex values on the configuration (info.html) page.
 
744
3. (If available - glibc/gcc) Activates an automated backtrace on application errors.
 
745
 
 
746
.It2 -L --use-syslog=facility
 
747
Use this parameter to send log messages to the system log instead of stdout.
 
748
 
 
749
-L and the simple form --use-syslog use the default log facility, defined as 
 
750
LOG_DAEMON in the #define symbol DEFAULT_SYSLOG_FACILITY in globals-defines.h.
 
751
 
 
752
The complex form, --use-syslog=facility will set the log facility to whatever
 
753
value (e.g. local3, security) you specify.
 
754
.B The = is REQUIRED and no spaces are allowed!
 
755
 
 
756
This setting applies both to
 
757
.B ntop
 
758
and to any child fork()ed for reporting.  If this parameter is not specified, any
 
759
fork()ed child will use the default value and will log it's messages to the
 
760
system log (this occurs because the fork()ed child must give up it's access
 
761
to the parents stdout).
 
762
 
 
763
Because various systems do not make the permissible names available, we have
 
764
a table at the end of globals-core.c.  Look for myFacilityNames.
 
765
 
 
766
.It2 -M --no-interface-merge
 
767
By default,
 
768
.B ntop 
 
769
merges the data collected from all of the interfaces (NICs) it is monitoring into a
 
770
single set of counters. 
 
771
 
 
772
If you have a simple network, say a small LAN with a connection to the internet, 
 
773
merging data is good as it gives you a better picture of the whole network.
 
774
For larger, more complex networks, this may not be desirable.
 
775
You may also have other reasons for wishing to monitor each interface separately,
 
776
for example DMZ vs. LAN traffic.
 
777
 
 
778
This option instructs
 
779
.B ntop
 
780
not to merge network interfaces together. This means that 
 
781
.B ntop 
 
782
will collect statistics for each interface and report them separately.
 
783
 
 
784
Only ONE interface may be reported on at a time - use the
 
785
.B Admin | Switch NIC 
 
786
option on the web server to select which interface to report upon.
 
787
 
 
788
Note that activating either the netFlow and/or sFlow plugins will force the
 
789
setting of -M.  Once enabled, you cannot go back.
 
790
 
 
791
.It2 -O --output-packet-path
 
792
This parameter defines the base path for the ntop-suspicious-pkts.XXX.pcap and 
 
793
normal packet dump files.
 
794
 
 
795
If this parameter is not specified, the default value is the config.h parameter
 
796
CFG_DBFILE_DIR, which is set during ./configure from the --localstatedir= parameter.
 
797
If --localstatedir is not specified, it defaults to the --prefix value plus /var
 
798
(e.g. /usr/local/var).
 
799
 
 
800
Be aware that this may not be what you expect when running
 
801
.B ntop
 
802
as a daemon or Windows service. Setting an explicit and absolute path value is
 
803
.B STRONGLY
 
804
recommended if you use this facility.
 
805
 
 
806
.It2 -P --db-file-path
 
807
.It2 -Q --spool-file-path
 
808
These parameters specify where 
 
809
.B ntop
 
810
stores database files.
 
811
 
 
812
There are two types, 'temporary' - that is ones which need not be retained
 
813
from
 
814
.B ntop
 
815
run to
 
816
.B ntop
 
817
run, and 'permanent', which must be retained (or recreated).
 
818
 
 
819
The 'permanent' databases are the preferences, "prefsCache.db" and the password
 
820
file, "ntop_pw.db".  These are stored in the -P | --db-file-path specified location.
 
821
 
 
822
Certain plugins use the -P | --db-file-path specified location for their database
 
823
("LsWatch.db") or (as a default value) for files (.../rrd/...).
 
824
 
 
825
The 'temporary' databases are the address queue, "addressQueue.db", the cached DNS
 
826
resolutions, "dnsCache.db" and the MAC prefix (vendor table), "macPrefix.db".
 
827
 
 
828
If only -P | --db-file-path is specified, it is used for both types of databases.
 
829
 
 
830
The directories named must allow read/write and
 
831
file creation by the
 
832
.B ntop
 
833
user.  For security, nobody else should have even read access to these files.
 
834
 
 
835
Note that the default value is the config.h parameter CFG_DBFILE_DIR.
 
836
This is set during ./configure from the --localstatedir= parameter.
 
837
If --localstatedir is not specified, it defaults to the --prefix value plus /var
 
838
(e.g. /usr/local/var).
 
839
 
 
840
This may not be what you expect when running
 
841
.B ntop
 
842
as a daemon or Windows service.
 
843
 
 
844
Note that on versions of
 
845
.B ntop
 
846
prior to 2.3, these parameters defaulted to "." (the current working directory, e.g.
 
847
the value returned by the pwd command) and caused havoc as it was different when
 
848
.B ntop
 
849
was run from the command line, vs. run via cron, vs. run from an initialization
 
850
script.
 
851
 
 
852
Setting an explicit and absolute path value is
 
853
.B STRONGLY
 
854
recommended.
 
855
 
 
856
.It2 -U --mapper
 
857
Specifies the URL of the mapper.pl utility.
 
858
 
 
859
If provided, 
 
860
.B ntop
 
861
creates a clickable hyperlink on the 'Info about host xxxxxx' page to this URL by appending 
 
862
?host=xxxxx.
 
863
Any type of host lookup could be performed, but this is intended to lookup the geographical
 
864
location of the host.
 
865
 
 
866
A cgi-based mapper interface to http://www.multimap.com is part of the 
 
867
.B ntop 
 
868
distribution [see www/Perl/mapper.pl]).
 
869
 
 
870
.It2 -V --version
 
871
Prints 
 
872
.B ntop 
 
873
version information and then exits.
 
874
 
 
875
.It2 -W --https-server
 
876
(See the joint documentation with the -w parameter, above)
 
877
 
 
878
.It --disable-instantsessionpurge
 
879
.B ntop
 
880
sets completed sessions as 'timed out' and then purge them almost instantly, which is
 
881
not the behavior you might expect from the discussions about purge timeouts.  This switch
 
882
makes ntop respect the timeouts for completed sessions.  It is NOT the default because
 
883
a busy web server may have 100s or 1000s of completed sessions and this would significantly
 
884
increase the amount of memory
 
885
.B ntop
 
886
uses.
 
887
 
 
888
.It --disable-mutexextrainfo
 
889
.B ntop
 
890
stores extra information about the locks and unlocks of the protective mutexes it uses. Since
 
891
.B ntop
 
892
uses fine-grained locking, this information is updated frequently.  On some OSes, the system
 
893
calls used to collect this informatio (getpid() and gettimeofday()) are expensive.  This option
 
894
disables the extra information.  It should have no processing impact on
 
895
.B ntop
 
896
 - however should
 
897
.B ntop
 
898
actually deadlock, we would lose the information that sometimes tells us why.
 
899
 
 
900
.It --disable-schedyield
 
901
.B ntop
 
902
uses sched_yield() calls for better interactive performance.  Under some situations, primarily
 
903
under RedHat Linux 8.0, this can deadlock, causing the 
 
904
.B ntop
 
905
web server to stop responding, although
 
906
.B ntop
 
907
appears to still be operational according to the ps command. Use this switch to disable
 
908
these calls, IF you are seeing deadlocks.
 
909
 
 
910
.It --disable-stopcap
 
911
Return 
 
912
.B ntop 
 
913
to the old (v2.1) behavior on a memory error.  
 
914
The default of stopcap enabled makes the web interface available albeit with static 
 
915
content until 
 
916
.B ntop
 
917
is shutdown.
 
918
 
 
919
.It --pcap_setnonblock
 
920
On some platforms, the select() call 
 
921
.B ntop 
 
922
uses to wait for web server requests will hang. This option sets the non-blocking 
 
923
option (assuming it's available in the version of libpcap that is installed).
 
924
While this fixes the problem, it also signifcantly increases the cpu usage of
 
925
.B ntop
 
926
(by turing an interupt driven process into a poll). If the web server hangs,
 
927
but the rest of 
 
928
.B ntop
 
929
seems to keep runing just fine, try this option.  It's know to be an issue under
 
930
FreeBSD 4.9.
 
931
 
 
932
.It --skip-version-check
 
933
By default,
 
934
.B ntop
 
935
accesses a remote file to periodically check if the most current version is running.
 
936
This option disables that check.  Please review the privacy notice at the bottom of
 
937
this page for more information.
 
938
By default, the recheck period is slightly more than 15 days.  This can be adjusted
 
939
via a constant in globals-defines.h.  If the result of the initial check indicates that
 
940
the
 
941
.B ntop
 
942
version is a 'new development' version (that is newer than the latest published
 
943
development version), the recheck is disabled.  This is because which fixes and
 
944
enhancements were present/absent from the code.
 
945
 
 
946
NOTE: At present, the recheck does not work under Windows.
 
947
 
 
948
.It --w3c
 
949
By default,
 
950
.B ntop
 
951
generates displayable but not great html.  There are a number of tags we do not 
 
952
generate because they cause problems with older browsers which are still commonly
 
953
used or are important to look good on real-world browsers.
 
954
This flag tells
 
955
.B ntop
 
956
to generate 'BETTER' (but not perfect) w3c compliant html 4.01 output. This in no 
 
957
way addresses all of the compatibility and markup issues.  Over time, we would like
 
958
to make 
 
959
.B ntop
 
960
more compatible, but it will never be 100%.  If you find any issues, please report
 
961
them to ntop-dev.
 
962
 
 
963
.SH "WEB VIEWS"
 
964
While
 
965
.B ntop
 
966
is running, multiple users can access the traffic information using their web browsers.
 
967
.B ntop
 
968
does not generate 'fancy' or 'complex' html, although it does use frame, shallowly nested
 
969
tables and makes minimal use of Cascading Style Sheets.
 
970
 
 
971
We do not expect problems with any current web browser, but
 
972
our ability to test less common ones is very limited.
 
973
 
 
974
The main HTML page is divided into three frames. Beginning with release 2.3, the menus have
 
975
been compacted to small text selections stacked on top of each other.
 
976
 
 
977
The top frame is a 'tabbed' navigation bar, containing broad items such as 'Total', 'Sent'
 
978
and 'IP Protos'.
 
979
The middle frame is the detailed navigation or menu bar, containing the items relevant to
 
980
the top selection, for example "IP" traffic statistics from a "Totals" menu.
 
981
The resulting data is displayed in the bottom frame. 
 
982
 
 
983
In documentation and this man page, when we refer to a page such as Admin | Switch NIC, we
 
984
mean the Broad category "Admin" and the detailed item "Switch NIC" on that Admin menu.
 
985
 
 
986
.SH NOTES
 
987
.B ntop
 
988
requires a number of external tools and libraries to operate.
 
989
Certain other tools are optional, but add to the program's capabilities.
 
990
 
 
991
.It --webserver-queue
 
992
Specifies the maximum number of web server requests for the tcp/ip stack to retain in
 
993
it's queue awaiting delivery to the
 
994
.B ntop
 
995
web server.  Requests in excess of this queue may be dropped (allowing for retransmission) or
 
996
rejected at the tcp/ip stack level, depending upon the OS.
 
997
Whatever happens, happens at the OS level, without any information being delivered to 
 
998
.B ntop
 
999
 
 
1000
Required libraries include:
 
1001
 
 
1002
.B libpcap
 
1003
from http://www.tcpdump.org/ 
 
1004
 
 
1005
The Windows version makes use of
 
1006
.B WinPcap
 
1007
(libpcap for Windows) which may be downloaded from 
 
1008
http://winpcap.polito.it/install/default.htm.
 
1009
 
 
1010
WARNING: The 2.x releases of
 
1011
.B WinPcap
 
1012
will NOT support SMP machines.
 
1013
.
 
1014
 
 
1015
.B gdbm
 
1016
from http://www.gnu.org/software/gdbm/gdbm.html
 
1017
.
 
1018
 
 
1019
.B ntop
 
1020
requires a POSIX threads library. Although a single-threaded version of 
 
1021
.B ntop
 
1022
can be built from the source if requested during ./configure, it is not 
 
1023
recommended for more than trivial usage.
 
1024
.
 
1025
 
 
1026
The
 
1027
.B gd
 
1028
library, for the creation of png files, available at
 
1029
http://www.boutell.com/gd/. 
 
1030
.B ntop 
 
1031
supports both gd 1.X and 2.X
 
1032
 
 
1033
The
 
1034
.B libpng
 
1035
library, for the creation of png files, available at http://www.libpng.org/pub/png/libpng.html.
 
1036
.B ntop
 
1037
supports both the 1.0.x series and the 1.2.x series of libpng, but cautions users that there
 
1038
are incompatibilities if you compile with one and run with the other.  Please read the
 
1039
discussion in docs/FAQ before reporting ANY problem with libpng.
 
1040
 
 
1041
(if an https:// server is desired)
 
1042
.B openSSL
 
1043
from the OpenSSL project available at http://www.openssl.org.
 
1044
.
 
1045
 
 
1046
The
 
1047
.B rrdtool
 
1048
library is required by the rrd plugin.  rrdtool creates 'Round-Robin databases' which are
 
1049
used to store and graph historical data in a format that permits long duration retention
 
1050
without growing larger over time.
 
1051
The rrdtool home page is http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
 
1052
 
 
1053
.B ntop
 
1054
includes a patched and frozen version of rrdtool 1.0.42 in the myrrd/ directory.  Users of
 
1055
.B ntop 
 
1056
v2.3 should not need to specifically install rrdtool.
 
1057
.
 
1058
 
 
1059
The 
 
1060
.B sflow
 
1061
Plugin is courtesy of and supported by InMon Corporation, http://www.inmon.com/sflowTools.htm.
 
1062
.
 
1063
 
 
1064
There are other optional libraries.  See the output of ./configure for a fuller listing. 
 
1065
.
 
1066
 
 
1067
Tool locations are current as of July 2003 - please send email to 
 
1068
report new locations or dead links.
 
1069
 
 
1070
.SH "SEE ALSO"
 
1071
.BR top (1),
 
1072
.BR tcpdump (8).
 
1073
.BR pcap (3).
 
1074
.
 
1075
.
 
1076
 
 
1077
.SH PRIVACY NOTICE
 
1078
By default at startup and at periodic intervals, the 
 
1079
.B ntop
 
1080
program will retrieve a file containing current ntop program version information.
 
1081
Retrieving this file allows this 
 
1082
.B ntop
 
1083
instance to confirm that it is running the most current version.
 
1084
 
 
1085
The retrieval is done using standard http:// requests, which will create log 
 
1086
records on the hosting system.  These log records do contain information which 
 
1087
identifies a specific 
 
1088
.B ntop
 
1089
site.  Accordingly, you are being notified that this individually identifiable
 
1090
information is being transmitted and recorded.
 
1091
 
 
1092
You may request - via the 
 
1093
.B --skip-version-check
 
1094
run-time option - that this check be eliminated.  If you use this option, no 
 
1095
individually identifiable information is transmitted or recorded, because the
 
1096
entire retrieval and check is skipped.
 
1097
 
 
1098
We ask you to allow this retrieval and check, because it benefits both you and the 
 
1099
.B ntop
 
1100
developers.  It benefits you because you will be automatically notified
 
1101
if the 
 
1102
.B ntop
 
1103
program version is obsolete, becomes unsupported or is no longer current.
 
1104
It benefits the developers of 
 
1105
.B ntop
 
1106
because it allows us to determine the number of active 
 
1107
.B ntop
 
1108
instances, and the operating system/versions that users are running
 
1109
.B ntop
 
1110
under.  This allows us to focus development resources on systems like those our 
 
1111
users are using 
 
1112
.B ntop
 
1113
on.
 
1114
 
 
1115
The individually identifiable information is contained in the web server log 
 
1116
records which are automatically created each time the version file is retrieved.
 
1117
This is a function of the web server and not of 
 
1118
.B ntop
 
1119
, but we do take advantage of it.
 
1120
The log record shows the IP address of the requestor (the 
 
1121
.B ntop
 
1122
instance) and a User-Agent header field.  We place information in the User-Agent 
 
1123
header as follows:
 
1124
 
 
1125
    ntop/<version> 
 
1126
    host/<name from config.guess>
 
1127
    distro/<if one>
 
1128
    release/<of the distro, also if one> 
 
1129
    kernrlse/<kernel version or release> 
 
1130
    GCC/<version>
 
1131
    config() <condensed parameters from ./configure>
 
1132
    run()    <condensed flags - no data - from the execution line>
 
1133
    libpcap/<version>
 
1134
    gdbm/<version>
 
1135
    openssl/<version>
 
1136
    zlib/<version>
 
1137
    access/<http, https, both or none>
 
1138
    interfaces() <given interface names>
 
1139
 
 
1140
For example:
 
1141
 
 
1142
    ntop/2.2.98 host/i686-pc-linux-gnu distro/redhat release/9 kernrlse/2.4.20-8smp
 
1143
    GCC/3.2.2 config(i18n) run(i; u; P; w; t; logextra; m; instantsessionpurge; 
 
1144
    schedyield; d; usesyslog=; t) gdbm/1.8.0 openssl/0.9.7a zlib/1.1.4
 
1145
    access/http interfaces(eth0,eth1)
 
1146
 
 
1147
Distro and release information is determined at compile time and consists of 
 
1148
information typically found in the /etc/release (or similar) file. See the
 
1149
.B ntop
 
1150
tool linuxrelease for how this is determined.
 
1151
 
 
1152
gcc compiler version (if available) is the internal version #s for the gcc
 
1153
compiler, e.g. 3.2.3.
 
1154
 
 
1155
kernrlse is the Linux Kernel version or the xBSD 'release' such as 4.9-RELEASE
 
1156
and is determined from the uname data (if it's available).
 
1157
 
 
1158
The ./configure parameters are stripped of directory paths, leading -s, etc. to
 
1159
create a short form that shows us what ./configure parameters people are using.
 
1160
 
 
1161
Similarly, the run time parameters are stripped of data and paths, just showing
 
1162
which flags are being used.
 
1163
 
 
1164
The libpcap, gdbm, openssl and zlib versions come from the strings returned by the various
 
1165
inquiry functions (if they're availabe).
 
1166
 
 
1167
Here's a sample log record:
 
1168
 
 
1169
67.xxx.xxx.xxx - - [28/Dec/2003:12:11:46 -0500] "GET /version.xml HTTP/1.0"
 
1170
  200 1568 www.burtonstrauss.com "-" "ntop/2.2.98 host/i686-pc-linux-gnu
 
1171
  distro/redhat release/9 kernrlse/2.4.20-8smp GCC/3.2.2 config(i18n)
 
1172
  run(i; u; P; w; t; logextra; m; instantsessionpurge; schedyield; d;
 
1173
  usesyslog=) libpcap/0.8 gdbm/1.8.0 openssl/0.9.7a zlib/1.1.4 access/http
 
1174
  interfaces(eth0,eth1,eth2)" "-"
 
1175
 
 
1176
.SH USER SUPPORT
 
1177
Please send bug reports to the ntop-dev <ntop-dev@ntop.org> mailing list. The
 
1178
ntop <ntop@ntop.org> mailing list is used for discussing ntop usage issues. In
 
1179
order to post messages on the lists a (free) subscription is required in order
 
1180
to limit/avoid spam. Please do NOT contact the author directly unless this is
 
1181
a personal question.
 
1182
 
 
1183
Commercial support is available under request. Please see the ntop site for further info.
 
1184
 
 
1185
Please send code patches to <patch@ntop.org>.
 
1186
 
 
1187
.SH AUTHOR
 
1188
ntop's author is Luca Deri (http://luca.ntop.org/) who can be reached at <deri@ntop.org>.
 
1189
 
 
1190
.SH LICENCE
 
1191
ntop is distributed under the GNU GPL licence (http://www.gnu.org/).
 
1192
 
 
1193
.SH ACKNOWLEDGMENTS
 
1194
The author acknowledges the Centro Serra of the University of Pisa, Italy (http://www-serra.unipi.it/) for
 
1195
hosting the ntop sites (both web and mailing lists), and Burton Strauss
 
1196
<burton@ntopsupport.com> for his help and user assistance. Many thanks to Stefano
 
1197
Suin <stefano@ntop.org> and Rocco Carbone <rocco@ntop.org> for contributing to
 
1198
the project.