Port knocking is a technique that can be used to hide services that are running on a hardened server. This is
achieved by not opening the service port until a correct sequence of "knock" packets are received by the server.
There are currently many implementations of port knocking and most of them requires the client to send a fixed
pre-defined sequence of port knocks to the server. In this project, we examine ways of improving port knocking
techniques and explore innovative ways of using port knocking.
- Remote Server Management using Dynamic Port Knocking and Forwarding
In this paper, we present a port-knocking implementation that does not require the client to send a
fixed pre-defined port-knock sequence to the server. Our implementation also uses dynamic port forwarding
where each client is assigned a random port number to access the same service. Our implementation is
novel since it does not require the client to send a large number of knock packets to obscure the
port knock sequences.
Proof-of-concept code is available for Linux and Win32 platforms.
- Remote Server Management With One-Time Port Knocking (OTPK)
In this paper, we present an improved port-knocking technique that uses One-Time Port-Knocking (OTPK). In this
technique, the server assigns each client a random port-knock sequence. The client uses the server assigned
sequence only once. Upon receipt of the correct knock sequence from a client, the server will generate a new
knock sequence and sends it to the client in an encrypted packet. The client will use this new knock sequence
for the next request.
For further enquries, comments, suggestions or bug reports, simply email them to us. If you have done some work on port
knocking, and would like to publish your results here, you are also welcome to send your report to the following
Overall-in-charge: Tan Chew Keong