Section courante

A propos

Section administrative du site

Groupes de discussion Usenet et UUCP

Le concept de «network news» a vu le jour en 1979 grâce à l'initiative de deux étudiants passionnés d'informatique, Tom Truscott et Jim Ellis. Ces derniers ont exploité les connexions UUCP (Unix to Unix Copy Program) pour permettre l'échange d'informations entre trois ordinateurs situés en Caroline du Nord. À cette époque, l'idée même de partager des messages électroniques à travers plusieurs machines était innovante et représentait une avancée majeure dans la communication entre chercheurs et étudiants. La première version publique de leur logiciel fut baptisée A News, un outil simple mais efficace, capable de gérer quelques messages seulement par groupe et par jour. Constatant ses limites, Truscott et Ellis réécrivirent entièrement le programme en 1982, donnant naissance à B News, qui offrait de meilleures performances et une capacité accrue de traitement des messages. Plus tard, en 1987, apparut C News, qui modernisa encore davantage le système et permit une diffusion plus large et plus rapide des informations sur le réseau.

Usenet représente aujourd'hui une vaste collection de conférences et de forums électroniques où les utilisateurs peuvent échanger librement des opinions, des idées et des informations sur une multitude de sujets extrêmement variés. Au fil du temps, la plateforme s'est enrichie et structurée, et compte désormais environ huit mille conférences distinctes. Ces forums couvrent tous les thèmes imaginables et permettent aux participants de dialoguer sur des sujets allant de l'informatique aux débats philosophiques ou sociétaux. Certaines conférences sont particulièrement populaires, et se distinguent par leur nom commençant par l'extension alt.sex.*, qui attire chaque jour plus de quatre cent mille lecteurs.

Les conférences Usenet sont organisées selon un système hiérarchique clair, où chaque nom de conférence est composé de mots séparés par des points. Cette hiérarchie permet de classer les forums de manière logique et cohérente. Huit branches majeures structurent actuellement Usenet :

Branches Description
alt Consacrée aux conférences alternatives ou expérimentales.
rec Dédiée aux forums récréatifs et aux loisirs.
comp Rassemblant tous les forums relatifs à l'informatique et aux nouvelles technologies.
news Portant sur les informations concernant directement Usenet lui-même et son fonctionnement.
sci Regroupant toutes les conférences à thème scientifique, allant des mathématiques à la physique ou à la biologie.
soc Traitant de débats politiques, sociaux ou culturels, souvent très animés.
talk C'est l'espace réservé aux discussions les plus passionnées et controversées, idéales pour débattre à l'infini sur des sujets sensibles tels que l'avortement, le SIDA, la religion ou d'autres questions éthiques.
misc Une catégorie fourre-tout accueillant toutes les conférences ne correspondant pas aux sept autres branches, permettant une grande variété de discussions.

Pour accéder à Usenet, il est nécessaire de se connecter à un autre site déjà intégré au réseau, capable de vous «nourrir» en messages et informations. La distribution des news sur le réseau repose sur différents types de transport. Historiquement, le médium principal était UUCP, mais d'autres méthodes plus modernes comme NNTP (Network News Transfer Protocol) ont été adoptées pour optimiser la communication. Avec NNTP, l'algorithme de routage utilisé s'appelle flooding, ou «inondation» : chaque site conserve un certain nombre de liens vers d'autres sites, et chaque message est transmis aux sites qui ne l'ont pas encore reçu, selon le champ Path: de l'en-tête du message. Cette approche permet d'assurer que l'information circule rapidement et efficacement à travers tout le réseau, garantissant que les participants reçoivent les messages presque en temps réel.

Ainsi, Usenet et UUCP représentent un jalon historique dans l'évolution des communications électroniques, permettant la création de communautés d'échange et de débat bien avant l'avènement du World Wide Web moderne. La structure hiérarchique des conférences, associée à des protocoles de transport robustes, a assuré la pérennité et la diffusion massive de l'information sur plusieurs décennies.

UUCP

UUCP, acronyme de UNIX-to-UNIX Copy, est un mécanisme historique et fondamental ayant été conçu pour permettre le transfert d'informations entre machines Unix. Il s'agit d'un outil polyvalent capable de transporter non seulement du courrier électronique, mais aussi des articles de groupes de discussion électroniques (newsgroups) et divers fichiers. À l'origine, UUCP fut développé comme un ensemble de logiciels dédiés au transfert de fichiers via des ports série, c'est-à-dire des lignes de communication simples et lentes, typiques de l'époque. Cette technologie a marqué une étape essentielle dans l'histoire des communications informatiques, offrant aux utilisateurs Unix un moyen fiable de partager des informations entre ordinateurs géographiquement dispersés.

