127.0.0.1:57573 Przewodnik po porcie lokalnym i rozwiązywanie problemów

127.0.0.1:57573 Przewodnik po porcie lokalnym i rozwiązywanie problemów

Uruchom mały skrypt Flaska. Wklej `http://127.0.0.1:57573` do przeglądarki. Dwa rezultaty. Strona się załaduje albo terminal zaświeci się na czerwono z komunikatem `ECONNREFUSED`, a przeglądarka wyświetli smutną ikonę odłączonej wtyczki.

Żaden z wyników nie jest tajemniczy. Adres składa się z dwóch połówek: 127.0.0.1 to pętla zwrotna IPv4, a 57573 to port, który system operacyjny pobrał niemal losowo ze swojej puli portów o wysokim numerze. Ten przewodnik omawia obie połówki. Przyjrzymy się, dlaczego tak wiele serwerów lokalnych trafia na taki port i omówimy kilka problemów, które mogą wystąpić przed nawiązaniem połączenia. Na koniec powinieneś wiedzieć, jak powiązać usługę z odpowiednim interfejsem, sprawdzić, co faktycznie nasłuchuje na porcie, rozwiązać konflikty portów i blokady zapory sieciowej oraz zablokować serwer lokalny przed skierowaniem na niego publicznego Internetu.

Co oznacza 127.0.0.1:57573 w prostym języku angielskim

Trzy części. Adres IP 127.0.0.1 to pętla zwrotna IPv4. Dwukropek oznacza „i na tym porcie”. 57573 to sam port, znajdujący się w zakresie wysokich numerów, którego żadna powszechnie wdrożona usługa nie ma na stałe.

Połącz się z nim, a jądro przekieruje pakiet bezpośrednio do komputera lokalnego. Bez karty sieciowej. Bez przełącznika. Bez podróży w obie strony przez żaden kabel. Adres pozwala procesowi komunikować się z innymi procesami na tym samym hoście bez udostępniania czegokolwiek sieci zewnętrznej. Na tym właśnie polega pętla zwrotna.

Rezerwacja jest starsza niż większość korzystających z niej programistów. Sekcja 3.2.1.3 dokumentu RFC 1122 na zawsze usunęła z sieci cały blok 127.0.0.0/8, wszystkie 16 777 216 adresów, już w 1989 roku. Rejestr adresów specjalnego przeznaczenia IPv4 IANA, regulowany przez dokument RFC 6890 i aktualizowany przez dokument RFC 8190, oznacza ten sam blok jako nieprzekierowywalny, nieroutowalny globalnie i zarezerwowany przez protokół. Każdy proces nasłuchujący na adresie 127.0.0.1 widzi tylko ruch z własnego hosta. Wszystko, co przychodzi z zewnątrz i deklaruje adres źródłowy 127, zostaje po cichu odrzucone. Specjaliści od sieci nazywają te pakiety „marsjanami”.

Nazwa „localhost” to po prostu przyjazna dla człowieka nazwa hosta dla tego samego pomysłu. Otwórz „/etc/hosts” w systemie macOS lub Linux albo „C:\Windows\System32\drivers\etc\hosts” w systemie Windows, a zobaczysz na górze wiersz: „127.0.0.1 localhost”.

127.0.0.1:57573 Wyjaśnienie

Adres pętli zwrotnej: jak localhost kieruje do Twojej maszyny

127.0.0.1 to słynna sieć. Nie jedyna. Cały blok 127.0.0.0/8, ponad szesnaście milionów adresów, tworzy pętlę zwrotną. Można pingować 127.42.42.42 w Linuksie. Działa. Większość z nas odruchowo trzyma się 127.0.0.1, ale szerszy blok ma znaczenie podczas czytania reguł iptables lub audytu obrazu z zabezpieczeniem. (Od lat w IETF krąży projekt, który proponuje odzyskanie większości adresu 127/8 do użytku unicast. Nie został on przyjęty).

