Blz cara, vou testar
Ainda hj posto o resultado
vlw
Versão Imprimível
Blz cara, vou testar
Ainda hj posto o resultado
vlw
Galera, deu certo depois de desativar o SELinux, consigo pegar o mac com $mac = shell_exec('arp -a $ip'), só que a função $_SERVER['REMOTE_ADDR'], que joga o retorno na variável ip(Ex: $ip = $_SERVER['REMOTE_ADDR']; ), retorna o ip do servidor que roda o apache. Já tentei usar $_SERVER['HTTP_CLIENT_IP'], mas nao funfou. Será o q pode ser? Vc's tem alguma ideia? Por favor, da uma força ai.
vlw
Rapaiz tive esse problema tb, aqui resolvi assim:
Use o Comando "EXEC"
e adicione na ultima linha do arquivo /etc/sudoers
www-data ALL=(ALL) NOPASSWD: ALL
e de o "exec" no php como sudo e vai funcionar.
***OBS.: Caso este post tenha sido util agradeça.
eu estou usando o php no windows, estes comandos que vc passaram é para o linux, eu já consegui uns avanços, eu consigo ver todos os macs e ips que estão acessando a minha rede, mas não consigo associa-los a um nome valido, ate cheguei perto mas tanto faz eu por um ip da rede ou não ele sempre mosta como on,
Radio Mac IP Status
Paloma 00:ff:62.1d:c1:50 10.10.99.109 On Line
Paulo 00:fc:88:44:44:ca 70.99.99.257 On Line (este endereço não existe mas ele mostra com on)
usando o comando ping ele me dá a seguinte resposta
Disparando contra 10.0.0.253 com 32 bytes de dados:
Resposta de 10.0.0.253: bytes=32 tempo=10ms TTL=255
Resposta de 10.0.0.253: bytes=32 tempo=17ms TTL=255
Resposta de 10.0.0.253: bytes=32 tempo=2ms TTL=255
Resposta de 10.0.0.253: bytes=32 tempo=17ms TTL=255
Estat¡sticas do Ping para 10.0.0.253:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda),
Aproximar um n£mero redondo de vezes em milissegundos:
M¡nimo = 2ms, M ximo = 17ms, M‚dia = 11ms
usando o comando arp
ele me mostra todos os pc conectados a rede conforme diz abaixo:
Interface: 10.0.100.1 --- 0x10004
Endere‡o IP Endere‡o f¡sico Tipo
10.0.0.253 00-4f-62-1c-a9-e0 dinƒmico
10.0.10.254 00-21-91-c9-14-39 dinƒmico
eu queria poder mesmo que manualmente, associar o nome do host e ao inves do dinamico aparece on ou off
tentei tbm a seguinte sintax:
$status = shell_exec("ping -n 2 10.0.10.1");
if(!ereg("bytes from",status)){
echo "On Line"."<br>";
}else{
echo "Off Line";
echo "<pre>$status</pre><br>";
}
echo "<br>";
echo "<br>";
}
o que eu queria é que no campo status a cada tempo que eu determinasse atreves de um wilhe ou de um refresh ele mostrasse se esta ou não on line.
o que eu estou fazendo de errado?
existe um exemplo bem proximo do que eu quero no seguinte site:
http://www.hostingcia.info/Ping/
Lembrando estou usando o windows e php
Bom dia galera.......
Depois de muita pesquisa, conseguir o objetivo, ai vai:
....
....
....
//Pega o ip do cliente
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
//Joga a saída do comando na matriz out
exec("arp -a ".$ip." ", $out);
//tamanho da string dentro do vetor na posição zero
$tamanho = strlem($out[0]);
//retorna o mac, definindo a posição inicial($tam - 33) mais a quantidade de caracteres a partir da posição inicial(17)
$mac = substr($out[0], $tam - 33, "17");
echo "O mac e: $mac";
....
....
....
Vlw, agradeço a colaboração de todos......