Dwa ustawienia proxy mogą utworzyć łańcuch, którego nie zamierzałeś
Prześledź połączenie, gdy ustawienie proxy aplikacji zostanie połączone z opakowaniem proxy na poziomie procesu.
Twoja aplikacja wskazuje na proxy B, ale została uruchomiona przez opakowanie skonfigurowane dla proxy A. Które wyjście widzi witryna? Odpowiedź zależy od tego, które połączenie przechwytuje opakowanie.
W prostym zagnieżdżonym układzie aplikacja najpierw próbuje połączyć się z B. Opakowanie przechwytuje to połączenie i przeprowadza je przez A. Następnie aplikacja mówi protokołem proxy B przez powstały strumień, a B wykonuje końcowe połączenie z witryną.
application → wrapper proxy A → application proxy B → website
Witryna widzi końcowe połączenie wychodzące B. B widzi połączenie przychodzące przez A. Różni się to od sytuacji, gdy opakowanie po cichu nadpisuje własne ustawienie proxy aplikacji.
Prosty diagram ma warunki
Reguły pomijania, nieobsługiwane wywołania gniazd, istniejące procesy i model przechwytywania każdego produktu mogą zmienić ścieżkę. Niektóre opakowania mogą wykluczać własne proxy lub wybrane cele. Nie zakładaj, że każda para narzędzi łączy się tak samo.
Opis proxychains-ng wyjaśnia jego podejście do przechwytywania i ograniczenia. Program korzystający z natywnej obsługi proxy nadal nawiązuje połączenie sieciowe z tym proxy, co jest jednym z kandydatów do przechwycenia.
Aby świadomie zbudować łańcuch nieuwierzytelnionych publicznych punktów końcowych, lista darmowych proxy oferuje kandydatów, których protokoły muszą pasować do każdego narzędzia. W przypadku nieoczekiwanego wyjścia zanotuj osobno trzy adresy: punkt końcowy wybrany przez aplikację, punkt końcowy wybrany przez opakowanie i wynik widziany przez witrynę. Patrzenie tylko na ustawienia przeglądarki pomija środkową warstwę.
Używaj jednej trasy, ustalając zamierzone zachowanie, a drugą dodaj tylko wtedy, gdy łańcuch jest konieczny. Dodatkowe przeskoki mogą dodać punkty awarii i odmienne relacje zaufania. Nie usuwają automatycznie identyfikujących plików cookie ani nie sprawiają, że każde połączenie aplikacji podąża tą samą trasą.