Hallo Leute,
gibt es die Möglichkeit nur die MAC-Adresse der LAN-Verbindung auszulesen?
Vielen Dank im Voraus !
Beste Grüße,
Dino
Hallo Leute,
gibt es die Möglichkeit nur die MAC-Adresse der LAN-Verbindung auszulesen?
Vielen Dank im Voraus !
Beste Grüße,
Dino
[ offen ] Mac Addresse Auslesen
Hallo Dino,
Zitatgibt es die Möglichkeit nur die MAC-Adresse der LAN-Verbindung auszulesen?
Welche
ZitatMAC-Adresse >>aus Wikipedia, der freien Enzyklopädie<<
Die MAC-Adresse (Media-Access-Control-Adresse, auch Ethernet-ID oder Airport-ID bei Apple oder Physikalische Adresse bei Microsoft genannt) ist die Hardware-Adresse jedes einzelnen Netzwerkadapters, die zur eindeutigen Identifizierung des Geräts in einem Rechnernetz dient.
Die deiner Netzwerkkarte, die des (über LAN) verbundenen Rechners, oder gar die der beteiligten Router, Switches
mfg (Auto)Bert
Hallo blubbstar und AutoBert,
ich meine nur die, die übers LAN verbundenen Rechner.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Dokumente und Einstellungen\Dino>ipconfig /all
[/autoit] [autoit][/autoit] [autoit]Windows-IP-Konfiguration
[/autoit] [autoit][/autoit] [autoit]Hostname. . . . . . . . . . . . . : pc2089
Primäres DNS-Suffix . . . . . . . : bogie.intern
Knotentyp . . . . . . . . . . . . : Hybrid
IP-Routing aktiviert. . . . . . . : Nein
WINS-Proxy aktiviert. . . . . . . : Nein
DNS-Suffixsuchliste . . . . . . . : bogie.intern
fritz.box
Ethernetadapter Drahtlose Netzwerkverbindung:
[/autoit] [autoit][/autoit] [autoit]Verbindungsspezifisches DNS-Suffix: fritz.box
Beschreibung. . . . . . . . . . . : Intel(R) Wireless WiFi Link 4965AGN
Physikalische Adresse . . . . . . : 00-25-4C-0A-4B-13
DHCP aktiviert. . . . . . . . . . : Ja
Autokonfiguration aktiviert . . . : Ja
IP-Adresse. . . . . . . . . . . . : 192.168.178.67
Subnetzmaske. . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : 192.168.178.1
DHCP-Server . . . . . . . . . . . : 192.168.178.1
DNS-Server. . . . . . . . . . . . : 192.168.178.1
Lease erhalten. . . . . . . . . . : Mittwoch, 3. Februar 2010 23:10:42
Lease läuft ab. . . . . . . . . . : Samstag, 13. Februar 2010 23:10:42
Ethernetadapter LAN-Verbindung:
[/autoit] [autoit][/autoit] [autoit]Medienstatus. . . . . . . . . . . : Es besteht keine Verbindung
Beschreibung. . . . . . . . . . . : Intel(R) 82566MM Gigabit Network Con
nection
Physikalische Adresse . . . . . . : 00-1B-29-4C-0F-18
Viele Grüße,
Dino
Nimm dafür das Tool GetMAC.
Edit: Oder so:
[autoit]$strComputer = "."
$objWMIService = ObjGet("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colAdapters = $objWMIService.ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
$n = 1
$str = ''
For $objAdapter in $colAdapters
$str &= "Network Adapter " & $n & @LF
$str &= "=================" & @LF
$str &= " Description: " & $objAdapter.Description & @LF
$str &= " Physical (MAC) address: " & $objAdapter.MACAddress & @LF
$str &= " Host name: " & $objAdapter.DNSHostName & @LF
$n += 1
Next
ConsoleWrite($str & @CRLF)
Mir ist immer noch nicht klar was er will.
Will er die MAC-Adressen aller physischen Netzwerkadapter?
Wenn ja will er da alle haben egal ob die verbunden sind oder nicht?
Weil bei deiner Möglichkeit Bugfix findet er bei mir z.B. nur den Wireless-Controller und den (aktivierten) LAN-Controller nicht weil dieser keine Netzwerkverbindung hat.
Wenn es wirklich direkt um alle physischen Netzwerkadapter geht dann mal hier 2 Möglichkeiten über WMI bzw. über ipconfig:
#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]$aNetAdapters = _GetMacAdressesWMI()
_ArrayDisplay($aNetAdapters)
$aNetAdapters = _GetMacAdressesCMD()
_ArrayDisplay($aNetAdapters)
;---------------------------- Funktionen -----------------------------------------------------------
Func _GetMacAdressesWMI()
Local $aReturn[1][2], $bY = False
If IsDeclared("oWMI") <> 1 Then
Local $oWMI = ObjGet("winmgmts:\\localhost\root\CIMV2")
If @error Or Not IsObj($oWMI) Then Return SetError(1, @error, 0)
EndIf
Local $aItems = $oWMI.ExecQuery("SELECT MACAddress, Name FROM Win32_NetworkAdapter " & _
"WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> " & _
"'Microsoft'))", "WQL", 0x10 + 0x20)
If IsObj($aItems) Then
For $x In $aItems
If $bY Then
ReDim $aReturn[UBound($aReturn) + 1][2]
Else
$bY = True
EndIf
$aReturn[UBound($aReturn) - 1][0] = $x.Name
$aReturn[UBound($aReturn) - 1][1] = StringReplace($x.MACAddress, ':', '-')
Next
Return $aReturn
Else
Return SetError(2, 0, 0)
EndIf
EndFunc
Func _GetMacAdressesCMD()
$sCMD = _GetDOSReturn("ipconfig", "/all")
$aRegExRet = StringRegExp($sCMD, "(?s)[^-](?:Beschreibung|Description)[\.\s]+?:\s([\w\s]+).+?[^-]([0-9A-F]{2}(?:-[0-9A-F]{2}){5})[^-]", 3)
If @error Then
Return SetError(1,@error, '')
Else
Local $aReturn[UBound($aRegExRet)/2][2]
For $i=0 To UBound($aReturn)-1
$aReturn[$i][0] = $aRegExRet[$i*2]
$aReturn[$i][1] = $aRegExRet[$i*2+1]
Next
Return $aReturn
EndIf
EndFunc
Func _GetDOSReturn($sCMD, $sParameter = '')
Local $sPara = '', $sReturn = '', $sLine
If $sParameter <> '' Then $sPara = ' ' & $sParameter
Local $iPID = Run($sCMD & $sPara, '', @SW_HIDE, 2)
While 1
$sLine = StdoutRead($iPID)
If @error Then ExitLoop
$sReturn &= $sLine
WEnd
Return $sReturn
EndFunc
;------------------------------------------------------------------------------------------------
Vielen Dank an alle !!!!
Nutze den Befehl "arp -a" dann kannst du auch alle MAC-Adressen auslesen die DEIN Rechenr kennt.
MfG
Der_Doc
Wenn du die IP weißt so:
;######################################################################################
;# Ermittelt die MACAdresse bei gegebener IP
;#
;# Parameter: $sIP = IP-Adresse
;# $seperator = Trennzeichen, 0 für keins, Standard: ":"
;#
;# Rükgabe: Macadresse in der Form xx:xx:xx:xx:xx:xx
;# 0 = Fehler: Ungültige IP oder MAC-Adresse konnte nicht ermittelt werden
;#
;# Autor: unbekannt, Modifiziert von Bitboy
;######################################################################################
Func _GetMACFromIP($sIP, $seperator=":")
Local $MAC, $MACSize
Local $i, $s, $r, $iIP
$seperator = String($seperator)
If $seperator = "" Then
$seperator = ":"
ElseIf $seperator = "0" Then
$seperator = ""
EndIf
$MAC = DllStructCreate("byte[6]")
$MACSize = DllStructCreate("int")
DllStructSetData($MACSize, 1, 6)
$r = DllCall("Ws2_32.dll", "int", "inet_addr", "str", $sIP)
$iIP = $r[0]
$r = DllCall("iphlpapi.dll", "int", "SendARP", "int", $iIP, "int", 0, "ptr", DllStructGetPtr($MAC), "ptr", DllStructGetPtr($MACSize))
$s = ""
;MsgBox(0,"debug","SEP: " & $seperator)
For $i = 0 To 5
If $i Then $s = $s & $seperator
$s = $s & Hex(DllStructGetData($MAC, 1, $i + 1), 2)
Next
If $s = "00" & $seperator & "00" & $seperator & "00" & $seperator & "00" & $seperator & "00" & $seperator & "00" Then $s = 0
Return $s
EndFunc ;==>_GetMACFromIP
Bitboy
super sache ab in die Sammlung