Domanda

Devo scrivere un programma che fiuta i pacchetti di rete (parte 1, la parte semplice).
E devo per aggiornare il programma (part2) in modo che sarà in grado di interrompere le connessioni.
I requisiti specifici sono i seguenti:

  

Costruire pacchetti grezzi specificando le informazioni livello di collegamento dati e livello di rete tra cui fonte appropriata e la destinazione indirizzi MAC e IP. Questi pacchetti sono destinati a chiudere la connessione. Per fare ciò, si dovrebbe usato SOCK_RAW come il tipo di socket per essere in grado di impostare le informazioni di intestazione da soli.

Qualcuno mi può dare qualche idea sulla seconda parte?
Dovrei dirottare la sessione, applicare un attacco DoS su uno degli utenti?

Tutto quello che serve è alcuni suggerimenti su come terminare la connessione. Sto usando il linguaggio di programmazione C, e questo è un compito corso per il corso di sicurezza.

È stato utile?

Soluzione

Dipende da cosa si intende per terminare le connessioni. Si potrebbe dire che fornisce un end-point per un circuito TCP o UDP flusso.

Oppure si potrebbe dire l'invio di un RST accettabile nel bel mezzo di un flusso TCP per indicare la fine del flusso. Per raggiungere questo obiettivo è necessario conoscere il numero di sequenza atteso dal lato opposto tra le altre cose.

In entrambi i casi è evidente che non hai prestato attenzione in classe. L'intero punto del compito, a quanto pare, è quello di mostrare a capire il layout grezzo dei pacchetti IP e, eventualmente, il protocollo TCP / UDP. Vi suggerisco di acquistare un libro di testo sull'argomento (senza dubbio consigliato dal docente) e / o prendere una lettura di Wikipedia.

Altri suggerimenti

Per questo compito userei pypacp , che è una cattura pitone pacchetto e iniezione biblioteca. Pypcap utilizza i socket grezzi forgiare pacchetti. Se per qualche strana ragione si è costretti ad utilizzare C, allora questo progetto sarà più difficile. In questo caso si dovrebbe usare libpcap ad annusare la linea e la libreria socket raw dipenderà piattaforma si sviluppa su.

È possibile sniffare la linea alla ricerca di TCP sequenza di ID di. Sulla base di questo ID è possibile forgiare un RST o FIN per rompere un lato della connessione. La parte difficile sarà cercare di mantenere la connessione TCP usando socket grezzi. Sarà quasi impossibile mantenere la connessione a livello di applicazione, HTTP sarebbe un protocollo più facile da mantenere, ma se fosse http sarebbe più facile per dirottare solo il cookie.

Non posso aiutare con librerie C - non è il mio forte, ma sembra che non ci dovrebbe essere qualcosa là fuori

.

Ma sembra che ciò che si sta cercando di fare in parte 2 è quello di evitare che un DOS, non provocare uno!

Controlla qui:

http://en.wikipedia.org/wiki/Denial-of-service_attack

per le cose su attacchi DoS. Come dice PP, ci sono una serie di attacchi in materia di abuso di connessione, così si vuole capire che uno vostro assigment è di circa - che quello che si ha bisogno di controllare con il vostro prof. Ad esempio, la pagina Wiki cita sopra SYN Floods - ma quasi qualsiasi protocollo orientato alla connessione sarà a rischio per un attacco che riempie il pool di connessioni con troppe richieste di connessione e quindi non mai chiuderli

.

presumo, leggendo l'incarico, che il vostro lavoro è quello di capire come risolvere questo problema chiudendo le connessioni che l'attaccante ha aperto. Il che significa che entrambi hanno di capire come funziona l'attacco, e poi capire come recuperare da esso.

SUGGERIMENTO: Colpire il server con un diluvio di richieste di primo collegamento non è un attacco. Non è che utile, sia, dal momento che non sono necessariamente la chiusura delle connessioni che sono aperti. Ma il danno è causato da richieste di open-connessione. Vedi qui:

http://en.wikipedia.org/wiki/SYN_flood

Per un esempio.

è possibile utilizzare libpcap per aiutare con lo sniffing dei pacchetti. libpcap è stato sviluppato dal team di tcpdump.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top