Outil Linux pour envoyer des données brutes à un serveur TCP

Je suis conscient que ce n’est pas une question directe de «développement», mais j’ai besoin de ces informations pour tester un projet de développement, donc je pense que quelqu’un pourrait avoir un problème similaire.

Je vais tester un logiciel qui exécute un serveur TCP et, selon les commandes envoyées, répond à certaines réponses. Je vais tester le logiciel et je ne veux pas écrire de code s’il ne fonctionne pas bien. Je souhaite donc envoyer ces commandes et tester le logiciel du serveur.

Comment puis-je y parvenir avec une machine Linux?

netcat ou telnet , j’ai utilisé les deux dans le passé pour tester des protocoles simples basés sur du texte. netcat est plus flexible.

De bash avec dd:

 dd if=/dev/zero bs=9000 count=1000 > /dev/tcp/$target_host/$port 

ou même avec un chat:

 cat < /dev/urandom > /dev/tcp/$target_host/$port 

Sonne comme Expect peut être ce que vous voulez. Il existe des implémentations pour plusieurs langages de script, et vous pouvez programmer les réponses aux requêtes / serveurs, ainsi que les délais, la gestion des erreurs, etc. appropriés.