jvinet / knock

A port-knocking daemon
http://www.zeroflux.org/projects/knock
GNU General Public License v2.0
549 stars 113 forks source link

Permit a duplicate knock just from the previous stage #90

Open bobrippling opened 4 months ago

bobrippling commented 4 months ago

This is similar to #72 (only spotted this after I'd written up my solution!), but without the same brute-force concerns.

The difference is that we permit (ignore) a duplicate packet only if it matches the previous stage of the current sequence. I've added more details in the docs:

https://github.com/jvinet/knock/blob/474330a961bba0cf95060aedceb34ff87d05abb1/doc/knockd.1.in#L199-L204

This also allows for browser based knocking, or knocking on a server who will drop packets, where (if we're using something like netcat) we'll send multiple TCP SYNs.