Strona IPv6 jest prostsza. Jeden adres, `::1`, zdefiniowany w RFC 4291. Brak /8. Brak zapasowego. Jeśli Twoja usługa łączy się tylko z `::1`, wszystko, co próbuje 127.0.0.1, nie otrzymuje niczego i odwrotnie. Na nowoczesnym komputerze z Linuksem i macOS `localhost` jest rozwiązywany na oba adresy, więc przeglądarka zazwyczaj najpierw próbuje `::1`, błąd, a następnie wraca do poprzedniej wersji. Widać to jako niewielkie, ale widoczne opóźnienie. Przypnij do jednego adresu w skrypcie, a niejednoznaczność zniknie.

Jądro obsługuje pakiety pętli zwrotnej na interfejsie wirtualnym. W systemie Linux nazywa się to `lo`. W systemie macOS `lo0`. `ip link show` i `ifconfig lo0` wyświetlają pakiety. Ten sam stos zapory sieciowej, który kontroluje wszystko inne, kontroluje również pętlę zwrotną, dlatego agresywna konfiguracja zapory sieciowej może zakłócać ruch lokalny. Więcej na ten temat w kilku sekcjach.

Podsumowanie dla programistów: 127.0.0.1 to najbezpieczniejszy interfejs do połączenia. Nic poza Twoją maszyną nie może się z nim połączyć. Kontenery i maszyny wirtualne mają własną pętlę zwrotną, niezależną od hosta, co stanowi problem dla większości programistów, gdy po raz pierwszy spodziewają się, że 127.0.0.1 w kontenerze Dockera magicznie połączy się z usługą na laptopie.

Dlaczego port 57573? Wyjaśnienie zakresów numerów portów IANA

Port 57573 nie jest niczym szczególnym. System operacyjny lub framework przejął go, ponieważ był wolny. Aby zrozumieć, dlaczego tak duża liczba pojawia się tak często, trzeba przyjrzeć się sposobowi, w jaki IANA dzieli 16-bitową przestrzeń portów. Cały schemat jest opisany w RFC 6335 oraz w Rejestrze Nazw Usług i Numerów Portów Protokołu Transportowego IANA.

Zakres Nazwa IANA Przykłady
0–1023 System / znane porty 22 SSH, 80 HTTP, 443 HTTPS, 53 DNS
1024–49151 Porty użytkownika / zarejestrowane 3306 MySQL, 5432 Postgres, 8080 alt-HTTP
49152–65535 Dynamiczny / prywatny / efemeryczny Automatycznie przypisane przez system operacyjny, nigdy nie zarejestrowane w IANA

49152–65535 to zakres zalecany przez IANA dla portów efemerycznych. Prawdziwe kernele często się z tym nie zgadzają. Linux domyślnie dostarczany jest z zakresem 32768–60999 („sysctl net.ipv4.ip_local_port_range”). Windows od Visty używał zakresu 49152–65535. W erze XP stosowano zakres 1025–5000, który był wąskim zakresem, który pod obciążeniem obciążał porty i powodował słynne awarie. macOS trzyma się specyfikacji IANA. Port 57573 pasuje do każdego nowoczesnego domyślnego portu. Ten jeden fakt wyjaśnia, dlaczego nawiedza on dzienniki deweloperów.

Gdy kod wykonuje `app.run(port=0)` w Flasku lub `server.listen(0)` w Node, system operacyjny wybiera dowolny wolny port spoza swojego lokalnego zakresu dynamicznego. Na laptopie z Linuksem oznacza to od 32768 do 60999. Port 57573 mieści się wygodnie w tym zakresie. Podobnie jest z narzędziami do automatycznego przypisywania: Vite (który celowo domyślnie ustawił 127.0.0.1 w 2022 roku, aby uniemożliwić programistom wycieki serwerów przez Wi-Fi kawiarni), webpack-dev-server, VS Code Live Server, Jupyter, mosty sterowników Selenium, Playwright, debuger `--inspect=0` w Node. Wszystkie one po prostu proszą kernel o wolny port o wysokiej rozdzielczości i używają tego, co otrzymają.

Jeśli więc w śladzie stosu pojawił się port 57573, nudna odpowiedź jest prawie zawsze prawidłowa. Albo jakiś proces celowo się tam umieścił, albo framework poprosił o „dowolny wolny port”, a jądro wybrało właśnie ten. Nie ma nic złego w samym numerze portu 57573. Większość lokalnych frameworków testowych i programistycznych traktuje cały zakres wysokiego poziomu jako bezpieczne, odizolowane środowisko, ponieważ żadna usługa publiczna nie jest od niego zależna.

Powiązanie serwera z adresem 127.0.0.1 w porównaniu z 0.0.0.0 i ::1

Wybierz zły cel wiązania, a pojawią się dziwne błędy. Trzy definicje, które warto zapamiętać.

Adres 127.0.0.1 wiąże tylko pętlę zwrotną IPv4. Dostępny z tego samego komputera na dowolnym kliencie IPv4. Nigdy z zewnątrz.

::1 wiąże tylko pętlę zwrotną IPv6. Ten sam pomysł, ale tylko klienci IPv6 na tym samym komputerze.

0.0.0.0 łączy wszystkie interfejsy IPv4 na urządzeniu. Każdy, kto routuje dane do Twojego komputera, może się z nim połączyć, w tym telefony w tej samej sieci Wi-Fi, użytkownicy VPN oraz (z przekierowaniem portów) internet publiczny.

Do codziennego programowania użyj powiązania 127.0.0.1. To jedyny interfejs, w którym zapory sieciowe, zasady VPN i przypadkowe ujawnienie danych przestają być problemem. Flask, FastAPI i Express domyślnie korzystają z tego interfejsu.

Z mojego doświadczenia wynika, że ludzie skłaniają się ku adresowi 0.0.0.0 z trzech różnych powodów. Testowanie na telefonie przez sieć LAN. Testowanie w Dockerze. Postępowanie zgodnie z samouczkiem, którego autor skopiował i wkleił nieprawidłową wartość domyślną. Każde z tych działań jest bezpieczniejsze. W przypadku testowania w sieci LAN należy powiązać adres IP konkretnej sieci LAN i dodać tymczasową regułę zapory sieciowej. W przypadku Dockera należy powiązać adres 0.0.0.0 z kontenerem, ale opublikować go na hoście poleceniem `docker run -p 127.0.0.1:8080:8080 …`. W przypadku samouczków należy zignorować wiersz 0.0.0.0 i przypiąć go do 127.0.0.1, chyba że istnieje ku temu konkretny powód.

Nudny fragment kodu Flask pokazuje bezpieczną wartość domyślną:

```

z importu kolby Flask

aplikacja = Flask(__name__)

@app.route("/")

def indeks():

zwróć "Witaj, localhost!"

jeśli __name__ == "__main__":

aplikacja.run(host="127.0.0.1", port=57573)

```

Inspekcja portu 57573 za pomocą netstat, lsof i ss

Coś nasłuchuje na 57573, a ty nie masz pojęcia co. Polecenie zależy od twojego systemu operacyjnego. Zapamiętaj tę krótką listę, a będziesz z niej korzystać przez lata.

System operacyjny / powłoka Rozkaz Notatki
Linux (nowoczesny) `ss -tlnp \ grep :57573` Zastępuje netstat. Pokazuje proces, jeśli uruchamiasz jako root.
Linux (starsza wersja) `netstat -tlnp \ grep :57573` net-tools nie mogą być instalowane na małych obrazach
macOS `lsof -i :57573` To samo w Linuksie. Obejmuje proces i użytkownika.
Polecenie cmd systemu Windows `netstat -ano \ findstr :57573` Kolumna PID jest mapowana na Menedżera zadań
Windows PowerShell `Get-NetTCPConnection -LocalPort 57573` Czystszy, skryptowalny

Typowy wynik działania systemu Linux:

```

$ ss -tlnp | grep 57573

NASŁUCHUJ 0 4096 127.0.0.1:57573 0.0.0.0:* użytkownicy:(("python3",pid=18432,fd=4))

```

Sześć pól, od lewej do prawej. Stan. Kolejka nadawcza. Kolejka odbiorcza. Adres lokalny. Adres peera. Proces. W tym przypadku PID 18432. `kill 18432` w systemie Unix. `Stop-Process -Id 18432` w programie PowerShell. Gotowe. Jeśli chciałeś tylko odzyskać port, to jest to całe rozwiązanie.

A co, jeśli nic się nie pojawi? Wtedy nic nie nasłuchuje, co samo w sobie jest przydatną informacją. Ten błąd przeglądarki, który ciągle widzisz: „Połączenie odrzucone”, zazwyczaj oznacza właśnie to. Twój serwer zniknął. Zawiesił się podczas uruchamiania albo w ogóle nie połączył się z wpisanym adresem.

Typowe błędy połączenia i ich znaczenie

Sześć rzeczy. To cała lista błędów, które widzisz pod adresem 127.0.0.1:57573. Przeczytaj ciąg błędów i wybierz grupę.

`EADDRINUSE`, „Adres jest już używany” lub „port 57573 jest już przydzielony” – wszystkie te polecenia oznaczają to samo. Inna aplikacja korzysta z tego portu. Polecenia inspect z poprzedniej sekcji wskazują, która to aplikacja. Wyłącz ją lub po prostu użyj innego portu dla swojej usługi. Narzędzia takie jak netstat lub lsof kończą zadanie w jednym wierszu.

`ECONNREFUSED`, bardziej przyjazny ciąg „Połączenie odrzucone”, mówi: TCP dostał się do jądra, ale nikt nie odebrał telefonu. Twój serwer padł podczas uruchamiania lub w ogóle się nie połączył. Spójrz na terminal, na którym go uruchomiłeś. Ślad jest tam.

Komunikaty `ETIMEDOUT` i „Przekroczono limit czasu połączenia” oznaczają, że pakiety znikają po cichu. W przypadku adresu 127.0.0.1 taka sytuacja praktycznie nigdy nie powinna mieć miejsca. Jeśli jednak do tego dojdzie, przyczyną jest reguła zapory sieciowej, agent VPN lub jakieś narzędzie do ochrony punktów końcowych. Wyłączaj je pojedynczo, ponawiaj i tak w kółko.

`EACCES` („Odmowa dostępu”) pojawia się, gdy próbujesz połączyć się z portem poniżej 1024 bez uprawnień roota. Użyj portu wysokiego, takiego jak 57573, lub uruchom plik binarny jako root. Trzecia opcja nie istnieje.

`EAI_NONAME` i inne błędy DNS oznaczają, że nazwa hosta nigdy nie została rozwiązana. Plik hosts powinien mapować `localhost` na 127.0.0.1. Klient VPN mógł to zmienić. Administrator systemu mógł przesłać uszkodzony obraz. Otwórz plik hosts. Upewnij się, że `127.0.0.1 localhost` to pierwszy wiersz bez komentarza.

Ostatnia, podstępna opcja. Po czystym zamknięciu kernel blokuje gniazdo w TIME_WAIT na około dwie minuty. Po szybkim restarcie serwera zobaczysz komunikat „Adres jest już używany”, mimo że nikt nie podsłuchuje. Trzy rozwiązania: poczekać, ustawić `SO_REUSEADDR` w bind lub po prostu przełączyć się na inny port. Większość z nas przełącza się.

Przeczytaj ciąg błędu. Wybierz wiadro. Zastosuj poprawkę. Cała pętla zazwyczaj zamyka się w niecałą minutę.

127.0.0.1:57573 Wyjaśnienie

Ustawienia zapory sieciowej blokujące port 57573

Ruch pętli zwrotnej jest teoretycznie zawsze dozwolony. W praktyce reguły zapory sieciowej czasami go łamią. Typowi podejrzani w 2026 roku:

  • Zapora aplikacji macOS z opcją „Blokuj połączenia przychodzące” ustawioną na wartość ścisłą. Dodaj plik binarny, który jest właścicielem portu 57573, do listy dozwolonych w Ustawieniach systemu → Sieć → Zapora.
  • Niezgodność profilu Zapory systemu Windows Defender. Nowe narzędzie programistyczne wyświetla monit o zezwolenie na dostęp. Odruchowo klikasz Anuluj. Blokada następuje automatycznie. Otwórz `wf.msc`, usuń regułę odmowy i zaakceptuj monit następnym razem.
  • Linux ufw lub iptables z domyślnymi zasadami zostały zaostrzone. `ufw status verbose` wyświetla reguły. `ufw allow from 127.0.0.1` jawnie otwiera pętlę zwrotną. Większość domyślnych ustawień dystrybucji już zezwala na `lo`, ale niektóre obrazy z utwardzoną strukturą nie.
  • Korporacyjna sieć VPN lub agent Zero Trust przechwytujący ruch. Niektórzy agenci pośredniczą w połączeniach lokalnych przez nasłuchiwacz przestrzeni użytkownika i dyskretnie modyfikują pętlę zwrotną. Wyłącz agenta na minutę, aby to potwierdzić.
  • Ochrona antywirusowa lub punktów końcowych. Produkty EDR czasami blokują pliki binarne deweloperskie, które wiążą się z portami wysokiego poziomu, dopóki nie zostaną dodane do białej listy.

W każdym zarządzanym środowisku korporacyjnym należy spodziewać się uruchomienia co najmniej jednego z tych komunikatów. Schemat diagnostyczny jest taki sam: sprawdź ustawienia zapory sieciowej, a następnie uruchom polecenie `curl http://127.0.0.1:57573` z poziomu tej samej powłoki, która uruchomiła serwer. Curl działa, ale przeglądarka nie działa? Wybierasz niewłaściwy interfejs (często `::1` zamiast 127.0.0.1) lub włączona jest polityka dostępu do sieci prywatnej. Curl również nie działa? Jądro lub zapora sieciowa przechwytuje pakiet, zanim ten dotrze do kodu. Twórcy stron internetowych i administratorzy sieci wymieniają się tymi wskazówkami na wewnętrznych wiki, ponieważ objawy wyglądają identycznie, dopóki nie zostaną użyte dwa razy.

Localhost w przestrzeniach kodowych Docker, WSL i GitHub

Trzy miejsca, w których localhost przestaje zachowywać się zgodnie z oczekiwaniami.

Najpierw Docker. Wewnątrz kontenera, 127.0.0.1 to pętla zwrotna kontenera . Nie Twoja. Więc jeśli Twój laptop uruchamia usługę pod adresem 127.0.0.1:57573, kontener nie może się z nią połączyć pod tym samym adresem. Nigdy. Brama hosta znajduje się gdzie indziej: `host.docker.internal` na komputerach Mac i Windows, jakiś adres IP mostu w systemie Linux. Kierunek odwrotny (usługa kontenera, obiekt wywołujący hosta) wymaga flagi publikacji. `docker run -p 127.0.0.1:57573:57573 my-image`. Usuń `-p`, a port po prostu nie istnieje poza kontenerem.

WSL2 ma swoją własną osobowość. Tryb lustrzanego połączenia sieciowego (opt-in w systemie Windows 11 22H2 i nowszych, poprzez `[wsl2] networkingMode=mirrored`) współdzieli stos sieciowy hosta z maszyną wirtualną WSL. W tym trybie usługa pod adresem 127.0.0.1:57573 w WSL odpowiada w systemie Windows pod tym samym adresem. Domyślny tryb NAT nadal przekierowuje porty, ale tylko dla ciągów `localhost`, a nie zawsze dla dosłownego adresu 127.0.0.1. Istnieje również znany, nieprzyjemny błąd, śledzony jako Microsoft WSL #40169. Tryb lustrzanego połączenia po cichu blokuje duże obszary portów o wysokim poziomie. Próby powiązania portu 127.0.0.1 kończą się niepowodzeniem z błędem `WinError 10013`, który Python uprzejmie zgłasza jako `PermissionError`. Jeśli port odmawia powiązania w systemie Windows bez wyraźnego powodu, należy to najpierw sprawdzić.

GitHub Codespaces i VS Code Remote SSH działają w odwrotnym kierunku. Automatycznie przekierowują porty. Uruchom serwer w Codespace pod adresem 127.0.0.1:57573, a edytor otworzy dla Ciebie tunel, udostępniając ten port pod unikalnym adresem URL github.dev. Karta przeglądarki otwierana na laptopie komunikuje się z tym adresem URL, a nie z 127.0.0.1, a żądanie przechodzi przez tunel z powrotem do obszaru roboczego.

Nazwa punktu końcowego wygląda więc tak samo. Rzeczywista ścieżka, którą pokonuje pakiet, jest diametralnie różna w każdym środowisku. Pięć minut spędzonych na ustalaniu, w jakim środowisku się znajdujesz, pozwala zaoszczędzić dwadzieścia minut spędzonych na wpatrywaniu się w komunikat „odmowa połączenia”.

HTTPS na komputerze lokalnym: najlepsze praktyki zapewniające bezpieczeństwo lokalnych środowisk programistycznych

Nowoczesne przeglądarki i wiele interfejsów API wymagają protokołu HTTPS nawet w przypadku lokalnego tworzenia aplikacji. Pracownicy usług (Service Workers). Geolokalizacja. Interfejs API schowka. Każdy plik cookie oznaczony jako „Secure”. Wszystkie te elementy odmawiają działania w zwykłym protokole HTTP. Jest jeden wyjątek: 127.0.0.1, który przeglądarka i tak traktuje jako bezpieczny kontekst. Ten wyjątek obejmuje większość zwykłych użytkowników. W przypadku wszystkich innych aplikacji należy używać protokołu TLS lokalnie.

Zdecydowanie najczystszym narzędziem jest mkcert, napisany przez Filippo Valsordę. Uruchom go raz poleceniem `mkcert -install`, a następnie `mkcert localhost 127.0.0.1 ::1`, a otrzymasz certyfikat `localhost+2.pem` oraz klucz. Skieruj serwer deweloperski na tę parę. Przeglądarka wyświetla czystą kłódkę bez ostrzeżenia, ponieważ mkcert zainstalował lokalny główny urząd certyfikacji w systemie i zaufane magazyny Firefoksa. Let's Encrypt nie może wystawić prawdziwego certyfikatu dla `127.0.0.1`, ponieważ nie ma domeny do weryfikacji, więc lokalny urząd certyfikacji jest standardową odpowiedzią.

Warto poznać jeszcze kilka innych wzorców:

  • W przypadku testów automatycznych należy wskazać magiczną usługę DNS (`nip.io`, `sslip.io`, `traefik.me`, `localhost.direct`), aby zamienić adres IP na prawdziwą nazwę hosta, taką jak `127.0.0.1.nip.io`. Let's Encrypt lub ZeroSSL mogą je certyfikować, a `localhost.direct` publikuje nawet wstępnie wydany certyfikat wieloznaczny.
  • Powiąż swoją usługę z adresem 127.0.0.1, a nie 0.0.0.0, aby certyfikat (obejmujący `127.0.0.1`) faktycznie pasował.
  • Nie zapisuj certyfikatów deweloperskich w Gicie. mkcert domyślnie zapisuje je w katalogu roboczym. Dodaj parę do `.gitignore` natychmiast.
  • Co kilka miesięcy należy dokonać rotacji lokalnego urzędu certyfikacji. Polecenie `mkcert -uninstall` wyczyści go.
  • Jeśli korzystasz z korporacyjnego proxy MITM, zaakceptuj, że proxy zamieni Twoje certyfikaty. Wyłącz proxy na `127.0.0.1`, jeśli Twoje narzędzia to obsługują.

Przeglądarki mają również specjalną regułę, którą warto znać. Zgodnie ze specyfikacją W3C Secure Contexts, adresy `http://127.0.0.1`, `http://localhost` i `http://[::1]` są uznawane za „potencjalnie godne zaufania”, co pozwala stronie HTTPS na ich pobranie bez uruchamiania blokady mieszanej zawartości. To wyłączenie jest przeznaczone specjalnie dla lokalnych środowisk programistycznych.

