In che modo un sito Web può rilevare il mio indirizzo IP originale, anche se sto utilizzando un server proxy? Ho notato questo con alcuni siti. Ci sono quattro metodi proxy che ho usato:
- Firefox con un'impostazione proxy.
- Python con
mechanize.set_proxies
. - Firefox in una macchina virtuale con un router di macchine virtuali in modo tale che tutta l'Internet della VM passa attraverso un proxy.
- TorBrowser (che utilizza Firefox come browser effettivo).
Le seguenti cose sono comportamenti che ho notato che sono previsti:
- Con tutti questi, se vado a
http://www.whatismyip.com/
, fornisce l'indirizzo IP corretto (l'indirizzo IP del proxy, non il computer host). -
whatismyip.com
dice "Nessun proxy rilevato" per tutti questi
In effetti, sembra che i siti web che visito credano che il mio IP sia quello del proxy. Tuttavia, ci sono stati alcuni casi strani che mi fanno pensare che alcuni siti possano in qualche modo rilevare il mio indirizzo IP originale. Sono curioso di sapere come vanno a farlo.
- In una situazione, visitando un sito non statunitense tramite Firefox con un proxy non statunitense, il sito è stato letteralmente in grado di stampare il mio indirizzo IP di origine (dagli Stati Uniti) e negarmi l'accesso. Non dovrebbe essere impossibile? Visitando il sito tramite la macchina virtuale con lo stesso proxy non statunitense o TorBrowser con un nodo di uscita non statunitense, il sito non è stato in grado di farlo.
- In una situazione simile, stavo visitando un altro sito non statunitense da un proxy non statunitense. Se ho effettuato l'accesso al sito da Firefox all'interno della macchina virtuale o da TorBrowser con un nodo di uscita non statunitense, il sito funzionerebbe correttamente. Tuttavia, se tento di accedere tramite Firefox con un proxy (lo stesso proxy utilizzato dalla macchina virtuale) o con
mechanize
, non riuscirebbe ad accedere con un messaggio di errore non correlato. - In una terza situazione, utilizzando l'opzione
mechanize.set_proxies
, ho sovraccaricato un sito con troppe richieste, quindi ha deciso di bloccare l'accesso (sarebbe intenzionalmente scaduto ogni volta che ho effettuato l'accesso). Pensavo che avrebbe potuto bloccare l'indirizzo IP del proxy. Tuttavia, quando ho eseguito il codice da un'altra macchina host, ma con lo stesso proxy, ha funzionato di nuovo, per un breve periodo, fino a quando non lo hanno bloccato di nuovo. (Non preoccuparti, non molesterò ulteriormente il sito - ho continuato a eseguire il programma perché pensavo che potesse essere un problema tecnico da parte mia, non un blocco dalla loro estremità.) Visitando quel sito con la soluzione proxy di Firefox + da uno degli host bloccati ha generato anche il timeout specifico.
Mi sembra che tutti questi siti, nei casi di Firefox + proxy e mechanize
, siano stati in grado di scoprire qualcosa sull'indirizzo IP della macchina host, mentre nei casi TorBrowser e macchine virtuali non erano . La mia domanda è essenzialmente: come sono i siti in grado di raccogliere queste informazioni? Un altro modo per chiedere è: cosa c'è di diverso nei casi TorBrowser e macchina virtuale che impedisce ai siti di raccogliere queste informazioni?