|
|||||||
|
|
|
![]() |
|
|
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: 15:05.




















