Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C] usare le winpcap

    Ciao a tutti.
    Voglio realizzare un programma che controlla IN TEMPO REALE il contenuto dei pacchetti TCP/IP, in particolare la parte realtiva al protocollo HTTP in modo che mi sappia dire in tempo reale se un determinato programma che usa internet ha richiesto una pagina di un sito specificato da me, tipo un sito vietato ai minori, e agisca di conseguenza.

    1) è fattibile?
    2) è fattibile in tempo reale? (magari con dei filtri..)
    3) comincio a smanettare con le winpcap o mi butto sulle API relative a Internet Explorer?

    Vorrei realizzarlo su Windows in C.
    rm -f stupidity

  2. #2
    Secondo me invece ti conviene studiare le API del DDK per creare un nuovo strato sullo stack TCP/IP che controlli i pacchetti in entrata/uscita piuttosto che affidarti ad altre librerie. Si tratta di un progetto fattibile, ma credo che ci siano già molti prodotti validi e anche gratuiti in circolazione.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Praticamente vuoi scrivere un Packet Filter Driver (che sta alla base di un firewall) ... allora devi proprio consultare il DDK ... mi sembra che si sia un esempio (o uno scheletro d'esempio ...).

    Ma ti avverto ... non e' per nulla semplice e devi avere una discreta esperienza di programmazione di sistema e di funzionamento del protocollo IP ...

  4. #4
    Grazie mille per le risposte.
    Dunque io non voglio fare un Packet Filter Driver. In realtà mi basta analizzare la parte relativa a HTTP dei pacchetti e confrontarla con una stringa che decido io (in particolare siti vietati ai minori, di giochi online e scommesse).

    Per fare ciò potrei interfacciarmi con l'output di altri programmi come Windump (tcpdump) ?
    Tale programma mi permette di catturare gli header HTTP?
    rm -f stupidity

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    1,003
    Il fatto è che con winpcap puoi sapere tutto quello che manda la tua macchinia ma non puoi intervenire, perchè winpcap si posiziona allo stesso livello dello stack tcp/ip di windows.
    In pratica per bloccare le richieste dovresti scriverti come gia detto un packet filter driver, solo in questo modo puoi anche bloccare i pacchetti prima che arrivino alla applicazione.

  6. #6
    Passare all implementazione di un packet filter driver credo mi richiederebbe troppo tempo.
    Al momento mi accontento di avvertire l'utente tramite una finestra del fatto che il sistema si è accorto del tentativo di visita del sito e che è stato loggato.
    In ambiente di lavoro questo dovrebbe bastare a far passare la voglia di farlo di nuovo, almeno per utenti poco esperti.

    Puo dunque bastarmi interfacciarmi con l'output di windump, con le opportune opzioni?

    Grazie mille siete molto disponibili.
    rm -f stupidity

  7. #7
    Ciao a tutti.
    Voglio realizzare un programma che controlla IN TEMPO REALE il contenuto dei pacchetti TCP/IP, in particolare la parte realtiva al protocollo HTTP in modo che mi sappia dire in tempo reale se un determinato programma che usa internet ha richiesto una pagina di un sito specificato da me, tipo un sito vietato ai minori, e agisca di conseguenza.
    Non ti potrebbe tornare più comodo un proxy HTTP? Ci hai pensato?

    3) comincio a smanettare con le winpcap o mi butto sulle API relative a Internet Explorer?
    Vorrei realizzarlo su Windows in C.
    Con pcap ti puoi limitare unicamente ad 'osservare' ma non agire di conseguenza (es: bloccando, redirettando ecc...).
    Ad ogni modo, se solo questo ti basta con pcap vai abbastanza tranquillo (è semplice).

    Dunque io non voglio fare un Packet Filter Driver. In realtà mi basta analizzare la parte relativa a HTTP dei pacchetti e confrontarla con una stringa che decido io (in particolare siti vietati ai minori, di giochi online e scommesse).
    Oltre a pcap ti serve una libreria per interpretare i pacchetti ricevuti e parsarli di conseguenza dato che il pacchetto che pcap ti fornisce è 'grezzo'. Probabile che in C ve ne siano di gia pronte.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.