PDA

Visualizza la versione completa : [C] Programma che simula il comportamento di ARP


pishta
22-02-2007, 13:50
Salve ragazzi, devo sviluppare un piccolo programmino che simuli il comportamento di una richiesta ARP.

L'host che vuole conoscere il mac address di un altro host, di cui conosce l'indirizzo IP, invia in broadcast una richiesta ARP contenente l'indirizzo IP dell'host di destinazione ed il proprio indirizzo MAC.

Tutti i calcolatori della sottorete ricevono la richiesta. In ciascuno di essi il protocollo ARP verifica se viene richiesto il proprio indirizzo IP.

L'host di destinazione che riconoscerà il proprio IP nel pacchetto di richiesta ARP, provvederà ad inviare una risposta in unicast all'indirizzo MAC sorgente, contenente il proprio MAC.

In questo modo, ogni host può scoprire l'indirizzo fisico degli altri host sulla stessa sottorete.

Avete idea di come implementare in C questo meccanismo?....
grazie

oregon
22-02-2007, 14:12
Certo che ho idea ... ma non e' mica semplicissimo ...

Se vuoi "simulare" il processo, devi, per prima cosa, simulare gli "attori" di tale processo ... per primi, i computer che scambiano informazioni. Comincia da questo ...

andbin
22-02-2007, 14:45
Su Windows (Win2000 in poi), funzione SendARP (http://search.msdn.microsoft.com/search/Redirect.aspx?title=SendARP+&url=http://msdn2.microsoft.com/en-us/library/aa366358.aspx).

oregon
22-02-2007, 15:06
Ma vuoi "simulare" (scrivere un simulatore) o inviare veramente il pacchetto (che non significa simulare ...) ...?

pishta
22-02-2007, 15:17
Effettivamente devo inviare davvero il pacchetto, solo che non conosco gli strumenti a livello di lirerie C che me lo permettono...

io penso che il protocollo deve essere implementato in modalità client server in tutte le macchine della rete...

Per semplicità possiamo supporre che ci sia una macchina che fa la richiesta (in bradocast) e una macchina che risponde (in unicast).

Il problema è che non saprei creare i pacchetti di richiesta e di risposta...

Provo il link di andbin....in attesa di soluzioni

Loading