소개
BlockCheck은 러시아 연방 인터넷 서비스 제공업체가 적용하는 사이트 차단 유형을 분석하는 오픈소스 유틸리티입니다. ValdikSS가 개발했으며, DNS 조작, DPI 필터링, SSL 인증서 교체 등 다양한 차단 기법을 탐지합니다. 이 도구는 차단 우회 기술의 효과를 테스트하는 데 사용되며, 그래픽 및 콘솔 모드를 지원합니다. 현재 버전은 0.0.9.7이며, MIT 라이선스 하에 배포됩니다.
상세정보
차단 유형 탐지
BlockCheck은 다음 유형의 차단을 식별할 수 있습니다:
- DNS 응답 조작 (DNS spoofing)
- 제3자 DNS 서버의 프로바이더 서버로의 리다이렉션
- 제3자 DNS 서버 차단
- 차단된 도메인의 전체 존(서브도메인 포함) 차단
- 일반 DPI (특정 IP 및 포트에서의 URL 필터링)
- 전면 DPI (모든 IP 및 포트에서의 URL 필터링)
- SSL/HTTPS 인증서 교체 (HTTPS 트래픽 중간자 공격)
- IP 주소 기반 차단
DPI 우회 테스트 지원
활성 DPI가 감지된 경우, BlockCheck은 다음과 같은 우회 기법의 효과를 테스트할 수 있습니다:
- GET 요청 후 추가 공백 삽입
- GET 요청 전 줄바꿈 삽입
- HTTP 헤더 분할 (헤더 프래그먼테이션)
- 도메인 이름 끝에 점 추가
- 도메인 이름 끝에 탭 문자 추가
- Host 헤더 대신 소문자 host 사용
- UNIX 스타일 줄바꿈을 헤더에 사용
다운로드 및 설치 방법
BlockCheck은 설치가 필요 없는 독립 실행형 바이너리를 제공합니다. Windows 사용자는 공식 GitHub 저장소의 Releases 섹션에서 최신 버전의 실행 파일을 다운로드할 수 있습니다. 다운로드 후 압축을 해제하고 실행 파일을 더블클릭하면 바로 사용할 수 있습니다.
소스 코드를 수정하거나 직접 빌드하려는 경우, Python 3.4 이상과 dnspython 모듈이 필요합니다. 다음 단계를 따릅니다:
- Python 3을 공식 웹사이트 또는 시스템 저장소에서 설치합니다.
- 명령 프롬프트에서
pip install -r requirements.txt을 실행하여 의존성을 설치합니다. pip install pyinstaller을 실행해 PyInstaller를 설치합니다.pyinstaller blockcheck.spec을 실행해 실행 파일을 빌드합니다.- 빌드가 완료되면
dist폴더에서 생성된 실행 파일을 찾을 수 있습니다.
기본 사용법
BlockCheck은 기본적으로 그래픽 사용자 인터페이스(GUI) 모드로 실행됩니다. 시스템에 Tkinter가 설치되어 있다면 자동으로 GUI가 запу됩니다. 콘솔 모드를 선호하는 경우, --console 옵션을 추가해 실행할 수 있습니다.
주요 명령줄 옵션은 다음과 같습니다:
--no-report: 테스트 결과를 외부 서버로 전송하지 않습니다. 차단 우회 실험 시 개인정보 보호를 위해 이 옵션을 사용하는 것이 좋습니다.--force-dpi-check: 대상 사이트가 차단되지 않았더라도 DPI 검사를 강제로 수행합니다.--disable-ipv6: IPv6와 관련된 모든 검사를 비활성화합니다.--help: 모든 사용 가능한 옵션 목록을 표시합니다.
예를 들어, 보고서 전송 없이 콘솔 모드로 DPI 검사를 강제 실행하려면 다음 명령을 사용합니다:
blockcheck.exe --console --force-dpi-check --no-report
이런 경우에 유용합니다
이 도구는 러시아에서 인터넷 검열을 연구하는 학자, 기자, 기술 활동가에게 유용합니다. 특히 특정 웹사이트가 차단되었을 때, 그 차단이 DNS 조작인지 DPI인지 IP 기반인지 등을 정확히 진단하여 적절한 우회 전략을 수립하는 데 도움을 줍니다. 또한 네트워크 관리자나 보안 전문가가 자사 네트워크에서의 트래픽 간섭 여부를 점검하는 데도 활용할 수 있습니다.
제한 사항·확인 사항
공식 저장소의 README에 명시된 바와 같이, 현재 버전의 BlockCheck은 작동하지 않습니다 (NOTE: NOT WORKING CURRENTLY. ВНИМАНИЕ: НЕ РАБОТАЕТ НА ТЕКУЩИЙ МОМЕНТ). 이는 대상 사이트의 차단 방식이 변경되었거나 탐지 로직이 더 이상 유효하지 않기 때문입니다. 따라서 실시간 차단 분석을 기대하고 사용할 경우 예상치 못한 결과나 오류가 발생할 수 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


