LPI Logo RED

LPI Logo RED

Reguliere expressies

Voor zowel het Linux Essentials als het LPIC-1 examen is het belangrijk om kennis van reguliere expressies te hebben. 

Op zich hoeven reguliere expressies niet ingewikkeld te zijn om nuttige resultaten op te leveren. Hoe leuker we het maken het leuker het is om de stijle leercurve van reguliere expressies onder de knie te krijgen. Een site als https://regexcrossword.com helpt om het leren leuk te maken. Maar er gaat natuurlijk niets boven voorbeelden die in de praktijk zinvol zijn.

Wat is nu leuker dan onderzoeken vanuit welk land er het vaakst wordt geprobeerd om in te loggen op een systeem dat met het internet verbonden is? Op een CentOS systeem is deze informatie te halen uit de logfile /var/log/secure.

Een reguliere expressie die ongeveer het juiste oplevert is'Failed password.*[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'waarbij er naar het zinsdeel 'Failed password' naar regels wordt gezocht die relevant zijn. De rest selecteert het ip adres. Het ip adres wordt via het xargs commando doorgegeven aan het geoiplookup commando die het bijbehorende land opzoekt. Daarna is het een kwestie van sorteren en tellen...

Het uiteindelijke commando is dan:  sudo cat /var/log/secure | egrep -o 'Failed password.*[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | xargs -L 1 geoiplookup | sort | uniq -c | sort -n -r | head -n 5

Translate this page automatically: