#1 Le 25/08/2014, à 20:00
- xana02
ecoute port tcp sortie dans une variable avec NC
Bonjour, j'essaye de récupérer la sortie du logiciel NC ( netcat ) pour l'utiliser dans une variable . mais tant que NC na pas fini d'écouter le programme ne va pas a la suite
Je cherche un moyen d'écouter un port et de récupéré la résultat dans une variable . Y a t'il moyens de dire a NC de d’écouter qu'une ligne et de s’arrêter
echo En attente
var=$(nc -l -p 7879)
echo $var
Merci
Dernière modification par xana02 (Le 25/08/2014, à 20:00)
Hors ligne
#2 Le 25/08/2014, à 20:19
- jplemoine
Re : ecoute port tcp sortie dans une variable avec NC
pour des plugins nagios, j'utilise
nc <adresse IP> <port d'écoute>
Ça rend la main immédaitement
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#3 Le 25/08/2014, à 20:28
- pingouinux
Re : ecoute port tcp sortie dans une variable avec NC
Bonsoir,
Je n'utilse pas nc, mais le man dit que c'est une erreur d'utiliser simultanément -l et -p. En voici un extrait :
-l Used to specify that nc should listen for an incoming connection
rather than initiate a connection to a remote host. It is an
error to use this option in conjunction with the -p, -s, or -z
options. Additionally, any timeouts specified with the -w option
are ignored.
-p source_port
Specifies the source port nc should use, subject to privilege
restrictions and availability. It is an error to use this option
in conjunction with the -l option.
Sinon, pour arrêter une commande après la 1ère ligne de sortie :
commande | sed -r '/^.+$/q'
Ajouté : Ou bien
commande | sed -r '/^$/!q'
Dernière modification par pingouinux (Le 26/08/2014, à 04:07)
Hors ligne
#4 Le 25/08/2014, à 20:37
- jplemoine
Re : ecoute port tcp sortie dans une variable avec NC
Pas besoin du sed : il suffit de prendre la commande donnée au post #2.
Je l'utilise pour récupérer les températures des disques durs...
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#5 Le 25/08/2014, à 20:57
- pingouinux
Re : ecoute port tcp sortie dans une variable avec NC
@jplemoine : C'était un exemple qui peut servir dans d'autres cas. Dans ce cas précis, ta commande est plus simple.
Hors ligne
#6 Le 25/08/2014, à 21:00
- jplemoine
Re : ecoute port tcp sortie dans une variable avec NC
oui. Je n'avais pas pensé à ça : je suis en peu fatigué ce soir : ça fait 2 fois que je suis à coté de la plaque...
Je vais arrêter de poster sur le forum pour ce soir...
Dernière modification par jplemoine (Le 25/08/2014, à 21:00)
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#7 Le 25/08/2014, à 21:07
- xana02
Re : ecoute port tcp sortie dans une variable avec NC
Humm je sais pas si c'est le clients ou le serveur qui va pas
J'ai essayé nc monip 7879
j'ai un retour a la ligne et je reçois rien .
Si vous préféré j'ai un clients qui m'envoie des messages sur le 7879 en permanence .
je ne peux pas utiliser nc -p 7879 , sans -l cela ne fonctionne pas ..
J'ai essayé avec commande | sed -r '/^.+$/q' cela fonctionne .
j'aurais bien voulus avec NC tout cour mais fonctionne pas ...
Dernière modification par xana02 (Le 25/08/2014, à 21:16)
Hors ligne
#8 Le 26/08/2014, à 12:02
- Pseudo supprimé
Re : ecoute port tcp sortie dans une variable avec NC
nc -z est plus facile à traiter
echo "example.com, hostname, IP à sonder ?"; read target; for i in 22 80 443 25 587 465 143 993 110 995; do nc -w 1 -i 1 -z $target $i ; if [ "$?" -eq 0 ]; then echo "$i est accessible"; else echo "$(date +%H:%M:%S) $i est inaccessible"; fi; done