Proxy Kontrol

Proxy çalışıyor mu? Çalışan proxy kontrol yöntemleri

"Proxy çalışıyor" cümlesi dört farklı şey anlamına gelebilir. Bu rehber, belirtiden nedene giden kısa bir karar ağacı ve her dalı doğrulayan komutlar sunar.

Kategori
Proxy Kontrol
Okuma süresi
6 dk okuma
Yayın:

Bir proxy'nin çalışıp çalışmadığını anlamak için önce "çalışmak" ile neyi kastettiğinizi ayırmanız gerekir. Proxy'ye TCP bağlantısı kurulabilir ama kimlik doğrulama başarısız olabilir; kimlik doğrulama geçse de hedef siteye tünel açılmayabilir; tünel açılsa da yanıt dakikalar sürebilir. Her durumda ekranda aynı şeyi görürsünüz: sayfa yüklenmiyor.

Aşağıda önce belirtiyi, sonra o belirtiyi üreten katmanı buluyorsunuz. Böylece "proxy bozuk" demeden önce sorunun proxy'de mi, sizin yapılandırmanızda mı, hedef sitede mi olduğunu ayırabilirsiniz.

Belirtiye göre karar tablosu

Gözlenen belirti, olası katman ve bir sonraki adım
BelirtiOlası katmanBir sonraki adım
Hemen "bağlantı reddedildi"Port kapalı ya da yanlışPortu ve IP'yi sağlayıcı panelinden yeniden kontrol edin
Uzun süre bekleyip zaman aşımıPaketler düşüyor: proxy kapalı veya güvenlik duvarıBaşka bir ağdan deneyin, port kontrolü yapın
Bağlantı kurulup hemen kopuyorProtokol uyuşmazlığıHTTP yerine SOCKS5 (ya da tersi) deneyin
HTTP 407Kimlik doğrulamaKullanıcı adı, parola ve IP izin listesini kontrol edin
HTTP siteler açılıyor, HTTPS açılmıyorCONNECT yöntemi kısıtlıProxy sağlayıcısına CONNECT/443 iznini sorun
502 / 504Proxy hedefe ulaşamıyorBaşka bir hedefle deneyin; sorun hedefte olabilir
Çalışıyor ama IP değişmiyorProxy kullanılmıyor veya saydamÇıkış IP'sini proxy'siz IP ile karşılaştırın

Birinci sınama: proxy yanıt veriyor mu?

Önce en ucuz soruyu sorun: proxy'ye TCP bağlantısı kurulabiliyor mu? Bu aşamada protokol ya da kimlik bilgisi önemli değildir. Bağlantı süresi de burada ölçülür: kısa ve tutarlı bir süre, ağ yolunun sağlam olduğuna işaret eder; ama proxy'nin işe yarar olduğunu kanıtlamaz.

Bash
nc -vz -w 5 proxy.example.com 8080
Yalnızca TCP bağlantısını denemek için (Linux/macOS; nc yüklü olmalı)

Windows'ta aynı işi PowerShell ile yaparsınız. Başarısızsa sorun proxy yapılandırmasından önce ağ erişimindedir.

Metin
Test-NetConnection -ComputerName proxy.example.com -Port 8080
PowerShell

İkinci sınama: doğru protokolü konuşuyor musunuz?

Port açık ama istek anlamsız yanıt veriyorsa büyük olasılıkla yanlış protokolü kullanıyorsunuzdur. Aynı IP:port'a üç farklı komutla deneyin; yalnızca doğru olan çalışır.

Bash
curl -sS -o /dev/null -m 15 -x http://proxy.example.com:8080 -w '%{http_code}\n' http://example.com/
curl -sS -o /dev/null -m 15 --proxy https://proxy.example.com:8080 -w '%{http_code}\n' https://example.com/
curl -sS -o /dev/null -m 15 --socks5-hostname proxy.example.com:8080 -w '%{http_code}\n' https://example.com/
Sırayla: HTTP proxy, HTTPS proxy (proxy ile TLS), SOCKS5. Kimlik gerekiyorsa her satıra --proxy-user KULLANICI:PAROLA ekleyin.
Konsept · eğitim amaçlı

Hedef düz HTTP: istemci isteği proxy’ye tam URL ile (absolute-form) gönderir, proxy hedefe bağlanıp iletir.

