Sto cercando di capire come è possibile che il nostro vero indirizzo IP venga scoperto anche dopo aver attraversato un proxy ad alta sicurezza privato esclusivo (sono l'unico utente).Perché il mio vero indirizzo IP è ancora visibile anche quando si utilizza un proxy?
PROXY_IP = "<private proxy IP>:<port>"
options = webdriver.ChromeOptions()
options.add_argument("--proxy-server=%s" % PROXY_IP)
driver = webdriver.Chrome(executable_path=".\\driver\\chromedriver.exe",
chrome_options=options)
driver.get("http://www.stayinvisible.com/")
Questo sito Web visualizza una serie di dati che possono essere presi dalla tua interazione con esso. Elenca correttamente l'indirizzo IP del proxy e, con mia sorpresa, elenca anche il nostro indirizzo IP DSL come "IP aggiuntivo".
Come sta succedendo e come lo evitiamo?
Un pensiero è che potrebbero utilizzare JavaScript/Java in modo intelligente per acquisire i dati di geolocalizzazione e inviarli a se stessi. Ho scansionato il codice sorgente della pagina e non sono riuscito a trovare nulla che risalta (anche se non ho fatto una recensione esauriente).
EDIT 1:
Se uso un diverso sito di controllo non sembrano segnalare il mio vero IP. Per esempio, nessuno di questi sembra di vedere il vero IP:
driver.get("http://simplesniff.com/")
o
driver.get("http://analyze.privacy.net/")
EDIT 2:
Per uno dei commenti, ho provato:
driver.get("http://myhttp.info/")
Nessun segno di IP reale da nessuna parte. Mi piacerebbe sapere che cosa il codice stayinvisible.com
sta facendo ...
EDIT 3:
forse ho trovato la risposta: WebRTC
Questo, a quanto pare è una cosa che influisce su Chrome su Windows. Che è esattamente quello che sto correndo (mi serve bene). Ho capito questo dopo aver finalmente trovare un sito che verifica la presenza di perdite IP che mi ha detto come hanno ottenuto l'indirizzo reale:
driver.get("http://ipleak.net/")
non ho il tempo di oggi, ma domani mi controllerò Firefox sotto Windows e anche Chrome sotto desktop Ubuntu e OSX solo per triplo controllo.
EDIT 4: soluzione parziale
Beh, ovviamente non sto seduto ad aspettare una risposta.
OK, ho risolto il primo problema. Sospettavo che http://simplesniff.com/ usasse Flash o Java per scoprire l'indirizzo IP reale. Si è rivelato Flash. Era semplice come disabilitarlo tramite chrome: // plugins e ricaricamento per verificare.
Per disabilitare Flash in codice:
options = webdriver.ChromeOptions()
options.add_argument("--proxy-server=%s" % PROXY_IP) # Tell Chrome to use a proxy
options.add_argument("--disable-bundled-ppapi-flash") # Disable internal Flash player
options.add_argument("--disable-plugins-discovery") # Disable external Flash player (by not allowing it to load)
funziona come un fascino. Ora http://simplesniff.com/ non è in grado di individuare l'indirizzo IP reale.
Un problema rimane: WebRTC. Questo potrebbe negare l'utilizzo di Chrome su Windows fino a quando Google non lo risolve.
Sembra piuttosto che il proxy di sicurezza elevata imposti un'intestazione var come X-FORWARDED-FOR o X-REAL-IP ....? –
Sì, usa un sito Web che mostra tutte le intestazioni per la tua richiesta, come http://myhttp.info/. – kindall