【发布时间】:2011-11-14 16:22:22
【问题描述】:
struct mgmt_header_t {
u_int16_t fc; /* 2 bytes */
u_int16_t duration; /* 2 bytes */
u_int8_t da[6]; /* 6 bytes */
u_int8_t sa[6]; /* 6 bytes */
u_int8_t bssid[6]; /* 6 bytes */
u_int16_t seq_ctrl; /* 2 bytes */
};
void my_callback(u_char *args, const struct pcap_pkthdr *header, const u_char *packet)
{
//printf("********* New Packet Arrived *********\n");
//printf("Jacked a packet with length [%d]\n", header->len);
struct mgmt_header_t *mac_header = (struct mgmt_header_t *) (packet+24);
if (mac_header->fc > 255 )
printf("comon");
我知道 mac_header 位于正确的位置,因为我从中获取了 mac 地址并且它们是正确的,但问题在于 fc 它永远不会大于 255,因此左字节始终为零
更新:
我想我现在明白了,谢谢家伙和 ott-- 供参考,这是我的完整示例http://pcap-wireless.blogspot.com/2011/11/post-2-80211-mac-header.html
【问题讨论】: