# How Port Knocking Maker - Mikrotik Script RouterOS

    In computer networking, port knocking is a method of externally opening ports on a firewall by generating a connection attempt on a set of prespecified closed ports. Once a correct sequence of connection attempts is received, the firewall rules are dynamically modified to allow the host which sent the connection attempts to connect over specific port(s). A variant called single packet authorization (SPA) exists, where only a single "knock" is needed, consisting of an encrypted packet.

    The primary purpose of port knocking is to prevent an attacker from scanning a system for potentially exploitable services by doing a port scan, because unless the attacker sends the correct knock sequence, the protected ports will appear closed

    ###########################################################
    # Mikrotik Port Knocking Generator with Icmp + Packet Size
    # Date/Time: 2/14/2021, 12:14:10 PM
    # https://fb.me/buananet.pbun
    ###########################################################

    /ip firewall filter
    add action=add-src-to-address-list address-list="port-knocking-first" address-list-timeout="00:00:00" chain=input packet-size="100" protocol=icmp comment="Port Knocking By BNT
    add action=add-src-to-address-list address-list="port-knocking-second" address-list-timeout="00:00:00" chain=input packet-size="200" protocol=icmp src-address-list="port-knocking-first"
    add action=accept chain=input dst-port="8291,21,22,23,80,443" protocol=tcp src-address-list="port-knocking-second"
    add action=drop chain=input dst-port="8291,21,22,23,80,443" protocol=tcp src-address-list="!port-knocking-second"
    Copy-Paste Firewall Script into the Terminal!

    Unique Packet Size For Key Knocking: 72 and 172

    Example Manually Open Key Ping in CMD Windows:
    First Key Knock -> ping -l 72 (IP Adrress)
    Second Key Knock -> ping -l 172 (IP Adrress)

    Example Manually Open Key Ping in Terminal Linux or MacOS:
    First Key Knock -> ping -s 72 (IP Adrress)
    Second Key Knock -> ping -s 172 (IP Adrress)

    Or you can use Port Knocking Maker or Port Knock Generator