2015-05-27 15 views
5

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

https://www.privateinternetaccess.com/forum/discussion/8204/how-to-stop-webrtc-local-ip-address-leaks-on-google-chrome-and-mozilla-firefox-while-using-private-i

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.

+1

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 ....? –

+0

Tak, użyj strony internetowej, która pokazuje wszystkie nagłówki dla twojej prośby, takie jak http://myhttp.info/. – kindall

Odpowiedz

2

Chyba odpowiedziałem na własne pytanie w edycji. Najważniejsze jest to, że jest to problem z trzema głowami: Java, Flash i WebRTC. Zgodnie z moimi zmianami, Java i Flash są łatwe w obsłudze. WebRTC wydaje się być problemem tylko podczas uruchamiania Chrome w systemie Windows.

W naszym przypadku końcowy kod będzie działał na serwerze Linux za pomocą PhantomJS. Oznacza to, że żaden z powyższych problemów nie będzie problemem.

Mamy małą aplikację, która będzie działała na komputerze z systemem Windows z wygody. Ponieważ wydaje się, że błąd sprawia, że ​​korzystanie z Firefoksa i Selenium 2.0 jest nieco problematyczne, rozwiązaniem jest uruchomienie tej gałęzi kodu na maszynie wirtualnej Ubuntu Workstation na hoście Windows. W takim przypadku Chrome powinien zachowywać się dobrze i wszystko będzie dobrze.

Powiązane problemy