2010-03-20 9 views
0

Я использую коды кода pcap для создания своего собственного сниффера. я загрузил их сниффер и работал над окнами, но не на Linux. Я использую gcc-компилятор на обеих машинах, и у меня есть только pcap.h.
Ошибка: указатель разыменования на неполный тип.
Сетевая маска вызывает ошибку. сетевая маска - это маска первого адреса интерфейса.help using pcap library to sniff packages

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

любые решения?

+0

http://yuba.stanford.edu/~casado/pcap/ также может вас заинтересовать. –

+0

structsockaddr_in - Вам не хватает пространства между struct и sockaddr_in? –

ответ

0

Компилятор, указывающий, что он не имеет определения struct sockaddr_in в области видимости, поэтому он не может заглянуть внутрь такой структуры. В Linux эта структура определена в этом заголовке, которую вам нужно будет включить:

#include <netinet/in.h>