IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Netcat : Problème de compréhension ?


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 15
    Par défaut Netcat : Problème de compréhension ?
    Bonjour,

    Je suis en train de réaliser un petit programme pour me familiariser avec la commande netcat. Je débute en bash et tout n'est pas très claire!
    En fait je veux créer un programme qui permet d'interroger un serveur avec des commandes basiques (afficher les fichiers distants, upload, recherche...).

    J'informe l'utilisateur que la commande est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect mode ip port [fichier]
    3 modes :
    • afficher : affiche la liste des fichiers du serveur distant
    • upload (parametre fichier necessaire) : upload le fichier sur le serveur distant
    • recherche (parametre fichier necessaire) : recherche sur le serveur distant si le fichier existe

    Puis je lui demande de faire une saisie que j'interprète à l'aide d'un sed pour extraire dans des variables différentes les informations mode, ip, port et fichier.

    J'ai ouvert deux terminaux, dans le premier je crée un serveur local sur le port 8080 (dans home/users/moi/serveur):
    et dans le deuxième (/home/users/moi/client) j'exécute mon programme.

    Admettons que je saisisse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect afficher localhost 8080
    .
    Ma question : pourquoi ma ligne n'affiche pas les fichiers de home/users/moi/serveur ?

    Merci beaucoup.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    Bonjour,

    cette commande dirige la sortie standard de nc vers l'entrée standard de ls :


    celle-ci envoie la commande ls -l vers nc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    nc $ip $port <<eof
    ls -l
    eof
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 15
    Par défaut
    Bonjour,

    Merci pour cette précision, je comprends, je prenais le problème à l'envers...

    Du coup devrait me renvoyer la liste des fichiers du serveur distant ? pourtant non... comme si ls -l n'était pas interpréter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./programme.sh: line 9: ls: No such file or directory

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    pourquoi modifier la ligne que j'ai donnée ?

    quel interpréteur de commande utilises-tu ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 15
    Par défaut
    Voici mon fichier modeafficher.sh qui s'occupe de gérer le mode "afficher" (ce script est normalement appelé par le fichier "main" de mon programme) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #/bin/bash
    ip=$1
    port=$2
    echo "Connexion au serveur $ip:$port ..."
    nc $ip $port <ls -l
    Dans un premier terminal, je crée un serveur local (nc -l 8080)
    Dans le deuxième : ./modeafficher.sh localhost 8080

    et le terminal me renvoie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./modeafficher.sh: line 9: ls: No such file or directory

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    < envoie le contenu d'un fichier vers l'entrée standard d'une commande. (il faut lire un tuto !)

    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    nc $ip $port < <(ls -l)
    cf. man bash /Substitution de processus
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. [Débutant] problème de compréhension
    Par Sylvester dans le forum Général Java
    Réponses: 18
    Dernier message: 21/07/2005, 09h16
  2. Réponses: 5
    Dernier message: 11/04/2005, 10h21
  3. [C#] Problème de compréhension de System.Convert ET Provider
    Par papouAlain dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/11/2004, 21h52
  4. onclipevent (problème de compréhension)
    Par stephane eyskens dans le forum Flash
    Réponses: 8
    Dernier message: 24/09/2003, 15h09
  5. Problème de compréhension des ensembles
    Par Cornell dans le forum Langage
    Réponses: 6
    Dernier message: 07/02/2003, 22h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo