Winpcap, LA librairie open-source pour la capture de paquets et l'analyse de réseau sur Windows

Rédigé par Joseph MICACCIA - -
WinpCap capture packet

Libpcap permet la capture de paquets réseaux sous linux, notamment. Winpcap est l'équivalent pour le système Windows. Winpcap a été développé par des programmeurs de l'école polytechnique de Turin.

WinPcap est une bibliothèque open source pour la capture de paquets et l'analyse de réseau pour les plates-formes Win32.

 

 

La plupart des applications réseaux accèdent au réseau par le biais du système d'exploitation, telles que les sockets. Cette approche facilite l’accès aux données sur le réseau, car le système d’exploitation gère les détails de bas niveau (traitement du protocole, réassemblage des paquets, etc.) et fournit une interface familière similaire à celle utilisée pour la lecture et l’écriture de fichiers.

 

Cependant, parfois, la «solution de facilité» n’est pas adéquate car certaines applications nécessitent un accès direct aux paquets sur le réseau, afin d'avoir accès aux données "brutes", sans interposition de traitement de protocole par le système d'exploitation.

 

WinPcap permet de fournir ce type d’accès aux applications Win32 et il permet, notamment :

  • la capture de tous les paquets, bruts, ceux destinés à la machine sur laquelle il s'exécute et ainsi que ceux échangés par d'autres hôtes qui y sont reliés informatiquement ;
  • le filtrage des paquets en fonction de règles spécifiées par l'utilisateur avant de les envoyer à l'application ;
  • la transmission des paquets bruts au réseau :
  • le recueil des informations statistiques sur le trafic réseau ;

 

 

Cela est possible grâce à un pilote de périphérique, installé dans la partie réseau des noyaux Win32, ainsi que de deux DLL (Dynamic Link Library).

 

Pour développer une application qui s'appuie sur Winpcap, il faut et il suffit d'utiliser les fonctions qui sont dans les DLL de WinpCap.

 

C'est ainsi que j'ai developpé NetworkAnalyser, un petit outil qui permet d'afficher les trames du réseaux, avec des vues intuitives. Il est paramétrable et l'une des options permet d'écouter sans être détecté, encore plus discrètement qu'un sous-marin de la marine nationale ;-)

 

Il a été développé en Delphi et exploite les fonctions de WinpCap, comme Wireshark. La portabilité vers le language C est possible, facilement.

 

 

Au lancement, on a la possibilité de choisir la carte réseau...

 

 

...Le mode "passive analyses" permet d'écouter sans être détecté par les autres machines du réseau...

 

 

...Les vues sont suffisamment intuitives pour voir d'un coup d'oeil qui communique avec qui, et comment. Notamment, cet outil permet d'identifier les adresses MAC, les adresses IP des différentes machines, le nom du constructeur de chacune des cartes réseaux, etc.

 

Il existe une multitude d'autres logiciels qui s'appuient sur WinpCap, des outils réseau pour l’analyse, le dépannage, la sécurité ou la surveillance, notamment :

  • les analyseurs de réseaux et de protocoles ;
  • les moniteurs de réseau ;
  • les enregistreurs de trafic ;
  • les générateurs de trafic ;
  • les ponts et routeurs au niveau utilisateur ;
  • les systèmes de détection d'intrusion de réseau (NIDS) ;
  • les scanners de réseau ;
  • les outils de sécurité ;

 

Le plus connu des outils réseaux qui s'appuie sur WinpCap est WireShark, l'analyseur de protocole réseau le plus utilisé au monde. Il permet de voir ce qui se passe sur un réseau à un niveau microscopique et constitue la norme dans de nombreuses entreprises, commerciales ou à but non lucratif, agences gouvernementales ou établissements d’enseignement. Le développement de Wireshark est basé sur les contributions volontaires d’experts réseaux du monde entier, dans la continuité du projet lancé par Gerald Combs en 1998.

 

 

Il semblerait que WinpCap ne soit plus maintenu, mais il existe plusieurs forks dont NpCap, le plus connu de tous les forks et, lui, actuellement il est maintenu, par les membres de Nmap.

 

Sources :

 

 

 

Les commentaires sont fermés.