|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
[C++] Qt e libpcap - pcap_next()
Stò implementando una classe con le librerie libpcap
ho un problema con la funzione pcap_next(), questa mi ritorna senza errore, ma il pacchetto ritornato è vuoto.... ![]() Codice:
void Cpcap::gotPackets() { struct pcap_pkthdr* h; while(1) { sem.acquire(1); if(stop_FLAG) return; memset(h,0,sizeof(pcap_pkthdr)); if((packet = pcap_next(handle,h)) == NULL) { this->next_Failed(tr("Errore su pcap_next()"),tr("Si è verificato un errore durante la cattura di un pacchetto")); return; } this->IHavePacketForYou(packet); // Pacchetto } } ho provato anche in quest'altro modo, ma sempre lo stesso problema Codice:
void Cpcap::gotPackets() { struct pcap_pkthdr* h; while(1) { sem.acquire(1); if(stop_FLAG) return; if(pcap_next_ex(handle,&h,&packet)==-1) { this->next_Failed(tr("Errore su pcap_next()"),tr("Si è verificato un errore durante la cattura di un pacchetto")); return; } this->IHavePacketForYou(packet); // Pacchetto } } Il programma continua e vengono aggiunti elementi ad un QListWigdet per ogni pacchetto, però bianchi.... ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
![]() |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
Quote:
l'altro elemento ritornato da pcap_next() è la "struct pcap_pkthdr", questa viene riempita correttamente. Perciò non è che la cattura non avviene... però il pacchetto è vuoto. ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:20.