Script to help make sense of log output from popular SSH honeypot [Cowrie](https://github.com/cowrie/cowrie/). I think I got carried away with the specialized filtering settings. Untested with Telnet or proxy mode. YMMV # Usage Simply point the script to a JSON log file output by Cowrie, or a folder thereof: ``` cowrieder.py /path/to/your/log.json cowrieder.py /var/log/cowrie/ ``` Options: ``` -h, --help show this help message and exit -v, --verbose Make the output more verbose (do less to collapse less-interesting information) -V, --verboser Make the output even more verbose (print timestamp, event id, and message (if applicable) for all events) -W, --verbosest Make the output even more verboserer (dump as much information as possible as pretty-printed JSON) -P, --pings Include only connections where no authentication attempt was made -F, --fails Include only failed logins -L, --logins Include only successful logins where no commands were run -C, --commands Include only logins where only this list of basic test commands were run: ['uname', 'nproc'] -E, --eventful Include only the cool interesting sessions that aren't any of that other stuff -r, --redact-ip Redact IP addresses by converting them to 16-character hashes -i, --filter-ip FILTER_IP Filter data to a specific IP, censored hash thereof, or netmask (127.0.0.1 / 0b39f7265d91e7c3 / 127.0.0.0/16) -c, --no-color Don't color-code terminal output -s, --stats Print aggregated statistics -S, --only-stats Print only aggregated statistics ``` # TODO - HTML output option