如何由一封包中取出source及destination 網卡 ID |
答題得分者是:8866
|
fangback
初階會員 發表:4 回覆:47 積分:40 註冊:2002-06-15 發送簡訊給我 |
請教一下,是否有方式可由封包中取得source及destination ip的mac id。我查了很多網上的資料,於linux中用下列的方式可截出封包中的MAC ID,但我怎試在WIN32就是無法使用。大多是將一IP HEADER中解出相關資料訊息(TCP, UDP, ICMP等),但就是無法取得MAC ID。是否有相關的WINSOCK API可使用以便由一封包中取得MAC ID。謝謝!
struct ether_header { u_char ether_dhost[ETHER_ADDR_LEN]; u_char ether_shost[ETHER_ADDR_LEN]; u_char ether_type[2]; }; struct ether_header *eth; socket(AF_INET, SOCK_RAW, htons(ETH_P_ALL)); .... memset(RecvBuffer, 0, sizeof(RecvBuffer)); recv(SockRaw, RecvBuffer, sizeof(RecvBuffer), 0); .. eth = (struct ether_header *)RecvBuffer; printf("dst MAC = X:X:X:X:X:X ", eth->ether_dhost[0], eth->ether_dhost[1], eth->ether_dhost[2], eth->ether_dhost[3], eth->ether_dhost[4], eth->ether_dhost[5] ); printf("src MAC = X:X:X:X:X:X\n", eth->ether_shost[0], eth->ether_shost[1], eth->ether_shost[2], eth->ether_shost[3], eth->ether_shost[4], eth->ether_shost[5] ); .. |
8866
中階會員 發表:27 回覆:147 積分:69 註冊:2002-10-14 發送簡訊給我 |
|
fangback
初階會員 發表:4 回覆:47 積分:40 註冊:2002-06-15 發送簡訊給我 |
|
8866
中階會員 發表:27 回覆:147 積分:69 註冊:2002-10-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |