Что нового

Узнать mac адрес определенного подключения

Isn

Новичок
Сообщения
119
Репутация
3
Доброго времени суток в поиске нашел следующий скрипт:
Код:
MsgBox (0, "", _GetMAC ())


Func _GetMAC($getmacindex = 1)
    $ipHandle = Run(@ComSpec & ' /c ipconfig /all', '', @SW_HIDE, 2)
    $read = ""
    Do
        $read &= StdoutRead($ipHandle)
    Until @error
    
    $read = StringStripWS($read,7)
    
    $macdashed = StringRegExp( $read , '([0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2})', 3)
    If Not IsArray($macdashed) Then Return 0
    If $getmacindex <  1 Then Return 0
    If $getmacindex > UBound($macdashed) Or $getmacindex = -1 Then $getmacindex = UBound($macdashed)
    $macnosemicolon = StringReplace($macdashed[$getmacindex - 1], '-', ':', 0)
	Return $macnosemicolon 
EndFunc;==>_GetMAC

определяет mac адрес и выводит в msbox, можно ли узнать mac адресс определенного подключения, то есть за ранее известного, если их несколько два или три, в поиске ни чего похожего не нашел.
Данный скрипт выводит данные только первого.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Можно с помощью IPHelper UDF.

P.S

MAC адрес идентифицирует сетевой интерфейс, а не подключение. Сколько стоит сетевых карт (включая виртуальные), столько и будет MAC адресов.
 
Автор
Isn

Isn

Новичок
Сообщения
119
Репутация
3
мне хотя бы набросок сприпта, а там допишу, без стороннего ПО даже если оно написано на Autoit.
да и NetHelper под висту
 

Arei

Скриптер
Сообщения
938
Репутация
115
OffTopic:
Может глупое предположение, но
Код:
$getmacindex = 1
, я думаю его надо менять и вы получите все mac адреса.



Добавлено:
Сообщение автоматически объединено:

Типо того.

Код:
for $i = 1 to 3

ConsoleWrite(_GetMAC ( $i)&@crlf )

	next
Func _GetMAC($getmacindex = 1)
    $ipHandle = Run(@ComSpec & ' /c ipconfig /all', '', @SW_HIDE, 2)
    $read = ""
    Do
        $read &= StdoutRead($ipHandle)
    Until @error

    $read = StringStripWS($read,7)

    $macdashed = StringRegExp( $read , '([0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2})', 3)
    If Not IsArray($macdashed) Then Return 0
    If $getmacindex <  1 Then Return 0
    If $getmacindex > UBound($macdashed) Or $getmacindex = -1 Then $getmacindex = UBound($macdashed)
    $macnosemicolon = StringReplace($macdashed[$getmacindex - 1], '-', ':', 0)
    Return $macnosemicolon
EndFunc;==>_GetMAC
 
Верх