Appunti utili per velocizzare l’utilizzo delle regex, sia in bash che in altri ambienti. Dedicato ai miei studenti, a me stesso, ma anche a te, lettore capitato qui sul blog per curiosità, per svago o semplicemente per sbaglio.
‘cat log.txt | grep -oE ‘\b([0-9]{1,3}\.){3}[0-9]{1,3}\b’ | sort -u > miofile.txt’ –> elabora in modo efficiente un file di log, dapprima visualizzandone il contenuto, poi estraendone univocamente eventuali indirizzi IP presenti al suo interno, successivamente ordinando e rimuovendo i duplicati attraverso “sort -u”, infine salvando i risultati nel file denominato “miofile.txt”
Indirizzi IPv6, Regex per identificare
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
MAC Address, Regex per identificare
^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
Email, Regex per identificare
(([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)(\s;\s|\s$))
Ne aggiungerò via via altre prossimamente.
Risorse di approfondimento:
– Link1
– Link2
– Link3
– Link4 (SANS)