Я пытаюсь преобразовать IP-адрес в MAC-адрес, а затем преобразовать его в массив байтов. Я застрял в первой части и не знаю, как это сделать. Я видел, что некоторые результаты поиска говорят о System.Net.NetworkInformation.NetworkInterface
, но не уверены, как их использовать.Как преобразовать IP-адрес в массив байтов MAC-адресов?
Это мой код, который нуждается в массиве байтов MAC. Как это сделать?
[DllImport("iphlpapi.dll", ExactSpelling = true)]
public static extern int SendARP(int DestIP, int SrcIP, byte[] pMacAddr, ref uint PhyAddrLen);
private void Ping(IPAddress address)
{
byte[] macAddr = new byte[6];
uint macAddrLen = uint.Parse(macAddr.Length.ToString());
if (SendARP(int.Parse(address.ToString()), 0, macAddr, ref macAddrLen) == 0)
{
//SUCCESS!
}
}
Что вы пытаетесь сделать? MAC-адрес недоступен, кроме хост-машины, поэтому я не понимаю ваш вопрос – CharlesB
@CharlesB, я пытаюсь сделать [this] (http://stackoverflow.com/a/8924588/720323) работу. Проблема в том, что моя последняя переменная macAddrLen не назначена. – HelpNeeder
MAC-адрес адаптера доступен только в том же сегменте сети. Не на другой стороне маршрутизатора. – spender