UUCP a été créé en 1977 aux Bell Laboratories, sous la supervision de Mike Lesk et de son équipe. Dès 1978, seulement un an après sa création, UUCP reliait déjà environ 80 sites différents, illustrant sa popularité rapide et sa capacité à fédérer des réseaux dispersés. Cependant, le principal inconvénient de UUCP résidait dans sa faible largeur de bande, ce qui limitait la quantité de données transférables et la vitesse de communication. Avec l'avènement des connexions permanentes et à haut débit d'aujourd'hui, UUCP est devenu moins adapté aux environnements modernes. Malgré cela, il conserve une grande popularité chez les passionnés d'informatique et les hobbyistes, notamment dans les pays du Sud ou dans les zones où l'accès à des connexions rapides et permanentes est trop coûteux. UUCP permet encore aujourd'hui de réaliser des transferts intermittents fiables à moindre coût, ce qui en fait un outil toujours utile dans certains contextes.

Il existe deux versions principales d'UUCP qui ont été utilisées au fil du temps et qui sont restées en compétition. La première, «Version 2 UUCP», remonte à 1977 et correspond à la version originale de l'outil. La seconde, appelée «BNU» pour Basic Networking Utilities, date de 1983 et a introduit des améliorations en termes de fonctionnalités et de fiabilité pour la gestion des transferts et des commandes. Ces deux variantes ont cohabité pendant de nombreuses années, chacune étant préférée selon les besoins des sites et les environnements techniques.

Chaque transfert initié via UUCP est désigné sous le terme de tâche. Une tâche représente une unité de travail qui comprend deux éléments principaux : d'une part, une commande étant exécutée sur la machine distante et, d'autre part, un ensemble de fichiers devant être transférés entre les sites. Chaque tâche possède également un grade, servant à indiquer son niveau de priorité. Ce grade peut prendre une valeur numérique de 0 à 9, une lettre majuscule de A à Z, ou une lettre minuscule de a à z. L'ordre décroissant de ces valeurs permet de déterminer la priorité des tâches, avec les valeurs les plus élevées ou les lettres les plus proches du début de l'alphabet correspondant aux priorités les plus importantes.

Dans l'environnement UUCP original, l'adresse électronique d'un destinataire suivait un format particulier, appelé bang path. Ce type d'adresse était structuré sous la forme path!host!user, où path décrivait la séquence de machines à traverser avant d'atteindre l'ordinateur final, désigné par host, et user représentant le compte du destinataire. Le nom de «bang path» provient du caractère !, couramment appelé bang dans le jargon réseau. Ce système permettait aux utilisateurs de tracer explicitement le chemin que devaient suivre leurs messages à travers le réseau UUCP, garantissant ainsi que l'information atteigne correctement la machine finale. Avec le temps, et pour se conformer aux standards internationaux, la majorité des sites UUCP a adopté le format d'adresses défini par la norme RFC 822, qui est devenu le standard universel pour les adresses électroniques, remplaçant progressivement les notations spécifiques aux réseaux Unix.

Ainsi, UUCP demeure un jalon historique de l'informatique distribuée, illustrant comment les premières générations de réseaux Unix ont permis l'échange d'informations à distance bien avant la généralisation d'Internet et des protocoles modernes de communication électronique. Il reste un exemple classique de solution ingénieuse adaptée à des contraintes techniques limitées et à des environnements de communication intermittents, démontrant l'ingéniosité des pionniers des réseaux informatiques.

NNTP

NNTP, acronyme de Network News Transfer Protocol, est le protocole central permettant à un grand nombre d'utilisateurs répartis dans le monde entier de s'échanger des messages et des informations à travers des conférences électroniques, que l'on appelle communément des newsgroups. Ces newsgroups représentent des forums de discussion organisés sur des sujets très variés et rassemblés dans le réseau Usenet, qui constitue une infrastructure mondiale permettant de centraliser et de diffuser les informations publiées par ses participants. Usenet a été conçu pour relier différents sites informatiques et permettre la communication désynchronisée, de sorte que les messages puissent circuler efficacement même entre ordinateurs géographiquement éloignés.

Sur chaque site Usenet, les newsgroups sont soigneusement organisés dans des répertoires distincts, permettant de classer les forums par thématiques et par ordre alphabétique ou hiérarchique. Chaque message ou article publié dans un newsgroup est entreposé individuellement dans un fichier séparé, ce qui facilite la lecture, l'indexation et la récupération des informations. Chaque article se voit également attribuer un numéro unique, qui reflète son ordre d'arrivée dans le groupe, garantissant ainsi un suivi précis et une organisation claire des discussions.

NNTP repose sur un protocole de transport TCP orienté connexion, ce qui signifie que le protocole établit d'abord une connexion stable et continue entre le client et le serveur avant de transférer les articles. Cette connexion fiable permet aux clients Usenet de négocier efficacement le transfert des messages, de demander des articles spécifiques, de vérifier leur intégrité et d'assurer une communication fluide entre les systèmes. Grâce à cette approche, les articles peuvent être transmis sans délai important, même lorsqu'un grand nombre de messages doivent être échangés simultanément entre plusieurs utilisateurs et sites.

Le protocole NNTP offre également des mécanismes pour gérer la synchronisation entre sites, ce qui garantit que chaque serveur dispose d'une copie cohérente des articles et que les utilisateurs peuvent accéder aux nouvelles informations de manière quasi instantanée. De plus, il permet d'organiser les discussions, de répondre aux messages et de suivre les processus légers, offrant une expérience structurée similaire à celle des forums modernes, mais à l'échelle globale d'Usenet. Les fonctionnalités avancées de NNTP incluent également le filtrage des articles, la récupération sélective de contenus spécifiques et la possibilité d'automatiser certains échanges, ce qui en fait un protocole robuste et performant pour la gestion de conférences électroniques.

En résumé, NNTP est le pilier technique qui rend possible la diffusion et l'accès aux newsgroups Usenet, en offrant une méthode standardisée et fiable pour transférer des articles entre serveurs et clients. Son utilisation du TCP orienté connexion garantit la fiabilité des échanges, tandis que l'organisation des articles et des numéros uniques assure une navigation claire et structurée à travers les milliers de discussions disponibles sur le réseau mondial. Sans NNTP, Usenet n'aurait pas pu atteindre l'efficacité et la popularité qu'il connaît aujourd'hui parmi les chercheurs, passionnés d'informatique et utilisateurs de forums électroniques dans le monde entier.

SNMP

SNMP, acronyme de Simple Network Management Protocol, désigne un protocole fondamental et universellement utilisé pour la gestion des réseaux informatiques. Il constitue un ensemble structuré de composantes, de règles et de procédures nécessaires pour superviser, contrôler et administrer efficacement un réseau composé de divers équipements et périphériques connectés. Grâce à SNMP, les administrateurs peuvent surveiller l'état des routeurs, des commutateurs, des serveurs, des stations de travail et de tout autre périphérique compatible, et recevoir des alertes en temps réel concernant des anomalies, des erreurs ou des pannes potentielles.

Le protocole SNMP repose sur un modèle client-serveur, où un agent SNMP est installé sur chaque périphérique réseau et communique avec un gestionnaire SNMP, souvent une console centralisée, qui collecte les informations et permet d'intervenir si nécessaire. Chaque agent expose des objets de gestion, appelés MIB (Management Information Base), qui contiennent des données sur l'état du périphérique, telles que la charge du processeur, l'utilisation de la mémoire, l'état des interfaces réseau ou le trafic entrant et sortant. Ce mécanisme permet aux administrateurs de diagnostiquer rapidement des problèmes, d'anticiper des défaillances et d'optimiser les performances du réseau.

SNMP est également essentiel pour l'automatisation des tâches de supervision, telles que la collecte périodique de statistiques, l'envoi automatique d'alertes par courriel ou SMS en cas d'incident, et la génération de rapports détaillés sur l'état général du réseau. Il offre un cadre standardisé et extensible, ce qui le rend compatible avec une très large gamme d'équipements de différents constructeurs. Ainsi, SNMP ne se limite pas à la simple surveillance : il fournit également des outils puissants pour la gestion proactive, permettant d'identifier des tendances, de planifier des maintenances et de sécuriser l'infrastructure réseau contre des défaillances ou des interruptions de service.

En résumé, SNMP est bien plus qu'un simple protocole : c'est une infrastructure complète et indispensable pour la gestion efficace et centralisée d'un réseau, permettant de connecter, superviser et contrôler des centaines, voire des milliers de périphériques hétérogènes de manière cohérente et fiable, garantissant ainsi un fonctionnement optimal et continu des systèmes informatiques.

Finger

