Domanda

Questo potrebbe essere uno di quelli " eh, perché? " domande, ma ho pensato che varrebbe la pena provare.

In che modo, da un'applicazione lato server, utilizzare l'indirizzo IP del client come indirizzo IP dell'applicazione su un altro sito Web? L'idea di base è che qualsiasi lavoro svolto dall'applicazione lato server viene visto come il client stesso esegue il lavoro e non l'IP statico del server.

Non sono sicuro che cambiare le intestazioni HTTP funzionerebbe, ma potrei sbagliarmi. C'è della documentazione là fuori su questo?

Grazie,

Kyle

È stato utile?

Soluzione

Assolutamente impossibile. Non sarai nemmeno in grado di aprire una connessione TCP perché il server dell'altro sito Web proverà a stringere la mano con il client e fallirà.

Un indirizzo IP non è solo un vecchio ID, è in realtà indirizzo a cui i server invieranno qualsiasi risposta. Fondamentalmente lo spoofing ha senso solo se puoi adattare la tua richiesta a un singolo pacchetto IP (che esclude TCP e quindi HTTP) e non sei interessato alla risposta. Anche in questo caso può fallire perché i router del tuo ISP potrebbero avere regole anti-spoofing che eliminano i pacchetti con " al di fuori " Indirizzi IP provenienti da " inside " reti.

Altri suggerimenti

Perché mai un'applicazione legittima vorrebbe falsificare il suo indirizzo IP?

La modifica delle intestazioni HTTP potrebbe interromperla, ma molto probabilmente non lo farà. Dipende da quanto sia ingenuo l'altro server.

Sembra che tu stia provando a fare qualcosa nel modo sbagliato, puoi fornire qualche informazione in più su quale sia esattamente il caso d'uso?

Se non è necessario eseguire alcuna elaborazione nel mezzo, è possibile eseguire il port forwarding sul firewall IP del server, quindi il client si connette al server ma finisce per parlare con l'altro server.

Se c'è più coinvolgimento del tuo server, allora la cosa giusta da fare sarebbe passare l'IP del client all'altro server come parte dell'URL (se si tratta di un'app Web) o altrove nei dati (in caso contrario) il server ricevente può conoscere e registrare correttamente il processo senza necessità di falsi. Naturalmente ciò richiederebbe anche un cambiamento nell'altra app.

Sempre supponendo che stiamo parlando di HTTP, un'altra idea che mi è venuta in mente sarebbe quella di reindirizzare il tuo client sull'altro server. Fintanto che tutti i dati necessari si trovano nell'URI, è possibile consigliare al browser del client di connettersi all'altro server con un URI di propria creazione che possa portare qualsiasi valore aggiuntivo che l'elaborazione del server aggiunge alla richiesta.

Decenni fa, il designer di Internet ha chiesto, "come possiamo impedire a Kyle Rozendo di fare una cosa così subdola?" "

Se il client sta collaborando, è possibile installare alcuni software sul computer client e fare il lavoro da lì. Ad esempio, un'applet java firmata sulla tua pagina. [scherzando] Se il client non collabora, installa del virus trojan [/ kidding]

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top