Yasaklı Sitelere Giriş: GoodbyeDPI Kullanım Rehberi

Sabahın erken saatlerinde kalkıp kiminiz işe gidiyor kiminiz okuduğu okulun yollarını tutuyor ama hepimizin tek derdi yasaklı sitelere giriş yapabilmek, internette gezinebilmek ve araştırma yapmak.

Ama hepsinden önemlisi bunları yaparken VPN kullanmamak istiyorsunuz. Çünkü internet hızınızın düştüğünden şikayetçisiniz. Aslında bu sizin yanıldığınız bir durum olsa da sizi bu durumdan kurtarmak istiyorum.

GoodbyeDPI Nedir, Yasaklı Sitelere Giriş Sağlar mı?

Bu yazılım, belirli web sitelerine erişimi engelleyen birçok İnternet Servis Sağlayıcıda bulunan Deep Packet Inspection sistemlerini atlamak için tasarlanmıştır.

Herhangi bir veriyi bloke etmekten kaçınan GoodbyeDPI yasaklı sitelere giriş için kullanılan bir uygulamadır belirli politikalar ile yasaklı sitelere giriş imkânı sağlar. Bunun neticesinde arada yer alan middle box ve/veya dpi araçlarını kullanılamaz hale getirir yani evet yasaklı sitelere giriş sağlayabilirsiniz.

yasaklı sitelere girişPin

Windows 8.1, 10 ve 11 işletim sistemlerinde yönetici hakları ile birlikte sorunsuz bir şekilde çalışabilir. Windows 7 kullanan arkadaşlar işletim sistemlerini güncellemeli ki bu GoodbyeDPI uygulamasını kullanabilesiniz.

GoodbyeDPI Yasaklı Sitelere Giriş için Nasıl Çalışır?

Genel olarak Türkiye’de kullanılan Procera Networks & Sandvine firmasından tedarik edilen milyon dolarlık PacketLogic DPI cihazını aşağıdaki iki temel prensibe göre atlatmak amacıyla tasarlanmıştır ve aktif olarak geliştirilmektedir.

Pasif DPI

Çoğu Pasif DPI, hedef web sitesinden daha hızlı bir istek göndererek HTTP ve HTTPS trafiğinin arasına girer HTTP 302 ile kullanıcıyı istediği rotaya yönlendirir veya direk olarak TCP Reset paketi göndererek bağlantıyı kapatır.

DPI tarafından gönderilen paketler genellikle 0x0000 veya 0x0001’e başlıklarına sahiptir. Bu paketler sizi başka bir web sitesine yönlendirecekse (sansür sayfası) GoodbyeDPI tarafından engellenir.

Aktif DPI

Bu prensip ile çalışan cihazları atlatmak genel olarak daha karmaşıktır. Şu anda GoodbyeDPI aktif DPI’yı atlatmak için 7 adet farklı yöntem kullanabilmektedir:

  • İlk veri paketi için TCP seviyesinde kontrol
  • Sürekli canlı tutma (keep-alive) HTTP oturumları için TCP seviyesinde kontrol
  • Host başlığını hoSt ile değiştirme
  • Host başlığı ile değer arasındaki boşluğu kaldırma
  • HTTP İstekleri (GET, POST vb.) ve URI arasına ek boşluk ekleme
  • Host başlık değerinin karıştırılarak değiştirilmesi
  • Düşük Time-To-Live değerine, geçersiz checksum değeri veya geçersiz TCP Sequence/Acknowledgement sahip sahte HTTP/HTTPS paketleri göndermek

Yasaklı sitelere giriş için uygulanan bu 7 yöntem TCP ve HTTP standartlarına tam olarak uyumlu olması sebebiyle hiçbir bozulmaya sebep olmaz, DPI engellemelerini aşmak, yasaklı sitelere giriş sağlamak ve veri sınıflandırmalarını şaşırtmak amacıyla rahatlıkla kullanılabilir.

Program, filtreleri ayarlamak ve paketleri kullanıcı alanına yönlendirmek için Windows Filtreleme Platformunu kullanan WinDivert sürücüsünü sisteme yükler ve kullanır. Konsol penceresi göründüğü sürece çalışır ve pencereyi kapattığınızda süreç sona erer.

