Siber Güvenlikte Ping Komutu

Ping, ağ yönetimi ve siber güvenlik dünyasının en temel teşhis araçlarından biridir. Bir sistemin erişilebilir olup olmadığını, ağ gecikmesini ve bağlantı kalitesini ölçmek için kullanılır. Hem sistem yöneticileri hem de siber güvenlik uzmanları tarafından günlük olarak kullanılan vazgeçilmez araçlardan biridir.


Ping komutu, hedef sisteme ICMP (Internet Control Message Protocol) Echo Request paketi gönderir ve karşılığında ICMP Echo Reply paketi bekler.


Ping Nedir?

Ping kelimesi, denizaltı sonar sistemlerinin çıkardığı "ping" sesinden gelir.

Temel çalışma mantığı:

  1. Kaynak sistem ICMP Echo Request paketi gönderir.

  2. Hedef sistem paketi alır.

  3. Hedef sistem ICMP Echo Reply gönderir.

  4. Kaynak sistem cevap süresini ölçer.

Basit Şema

Saldırgan/Admin
|
| ICMP Echo Request
v
Hedef Sistem
|
| ICMP Echo Reply
v
Saldırgan/Admin

ICMP Protokolü

Ping, TCP veya UDP kullanmaz.

Bunun yerine:

  • Ağ Katmanı (Layer 3)

  • ICMP Protokolü

kullanılır.

Önemli ICMP Türleri:

Tür    Açıklama
0    Echo Reply
3    Destination Unreachable
5    Redirect
8    Echo Request
11    Time Exceeded

Temel Kullanım

Linux

ping 8.8.8.8

Windows

ping 8.8.8.8

Örnek çıktı:

64 bytes from 8.8.8.8:
icmp_seq=1 ttl=117 time=24.5 ms

Çıktının Analizi

64 bytes from 8.8.8.8:
icmp_seq=1 ttl=117 time=24.5 ms

64 bytes

Gönderilen veri boyutu.

icmp_seq

Paket sıra numarası.

ttl

Time To Live.

time

Gidiş-dönüş süresi (RTT).


TTL Nedir?

TTL, paketin ağ üzerinde geçebileceği maksimum yönlendirici sayısını belirtir.

Örnek:

TTL=64

Linux sistemlerde sıklıkla görülür.

TTL=128

Windows sistemlerde yaygındır.

Siber Güvenlik Açısından

TTL değerlerinden işletim sistemi tahmini yapılabilir.

TTL    Olası Sistem
64    Linux
128    Windows
255    Ağ Cihazı

Bu yöntem pasif işletim sistemi tespitinde kullanılabilir.


Ping ile Ağ Teşhisi

İnternet Bağlantısını Test Etme

ping 8.8.8.8

Başarılı sonuç:

Reply from 8.8.8.8

Başarısız sonuç:

Request timed out

DNS Sorunu Tespiti

IP çalışıyor ancak alan adı çalışmıyorsa:

ping google.com

Sonuç:

Ping request could not find host

DNS problemi olabilir.


Paket Kaybı Analizi

Örnek:

Packets: Sent = 100
Received = 95
Lost = 5

%5 paket kaybı vardır.

Siber güvenlik uzmanları bunu:

  • Ağ saldırıları

  • DDoS etkileri

  • Donanım sorunları

için inceler.


Linux Ping Parametreleri

Belirli Sayıda Paket Gönderme

ping -c 5 8.8.8.8

5 paket gönderir.


Süre Belirleme

ping -w 10 8.8.8.8

10 saniye çalışır.


Paket Boyutu Belirleme

ping -s 1400 8.8.8.8

1400 byte veri gönderir.


Sürekli Hızlı Ping

ping -i 0.2 8.8.8.8

200 ms aralıklarla gönderir.


Windows Ping Parametreleri

Paket Sayısı

ping -n 5 8.8.8.8

Paket Boyutu

ping -l 1400 8.8.8.8

