명령에서 proxychains를 제거하고 다시 실행해도 래퍼의 시작 메시지가 계속 보입니다. 애플리케이션 설정을 찾기 전에 실행 환경을 먼저 확인하십시오.

리눅스에서 LD_PRELOAD는 동적 링커에게 지정된 공유 객체를 일반 라이브러리보다 먼저 로드하도록 요청합니다. 프록시 래퍼는 이 메커니즘으로 지원되는 네트워크 호출을 가로챌 수 있습니다. 누군가 셸에서 이 변수를 내보냈다면, 이후에 실행되는 자식 프로그램은 명령줄에 래퍼 프리픽스가 없어도 이를 상속받을 수 있습니다.

그 셸에서 첫 번째 읽기 전용 점검은 다음과 같습니다.

printf '%s\n' "$LD_PRELOAD"

프록시 래퍼 라이브러리를 찾되, 변수에 의도적으로 로드한 다른 라이브러리도 나열될 수 있다는 가능성을 남겨 두십시오. 모든 항목을 무작정 지우면 다른 도구가 깨질 수 있습니다.

실행기를 바꾼 다음 프로그램을 다시 실행하십시오

영향을 받은 프로그램을 실행하는 환경에서 우발적인 프록시 사전 로드를 제거하십시오. 시작 파일이나 실행기가 이를 내보낸다면 그 출처도 고치십시오. Bash 실행에서는 시작 파일 순서를 따르십시오. 깨끗한 셸의 새 자식은 변수를 아직 들고 있는 오래된 터미널이나 IDE의 자식과 다른 경우입니다.

환경 변수를 해제해도 이미 그 변수와 함께 시작된 프로세스에서 라이브러리가 내려가지는 않습니다. 따라서 실행 중인 애플리케이션은 수정된 실행 경로로 다시 시작할 때까지 래퍼를 유지할 수 있습니다.

변수가 없다면 /etc/ld.so.preload 같은 다른 설정된 사전 로드 원본과 실제 실행기를 점검하십시오. 이 메커니즘에는 한계가 있습니다. 정적 실행 파일, 직접 시스템 호출, 안전 실행 제한은 다르게 동작할 수 있습니다. sudo에서는 래퍼 순서가 중요합니다. 상속된 사전 로드는 예기치 않은 가로채기를 설명하지만, 모든 종류의 네트워크 트래픽이 프록시를 쓴다는 증거는 아닙니다.

관련 글