Cyber Security · मराठी आवृत्ती
grep वापरून text शोधा
या page मध्ये
grep दिलेल्या pattern शी जुळणाऱ्या lines दाखवतो. मोठ्या log मध्ये errors किंवा login attempts शोधताना तो खूप उपयोगी आहे.
| Option | अर्थ |
|---|---|
-i |
लहान/मोठ्या अक्षरांत फरक नको |
-r / -R |
Directories मध्ये आतपर्यंत search |
-n |
Line numbers दाखवणे |
-v |
न जुळणाऱ्या lines |
-c |
जुळणाऱ्या lines मोजणे |
-l |
फक्त filenames |
-w |
पूर्ण word match |
-E |
Extended regex (alternation, +, ?) |
-A 3 / -B 3 / -C 3 |
Match नंतर/आधी/आजूबाजूच्या 3 lines |
grep -i "error" /var/log/nginx/error.log
grep -rn "listen" /etc/nginx/
grep -v "^#" /etc/ssh/sshd_config | grep -v "^$" # hide comments & blank lines
grep -c " 404 " /var/log/nginx/access.log # how many 404s?
grep -E "Failed|Invalid" /var/log/auth.log # Ubuntu SSH failures
sudo grep "Failed password" /var/log/secure # AL2/CentOS (AL2023 uses journalctl)
-i case दुर्लक्षित करतो; -r/-R directory tree मध्ये शोधतो; -n line number; -v न जुळणाऱ्या lines; -c जुळणाऱ्या lines चा count; -l फक्त filenames; -w पूर्ण word. -E extended regex वापरतो. -A/-B/-C 3 match नंतर/आधी/आजूबाजूच्या तीन lines दाखवतात.
Examples मध्ये Nginx errors, listen settings, 404 count आणि SSH failures शोधले आहेत. grep -v "^#" फक्त line च्या सुरुवातीलाच # असलेल्या comments काढतो; आधी spaces असतील तर हा साधा pattern पुरेसा नाही. ^$ पूर्ण रिकामी line match करतो.
Security मध्ये उपयोग
Auth log मधला Failed password pattern failed login attempts दाखवू शकतो. Source example grep -E "union|select|<script" access.log मध्ये संशयास्पद web request strings शोधतात. Pattern मिळाला म्हणजे attack निश्चित झाला असं नाही; URL encoding, case, log format आणि context तपासा. अशी text-search पद्धत SIEM query शिकण्याचा चांगला पाया आहे.
Practice
तुमच्या server वर failed SSH logins मोजा. Nginx install झाल्यावर /etc/nginx मधल्या listen lines शोधा. sshd_config मधल्या comments/blank lines वगळून settings पाहा; indented comments राहतात का हेही पाहा.