|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
[C++] ARP protocol
Ciao,
secondo voi per usare il protocollo ARP, che devo usare? dando un occhio ai sorgenti di linux, mi sembra sia parecchio lunga la cosa altrimenti usare qualche libreria? Qualcuno ha una idea più chiara della mia di come fare? Grazie. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
....
allora, dovrebbe essere come per gli altri protocolli. Ho iniziato a scrivere che è sempre un buon traguardo questo è ad esempio un costruttore che inizializza una socket ARP, secondo voi come posso organizzare l'invio e la ricezione? ... di default l'aggiornamento della cache è ogni tot minuti a seconda dell'os.... Codice:
ARPsocket::ARPsocket()
{
//Inizialize struct sockaddr
memset(&addr,0,sizeof(sockaddr));
memcpy(addr.sa_data,default_interface,sizeof(addr.sa_data));
//Create ARP socket
fd = socket(PF_PACKET,SOCK_PACKET,htons(ETH_P_ARP));
//Bind to the ARP socket
bind(fd,&addr,sizeof(addr));
//Get my ethernet address
memset(&addr_device,0,sizeof(addr_device));
strncpy(addr_device.ifr_name,default_interface,sizeof(default_interface));
ioctl(fd,SIOCGIFHWADDR,&addr_device);
memcpy(&hwaddr,addr_device.ifr_hwaddr.sa_data,ETHER_ADDR_LEN);
}
imposterei degli invii + timeout per la ricezione umh? sono sulla retta via almeno? Altra cosetta, per aggiornare la cache ARP che uso? Stò cercando la procedura in Co C++ ma non la trovo... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:10.



















