grep, metin içinde arama yapmak için kullanılan en güçlü Linux aracıdır. Bug bounty ve pentest'lerde log analizi, dosya içi arama, çıktı filtreleme ve daha fazlası için kullanılır.
# Dosyada arama
grep "aranan" dosya.txt
# Birden fazla dosyada arama
grep "aranan" *.txt
# Büyük/küçük harf duyarsız
grep -i "aranan" dosya.txt
# Kelime tam eşleşme
grep -w "aranan" dosya.txt
# Ters arama (içermeyenleri göster)
grep -v "aranan" dosya.txt
# Satır numarasıyla göster
grep -n "aranan" dosya.txt
# Sadece eşleşen kelimeyi göster
grep -o "aranan" dosya.txt
# İçeren dosyaları listele
grep -l "aranan" *.txt
# İçermeyen dosyaları listele
grep -L "aranan" *.txt
# Context (öncesi/sonrası)
grep -C 3 "aranan" dosya.txt # 3 satır öncesi ve sonrası
grep -A 2 "aranan" dosya.txt # 2 satır sonrası
grep -B 2 "aranan" dosya.txt # 2 satır öncesi
# Recursive arama
grep -r "aranan" /path/
# Regex ile arama
grep -E "aranan|aranan2" dosya.txt
# Hata logları
grep -i "error" /var/log/syslog
# IP adresleri
grep -E "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" access.log
# Tarih aralığı
grep "Jun 29" access.log
# PHP dosyalarında SQL injection pattern'leri
grep -r "SELECT.*FROM.*WHERE" *.php
# Konfigürasyon dosyalarında şifre
grep -r "password\|secret\|key" .env config/
# Subdomain enumeration sonucu filtrele
subfinder -d hedef.com | grep -v "cloudflare"
# Nuclei sonucu filtrele
nuclei -u hedef.com | grep -E "high|critical"
# Email
grep -E "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}" dosya.txt
# URL
grep -E "https?://[a-zA-Z0-9.-]+" dosya.txt
# IP
grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" dosya.txt
# Hex
grep -E "[0-9a-fA-F]{32,}" dosya.txt
# Birden fazla pattern
grep -E "pattern1|pattern2|pattern3" dosya.txt
# grep + cat
cat dosya.txt | grep "aranan"
# grep + history
history | grep "ffuf"
# grep + ps
ps aux | grep "nginx"
grep Temel Kullanım
bash# Dosyada arama
grep "aranan" dosya.txt
# Birden fazla dosyada arama
grep "aranan" *.txt
# Büyük/küçük harf duyarsız
grep -i "aranan" dosya.txt
# Kelime tam eşleşme
grep -w "aranan" dosya.txt
# Ters arama (içermeyenleri göster)
grep -v "aranan" dosya.txt
grep Gelişmiş Seçenekler
bash# Satır numarasıyla göster
grep -n "aranan" dosya.txt
# Sadece eşleşen kelimeyi göster
grep -o "aranan" dosya.txt
# İçeren dosyaları listele
grep -l "aranan" *.txt
# İçermeyen dosyaları listele
grep -L "aranan" *.txt
# Context (öncesi/sonrası)
grep -C 3 "aranan" dosya.txt # 3 satır öncesi ve sonrası
grep -A 2 "aranan" dosya.txt # 2 satır sonrası
grep -B 2 "aranan" dosya.txt # 2 satır öncesi
# Recursive arama
grep -r "aranan" /path/
# Regex ile arama
grep -E "aranan|aranan2" dosya.txt
Pratik Kullanım Senaryoları
1. Log Analizi
bash# Hata logları
grep -i "error" /var/log/syslog
# IP adresleri
grep -E "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" access.log
# Tarih aralığı
grep "Jun 29" access.log
2. Dosya İçi Arama
bash# PHP dosyalarında SQL injection pattern'leri
grep -r "SELECT.*FROM.*WHERE" *.php
# Konfigürasyon dosyalarında şifre
grep -r "password\|secret\|key" .env config/
3. Çıktı Filtreleme
bash# Subdomain enumeration sonucu filtrele
subfinder -d hedef.com | grep -v "cloudflare"
# Nuclei sonucu filtrele
nuclei -u hedef.com | grep -E "high|critical"
4. Regex ile Gelişmiş Arama
bashgrep -E "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}" dosya.txt
# URL
grep -E "https?://[a-zA-Z0-9.-]+" dosya.txt
# IP
grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" dosya.txt
# Hex
grep -E "[0-9a-fA-F]{32,}" dosya.txt
grep Birleşimleri
bash# Birden fazla pattern
grep -E "pattern1|pattern2|pattern3" dosya.txt
# grep + cat
cat dosya.txt | grep "aranan"
# grep + history
history | grep "ffuf"
# grep + ps
ps aux | grep "nginx"
🔒 Bu içeriği görmek için giriş yapın