2011-09-14 3 views
3

Je travaille avec des mobiles, donc je m'attends à ce que la perte de réseau soit courante. Je fais des paiements, donc chaque demande compte. Je voudrais pouvoir tester mon serveur pour voir exactement comment il va se comporter avec la perte du réseau client à différents moments du cycle de la demande - spécifiquement entre n'importe quel paquet donné envoyer/recevoir pendant toute la communication réseau.Comment tester le comportement du serveur en cas de perte de réseau à chaque paquet possible

Je soupçonne que le serveur se comportera légèrement différemment si la communication est perdue pendant l'envoi de la réponse par rapport à l'attente d'un FIN-ACK, et je veux savoir quels minutages de déconnexions je peux distinguer.

J'ai essayé de simuler une requête http en utilisant scapy, et d'arrêter la communication entre chaque paquet TCP. (C'est-à-dire: envoyez d'abord SYN puis disparaissez, envoyez SYN et recevez SYN-ACK, puis disparaissez, envoyez SYN et recevez SYN-ACK et envoyez ACK, puis disparaissez, etc.) Cependant, je me suis rapidement enlisé dans les détails de essayer de reproduire une pile TCP fonctionnelle.

Existe-t-il un bon outil pour automatiser/activer ce type de test?

Répondre

2

À moins que votre application ne réponde réellement et génère ses propres paquets IP (ce qui serait incroyablement bête), vous n'avez probablement pas besoin de faire des tests sur cette couche. Un simple test sur la couche TCP (par exemple connect(), send(), recv(), shutdown()) suffira probablement car ces événements sont les seuls que votre serveur connaîtra.

+0

Hmmm ... bon appel. Je suis un peu * trop * excité d'être complet. :) Tous les outils que vous connaissez pourraient rendre cet objectif plus modeste facile? (Oui, je pourrais en écrire, mais ...) –

Questions connexes