katana.units.crypto.phonetic — NATO Phonetic Alphabet

class katana.units.crypto.phonetic.Unit(*args, **kwargs)

Bases: katana.unit.RegexUnit

BLOCKED_GROUPS = ['crypto']

This unit does not recurse into other Crypto units because that might spiral into a disaster.

GROUPS = ['crypto', 'phonetic']

These are “tags” for a unit. Considering it is a Crypto unit, “crypto” is included, as well as the name of the unit, “phonetic”.

PATTERN = regex.Regex(b'(alfa|alpha|bravo|charlie|delta|echo|foxtrot|golf|hotel|india|juliet|kilo|lima|mike|november|oscar|papa|quebec|romeo|sierra|tango|uniform|victor|whiskey|xray|x-ray|yankee|zulu) ?((alfa|alpha|bravo|charlie|delta|echo|foxtrot|golf|hotel|india|juliet|kilo|lima|mike|november|oscar|papa|quebec|romeo|sierra|tango|uniform|victor|whiskey|xray|x-ray|yankee|zulu) ?){5,}', flags=regex.A | regex.S | regex.I | regex.M | regex.V0)

This pattern is used specifically for this unit to detect the NATO phonetic alphabet.

PRIORITY = 50

Priority works with 0 being the highest priority, and 100 being the lowest priority. 50 is the default priorty.

evaluate(match: re.Match) → None

Evaluate the target.

Parameters:match – A single regular expression match
Returns:None