Sonsuz Ping

ping -t 8.8.8.8

Durdurmak için:

CTRL+C

Siber Güvenlikte Ping Kullanımı

1. Host Discovery

Bir ağda canlı sistemleri tespit etmek için kullanılır.

Örnek:

for i in {1..254}
do
ping -c 1 192.168.1.$i
done

Amaç:

  • Aktif cihazları bulmak

  • Ağ haritası çıkarmak


2. Ağ Keşfi

Bir sızma testi sırasında:

ping 192.168.1.10

cevap veriyorsa:

  • Sistem açık

  • Ağ erişimi mevcut

olabilir.


3. Firewall Analizi

Bazı güvenlik duvarları ICMP'yi engeller.

Örnek:

Request timed out

Bu durum:

  • Sistem kapalı olabilir

  • Firewall ICMP engelliyor olabilir

anlamına gelir.


4. DDoS Ön Analizi

Yüksek gecikme:

time=1500ms

Ağda:

  • DDoS

  • Yoğun trafik

  • Tıkanıklık

olabileceğini gösterebilir.


Ping Sweep

Ping Sweep, bir ağdaki tüm IP adreslerine ping göndererek canlı sistemleri tespit etme işlemidir.

Örnek mantık:

192.168.1.1
192.168.1.2
192.168.1.3
...
192.168.1.254

Canlı olanlar listelenir.


Nmap ile Ping Sweep

Yetkili ağ keşiflerinde:

nmap -sn 192.168.1.0/24

Bu yöntem klasik ping döngülerinden daha hızlı ve güvenilirdir.


Wireshark ile Ping Analizi

Filtre:

icmp

Görülebilecek paketler:

Echo Request
Echo Reply

İncelenebilecek bilgiler:

  • Kaynak IP

  • Hedef IP

  • TTL

  • Gecikme

  • Paket boyutu


Güvenlik Riskleri

Ping masum görünse de bilgi sızdırabilir.

Örneğin:

  • Sistem aktif mi?

  • İşletim sistemi tahmini

  • Ağ yapısı

  • Firewall davranışı

hakkında ipuçları verebilir.

Bu nedenle kritik sistemlerde ICMP kısıtlanabilir.


Saldırganların Ping Kullanımı

Yetkisiz faaliyetlerden kaçınmak şartıyla, saldırganların ilk aşamada yaptığı işlemlerden biri canlı sistemleri belirlemektir.

Tipik süreç:

Keşif
Canlı Host Bulma
Port Tarama
Servis Analizi

Ping genellikle keşif aşamasında kullanılır.


Ping ve Nmap Karşılaştırması

Özellik        Ping        Nmap
Canlı Host Tespiti                
Port Tarama                
Servis Tespiti                
OS Tespiti        Kısıtlı        Gelişmiş
Hız        Çok Hızlı        Orta

En Sık Karşılaşılan Hatalar

Request Timed Out

Request timed out

Olası nedenler:

  • Hedef kapalı

  • Firewall engeli

  • Ağ sorunu


Destination Host Unreachable

Destination Host Unreachable

Olası nedenler:

  • Yanlış rota

  • Ağ geçidi sorunu


Unknown Host

Unknown Host

Olası nedenler:

  • DNS hatası

  • Yazım hatası


Siber Güvenlik Uzmanları İçin Önemli İpuçları

✅ Her zaman önce ping ile bağlantıyı doğrulayın.

✅ Yüksek gecikmeleri inceleyin.

✅ TTL değerlerini analiz edin.

✅ Paket kaybını takip edin.

✅ ICMP trafiğini Wireshark ile doğrulayın.

✅ Kritik ağlarda ICMP filtreleme politikalarını kontrol edin.


Sonuç

Ping komutu, basit görünmesine rağmen ağ teşhisi, olay müdahalesi, güvenlik izleme ve sistem yönetimi süreçlerinde son derece önemli bir araçtır. Bir siber güvenlik uzmanı için ping; erişilebilirlik testi, ağ keşfi, gecikme ölçümü, paket kaybı analizi ve temel keşif faaliyetlerinin başlangıç noktasıdır. Nmap, Wireshark, tcpdump ve diğer güvenlik araçlarıyla birlikte kullanıldığında ağ görünürlüğünü artıran güçlü bir teşhis mekanizması sağlar.

"Ping" komutu, genellikle internet bağlantımızın çalışıp çalışmadığını kontrol ettiğimiz masum bir ağ aracı olarak bilinse de, siber güvenlik perspektifinden bakıldığında hem saldırganlar (Red Team) hem de savunmacılar (Blue Team) için kritik bir bilgi toplama ve manipülasyon aracıdır.

Bir Ağ Aracının Anatomisi

1. Ping Nedir ve Nasıl Çalışır?

Ping, temelde ICMP (Internet Control Message Protocol) adlı protokolü kullanır. Bir bilgisayar, hedef cihaza ulaşılabilirliği test etmek için bir "Echo Request" (Yankı İsteği - Tip 8) paketi gönderir. Hedef cihaz ayaktaysa ve ICMP paketlerini engellemiyorsa, kaynağa bir "Echo Reply" (Yankı Yanıtı - Tip 0) paketi döndürür.

Güvenlik açısından Ping'in önemi, ağda hangi cihazların "hayatta" (up) olduğunu tespit etmesinden ve iki nokta arasındaki ağ politikaları hakkında ipuçları vermesinden kaynaklanır.

2. Siber Güvenlikte Ping'in Kullanım Alanları (Keşif Aşaması)

Siber saldırıların ilk aşaması bilgi toplamadır (Reconnaissance). Ping, bu aşamada ağ haritasını çıkarmak için sıkça kullanılır.

A. Ağ Keşfi ve Ping Sweep (Ping Taraması)

Saldırganlar veya sızma testi uzmanları (pentesters), bir ağdaki aktif cihazları bulmak için tek tek IP'leri denemek yerine Ping Sweep yaparlar. Belirli bir IP aralığındaki tüm adreslere otomatik olarak ICMP istekleri gönderilir.

  • Örnek (Linux): fping -a -g 192.168.1.0/24 veya Nmap kullanılarak nmap -sn 192.168.1.0/24

  • Sonuç: Ağdaki hangi IP adreslerinin kullanımda olduğu tespit edilir, bu da saldırı yüzeyini daraltır.

B. İşletim Sistemi Tespiti (OS Fingerprinting)

Ping komutunun çıktısındaki TTL (Time To Live - Yaşam Süresi) değeri, hedef cihazın işletim sistemi hakkında güçlü ipuçları verir. TTL, bir paketin ağda sonsuza kadar dolaşmasını engellemek için yönlendiriciler (router) tarafından her geçişte 1 azaltılan bir değerdir. Varsayılan başlangıç TTL değerleri şöyledir:

  • Linux/Unix: Genellikle 64

  • Windows: Genellikle 128

  • Ağ Cihazları (Cisco vb.): Genellikle 255 (Not: Araya giren yönlendirici sayısına göre bu değerler çıktıda biraz daha düşük görünebilir.)

3. Ping Tabanlı Siber Saldırı Vektörleri

Ping sadece bilgi toplamak için değil, doğrudan saldırı amacıyla da kullanılabilir.

A. Ping of Death (Ölüm Pingi)

Tarihsel ama öğretici bir saldırı türüdür. IP protokolüne göre bir paketin maksimum boyutu 65.535 bayt olabilir. Eski sistemlerde, saldırganlar bu boyutu aşan parçalanmış (fragmented) ICMP paketleri gönderdiğinde, hedef sistem bu paketleri birleştirirken bellek taşması (buffer overflow) yaşar ve çökerdi. Modern işletim sistemleri bu zafiyete karşı yamalanmıştır.

B. Ping Flood (Ping Seli - DoS)

En basit Denial of Service (DoS) saldırılarından biridir. Saldırgan, hedefin bant genişliğini veya işlemci gücünü tüketmek için aralıksız ve çok hızlı bir şekilde (flood) devasa boyutta ICMP paketleri gönderir.

  • Parametre Örneği (Linux): ping -f -s 1000 <Hedef_IP> (-f: Flood modu, yalnızca root ile çalışır. -s: Paket boyutu)

C. Smurf Saldırısı (Kuvvetlendirilmiş DoS)

Zekice kurgulanmış bir saldırıdır. Saldırgan, IP adresini hedef kurbanın IP adresiymiş gibi değiştirir (IP Spoofing) ve bir ağın yayın adresine (broadcast) ICMP Echo Request gönderir. Ağdaki yüzlerce cihaz, yanıtı saldırgana değil, sahte kaynak IP'ye (kurbana) gönderir. Böylece kurban, binlerce cihazdan gelen "Echo Reply" paketleriyle boğularak çöker.

D. ICMP Tunneling (Veri Sızdırma / C&C İletişimi)

Gelişmiş tehdit aktörlerinin (APT) başvurduğu sinsi bir yöntemdir. Çoğu güvenlik duvarı web (HTTP) veya e-posta (SMTP) trafiğini sıkı denetlerken, ICMP trafiğini gözden kaçırabilir. Saldırganlar, çalınan verileri veya komuta-kontrol (C&C) talimatlarını ICMP paketlerinin veri yükü (payload) kısmına gizleyerek güvenlik duvarlarını atlatırlar.

4. Güvenlik Denetimlerinde Sık Kullanılan Ping Parametreleri

Kendi ağınızı test ederken veya sorun giderirken şu parametreler güvenlik açısından değerlidir:

  • Linux için -c / Windows için -n (Sayı Belirleme): Gönderilecek paket sayısını belirler. Sınırsız gönderimi engeller.

    • Komut: ping -c 4 192.168.1.1

  • Linux için -i (Aralık Belirleme): Paketler arasındaki süreyi ayarlar. Güvenlik sistemlerini (IDS/IPS) tetiklememek için "Yavaş" (stealth) taramalar yaparken kullanılır.

    • Komut: ping -i 5 192.168.1.1 (5 saniyede bir paket)

  • Linux için -R (Record Route): Paketin hedefe giderken hangi yönlendiricilerden geçtiğini kaydeder (Ağ topolojisini anlamak için).

5. Savunma ve Sıkılaştırma (Mitigation)

Sistem yöneticileri ping tabanlı tehditleri azaltmak için şu adımları uygulamalıdır:

  1. WAN Üzerinde ICMP'yi Kısıtlamak: İnternetten (dışarıdan) gelen ICMP Echo Request paketlerini güvenlik duvarında (Firewall) engellemek (Drop/Deny), sunucuların dışarıdan keşfedilmesini zorlaştırır.

  2. Rate Limiting (Hız Sınırlandırması): ICMP trafiğini tamamen kapatmak ağ sorunlarını çözmeyi zorlaştırabilir. Bunun yerine saniyede kabul edilecek ping isteği sayısına sınır konulmalıdır (örneğin: iptables -A INPUT -p icmp -m limit --limit 1/s -j ACCEPT).

  3. Yayın (Broadcast) Yanıtlarını Kapatmak: Smurf saldırılarını engellemek için yönlendiricilerin broadcast adreslerine gelen pinglere yanıt vermesi engellenmelidir.

  4. IDS/IPS Kullanımı: Anormal boyuttaki ICMP paketlerini veya ICMP tünelleme şüphelerini tespit etmek için Saldırı Tespit Sistemleri yapılandırılmalıdır.

Özetle; Ping komutu, siber güvenlikte iki tarafı keskin bir kılıç gibidir. Ağ yapısını anlamak için eşsiz bir yardımcıyken, yanlış yapılandırılmış ağlarda bir DoS silahına veya veri sızdırma kanalına dönüşebilir.


Özellikle laboratuvar ortamlarında veya merkezi yönetilen Linux sunucularında bu yapılandırmaların nasıl uygulandığına odaklanacağız.

1. Smurf Saldırısı (Kuvvetlendirilmiş DoS)

Smurf saldırısı, ağdaki yönlendirme kurallarının zafiyetini kullanan, "yansıtma" (reflection) ve "kuvvetlendirme" (amplification) tabanlı bir saldırıdır.

Teknik Anatomisi

  1. IP Sızdırma (Spoofing): Saldırgan, ICMP Yankı İsteği (Echo Request) paketlerini oluştururken paketin "Kaynak IP" (Source IP) kısmına kendi adresini değil, hedef kurbanın IP adresini yazar.

  2. Yayın Adresine Hedefleme: Saldırgan, bu sahte paketleri doğrudan kurbana göndermez. Bunun yerine, korumasız veya yanlış yapılandırılmış bir ağın Yayın Adresine (Broadcast Address - örneğin 192.168.1.255) gönderir.

  3. Kuvvetlendirme Etkisi: Paket ağın yayın adresine ulaştığında, ağdaki (örneğin) 100 farklı cihazın tümü bu paketi alır.

  4. Yıkıcı Yanıt: Bu 100 cihazın her biri, protokole uygun olarak bir Yankı Yanıtı (Echo Reply) üretir. Ancak "Kaynak IP" olarak kurbanın adresi yazıldığı için, 100 cihaz da yanıtı kurbana gönderir. Saldırgan 1 paket gönderirken, kurban 100 paketle boğulur.

Güvenlik Duvarı / Sistem Üzerinde Engelleme (Mitigation)

Bir ağın Smurf saldırısında "kuvvetlendirici" (amplifikatör) olarak kullanılmasını engellemek için, cihazların yayın adreslerine (broadcast) gelen ICMP paketlerine yanıt vermesi kapatılmalıdır. Linux sistemlerinde bu işlem Çekirdek (Kernel) parametreleri değiştirilerek yapılır.

Geçici olarak engellemek için terminalde şu komut kullanılır:

Bash
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1

Kalıcı hale getirmek için /etc/sysctl.conf dosyasının içine şu satır eklenir ve ağ servisi veya sunucu yeniden başlatılır:

Plaintext
net.ipv4.icmp_echo_ignore_broadcasts = 1

Ayrıca, yönlendirici (router) arayüzlerinde "Directed Broadcast" özelliğinin kapalı olduğundan (örneğin Cisco cihazlarda no ip directed-broadcast) emin olunmalıdır.

2. ICMP Tunneling (Veri Sızdırma ve C&C)

Geleneksel güvenlik duvarları, bağlantı noktalarını (TCP/UDP portları) filtreler. Ancak ICMP port tabanlı çalışmaz ve çoğu ağda sorun giderme amacıyla açık bırakılır. Saldırganlar bu "güvenilir" kanalı istismar eder.

Teknik Anatomisi

Standart bir ICMP Yankı İsteği paketinde, hedef cihazın aynen geri döndürmesi gereken bir "Veri (Data)" veya "Yük (Payload)" alanı bulunur. Normal şartlarda bu alan anlamsız rastgele baytlarla (örneğin alfabenin harfleriyle) doldurulur.

  • Saldırgan (veya içerideki zararlı yazılım), bu veri alanındaki rastgele harfleri siler ve yerine şifrelenmiş komutlar veya dışarı sızdırılacak gizli dosyaların parçalarını yerleştirir.

  • Dışarıdaki bir saldırgan sunucusu (C&C Server), bu ICMP paketini alır, payload kısmındaki veriyi okur ve yanıtı yine ICMP paketi içine gizleyerek içeri gönderir.

  • Kullanılan Araçlar: ptunnel, icmptunnel veya hans gibi araçlar bu paketleri otomatik oluşturup bir "sanal ağ arabirimi" (VPN gibi) kurabilir.

Güvenlik Duvarı / Sistem Üzerinde Engelleme (Mitigation)

ICMP Tunneling'i engellemek biraz daha zordur çünkü meşru ping trafiğini bozmadan zararlı trafiği ayıklamak gerekir.

A. Paket Boyutu Sınırlaması (iptables ile): Tünelleme araçları veri taşımak zorunda olduğu için ICMP paket boyutlarını genellikle büyütürler. Normal bir ping paketi 64-84 bayt civarındadır. İzin verilen ICMP paket boyutunu kısıtlayarak tünelleri kırabilirsiniz:

Bash
iptables -A INPUT -p icmp --icmp-type echo-request -m length --length 85:65535 -j DROP

(Bu kural, 85 bayttan büyük gelen ping isteklerini düşürür.)

B. Oran Sınırlandırması (Rate Limiting): Tünel üzerinden mantıklı bir veri transferi (örneğin bir dosya indirme/yükleme) yapabilmek için saniyede binlerce ICMP paketi gönderilmesi gerekir. Hız sınırı koymak, tünelleme hızını "Dial-up" döneminden bile yavaş hale getirerek işlevsiz kılar:

Bash
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

(Bu kurallar, saniyede en fazla 1 ping isteğine izin verir, geri kalan spam veya tünelleme paketlerini reddeder.)

C. Derin Paket İncelemesi (DPI): En kesin çözüm, IDS/IPS (Örn: Snort, Suricata) kullanarak ICMP paketlerinin "Yük" (Payload) kısımlarını taramak ve standart dışı (şifrelenmiş veya anlamsız büyük) verileri tespit etmektir.

  1. ve 11. sınıf bilişim teknolojileri laboratuvar uygulamaları için öğrencilerin Packet Tracer üzerindeki topoloji kurulumlarını, siber saldırı simülasyonunu ve ACL tabanlı savunma yapılandırmalarını hızlıca ölçebileceğiniz kapsamlı bir değerlendirme matrisi (rubrik) hazırladım.

Bu matrisi fiziksel bir çıktı olarak kullanabileceğiniz gibi, yüzlerce öğrencinin sonucunu tek bir merkezden hesaplayabilmeniz için openpyxl kütüphanesini kullanan otomatik bir Python puanlama betiği ile de destekledim.

1. Packet Tracer Laboratuvarı Değerlendirme Matrisi (100 Tam Puan)

Öğrencilerin ağ temel bilgilerini ve güvenlik yapılandırmalarını ne kadar kavradıklarını adım adım ölçen kriter tablosu:

Değerlendirme KriteriBeklenen Gerçekleşme (Gösterge)Puan Değeri
Ağ Topolojisinin KurulumuYönlendirici (Router), Ağ Anahtarı (Switch), Sunucu ve 3 adet İstemci (PC) çalışma alanına doğru şekilde eklenmiş mi?15 Puan
IP Adresleme ve BağlantıCihazların IP adresleri ve alt ağ maskeleri (Subnet Mask) senaryoya uygun girilmiş mi? Uçtan uca normal ping atılabiliyor mu?15 Puan
Saldırı Simülasyonu (Red Team)Saldırgan PC üzerinden -l (boyut) ve -t (sürekli) parametreleri kullanılarak sunucuya doğru bir Ping Flood saldırısı başlatılabilmiş mi?20 Puan
Ağ Trafiği AnaliziSimülasyon modunda ICMP paket yığılması gözlemlenmiş ve bant genişliğinin tükendiği (Drop edilen paketler) tespit edilmiş mi?15 Puan
ACL Yapılandırması (Blue Team)Yönlendirici (Router) CLI ekranında, sadece sunucuya giden ICMP Echo Request paketlerini engelleyen Genişletilmiş ACL (access-list 100 deny icmp...) doğru yazılmış mı?25 Puan
Savunmanın DoğrulanmasıACL kuralı GigabitEthernet arayüzüne uygulanmış (ip access-group 100 in) ve saldırgan bilgisayardan atılan pinglerin yönlendiriciden dönmesi sağlanmış mı?10 Puan
Toplam100 Puan

