netsniff-ng: refactor the code a bit
[netsniff-ng.git] / TODO
blob5894d9c11f1fb962dda48fa80c2296cb9b3c0c1d
1 Here's a list of things we need to do (contributions are welcome and highly
2 appreciated, please also read Documentation/SubmittingPatches about how to
3 submit your contributions, items marked with '!' are of high importance):
5  0! Improve manpages, extend the documentation and/or write useful howtos.
6         @TODO: Jon Schipp, Daniel Borkmann
8  1! Highest prio: Cleanup and refactor the code!
9         @TODO: Daniel Borkmann
11  3! Test IPv6 on flowtop, curvetun and mausezahn.
12         @TODO: Daniel Borkmann, Jon Schipp
14  4! trafgen: for send() add ping-probe support so that we can do fuzz
15     testing and check if the machine is still online.
16         @TODO: Daniel Borkmann
18 10! Add a proper 802.11 dissector for netsniff-ng.
19         @TODO: Markus Amend
21 13! Easier language (bpf-hla) for /fast/ filtering (e.g. on top of BPF so
22     that it can run in the kernel), include this into bpfc (bpfc-hla).
23         @TODO: Daniel Borkmann, Markus Amend
25 22! Add different timing models to trafgen, not just a static interpacket gap.
26         @TODO: Daniel Borkmann
28 48! Hand-include patchset from Sibir Chakraborty:
29         - Replay all files from directory (dir as --in paramter)
30         - Replay with correct timing information
31         - Replay with Gbps / pps rate limit
32         @TODO: Daniel Borkmann
34 49! Add Gbps / pps rate limit to trafgen
35         @TODO: Daniel Borkmann
37 32! ifpps: add option for --dev eth0,eth1,eth2 and accumulate stats
38         @TODO: Daniel Borkmann
40 33! ifpps: calc current throughput, show percentage of linerate
41         @TODO: Daniel Borkmann
43 50! mausezahn: clean it up add fork + fanout mode(?), remove libpcap
44     dependency, let it also store pcap files e.g. on a network filesystem
45     of the mausezahn box.
46         @TODO: Daniel Borkmann
48 51! astraceroute: can we remove whois query and do this locally?
49         @TODO: Daniel Borkmann
51 52! all tools, but ifpps/bpfc: add option to run a tool as -u user -g group
52     resp. --user user --group group so that we can drop to non-root if this
53     option is set and the tool was started as root.
54         @TODO: Daniel Borkmann
56 ---
58  5) Make trafgen also write to a pcap instead to a device.
60  6) Let netsniff-ng and trafgen support pcap and pcap-ng!
62 12) Add new dissectors (e.g. BGP, DNS, DCCP, SCTP, RSVP, IPsec, LISP, RADIUS,
63     LLC, fix MPLS?, improve ARP, BPDU, PVST, CDP, LLDP, RTP, Syslog, NTP,
64     OpenFlow, ...), add new protocols to mausezahn.
66 16) Further micro-optimize netsniff-ng, trafgen, mausezahn's performance. Use
67     Oprofile for optimize tools!
69 17) Security review of curvetun.
71 21) Obfuscate curvetun's protocol to make it hard/resource-intensive for DPIs.
73 31) astraceroute: implement DNS traceroute with AS/Geo information
75 34) Are there other interesting (e.g. ethtool) stats for ifpps?
77 46) QoS for curvetun --> since tundev is qdiscless
79 47) Add geo-ip information to netsniff-ng output?