web-dev-qa-db-fra.com

Est-il possible d'usurper une adresse IP en un nombre exact?

Le titre dit tout, vraiment. Disons que mon adresse IP était 1.2.3.4 et que je voulais la changer ou la `` parodie '' afin qu'elle soit exactement 2.3.4.5, serait-ce possible ou y a-t-il trop de facteurs différents qui doivent être pris en compte avant d'obtenir une réponse définitive?

Pourquoi pourriez-vous demander?

Eh bien, j'étais dans un magasin l'autre jour et ils avaient des iPads autour de la configuration de la pièce pour qu'ils montraient le site Web en ligne du magasin. Je suis allé et en ai regardé un et j'ai remarqué que ce qui était affiché sur leurs iPads en magasin était différent de ce que je verrais en me connectant simplement à leur site via mon téléphone (et oui, ils étaient tous les deux exactement le même lien en utilisant le même exact navigateur, Safari).

Cela m'amène à penser que la seule façon pour eux de le faire est soit d'avoir le site détecte l'adresse IP de l'appareil et affiche un contenu spécifique (ou exclusif) sur leur page d'accueil en fonction de cela, ou en faisant en sorte que le site détecte que l'appareil utilise les magasins WiFi (bien que je doute que cela soit possible, d'où la raison pour laquelle j'ai pensé que la route IP était plus plausible).

J'étais donc curieux de savoir s'il serait possible d'usurper l'IP de mon appareil à celui de l'IP exacte des magasins afin que mon appareil montre exactement ce que le leur a fait en ce qui concerne leur site Web.

N'hésitez pas à en discuter, je sais que c'est très très spécifique et avec un minimum de détails connus, donc je doute qu'il existe une solution définitive ...

32
James

Vous pouvez changer votre IP en ce que vous voulez; c'est trivial. Mais cela ne fonctionnera pas comme vous le souhaitez.

Disons que le FAI du magasin est Apple Networks, et leur plage IP est de 1.2.3.0 à 1.2.3.255. Vous le notez et rentrez chez vous. Votre réseau domestique provient d'Avocado Networks, et leur plage IP est 2.3.4.5. Vous changez votre IP en 1.2.3.123 et attendez. Rien ne se passe. Vous ne pouvez accéder à aucun site. Vous êtes hors ligne.

Mais pourquoi?

Routage .

Avocado Network raconte le monde entier ils possèdent le réseau 2.3.4.0, donc quand les gens veulent atteindre n'importe qui sur cette plage, ils envoient le paquet aux routeurs Avocado. Ils ne leur envoient pas de paquets 1.2.3.0, ils envoient aux Apple réseaux routeurs car ce sont eux qui font la publicité au monde entier de leur plage IP. Donc, votre ordinateur est là, en attendant rien à venir, et rien ne se passe.

Si Avocado Networks utilise Egress Filtering , vos paquets ne quittent même pas leur réseau. Leurs routeurs diront ceci est un paquet provenant de mon réseau, mais il dit que c'est de Apple l'espace d'adressage des réseaux; ce doit être une erreur, donc je laisserai tomber le paquet.

Si eux et personne sur le chemin utilisent le filtrage de sortie, votre demande de connexion atteindra pineapple.com, le site répondra comme d'habitude, mais la réponse sera envoyée à Apple Routeurs réseaux, pas réseaux Avocat. Et soit il n'y aura personne avec l'adresse IP 1.2.3.123 pour répondre et le le paquet est oublié, ou il y aura un 1.2.3.123 là-bas, et ils diront désolé, je n'ai jamais entendu parler de cette connexion auparavant. Oubliez ça. et c'est tout.

Pour obtenir ce que vous voulez, vous devez connecter un système au réseau du magasin, le faire fonctionner en tant que proxy et transmettre les paquets de votre domicile à ce système, puis ce système accédera à pineapple.com site en votre nom et vous envoyer la réponse.

82
ThoriumBR

Vous pouvez usurper votre adresse IP à votre guise. Choisissez un nombre, n'importe quel nombre! Cependant, vous ne pouvez pas l'utiliser pour faire croire à un serveur HTTP que vous êtes quelqu'un que vous n'êtes pas. La poignée de main TCP protège contre l'usurpation d'adresse IP. Pas de chance là-bas.

Quoi qu'il en soit, je suppose que la page Web affichée sur les appareils n'est pas discriminante en fonction de l'IP. Cela semble plus pratique de le faire en fonction du réseau auquel les appareils sont également connectés, ou à l'aide d'un autre petit indicateur secret non visible dans l'URL.

13
Anders

Pratiquement oui, vous pouvez l'usurper mais cela n'aidera pas dans trop de situations.

Le protocole IP spécifie que chaque paquet IP doit avoir un en-tête qui contient l'adresse IP de la source du paquet. L'adresse IP source est normalement l'adresse à partir de laquelle le paquet a été envoyé, mais l'adresse de l'expéditeur dans l'en-tête peut être modifiée de sorte que pour le destinataire, il semble que le paquet provienne d'une autre source.

Bien que cela soit possible, son utilisation serait très limitée car si vous utilisiez un autre numéro dans cet en-tête, toutes les réponses vers les paquets envoyés iraient vers cette fausse IP spécifiée.

Si votre objectif est de DoS (inonder la cible avec un volume de trafic écrasant), une telle manipulation est utile, mais si vous avez l'intention d'avoir du trafic légitime entre la cible et l'IP modifiée, cela ne fonctionnera pas.

