Utilisation d’ethereal (maintenant wireshark)

Article orginellement écrit par Joel Bourrigaud le samedi 9 décembre 2006 à 13:42 et publié sur http://blog.emax.ath.cx

Qui ne connait pas ethereal ?

ben moi avant de faire un stage dessus ^^. Ce super site (http://lab.erasme.org/ethereal/) explique comment l’utiliser. si vous avez besoin de l’utiliser dans un programme et de décomposer les trames il faut utiliser les libPCAP qu’on trouve sur le net.
#include « pcap.h »

 void ReadPcap ( unsigned char *temp1, const struct pcap_pkthdr *header, const unsigned char *pkt_data)

le mieux pour recuperer chaque champs est de definir des structures :
typedef struct {

unsigned long    destination_debut;    //!< \param Adresse IP destination
unsigned short    destination_fin;    //!< \param Adresse IP destination
unsigned short    source_debut;        //!< \param Adresse IP source
unsigned long    source_fin;            //!< \param Adresse IP source
unsigned short    type;                //!< \param Type de protocole

} ethernet_header;

//! \struct Structure de l’en-tete IP
typedef struct {

unsigned char    ver_ip;            //!< \param Version du protocole IP + Taille du Header (IHL)
unsigned char    tos_ip;            //!< \param Type de Service, souvent à 0.
unsigned short    tlen_ip;        //!< \param Indique la taille totale du packet
unsigned short    indent_ip;        //!< \param Numéro de chaque fragment
unsigned short    flag_fragoff_ip;//!< \param Flag + Fragment Offset
unsigned char    ttl_ip;            //!< \param Time to Live du Packet
unsigned char    proto_ip;        //!< \param Protocole dont est issu le packet
unsigned short    checksum_ip;    //!< \param Header Checksum, vérification de l’intégrité de l’en-tête
ip_address        saddr_ip;        //!< \param Addresse IP de l’envoyeur
ip_address        daddr_ip;        //!< \param Addresse IP du destinataire

} ip_header;

Ce contenu a été publié dans Programmation, Réseau. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire