Windows'da Uzaktan Tarayıcı Hata Ayıklama Noktası Kurma
Categories:
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 clientChrome’ı 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: JSONMCP’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.