Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

guhfloripa

[Resolvido] gerador de mac address em php?

Recommended Posts

olha pessoal eu tenho este script aki feito para linux.

 

"

#! /usr/bin/python

# macgen.py script generates a MAC address for Xen guests

#

import random

mac = [ 0x00, 0x16, 0x3e,

random.randint(0x00, 0x7f),

random.randint(0x00, 0xff),

random.randint(0x00, 0xff) ]

print ':'.join(map(lambda x: "%02x" % x, mac))

 

Generates e.g.:

00:16:3e:66:f5:77

to stdout "

 

so que eu não possuo nenhum conhecimento de linux, gostaria de fazer um script em php que gerasse mac adrress quando clicasse no botão gerar.

Alguem tem alguma ideia de como fazer um script para gerar mac address? porque eu não sei como fazer =/

Qualquer ajuda é sempre bem vinda valeu pessoal bom dia a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei cara. Se ninguém respondeu pode ser pq tb ninguém saiba.

Qual é a 'regra' de formação de um Mac Address ?

 

você precisa disso, exatamente para.. ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei cara. Se ninguém respondeu pode ser pq tb ninguém saiba.

Qual é a 'regra' de formação de um Mac Address ?

 

você precisa disso, exatamente para.. ?

pior que eu não sei willian =/

Alguem sabe como é a formatação de um mac address?

este aqui é meu mac address:

00-40-A7-0B-72-1D

se ajudar alguma coisa =/

valeu pessoal qualquer ajuda é muito bem vinda.

 

aqui está uma regra que achei na internet:

"Inicialmente é necessário criar um MAC Address válido. O MAC é formado por um conjunto de 12 caracteres hexadecimais ('0' Ã* '9', 'A' Ã* 'F', 'a' Ã* 'f'). Vamos agora achar o lugar para alterar o MAC."

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha pessoal eu tenho este script aki feito para linux.

O problema de se gerar um endereço MAC aleatóriamente é que jamais será possível validá-lo.

Isso porque um endereço MAC é composto por 2 partes, a primeira parte (essa é possível validar) é a que identifica o fabricante, no caso do seu script está sendo utilizado o identificador da Xensource, Inc.

A segunda parte é gerado pela fabricante (aqui está o problema). Por definição, um endereço MAC é único, não existem duas placas com o mesmo endereço, então quando geramos aleatoriamente corremos o risco de gerar um endereço que já existe.

 

/**
 * Gera aleatoriamente um endereço MAC (Media Access Control).
 * 
 * @link http://standards.ieee.org/regauth/oui/oui.txt
 * @param integer $A Primeiro dos três octetos de identificação do fabricante
 * @param integer $B Segundo dos três octetos de identificação do fabricante
 * @param integer $C Terceiro dos três octetos de identificação do fabricante
 * @return array Matriz com 6 elementos representando os módulos de um endereço MAC
 */
function generateMACAdd( $A = 0x00 , $B = 0x16 , $C = 0x3e ){
	$mac = array(
		$A,
		$B,
		$C,
		rand( 0x00 , 0x7f ),
		rand( 0x00 , 0xff ),
		rand( 0x00 , 0xff )
	);

	return( $mac );

}

Esse código ai vai gerar um endereço MAC para você, ele espera os três octetos de identificação da fabricante, se você não passar nenhum então ele vai utilizar os da Xensource, Inc.

 

vprintf( "%02x:%02x:%02x:%02x:%02x:%02x\n" , generateMacAdd() ); //Xensource, Inc.
vprintf( "%02x:%02x:%02x:%02x:%02x:%02x\n" , generateMacAdd( 0x00 , 0x16 , 0x47 ) ); //Cisco Systems
vprintf( "%02x:%02x:%02x:%02x:%02x:%02x\n" , generateMacAdd( 0x00 , 0x16 , 0x56 ) ); //Nintendo Co., Ltd.
vprintf( "%02x:%02x:%02x:%02x:%02x:%02x\n" , generateMacAdd( 0x00 , 0x16 , 0x76 ) ); //Intel Corporation
vprintf( "%02x:%02x:%02x:%02x:%02x:%02x\n" , generateMacAdd( 0x00 , 0x16 , 0xB5 ) ); //Motorola CHS

A saida do código acima será:

 

00:16:3e:25:dc:1f
00:16:47:69:c9:c1
00:16:56:1c:47:1c
00:16:76:66:11:9a
00:16:b5:02:ed:56

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.