En utilisant netcat pour envoyer un paquet UDP sans liaison

Je suis en train d'utiliser netcat pour simuler un protocole NAT traversal.

J'ai un exemple qui est à l'écoute pour les paquets UDP sur le port 6666), comme suit:

nc-ul 6666

Dans une autre fenêtre de terminal, je suis en train d'envoyer périodiquement un paquet UDP de port 6666 (pour ouvrir la voie de retour sur mon routeur. ce serait un script qui se répète toutes les 20 secondes pour ré-ouvrir le port)

nc-u -p6666 mypinghost.com 4444

Le problème est netcat échoue sur ce ping call avec le message:

nc: échec de la liaison: Adresse déjà en cours d'utilisation

Ce qui implique que l'auditeur ayant lié au port 6666 est le blocage d'un autre processus à partir de l'envoi à partir de ce port, ou éventuellement que netcat est d'essayer de se lier à 6666 à écouter.

Est-ce juste la façon dont netcat est écrit, ou puis-je le chatouiller certains moyen de me faire envoyer un paquet sans liaison au port d'écouter?

OriginalL'auteur Jim Baldwin | 2012-07-08