Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    58

    Quale libreria devo usare per ritardare i pacchetti?

    Ciao a tutti! Devo fare un programma per windows in cui ritardo (secondo tempi stabiliti da un algoritmo) tutti i pacchetti entranti e uscenti da uno specifico host...quale libreria posso usare? Winpcap da quello che ho capito serve solo a sniffare...è vero? Altrimenti potrei copiare i pacchetti, dropparli e rimandarli...ma in userspace che libreria posso usare??
    Vi ringrazio...
    Saluti
    Francesco

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    A quale linguaggio fai riferimento?

    Leggi il Regolamento per conoscere tutte le regole da seguire per utilizzare nel modo corretto quest'area del forum.

    Ciao e buona prosecuzione!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3

    Re: Quale libreria devo usare per ritardare i pacchetti?

    Originariamente inviato da ingtabby
    Ciao a tutti! Devo fare un programma per windows in cui ritardo (secondo tempi stabiliti da un algoritmo) tutti i pacchetti entranti e uscenti da uno specifico host...quale libreria posso usare? Winpcap da quello che ho capito serve solo a sniffare...è vero? Altrimenti potrei copiare i pacchetti, dropparli e rimandarli...ma in userspace che libreria posso usare??
    Vi ringrazio...
    Saluti
    Francesco
    Ciao tempo fa ho programmato un semplice firewall che agiva al livello di rete cioè analizzando gli headers dei pacchetti IP.
    Il programam era costituito da due parti:
    -un driver in kernelmode che si "aggangiava" (hook) alla dll di filtraggio pacchetti presente come componente di windows
    -un frontend per configurare le regole sulla base delle quali doveva avvenire il filtraggio dei pacchetti.

    In particolare la prima parte era programmata in linguaggio C e la seconda in linguaggio C++.

    Penso che il tuo problema si possa risolvere realizzando qualcosa di simile alla prima parte del mio programma, il driver.Infatti il mio driver operava semplicemente da filtro anteposto al driver di filtraggio pacchetti di win, tu invece di effettuare una selezione dei pacchetti potresti semplicemente introdurre una qualche elaborazione fasulla o delle sleep() per ottenere il tuo scopo. Ovviamente per fare questo devi avere due prerequisiti:

    -una discreta conoscenza del linguaggio C
    -una buona dose di voglia per leggerti la documentazione relativa alla tecnica che ho utilizzato e che sono disposto ad inviarti se decidi di percorrere questa strada.

    Con winpcap non so se si può ottenere ciò che vuoi, ad esempio il mio scopo non era raggiungibile (avevo sondato l'ipotesi prima) in quento winpcap può effettuare solo un'analisi dei pacchetti ma non può interferire in alcun modo da quanto avevo capito.In altre parola ci puoi realizzare uno sniffer (ma esiset già l'ottimo ethereal) ma non quello che vuoi tu.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    58
    Per Alka: scusa! ho provato a cambiare il titolo ma adesso è troppo tardi...è che ho postato in tantissimi forum e ormai ero allo stremo delle forze e nn ci ho fatto caso
    Il linguaggio cmq è c++.

    Per unomichisiada: forse quello che hai fatto tu è implementare un hook-filter..no? Ho letto qualcosa a riguardo e in effetti sembra interessante ma più difficile da realizzare...in più il ritardo da aggiungere dovrebbe essere gestito da un algoritmo..riuscirei ad inglobarlo nel filter? cmq guarda se puoi mandami tutto quello che puoi sull argomento..ho bisogno di tutto il materiale possibile perchè sull'hook -filter ho visto che c'è poco in giro...il c++ lo sto conoscendo adesso, cmq il mio lavoro è per la tesi di laurea e nel biennio abbiamo fatto java quindi penso di potermi arrangiare discretamente...aspetto una tua risposta!!Sei gentilissimo! Grazie!

  5. #5
    Originariamente inviato da ingtabby
    Per Alka: scusa! ho provato a cambiare il titolo ma adesso è troppo tardi...è che ho postato in tantissimi forum e ormai ero allo stremo delle forze e nn ci ho fatto caso
    Il linguaggio cmq è c++.

    Per unomichisiada: forse quello che hai fatto tu è implementare un hook-filter..no? Ho letto qualcosa a riguardo e in effetti sembra interessante ma più difficile da realizzare...in più il ritardo da aggiungere dovrebbe essere gestito da un algoritmo..riuscirei ad inglobarlo nel filter? cmq guarda se puoi mandami tutto quello che puoi sull argomento..ho bisogno di tutto il materiale possibile perchè sull'hook -filter ho visto che c'è poco in giro...il c++ lo sto conoscendo adesso, cmq il mio lavoro è per la tesi di laurea e nel biennio abbiamo fatto java quindi penso di potermi arrangiare discretamente...aspetto una tua risposta!!Sei gentilissimo! Grazie!
    Esatto ho implementato un hook filter, vedo che hai già letto in proposito molto bene!
    L'algoritmo lo puoi codificare in una funzione C del driver stesso e la puoi richiamare dalla funsione che elabora i pacchetti senza problemi.Per fare sta cosa ti serve soprattutto il C non il C++. L'interfaccia di configurazione (se ne serve una) te la puoi anche fare in java con le jni se già conosci java.Io a suo tempo la feci in C++ con le MFC perchè con java non ero ancora in grado.Una volta letta un po di doc farlo secondo me ti risulterà meno difficile di quanto non ti possa apparire ora.
    Hai ragione sulla tecnica dell HF si trova poco però ho qualcosa io, contattami in privato che te la mando. Compatibilmente con il tempo che ho e con quello che mi ricordo puoi anche farmi delle domande se hai dubbi.Ciao
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.