Les Forums

Les Forums

Les forums sont fermés. Ils restent présent pour consultation et archivage.
Vous pouvez désormais poser vos questions directement dans les commentaires en bas de chaque page du site.
Alors n'hésitez pas à participer

Capture de paquets avec libpcap

/* partie declaration */
pcap_t *handle;
u_char *packet;
struct pcap_pkthdr *header;
pcap_dumper_t *dumpdesc;
. . . .
/* fonction callback */
pcap_loop(handle,-1, got_packet, NULL);

/* fonction de dump */
dumpdesc = pcap_dump_open(handle, fichier);
while (1)
{
packet = (u_char *) pcap_next(handle, header);
pcap_dump((u_char *) dumpdesc, header, packet);
}

Je veut afficher les paquets el les enregistrer au même temps.
J'ai appelé la fonction callback qui permet d'afficher les paquets (got_packet) dans un pcap_loop().
Pour l'enregistrement de paquets, j'ai ouvert un descripteur de fichier (dumpdesc) et j'ai appelé pcap_dump dans un loop.
Usage: ./nids -i wlan0 -d dumped.cap
Quand j'exécute j'obtient:
Périphérique: wlan0
Réseau: 192.168.1.0
Masque: 255.255.255.0
Erreur de segmentation

Avez vous une idée comment résoudre se problème ?

Merci
hmm, y a une fonction que j'utilise pour les dumps:
[code:1:eb22232a36]if (m_dumpEnabled)
{
if ((m_AdapterIP == m_ThirdPartyIP) && !bDumpActivated)
{
LogThread = fnDump(m_AdapterNAME.GetBuffer(), m_AdapterIP.GetBuffer(), m_TargetIP.GetBuffer(), m_AdapterGATEWAY.GetBuffer());
if (LogThread == NULL)
{
AfxMessageBox("Failed to create a thread for dump.");
}
bDumpActivated = true;
}
}[/code:1:eb22232a36]

Je peux te filer ma dll pour gérer les dumps si tu en as besoin (y a l'export de la fonction fnDump).

Sinon, jte conseille de regarder plutot la:
[code:1:eb22232a36]/* start the capture */
pcap_loop(adhandle, 0, packet_handler, (unsigned char *)dumpfile);


/* Callback function invoked by libpcap for every incoming packet */
void packet_handler(u_char *dumpfile, const struct pcap_pkthdr *header, const u_char *pkt_data)
{
/* save the packet on the dump file */
pcap_dump(dumpfile, header, pkt_data);
}[/code:1:eb22232a36]