Il Forum di Orebla.it

Benvenuto nella community di Orebla.it
Oggi è dom 16 feb, 2020 7:57 pm

Tutti gli orari sono UTC + 1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 1 messaggio ] 
Autore Messaggio
 Oggetto del messaggio: [C] PSniff
Messaggio da leggereInviato: lun 13 ago, 2007 9:04 am 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: mar 28 dic, 2004 6:54 pm
Messaggi: 300
Località: Pisa
Eccovi il codice del mio packet sniffer (simile a tcpdump), sviluppato completamente in C con le librerie PCAP. Questo codice è in grado di sniffare tutti i pacchetti in ingresso sul sistema su qualsiasi interfaccia di rete. Per compilarlo c'è bisogno di linkare esplicitamente le librerie PCAP

Codice:
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
#include <pcap.h>

void pack_handle(u_char *pnull, const struct pcap_pkthdr *p_info, const u_char *packet)  {
        int i;
        time_t ltime = time ( (unsigned) NULL );

        printf ("Packet received at %s\n",ctime(&ltime));
        printf ("\n");

        for (i=0; i<p_info->len; i++)
                printf ("%c",packet[i]);
        printf ("\n");
}

main()  {
        pcap_t *sniff;
        char err[PCAP_ERRBUF_SIZE];
        struct bpf_program filter;
        bpf_u_int32 net,mask;

        if (pcap_lookupnet(NULL,&net,&mask,err)==-1)  {
                printf ("Error linking to the netmask\n");
                printf ("%s\n",err);
                exit(1);
        }

        if (!(sniff=pcap_open_live(NULL,1024,0,0,err)))  {
                printf ("Error creating a sniffer session\n");
                printf ("%s\n",err);
                exit(2);
        }

        pcap_compile (sniff,&filter,NULL,0,net);
        pcap_setfilter (sniff,&filter);
        pcap_loop (sniff,0,pack_handle,NULL);
}

_________________
Immagine
Immagine


Top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 1 messaggio ] 

Tutti gli orari sono UTC + 1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduzione Italiana phpBBItalia.net basata su phpBB.it 2010
phpBB SEO