summaryrefslogtreecommitdiffstats
path: root/nping/nping-dev/NpingRequirements.txt
diff options
context:
space:
mode:
Diffstat (limited to 'nping/nping-dev/NpingRequirements.txt')
-rw-r--r--nping/nping-dev/NpingRequirements.txt165
1 files changed, 165 insertions, 0 deletions
diff --git a/nping/nping-dev/NpingRequirements.txt b/nping/nping-dev/NpingRequirements.txt
new file mode 100644
index 0000000..53218f4
--- /dev/null
+++ b/nping/nping-dev/NpingRequirements.txt
@@ -0,0 +1,165 @@
+++++++++++++++++++++++++++++++++
+| NPING PROJECT REQUIREMENTS |
+++++++++++++++++++++++++++++++++
+
+This document presents a list of requirements for the tool Nping that will
+be developed during this summer as a project for the program Google Summer of
+Code.
+
+Each requirement is tagged with one of the following tags:
+
+[MustHave] It definitely must be met.
+[ShouldHave] It should be met if providing there is enough time for it.
+[CouldHave] It would be nice to have but it's not essential.
+[OnRequest] It would be added to the todo-list if someone asks for it on the
+ list, provides a good reason and some usage scenarios.
+
++------------------------+
+| GENERAL |
++------------------------+
+
+* Documentation for end-users.........................................[MustHave] [DONE]
+* Documentation of the source code using Doxygen syntax..............[Couldhave] [DONE]
+* Command line interface with well-defined option flags...............[MustHave] [DONE]
+* 6 levels of verbosity (0 to 5)......................................[MustHave] [DONE]
+* 6 levels of debugging information...................................[MustHave] [DONE]
+* Written in C++......................................................[MustHave] [DONE]
+* Run and be tested under Linux.......................................[MustHave] [DONE]
+* Run and be tested under Windows.....................................[MustHave]
+* Run and be tested under OS X........................................[MustHave]
+* Compile as a single, statically-linked executable..................[CouldHave]
+* Use of libdnet......................................................[MustHave] [DONE]
+* Designed to be integrated into Nmap tarball.........................[MustHave]
+* Design to allow easy extension to other protocols...................[MustHave] [DONE]
+
+
++------------------------+
+| LINK LAYER |
++------------------------+
+* Raw Ethernet frame generation.......................................[MustHave] [DONE]
+ - Destination MAC address...........................................[MustHave] [DONE]
+ - Spoofed source MAC address........................................[MustHave] [DONE]
+ - Custom Ethertype/Length..........................................[OnRequest] [DONE]
+ - Invalid CRC32 checksum...........................................[OnRequest]
+
+* ARP ping............................................................[MustHave] [DONE]
+
+* Custom ARP packet generation
+ - Hardware type....................................................[OnRequest]
+ - Protocol type....................................................[OnRequest]
+ - Hardware length..................................................[OnRequest]
+ - Protocol length .................................................[OnRequest]
+ - Operation .......................................................[OnRequest] [DONE]
+ - Sender hardware address...........................................[MustHave] [DONE]
+ - Sender protocol address...........................................[MustHave] [DONE]
+ - Target hardware address...........................................[MustHave] [DONE]
+ - Target protocol address...........................................[MustHave] [DONE]
+* Custom RARP packet generation......................................[CouldHave] [DONE]
+
++------------------------+
+| NETWORK LAYER |
++------------------------+
+
+* Custom IPv4 packet generation.......................................[MustHave] [DONE]
+ - Custom version number............................................[OnRequest]
+ - Invalid header lengths...........................................[OnRequest]
+ - Type of Service...................................................[MustHave] [DONE]
+ - Invalid total lengths............................................[OnRequest]
+ - Custom Idenfication number........................................[MustHave] [DONE]
+ - Do Not Fragment Flag..............................................[MustHave] [DONE]
+ - More Fragments Flag...............................................[MustHave] [DONE]
+ - Reserved flag....................................................[OnRequest]
+ - Incorrect fragment offset........................................[OnRequest]
+ - Custom TTL........................................................[MustHave] [DONE]
+ - Custom Protocol number...........................................[OnRequest]
+ - Invalid header checksum...........................................[MustHave] [DONE]
+ - Spoofed source address............................................[MustHave] [DONE]
+ - Destination address...............................................[MustHave] [DONE]
+ - IP options........................................................[MustHave] [DONE]
+
+* IPv6 packet generation
+ - IPv6 support for TCP connect() ping...............................[MustHave]
+ - IPv6 support for UDP pings........................................[MustHave]
+ - IPv6 packet generation............................................[MustHave]
+
+* ICMP packet generation..............................................[MustHave] [DONE]
+ - Echo Request......................................................[MustHave] [DONE]
+ - Timestamp request.................................................[MustHave] [DONE]
+ - Information Request...............................................[MustHave] [DONE]
+ - Netmask Request...................................................[MustHave]
+ - Redirect..........................................................[MustHave] [DONE]
+ - Fake Destination Unreachable Message..............................[MustHave] [DONE]
+ - Fake Echo Reply Message..........................................[OnRequest] [DONE]
+ - Fake Source Quench Message.......................................[OnRequest] [DONE]
+ - Fake Time Exceeded message.......................................[OnRequest] [DONE]
+ - Fake Parameter Problem Message...................................[OnRequest] [DONE]
+ - Timestamp reply..................................................[OnRequest] [DONE]
+ - Information Reply................................................[OnRequest] [DONE]
+ - Netmask Reply....................................................[OnRequest]
+
+
+
++------------------------+
+| TRANSPORT LAYER |
++------------------------+
+* Custom TCP packet generation........................................[MustHave] [DONE]
+ - Source port......................................................[MustHave] [DONE]
+ - Destination port.................................................[MustHave] [DONE]
+ - Sequence Number..................................................[MustHave] [DONE]
+ - ACK Number.......................................................[MustHave] [DONE]
+ - Invalid offset values...........................................[OnRequest]
+ - Custom data in "Reserved" field.................................[OnRequest]
+ - TCP Flags (including CWR and ECE)................................[MustHave] [DONE]
+ - Window size......................................................[MustHave] [DONE]
+ - Invalid checksum.................................................[MustHave] [DONE]
+ - Custom Urgent Pointer...........................................[OnRequest]
+ - TCP Options......................................................[MustHave]
+
+* Custom UDP packet generation........................................[MustHave] [DONE]
+ - Source / Dest ports .............................................[MustHave] [DONE]
+ - Incorrect length................................................[OnRequest] [DONE]
+ - Invalid checksum.................................................[MustHave] [DONE]
+
++------------------------+
+| APPLICATION LAYER |
++------------------------+
+* Custom DNS request generation......................................[CouldHave]
+* HTTP request generation............................................[CouldHave]
+
+
++------------------------+
+| Nping ECHO SERVER |
++------------------------+
+* Encrypted communications symmetrict encryption......................[MustHave]
+* Use of covert channels to transfer information back
+ to the nping client................................................[CouldHave]
+* Echo back layers link+net+transport+payload
+* Echo back layers net+transport+payload
+* Echo back layerstransport+payload
+* Echo back only payload
+
+
+
++------------------------+
+| MISCELLANEOUS |
++------------------------+
+* Traceroute mode.....................................................[MustHave] [DONE]
+ - Traceroute to a TCP port..........................................[MustHave] [DONE]
+ - Traceroute to a UDP port..........................................[MustHave] [DONE]
+* Nmap style packet output............................................[MustHave] [DONE]
+* Provide useful stats................................................[MustHave]
+* Save responses in a pcap file......................................[CouldHave]
+* Implement student's t test to compare data-sets of timing
+ information as in QSCAN............................................[CouldHave]
+* Support for multiple target IPs.....................................[MustHave] [DONE]
+* Support for multiple target ports...................................[MustHave] [DONE]
+
+
+
+
+
+
+
+
+
+