Odstraníte proxychains z příkazu, spustíte jej znovu a stále vidíte úvodní zprávu obalu. Než začnete hledat nastavení v aplikaci, zkontrolujte prostředí spuštění.

V Linuxu LD_PRELOAD žádá dynamický linker, aby načetl zadané sdílené objekty před běžnými knihovnami. Proxy obaly mohou tento mechanismus využívat k zachycení podporovaných síťových volání. Pokud někdo proměnnou exportoval v shellu, pozdější podřízené programy ji mohou zdědit, i když jejich příkazové řádky žádnou předponu obalu neobsahují.

První kontrola pouze pro čtení v tomto shellu je:

printf '%s\n' "$LD_PRELOAD"

Hledejte knihovnu proxy obalu, ale připusťte, že proměnná může uvádět i další záměrně načtené knihovny. Slepé odstranění všech položek může narušit jiný nástroj.

Změňte spouštěč a poté program spusťte znovu

Odstraňte náhodné proxy přednačtení z prostředí, které spouští postižený program. Pokud je exportuje startovací soubor nebo spouštěč, opravte i tento zdroj. U spuštění v Bash se držte pořadí startovacích souborů. Nový potomek čistého shellu je jiný případ než potomek starého terminálu nebo IDE, který proměnnou stále drží.

Zrušení proměnné prostředí neodpojí knihovnu z procesu, který s ní už začal. Běžící aplikace proto může obal držet, dokud ji nespustíte znovu opravenou cestou.

Pokud proměnná chybí, prozkoumejte další nastavené zdroje přednačtení, jako je /etc/ld.so.preload, a skutečný spouštěč. Mechanismus má meze: statické spustitelné soubory, přímá systémová volání a omezení bezpečného spouštění se mohou chovat jinak. Se sudo záleží na pořadí obalu. Zděděné přednačtení vysvětluje neočekávané zachycení; není důkazem, že veškerý síťový provoz jde přes proxy.

Související články