Knock est une commande informatique permettant de réaliser du port knocking qui consiste à envoyer une série de ping sur une liste de ports définie d'un serveur .

L'exemple ci-dessous enverra 3 ping successifs, sur les ports 1000, 2000 et 3000 du serveur "mon.serveur.com".

$ knock mon.serveur.com 1000 2000 3000

Cette technique est principalement utilisée pour donner accès à l'interface de connexion d'un serveur (en SSH par exemple).

Elle est particulièrement valable lorsqu'une machine possédant d'une adresse IP variable, tente de se connecter à un serveur n'autorisant les connexions en SSH qu'en fonction d'une liste blanche d'adresse IP.

Si le knock effectué par la machine cliente est valable, le serveur l'autorisera alors à tenter de s'identifier avec ses identifiants.

Cette protection pourrait être comparable à une porte blindée, dont la serrure serait protégée et qui se découvrirait automatiquement lorsque la bonne séquence de "toc-toc-toc" serait frappée, permettant alors d'utiliser la clé.