2. Python (openpyxl) ile Otomatik Sınav Değerlendirme Aracı

Laboratuvardaki öğrenci sayısının fazla olduğu durumlarda, yukarıdaki kriterlere göre öğrencilerin aldığı notları (0 veya tam puan şeklinde) Excel'e hızlıca girip, toplam notları ve başarı durumlarını otomatik hesaplayan, hücreleri renklendiren bir değerlendirme betiği iş yükünüzü ciddi oranda hafifletecektir.

Python

import openpyxl
from openpyxl.styles import Font, PatternFill, Alignment

def laboratuvar_sonuclari_hesapla(girdi_dosyasi, cikti_dosyasi): # Excel dosyasını yükle wb = openpyxl.load_workbook(girdi_dosyasi) sheet = wb.active # Başlık satırını düzenle ve stillendir basliklar = ["Öğrenci No", "Ad Soyad", "Topoloji (15)", "IP Ayarları (15)", "Saldırı (20)", "Analiz (15)", "ACL (25)", "Doğrulama (10)", "TOPLAM PUAN", "DURUM"] for col_num, baslik in enumerate(basliklar, 1): cell = sheet.cell(row=1, column=col_num) cell.value = baslik cell.font = Font(bold=True, color="FFFFFF") cell.fill = PatternFill(start_color="4F81BD", end_color="4F81BD", fill_type="solid") cell.alignment = Alignment(horizontal="center") # Öğrenci satırlarını dön ve hesaplamaları yap # Varsayım: Öğrenci verileri 2. satırdan başlıyor for row in range(2, sheet.max_row + 1): toplam_puan = 0 # C sütunundan H sütununa kadar (Kriter 1 - Kriter 6) notları topla for col in range(3, 9): puan = sheet.cell(row=row, column=col).value if type(puan) in (int, float): toplam_puan += puan # Toplam Puanı yazdır sheet.cell(row=row, column=9).value = toplam_puan # Durumu belirle ve renklendir (Geçme notu 50 kabul edilmiştir) durum_hucresi = sheet.cell(row=row, column=10) if toplam_puan >= 50: durum_hucresi.value = "BAŞARILI" durum_hucresi.fill = PatternFill(start_color="C6EFCE", end_color="C6EFCE", fill_type="solid") durum_hucresi.font = Font(color="006100", bold=True) else: durum_hucresi.value = "BAŞARISIZ" durum_hucresi.fill = PatternFill(start_color="FFC7CE", end_color="FFC7CE", fill_type="solid") durum_hucresi.font = Font(color="9C0006", bold=True) # Sütun genişliklerini otomatik ayarla for col in sheet.columns: max_length = 0 column_letter = col[0].column_letter for cell in col: try: if len(str(cell.value)) > max_length: max_length = len(cell.value) except: pass adjusted_width = (max_length + 2) sheet.column_dimensions[column_letter].width = adjusted_width # Sonuçları kaydet wb.save(cikti_dosyasi) print(f"Değerlendirme tamamlandı. Sonuçlar '{cikti_dosyasi}' dosyasına kaydedildi.") # Kullanım Örneği:
# laboratuvar_sonuclari_hesapla("9lar_ag_lab_ham_notlar.xlsx", "9lar_ag_lab_sonuclar.xlsx")

Bu Python betiği sayesinde tek yapmanız gereken, öğrencilerin her bir kriteri geçip geçmediğini (örneğin 15, 20 gibi değerler vererek) bir Excel dosyasına girmek. Betik çalıştırıldığında toplam puanları hesaplayıp görsel bir rapor tablosu olarak yeni bir Excel dosyası üretecektir.


Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu