İçeriğe atla
0 XP 0
Kopya kâğıtları
Günlük analizi

Günlük analizi: grep, awk, jq, olay kimlikleri

Metin tabanlı günlükleri süzmek için grep, awk, jq kalıpları ve önemli Linux/Windows olay kimlikleri.

Son güncelleme 2026-09

grep temel kalıplar

grep -i hata gunluk.log

Büyük ve küçük harf duyarsız arama yapar.

grep -v basarili gunluk.log

Belirtilen deseni içermeyen satırları gösterir.

grep -c 'Failed password' auth.log

Eşleşen satır sayısını verir, toplam deneme sayısını gösterir.

grep -n 'error' uygulama.log

Eşleşen satırların satır numarasını da gösterir.

grep -E '4625|4648' gunluk.txt

Genişletilmiş düzenli ifadeyle birden çok deseni aynı anda arar.

grep -r 'TODO' /uygulama/

Bir dizin ağacındaki tüm dosyalarda deseni arar.

awk temel kalıplar

awk '{print $1}' erisim.log

Her satırın ilk alanını, genelde IP adresini yazdırır.

awk -F',' '{print $2}' veri.csv

Virgülü alan ayırıcı kabul edip ikinci sütunu yazdırır.

awk '$9==404 {print $1}' erisim.log

Dokuzuncu alanı 404 olan satırların ilk alanını yazdırır.

awk '{s+=$1} END {print s}' rakamlar.txt

Bir sütundaki sayıları toplayıp sonunda yazdırır.

awk 'NR>1' veri.csv

İlk satırı atlayarak geri kalanını yazdırır.

jq temel kalıplar

jq '.kullanici.ad' veri.json

İç içe bir alanın değerini okur.

jq '.[] | .id' liste.json

Bir JSON dizisindeki her ögenin id alanını sırayla yazdırır.

jq 'select(.seviye=="kritik")' gunluk.json

Yalnız belirtilen koşulu sağlayan kayıtları filtreler.

jq -r '.mesaj' gunluk.json

Sonucu tırnaksız, ham metin olarak yazdırır.

jq '[.[] | .sure] | add' gunluk.json

Bir dizideki sayısal alanları toplar.

Linux önemli olay kaynakları

sshd: Accepted password

Başarılı SSH parola girişini gösterir, auth.log veya journalctl'de görülür.

sshd: Failed password

Başarısız SSH giriş denemesini gösterir, tekrar sayısı kaba kuvvet göstergesi olabilir.

sudo: COMMAND=

sudo ile çalıştırılan komutu ve çalıştıran kullanıcıyı kaydeder.

useradd[…]: new user

Yeni kullanıcı hesabı oluşturulduğunu kaydeder.

CRON: (kullanici) CMD

Zamanlanmış görevin çalıştığını kaydeder.

journalctl -k

Yalnız çekirdek günlüğünü gösterir, donanım ve güvenlik modülü olaylarını içerir.

Windows önemli olay kimlikleri

4624

Başarılı oturum açma.

4625

Başarısız oturum açma denemesi.

4648

Açık kimlik bilgisiyle oturum açma, yanal hareket incelemesinde önemlidir.

4672

Yönetici düzeyinde özel ayrıcalıklarla oturum açma.

4688

Yeni bir sürecin oluşturulması.

4697

Sisteme bir servis kurulması.

4720

Yeni bir kullanıcı hesabı oluşturulması.

1102

Güvenlik günlüğünün temizlenmesi, iz gizleme göstergesi olabilir.

Birleşik hat örnekleri

grep 'Failed password' auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn

Başarısız girişleri kaynak IP'ye göre sayıp en çok denenenden sıralar.

cat erisim.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10

En çok istek gönderen ilk 10 kaynağı listeler.

journalctl -u sshd --since today | grep Failed | wc -l

Bugün oluşan başarısız SSH girişi sayısını verir.

grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' gunluk.log | sort -u

Günlükten benzersiz IP adreslerini ayıklar.

tail -n 1000 gunluk.log | grep -ci hata

Son 1000 satır içindeki hata sayısını verir.