html: removed ref to lingrok (out of date)
[netsniff-ng.git] / README
blob0436c6a78d156646d3b84570665d992545349f9a
1 //////////////////////////////////////////////////////////////////////////////
3                     netsniff-ng - the packet sniffing beast
5 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
7                                       .      .
8                                      /(      )\
9                                    .' {______} '.
10                                     \ ^,    ,^ /
11  netsniff-ng is a free, performant   |'O\  /O'|   _.<0101011>--
12  Linux network analyzer and          > `'  '` <  /
13  networking toolkit.                 ) ,.==., (  |
14                                     (|/--~~--\|)-'
15  Release: 2011-xx-xx               /
16                                   (      ___
17  Web: http://netsniff-ng.org       \__.=|___E
19 The gain of performance is reached by zero-copy mechanisms, so that on packet
20 reception and transmission the kernel does not need to copy packets from kernel
21 space to user space and vice versa.
23 For this purpose, the netsniff-ng toolkit is libpcap independent (note: libpcap
24 starting from 1.0.0 also supports zero-copy for capturing), but nevertheless
25 supports the pcap file format for capturing, replaying and performing
26 offline-analysis of pcap dumps. Furthermore, we are focussing on building a
27 robust and clean analyzer and utilities that complete netsniff-ng as a support
28 for network development, debugging or network reconnaissance.
30 The netsniff-ng toolkit [1] currently consists of the following utilities:
32   * netsniff-ng: the zero-copy sniffer, pcap capturer and replayer itself
33   * warp: an address resolution protocol relay utility (todo)
34   * trafgen: a high performance zero-copy network packet generator
35   * ifpps: a top-like kernel networking and system statistics tool
36   * curvetun: a lightweight curve25519-based multiuser IP tunnel
37   * ashunt: an autonomous system trace route and ISP testing utility
38   * flowtop: a top-like netfilter connection tracking tool
39   * bpfc: a tiny Berkeley Packet Filter compiler supporting Linux extensions
41 The netsniff-ng toolkit is an Open Source project covered by the GNU General 
42 Public License. For any questions or feedback about netsniff-ng you are welcome
43 to leave us a message to <workgroup@netsniff-ng.org> or to our mailing list
44 at <netsniff-ng@googlegroups.com> (Note: you have to register first). This
45 project is purely non-commercial and will always stay that way! The current
46 project status can be considered as "working". In general, all tools have been
47 tested by us to a great extend including their command-line options. In fact,
48 many of our tools are used in production systems. However, we give no guarantee
49 that our tools are free of bugs! If you spot some issues, contact us as
50 described in REPORTING-BUGS.
52 Also, have a look at our FAQ [2] for answering your questions. Furthermore,
53 we have a development blog [3] where we sometimes drop some interesting things
54 or news for the outside world! A public repository of the old stable releases
55 (which you probably do not want to have a look at), can be found here [4].
57 By the way, some notes on zero-copy ... You might want to have NAPI drivers [5]
58 enabled in your kernel to reduce interrupt load and for high-speed (= relative
59 to the CPU speed) PCAP dumping and replay, a fast SSD isn't too bad either,
60 and make sure to use netsniff-ngs scatter/gather or mmap I/O options. Next to
61 this, (and this refers to packet generation as well), a 10-Gbit/s-Ethernet
62 NIC, an appropriate amount of RAM and a fast CPU is recommended. Furthermore,
63 you should bind the netsniff-ng tools to a specific CPU via commandline option
64 (i.e. --bind-cpu 0). Some further recommendations can be found in [6] [8]. Also,
65 Eric Dumazets BPF Just-in-Time compiler can speed up the critical path [7].
67 You might want to have a look at INSTALL, HACKING, CODING and COPYING, too.
68 Happy packet hacking!
70 [1] http://netsniff-ng.org/
71 [2] http://netsniff-ng.org/faq.html
72 [3] http://dev.netsniff-ng.org/
73 [4] http://pub.netsniff-ng.org/
74 [5] http://www.linuxfoundation.org/collaborate/workgroups/networking/napi
75 [6] http://datatag.web.cern.ch/datatag/howto/tcp.html
76 [7] http://thread.gmane.org/gmane.linux.network/191115
77     Kernel build option:
78       CONFIG_HAVE_BPF_JIT=y
79       CONFIG_BPF_JIT=y
80 [8] http://bit.ly/3XbBrM