http://es.wikipedia.org/wiki/Direcci%C3%B3n_MAC
Segun me acuerdo en Visual Basic hay una funcion para generar numeros aleatorios, luego ese numero aleatorio lo convertis a hexadecimal, lo convertis en una cadena de texto, le pones los guiones y ya es una direccion mac :D
algo asi se me ocurre por el momento :)
con que fin keres hacer eso? :big_boss:
No soy mucho para Perl asi como para "traducirlo" a VB6, pero por si en caso te sirve:
http://www.perlmonks.org/?node_id=451219 (http://www.perlmonks.org/?node_id=451219)
Por otra parte este programa:
http://www.gorlani.com/publicprj/macmakeup/macmakeup.asp (http://www.gorlani.com/publicprj/macmakeup/macmakeup.asp)
Podria serte de utilidad como ejemplo (ya que hace lo que entiendo que tratas de conseguir).
MAC 00-08-74 (hex) 000874 (base 16) | Propietario Dell Computer Corp. One Dell Way Round Rock TX 78682 UNITED STATES |
Ademas si queres cambiar los 6 primeros pares de la dirección MAC (lo que cambiaria el propietario de tu tarjeta) podes usar esta lista:
http://standards.ieee.org/regauth/oui/oui.txt (http://standards.ieee.org/regauth/oui/oui.txt)
Y digamos tomar los identificadores de unas cuantas compañias que te gusten y seleccionarlas a la suerte a la hora de generar la nueva MAC.
Por ej. la que pusiste en tu ejemplo (00-08-74-4C-7F-1D) viene siendo propiedad de DELL:
MAC
00-08-74 (hex)
000874 (base 16)Propietario
Dell Computer Corp.
One Dell Way
Round Rock TX 78682
UNITED STATES
http://svcommunity.org/redir/?http://standards.ieee.org/regauth/oui/oui.txt
'Ejemplo = 00:04:5A:3D:31:39
'Caracteres Base HEX = 1234567890 - ABCDEF
Private Sub Command1_Click()
Dim mien As String
Dim mien2 As String
Dim ptos As String
'se asigna a la variable ptos los dos puntos ":"
ptos = ":"
'mien toma el resultado de la funcion fabAle y luego
'extrae solamente el primer caracter a la izquierda
'ejemplo, si el fabAle es igual a "2431"
'el valor de mien pasa a ser "2"
mien = Left(fabAle, 1)
'y segun el ejemplo anterior con mien
'si mien es igual a "2", entonces mien tomara
'el valor de "00:11:50" perteneciente a Belkin
' y el cuadro de texto "text2" toma el valor "Belkin"
Select Case mien
Case Is = "1"
mien = "00:04:5A" '00-04-5A Linksys
Text2.Text = "Linksys"
Case Is = "2"
mien = "00:11:50" '00-11-50 Belkin
Text2.Text = "Belkin"
Case Is = "3"
mien = "00:11:5C" '00-11-5C Cisco
Text2.Text = "Cisco"
Case Is = "4"
mien = "00:19:0C" '00-19-0C Encore
Text2.Text = "Encore"
End Select
'luego pegamos los valores en el cuadro de texto "text1"
'"00" & ptos & "04" & ptos & "5A"
'primero se pega el valor de mien seguido por los dos puntos
'quedando de esta manera "00:11:50:"
'luego un numero aleatorio "00:11:50:1"
'luego una letra aleatoria "00:11:50:1A"
'luego los dos puntos "00:11:50:1A:"
'luego un numero aleatorio "00:11:50:1A:2"
'luego una letra aleatoria "00:11:50:1A:2B"
'luego los dos puntos "00:11:50:1A:2B:"
'luego un numero aleatorio "00:11:50:1A:2B:4"
'luego una letra aleatoria "00:11:50:1A:2B:4C"
'y al final nos queda esto "00:11:50:1A:2B:4C", ese es
'nuestra direccion MAC :)
Text1.Text = mien & _
ptos & Left(numAle, 1) & Left(letraAle, 1) & _
ptos & Left(numAle, 1) & Left(letraAle, 1) & _
ptos & Left(numAle, 1) & Left(letraAle, 1)
End Sub
'funcion para generar un aleatorio con los siguientes caracteres
'"ABCFEF" ya que vamos a generar un Hexadecimal
'ejemplo "DBCEFA"
Private Function letraAle() As String
Dim str$, i%, j%
Randomize
str = "ABCDEF"
For i = 1 To Len(str)
j = Int((Len(str) * Rnd) + 1)
letraAle = letraAle & Mid$(str, j, 1)
Next
End Function
'Funcion para generar un numero aleatorio con 10 digitos
'ejemplo "2583691470"
Private Function numAle() As String
Dim str$, i%, j%
Randomize
str = "0123456789"
For i = 1 To Len(str)
j = Int((Len(str) * Rnd) + 1)
numAle = numAle & Mid$(str, j, 1)
Next
End Function
'Funcion para generar un numero aleatorio con cuatro digitos
'que comprendan el 1 el 2 el 3 o el 4
'ejemplo "2431"
Private Function fabAle() As String
Dim str$, i%, j%
Randomize
str = "1234"
For i = 1 To Len(str)
j = Int((Len(str) * Rnd) + 1)
fabAle = fabAle & Mid$(str, j, 1)
Next
End Function