Ping, ICMP (Internet Control Message Protocol-Internet Kontrol Mesaj Protokolü) protokol komutudur. Internet Katmanında IP paketinin veri bölümünde çalışıp, sorunları haberleşen birimlere bildirerek bir geri besleme mekanizması oluşturur. ICMP genel olarak; TTL süresi dolduğu zaman paketin sahibine bildirim yapma, herhangi bir durumda yok edilen paket hakkında geribildirim sağlama, hata oluşumlarında geribildirim sağlama; paket, başka bir yoldan gideceği zaman geribildirim sağlama gibi görevler üstlenir. Sorun çözümü için sıkça kullanılan Ping ve Tracert komutları, ICMP Echo Request ve ICMP Echo Reply mesajları ile çalışır. Yani Ping işleminde; Ping'in, Ping atılan PC'ye geri yollanması, yani Echo yapan (Ping Atan) PC'ye Echo Reply yollaması gerekmektedir.
TCP/IP protokol takımında Internet Protokolü (IP), bilgisayarlar arasında veya ağ geçitlerinde hata raporlama, hata düzeltme ya da durum bildirme yeteneklerine sahip değildir. Connectionless (bağlantısız) bir protokol olan IP, Kullanıcı Veri bloğu Protokolü (UDP) üstünden iki uç nokta arasında bağlantı kurulup kurulmadığıyla ilgilenmez. Aşağıdaki komut yardımıyla Network ortamınızda belirleyeceğiniz bir IP bloğu üzerindeki tüm IP adreslerini tek seferde Ping'leyip, boşta olan IP adreslerini bulabilir ve dilerseniz bir dosyaya yazdırabilirsiniz.
1- Aşağıdaki döngü komutu, ör. 10.10.10.0 Network ID'sine ait olan tüm IP adreslerini tek tek Ping'leyecek, sonuçlarını ise benim belirlediğim bir dizin altındaki TXT dosyasına yazacaktır.
For /L %i in (1,1,254) do Ping -n 1 -w 250 10.10.0.%i>> c:\Users\fboyan\Documents\IPaddresses.txt |



2- Aynı işlemi, Ping sonucunu bir dosyaya yazdırmadan sadece ekran çıktısı olarak alabilirsiniz.
For /L %i in (1,1,254) do Ping -n 1 -w 250 10.10.0.%i |

3- Aynı işlemi, Ping sonucunun istatistik bilgilerini çekmeden ve bir dosyaya yazdırmadan, sadece yapılan Echo Request'lere dönen Echo Reply'ları listeleyebiliriz. FIND parametresi ise, filtreleme yapmak için kullanılmaktadır ve "Reply" ile Echo Request paketlerine dönen Echo Reply paketlerini görüntüler.
For /L %i in (1,1,254) do Ping -n 1 -w 250 10.10.0.%i | FIND /i "Reply" |

Döngü komutunda kullanılan parametre detayları ise aşağıdaki gibidir.
• for:
Döngü komutudur. Ping işlemleri bir döngüye bağlı olarak ilerler.
• /L:
Loop parametresidir. for dögüsü, bu parametre ile tetiklenecektir.
• %i:
Bir değişken değeridir. "i" yerine başka bir değer de girilebilir. Buradaki değişken değeri, komut satırında belli noktalarda referans olarak kullanılır.
• (1,1,254):
Ping'lenecek IP Adresleri 1'den başlar, 1'er, 1'er ilerler ve 254'e kadar devam eder. Buradaki sayısal değerler, isteğe bağlı olarak değiştirilebilir.
• -n:
IP başına Ping'leme işleminin ne kadar tekrarlanacağını belirlediğimiz parametre. Parametre verilmezse, varsayılan olatak 32 bit'lik 4 paket yollayacaktır. -n parametresinden sonra bir sayı değeri belirterek, kaç tane 32 bit'lik Ping paketi yollacağımızı belirlemiş oluruz.
• -w:
Dönen her bir Echo (Ping) Reply paketinin milisaniye cinsinden Timeout süresini belirler.
• 10.10.0.%i:
Buradaki %i, (1,1,254) ile belirlediğiniz üçüncü bölümdeki 10.10.0.1-10.10.0.254 aralığındaki her bir IP adresine referans olacak kısımdır.
Faydalı olması dileğiyle...
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.