I've been digging in the source code to try understand the node networking protocol. I've also been sniffing with Wireshark. Amazingly Wireshark has some basic decoding of Nano already!
Is there anywhere that the node protocol has been documented?
For example it has taken me a while so far, but I think I partially understand
node_id_handshake (message type 0x0a) which is the first thing sent to another node. The query sent is 32 bytes of random data, which is kept per peer. It's a "cookie" which I don't know what is used for exactly yet. A node would respond to that with a combined query and a response, which seems to contain an account and a signature in the response. Am I on the right track here?