Question

Nous rencontrons un scénario de test qui a besoin de falsifier l'adresse IP source d'une demande de Http pour simuler les clients venant de différents pays . Connaissez-vous l'aide d'outils à ce sujet?

Last but not least, notre site Web est construit avec ASP.NET.

Merci.

Était-ce utile?

La solution

Comme il est indiqué dans les réponses à la question ServerFault « sont des adresses IP trivial pour forger » , vous ne pouvez pas forger facilement les adresses source dans un protocole qui a nécessité une communication bidirectionnelle (par exemple TCP). Notez que cette « communication bidirectionnelle » est nécessaire au niveau des paquets. Vous ne pouvez pas simplement dire « pas de problème, je veux envoyer des demandes et ignorer les réponses HTTP. » Pour établir une session TCP, vous devez recevoir des données. Votre meilleur pari est d'utiliser un serveur proxy.

Autres conseils

Dans un environnement de test, il est généralement pas difficile. Lisez d'abord cette question SO sur réseau virtuel interfaces.

Si le serveur et le client sont sur la même machine, tout ce que vous avez à faire est de comprendre comment obtenir votre logiciel client de se lier à l'interface virtuelle. wget par exemple, a l'option --bind-address pour spécifier l'adresse locale de se lier à. Les navigateurs web sont un peu plus difficile de le faire avec; vous devrez peut-être simplement exécuter dans une machine virtuelle.

Si votre serveur et le client sont sur le même réseau local, il vous suffit de configurer votre routeur avec des routes statiques vers votre machine cliente. Dans ce cas, probablement ne pas besoin d'une interface de réseau virtuel, vient de mettre une adresse IP statique pour votre machine cliente; tant que la passerelle est configuré correctement, il devrait être en mesure d'envoyer des paquets au serveur, et aussi longtemps que l'itinéraire est configuré correctement les réponses doivent trouver leur chemin au client.

Si le client et le serveur sont séparés par un Internet, il est un peu plus difficile. Une option consiste à mettre en place sur le serveur et le tunnel d'un point de terminaison de tunnel de réseau à la machine cliente, qui « sait » qu'il a l'interface de réseau virtuel.

Je ne suis pas sûr si la norme IP permet, mais si vous travaillez dans un environnement de laboratoire, où vous n'avez pas besoin de connectivité Internet pendant le test, je peux le voir travailler dans des circonstances suivantes:

En fait, je mettrais masque réseau à utiliser 0.0.0.0 l'interface réseau du serveur et vider le reste de la table de routage.

Ensuite, vous pouvez configurer une machine cliente à prendre une adresse IP en tant que vous utilisez 0.0.0.0 netmask. Et une communication bidirectionnelle devrait être possible.

Server[1.2.3.4/0] <---> Client[x.x.x.x/0]

Mais s'il vous plaît garder avec moi. Je ne l'ai pas testé, donc je peux me tromper: -)

Si vous avez accès à votre infrastructure, vous pouvez ajouter une interface de routeur, puis placez une route statique sur le routeur à ce réseau.

Server-----Router----Internet
            /
Test_PC----/

Sinon, vous pouvez regarder dans PBR (politique basée sur routage) et sur les routeurs, vous pouvez les paquets source de drapeau et changer la source à la volée, de sorte que votre serveur pensera qu'ils viennent d'où vous souhaitez les venir de.

Server-------------Router_with_PBR-------------Internet----- PC
SCR:4.2.2.2        Change SCR:6.6.6.6 to 4.2.2.2              6.6.6.6

Mais vous devez vous demander pourquoi voulez-vous voir lorsque les paquets proviennent de différents pays. Certains pays ont des serveurs proxy massifs que l'accès filtre ( « grand pare-feu de la Chine »), de sorte que les tests ci-dessus ne constitueront pas beaucoup.

Votre meilleur pari est alors en utilisant des serveurs proxy ou si vous cherchez une solution à long terme, alors la configuration d'un serveur (virtuel est grand pour cela) et utiliser RDP pour les tests. Je suis sûr que vous pouvez louer un endroit serveur virtuel pour un mois ou deux.

Ce n'est pas possible. Parce que quand vous forgez l'adresse IP, la réponse ne va jamais revenir, ce qui est nécessaire pour http.

La meilleure façon est d'utiliser des proxys. Voir aussi cette question sur serverfault.

Si vous changez d'adresse IP source, cela signifie pas de trafic à partir de votre serveur Web sera en mesure d'atteindre au client.

Vous pourriez être en mesure d'utiliser une sorte de procuration et / ou l'adresse filtre de traduction pour faire le remappage tout en permettant une communication bidirectionnelle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top