Localhost nie stanowi granicy bezpieczeństwa w sposób, w jaki często zakładają to deweloperzy. Przeglądarki mogą zostać oszukane i uzyskać do niego dostęp z dowolnych stron internetowych poprzez ponowne wiązanie DNS, w którym złośliwa witryna ponownie rozwiązuje swoją nazwę hosta na 127.0.0.1 i pozwala JavaScriptowi na stronie atakującego komunikować się z lokalnymi usługami w źródle oryginalnej witryny. Luka CVE w Zoomie z 2019 roku (CVE-2019-13450) jest kanonicznym przypadkiem. Zoom zainstalował ukryty serwer WWW na `localhost:19421` na macOS, aby linki do spotkań mogły uruchamiać aplikację komputerową, a każda strona internetowa mogła pobrać z niego dane, aby wymusić dołączenie użytkownika do spotkania z włączoną kamerą. Około 4 miliony komputerów Mac zostało dotkniętych tym problemem, plus trzynaście klientów white label dostarczonych na tym samym silniku. Chrome 142, wydany pod koniec 2025 roku, zastąpił starszą wersję Private Network Access (dostępu do sieci prywatnej) funkcją Local Network Access (dostępu do sieci lokalnej). Strony publiczne wymagają teraz wyraźnego monitu o zezwolenie, zanim będą mogły dotrzeć do adresów pętli zwrotnej lub prywatnych, co eliminuje większość sztuczek zautomatyzowanych przez Singularity firmy NCC Group. Ostrzeżenie Straikera z 2025 roku dokumentowało ten sam atak na lokalnie działające serwery Model Context Protocol, który stał się szybko rosnącym obszarem, ponieważ deweloperzy uruchamiają coraz więcej agentów LLM w pętli zwrotnej. Powiąż ściśle z adresem 127.0.0.1, wymagaj uwierzytelnienia, sprawdź nagłówek „Origin” i unikaj wieloznacznego CORS w interfejsach API dla deweloperów. Te cztery nawyki pozwalają uniknąć większości tych problemów.

Wskazówki dotyczące rozwiązywania problemów i krótka lista kontrolna diagnostyczna

Jeśli 127.0.0.1:57573 odmawia odpowiedzi, przejrzyj tę krótką listę, zanim zaczniesz podejrzewać głębszą magię.

1. Sprawdź, czy serwer faktycznie działa. Spójrz na terminal, z którego go uruchomiłeś. Jeśli się zawiesił, ślad stosu jest tam, gdzie go umieściłeś.

2. Upewnij się, że jest powiązany z adresem 127.0.0.1, a nie tylko z 0.0.0.0 lub ::1. Większość frameworków wyświetla adres powiązania podczas uruchamiania. Przeczytaj wiersz.

3. Spróbuj `curl -v http://127.0.0.1:57573` z tej samej powłoki. Curl działa? Problem leży w przeglądarce, a nie w serwerze.

4. Dowiedz się, kto jest właścicielem portu. Linux, `ss -tlnp | grep :57573`. macOS, `lsof -i :57573`. Windows, `netstat -ano | findstr :57573`.

5. Czy to niewłaściwy proces? Wyłącz go i zrestartuj serwer.

6. Nic nie nasłuchuje? Spójrz na log startowy. `EACCES` oznacza port uprzywilejowany. `EADDRINUSE` zazwyczaj oznacza nieaktualny TIME_WAIT.

7. Wypróbuj formę IPv6. `curl http://[::1]:57573`. Jeśli jeden z adresów `127.0.0.1` lub `::1` działa, a drugi nie, Twoja usługa jest jednostosowa.

8. Spróbuj innego portu: wpisz `--port 12345` (lub cokolwiek innego) i przeładuj. Nowy port działa? Masz konflikt specyficzny dla portu.

9. Wyłącz VPN, program antywirusowy i agentów punktów końcowych na minutę. Jeśli 57573 zacznie odpowiadać, jeden z nich przechwytuje ruch.

10. Zrestartuj, a przynajmniej zrestartuj interfejs sieciowy. Prawie nigdy nie jest to rozwiązanie. Czyści nieaktualne gniazda i zablokowany stan zapory, gdy nic innego nie pomaga.

W przypadku większości problemów deweloperskich, te pierwsze cztery kroki rozwiązywania problemów pozwalają zidentyfikować przyczynę awarii połączenia. Pozostałe obejmują naprawdę nietypowe przypadki, w których niezgodność IPv6, nieaktualne gniazda lub wrogie warstwy zapory sieciowej ukrywają prawdziwą przyczynę awarii. Przeczytaj komunikat o błędzie, a następnie przejdź do listy.

Jedna uwaga dotycząca Plisio. Podczas integracji webhooków procesora płatności kryptowalutowych, bramka potrzebuje publicznego adresu URL, na który może wysłać żądanie POST. Faktury Plisio akceptują `callback_url` w paczce API, a system wysyła aktualizacje statusu do tego punktu końcowego. Twój lokalny serwer pod adresem 127.0.0.1:57573 jest z definicji niedostępny z publicznego internetu, więc standardowym rozwiązaniem jest tunelowanie. W 2026 roku typowymi rozwiązaniami są ngrok (Personal 8 USD/mies., Pro 20 USD/mies.), Cloudflare Tunnel (bezpłatny do 50 użytkowników w Zero Trust) i Tailscale Funnel (bezpłatny do użytku osobistego, płatny dla zespołów od 6 USD/użytkownika/mies.). Każdy z nich przyjmuje publiczną nazwę hosta i przekierowuje ruch do adresu 127.0.0.1:57573 Twojego laptopa. Zestawy SDK dla języków Python, PHP i Node firmy Plisio zawierają funkcję pomocniczą `validate_callback`, która weryfikuje algorytm HMAC-SHA1 `verify_hash` w uporządkowanym tekście JSON, dzięki czemu po podłączeniu tunelu ta sama funkcja obsługi działa identycznie w środowisku deweloperskim i produkcyjnym.

Jakieś pytania?

Dla deweloperów: tak, adres pozostaje na komputerze. Ryzyko jest w większości przypadków spowodowane przez samych deweloperów: przypadkowe powiązanie adresu 0.0.0.0, wysłanie interfejsu API debugowania bez uwierzytelnienia lub pozwolenie wrogiej stronie internetowej na ponowne powiązanie CSRF lub DNS. Powiąż adres 127.0.0.1. Wymagaj uwierzytelnienia. Usuń wieloznaczny kod CORS. Większość problemów znika.

Najpierw log serwera, zawsze. Jeśli proces jest aktywny, wykonaj polecenie `curl http://127.0.0.1:57573` z tej samej powłoki. Działa w curl, ale nie działa w przeglądarce? Niezgodność IPv6 z IPv4. Nie działa wszędzie? Coś między kernelem a kodem przechwytuje. Zazwyczaj zapora sieciowa, program antywirusowy lub korporacyjny agent VPN.

Nie mogą. Cały blok 127.0.0.0/8 należy do pętli zwrotnej, a jądro odrzuca każdy pakiet przychodzący, który deklaruje źródło 127.x. Aby faktycznie udostępnić serwer lokalny, należy albo uruchomić tunel (ngrok, Cloudflare Tunnel), albo połączyć się z prawdziwym interfejsem sieciowym i celowo otworzyć zaporę sieciową. Nie ma przypadkowej ścieżki z internetu.

Znajdź właściciela, a następnie zabij go. Mac lub Linux: `lsof -i :57573`. Nowoczesny Linux: `ss -tlnp | grep :57573`. Windows: `netstat -ano | findstr :57573`. Albo po prostu przenieś swoją aplikację na inny port. Tak czy inaczej, sześćdziesiąt sekund.

Jakiś serwer deweloperski jest uruchomiony. Mógł to być serwer, który sam uruchomiłeś. Mógł to być serwer, który uruchomiło jakieś narzędzie za twoimi plecami. Flask. Vite. webpack-dev-server. Jupyter. Wszystkie domyślnie wiążą się z adresem 127.0.0.1 i wszystkie zajmują wolny port, jeśli preferowany slot jest zajęty. Usługa działa tam, dopóki jej nie wyłączysz lub nie przepiszesz pliku konfiguracyjnego aplikacji.

Dwie części. 127.0.0.1, adres IP pętli zwrotnej. 57573, numer portu, który Twój system operacyjny wyciągnął z dynamicznej puli portów. Ruch między nimi pozostaje w obrębie serwera. Koniec historii.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.