Próbuję zrozumieć, jak to jest, że nasz prawdziwy adres IP zostanie odkryty, nawet po przejściu przez prywatny wyłączny (jestem jedynym użytkownikiem) proxy wysokiego bezpieczeństwa.Dlaczego mój prawdziwy adres IP jest nadal widoczny, nawet podczas korzystania z serwera 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/")
Ta strona wyświetla wiele danych, które może pobrać z Twojej interakcji. Poprawnie wyświetla adres IP proxy i, ku mojemu zdziwieniu, wymienia również nasz adres IP DSL jako "dodatkowy adres IP".
Jak to się dzieje i jak temu zapobiec?
Jedna myśl polega na tym, że mogą używać JavaScript/Java w pewien sprytny sposób, aby pobrać dane geolokacyjne i odesłać je do siebie. Przeskanowałem przez źródło strony i nie mogłem znaleźć niczego, co by się wyróżniało (chociaż nie zrobiłem wyczerpującej recenzji).
EDIT 1:
Gdybym użyć innej stronie internetowej sprawdzania nie wydaje się, aby zgłosić moje prawdziwe IP. Na przykład, ani jeden z nich wydaje się, aby zobaczyć prawdziwe IP:
driver.get("http://simplesniff.com/")
lub
driver.get("http://analyze.privacy.net/")
EDIT 2:
Na jednym z komentarzy, próbowałem:
driver.get("http://myhttp.info/")
Brak śladów prawdziwego adresu IP w dowolnym miejscu. Chciałbym wiedzieć, co robi kod stayinvisible.com
...
EDIT 3:
I może znaleźć odpowiedź: WebRTC
To najwyraźniej jest coś ma wpływ na Chrome w systemie Windows. Które jest dokładnie to, co używam (serwuje mi dobrze). Pomyślałem, to w końcu się po znalezieniu miejsca, które sprawdza szczelność IP który powiedział mi, jak dostali prawdziwy adres:
driver.get("http://ipleak.net/")
nie mam dzisiaj, ale jutro czas Sprawdzę Firefox pod Windows, a także Chrome pod Ubuntu na komputery stacjonarne i OSX tylko po to, by potrójnie sprawdzić.
EDIT 4: częściowe rozwiązanie
Cóż, oczywiście ja nie siedzę bezczynnie i czekać na odpowiedź.
OK, złamałem pierwszy numer. Podejrzewałem, że http://simplesniff.com/ używało Flasha lub Javy, aby wykryć prawdziwy adres IP. Okazało się, że to Flash. To było tak proste, jak wyłączenie go poprzez chrome: // plugins i ponowne wczytanie w celu weryfikacji.
Aby wyłączyć Flash w kodzie:
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)
działa jak czar. Teraz http://simplesniff.com/ nie może wyłowić prawdziwego adresu IP.
Pozostaje tylko jeden problem: WebRTC. Może to negować używanie Chrome w systemie Windows, dopóki Google go nie naprawi.
Brzmi to tak, jakby twój serwer proxy o wysokim poziomie zabezpieczeń ustawił nagłówek var, taki jak X-FORWARDED-FOR lub X-REAL-IP ....? –
Tak, użyj strony internetowej, która pokazuje wszystkie nagłówki dla twojej prośby, takie jak http://myhttp.info/. – kindall