2010-03-20 44 views
0

我使用pcap示例代码来创建我自己的嗅探器。我下载了他们的示例嗅探器,并在windows上工作,但不在linux上。我在两台机器上都使用gcc编译器,并且我只包含pcap.h。
错误在于:解除引用指向不完整类型的指针。
网络掩码导致错误。网络掩码是接口的第一个地址的掩码。帮助使用pcap库来嗅探数据包

u_int netmask=netmask((struct sockaddr_in*)d->addresses->netmask))->sin_addr.S_un.S_addr; 

任何解决方案?

+0

http://yuba.stanford.edu/~casado/pcap/可能也会引起您的兴趣。 – 2010-03-20 09:22:05

+0

structsockaddr_in - 你不错过struct和sockaddr_in之间的空格吗? – 2010-03-20 09:51:54

回答

0

编译器指出它没有定义范围内的struct sockaddr_in,所以它不能查看这样的结构。在Linux上,该结构在此标头中定义,您需要包含以下结构:

#include <netinet/in.h>