Yasaklı Sitelere Giriş için GoodbyeDPI Nasıl Kullanılır?

Uygulamayı öncelikli olarak Github adresinden güncel halini indirin.

İndirmek için Tıklayın

Sağlayıcınızın internet bağlantınızda uyguladığı erişim engelleme yöntemine göre aksiyon almalısınız lakin genel olarak 2_any_country.cmd komut dosyasını çalıştırırsanız büyük oranda tüm engelleri aşabilirsiniz.

Bu, programın İSS için uygun olup olmadığını anlamanız biraz güç çünkü GoodbyeDPI geliştiricisi uygulamayı harika bir şekilde geliştirmeye devam ettikçe, DPI üreticileri de bununla aynı oranda ürünlerini geliştiriyor ve yasaklı sitelere giriş imkanını kısıtlamaya çalışıyor.

Kullanabileceğiniz gelişmiş parametreler

Usage: goodbyedpi.exe [OPTION...]
 -p          block passive DPI
 -r          replace Host with hoSt
 -s          remove space between host header and its value
 -m          mix Host header case (test.com -> tEsT.cOm)
 -f <value>  set HTTP fragmentation to value
 -k <value>  enable HTTP persistent (keep-alive) fragmentation and set it to value
 -n          do not wait for first segment ACK when -k is enabled
 -e <value>  set HTTPS fragmentation to value
 -a          additional space between Method and Request-URI (enables -s, may break sites)
 -w          try to find and parse HTTP traffic on all processed ports (not only on port 80)
 --port        <value>    additional TCP port to perform fragmentation on (and HTTP tricks with -w)
 --ip-id       <value>    handle additional IP ID (decimal, drop redirects and TCP RSTs with this ID).
                          This option can be supplied multiple times.
 --dns-addr    <value>    redirect UDP DNS requests to the supplied IP address (experimental)
 --dns-port    <value>    redirect UDP DNS requests to the supplied port (53 by default)
 --dnsv6-addr  <value>    redirect UDPv6 DNS requests to the supplied IPv6 address (experimental)
 --dnsv6-port  <value>    redirect UDPv6 DNS requests to the supplied port (53 by default)
 --dns-verb               print verbose DNS redirection messages
 --blacklist   <txtfile>  perform circumvention tricks only to host names and subdomains from
                          supplied text file (HTTP Host/TLS SNI).
                          This option can be supplied multiple times.
 --allow-no-sni           perform circumvention if TLS SNI can't be detected with --blacklist enabled.
 --set-ttl     <value>    activate Fake Request Mode and send it with supplied TTL value.
                          DANGEROUS! May break websites in unexpected ways. Use with care (or --blacklist).
 --auto-ttl    [a1-a2-m]  activate Fake Request Mode, automatically detect TTL and decrease
                          it based on a distance. If the distance is shorter than a2, TTL is decreased
                          by a2. If it's longer, (a1; a2) scale is used with the distance as a weight.
                          If the resulting TTL is more than m(ax), set it to m.
                          Default (if set): --auto-ttl 1-4-10. Also sets --min-ttl 3.
                          DANGEROUS! May break websites in unexpected ways. Use with care (or --blacklist).
 --min-ttl     <value>    minimum TTL distance (128/64 - TTL) for which to send Fake Request
                          in --set-ttl and --auto-ttl modes.
 --wrong-chksum           activate Fake Request Mode and send it with incorrect TCP checksum.
                          May not work in a VM or with some routers, but is safer than set-ttl.
 --wrong-seq              activate Fake Request Mode and send it with TCP SEQ/ACK in the past.
 --native-frag            fragment (split) the packets by sending them in smaller packets, without
                          shrinking the Window Size. Works faster (does not slow down the connection)
                          and better.
 --reverse-frag           fragment (split) the packets just as --native-frag, but send them in the
                          reversed order. Works with the websites which could not handle segmented
                          HTTPS TLS ClientHello (because they receive the TCP flow "combined").
 --max-payload [value]    packets with TCP payload data more than [value] won't be processed.
                          Use this option to reduce CPU usage by skipping huge amount of data
                          (like file transfers) in already established sessions.
                          May skip some huge HTTP requests from being processed.
                          Default (if set): --max-payload 1200.
