Ir para conteúdo

POWERED BY:

Arquivado

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

Emerson Placido

Funcoes de Rede

Recommended Posts

MAC addressE possivel captura o indereço de um placa de rede de uma maquina se alguem poder me ajudar agradeçojá estou lendo a documentação do PHP mas ate agora não achei nada a respeito...

Compartilhar este post


Link para o post
Compartilhar em outros sites

aconselho você procurar algo em javascript que roda no lado cliente. Tambem estou com a mesma duvida e ja estou procurando. www.sourceforge.net

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei mas so da certo em Plataforma Windows no linux naum funciona

se alguem conseguir fazer funcionar no linux post aki pro favor

 

 

olha o code aki

 

 

<?php/** * Class NtMacAddress *		Returns client or server Mac Address in an intranet NT5 or NT5.1 LAN * ----------------------------------------------- * EXAMPLE: *  * NOTE: This class works only in a LAN then you will not read anything if try on localhost. *	 So please use from another PC. * _______________________________________________ * * @author		Andrea Giammarchi * @compatibility	Windows 2000 / Server , Windows XP *			( but maybe found *nix and other OS client macaddress too ) * @site		www.3site.it * @date		09/10/2004 * @version	1.0	tested only on Win 2K / XP */class NtMacAddress {	/**	 * Public method getMach. Returns client or server mac-address if is readable.	 *	 *		NtMacAddress->getMac( $what:String ):String	 *	 * @param	String		Options: 'client' or 'server'	 * @return	String		Mac-Address if is readable, 'not found' otherwise	 */	function getMac( $what ) {		$what = &strtolower( $what );		if( $what == 'server' ) {			return $this->__server_macaddress();		}		elseif( $what == 'client' ) {			return $this->__client_macaddress();		}		else {			return '\'client\' or \'server\' ?';		}	}	/**	 * Private method __server_macaddress. Returns server mac-address if is readable.	 *	 *		NtMacAddress->__server_macaddress():String	 *	 * @param	no	 * @return	String		Server Mac-Address if is readable, 'not found' otherwise	 */	function __server_macaddress() {		$output = Array();		exec( 'netstat -r', $output );		for( $a = 0, $b = &count( $output ); $a < $b; $a++ ) {			if( preg_match( "/(?i)([a-z0-9]{2} ){6}/", $output[$a] ) == true ) {				$macaddress = &$output[$a];				$uniquekey = &md5( $macaddress );				$output[$a] = &preg_replace( "/(?i)([^a-z0-9]*?)([a-z0-9]{2} ){6}/i", "\\1 {$uniquekey} ", $output[$a] );				$output[$a] = &explode( " {$uniquekey} ", $output[$a] );				$uniquekey = Array( trim( $output[$a][0] ), trim( $output[$a][1] ) );				$macaddress = &str_replace( $uniquekey, "", $macaddress );				return trim( $macaddress );			}		}		return 'not found';	}	/**	 * Private method __client_macaddress. Returns client mac-address if is readable.	 *	 *		NtMacAddress->__client_macaddress():String	 *	 * @param	no	 * @return	String		Client Mac-Address if is readable, 'not found' otherwise	 */	function __client_macaddress() {		$output = Array();		exec( 'nbtstat -A '.$_SERVER['REMOTE_ADDR'], $output );		$reg = '([a-f0-9]{2}\-){5}([a-f0-9]{2})';		for( $a = 0, $b = &count( $output ); $a < $b; $a++ ) {			if( preg_match( "/(?i){$reg}/", $output[$a] ) == true ) {					return preg_replace( "/(?iU)(.+)({$reg})(.*)/", "\\2", $output[$a] );			}		}		return 'not found';	}}		$mac = &new NtMacAddress(); 		echo 'SERVER MAC: '.$mac->getMac( 'server' ).'<br />CLIENT MAC: '.$mac->getMac( 'client' );?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

pro linux vcs precirão encontrar uma função linux equivalente a:"nbtstat"exec( 'nbtstat -A '.$_SERVER['REMOTE_ADDR'], $output );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi. estou testando este script e ta dando a seguinte mensagem...

SERVER MAC: not found

CLIENT MAC: not found

 

Onde estou errando..? o endereço do script é esse.. http://www.melhore.org.br/teste.php

 

Só copiei e colei.. O servidor de Hospedagem é linux...

 

Ajuda aqui .. Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você ler o tópico todo, verá que foi falado que em máquinas rodando o Linux não está dando para pegar o MAC address. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Puxa, isso eu não sei te responder, talvez alguém no fórum possa saber.Você manja de Linux?Seria muito interessante saber se isso é possível fazer com máquinas usando Linux, mas não sei se dá. :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

O comando pra exibir dados de rede (e MAC) no linux é o ifconfig

 

ifconfig -a

O retorno é conforme o indicado na página http://www-dcn.fnal.gov/DCG-Docs/mac/linux.html .

 

Daí agora é só voces viciados em tratar string, fazerem os cortes necessários. hehaeh

 

Falows. Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Micox,Mas para isso tem-se que possuir as permissões no sitema como root e a senha do mesmo, né?Aí é que complica, como conseguir acessar essa informação, né? :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah cara aí tem que chamar alguem que entende do lance de verdade. hehaehMas acho (ACHO) que é só colocar o server php pra rodar no modo root.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother'sPara executar o comando IFCONFIG, não é preciso ter permissão de administrador.Se você simplesmente executar IFCONFIG, ele vai dar que o comando nao existe.Então, você tem que colocar o caminho completo deste arquivo.. aí ele vai funfar..o Caminho.. (nao sei se é padrão.. mas acredito que sim..) aqui é:/SBIN/IFCONFIGEntao.. acho que dando um shell_exec no php.. chamando akele caminho que eu falei ali.. deve funcionar na boa!Testem ae.. e depois postem pra nóis..PS: Nao entendo muito de php.. mas de linux eu me viro heheAbraços--------micoxColocar o server php pra rodar como root.. nao é aconselhávelNa verdade, seria colocar o Servidor Web rodar como root. Mas por motivos de segurança não é aconselhável. E, provavelmente, seria necessario recompilar o apache.. e isso nao é tao simples assim, heheSe fosse o caso.. eu aconselharia, a utilizar o pacote SUDO, que funcionaria beleza.Eu uso aqui nos meus php's dentro do linux.. pra executar comandos de root, e funciona beleza

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.