a portknocking implementation for Windows platforms

developed by Ivano Malavolta

[UPDATE 29/10/2010]: winKnocks was my final project of an exam I took at the University of L'Aquila. I am not working on Winknocks since 2006.
If you want to contact me, you can visit my home-page, or you can send an email to this address: ivano.malavolta [at]

Locations of visitors to this page

What is winKnocks

winKnocks is an encrypted port knocking tool. It is based on jpcap capturing library and Windows firewall. The project can be divided into two tools: Knocker and Listener. They are both written in Java and have a Swing GUI. Knocker and Listener share XML files containing the description of user-defined knock-sequences.
Users specify: .
When sending a knock sequence the user can define an urgent-script to execute server-side. The Listener can allow or not the execution of such scripts. When the server receives a knock sequence it can:
Each action have three additional fiels:
The payload of each packet is encrypted using the DES algorithm and a secret password shared between Knocker and Listener. The server has logging capability. The Knocker can send smoke packets (the user defines the number of smoke packets); the Listener distinguish smoke packets from knock-sequences packets in two ways: (i) it analyses the packets defined into the XML files of the knock sequences and automatically defines a filter for the packet captor, (ii) the user defines such filter. Replay attacks are neutralized because the payload of each packet contains the timestamp and a random number(they are cripted); the Listener maintains the used numbers and checks that each incoming packet does not contain an already used number. In this case the received packet and the IP address of the aggressor are logged. The most important features of this tool are:

The complete documentation is hosted at SourceForge. Follow the link below to get the latest version of winKnocks or its complete documentation.

download winKnocks


  1. Knocker component in editing mode
  2. Listener component in listening mode
  3. Dialog to send a knock sequence
1. Knocker component in editing mode
Knocker,editing mode

2. Listener component in listening mode
Listener, listening mode

3. Dialog to send a knock sequence
Knocker, dialog to send a knock sequence