Comment reproduire les erreurs réseau (DNS, SMTP, …) avec NetCat

Block Email Spam
SHARE WITH YOUR NETWORK!

Table of Contents

Comment reproduire les erreurs réseau (DNS, SMTP, …) avec NetCat

En tant qu’administrateur, développeur, technicien de soutien ou analyste de la qualité qui travaille avec des solutions de messagerie ou de réseau, vous êtes probablement souvent confronté à des problèmes causés par une défaillance aléatoire d’un composant réseau. Par exemple, un serveur DNS peut expirer sporadiquement ou le serveur SMTP rejette les destinataires parce qu’il n’a pas envie de les accepter. Vous commencez donc par résoudre le problème en analysant les journaux et le trafic réseau (règles de WireShark !). Mais à un moment donné, vous voulez reproduire le problème afin de pouvoir valider votre correctif ou simplement vérifier le comportement de votre système bien-aimé

Et c’est là que cela devient compliqué, car les problèmes aléatoires ne se produiront jamais quand vous en aurez besoin, et vous devez vous asseoir et attendre que le problème se reproduise. Pas vraiment une utilisation efficace de votre temps!

Donc, ce dont vous avez besoin, c’est d’un outil qui peut imiter le comportement défectueux du serveur. Il doit agir comme un serveur, accepter les connexions des clients et les traiter selon un comportement spécifique que vous définissez. De cette façon, vous pouvez avoir votre propre faux serveur DNS qui accepte n’importe quelle requête mais la laisse expirer, ou votre propre serveur SMTP qui accepte les connexions mais rejette tous les destinataires. De plus, cet outil ne devrait pas se limiter au DNS ou au SMTP : vous pouvez l’utiliser pour n’importe quel protocole, et il peut agir à la fois comme un serveur et un client.

Eh bien, j’ai une excellente nouvelle – cet outil existe (et il est sorti depuis un certain temps, en fait). Il est gratuit, simple à utiliser, offre toutes les fonctionnalités énumérées ci-dessus, et il est même disponible pour Windows! C’est NetCat pour Windows.

Alors, comment utiliser NetCat pour configurer un serveur DNS pour qu’il expire systématiquement?

  1. Téléchargez NetCat à partir de http://www.downloadnetcat.com/
  2. Arrêtez votre service DNS, si vous en avez un en cours d’exécution
  3. Exécutez cette commande : nc -L -p 53
    • Cela créera un serveur qui écoute sur un port DNS (-p 53) et accepte les connexions client, mais n’envoie jamais de réponse, simulant ainsi un délai d’expiration.
    • Le paramètre -L garantit que votre serveur NetCat redémarre chaque fois qu’une connexion est fermée.
    • Pour plus de détails sur les paramètres, il suffit d’exécuter nc-ƒ-help.
  4. Modifiez les paramètres de votre client DNS pour pointer vers la machine sur laquelle fonctionne votre faux serveur DNS.

Et c’est tout les amis! Vous pouvez maintenant reproduire le numéro à volonté. Évidemment, la même procédure peut être appliquée pour reproduire n’importe quel type de délai d’attente du serveur (POP, IMAP, SMTP, etc.). Pour ce faire, il suffit de changer le numéro de port dans la ligne de commande.

Passons maintenant à notre autre situation : comment reproduire un serveur SMTP qui renvoie une erreur lors de la validation du destinataire?

  1. Créez un fichier texte appelé smtp_error_on_rcpt_to.txt, qui contient les lignes suivantes :
  • 220 Bienvenue sur le faux serveur SMTP de NetCat
  • 250 OK (répondant à la commande HELO)
  • 250 OK (réponse à la commande MAIL FROM)
  • 450 Défaillance temporaire (réponse au commandement de l’OT du RCPT)
  1. Arrêtez votre serveur SMTP, si vous en avez un en cours d’exécution
  2. Exécutez cette commande : nc -L -p 25 -i 5 < smtp_error_on_rcpt_to.txt

Cela créera un serveur SMTP qui écoute sur le port 25 et envoie une ligne du fichier d’entrée toutes les 5 secondes (-i 5) sur toute nouvelle connexion, simulant ainsi une conversation SMTP avec votre client.

Vous pouvez voir à quel point il est facile de modifier le fichier d’entrée pour adapter le comportement à vos besoins. Vous pouvez également voir que NetCat peut être utilisé (en fait est principalement utilisé) comme client réseau et qu’il peut facilement interagir avec un serveur. Il facilite, par exemple, l’envoi d’un courriel à partir d’un script par lots. Je ne couvrirai pas ce point ici – il y a de nombreux tutoriels sur le Web détaillant comment procéder.

Certes, NetCat ne sera pas utile dans toutes les situations. On pourrait dire que NetCat est un peu stupide : qu’il n’interprète pas les données reçues de ses clients, qu’il n’a pas de logique conditionnelle et qu’il enverra aveuglément la même séquence de données lues à partir de son fichier d’entrée, et qu’il ne fonctionne pas bien avec les protocoles binaires. Pourtant, sa simplicité en fait un excellent outil et il m’a aidé dans de nombreuses situations. J’espère qu’il fera la même chose pour vous. Et si vous connaissez d’autres outils plus avancés, n’hésitez pas à les commenter et à les partager avec tout le monde.

 

Explore our Advanced Email Security Solutions

Protect your clients and simplify your operations with reliable, scalable email security solutions. Get in touch today to learn how we can support your success.

SHARE WITH YOUR NETWORK!

Ready to See the Difference?
Discover our advanced security products today.

Faire défiler vers le haut