TetaTricks/chap/dino.tex

110 lines
3.4 KiB
TeX
Raw Normal View History

2020-09-28 02:15:15 +11:00
% ==============================================================
% TRUCS DE VIEUX
2024-09-29 05:25:02 +11:00
\chapter{Trucs de dino}
2020-11-13 11:35:31 +11:00
\label{chap:dino}
2020-09-28 02:15:15 +11:00
Je vais, dans ce chapitre, parler de choses que les moins de vingt
ans ne peuvent pas connaitre. Des choses qui existaient
2021-01-20 14:53:48 +11:00
\textsl{bien avant} le Web\index{www}, et pour lesquelles on
2024-09-29 05:25:02 +11:00
peut facilement imaginer des usages alternatifs et amusants !
2020-09-28 02:15:15 +11:00
% ==============================================================
\section{inetd}
\index{inetd}\label{inetd}
Aussi connu sous le nom de « superserveur Internet », ce démon
a fait ses premiers pas dans l'Unix 4.3BSD
et depuis est maintenant remplacé par
2024-09-29 05:25:02 +11:00
\texttt{xinetd}\index{xinetd}, décrit en page \pageref{xinetd},
lequel a peut-être été déja supplanté par un truc qui est
\textit{plus nouveau}.
% --> https://0pointer.de/blog/projects/inetd.html
2020-09-28 02:15:15 +11:00
Inetd a pour but de gérer l'accès à des services réseaux,
qui peuvent être internes ou externes. Un service interne
2024-09-29 05:25:02 +11:00
est entièrement géré par Inetd : on y trouve par exemple
\textsl{daytime} qui permet de connaitre l'heure qu'il est à
2020-09-28 02:15:15 +11:00
l'autre bout du monde :
\begin{verbatim}
tth@plop:~$ grep daytime /etc/inetd.conf
daytime stream tcp nowait root internal
tth@plop:~$ nc uind.cispeo.fr daytime
29 JUL 2014 21:10:30 CEST
\end{verbatim}
Dans ce cas, c'est directement Inetd qui répond. Mais il sait
faire une autre chose, bien plus constructive :
toujours répondre à
un appel venant du grand Ternet, mais maintenanr nous allons
déléguer le traitement de la demande à un
autre participant.
Il ne reste plus qu'à le mettre en œuvre, en réutilisant
un exemple très ancien\footnote{Août 1998, lors d'une
réunion du CULTe, à Toulouse}, et très simple à
comprendre.
2024-09-29 05:25:02 +11:00
Dans notre cas, inetd sera à l'écoute sur un port tcp.
Dès qu'une demande de connection arrive,
il accepte la connection, lance le process configuré,
puis
connecte ce qui vient du socket au \textsl{stdin} de ce
process, et le \textsl{stdout} de celui-ci à la sortie
vers l'extérieur.
2020-09-28 02:15:15 +11:00
2024-09-29 05:25:02 +11:00
% Voir aussi : tcpserver\index{tcpserver}\dots
% ---------------------------------------------------------
2022-06-10 06:08:46 +11:00
2020-09-28 02:15:15 +11:00
\subsection{qotd}
2024-09-29 05:25:02 +11:00
\index{qotd} \label{qotd}
2020-09-28 02:15:15 +11:00
Le protocole « Quote Of The Day » (\texttt{qotd}) a été
normalise dans le \texttt{rfc865}, écrit en 1983 par John Postel.
2024-09-29 05:25:02 +11:00
Une rapide implémentation du moteur de quote peut être codée avec
quelques lignes de shell~:
2020-09-28 02:15:15 +11:00
\index{fortune}
2024-09-29 05:25:02 +11:00
\lstinputlisting[language=sh]{code/inet/qotd.sh}
2020-09-28 02:15:15 +11:00
Maintenant, il nous faut dire à Inetd d'appeler ce moteur
chaque fois qu'une connection tcp entrante arrive sur le
2024-09-29 05:25:02 +11:00
port 17 (ce numéro du service est défini dans le fichier
\texttt{/etc/services}).
XXX\index{XXX}
Et pour les modernistes qui utilisent \texttt{xinetd}\index{xinetd}
les explications sont en page \pageref{xinetd:qotd}.
2020-09-28 02:15:15 +11:00
2021-01-20 14:53:48 +11:00
% ==============================================================
%
% https://www.bortzmeyer.org/1288.html
%
\section{Finger} \index{finger} \label{finger}
\textbf{finger} — user information lookup program
Sur le port 79/tcp.
https://tools.ietf.org/html/rfc1288
https://www.bortzmeyer.org/1288.html
2020-09-28 02:15:15 +11:00
% ==============================================================
2021-01-20 14:53:48 +11:00
\section{Gopher}
2020-09-28 02:15:15 +11:00
\index{gopher}
2021-01-20 14:53:48 +11:00
Sur le port 70/tcp.
2020-09-28 02:15:15 +11:00
\begin{quote}
The Internet Gopher(tm) software and documentation is copyright (c)
1991, 1992, 1993, 1994 by the University of Minnesota.
\end{quote}
% ==============================================================