Forum Discussion

emreozanmemis's avatar
emreozanmemis
Steel Contributor
Jun 04, 2020

PowerShell ile IP Scan islemi (tr-TR)

PowerShell ile bu makalemizde de network adminleri için basit bir komut ile belirlediğiniz aralıkda IPleri tarayıp hangi IPlerin aktif kullanıldığını belirleyebilirsiniz. Ping komutunun gelişmiş bir hali olarak düşünebilirsiniz. Komut bütünü temelinde kullanmış olduğu ping komutunun reply from cevabı veren IPleri belirleyerek komut satırında görüntülemenizi sağlar.

<IP aralıgi> | %{ping -n 1 -w 15 Network IP.$_ | select-string "reply from"}

Basit bir örnek ile açıklamak gerekirse IP aralığı için 1 den 254 de kadar bir aralık belirleyip bu aralık arasında IP taraması yapmasını isteyebilirsiniz. Network IP adresi için de Network adresiniz için 192.168.1.$  şeklinde tanımlama yapmanız yeterli olacaktır.

1..254 | %{ping -n 1 -w 15 192.168.1.$_ | select-string "reply from"}

 Örnek uygulama çıktısı aşağıdaki gibidir.

PowerShell 6.2.3
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS C:\Users\oadmin> 1..254 | %{ping -n 1 -w 15 192.168.1.$_ | select-string "reply from"}

Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.33: bytes=32 time=42ms TTL=64
Reply from 192.168.1.34: bytes=32 time<1ms TTL=128
Reply from 192.168.1.42: bytes=32 time=2ms TTL=64

 

İşi biraz daha yukarıya taşımak istersek cevap veren IP adrelerini listelemek istersek de aşağıdaki örnek scripti kullanabilirsiniz. İşlemin sonuçlanması ve kullanılan IPlerin listelenmesi zaman alabilir.

 

1..255 | foreach-object { (new-objectsystem.net.networkinformation.ping).Send("192.168.1.$_") } | where-object {$_.Status -eq "Success"} | select Address

Uygulama çıktısı aşağıdaki gibidir.

PowerShell 6.2.3
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS C:\Users\oadmin> 1..255 | foreach-object { (new-object system.net.networkinformation.ping).Send("192.168.1.$_") } | where-object {$_.Status -eq "Success"} | select Address

Address
-------
192.168.1.1
192.168.1.33
192.168.1.34
192.168.1.42
192.168.1.62

 

No RepliesBe the first to reply

Resources