Le programme Finger est un utilitaire réseau ancien mais emblématique, dont l'objectif principal est de déterminer quels utilisateurs sont connectés à une machine distante ou d'obtenir des informations détaillées sur un utilisateur précis. Il permet notamment d'identifier les sessions actives, les noms de connexion, les heures de connexion, ainsi que divers renseignements liés à l'environnement de travail de l'utilisateur. Le protocole associé, appelé Finger User Information Protocol, est officiellement défini dans la RFC 1288, ce qui en fait un standard documenté et reconnu dans l'écosystème Internet historique.

Dans son utilisation la plus courante, Finger s'emploie via une commande simple, exécutée en local ou à distance. La syntaxe classique est la suivante :

finger <user>@host

Cette commande permet d'interroger une machine distante afin d'obtenir des informations soit sur un utilisateur précis, soit sur l'ensemble des utilisateurs actuellement connectés. Finger est donc un outil idéal pour collecter des informations sur les comptes utilisateurs, et en particulier pour découvrir des noms de login valides. Il permet également de vérifier si une machine est activement utilisée à un instant donné, ce qui peut servir à détecter une activité suspecte ou, au contraire, à évaluer les risques avant toute intervention.

Prenons un exemple concret. Supposons que l'on souhaite savoir quels utilisateurs sont connectés sur la machine thesite.thenet.be. La commande suivante peut être utilisée :

root@thesite:~# finger @thesite.thenet.be

Le système renvoie alors une liste structurée des utilisateurs connectés, accompagnée de diverses informations :

Login    Name           Tty  Idle  Login Time   Office     Office phone
manu     manu             p1   89d  Oct 10 20:52 (192.168.2.2)
root     root             p0     1  Oct 10 20:51 (192.168.2.2)

À la lecture de ce résultat, on constate que les utilisateurs manu et root sont tous deux connectés à la machine. Cela confirme non seulement que le compte manu existe bel et bien, mais aussi qu'il est actuellement actif. À partir de ces informations, il devient possible d'orienter plus précisément ses recherches ou ses analyses, par exemple en étudiant les droits de cet utilisateur ou les services auxquels il a accès.

Afin d'obtenir des renseignements supplémentaires sur l'utilisateur manu, on peut affiner la requête de la manière suivante :

root@thesite:~# finger manu@thesite.thenet.be

La commande retourne alors un ensemble d'informations plus détaillées :

Login: manu                             Name: manu
Directory: /home/manu                   Shell: /bin/bash
On since Thu Oct 10 20:52 (EET) on ttyp1 from 192.168.2.2
0 days 5 hours idle
No mail.
No Plan.

Ces données indiquent notamment le répertoire personnel, l'interpréteur de commande utilisé, l'heure de connexion, l'origine de la connexion ainsi que le temps d'inactivité. Même si ces informations peuvent sembler anodines, elles sont extrêmement précieuses dans un contexte d'administration système... ou de sécurité informatique.

Avant de tenter une attaque sur une machine, un pirate cherchera en général à savoir si quelqu'un est en train de travailler dessus. Si tel est le cas, il préférera souvent reporter ou abandonner son action, par crainte d'être repéré en temps réel et de compromettre tout le bénéfice de son «travail». Finger devient alors un outil de reconnaissance redoutablement efficace, permettant d'évaluer le niveau de vigilance humaine sur un système donné.

Il faut également souligner que Finger a été, au fil du temps, la source de nombreux problèmes de sécurité. Plusieurs implémentations ont souffert de bogues graves, notamment liés à une mauvaise gestion des paramètres passés en entrée. Dans certains cas, ces failles permettaient l'exécution de commandes arbitraires. Étant donné que le service Finger était souvent exécuté avec les privilèges root, les conséquences pouvaient être catastrophiques pour le système ciblé, allant de la compromission totale à la destruction de données critiques.

Pour toutes ces raisons, Finger est aujourd'hui rarement activé par défaut sur les systèmes modernes. Il reste cependant un exemple historique fondamental, illustrant parfaitement les risques liés à la divulgation excessive d'informations sur un réseau et l'importance de la sécurité dans la conception des services Internet.

Code source

Voici des exemples de code source d'utilitaires pour le réseau :

Lien Langage de programmation Description Projet Syntaxe
FINGER.PAS Free Pascal, Turbo Pascal Cette commande permet d'afficher des informations sur les utilisateurs connectés ou à distance. NETWORKKIT-P FINGER


Dernière mise à jour : Mardi, le 16 février 2016