PowerShell ile Ağda Kullanılan IP Adreslerini Listelemek

Hazırladığım bir demo ortamını kendi evimden internete çıkartmam gerektiğinde kafamda şöyle bir soru belirdi: “Acaba evde hangi IP adreslerini kullanıyorum?” Evet, kendi bilgisayarlarıma ve sanal sunucularıma
verdiğim adresler aşağı yukarı aklımda, ancak işin içine XBOX, Televizyon, üst kattaki kuzenimin evindeki cihazlar vesaire girince IP listesi takip edilemez bir hal alıyor. Üstelik bir dönem LAB ortamımdaki DHCP’yi kullanabilmek için networkü de ikiye bölmüştüm.. Çaresizlik diz boyu. “Acaba hangi adresleri kullanabilirim?” sorusu yerini yavaş yavaş “Acaba IP altyapımı nasıl düzenlerim?” e bıraktı. Bunun için ise yapılması gereken ilk şey ise kullanımdaki IP adreslerini listelemek..

Ağı tarayıp basit ICMP paketleri ile IP adreslerinin canlı olup olmadığını belirlemek için pek çok üçüncü parti yazılım kullanılabilir. Veya powershell kullanılarak bu işi otomatize edecek bir komut da yazabiliriz.

 

Bu komut; “1..255 | foreach-object { (new-object system.net.networkinformation.ping).Send("192.168.1.$_") } where-object {$_.Status -eq "Success"} | select Address “ komutu olabilir. Bu komut ile 1-255 arası tüm rakamlar için (bunlar Ipv4 adresinin son okteti olarak değerlendirilecek) System.Net.Networkinformation.Ping objesi içerisinde ilk üç okteti verilen Ipv4 adresine Send görevi uygulanacak. Bunun devamında ise elde edilen sonuçlardan “success” olan sonuçların IP Adres bilgileri alınacak.

Görüldüğü üzere bu komutun çıktısı benim ev ağımda kullanılan IP adreslerini listeledi.

Comments

  • Anonymous
    January 01, 2003
    Merhabalar,Resimdeki komut ile resmin altındaki komut arasında farklılık vardır. Where-object komutundan önce | yani pipeline olmalıdır.