Je me suis intéressé récemment à faire des requêtes de al façon la plus basique possible. Loin des librairies qui vous masquent ce qui se passe sous le capot, on va voir les technique dans le shell qui permettent de faire des requêtes réseau, je suis sûr que je n’aurais pas la technique la plus bas niveau mais on va s’en rapprocher.
CURL
Ce programme est mondialement connu, il est présent partout, dans toutes les plateformes. Il est présent dans tous les langages. Par exemple la librairie curl en PHP permet de faire tout type de requête réseau. Voyons comment en shell nous pouvons faire une requête basique
curl https://yvonh.com/ -o yvonh.html cat yvonh.html //lire le fichier généré qui est vide
L’argument -o va rediriger l’output dans un fichier texte avec extension HTML.
Dans ce cas précis vous n’allez rien voir, car il y a une redirection vers www.yvonh.com, or par défaut Curl ne suit pas la redirection. Il va retourner un résultat vide. La requête suivante va instruire Curl de suivre les redirections.
curl -L https://yvonh.com -o yvonh.html
On en va pas voir en détail toutes les commandes de Curl, on va voir les autres méthode de requêtage réseau
wget
wget est une commande très souvent utilisée
wget -qO- https://www.example.com
openssl
openssl s_client -connect www.example.com:80
Il y a aussi d’autres commandes mais qui ne sont pas toutes présentes dans Linux
nc, /dec/tcp, telnet, /dev/udp