Forum TCPIP - VOIP - VPN - IPV6

liste de forum TCPIPHome     FAQFAQ     ProfilProfil     S'enregistrerS'enregistrer     ConnexionConnexion  

Entetes IP/ICMP/ARP

Ce sujet est verrouillé, vous ne pouvez pas éditer les messages ou faire de réponses.
Auteur Message
analyzer



Inscrit le: 20 Déc 2004
Messages: 86
Localisation: Lyon

MessagePosté le: Sam Juil 09, 2005 10:50 pm    Sujet du message: Entetes IP/ICMP/ARP Répondre en citant

Étant donné que dans de nombreux forums, je vois beaucoup de personnes ayant des problèmes avec les déclarations / types à utiliser pour élaborer des paquets, je vais vous donner quelques entetes avec lesquelles je travaille:

ARP:
Code:

#define ETH_ADD_LEN         6   /* Ethernet Address Length     */
#define ARP_ETH_PADDING    18   /* 18 bytes ethernet padding   */
#define ARP_ETH_ADDR_SPACE  6   /* Ethernet Address Space      */
#define ARP_IP_ADDR_SPACE   4   /* IP Address Space            */

struct arppkt
{
   // Ethernet Header
   unsigned char    eth_daddr[ETH_ADD_LEN];   /* +00 - Destination ethernet address   */
   unsigned char   eth_saddr[ETH_ADD_LEN];   /* +06 - Source ethernet address      */
   unsigned short   eth_type;            /* +12 - EtherType                  */

   // ARP Header
   unsigned short   ar_hrd;               /* +14 - Hardware address space         */
   unsigned short   ar_pro;               /* +16 - Protocol address space         */
   unsigned char   ar_hln;               /* +18 - Length of hardware address      */
   unsigned char   ar_pln;               /* +19 - Length of protocol address      */
   unsigned short   ar_op;               /* +20 - ARP opcode (command)         */
   unsigned char   ar_sha[ETH_ADD_LEN];   /* +22 - Source Hardware address      */
   IPAddr         ar_sip;               /* +28 - Source Protocol address      */
   unsigned char   ar_tha[ETH_ADD_LEN];   /* +32 - Destination Hardware address   */
   IPAddr         ar_tip;               /* +38 - Destination Protocol address   */
                                 /*               42 bytes            */

   /* Ethernet padding */
   //unsigned char eth_pad[ARP_ETH_PADDING];   /* Ethernet padding                     */
};  // End of arppkt



IP:
Code:

struct ip_hdr
{
    unsigned char  hlv;         /* +00 - header len. & version          */
    unsigned char  tos;         /* +01 - type of service                */
    unsigned short tot_len;     /* +02 - total packet length            */
    unsigned short id;          /* +04 - identification                 */
    unsigned short fo_flag;     /* +06 - fragment offset field  & flags */
    unsigned char  ttl;         /* +08 - time to live                   */
    unsigned char  protocol;    /* +09 - ip protocol                    */
    unsigned short checksum;    /* +10 - ip checksum                    */
    unsigned long  saddr;       /* +12 - source address                 */
    unsigned long  daddr;       /* +16 - destination address            */
                        /*               20 bytes               */
};



ICMP:
Code:

struct icmp_hdr
{
    unsigned char  type;        /* +00 - message type                   */
    unsigned char  code;        /* +01 - type sub-code                  */
    unsigned short checksum;    /* +02 - icmp checksum                  */
    unsigned short id;          /* +04 - identification                 */
    unsigned short sequence;    /* +06 - sequence number                */
                        /*                8 bytes               */
};


PS: Pour le reste des entetes (UDP, etc), n'ayant pas encore eu l'occasion de les utiliser, je les posterais en temps utile.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Auteur Message
eX-



Inscrit le: 22 Nov 2006
Messages: 1

MessagePosté le: Mer Nov 22, 2006 1:59 pm    Sujet du message: cool Répondre en citant

yep 4n4lyz3R,

merci pr le c/c

faudrai que tu expliques (si ta le tps) comment on peut en tirer profit

il s'agit uniquement des declarations a passer ?

sous quel environnement tu dev ? unix dows interface ?? (kdev etc...)

Merci
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Auteur Message
analyzer



Inscrit le: 20 Déc 2004
Messages: 86
Localisation: Lyon

MessagePosté le: Mar Nov 28, 2006 5:05 pm    Sujet du message: Répondre en citant

Ceci constitue les structures permettant de stocker les entetes IP/ICMP/ARP.

Concernant l'IDE/OS, je suis sous XP SP2 et je développe sous VS 2005 Smile

+
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Ce sujet est verrouillé, vous ne pouvez pas éditer les messages ou faire de réponses. Page 1 sur 1


mot clé : toip ipv6 voip _sebf phpbb vpn icmp forum tcp-ip question arp tcp ip telecom telephonie informatique post tcpip entetes moderateur forums ip ip reseau problème frameip

Copyright © 2003-2010 FrameIP TcpIP. Tous droits réservés. Les marques et marques commerciales mentionnées appartiennent à leurs propriétaires respectifs. L'utilisation de ce site Web TcpIP implique l'acceptation des conditions d'utilisation et du règlement sur le respect de la vie privée.
Sécurité entreprise Téléphonie entreprise Expert de votre Infrastructure Test ADSL Affiliation FrameIP Telecom