HTTP proxy (düz HTTP hedef) mesaj sırasıHTTP proxy (düz HTTP hedef) için istemci, proxy ve hedef arasındaki 6 adımlı mesaj sırası. Şu an 1. adım: İstek proxy’ye tam URL ile gider. Tüm adımlar aşağıdaki gizli listede yazılıdır.
  1. 1. İstemci → Proxy: İstek proxy’ye tam URL ile gider
  2. 2. Proxy → İstemci: Proxy kimlik doğrulaması isteyebilir (isteğe bağlı)
  3. 3. İstemci → Proxy: İstek kimlik bilgisiyle yinelenir (isteğe bağlı)
  4. 4. Proxy → Hedef: Proxy hedefe bağlanır ve isteği iletir
  5. 5. Hedef → Proxy: Hedef yanıt verir
  6. 6. Proxy → İstemci: Proxy yanıtı istemciye iletir
adım 1/6 · İstemci → Proxy

Düz bağlantı

İstek proxy’ye tam URL ile gider

İstek satırı
GET http://example.com/yol HTTP/1.1
Host
example.com
Biçim
absolute-form (tam URL)

Proxy hedefi bu URL’den okur; istemci hedefe doğrudan bağlanmaz.

Proxy düz HTTP trafiğini okuyabilir ve değiştirebilir.

Protokol el sıkışması: HTTP proxy CONNECT satırı bekler, SOCKS5 ise önce yöntem seçimiyle başlar. Yanlış dilde konuşan istemciye proxy yanıt vermez ya da bağlantıyı keser.Konsept animasyonu

Üçüncü sınama: kimlik doğrulama

HTTP proxy kimlik bilgisini reddettiğinde 407 Proxy Authentication Required döner. SOCKS5'te aynı durum, kullanıcı adı/parola aşamasında sıfır dışı bir durum koduyla ya da kabul edilebilir yöntem bulunmamasıyla anlaşılır. İki durumda da önce kimlik bilgisini panelden yeniden kopyalayın: sondaki boşluk ve @, : gibi özel karakterler sık görülen tuzaklardır. Özel karakterli parolayı URL içinde yazıyorsanız yüzde-kodlama gerekir; cURL'de --proxy-user kullanmak bu sorunu ortadan kaldırır.

Sağlayıcınız IP izin listesi (whitelist) ile çalışıyorsa kimlik bilgisi sormaz; bu durumda başka bir ağdan (ör. mobil veri) yapılan deneme, izinli IP'niz dışında olduğu için reddedilir. Bu bir arıza değil, beklenen davranıştır.

Dördüncü sınama: gerçekten proxy üzerinden mi çıkıyorsunuz?

En sık yanılgılardan biri, uygulamanın proxy ayarını sessizce yok saymasıdır. Bu durumda "çalışıyor" gibi görünür ama trafik doğrudan çıkıyordur. Proxy ile ve proxy olmadan IP Adresim aracını açıp iki IP'yi karşılaştırın. Aynıysa trafik proxy'den geçmiyordur.

Python
import requests

PROXY = "http://KULLANICI:[email protected]:8080"
HEDEF = "https://example.com/"

dogrudan = requests.get(HEDEF, timeout=15)
proxyli = requests.get(HEDEF, proxies={"http": PROXY, "https": PROXY}, timeout=(10, 20))

print("dogrudan:", dogrudan.status_code)
print("proxy ile:", proxyli.status_code)
# IP karsilastirmasi icin HEDEF'i, istemci IP'sini donduren
# kendi kontrol ettiginiz bir adrese cevirin.
Proxy kullanıldığını kanıtlamak için: bu proxy'ye ait olmayan bir adresten çıktığınızı doğrulayan basit karşılaştırma

Denetleyici bu sorunun neresini cevaplar?

Proxy denetleyicisi yukarıdaki dört sınamayı sizin yerinize sırayla çalıştırır ve her aşamanın durumunu ayrı gösterir: bağlantı, protokol, kimlik doğrulama, sınama adresinden ilk bayt. Hangi aşamada durduysa sorunun katmanı odur. Farklı bir ağdan ölçtüğü için, "benim güvenlik duvarım mı engelliyor" sorusunu da ayırmanıza yardım eder.

  • Başarılı sonuç: proxy o an, o sınama adresi için çalışıyor demektir.
  • Sonuç hedef sitenizin proxy'yi kabul edeceğini göstermez.
  • Hız değil, yanıt verebilirliği ölçer; bant genişliği için hız testi rehberine bakın.
  • Herkese açık olmayan (özel/iç ağ) adreslere bağlanmaz.

Hangi aşamada takıldığınızı görmek için proxy'nizi denetleyicide çalıştırın.

Proxy Kontrol Et

Bu yazıda kullanılan araçlar

Sık sorulan sorular

İlgili rehberler