Próbuję zainstalować witrynę pod alternatywnym portem na serwerze, ale port może być zamknięty przez zaporę ogniową. Czy istnieje sposób pingowania lub wejścia na określonym porcie, aby sprawdzić, czy jest on otwarty?
windows-server-2003
port
ping
Jason
źródło
źródło
Odpowiedzi:
Zakładając, że próbujesz użyć portu TCP (zamiast UDP):
Na samym serwerze użyj,
netstat -an
aby sprawdzić, które porty nasłuchują.Z zewnątrz po prostu użyj
telnet host port
(lubtelnet host:port
w systemach Unix), aby sprawdzić, czy połączenie zostało odrzucone, zaakceptowane, czy upłynęły limity czasu.W tym ostatnim teście, ogólnie:
W systemie Windows 7 lub Windows Vista domyślna opcja „telnet” nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy. Aby rozwiązać ten problem, po prostu włącz go: Kliknij * Start ** → Panel sterowania → Programy → Włącz lub wyłącz Funkcje systemu Windows . Na liście przewiń w dół, wybierz Klient Telnet i kliknij OK.
źródło
Could not open connection to the host, on port *x*: Connect failed
oznacza?telnet api-3t.sandbox.paypal.com 443
dostajęConnecting to api-3t.sandbox.paypal.com...Could not open connection to the host on port 443: Connect failed
Czy to dlatego, że zapora go blokuje?o host port
vs linii poleceń (cmd.exe) otwartego i wpisztelnet host port
W systemie Windows możesz użyć
zawęzić wyniki. Można również filtrować
LISTENING
,ESTABLISHED
,TCP
i takie. Pamiętaj, że wielkość liter ma znaczenie.źródło
find
nie działa w systemie Windows 10 dla mnie, alenetstat -na | findstr "8080"
pracowałJeśli sprawdzasz z zewnątrz, a nie z samego serwera i nie chcesz zawracać sobie głowy instalowaniem telnetu (ponieważ nie jest on dostarczany z ostatnimi wersjami systemu Windows) lub jakiegokolwiek innego oprogramowania, masz natywną wersję programu PowerShell:
(Niestety działa to tylko z PowerShell 4.0 lub nowszym. Aby sprawdzić wersję PowerShell, wpisz
$PSVersionTable
.)PS: Zauważ, że w dzisiejszych czasach istnieją twitterowe sfery, które sugerują, że tę odpowiedź można poprawić, wspominając „Test-Connection” z PowerShell Core lub skrót „tnc”. Zobacz https://twitter.com/david_obrien/status/1214082339203993600 i pomóż mi edytować tę odpowiedź, aby ją poprawić, proszę!
(Jeśli masz PSVersion <4.0, nie masz szczęścia. Sprawdź tę tabelę:
Mimo że możesz uaktualnić swoją wersję PowerShell, instalując system Windows Management Framework 4.0 , nie udało mi się to, cmdlet Test-NetConnection jest nadal niedostępny).
źródło
Na komputerze z systemem Windows możesz użyć PortQry firmy Microsoft, aby sprawdzić, czy aplikacja nasłuchuje na określonym porcie za pomocą następującego polecenia:
źródło
portqry -n 11.22.33.44 -p udp -e 19132
Podobało mi się to:
z telnetu
I tylko upewnij się, że zapora jest wyłączona na tym komputerze.
źródło
netstat -an | find "8080"
,no such file named "8080"
Jeśli
telnet
nie jest dostępny, pobierz PuTTY . Jest znacznie lepszym klientem Telnet, SSH itp. I będzie przydatny w wielu sytuacjach, nie tylko w tym, szczególnie jeśli administrujesz serwerem.źródło
Czy potrzebujesz narzędzia do tego? Istnieje strona internetowa pod adresem http://www.canyouseeme.org/ . W przeciwnym razie potrzebujesz innego serwera, aby oddzwonić, aby sprawdzić, czy port jest otwarty ...
źródło
Użyj tego, jeśli chcesz zobaczyć wszystkie używane i nasłuchujące porty na serwerze Windows:
Zobacz wszystkie otwarte, nasłuchujące, ustanowione porty:
źródło
W systemie Windows Server możesz używać
źródło
Inną opcją jest tcping .
Na przykład:
tcping host port
źródło
PsPing z Sysinternals jest również bardzo dobry.
źródło
Oto, co zadziałało dla mnie:
telnet
Potwierdzi to, czy port jest otwarty.
źródło
Innym narzędziem, które znalazłem i jest dobre i małe, jest PortQry Command Line Port Scanner wersja 2.0 .
Możesz pingować serwer i port, a poinformuje ono o stanie portu. Istnieje narzędzie wiersza polecenia i interfejs użytkownika.
źródło