Как я получаю медосмотр (MAC) адрес IP-адреса с помощью C#?

Причина в том, что вы выполнили операции

    f-1
    f+1
    f + randint(1,6)

, вместо этого вы должны были сделать

   f= f-1
   f= f+1
   f= f + randint(1,6)

, поэтому функция должна быть

def roll():
f=0
arry = []
count = 0
while count is not 100:
    numb = randint(1,6)
    if numb is 1 or 2:
        f=f-1
    elif numb is 3 or 4 or 5:
        f=f+1
    else:
        f=f + randint(1,6)
    count=count+1
    arry.append(f)
return arry

Надеюсь, это поможет

11
задан Iain 9 October 2008 в 15:47
поделиться

3 ответа

SendARP P/Invoke идет как это:

[DllImport("iphlpapi.dll", ExactSpelling=true)]
public static extern int SendARP( int destIp, int srcIP, byte[] macAddr, ref uint physicalAddrLen );

PInvoke.NET имеет этот пример:

IPAddress dst = IPAddress.Parse("192.168.2.1"); // the destination IP address

byte[] macAddr = new byte[6];
uint macAddrLen = (uint)macAddr.Length;

if (SendARP(BitConverter.ToInt32(dst.GetAddressBytes(), 0), 0, macAddr, ref macAddrLen) != 0)
     throw new InvalidOperationException("SendARP failed.");

string[] str = new string[(int)macAddrLen];
for (int i=0; i<macAddrLen; i++)
     str[i] = macAddr[i].ToString("x2");

Console.WriteLine(string.Join(":", str));
26
ответ дан 3 December 2019 в 02:42
поделиться

Найти Ваше собственное:

Добавьте ссылку на Систему. Управление

ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");

ManagementObjectCollection mcCol = mc.GetInstances();

foreach (ManagementObject mcObj in mcCol)
{
  Console.WriteLine(mcObj["Caption"].ToString());
  Console.WriteLine(mcObj["MacAddress"].ToString());
}

Не уверенный в нахождении того из другого устройства.

1
ответ дан 3 December 2019 в 02:42
поделиться

Рычаг в подсистему WMI. Некоторый код VBScript для начинаний в правильном направлении здесь

1
ответ дан 3 December 2019 в 02:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: