Przejdź do głównej zawartości

Przechwytywanie na poziomie procesu

Chcesz zobaczyć ruch tylko jednego programu, ale bez całej mitręgi w stylu “zmień globalne proxy, zainstaluj certyfikat, a po przechwytywaniu wszystko przywróć”? Podaj polecenie uruchamiające, a narzędzie samo wystartuje program, przechwyci ruch tylko tego jednego i pokaże tekst jawny od chwili uruchomienia, bez żadnego zakłócania innego oprogramowania w systemie. Najlżejszy i najczystszy sposób na przechwycenie ruchu pojedynczego programu.


Skierowanie pojedynczego programu przez proxy zwykle oznacza zmianę proxy systemowego, zainstalowanie dla niego certyfikatu, a potem przywrócenie wszystkiego, z ryzykiem wpłynięcia na inne oprogramowanie, jeśli człowiek nie uważa. Przechwytywanie na poziomie procesu pomija to wszystko:

Kierowanie pojedynczego programu przez proxy (podejście tradycyjne) Przechwytywanie na poziomie procesu
Proxy dla całego systemu Trzeba je zmienić, a potem przywrócić Nietknięte
Instalacja certyfikatu Trzeba go zainstalować, a program musi mu ufać Niepotrzebna
Wpływ na inne oprogramowanie Możliwy (globalne proxy “wylewa się” na resztę) Zero zakłóceń (dotyczy tylko tego jednego programu)
Widok tekstu jawnego Tylko jeśli program ufa certyfikatowi Tekst jawny od uruchomienia (automatyczne odszyfrowanie popularnych programów)
Sprzątanie po przechwytywaniu Trzeba przywrócić proxy / usunąć certyfikat Wystarczy zatrzymać, nic nie trzeba przywracać

Krótko mówiąc: przechwytywanie przez proxy dotyka “całej maszyny”, a przechwytywanie na poziomie procesu dotyka tylko “tego jednego programu”. Jeśli chcesz w czysty sposób zobaczyć, co wysyła pojedynczy program, to najmniej kłopotliwa droga.


  • Przechwytuje tylko ten jeden program, zero ingerencji: nie zmienia proxy systemowego, nie instaluje certyfikatu i nie dotyka karty sieciowej; przechwytywany jest wyłącznie program, który uruchamiasz. Inne oprogramowanie w systemie pozostaje całkowicie nienaruszone, a po przechwytywaniu nie ma nic do sprzątania.
  • Tekst jawny od uruchomienia, szeroki zasięg: przeglądarki, aplikacje na komputery w stylu Electron, Node, Python, Java na komputery oraz narzędzia wiersza poleceń korzystające z popularnych bibliotek kryptograficznych, wszystkie pokazują tekst jawny w chwili, gdy jedno polecenie je wystartuje, bez konieczności konfigurowania czegokolwiek w programie i bez instalowania certyfikatu.
  • Automatyczne podążanie za procesami potomnymi: procesy potomne, które program tworzy wewnętrznie, są również przechwytywane, nic nie umyka.
  • Gotowe, kiedy tylko zechcesz: aby zdebugować skrypt lub sprawdzić API, wpisz polecenie i zacznij przechwytywać, o wiele szybciej niż konfigurowanie proxy i instalowanie certyfikatu.

W polu “Polecenie uruchamiające” wpisz polecenie, które chcesz wykonać (na przykład python3 app.py), a narzędzie je wystartuje i przechwyci ruch tylko tego programu. Wbudowane są trzy przykłady do uruchomienia jednym kliknięciem; kliknij któryś, aby uzupełnić pole automatycznie, a następnie dostosuj według potrzeb:

  • Przykład z przeglądarką: uruchamia osobne, czyste okno przeglądarki (pozostawiając bez zmian przeglądarkę, której używasz na co dzień) i przechwytuje je bezpośrednio; HTTP/3 (QUIC) zostało już za Ciebie ustawione tak, aby przechodziło na zwykłe połączenie, więc łatwo je przechwycić i można je odszyfrować.
  • Przykład z Pythonem: wyślij żądanie jednym poleceniem i zobacz tekst jawny.
  • Przykład z wierszem poleceń: żądanie HTTPS wykonane z wiersza poleceń jest przechwytywane natychmiast.

Nowa sesja · Przechwytywanie na poziomie procesu: wpisz polecenie uruchamiające, a narzędzie samo wystartuje program, przechwyci tylko ten jeden i automatycznie go odszyfruje; wbudowane są przykłady do uruchomienia jednym kliknięciem dla przeglądarki / Pythona / wiersza poleceń

Jeśli inny przechwytywany program również używa HTTP/3, włącz na poziomie sesji opcję “Blokuj HTTP/3”, aby przeszedł na zwykłe połączenie, co tak samo ułatwia przechwycenie i umożliwia odszyfrowanie.


4. Widok tekstu jawnego: co działa, a co wymaga innego podejścia

Dział zatytułowany „4. Widok tekstu jawnego: co działa, a co wymaga innego podejścia”
  • Popularne programy: tekst jawny od uruchomienia. Przeglądarki, aplikacje Electron, Node, Python, Java na komputery oraz narzędzia wiersza poleceń korzystające z popularnych bibliotek kryptograficznych pokazują tekst jawny bezpośrednio po uruchomieniu, bez dodatkowych kroków.

Rzeczywisty wynik: program uruchomiony pojedynczym poleceniem ma przechwycone i odszyfrowane żądanie HTTPS; w szczegółach widać status TLS “Odszyfrowano”, a nagłówki żądania i odpowiedź JSON są przejrzyście rozłożone

  • Kilku programów nie da się odszyfrować (można je przechwycić, ale tylko jako tekst zaszyfrowany): niektóre programy, które korzystają ze specjalnych bibliotek kryptograficznych, nie oddają tekstu jawnego tą metodą. Najbardziej typowy przykład to wbudowany curl w systemie macOS (oraz narzędzia oparte na tej samej systemowej bibliotece kryptograficznej); tak samo jest z niektórymi programami napisanymi wyłącznie w Go.

    Aby zobaczyć tekst jawny dla HTTPS wysyłanego z wiersza poleceń, najpewniejszy jest “przykład z Pythonem”; albo przełącz się na curl oparty na OpenSSL.

  • Programy, które całkowicie ignorują ustawienia proxy: ta metoda nie może przechwycić ich ruchu.

Dla takich “opancerzonych” lub specjalnych programów przełącz się na Przechwytywanie na warstwie aplikacji, które odczytuje tekst jawny bezpośrednio z wnętrza programu i radzi sobie zarówno z przypinaniem certyfikatu, własnym szyfrowaniem, jak i systemowymi bibliotekami kryptograficznymi.


Przechwycone dane przechodzą przez to samo przetwarzanie co przy każdej innej metodzie przechwytywania i są tak samo łatwe do zrozumienia i zdekodowania:

  • Wiele sposobów podglądu: strukturalny, upiększony tekst, hex oraz automatyczne wykrywanie, przełączane niezależnie dla każdego kierunku. Szczegóły w Podgląd i dekodowanie.
  • Automatyczna dekompresja i wykrywanie: automatycznie dekompresuje gzip / brotli / deflate / zstd (w tym wiele warstw jedna na drugiej) oraz automatycznie wykrywa i upiększa JSON, XML, formularze, protobuf / gRPC i inne.
  • Własne kodeki: dla zastrzeżonych / autorskich protokołów napisz krótki skrypt, który nauczy narzędzie je odczytywać. Szczegóły w Dekodowanie własnych protokołów.

6. Wybór spośród czterech lokalnych metod przechwytywania

Dział zatytułowany „6. Wybór spośród czterech lokalnych metod przechwytywania”
Twoja sytuacja Której użyć
Zwykły program, który można uruchomić poleceniem (przeglądarka / skrypt / CLI) Przechwytywanie na poziomie procesu (ta strona, najmniej kłopotliwe)
Chcesz zobaczyć cały ruch na maszynie, ruch inny niż HTTP lub wszystko, co robi program w sieci Przechwytywanie na karcie sieciowej
Program, który już działa / używa przypinania certyfikatu / ignoruje proxy / używa własnego szyfrowania / korzysta z systemowej biblioteki kryptograficznej Przechwytywanie na warstwie aplikacji
Wbudowane aplikacje systemowe w macOS / szczególnie oporne aplikacje Przechwytywanie na poziomie systemu

  • Debugowanie skryptu / weryfikacja API: napisałeś skrypt w Pythonie / Node i chcesz dokładnie zobaczyć, co wysyła i odbiera; wpisz polecenie i od razu zobacz tekst jawny.
  • Obserwacja tylko jednego programu: bez zmiany ustawień systemu i bez wpływu na inne oprogramowanie zobacz jedynie, z kim rozmawia ten jeden program.
  • Przechwycenie czystej sesji przeglądarki: użyj przykładu, aby uruchomić osobne okno przeglądarki, wolne od szumu wszystkich wtyczek i kart z Twojej codziennej przeglądarki.

Powiązane: Przechwytywanie przez proxy · Przechwytywanie na warstwie aplikacji · Podgląd i dekodowanie