PCAPdroid
PCAPdroid는 기기 내 다른 앱이 만든 연결을 추적, 분석 및 차단할 수 있는 개인정보 보호에 중점을 둔 오픈 소스 앱입니다. 또한 트래픽의 PCAP 덤프를 내보내고, HTTP를 검사하고, TLS 트래픽을 복호화하는 등의 기능도 제공합니다!
PCAPdroid는 루트 권한 없이 네트워크 트래픽을 캡처하기 위해 VPN을 시뮬레이션합니다. 원격 VPN 서버를 사용하지 않으며, 대신 데이터는 기기에서 로컬로 처리됩니다.
기능:
- 사용자 및 시스템 앱이 만든 연결을 기록하고 검사합니다.
- SNI, DNS 쿼리, HTTP URL 및 원격 IP 주소를 추출합니다.
- 내장 디코더를 통해 HTTP 요청과 응답을 검사합니다.
- 전체 연결 페이로드를 hexdump/텍스트로 검사합니다.
- HTTPS/TLS 트래픽을 복호화하고 SSLKEYLOGFILE을 내보냅니다.
- 트래픽을 PCAP 파일로 덤프하고, 브라우저에서 다운로드하거나, 실시간 분석(예: Wireshark)을 위해 원격 수신자로 스트리밍합니다.
- 정상 트래픽을 걸러내고 이상 징후를 쉽게 발견할 수 있는 규칙을 만듭니다.
- 오프라인 DB 조회를 통해 원격 서버의 국가와 ASN을 식별합니다.
- 루팅된 기기에서 다른 VPN 앱이 실행되는 동안 트래픽을 캡처합니다.
유료 기능:
- 방화벽: 개별 앱, 도메인 및 IP 주소를 차단하는 규칙을 만듭니다.
- 악성코드 탐지: 타사 블랙리스트를 사용하여 악성 연결을 탐지합니다.
- PCAPng 형식: 복호화된 트래픽을 더 쉽게 내보내고 분석할 수 있게 합니다.
PCAPdroid로 패킷 분석을 수행하려면 매뉴얼의 해당 섹션을 확인하세요.
정식 릴리스 전에 베타 저장소를 F-Droid 앱에 추가하여 최신 기능을 테스트할 수 있습니다.
사용자 가이드
빠른 시작 안내 또는 전체 사용자 가이드를 확인하세요.
후원자
PCAPdroid 프로젝트는 AVEQ GmbH의 후원을 받고 있습니다.
이 프로젝트를 후원하고 싶다면 이메일을 보내주세요.
커뮤니티
여러 방법으로 PCAPdroid 프로젝트를 도울 수 있습니다:
- 토론에서 새 기능에 대해 논의하세요.
- 앱 테마와 레이아웃을 개선하세요.
- GitHub와 Google Play에서 프로젝트에 별표를 눌러 주세요.
- 물론 코드 풀 리퀘스트를 보내는 것도 환영합니다!
국제 PCAPdroid 커뮤니티에 Telegram 또는 Matrix에서 참여하세요.
자체 앱에 통합하기
PCAPdroid의 일부 기능은 타사 앱에 통합하여 패킷 캡처 기능을 제공할 수 있습니다.
- 루팅된 기기의 경우 pcapd 데몬을 APK에 직접 통합하여 네트워크 패킷을 캡처할 수 있습니다.
- 모든 기기에서 PCAPdroid는 패킷 캡처를 제어하고 캡처된 패킷을 UDP로 앱에 보내는 API를 제공합니다. 이를 위해서는 PCAPdroid를 앱과 함께 설치해야 합니다.
오픈 소스
PCAPdroid는 오픈 소스 기술로 구동됩니다.
- nDPI: 심층 패킷 검사 라이브러리, 연결 메타데이터를 제공합니다.
- mitmproxy: TLS 복호화를 위한 로컬 프록시
- zdtun: 루트 없는 캡처를 위한 최소 TCP/IP 스택
타사 라이브러리의 전체 목록은 앱의 "정보" 페이지를 확인하세요.
빌드
- Windows에서는 gitforwindows를 설치하세요.
- 이 저장소를 클론하세요.
- 저장소 디렉터리에서
git submodule update --init을 실행하세요. submodules 디렉터리가 채워집니다.
- Android Studio에서 프로젝트를 열고 적절한 SDK와 NDK를 설치하세요.
- 앱을 빌드하세요.
참고: "No valid CMake executable was found" 오류가 발생하면 SDK 관리자에서 PCAPdroid가 사용하는 CMake 버전(현재 3.22.1)을 설치하세요.