bugün
- sözlükte elit zevkleri olan insan olmaması6
- birazdan yer yerinden oynayacak10
- çerçeve yasa30
- sokakta öpüşmek7
- türbede dua etmenin şirk olması14
- mısır'ın mekke anlaşması'na katılmaması2
- engelleyen insan kibri6
- casperlar daltonlar redkitler şirinler2
- azrail gelse ona ne derdiniz13
- ben bir ceviz agacıyım6
- dilan4
- yurt dışı çıkış harcı8
- sürekli kendini öven insan6
- beyazconverse6
- apo milletvekili olursa olacaklar3
- ey sözlük ahalisi öyle aşığım ki3
- akıl verme vereceksen huzur ver6
- sözlükte kavga edilen kızın true çıkması7
- nervio hamferdi3
- gençler çalışmadan para kazanmak istiyor6
- 12 ağustos 2026 güneş tutulması8
- arkadaşlar bakar mısınız3
- mezarlıkta ağlayan kızın asıl amacı5
- sözlük kızı ile kavga etmek13
- sözlükten giden yazarların hemen unutulması2
- yumurtalı ekmeğe french toast diyen elitist2
- nakşibendi tarikatının halidi kolundanım6
- yazarların son içtiği içecek4
- satürnün halkasına imam hatip açmak6
- rüyalar aleminden ruhlar alemine geçiş3
- g i l d e d l i l y11
- sadece başlığı açacak kadar düşünebilmek4
- yumurtayı sucuklu yiyen insan kibri3
- evde fare görmek6
- biliyorum ama soylemem3
- 18 ağustos 2026 fenerbahçe lyon maçı10
- hiçbir servet zamanı satın alamaz20
- dump atan erkek mi olur aw4
- arkadaşlar nick altılarda kavga etmeyiniz5
- askeri imam hatip lisesi5
- insanları kuşaklara ayırmak vs burçlara ayırmak3
- arkadaşlar salam3
- dağ evi3
- ümmetçilerin apo sevgisi6
- beş parmaktan kilo analizi yapmak2
- fake hesapları ciddiye alamamak2
- sözlüğün dili olsa da konuşsa4
- 12 ağustos 20264
- hangi üye hangisiydi hepsi karıştı6
- 23 yaş3
Kendi yazdığım Metin tabanlı sunucu loglarını analiz edip özet çıkaran Yani basit bir trafik / hata analizi aracı, kod bırakıyorum sizlere .
from collections import Counter
import re
def analyze_access_logs(log_data: list[str]) -> dict:
"""Log satırlarından IP ve HTTP status kodlarını ayıklayıp frekans çıkarır."""
pattern = re.compile(
r"(?P<ip>\d{1,3}(?:\.\d{1,3}){3})"
r" - - "
r"\[.*?\] "
r'".*?" '
r"(?P<status>\d{3})"
)
stats = {"ips": Counter(), "statuses": Counter()}
for line in log_data:
match = pattern.search(line)
if match:
stats["ips"][match.group("ip")] += 1
stats["statuses"][match.group("status")] += 1
return stats
if __name__ == "__main__":
raw_logs = [
'192.168.1.15 - - [11/Aug/2026:10:00:01 +0300] "GET /api/v1/products HTTP/1.1" 200',
'192.168.1.15 - - [11/Aug/2026:10:00:04 +0300] "POST /api/v1/checkout HTTP/1.1" 500',
'10.0.0.42 - - [11/Aug/2026:10:01:12 +0300] "GET /admin/login HTTP/1.1" 403',
'192.168.1.15 - - [11/Aug/2026:10:02:00 +0300] "GET /api/v1/products HTTP/1.1" 200',
'172.16.0.8 - - [11/Aug/2026:10:02:45 +0300] "GET /static/style.css HTTP/1.1" 404',
]
report = analyze_access_logs(raw_logs)
print("=== Trafik Özeti ===")
print("En aktif IP'ler:")
for ip, hit in report["ips"].most_common(2):
print(f" -> {ip}: {hit} istek")
print("\nHTTP Yanıt Dağılımı:")
for code, count in sorted(report["statuses"].items()):
print(f" -> Status {code}: {count} adet")
from collections import Counter
import re
def analyze_access_logs(log_data: list[str]) -> dict:
"""Log satırlarından IP ve HTTP status kodlarını ayıklayıp frekans çıkarır."""
pattern = re.compile(
r"(?P<ip>\d{1,3}(?:\.\d{1,3}){3})"
r" - - "
r"\[.*?\] "
r'".*?" '
r"(?P<status>\d{3})"
)
stats = {"ips": Counter(), "statuses": Counter()}
for line in log_data:
match = pattern.search(line)
if match:
stats["ips"][match.group("ip")] += 1
stats["statuses"][match.group("status")] += 1
return stats
if __name__ == "__main__":
raw_logs = [
'192.168.1.15 - - [11/Aug/2026:10:00:01 +0300] "GET /api/v1/products HTTP/1.1" 200',
'192.168.1.15 - - [11/Aug/2026:10:00:04 +0300] "POST /api/v1/checkout HTTP/1.1" 500',
'10.0.0.42 - - [11/Aug/2026:10:01:12 +0300] "GET /admin/login HTTP/1.1" 403',
'192.168.1.15 - - [11/Aug/2026:10:02:00 +0300] "GET /api/v1/products HTTP/1.1" 200',
'172.16.0.8 - - [11/Aug/2026:10:02:45 +0300] "GET /static/style.css HTTP/1.1" 404',
]
report = analyze_access_logs(raw_logs)
print("=== Trafik Özeti ===")
print("En aktif IP'ler:")
for ip, hit in report["ips"].most_common(2):
print(f" -> {ip}: {hit} istek")
print("\nHTTP Yanıt Dağılımı:")
for code, count in sorted(report["statuses"].items()):
print(f" -> Status {code}: {count} adet")
Gündemdeki Haberler
Güncel Önemli Başlıklar