Une bonne utilisation légitime d'une telle chose serait de tester comment un site Web gère plusieurs utilisateurs avant une situation de mise en ligne. Des outils comme HP LoadRunner et WebLOAD utilisent une telle technique.

9
Overmind

Comme d'autres l'ont dit, Oui, vous pouvez déclarer votre adresse IP comme vous voulez, Mais Non, le reste d'Internet ne vous parlera pas.

Cela reviendrait essentiellement à remplacer les numéros sur votre maison de "123 Real Avenue" à "321 Fake Street" - le facteur ne va pas commencer à vous livrer le courrier de quelqu'un d'autre, car, quoi qu'il dise sur votre porte, le la maison est physiquement sur "Real Avenue".

Cependant, je voulais suggérer d'autres méthodes possibles par lesquelles le comportement que vous voyez pourrait être accompli sans avoir un tableau "d'adresses IP spéciales":

  1. Un jeton unique (ou partagé) stocké dans un cookie.

    Lorsqu'un navigateur visite un site, il vérifie les cookies que le site lui a donnés dans le passé, voit s'il n'y en a pas et envoie ces cookies avec la demande. Ces cookies peuvent contenir n'importe quelle quantité d'informations sur l'appareil client, y compris "Je suis un Apple Store display model").

  2. Un simple en-tête HTTP qui identifie le périphérique.

    Lorsque vous visitez une page sur Internet, votre navigateur envoie et reçoit des données qui ne vous sont pas immédiatement visibles. Ces données sont contenues dans les en-têtes HTTP et peuvent contenir presque tout. Par exemple, un en-tête commun définit le type de la charge utile (c'est-à-dire text/html, application/json, etc.). Les serveurs d'Apple pourraient vérifier certains en-têtes non standard spécifiques (tels que I-AM-DISPLAY-IPAD) et renvoyer différents contenus au client lorsqu'ils sont détectés.

  3. Un jeton d'autorisation qui identifie de manière unique le périphérique.

    Si la sécurité était un problème, ils pourraient utiliser à la place un jeton unique généré par cryptographie qui identifie l'appareil comme authentique. En plus de certaines données secrètes qui rendent pratiquement impossible l'usurpation d'identité, ce jeton peut coder d'autres propriétés d'identification de l'appareil, ce qui rend le jeton inutile pour tout autre appareil, même si vous en aviez une copie parfaite.

  4. Le réseau utilise peut-être un homme du milieu pour injecter le contenu supplémentaire.

    Bien que les attaques man-in-the-middle soient généralement négatives, il n'est pas rare (bien que généralement mal vu) que les FAI ou les routeurs injectent du javascript dans une page non sécurisée que vous visitez. Il pourrait y avoir un tel appareil sur le réseau entre les iPads et Internet, qui injecte le contenu supplémentaire uniquement pour les appareils qui atteignent le site via ce réseau spécifique.

  5. Le réseau utilise peut-être un enregistrement DNS personnalisé.

    La première chose qui se produit lorsque vous essayez de visiter xyz.com est que votre navigateur/appareil contacte un serveur du système de noms de domaine pour savoir où xyz.com vit réellement sur Internet. Alors que le site que vous visitez sur votre appareil peut avoir la même URL, les appareils d'affichage peuvent avoir une adresse IP différente mappée à cette URL et aller sur un serveur complètement différent.

  6. En relation avec ce qui précède, le réseau peut ne pas être du tout sur Internet.

    L'ensemble du réseau de périphériques d'affichage peut en fait faire partie d'un VPN (réseau privé virtuel) qui se connecte à un autre ensemble de serveurs qui ne sont pas exposés à Internet en général. Un serveur proxy au sein du VPN pourrait transmettre des demandes à des sites externes, de sorte que l'appareil semble être connecté directement à Internet, mais se trouve en fait dans un immense jardin clos.

N'oubliez pas que cette liste est loin d'être exhaustive! Ce ne sont que des idées que je commencerais à étudier si je voulais créer un tel site qui offrait un contenu différent à un ensemble sélectionné d'appareils contrôlés.

En conclusion, il se passe beaucoup de choses sous le capot d'Internet, et vous ne devriez jamais vous attacher trop à une idée du fonctionnement de quelque chose.

2
Tim

Le titre dit tout, vraiment. Disons que mon adresse IP était 1.2.3.4 et que je voulais la changer ou la `` parodie '' afin qu'elle soit exactement 2.3.4.5, serait-ce possible ou y a-t-il trop de facteurs différents qui doivent être pris en compte avant d'obtenir une réponse définitive

OUI ET NON.

Tout d'abord, il y a deux adresses IP

  1. IP privée
  2. IP publique

Votre adresse IP privée peut être tout ce que vous voulez, qui se trouve dans la plage d'adresses normalisée. Elle est utilisée pour vous identifier de manière unique sur un réseau

Votre adresse IP publique ne peut pas être changée en quelque chose.L'IP privé est plutôt attribué.Puisque l'IP privée peut être utilisée pour vous identifier de manière unique sur un Internet Si vous pouviez le changer en ce que vous voulez, il y aurait beaucoup de confusion sur Internet Mais vous pouvez changer votre adresse IP publique (pas dans ce que vous voulez comme 2.2.2.2)

2
Vipul Nair