| Termin | Definicja |
|---|---|
| Nie działa przypisywanie portu niestandardowego | Niedziałające przypisywanie portu niestandardowego wskazuje na konflikt z inną usługą już nasłuchującą na tym samym porcie. Na czym polega przypisanie portu niestandardowegoPort niestandardowy to numer portu wybrany zamiast wartości używanej domyślnie przez daną aplikację lub usługę. Samo przypisanie może oznaczać ustawienie portu, na którym program ma oczekiwać połączeń, przekierowanie ruchu w zaporze sieciowej albo powiązanie numeru portu z konkretnym adresem IP i protokołem. W praktyce trzeba rozróżnić port TCP od portu UDP, ponieważ są to osobne przestrzenie numeracji i osobne mechanizmy komunikacji. Ten sam numer może być więc używany jednocześnie przez jedną usługę TCP i inną usługę UDP. Jeżeli aplikacja nie przyjmuje ustawionego portu, nie oznacza to automatycznie uszkodzenia samego programu. Podczas uruchamiania usługa próbuje wykonać operację bind, czyli zarezerwować określony adres lokalny i port dla komunikacji. System odrzuca tę operację, gdy wymagany port jest już zajęty, adres jest niedostępny dla danego interfejsu albo konfiguracja nie pozwala na utworzenie nasłuchu. Z tego powodu komunikat o nieudanym przypisaniu portu należy analizować razem ze stanem usług, interfejsów sieciowych i zapory. Konflikt nasłuchu i jego rzeczywiste przyczynyNajczęstszym powodem problemu jest inny proces, który już nasłuchuje na tej samej kombinacji protokołu, adresu lokalnego i numeru portu. Konflikt może powstać po uruchomieniu dwóch kopii tej samej aplikacji, po pozostawieniu procesu działającego w tle albo po zmianie konfiguracji usługi bez zatrzymania poprzedniej instancji. Zdarza się również, że port zajmuje zupełnie inny program, na przykład narzędzie synchronizujące, moduł aktualizacji, lokalny serwer deweloperski lub składnik oprogramowania zabezpieczającego. Ważne jest ustalenie, czy problem dotyczy faktycznie nasłuchu, czy tylko reguły zapory. Port zablokowany przez zaporę może być prawidłowo przypisany przez aplikację, ale połączenia przychodzące nadal będą odrzucane. Odwrotna sytuacja także jest możliwa: reguła zapory może zezwalać na dany numer, lecz żadna aplikacja nie nasłuchuje na tym porcie. Należy sprawdzić również, czy konfiguracja wskazuje właściwy adres lokalny. Usługa związana wyłącznie z adresem konkretnego interfejsu nie musi przyjmować połączeń kierowanych na adres innej karty sieciowej. Na komputerze z Windows stan portów można wstępnie sprawdzić poleceniem Bezpieczna kolejność sprawdzania konfiguracjiDiagnostykę warto rozpocząć od zapisania dokładnego numeru portu, protokołu oraz adresu, który aplikacja próbuje wykorzystać. Następnie należy zatrzymać badaną usługę i sprawdzić, czy port nadal pozostaje zajęty. Jeżeli po zatrzymaniu programu nasłuch nie znika, prawdopodobnie odpowiada za niego inny proces. Jeżeli port jest wolny, problem może pojawiać się dopiero przy starcie aplikacji, na przykład wskutek równoczesnego uruchamiania kilku składników albo błędnej kolejności usług. Po zidentyfikowaniu właściciela portu nie należy kończyć przypadkowego procesu bez ustalenia jego funkcji. Zatrzymanie nieznanej usługi może przerwać pracę programu, utracić aktywne połączenia albo spowodować ponowne uruchomienie procesu przez mechanizm systemowy. Prawidłowe rozwiązanie polega na wybraniu jednej z dwóch dróg: zwolnieniu portu przez zmianę konfiguracji kolidującej usługi albo ustawieniu badanemu programowi innego, wolnego portu. Po zmianie trzeba zaktualizować wszystkie zależne ustawienia, w tym adres używany przez klienta, reguły zapory i ewentualne wpisy przekierowania w routerze. Numer portu powinien mieścić się w zakresie od 0 do 65535, jednak porty od 0 do 1023 są powszechnie traktowane jako uprzywilejowane lub zarezerwowane dla standardowych usług. Wybór wolnego numeru nie gwarantuje poprawnego działania, ponieważ aplikacja może wymagać określonego portu, konkretnego protokołu albo uprawnień administratora. Po zmianie należy ponownie uruchomić usługę, sprawdzić, czy utworzyła nasłuch, a następnie wykonać próbę połączenia z właściwego urządzenia. Test z tego samego komputera nie zawsze potwierdza dostępność z sieci lokalnej lub Internetu. Diagnoza na komputerze i przywrócenie komunikacjiJeżeli przypisywanie portu nadal się nie udaje, trzeba porównać konfigurację aplikacji z rzeczywistym stanem systemu. Weryfikacji wymagają między innymi literówki w numerze portu, niezgodność TCP i UDP, nieaktualny plik konfiguracyjny, brak uprawnień do uruchomienia nasłuchu oraz reguły zapory odnoszące się do innego programu lub profilu sieciowego. W systemach z kilkoma kartami sieciowymi należy sprawdzić, czy usługa nasłuchuje na właściwym interfejsie. Przydatne są również logi aplikacji i systemu, ponieważ często zawierają dokładny kod błędu operacji otwarcia gniazda. W przypadku portu używanego przez proces, który powinien działać, zmiana numeru może nie być właściwym rozwiązaniem. Należy wtedy ustalić, czy badana aplikacja nie uruchamia drugiej instancji, czy usługa nie pozostawiła procesu po awaryjnym zamknięciu oraz czy konfiguracja nie jest nadpisywana przez inny plik lub profil użytkownika. Po usunięciu przyczyny warto wykonać kontrolę po restarcie systemu, ponieważ konflikt może powracać, gdy program kolidujący uruchamia się automatycznie przed właściwą usługą. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i ich podzespołów, w tym diagnostykę problemów z konfiguracją aplikacji, usług systemowych, sieci lokalnej oraz zapory. Przy takim zgłoszeniu istotne jest przekazanie dokładnego komunikatu błędu, numeru portu, rodzaju protokołu i informacji o tym, czy problem występuje po każdym uruchomieniu. Pozwala to odróżnić konflikt procesu od blokady zapory, błędnego adresu interfejsu lub niepełnej konfiguracji po stronie programu. |