Windows'da Uzaktan Tarayıcı Hata Ayıklama Noktası Kurma

Windows’da Chrome’ı CDP üzerinden LAN’daki Linux istemciler veya MCP bağlantıları için kontrol edilebilir bir tarayıcı hata ayıklama noktası sunmak amacıyla uzaktan hata ayıklama portu ve port yönlendirme ile çalıştırma.

Bu belge, Windows ana makinesinde Chrome’ı çalıştırıp CDP üzerinden LAN’daki Linux istemciler veya MCP bağlantıları için kontrol edilebilir bir tarayıcı hata ayıklama noktası nasıl sunulacağını açıklar. Çözümün temeli, Chrome’ın yalnızca 127.0.0.1’e dinlemesi, portproxy üzerinden LAN adresine eşlenmesi ve ardından güvenlik duvarı üzerinden uzak kaynakların kısıtlanmasıdır.

Topoloji ve Akış

Aşağıdaki diyagram, Windows ana makinesi içinde portların nasıl yönlendirildiğini ve istemcilerin LAN adresi üzerinden nasıl erişim sağladığını gösterir.

flowchart TB
    subgraph Windows
        A[Chrome DevTools 127.0.0.1:9222] --> B[portproxy 192.168.31.2:9222]
        B --> C[Windows Firewall]
    end
    D[Linux Client] -->|CDP| B

    classDef local fill:#2c3e50,stroke:#ecf0f1,stroke-width:2px,color:#ecf0f1
    classDef proxy fill:#3498db,stroke:#2980b9,stroke-width:2px,color:#fff
    classDef firewall fill:#f39c12,stroke:#d35400,stroke-width:2px,color:#fff
    classDef client fill:#27ae60,stroke:#229954,stroke-width:2px,color:#fff

    class A local
    class B proxy
    class C firewall
    class D client

Chrome’ı Başlatma

Önerilen yaklaşım, bağımsız bir kullanıcı dizini kullanmak ve uzaktan hata ayıklama adresini açıkça belirtmektir; böylece Chrome yalnızca yerel makineye hata ayıklama portunu açar. Aşağıdaki örnek, 9222 portu üzerinden gösterim yapar; gerçek duruma göre ayarlamalısınız.

& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
  --remote-debugging-address=127.0.0.1 `
  --remote-debugging-port=9222 `
  --user-data-dir="$env:TEMP\chrome-profile-mcp"

Port Yönlendirmeyi Yapılandırma

Yerel 127.0.0.1:9222’yi Windows’un LAN adresi 192.168.31.2:9222’ye eşlemek için portproxy kullanın; böylece LAN istemcileri erişebilir.

netsh interface portproxy add v4tov4 `
  listenaddress=192.168.31.2 listenport=9222 `
  connectaddress=127.0.0.1 connectport=9222 `
  protocol=tcp

Kuralın etkin olduğunu onaylayın; mevcut yönlendirme yapılandırmasını kontrol edebilirsiniz.

netsh interface portproxy show v4tov4

Güvenlik Duvarı Ayarları

Açıklığın azaltılması için yalnızca belirli istemci IP’lerinin bu porta erişimine izin verilmesi önerilir. Aşağıdaki örnek, 192.168.31.162’den gelen bağlantıları izin verir.

New-NetFirewallRule `
  -DisplayName "Allow CDP 9222 from Linux" `
  -Direction Inbound `
  -Action Allow `
  -Protocol TCP `
  -LocalPort 9222 `
  -RemoteAddress 192.168.31.162

Bağlantıyı Doğrulama

Yerel ve LAN adreslerinden /json/version yanıtı alındığında, zincirin çalışır durumda olduğu anlaşılır. Bu adım, Chrome, portproxy veya güvenlik duvarı ile ilgili sorunları hızlıca tespit etmeye yardımcı olur.

curl http://127.0.0.1:9222/json/version
curl http://192.168.31.2:9222/json/version

Aşağıdaki diyagram, doğrulama isteğinin çeşitli bileşenler arasında nasıl iletildiğini gösterir.

sequenceDiagram
    participant Client as Client
    participant Proxy as Portproxy
    participant Chrome as Chrome
    Client->>Proxy: HTTP /json/version
    Proxy->>Chrome: 127.0.0.1:9222
    Chrome-->>Proxy: JSON
    Proxy-->>Client: JSON

MCP’ye Bağlanma

Portun açılmasının ardından, MCP yalnızca LAN adresine işaret etmelidir. Aşağıdaki örnek, chrome-devtools-mcp’yi doğrudan 192.168.31.2:9222’ye bağlamak için kullanır.

{
  "chrome-devtools": {
    "command": "npx",
    "args": [
      "-y",
      "chrome-devtools-mcp@latest",
      "--browser-url=http://192.168.31.2:9222"
    ]
  }
}

Temizleme ve Geri Yükleme

portproxy kuralları kalıcıdır; artık kullanılmıyorsa, hata ayıklama portunun yanlışlıkla açılmasını önlemek için eşlemeyi silmeli ve güvenlik duvarı kuralını kaldırmalısınız.

netsh interface portproxy delete v4tov4 listenaddress=192.168.31.2 listenport=9222 protocol=tcp

Port veya IP değiştiriyorsanız, Chrome parametrelerini, portproxy kuralını, güvenlik duvarı kuralını ve MCP yapılandırmasını aynı anda ayarlamalısınız; aksi takdirde bağlantı tutarsızlıkları oluşur.

Uzaktan hata ayıklama portu tam tarayıcı kontrol yetkisine sahiptir; internet üzerinden açılması önerilmez ve üretim ortamında uzun süre açık bırakılmamalıdır. Ağlar arası kullanım zorunluysa, VPN veya zero-trust tüneli tercih edilmelidir ve en düşük izin ve en düşük maruz kalma alanı korunmalıdır.