亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? idrawheaders.pas

?? delphi indy9.0.18組件包
?? PAS
字號:
{ $HDR$}
{**********************************************************************}
{ Unit archived using Team Coherence                                   }
{ Team Coherence is Copyright 2002 by Quality Software Components      }
{                                                                      }
{ For further information / comments, visit our WEB site at            }
{ http://www.TeamCoherence.com                                         }
{**********************************************************************}
{}
{ $Log:  10295: IdRawHeaders.pas 
{
{   Rev 1.0    2002.11.12 10:49:36 PM  czhower
}
unit IdRawHeaders;

interface
uses
  IdStack;

// TODO: research subtypes of ICMP header

type
  // types redeclared to avoid dependencies on stack declarations
{
  TIdSunB = packed record
    s_b1, s_b2, s_b3, s_b4: byte;
  end;

  TIdSunW = packed record
    s_w1, s_w2: word;
  end;

  PIdInAddr = ^TIdInAddr;
  TIdInAddr = record
    case integer of
      0: (S_un_b: TIdSunB);
      1: (S_un_w: TIdSunW);
      2: (S_addr: longword);
  end;
}

  TIdNetTime = longword;                  // network byte order

const
  // header sizes
  Id_ARP_HSIZE                = $1C;      // ARP header:             28 bytes
  Id_DNS_HSIZE                = $0C;      // DNS header base:        12 bytes
  Id_ETH_HSIZE                = $0E;      // Etherner header:        14 bytes
  Id_ICMP_HSIZE               = $04;      // ICMP header base:        4 bytes
  Id_ICMP_ECHO_HSIZE          = $08;      // ICMP_ECHO header:        8 bytes
  Id_ICMP_MASK_HSIZE          = $0C;      // ICMP_MASK header:       12 bytes
  Id_ICMP_UNREACH_HSIZE       = $08;      // ICMP_UNREACH header:     8 bytes
  Id_ICMP_TIMEXCEED_HSIZE     = $08;      // ICMP_TIMXCEED header:    8 bytes
  Id_ICMP_REDIRECT_HSIZE      = $08;      // ICMP_REDIRECT header:    8 bytes
  Id_ICMP_TS_HSIZE            = $14;      // ICMP_TIMESTAMP header:  20 bytes
  Id_IGMP_HSIZE               = $08;      // IGMP header:             8 bytes
  Id_IP_HSIZE                 = $14;      // IP header:              20 bytes
  Id_RIP_HSIZE                = $18;      // RIP header base:        24 bytes
  Id_TCP_HSIZE                = $14;      // TCP header:             20 bytes
  Id_UDP_HSIZE                = $08;      // UDP header:              8 bytes

const
  Id_MAX_IPOPTLEN = 40;

const
  // fragment flags
  Id_IP_RF                    = $8000;    // reserved fragment flag
  Id_IP_DF                    = $4000;    // dont fragment flag
  Id_IP_MF                    = $2000;    // more fragments flag
  Id_IP_OFFMASK               = $1FFF;    // mask for fragmenting bits

type
  // IP options structure
  TIdIpOptions = packed record
    {$IFDEF LINUX}
    //ipopt_dst: TIdInAddr;                           // first-hop dst if source routed (Linux only)
    {$ENDIF}
    ipopt_list: array [0..Id_MAX_IPOPTLEN-1] of char; // options proper
  end;

  // IP packet header
  PIdIpHdr = ^TIdIpHdr;
  TIdIpHdr = packed record
    ip_verlen: byte;          // 1st nibble version, 2nd nibble header length div 4 (little-endian)
    ip_tos: byte;             // type of service
    ip_len: word;             // total length
    ip_id: word;              // identification
    ip_off: word;             // 1st nibble flags, next 3 nibbles fragment offset (little-endian)
    ip_ttl: byte;             // time to live
    ip_p: byte;               // protocol
    ip_sum: word;             // checksum
    ip_src: TIdInAddr;        // source address
    ip_dst: TIdInAddr;        // dest address
    ip_options: longword;     // options + padding
  end;

const
  Id_IP_MAXPACKET             = 65535;

const
  // control flags
  Id_TCP_FIN                  = $01;
  Id_TCP_SYN                  = $02;
  Id_TCP_RST                  = $04;
  Id_TCP_PUSH                 = $08;
  Id_TCP_ACK                  = $10;
  Id_TCP_URG                  = $20;

type
  // TCP options structure
  TIdTcpOptions = packed record
    tcpopt_list: array [0..Id_MAX_IPOPTLEN-1] of byte;
  end;

  // TCP packet header
  PIdTcpHdr = ^TIdTcpHdr;
  TIdTcpHdr = packed record
    tcp_sport: word;          // source port
    tcp_dport: word;          // destination port
    tcp_seq: longword;        // sequence number
    tcp_ack: longword;        // acknowledgement number
    tcp_x2off: byte;          // data offset
    tcp_flags: byte;          // control flags
    tcp_win: word;            // window
    tcp_sum: word;            // checksum
    tcp_urp: word;            // urgent pointer
  end;

  // UDP packet header
  PIdUdpHdr = ^TIdUdpHdr;
  TIdUdpHdr = packed record
    udp_sport: word;          // source port
    udp_dport: word;          // destination port
    udp_ulen: word;           // length
    udp_sum: word;            // checksum
  end;

const
  // ICMP types
  Id_ICMP_ECHOREPLY           = 0;
  Id_ICMP_UNREACH             = 3;
  Id_ICMP_SOURCEQUENCH        = 4;
  Id_ICMP_REDIRECT            = 5;
  Id_ICMP_ECHO                = 8;
  Id_ICMP_ROUTERADVERT        = 9;
  Id_ICMP_ROUTERSOLICIT       = 10;
  Id_ICMP_TIMXCEED            = 11;
  Id_ICMP_PARAMPROB           = 12;
  Id_ICMP_TSTAMP              = 13;
  Id_ICMP_TSTAMPREPLY         = 14;
  Id_ICMP_IREQ                = 15;
  Id_ICMP_IREQREPLY           = 16;
  Id_ICMP_MASKREQ             = 17;
  Id_ICMP_MASKREPLY           = 18;

  // ICMP codes
  Id_ICMP_UNREACH_NET         = 0;
  Id_ICMP_UNREACH_HOST        = 1;
  Id_ICMP_UNREACH_PROTOCOL    = 2;
  Id_ICMP_UNREACH_PORT        = 3;
  Id_ICMP_UNREACH_NEEDFRAG    = 4;
  Id_ICMP_UNREACH_SRCFAIL     = 5;
  Id_ICMP_UNREACH_NET_UNKNOWN = 6;
  Id_ICMP_UNREACH_HOST_UNKNOWN        = 7;
  Id_ICMP_UNREACH_ISOLATED    = 8;
  Id_ICMP_UNREACH_NET_PROHIB  = 9;
  Id_ICMP_UNREACH_HOST_PROHIB = 10;
  Id_ICMP_UNREACH_TOSNET      = 11;
  Id_ICMP_UNREACH_TOSHOST     = 12;
  Id_ICMP_UNREACH_FILTER_PROHIB       = 13;
  Id_ICMP_UNREACH_HOST_PRECEDENCE     = 14;
  Id_ICMP_UNREACH_PRECEDENCE_CUTOFF   = 15;
  Id_ICMP_REDIRECT_NET        = 0;
  Id_ICMP_REDIRECT_HOST       = 1;
  Id_ICMP_REDIRECT_TOSNET     = 2;
  Id_ICMP_REDIRECT_TOSHOST    = 3;
  Id_ICMP_TIMXCEED_INTRANS    = 0;
  Id_ICMP_TIMXCEED_REASS      = 1;
  Id_ICMP_PARAMPROB_OPTABSENT = 1;

type
  PIdIcmpEcho = ^TIdIcmpEcho;
  TIdIcmpEcho = packed record
    id: word;                   // identifier to match requests with replies
    seq: word;                  // sequence number to match requests with replies
  end;

  PIdIcmpFrag = ^TIdIcmpFrag;
  TIdIcmpFrag = packed record
    pad: word;
    mtu: word;
  end;

  PIdIcmpTs = ^TIdIcmpTs;
  TIdIcmpTs = packed record
    otime: TIdNetTime;          // time message was sent, to calc roundtrip time
    rtime: TIdNetTime;
    ttime: TIdNetTime;
  end;

  // ICMP packet header
  PIdIcmpHdr = ^TIdIcmpHdr;
  TIdIcmpHdr = packed record
    icmp_type: byte;            // message type
    icmp_code: byte;            // error code
    icmp_sum: word;             // one's complement checksum    {Do not Localize}
    icmp_hun: packed record
      case integer of
      0: (echo: TIdIcmpEcho);
      1: (gateway: TIdInAddr);
      2: (frag: TIdIcmpFrag);
      end;
    icmp_dun: packed record
      case integer of
        0: (ts: TIdIcmpTs);
        1: (mask: longword);
        2: (data: char);
      end;
  end;

const
  // IGMP types
  Id_IGMP_MEMBERSHIP_QUERY      = $11;    // membership query
  Id_IGMP_V1_MEMBERSHIP_REPORT  = $12;    // v1 membership report
  Id_IGMP_V2_MEMBERSHIP_REPORT  = $16;    // v2 membership report
  Id_IGMP_LEAVE_GROUP           = $17;    // leave-group message

type
  // IGMP packet header
  PIdIgmpHdr = ^TIdIgmpHdr;
  TIdIgmpHdr = packed record
    igmp_type: byte;
    igmp_code: byte;
    igmp_sum: word;
    igmp_group: TIdInAddr;
  end;

const
  Id_ETHER_ADDR_LEN           = 6;

type
  TIdEtherAddr = packed record
    ether_addr_octet: array [0..Id_ETHER_ADDR_LEN-1] of byte;
  end;

const
  // ethernet packet types
  Id_ETHERTYPE_PUP            = $0200;    // PUP protocol
  Id_ETHERTYPE_IP             = $0800;    // IP protocol
  Id_ETHERTYPE_ARP            = $0806;    // ARP protocol
  Id_ETHERTYPE_REVARP         = $8035;    // reverse ARP protocol
  Id_ETHERTYPE_VLAN           = $8100;    // IEEE 802.1Q VLAN tagging
  Id_ETHERTYPE_LOOPBACK       = $9000;    // used to test interfaces

type
  // ethernet packet header
  PIdEthernetHdr = ^TIdEthernetHdr;
  TIdEthernetHdr = packed record
    ether_dhost: TIdEtherAddr;            // destination ethernet address
    ether_shost: TIdEtherAddr;            // source ethernet address
    ether_type: word;                     // packet type ID
  end;

const
  // hardware address formats
  Id_ARPHRD_ETHER             = 1;        // ethernet hardware format

  // ARP operation types
  Id_ARPOP_REQUEST            = 1;        // req to resolve address
  Id_ARPOP_REPLY              = 2;        // resp to previous request
  Id_ARPOP_REVREQUEST         = 3;        // req protocol address given hardware
  Id_ARPOP_REVREPLY           = 4;        // resp giving protocol address
  Id_ARPOP_INVREQUEST         = 8;        // req to identify peer
  Id_ARPOP_INVREPLY           = 9;        // resp identifying peer

type
  // ARP packet header
  PIdArpHdr = ^TIdArpHdr;
  TIdArpHdr = packed record
    arp_hrd: word;                        // format of hardware address
    arp_pro: word;                        // format of protocol address
    arp_hln: byte;                        // length of hardware address
    arp_pln: byte;                        // length of protocol addres
    arp_op: word;                         // operation type
    // following hardcoded for ethernet/IP
    arp_sha: TIdEtherAddr;                // sender hardware address
    arp_spa: TIdInAddr;                   // sender protocol address
    arp_tha: TIdEtherAddr;                // target hardware address
    arp_tpa: TIdInAddr;                   // target protocol address
  end;

type
  // base DNS header
  PIdDnsHdr = ^TIdDnsHdr;
  TIdDnsHdr = packed record
    dns_id: word;                         // DNS packet ID
    dns_flags: word;                      // DNS flags
    dns_num_q: word;                      // number of questions
    dns_num_answ_rr: word;                // number of answer resource records
    dns_num_auth_rr: word;                // number of authority resource records
    dns_num_addi_rr: word;                // number of additional resource records
  end;

const
  // RIP commands
  Id_RIPCMD_REQUEST           = 1;        // want info
  Id_RIPCMD_RESPONSE          = 2;        // responding to request
  Id_RIPCMD_TRACEON           = 3;        // turn tracing on
  Id_RIPCMD_TRACEOFF          = 4;        // turn it off
  Id_RIPCMD_POLL              = 5;        // like request, but anyone answers
  Id_RIPCMD_POLLENTRY         = 6;        // like poll, but for entire entry
  Id_RIPCMD_MAX               = 7;

  // RIP versions
  Id_RIPVER_0                 = 0;
  Id_RIPVER_1                 = 1;
  Id_RIPVER_2                 = 2;

type
  // base RIP header
  PIdRipHdr = ^TIdRipHdr;
  TIdRipHdr = packed record
    rip_cmd: byte;            // RIP command
    rip_ver: byte;            // RIP version
    rip_rd: word;             // zero (v1) or routing domain (v2)
    rip_af: word;             // address family
    rip_rt: word;             // zero (v1) or route tag (v2)
    rip_addr: longword;       // IP address
    rip_mask: longword;       // zero (v1) or subnet mask (v2)
    rip_next_hop: longword;   // zero (v1) or next hop IP address (v2)
    rip_metric: longword;     // metric
  end;

implementation

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产三级三级三级精品8ⅰ区| 午夜欧美电影在线观看| 亚洲人xxxx| 久久精品国产999大香线蕉| 91天堂素人约啪| 国产欧美日韩另类一区| 日欧美一区二区| 色噜噜狠狠色综合欧洲selulu| 久久嫩草精品久久久精品| 婷婷国产v国产偷v亚洲高清| 91一区一区三区| 欧美国产日韩精品免费观看| 久久99精品久久久久婷婷| 欧美精品精品一区| 亚洲成人免费在线观看| 色狠狠色狠狠综合| 亚洲欧美偷拍卡通变态| 不卡视频在线看| 亚洲国产精品t66y| 国产成人精品影视| 亚洲精品在线网站| 国产一区二区福利视频| 精品盗摄一区二区三区| 美女免费视频一区二区| 欧美一区二区在线看| 日韩激情在线观看| 欧美日韩国产精品自在自线| 亚洲永久免费av| 日本韩国一区二区三区| 亚洲免费高清视频在线| 91成人在线免费观看| 亚洲精品日韩综合观看成人91| www.亚洲在线| 亚洲欧美日韩中文字幕一区二区三区| www.亚洲色图| 亚洲国产精品久久久久秋霞影院 | 一本到不卡精品视频在线观看 | 粉嫩欧美一区二区三区高清影视| 久久久久久久久99精品| 国产宾馆实践打屁股91| 国产精品久久久久9999吃药| av在线一区二区| 亚洲国产精品久久人人爱蜜臀| 欧美日韩美少妇| 麻豆成人综合网| 精品不卡在线视频| 成人午夜激情视频| 一区二区在线免费| 欧美一区二区三区在线视频| 国产综合色精品一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋| 91丨九色丨黑人外教| 午夜精品福利久久久| 精品国一区二区三区| 成人午夜激情视频| 亚洲高清不卡在线观看| 日韩丝袜情趣美女图片| 国产成人午夜精品5599| 亚洲一区二区综合| 亚洲精品在线免费观看视频| 99精品在线观看视频| 性久久久久久久久| 国产日韩欧美制服另类| 91国产免费看| 国产一区在线视频| 亚洲一区av在线| 久久伊人蜜桃av一区二区| 一本久久a久久免费精品不卡| 日韩精品久久理论片| 国产精品久久久久一区| 3atv在线一区二区三区| 国产一区二区三区最好精华液| 亚洲乱码国产乱码精品精98午夜 | 91国内精品野花午夜精品 | 91精品免费在线| 成人国产精品视频| 蜜臀av国产精品久久久久| 亚洲视频中文字幕| 久久久精品免费免费| 欧美日韩国产综合一区二区| 国产成人亚洲综合a∨猫咪| 日韩av一级片| 一区二区三区四区亚洲| 久久女同性恋中文字幕| 欧美一区二区成人| 色女孩综合影院| 夫妻av一区二区| 黄色小说综合网站| 日本成人中文字幕| 亚洲一区二区视频| 亚洲欧美在线视频观看| 久久久天堂av| 精品免费视频.| 91精品黄色片免费大全| 在线观看免费视频综合| www.色精品| 成人福利电影精品一区二区在线观看| 久久成人免费网| 蜜桃视频在线一区| 日本 国产 欧美色综合| 亚洲影视在线观看| 洋洋av久久久久久久一区| 国产精品超碰97尤物18| 国产欧美日韩另类一区| 精品国产第一区二区三区观看体验| 欧美日韩卡一卡二| 欧美日韩激情一区二区| 欧美天堂一区二区三区| 91久久香蕉国产日韩欧美9色| caoporm超碰国产精品| 99天天综合性| 91在线精品一区二区| 91老师国产黑色丝袜在线| 99精品黄色片免费大全| 91免费视频大全| 欧美性做爰猛烈叫床潮| 欧美日韩在线三区| 欧美日本一道本| 欧美一二三四区在线| 欧美大尺度电影在线| 久久午夜免费电影| 国产精品久久久久久久久免费丝袜| 国产精品婷婷午夜在线观看| 国产精品久久久久久久岛一牛影视 | 日韩欧美成人午夜| 久久综合九色综合97_久久久| 欧美精品一区二区三| 欧美国产成人精品| 亚洲欧美区自拍先锋| 亚洲成人精品在线观看| 毛片av中文字幕一区二区| 国产乱国产乱300精品| 成人激情午夜影院| 欧美三级三级三级爽爽爽| 欧美一级片在线| 国产日韩欧美综合在线| 亚洲精品国产一区二区三区四区在线| 亚洲一区二区三区在线看| 成人91在线观看| 久久国产精品72免费观看| 激情综合网av| 欧美综合天天夜夜久久| 91精品久久久久久久99蜜桃| 欧美日韩高清一区二区| 本田岬高潮一区二区三区| 欧美一二三四区在线| 亚洲午夜久久久久| 91欧美一区二区| 久久久国产精华| 激情综合色综合久久| 91精品国产综合久久福利| 一区二区三区在线视频观看58| 成人免费电影视频| 久久久国产午夜精品| 久久99国产乱子伦精品免费| 欧美福利电影网| 婷婷国产在线综合| 欧美精品久久99久久在免费线 | 久久影院电视剧免费观看| 另类专区欧美蜜桃臀第一页| 666欧美在线视频| 午夜精品一区二区三区电影天堂| 欧美亚洲一区三区| 夜夜嗨av一区二区三区中文字幕 | 欧美精品一区二区三区久久久| 日本少妇一区二区| 日韩视频在线一区二区| 免费欧美在线视频| 欧美成va人片在线观看| 极品少妇一区二区| 久久一留热品黄| 国产成人综合在线| 国产精品美日韩| 91美女在线看| 亚洲自拍都市欧美小说| 欧美视频自拍偷拍| 日本色综合中文字幕| 日韩亚洲欧美一区二区三区| 美女视频黄 久久| 久久亚洲精华国产精华液 | 免费高清不卡av| 精品国产乱子伦一区| 国产福利一区二区三区视频在线| 欧美激情一区在线观看| 99久久久精品免费观看国产蜜| 亚洲免费色视频| 欧美放荡的少妇| 狠狠色2019综合网| 亚洲人成精品久久久久久| 欧美三级蜜桃2在线观看| 麻豆精品视频在线| 中文字幕国产一区二区| 欧美综合一区二区| 精品一二三四在线| 亚洲色图另类专区| 欧美大片一区二区| www..com久久爱| 五月激情综合网| 国产三级精品视频| 欧美视频在线不卡|