The important feature of the sprayInjector is that it does not require an artificial packet latency via packet queuing in order to win the timing race. Instead it relies on high probability of getting the correct TCP sequence by rapidly and iteratively sending packets with sequence numbers in the range close to that of recently observed packets.
Currently I perform manually testing of the honeyBadger TCP attack detector by letting it watch a netcat client-server session get attacked by sprayInjector. What I'd like is for a single golang program to perform the entire test automatically... and output the results to stdout.
Therefore this golang integration test should be in the form of a single golang executable that establishes it's own client-server connection and attacks this connection while also detecting the attack.
This issue is relatively low priority since our manual integration testing procedure works very reliably.
I've been testing the injection detection code path using this simple command line tool called sprayInjector:
https://github.com/david415/HoneyBadger/blob/c7e35375ab19fba0de4e4bd7004bc65089c1d5be/tools/sprayInjector.go
The important feature of the sprayInjector is that it does not require an artificial packet latency via packet queuing in order to win the timing race. Instead it relies on high probability of getting the correct TCP sequence by rapidly and iteratively sending packets with sequence numbers in the range close to that of recently observed packets.
Currently I perform manually testing of the honeyBadger TCP attack detector by letting it watch a netcat client-server session get attacked by sprayInjector. What I'd like is for a single golang program to perform the entire test automatically... and output the results to stdout.
Therefore this golang integration test should be in the form of a single golang executable that establishes it's own client-server connection and attacks this connection while also detecting the attack.
This issue is relatively low priority since our manual integration testing procedure works very reliably.