Konfigurując usługę sieciową lub rozwiązując problem z jej dostępnością warto sprawdzić czy odpowiednie porty są otwarte i dostępne z poziomu sieci LAN bądź WAN. Pod Windows przez długi czas wykorzystywano w tym celu polecenie telnet, ale PowerShell oferuje bardziej rozbudowane rozwiązanie.
Chesz przetestować działanie poniższych instrukcji, a nie masz dostępu do serwera Linuxowego? Po rejestacji na DigitalOcean otrzymasz 100 dolarów do wykorzystania w ciągu 60 dni, a z przyjaznym interfejsem uruchomisz ulubioną dystrybucję w ciągu paru minut.
Podłączenie do konkretnego portu realizuje się za pomocą polecenia Test-NetConnection
z parametrami -RemoteAddress
oraz -RemotePort
.
I tak chcąc, na przykład, sprawdzić czy serwer pod adresem wp.pl
nasłuchuje na porcie 80
wystarczy skorzystać z poniższego polecenia.
PS C:\> Test-NetConnection -RemoteAddress wp.pl -RemotePort 80
ComputerName : wp.pl
RemoteAddress : 212.77.98.9
RemotePort : 80
InterfaceAlias : Ethernet
SourceAddress : 192.168.0.104
TcpTestSucceeded : True
PS C:\>
Chcąc sprawdzić dostępność wielu serwerów (na przykład wp.pl oraz onet.pl) można skorzystać z nieco bardziej rozbudowanej wersji skryptu. Wpierw deklarowana jest tablica z adresami serwerów, a następnie jej wartości są pojedynczo przekazywane do polecenia Test-NetConnection
.
$servers = @(wp.pl, onet.pl)
$servers | ForEach-Object { Test-NetConnection -RemoteAddress $_ -RemotePort 80 }
ComputerName : wp.pl
RemoteAddress : 212.77.98.9
RemotePort : 80
InterfaceAlias : Ethernet
SourceAddress : 192.168.0.104
TcpTestSucceeded : True
ComputerName : onet.pl
RemoteAddress : 213.180.141.140
RemotePort : 80
InterfaceAlias : Ethernet
SourceAddress : 192.168.0.104
TcpTestSucceeded : True
PS C:\>
Skomentuj