Script bash pour tester si flux réseau ouvert [Résolu/Fermé]

Signaler
Messages postés
5
Date d'inscription
vendredi 11 novembre 2011
Statut
Membre
Dernière intervention
20 novembre 2018
-
 Utilisateur anonyme -
Hello à tous ,

je dois créer un script pour tester si les flux sont ouvert entre deux machines

exemple de régle de flux :
Numéro de la rélge;Application source; Application destination;ip source; ip destination; port destination

j'ai pensée a un script comme ça :
#!/bin/bash
input="matrice.csv"
while IFS=";" read -r f1 f2 f3 f4 f5 f6
do
nc -v -s "$f4" "$f5" "$f6"
done > $input
en sortie de script il me faudrait juste les régle qui sortent en timeout

1 réponse


salut,

1- la redirection doit être dans l'autre sens : du fichier "vers la boucle"
2- la commande
nc
fonctionne-t-elle ?
qu'affiche-t-elle ?
quelles transformations cette sortie doit-elle subir ?

donne un exemple d'entrée du fichier input, le résultat correspondant de la commande
nc
, et la sortie attendue.
Messages postés
5
Date d'inscription
vendredi 11 novembre 2011
Statut
Membre
Dernière intervention
20 novembre 2018

1 : c'est fait
2: la commande nc se bloque elle me retourne : Ncat: Could not resolve source address "": Name or service not known. QUITTING.

mon fichier input ressemble a quelque chose comme ça :
01;SSH;SSH;192.168.0.1;192.168.0.2;22
02;FTP;FTP;192.168.0.1;192.168.0.2;21
numéro de la régle; application souce; application destination; ip source; ip destination;port destination

ma sortie attendue ce serait qu'il teste toute les lignes de mon fichier et qu'il me donne les numéro de régle qui finissent en timeout
Utilisateur anonyme
je ne suis pas certain d'avoir la même version de
nc
(openbsd-netcat 1.190_2-1);
est-ce que tu peux nous expliquer les options que tu utilises, et le comportement attendu ?

quand je veux savoir si une machine est joignable sur un port donné, j'utilise cette commande :
nc -z "$ipDistante" "$portDistant" && echo "$ipDistante joignable" || echo "$ipDistante NON joignable"
Utilisateur anonyme
en SFTW « tester si les flux sont ouverts », je me dis que tu devrais peut-être utiliser
netstat
(aka
ss
) en conjonction de
grep
pour obtenir un code de retour (
$?
) utilisable afin de valider l'affichage des informations souhaitées... car
netstat
(à l'instar de
sed
) retourne toujours VRAI, à moins d'une erreur de syntaxe.