2012-11-20 42 views
0

感谢您的阅读,如何从C的包头数据中获取参与ARP的机器的MAC地址和IP地址?

我正在做家庭作业,其中我需要根据捕获的数据包确定远程机器的MAC地址和IP地址。使用pcap_loop函数,我需要找到相对于指向数据包开始的指针(在我的回调函数中作为u_char *提供)的正确结构(提供此信息的ARP头)的位置。

我一直无法在网上找到关于如何获得一个结构的信息,比如ether_arp,它有地址,与数据包有关。如果你能指出我的方向是正确的话,那将会非常有帮助 - 正如我所提到的,这是家庭作业,所以我没有找到完整的答案。

再次感谢您的帮助!

+0

什么平台(Windows或Linux)?如果是Linux,libdnet库(http://libdnet.sourceforge.net/)对于这类事情非常有帮助。它具有为eth_hdr,ip_hdr和arp_hdr定义的结构。 – PherricOxide

回答

1

本文“http://en.wikipedia.org/wiki/Address_Resolution_Protocol”告诉ARP消息的布局。你不需要一个结构,只需要使用偏移量。

相关问题