knock端口敲门

九月 29, 2025

Knock服务

安装

apt install knockd
echo <<EOF > /etc/knockd.conf
[options]
        # UseSyslog
        Interface = eth0
        LogFile = /var/log/knockd.log
[openSSH]
        # sequence    = 1357:tcp, 1234:tcp, 6789:tcp
        sequence    = 1357, 1234, 6789
        seq_timeout = 20
        command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        tcpflags    = syn
        # start_command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        # cmd_timeout = 60
        # stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
[closeSSH]
        sequence    = 6789, 1234, 1357
        seq_timeout = 5
        command     = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        tcpflags    = syn
<<EOF

测试

nmap -A -p 22 192.168.7.7 -oA output
# 开门
knock -v 192.168.7.7 1356 1234 6789
nmap -A -p 22 192.168.7.7 -oA output
iptalbes -nvL | grep 22
# 关门
knock -v 192.168.7.7 6789 1234 1357

# 破解端口敲门序列
target=192.168.7.7
# 查看开放的端口
nmap -p- 192.168.7.7
nmap -p- -sU 192.168.7.7
# 分别向12001-12005端口都发送设置了 FIN/URG/RST/SYN 标志的 TCP 数据包
for port in 12001 12002 12003 12004 12005; do
        for flag in F U R S; do
                hping3 -c 5 -$flag -p $port $target
        done
done

工作原理

主要优点

应用场景