본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

DPIBreak

0

DPIBreak는 Rust로 작성된 빠르고 사용하기 쉬운 DPI(심층 패킷 검사) 우회 도구입니다.

VPN 대체개인정보검열네트워크방화벽

소개

DPIBreak는 Rust로 작성된 빠르고 사용하기 쉬운 DPI(심층 패킷 검사) 우회 도구입니다. HTTPS 연결에서 TLS ClientHello 패킷의 SNI 필드를 조작하여 ISP나 네트워크의 차단을 우회하며, VPN과 달리 외부 서버 없이 모든 처리를 로컬에서 수행합니다. Linux와 Windows를 지원하며, 실행 시 모든 HTTPS 연결에 즉시 적용되고 중지하면 자동으로 원래 상태로 복구됩니다.

상세정보

세그멘테이션 (기본)

TLS ClientHello 패킷을 여러 조각으로 분할하여 DPI 장비가 단일 패킷에서 SNI를 읽지 못하게 합니다. 서버는 조각을 정상적으로 재조립합니다. 분할 순서는 -o, --segment-order 옵션으로 조정할 수 있습니다.

Fake 패킷 주입

각 패킷을 분할하기 전에 가짜 ClientHello 패킷(SNI: www.microsoft.com)을 주입합니다. -a, --fake-autottl 옵션을 사용하면 일반적인 사용에 적합합니다. 이 기능은 한국의 대학 내부 DPI와 같은 더 엄격한 환경에서 유용합니다.

저오버헤드

조작이 필요한 작은 패킷만 처리하며, 비디오 스트리밍과 같은 다른 데이터 패킷은 처리하지 않아 오버헤드가 매우 낮습니다.

Windows

PowerShell에서 다음 명령으로 설치합니다:

winget install dpibreak

설치 후 dpibreak를 PowerShell, cmd.exe 또는 Win+R에서 실행할 수 있습니다. 포터블 버전을 원하면 최신 릴리스를 다운로드하여 압축을 풀고 dpibreak.exe를 실행합니다. 부팅 시 자동 실행하려면 service_install.bat을 관리자 권한으로 실행합니다.

Linux

공식 설치 스크립트를 사용합니다:

curl -fsSL https://raw.githubusercontent.com/dilluti0n/dpibreak/master/install.sh | sh

설치 후 sudo dpibreak로 실행합니다. 데몬으로 실행하려면 sudo dpibreak -d를 사용하고, 중지하려면 sudo pkill dpibreak를 실행합니다. 일반적인 사용 예: sudo dpibreak -o 0,5 -d

활용 예시

  • ISP가 차단한 웹사이트에 접속할 때
  • 대학이나 회사 네트워크의 DPI 차단을 우회할 때
  • VPN 없이 HTTPS 트래픽의 프라이버시를 강화하고자 할 때

지원 환경

Windows와 Linux를 지원하며, 동일한 우회 로직이 적용됩니다. Windows에서는 WinDivert 드라이버가, Linux에서는 netfilter_queue가 사용됩니다.

버전 및 업데이트

현재 버전은 0.6.2입니다. GitHub 릴리스 페이지에서 최신 버전을 확인할 수 있습니다.

제한 사항 및 확인 사항

  • 기본 분할 순서(0,1)에서 일부 서버가 연결 오류를 반환할 수 있습니다. 이 경우 -o 0,5를 시도하세요.
  • --fake-autottl은 비표준 TTL 값을 가진 서버에서 올바르게 작동하지 않을 수 있습니다.
  • Windows에서 업그레이드가 실패하면 관리자 cmd에서 sc stop windivert를 실행한 후 다시 시도하세요.

라이선스

GPL-3.0-or-later 라이선스로 배포됩니다.

시스템 요구사항

Windows 10 이상(x64) 또는 Linux(x86_64). Windows에서는 WinDivert 드라이버가 필요하며, Linux에서는 netfilter_queue 커널 모듈이 필요합니다. crates.io에서 설치 시 libnetfilter_queue 개발 파일이 필요합니다.