Yazı Getir
avatar

Bu rehber, Windows 10/11 üzerinde Linux gibi görünmek için HTTP trafiğini sahte kullanıcı ajanı (user-agent) ve JavaScript bilgileriyle manipüle eden bir mitmproxy betiği oluşturma ve çalıştırma sürecini kapsıyor. Aşağıda adım adım eksiksiz ve açıklamalı bir şekilde özetlenmiştir:

Bu betik, Windows üzerinde çalışan bir mitmproxy scriptidir. Amacı, internet trafiğini dinleyerek tarayıcı üzerinden giden isteklerde kullanıcı bilgilerini (user-agent, işletim sistemi, ekran çözünürlüğü vb.) Linux kullanan bir sistem gibi göstermektir. Ayrıca web sitelerine dönen HTML yanıtlarının içine sahte JavaScript kodları enjekte edilerek, tarayıcının navigator, screen, WebGL gibi değerleri de değiştirilir. Bu sayede tarayıcı, Linux işletim sistemi ve 1920×1080 çözünürlük kullanan bir kullanıcı gibi davranır.

🧩 1. Python Kurulumu

  1. Şu adrese gidin:
    https://www.python.org/downloads/
  2. En son sürümü indirin (Windows Installer).
  3. Kurulum ekranında “Add Python to PATH” seçeneğini işaretleyin.
  4. Ardından Customize installation → Next → Install diyerek kurulumu tamamlayın.
  5. Kurulumu doğrulamak için cmd açın ve şunu yazın: python --version

📦 2. Gerekli Modülü Yükleyin

Aynı cmd penceresine şu komutu yazın:

pip install mitmproxy

🔐 3. Mitmproxy Sertifikasını Yükleyin

Mitmproxy çalıştığında şu klasöre otomatik sertifika üretir:

C:\Users\KULLANICI_ADI\.mitmproxy\mitmproxy-ca-cert.p12

Sertifika Yüklemek için:

  1. mitmproxy-ca-cert.p12 dosyasına çift tıklayın.
  2. “Güvenilen Kök Sertifika Yetkilileri” bölümüne yükleyin.
  3. Windows “Sertifika Yöneticisi” şu şekilde açılabilir: certmgr.msc

🧠 4. Spoofing Script’i Oluşturun

Masaüstünde proxy_linux.py adında bir dosya oluşturun ve içine aşağıdakileri yapıştırın:

from mitmproxy import http

# Ubuntu 24.04 + Firefox 140 User-Agent
FAKE_UA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_3_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36"

# Sahte JS kodu (Ekran çözünürlüğü ve pencere boyutu için)
INJECT_JS = """
<script>
Object.defineProperty(navigator, 'platform', { get: () => 'Linux x86_64' });
Object.defineProperty(navigator, 'oscpu', { get: () => 'Linux x86_64' });
Object.defineProperty(navigator, 'userAgentData', {
    get: () => ({
        platform: 'Ubuntu 24.04',
        brands: [
            { brand: "Firefox", version: "140" }
        ],
        mobile: false,
        getHighEntropyValues: () => Promise.resolve({ platform: 'Ubuntu 24.04' })
    })
});
Object.defineProperty(window, 'innerWidth', { get: () => 1920 });
Object.defineProperty(window, 'innerHeight', { get: () => 1080 });
Object.defineProperty(screen, 'width', { get: () => 1920 });
Object.defineProperty(screen, 'height', { get: () => 1080 });

// Tarayıcı penceresini 1920x1080 yapmak için outerWidth ve outerHeight'ı ayarla
Object.defineProperty(window, 'outerWidth', { get: () => 1920 });
Object.defineProperty(window, 'outerHeight', { get: () => 1080 });

// Pencere boyutunu her zaman 1920x1080 olarak sabitle
window.resizeTo(1920, 1080);
</script>
"""


def request(flow: http.HTTPFlow):
    flow.request.headers["User-Agent"] = FAKE_UA

def response(flow: http.HTTPFlow):
    if "text/html" in flow.response.headers.get("content-type", ""):
        html = flow.response.text
        if "</body>" in html:
            html = html.replace("</body>", INJECT_JS + "</body>")
            flow.response.text = html


🚀 5. Mitmproxy ile Betiği Çalıştırın

Masaüstünde cmd açın ve şu komutu girin:

mitmdump -s .\proxy_linux.py

Eğer mitmdump komutu tanınmazsa şu komutu deneyin:

python -m mitmproxy -s .\proxy_linux.py

🌐 6. Proxy Ayarlarını Yapılandırın

Tüm Sistem İçin:

  1. Ayarlar → Ağ ve İnternet → Proxy
  2. El ile proxy ayarlarını etkinleştir:
    • Sunucu: 127.0.0.1
    • Port: 8080

Sadece Tarayıcı Üzerinden:

  1. Opera tarayıcısını açın.
  2. Şu eklentiyi kurun:
    🔗 Proxy Helper (Opera)
  3. Yeni profil oluşturun:
    • Proxy: 127.0.0.1
    • Port: 8080

🎯 Sonuç

Artık ziyaret ettiğiniz siteler şunları görecektir:

  • İşletim sistemi: Mint 22
  • Tarayıcı kullanıcı ajanı: Chromium (Linux x86_64)
  • Ekran çözünürlüğü: 1920x1080
  • WebGL bilgisi: Sahte Intel/Mesa sürücü
  • Dil/TZ: tr-TR, Europe/Istanbul

🛡️ Notlar & Güvenlik

  • Mitmproxy trafiği dinler; HTTPS trafiğini çözmek için sertifika yüklenmesi gerekir.
  • Bu tür spoofing işlemleri sadece test, eğitim veya analiz amaçlı yapılmalıdır.
  • Kötüye kullanım etik değildir ve yasal sorumluluk doğurabilir.

Bu script çalıştırıldığında mitmdump üzerinden aktif hale gelir ve hem HTTP isteklerini hem de yanıtlarını analiz ederek belirli bilgileri sahte şekilde değiştirir. Özellikle test, analiz ve gizlilik amaçlı kullanım için uygundur. Gerçek zamanlı olarak tarayıcı bilgilerini değiştirir ve sitelerin sizi farklı bir cihaz/sistem gibi algılamasını sağlar. Ancak etik dışı ya da yasal olmayan amaçlarla kullanılması tavsiye edilmez. Eğitim, test ve geliştirme amaçlı kullanım için idealdir.

  • Okuma Süresi: 3 dk, 40 sn

Yorum Yap

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir