Bu yazımızda sıklıkla kullandığımız ip taraması(Ip Scan) işlemini PowerShell ile network üzerinde nasıl yaparız ve erişim durumlarını nasıl kontrol edebiliriz bunları anlatacağız.
Ip Nedir?
IP adresi (İnternet Protokolü), ağdaki cihazımızın bir adresidir. Cihazınızın, ağınızdaki ve herhangi bir lokasyondaki diğer cihazlarla iletişiminin kurmasını sağlar. IP adresi, sayılardan veya karakterlerden oluşur.
Nasıl Ip Taraması Yapılır? (Powershell Yardımıyla Ip Taraması)
Şimdi bu IP adreslerinin ağ üzerindeki durumlarını taramayı nasıl yapacağız bunları birlikte incelemeye başlayalım. Bunu yapabilmek için tabiki birçok program mevcuttur. Fakat iki satır kod ile powershell aracılığıyla da bu işlemleri gerçekleştirebiliriz.
Belirlediğiniz IP aralığında (1..254) yer alan IP adreslerine ping atarak çıkan sonuçları görüntüleyebilirsiniz.
PS C:UsersAdministrator>1..254 | %{ping -n 1 -w 15 192.168.10.$_ | select-string "reply from"}
Komut sonrası örnek çıktı aşağıdaki gibidir.
PS C:UsersAdministrator> 1..254 | %{ping -n 1 -w 15 192.168.10.$_ | select-string "reply from"}Reply from 192.168.10.17: bytes=32 time<1ms TTL=63Reply from 192.168.10.18: bytes=32 time<1ms TTL=126Reply from 192.168.10.19: bytes=32 time<1ms TTL=126Reply from 192.168.10.20: bytes=32 time<1ms TTL=126Reply from 192.168.10.21: bytes=32 time<1ms TTL=126Reply from 192.168.10.22: bytes=32 time<1ms TTL=126Reply from 192.168.10.17: bytes=32 time<1ms TTL=63Reply from 192.168.10.25: bytes=32 time<1ms TTL=63Reply from 192.168.10.26: bytes=32 time=1ms TTL=126Reply from 192.168.10.25: bytes=32 time<1ms TTL=63Reply from 192.168.10.29: bytes=32 time<1ms TTL=63Reply from 192.168.10.30: bytes=32 time<1ms TTL=126Reply from 192.168.10.29: bytes=32 time=2ms TTL=63Reply from 192.168.10.41: bytes=32 time<1ms TTL=63Reply from 192.168.10.42: bytes=32 time<1ms TTL=62Reply from 192.168.10.43: bytes=32 time<1ms TTL=62
Diğer PowerShell komutumuz, ping sonucunda başarılı olan IP adreslerinin çıktısını verir.
PS C:UsersAdministrator>1..255 | foreach-object { (new-object system.net.networkinformation.ping).Send("192.168.10.$_") } | where-object {$_.Status -eq "Success"} | select Address
Komut sonrası örnek çıktı aşağıdaki gibidir.
PS C:UsersAdministrator>1..255 | foreach-object { (new-object system.net.networkinformation.ping).Send("192.168.10.$_") } | where-object {$_.Status -eq "Success"} | select AddressAddress-------192.168.10.17192.168.10.18192.168.10.19192.168.10.20192.168.10.21192.168.10.22
192.168.10.17192.168.10.25192.168.10.26192.168.10.25
192.168.10.29192.168.10.30192.168.10.29192.168.10.41192.168.10.42192.168.10.43
Bu yazımızda microsoft windows powershell ile ip taraması nasıl yapılacağına dair kısa bilgiler verdim. Yeni oluşturacağınız bir ağ yapısında işleme başlamadan önce, özelikle bilmediğiniz bir network ise işinize yarayacak komutlar olduğunu düşünüyorum.