İçerikleri sosyal medya üzerinden paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz.



Kategori: Network
Fırat Boyan 26.12.2017 5

Bir IP Aralığına CMD Komutu İle Toplu Ping Atma

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

ip adresleri toplu ping atma

ip adresleri toplu ping atma

ip adresleri toplu ping atma

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

ip adresleri toplu ping atma

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"

ip adresleri toplu ping atma

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.



Yazar: Fırat Boyan

Adım Fırat Boyan. 1985 yılında Antalya'nın Alanya ilçesinde doğdum. 2008 yılından beri İstanbul'da yaşıyorum. Kıdemli Sistem Mühendisi, Microsft Sertifikalı Eğitmen (MCT) ve İngilizceden Türkçeye ve Türkçeden İngilizceye serbest, Noter Yeminli Tercümanım. 18 yıldır Bilgi Teknolojileri alanında hizmet veriyorum. Şu anda Data Market bünyesinde Senior Cloud Engineer olarak çalışıyorum ve Bilgi Teknolojileri alanında eğitim hizmetleri veren Bilge Adam bünyesinde Microsoft Sertifikalı Eğitmen (MCT) olarak Sistem ve Network Uzmanlığı eğitimleri veriyorum. Bunun yanı sıra, kurumsal firmalara BT danışmanlık hizmetleri de vermekteyim. Hakkımda daha fazla bilgi sahibi olmak ve sahip olduğum Microsoft sertifikalarımı incelemek için Hakkımda sayfasını ziyaret edebilirsiniz.

YORUMLAR
Bu makaleye 5 yorum yapıldı.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.

   
   
  750 karakter yazabilirsiniz.
 
Captcha
Güvenlik kodunu BÜYÜK harflerle giriniz.
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.
* E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.


30.01.2022 Fahrettin Usta
Merhabalar Fırat bey; Öncelikle paylaşımınız için teşekkür ederim. for /L %i in (1,1,254) do Ping -n 2 -w 250 10.25.1.%i C:\Users\firat.boyan\Desktop\ipaddresses.txt komutunu bat dosyası formatında çalıştırma imkanımız varmıdır? varsa nasıl yazmalıyız.

30.01.2022 Fırat Boyan
Merhaba Fahrettin, for /f "tokens1" %a in ('type "C:\Users\FIRATB\Desktop\ipaddresses.txt"') DO @ping -n 4 -w 250 %a komutu denersen çalışacaktır.


17.03.2020 Ebru Demiryürek
Bilgiler için teşekkürler.
25.12.2019 tuncay karaca
merhaba; makale oldukça faydalı Fırat bey. Bir sorum olacak FIND den önce ki karakter tam olarak ne dir?

25.12.2019 Fırat Boyan
Merhaba, FIND'den önceki karakter, alt gr ve Z'nin solundaki büyük küçük işratine aynı anda basılarak oluşturulan ve işereti. Pipeline olarak da geçer ve birden çok komutun ardışık biçimde işlemesine olanak sağlar.