Se sei direttamente sul percorso delle informazioni, non c'è assolutamente nulla che ti impedisca di fingere di essere quell'indirizzo IP. Se tu fossi il primo dispositivo lungo la rete con cui Alice ha parlato, potresti assolutamente convincerla che sei l'IP di Bob.
Questa è una parte importante del perché i browser richiedono certificati firmati per fidarsi dei siti basati su SSL. Senza quel certificato firmato affidabile, non c'è modo di essere certi che il server sia quello che dicono di essere.
Per essere semplicemente sulla stessa rete, il problema sono i router. Quando ti connetti a una rete, i router devono essere informati su quale sia il tuo indirizzo IP in modo che sappiano in che direzione instradare quei pacchetti. Questi sono formati nelle tabelle di routing. Poiché ogni IP ha un solo record, se un altro computer dichiara di essere quell'IP dopo che il primo è stato stabilito, il router lo ignora semplicemente come errore e continua a seguire il percorso.
Potresti potenzialmente imbatterti in situazioni strane in cui router diversi ritengono che le diverse interfacce di rete siano l'IP corretto e in base a quale routing di direzione viene instradato, potrebbero finire in due posti diversi.
Inoltre, se ci si trovasse su una rete non commutata che utilizza solo hub (o, ad esempio, una rete wireless con una chiave comune), sarebbe in effetti possibile intercettare il traffico per un altro indirizzo IP. Non saresti in grado di impedire che anche l'altro computer ottenga i messaggi in questi casi, quindi sarebbe difficile iniettare qualcosa per qualsiasi protocollo con un numero di sequenza, ma sarai in grado di monitorarlo completamente o spoofarlo interamente se il sistema non si aspettava una connessione.
In breve, il problema principale riguarda il percorso che i dati richiedono. La maggior parte delle reti moderne è abbastanza intelligente da evitare l'invio di dati che non è necessario andare (dato che questo è inefficiente). Se la rete trasmette i dati ovunque, diventa molto più semplice, ma presenta ancora alcune sfide se è necessario impedire al cliente reale di conoscere la manomissione (a meno che non si possa agire completamente come gatekeeper tra loro e il resto della rete. )