Per i proxy Web trasparenti e con il solo monitoraggio statico (ad esempio i registri di accesso del server Web), non è possibile. La richiesta è stata inoltrata al tuo server web dal server proxy stesso, quindi a meno che non si tratti di un proxy non trasparente che si collega alle richieste di inoltro di richieste Web, come ad es. X-Forwarded-For
Campo di intestazione HTTP che rivela l'indirizzo IP della richiesta originale, sei sfortunato.
Questi campi di intestazione HTTP potrebbero variare a seconda dei proxy HTTP non trasparenti, alcuni dei più usati sono: X_FORWARDED_FOR
, VIA
, USERAGENT_VIA
, FORWARDED
, PROXY_CONNECTION
, XPROXY_CONNECTION
, HTTP_PC_REMOTE_ADDR
, HTTP_CLIENT_IP
.
Questi potrebbero rivelare qualsiasi cosa dall'indirizzo IP pubblico della richiesta originale, nome della rete locale, stringa dell'agente utente del client Web e così via, a seconda dell'implementazione. La loro sola presenza (tutti questi sono campi di richiesta HTTP non standard per connessioni senza proxy) confermerebbe comunque i tuoi sospetti che le richieste web siano inoltrate. Naturalmente, ancora una volta, supponendo che il proxy non sia trasparente, non include nemmeno nessuno di questi campi personalizzati di intestazione nelle sue richieste al server. E a volte, il fatto che la richiesta provenga dal server proxy può anche essere stabilita dal nome DNS della richiesta (se include "proxy" nel nome, probabilmente lo è). Dovresti anche configurare il tuo server per segnalare questi valori di campi HTTP personalizzati e nomi DNS nei tuoi file di log di accesso, altrimenti potrebbero non essere nemmeno registrati.
Un'altra cosa da aggiungere, dato che stai parlando di coordinate, è che quelle sono più o meno inutili. L'esatta geolocalizzazione degli indirizzi IP è quasi impossibile tramite le richieste HTTP, a meno che i client stessi non decidano di condividere le loro informazioni di geolocalizzazione tramite le risposte HTML 5. Il meglio che puoi sperare con le richieste con proxy è stabilire la posizione approssimativa del server, a volte in quale città si trova, ma più comunemente solo in quale stato è stato registrato l'intervallo IP a cui appartiene l'IP del server. Whois registra, ad es con lo strumento di ricerca degli indirizzi IP di Hurricane Electric (e ce ne sono molti altri disponibili online) e forse essere in grado di stabilire chi è il server proxy in questione appartiene a.
Per quanto riguarda il monitoraggio attivo dei client Web (i browser che hanno effettuato richieste iniziali e che hanno rivelato il loro vero indirizzo IP), non lo consiglierei. È complesso, tecnicamente impegnativo e non tutte le parti divertenti potrebbero essere legali nel tuo paese o considerate etiche. Non è impossibile, ma avrai bisogno di un esperto qualificato per questo, impostandoti sul tuo server. E potrebbe anche non funzionare, specialmente se i veri client web che accedono al tuo server tramite un proxy non sono nemmeno veri e propri browser degli utenti finali, ma bot web con script che automatizzano le attività web per chiunque li stia controllando e facendo affidamento su API web che non accetta i plug-in e le estensioni del browser tramite i quali è possibile rivelare l'indirizzo IP reale (ad esempio tramite oggetti Flash) o il client Web con impronte digitali univoche per facilitare il tracciamento.
Nella maggior parte dei casi, il meglio che puoi fare è bloccare determinati client Web per stringhe di user-agent, indirizzi IP / intervalli IP, i loro nomi DNS o implementare controlli più approfonditi (come Specifiche RFDNS , blacklist CBL , Honeypots and Honeynets , ...) da parte tua, sia nelle regole di accesso del server web, WAF o altri firewall, ... per evitare che clienti indesiderati usino le tue risorse contro di te. Cioè implementare una politica di autorizzazione completa che tuteli i beni prima che faccia male, invece di inclinarli nei mulini a vento dopo il fatto.