LEGACY modesets:
 -1          -p -r -s -f 2 -k 2 -n -e 2 (most compatible mode)
 -2          -p -r -s -f 2 -k 2 -n -e 40 (better speed for HTTPS yet still compatible)
 -3          -p -r -s -e 40 (better speed for HTTP and HTTPS)
 -4          -p -r -s (best speed)
Modern modesets (more stable, more compatible, faster):
 -5          -f 2 -e 2 --auto-ttl --reverse-frag --max-payload (this is the default)
 -6          -f 2 -e 2 --wrong-seq --reverse-frag --max-payload

ISS’nizin DPI’sının atlatılıp atlatılamayacağını kontrol etmek için, önce tarayıcınızda “Güvenli DNS (HTTPS üzerinden DNS)” seçeneğini etkinleştirerek sağlayıcınızın DNS yanıtlarına nasıl tepki verdiğini kontrol edin.

Tarayıcılarda Güvenli DNS yapılandırmak için;

  • Chrome: Settings → Privacy and security → Use secure DNS → With: NextDNS
  • Firefox: Settings → Network Settings → Enable DNS over HTTPS → Use provider: NextDNS

Direk olarak goodbyedpi.exe çalıştırdığınızda yasaklı sitelere giriş için çalışıyor ise şanslısınız hiçbir işlem yapmadan olduğu gibi uygulamayı kullanabilirsiniz. Engellenen web sitelerin listesini biliyorsanız bir dosya hazırlayabilir içerisine erişmek istediğiniz yerleri yazabilir ve goodbyedpi.exe --blacklist turkey-blocklist.txt diyerek çalıştırabilirsiniz böylelikle sadece belirttiğiniz siteler için uygulamayı çalıştırabilirsiniz.

Eğer sağlayıcınız DNS isteklerini engelliyorsa ve/veya zehirliyorsa, standart olmayan bağlantı noktalarını kullanarak erişim engellerini atlatabilirsiniz. Örneğin (CloudFlare DNS 1.1.1.1:1253 gibi) bunu yapabilmek için --dns-addr seçeneğini kullanın veya TLS üzerinden HTTPS seçeneklerini deneyin.

Bu yöntem çalışmıyor ise WireGuard VPN Sunucusu Nasıl Kurulur makalesine göz atabilir, kendi VPN sunucunuzu kurabilirsiniz.

ReQrypt Nedir?

ReQrypt sansürü atlamak için ücretsiz bir şifreleme aracıdır. DNS trafiğiniz ve yapılan HTTP isteklerini şifreler

Sağlayıcı tabanlı aşağıda uygulanan erişim denetlemelerine karşı koymak için geliştirilmiştir;

  • ISP düzeyinde URL filtreleme
  • ISP düzeyinde data-logging/snooping sistemleri
  • ISP düzeyinde transparent proxy

ReQrypt Nasıl Çalışır?

Diğer anti-sansür araçlarından farklı olarak, ReQrypt, vekil sunucu sitemlerine dayanmaz IP adresinizi değiştirmez. Bunun yerine, ReQrypt kullanıcıya kontrol edebilen bir yönlendirme imkânı sağlar. Bu, sağlayıcının uyguladığı erişim engeli yöntemlerini atlatmasına imkân tanır.

ReQrypt proxy sunuculara yönlendirme yapmadığından IP adresini değiştirmez. Uzak web sunucusuna trafik doğrudan bilgisayarınızdan değiştirilmemiş olarak gönderilmiş gibi görünür.

ReQrypt-calisma-mantigiPin

Gelen paketler doğrudan web sunucusundan tarayıcınıza gönderildiğinden ve proxy sunucusu aracılığıyla gönderilmediğinden, ReQrypt son derece hızlıdır. Bir proxy sunucusunu çalıştırmak ve yönetmekten daha uygun olmakla birlikte güvenlidir.

Nasıl Kullanılır

  1. Sisteminize uygun olan ReQrypt aşağıdaki link aracılığı ile indirilir.
  2. Önerilen ayar olan IPv6 Özelliği kapatılır.
    3. Windows: Denetim Masası → Ağ ve Paylaşım Merkezi → Etkin ağlarınızı görüntüleyin → Yerel Ağ Bağlantısı → Özellikler → Internet Protokolü Sürüm 6 (TCP / IPv6) kutucuğundaki tiki kaldırın ve kayıt edip kapatın.
  3. Kullanılan DNS’ler CloudFlare DNS (1.1.1.1, 1.0.0.1) ile değiştirilir.
  4. ReQrypt Başlatılır.
  5. İhtiyaca göre yapılandırması yapılarak daha efektif hale getirilebilir.

Uygulamayı indirmek için tıklayın

IPv6’yı etkin ise, ReQrypt’i kullanmadan önce devre dışı bırakmanız gerekmektedir. Şu anda ReQrypt IPv6 trafiğini yok saymaktadır.

Eğer ki yukarıda anlattıklarım işe yaramamışsa, en iyi vpn programları makalesine göz atarak yasaklı sitelere giriş imkânı sağlayan alakalı firmaları inceleyebilirsiniz…

Sistem Uzmanı, Linux Hacısı, El-Kernel

“Yasaklı Sitelere Giriş: GoodbyeDPI Kullanım Rehberi” üzerine 15 yorum

  1. Can you tell me more about Turkish blocks? Are there any lists of blocked sites available? I can include scripts for Turkey into GoodbyeDPI archive.

    Yanıtla
  2. VPN güvenli ama yavaş, bu yöntem ise daha az güvenli ve hızlı diyebilir miyiz?
    Açıkçası wikipedia’ya girince çok mutlu oldum.
    Sizin birde OPENVPN ile kendi vpn inizi oluşturun konulu bir paylaşımınız vardı orada güncelleme yapacaktınız. Güncelleme yapmayı planlıyor musunuz yada bu yöntem yeterli mi?

    Yanıtla
    • Merhaba

      Bu yöntem TT tarafındaki firewallar ve cihazlar üzerinde anormal bir trafik olarak gözükecek. Bu yöntem ülke içindeki trafiğe herhangi bir yaptırım yapılmadığı için çalışmakta. Trafik ülke içine düştüğü zaman artık bir önemi kalmıyor siteler açılmaya başlıyor. inbound trafik üzerinde bir yaptırım yok yani 🙂 Bu yüzden güvenli diyemeyiz ancak işinizi görebileceğiniz kadar güvenli. Bankacılık uygulamalarında vs sıkıntı çıkartmaz bu konuda bir sorun teşkil etmez.

      Ayrıca evet güncelleme yapılacak yılbaşından hemen sonra güncellemeyi düşünüyorum.

    • Merhaba

      GoodDPI içerisindeki diğer .cmd uzantılıları teker teker deneme yaparak, ayrıcada dnscrypt veya recrypt kullanarak çözebilirsiniz. Servis sağlayıcınıza göre deneme yanılma ile bulmanız gerekiyor.

    • Merhaba

      Blacklist txt oluşturup dnsredir yöntemi ile denediniz mi acaba? eğer o yöntemlede çalışmadıysa geliştirici arkadaşa durumu atlatalım bir çaresine bakacaktır.

  3. Bu yöntem DNS zehirlemesine karşı sadece DNS engelli sitelerde mi çalışıyor? IP engelli sitelerde çalışıyor mu?

    Yanıtla
    • Merhaba

      IP adresini hosts dosyanıza eklediğiniz taktirde hiç bir sorun olmaksızın sitelere erişim sağlayabileceksiniz.

  4. “Kullanılan DNS’ler Google DNS (1.1.1.1, 1.0.0.1) ile değiştirilir.”
    Burada belirtilen DNS IP adresleri CloudFlare’a aittir.

    Yanıtla

Yorum yapın