dpi_deep_packet_inspection_우회

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
dpi_deep_packet_inspection_우회 [2026/03/22 13:04] – [zapret을 이용한 방법(추천)] koovdpi_deep_packet_inspection_우회 [2026/03/22 13:10] (현재) koov
줄 1: 줄 1:
 ====== DPI(Deep Packet Inspection) 우회 ====== ====== DPI(Deep Packet Inspection) 우회 ======
 + --- //[[koovis@gmail.com|이강우]] 2026/03/22 13:10//
 +
 +DPI(Deep Packet Inspection, 심층 패킷 분석) 우회는 네트워크 관리자나 ISP(인터넷 서비스 제공자)가 패킷의 데이터 영역(Payload)까지 들여다보고 차단하는 것을 피하는 기술입니다. 단순히 목적지 IP나 포트를 보는 것이 아니라, 패킷 내부의 'SNI(Server Name Indication)' 필드나 특정 키워드를 감지하여 접속을 차단하기 때문에 이를 무력화하는 다양한 방법이 존재합니다.
 +
 ====== 관련프로그램 ====== ====== 관련프로그램 ======
   * https://secretsni.kilho.net/ - SecretSNI(길호넷)   * https://secretsni.kilho.net/ - SecretSNI(길호넷)
줄 9: 줄 13:
  
   * Windows에서는 ''GoodbyeDPI''나 ''GUI for GoodbyeDPI'' 패키지를 이용하면 손쉽게 DPI를 우회할 수 있음   * Windows에서는 ''GoodbyeDPI''나 ''GUI for GoodbyeDPI'' 패키지를 이용하면 손쉽게 DPI를 우회할 수 있음
-  * Linux에서는 쉽게 DPI를 우회할 수 있는 방법이 없으나, MTU를 조정하는 방법, ''zapret''을 이용한 방법과 ''notsodeep''을 이용한 방법 등이 존재하므로 세 가지 중 한 가지를 선택해서 사용하면 됨+  * Linux에서는 쉽게 DPI를 우회할 수 있는 방법이 없으나, MTU를 조정하는 방법, ''zapret''을 이용한 방법과 ''notsodeep''을 이용한 방법 등이 존재하므로 세 가지 중 한 가지를 선택해서 사용하면 됨 (zapret 사용 추천)
   * ''notsodeep''과 ''zapret'' 두 가지 방법 모두 ''iptables''의 라우팅 규칙을 이용하고 있음   * ''notsodeep''과 ''zapret'' 두 가지 방법 모두 ''iptables''의 라우팅 규칙을 이용하고 있음
   * ''zapret''의 경우 기술문서가 러시아어로 작성되어 있어서 적용에 주의가 필요함   * ''zapret''의 경우 기술문서가 러시아어로 작성되어 있어서 적용에 주의가 필요함
줄 20: 줄 24:
     * [[https://terzeron.com/confluence/pages/viewpage.action?pageId=34963478|강제로 네트웍 인터페이스의 MTU 조정하기]]     * [[https://terzeron.com/confluence/pages/viewpage.action?pageId=34963478|강제로 네트웍 인터페이스의 MTU 조정하기]]
  
-===== notsodeep을 이용한 방법 ===== +===== zapret을 이용한 방법(추천) =====
 <WRAP center round important 60%> <WRAP center round important 60%>
-''notsodeep''은 업데이트가 중지된지 오래되어 현재는 정상적으로 우회되지 않경우가 많다. +''zapret''은 현재까지도 업데이트가 꾸준히 이루지고 있으며 다양한 방법으로 우회시도를 하므로 ''goodbyedpi''와 더불어 아주 잘 동작하는 솔루션 중에 하나이다.
-</WRAP>+
  
- +2025년 ''zapret2'' 가 새로 나왔다존 ''zapret''은 중단될 예정이다.
-참고: https://github.com/farukuzun/notsodeep +
- +
-==== 라이브러리 의성 설치 ==== +
-<WRAP prewrap> +
-<code bash> +
-# Debian 계열 +
-sudo apt-get install libnetfilter-queue-dev libc6-dev +
- +
-# RedHat 계열 +
-yum install libnetfilter_queue-devel compat-glibc +
-</code>+
 </WRAP> </WRAP>
  
-==== 바이너리 빌드 ==== +  * https://github.com/bol-van/zapret 
-<WRAP prewrap> +  https://github.com/bol-van/zapret2
-<code bash> +
-git clone https://github.com/farukuzun/notsodeep.git +
-cd notsodeep +
-make +
-sudo nohup ./notsodeep & +
-</code> +
-</WRAP> +
- +
-==== iptables 규칙 적용 ==== +
-''iptables''로 ''TCP connection handshake''의 패킷들을 ''NFQUEUE'' 응용프로그램인 ''notsodeep''에서 처리할 수 있도록 넘기는 규칙을 적용함 +
-<WRAP prewrap> +
-<code bash> +
-sudo iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK --sport 443 -j NFQUEUE --queue-num 200 --queue-bypass +
-sudo iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -j NFQUEUE --queue-num 200 --queue-bypass +
-</code> +
-</WRAP> +
- +
-특정 서버와의 통신인 경우에는, ''-s'' 옵션을 이용하여 서버 IP를 적어주면 그 서버와의 통신에 대해서만 적용됨 +
-특정 서버를 ''notsodeep''으로 필터링하지 않는 예외 규칙을 적용하려면 다음 명령을 사용할 수 있음 +
-<WRAP prewrap> +
-<code bash> +
-sudo iptables -I INPUT -s <제외할IP> -p tcp --tcp-flags SYN,ACK SYN,ACK --sport 443 -j ACCEPT +
-</code> +
-</WRAP> +
-''-A'' 옵션 대신 ''-I'' 옵션을 사용하여 규칙 테이블 맨 위에 등록해두는 것이 중요함 +
- +
-==== firewalld rule ==== +
-<WRAP prewrap> +
-<code bash> +
-firewall-cmd --permanent --direct --passthrough ipv4 -I INPUT 1 -p tcp --tcp-flags SYN,ACK SYN,ACK --sport 443 -j NFQUEUE --queue-num 200 --queue-bypass +
-firewall-cmd --permanent --direct --passthrough ipv4 -t raw -I PREROUTING 1 -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -j NFQUEUE --queue-num 200 --queue-bypass +
- +
-firewall-cmd --reload +
-</code> +
-</WRAP> +
- +
- +
- +
-==== 서비스등록 형식 ==== +
-<WRAP prewrap> +
-<code bash> +
-cd /tmp +
-git clone https://github.com/farukuzun/notsodeep.git +
-cd notsodeep +
-make +
-cd .. +
-sudo su +
-cp -R notsodeep /opt +
-cp /opt/notsodeep/notsodeep.service /etc/systemd/system/ +
-systemctl enable notsodeep.service +
-iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK --sport 443 -j NFQUEUE --queue-num 200 --queue-bypass +
-iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -j NFQUEUE --queue-num 200 --queue-bypass +
- +
-apt install iptables-persistent +
- +
-netfilter-persistent save +
-</code> +
-</WRAP> +
- +
-===== zapret을 이용한 방법(추천) ===== +
-<WRAP center round important 60%> +
-''zapret''은 현재까지도 업데이트가 꾸준히 이루어지고 있으며 다양한 방법으로 우회시도를 하므로 ''goodbyedpi''와 더불어 아주 잘 동작하는 솔루션 중에 하나이다. +
-2025년 zapret2 가 새로 나왔다. 기존 zapret은 중단될 예정이다. +
-</WRAP> +
-링크 : https://github.com/bol-van/zapret+
  
 아래 내용은 ''debian 11''버전에서 테스트 되었습니다. 아래 내용은 ''debian 11''버전에서 테스트 되었습니다.
  • dpi_deep_packet_inspection_우회.1774184648.txt.gz
  • 마지막으로 수정됨: 2026/03/22 13:04
  • 저자 koov