arpswirl: remove current implementation
[netsniff-ng.git] / README
blob5a99f9a23279988e782de7e8090817d591a006fe
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
36   * curvetun: a lightweight curve25519-based multiuser IP tunnel
37   * ashunt: an Autonomous System trace route and ISP testing utility
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! 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 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