Giriş: Bir portun mevcut olup olmadığını kontrol edebilecek ve belirli bir maksimum port numarasına kadar false ise 1 ile artıran bir bash fonksiyonu yarattım. Örneğin, eğer port 500 müsait değilse, 501'in kullanılabilirliği 550 yılına kadar kontrol edilecektir.
Amaç: Bu bash fonksiyonunu test etmek için LISTEN durumunda olan bir dizi port oluşturmam gerekiyor.
Denemeler: Windows'ta bu PowerShell komutlarını kullanarak bir LISTEN portu oluşturmak mümkündür :
PS C:\Users\u> netstat -nat | grep 1234
PS C:\Users\u> $listener = [System.Net.Sockets.TcpListener]1234
PS C:\Users\u> $listener.Start();
PS C:\Users\u> netstat -nat | grep 1234
TCP 0.0.0.0:1234 0.0.0.0:0 LISTENING InHost
PS C:\Users\u> $listener.Stop();
PS C:\Users\u> netstat -nat | grep 1234
PS C:\Users\u>
Buna dayanarak, CentOS'ta da aynı şeyi yapabilecek bir komut hakkında düşünmeye çalışıyordum, ancak nedenini bilmiyorum ve bu sorunu çözecek bir çözüm bulmadan Google’a başladım.
Beklenen cevap : Bir LISTEN portu yaratabilen bir komut içeren cevabı kabul edip onaracağım ve komut çalıştırıldıktan sonra port LISTEN durumunda kalmalı, yani:
[user@host ~]$ ss -nat | grep 500
LISTEN 0 128 *:500 *:*
netstat -an --tcp | awk '/LISTEN/ {sub(".*:", "", $4); print $4}' | sort -nu
. * BSD üzerinde:netstat -an -f inet -p tcp | awk '/LISTEN/ {sub(".*\\.", "", $4); print $4}' | sort -nu
.