본문 바로가기

IT/WinpcapProgramming

TCP,IP,Ethernet 헤더 구조체


  1. struct ether_addr
  2. {
  3.         unsigned char ether_addr_octet[6];
  4. };
  5.  
  6. struct ether_header
  7. {
  8.         struct  ether_addr ether_dhost;
  9.         struct  ether_addr ether_shost;
  10.         unsigned short ether_type;
  11. };
  12.  
  13. struct ip_header
  14. {
  15.         unsigned char ip_header_len:4;
  16.         unsigned char ip_version:4;
  17.         unsigned char ip_tos;
  18.         unsigned short ip_total_length;
  19.         unsigned short ip_id;
  20.         unsigned char ip_frag_offset:5;
  21.         unsigned char ip_more_fragment:1;
  22.         unsigned char ip_dont_fragment:1;
  23.         unsigned char ip_reserved_zero:1;
  24.         unsigned char ip_frag_offset1;
  25.         unsigned char ip_ttl;
  26.         unsigned char ip_protocol;
  27.         unsigned short ip_checksum;
  28.         struct in_addr ip_srcaddr;
  29.         struct in_addr ip_destaddr;
  30. };
  31.  
  32.  
  33. struct tcp_header
  34. {
  35.         unsigned short source_port;
  36.         unsigned short dest_port;
  37.         unsigned int sequence;
  38.         unsigned int acknowledge;
  39.         unsigned char ns:1;
  40.         unsigned char reserved_part1:3;
  41.         unsigned char data_offset:4;
  42.         unsigned char fin:1;
  43.         unsigned char syn:1;
  44.         unsigned char rst:1;
  45.         unsigned char psh:1;
  46.         unsigned char ack:1;
  47.         unsigned char urg:1;
  48.         unsigned char ecn:1;
  49.         unsigned char cwr:1;
  50.         unsigned short window;
  51.         unsigned short checksum;
  52.         unsigned short urgent_pointer;
  53. };