Port knocking is normally TCP and UDP although there are a number of
implementations with ICMP. It wouldn't be much harder to do with UDP
but that means that a client would be required as I don't know of
any(standard) unix programs that can send custom TCP or UDP packets.
I'm looking at fixing a few of the things in the script like the
timeout <shudder/> so I might throw in an option for TCP/UDP and a
small client.