أمس في ٠٧:٣٦
صاحب الموضوع
PowerShell ile Açık Portları Bulma
PowerShell, sistem yöneticileri ve güvenlik uzmanları tarafından sıkça kullanılan güçlü bir komut satırı aracıdır. Ağdaki açık portları tespit etmek, sistem güvenliğinin temel taşlarından biridir ve bu amaçla PowerShell kullanımı oldukça yaygındır. Bu yöntem, özellikle küçük ağlar veya belirli cihazların durumunu hızlıca kontrol etmek için tercih edilir.
İlk olarak, belirli bir IP adresi veya IP aralığında port taraması yapmak için TCP bağlantılarını test etmek gerekir. PowerShell'in
Test-NetConnection cmdlet'i, bu amaçla kullanılabilir. Örneğin, belirli bir IP'de 1 ile 1024 arasındaki portları taramak için şu komutu kullanabilirsiniz:
12345678PowerShell
1..1024 | ForEach-Object {
$port = $_
$result = Test-NetConnection -ComputerName 192.168.1.1 -Port $port -InformationLevel Quiet
if ($result) {
Write-Output "Açık Port: $port"
}
}
Bu script, 192.168.1.1 IP adresinde 1'den 1024'e kadar olan portları tek tek test eder.
Test-NetConnection başarılı olursa, portun açık olduğunu belirten çıktı üretir. Ayrıca, daha büyük ağlar veya farklı port aralıkları için bu komut kolayca uyarlanabilir.
Gelişmiş kullanımda, paralel tarama ve zaman aşımı ayarlarıyla performansı artırmak mümkündür. Örneğin, PowerShell 7 ve sonrası sürümlerinde
ForEach-Object -Parallel kullanmak veya
Start-Job ile çoklu işlemler başlatmak, tarama hızını ciddi anlamda yükseltir. Ancak, bu durumda sistem kaynaklarının dikkatli kullanılması ve ağ güvenliği politikalarına uyulması gerekir.
Son olarak, bu yöntemlerin etik kullanımı önemlidir. Kendi ağlarınızda veya izinli testlerde kullanmak, yasal sınırlar içinde kalmak şarttır. PowerShell ile port taraması, sistemlerinizi ve ağınızı daha iyi anlamanıza ve güvenlik açıklarını tespit etmenize yardımcı olur.