From 1c45e5993858a4fc0e85858975e3206a657b9f94 Mon Sep 17 00:00:00 2001 From: irungentoo Date: Sat, 7 Dec 2013 19:06:41 -0500 Subject: Added/updated some basic docs and cleaned up some things. --- docs/Hardening_docs.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docs/Hardening_docs.txt (limited to 'docs/Hardening_docs.txt') diff --git a/docs/Hardening_docs.txt b/docs/Hardening_docs.txt new file mode 100644 index 00000000..08c6ef13 --- /dev/null +++ b/docs/Hardening_docs.txt @@ -0,0 +1,21 @@ +Hardening request packets are sent as crypto request packets (see crypto docs.) +NOTE: currently only get nodes requests are tested in the code which is why there is only one test (more will be added soon.) + +All hardening requests must contain exactly 768 bytes of data. (The data sent must be padded with zeros if it is smaller than that.) + +1. Get the information (IP_port, client_id) of the node we want to test. +2. Find a couple random nodes that is not that node (one for each test.) +3. Send crypto request packets to each of these random nodes with the data being: + +[byte with value: 02 (get nodes test request)][struct Node_format (the node to test.)][client_id(32 bytes) the id to query the node with.][padding] + +4. The random node receives a packet. +-The packet is a get nodes test request: + send a get_node request to that node with the id to query in the request. + when a send_node response is received, send the following response to the person who sent us the get nodes test request packet: + [byte with value: 03 (get nodes test response)][client_id(32 bytes): the id that the node was queried with][The list of nodes it responded with in IPv6 Node format (struct Node_Format)] + PROTIP: (get node requests and response contain an encrypted part that you can use to store information so that you don't + have to store in your memory where/if to send back the response from the send node) + +5. Receive the test responses. +-If the test(s) pass (the nodes behave in a satisfactory manner), make these nodes have priority over those who don't pass the test(s). -- cgit v1.2.3