以下是引用Knocker在2010-9-18 21:28:58的发言:
不知道是你2,还是我2,楼主的问题明显是指:用C语言描述ARP数据结构
一个半瓶子,还竟然天天在论坛指责这个菜那个菜,咬什么字眼?
楼主要问的大约是这个吧
ARP协议的数据结构:
typedef struct arphdr
{
unsigned short arp_hrd;/*硬件类型*/
unsigned short arp_pro;/*协议类型*/
unsigned char arp_hln;/*硬件地址长度*/
unsigned char arp_pln;/*协议地址长度*/
unsigned short arp_op;/*ARP操作类型*/
unsigned char arp_sha[6];/*发送者的硬件地址*/
unsigned long arp_spa;/*发送者的协议地址*/
unsigned char arp_tha[6];/*目标的硬件地址*/
unsigned long arp_tpa;/*目标的协议地址*/
}ARPHDR,*PARPHDR;
不知道是你2,还是我2,楼主的问题明显是指:用C语言描述ARP数据结构
一个半瓶子,还竟然天天在论坛指责这个菜那个菜,咬什么字眼?
楼主要问的大约是这个吧
ARP协议的数据结构:
typedef struct arphdr
{
unsigned short arp_hrd;/*硬件类型*/
unsigned short arp_pro;/*协议类型*/
unsigned char arp_hln;/*硬件地址长度*/
unsigned char arp_pln;/*协议地址长度*/
unsigned short arp_op;/*ARP操作类型*/
unsigned char arp_sha[6];/*发送者的硬件地址*/
unsigned long arp_spa;/*发送者的协议地址*/
unsigned char arp_tha[6];/*目标的硬件地址*/
unsigned long arp_tpa;/*目标的协议地址*/
}ARPHDR,*PARPHDR;
stupid x
程序代码:
typedef struct arp 00033 { 00034 //! Format of hardware address. 00035 uint16_t arp_hard_type; 00036 //! Format of protocol address. 00037 uint16_t arp_proto_type; 00038 //! Length of hardware address. 00039 uint8_t arp_hard_size; 00040 //! Length of protocol address. 00041 uint8_t arp_proto_size; 00042 //! ARP operation code (command). 00043 uint16_t arp_op; 00044 //! Hardware source address. 00045 uint8_t arp_eth_source[6]; 00046 //! IP source address. 00047 uint32_t arp_ip_source; 00048 //! Hardware destination address. 00049 uint8_t arp_eth_dest[6]; 00050 //! IP destination address. 00051 uint32_t arp_ip_dest; 00052 } __attribute__ ((packed)) arp_t;
[ 本帖最后由 Devil_W 于 2010-9-19 12:42 编辑 ]