Interroger un service depuis le client

curl, dig, nc, openssl s_client, ssh et sftp : composer la demande, lire la réponse, parler à la main un protocole en texte et interpréter les messages d'erreur.

  • 28 cartes
  • 4 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation

Quelques cartes du deck

  • Modèle client-serveur : de quoi s'agit-il ?

    Voir la réponse

    Organisation où un programme attend des demandes sur un port et y répond, tandis qu'un autre prend l'initiative d'ouvrir la connexion et de poser la question.

    Chacun des outils de ce deck joue le client : il parle à un service qui écoute déjà. Si rien n'écoute, l'échec est immédiat (Connection refused).

  • Quelle commande demande à 1.1.1.1 les serveurs de messagerie de example.org ?

    • dig @1.1.1.1 example.org MX
    • dig @example.org 1.1.1.1 MX
    • dig 1.1.1.1 example.org SMTP
    • dig -x example.org MX
    Voir la réponse

    dig @1.1.1.1 example.org MX

    Le serveur interrogé suit @, puis viennent le nom et le type d'enregistrement : MX donne les serveurs de messagerie. SMTP n'est pas un type d'enregistrement, et -x sert à la résolution inverse d'une adresse.

  • Dans la sortie de curl -v, les lignes qui commencent par … sont envoyées par le client et celles qui commencent par … sont reçues du serveur.

    Voir la réponse

    Dans la sortie de curl -v, les lignes qui commencent par > sont envoyées par le client et celles qui commencent par < sont reçues du serveur.

    Les lignes qui commencent par * sont les commentaires de curl lui-même (connexion, TLS) ; elles ne circulent pas sur le réseau.

  • curl : de quoi s'agit-il ?

    Voir la réponse

    Outil en ligne de commande qui envoie une requête HTTP (ou HTTPS) à une URL et affiche la réponse du serveur.

    -I ne demande que les en-têtes, -v montre la requête envoyée et la réponse, -L suit les redirections, -o fichier écrit le corps dans un fichier.

  • curl https://api.example.org/ répond curl: (6) Could not resolve host: api.example.org. Quelle est la cause probable ?

    • Le serveur a refusé la connexion sur le port 443 de son adresse
    • Le certificat présenté par le serveur est expiré depuis hier
    • Le nom n'a pas été converti en adresse : un problème de DNS
    • Le serveur a répondu avec une erreur 500 au lieu de la page
    Voir la réponse

    Le nom n'a pas été converti en adresse : un problème de DNS

    La requête n'est même pas partie : curl n'a obtenu aucune adresse. Vérifier avec dig api.example.org (faute de frappe, enregistrement absent, résolveur en panne). Un refus de connexion donnerait (7).