Sto studiando su arp, e voglio sapere di più su come funziona. In questo momento, sto usando Wireshark e questa funzione che restituisce l'indirizzo mac da un dato indirizzo ip ipAddress
:
IPAddress IP = IPAddress.Parse(ipAddress);
byte[] macAddr = new byte[6];
uint macAddrLen = (uint)6;
// Destination, Source, pMacAddr, PhyAddrLen
if (SendARP((int)IP.Address, 0, macAddr, ref macAddrLen) != 0)
{
Console.WriteLine("ARP RESPONSE FAILED");
}
string[] str = new string[(int)macAddrLen];
for (int i = 0; i < macAddrLen; i++)
{
str[i] = macAddr[i].ToString("x2");
}
return string.Join(":", str).ToUpper();
Ho impostato ipAddress
su 192.168.1.68
che è un computer attivo nella mia rete. Catturo con successo la mia richiesta Arp in Wireshark. Ecco come appare: Dall'immaginesopra,IntelCor
èilmioPC.Lalineaselezionatainbluèciòcheilmioprogrammahainviato.Larigasuccessivadopoilbluèl'indirizzomacchestoricevendo.Lamiadomandaèilmotivopercuiiostessorispondoerispondoaqualeindirizzomacfa192.168.1.68
(possosaperedallasezionedidestinazione).MentrealtrerichiesteArpdalrouter.comequesto:(192.168.1.76
sonoio)