端口敲门服务

端口敲门服务是用来增强安全性的,比如你干了一票逃回宾馆在床上堆满了钱,你关上门(关闭端口)不想让别人进来。这时你同伙来和你商量,为了安全起见,你和他约定好敲门暗号(特定序列),敲门时三下三下地敲(序列号、频率)。然后你就紧张地等他过来,时刻听着敲门(监听),要是听到一下一下敲的,就怀疑是不是警察,要是三下三下敲的,就是同伙来了,你就开门让他进来和你商量(服务),这就是敲门暗号法(knockd)(端口敲门服务)。

端口试探(port knocking)是一种通过连接尝试,从外部打开原先关闭端口的方法。一旦收到正确顺序的连接尝试,防火墙就会动态打开一些特定的端口给允许尝试连接的主机。

端口试探类似于一次秘密握手协议,比如一种最基本的方式:发送一定序列的UDPTCP数据包。当运行在主机上的daemon程序捕捉到数据包以后,如果这个序列正确,则开启相应的端口,或者防火墙允许客户端通过。

端口敲门是计算机等同于一个组合数字锁,恰当的组合数字解锁特定的TCP或UDP服务来远程访问。恰当的组合数字使所要求的服务从特定IP地址可见。否则,它仍然是隐藏的。 一些端口敲门程序依赖于发送数据到特定的UDP和/或TCP端口号,其他的使用ICMP信息,并且一些要求使用强加密的特定的客户端应用程序来发送解锁序列。重要的事情是记住端口敲门的概念是为一个特定的IP地址解锁并访问特定的TCP或UDP服务。

一个基本的portknocking demo.

server端运行receive程序,初始化iptable,规则清空;

client端允许send程序,发送端口试探序列,开启相应的tcp端口。

blog.csdn.net/moxuanshe

发布于 2019-03-17