Added BPF attach/detach support check.
[netsniff-ng.git] / README
blob455aba821fee3a4c01f2f314bcf662757dee650f
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 the
20 kernel does not need to copy packets from kernelspace to userspace and vice
21 versa.
23 For this purpose netsniff-ng is libpcap independent, but nevertheless supports
24 the pcap file format for capturing, replaying and performing offline-analysis
25 of pcap dumps. Furthermore we are focussing on building a robust, clean and
26 secure analyzer and utilities that complete netsniff-ng as a support for the
27 the daily work of system administrators, networking engineers, researchers or
28 security specialists.
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   * arpswirl: an ARP cache poisoning utility (todo)
34   * trafgen: a high performance 'zero-copy' network packet generator
35   * flowtop: a top-like netfilter connection tracking tool (todo)
36   * curvetun: a lightweight curve25519-based multiuser IP tunnel
37   * ashunt: an Autonomous System trace route utility and ISP's DPI tester
38   * bpfc: a tiny Berkeley Packet Filter compiler supporting Linux extensions
39   * ifpps: a top-like kernel networking and system statistics tool
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!
47 Also, have a look at our FAQ [2] for answering your questions. Furthermore,
48 we have a development blog [3] where we sometimes drop some interesting things
49 or news for the outside world! A public repository of the old stable releases
50 (which you probably do not want to have a look at), can be found here [4].
52 By the way, some notes on zero-copy ... You might want to have NAPI drivers [5]
53 enabled in your kernel to reduce interrupt load and for high-speed (= relative
54 to the CPU speed) PCAP dumping and replay, a fast SSD isn't too bad either,
55 and make sure to use netsniff-ngs scatter/gather or mmap I/O options. Next to
56 this, (and this refers to packet generation as well), a 10-Gbit/s-Ethernet
57 NIC, an appropriate amount of RAM and a fast CPU is recommended. Furthermore,
58 you should bind the netsniff-ng tools to a specific CPU via commandline option
59 (i.e. --bind 0). Some further recommendations can be found in [6] [8]. Also,
60 Eric Dumazets BPF Just-in-Time compiler can speed up the critical path [7].
62 You might want to have a look at INSTALL, REPORTING-BUGS, HACKING, CODING,
63 and COPYING, too. Anyways, enough talking from my side and happy packet
64 hacking!
66 [1] http://netsniff-ng.org/
67 [2] http://netsniff-ng.org/faq.html
68 [3] http://dev.netsniff-ng.org/
69 [4] http://pub.netsniff-ng.org/
70 [5] http://www.linuxfoundation.org/collaborate/workgroups/networking/napi
71 [6] http://datatag.web.cern.ch/datatag/howto/tcp.html
72 [7] http://thread.gmane.org/gmane.linux.network/191115
73     Kernel build option:
74       CONFIG_HAVE_BPF_JIT=y
75       CONFIG_BPF_JIT=y
76 [8] http://bit.ly/3XbBrM