Comando arp -a [RESOLVIDO]

13. Re: Comando arp -a [RESOLVIDO]

Vinícius Pedra
viniciuspedra

(usa Debian)

Enviado em 10/11/2011 - 11:55h

legal esse seu comando adri3d!!!
Simplifica e muito, até mesmo agora eu vou estudar a possibilidade de não precisar do endereço de IP...
O MAC já informa quem é a pessoa!


  


14. Re: Comando arp -a [RESOLVIDO]

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 10/11/2011 - 12:15h

vendo a ajuda do arp "$arp --help"
vi que o parametro "-e" é mais interesante
aproveitando trecho que rai3mb postou mais awk chegei a isso

um unico script pra toda tarefa, so no mysql tem que adicionar a data e a hora

#!/bin/bash

#o grep ether é para não listar o cabeçalho
for LINHA in $( arp -e | grep ether ); do
#filtra o IP
IP=$(echo "$LINHA" | awk '{print $1}')
#filtra o MAC
MAC=$(echo "$LINHA" | awk '{print $3}')
#ou Usa em instrução para o mysql
mysql -u USUARIO -pSEMHA -e "INSERT INTO tabela(ip,mac) VALUES('$IP','$MAC')"
done






15. Re: Comando arp -a [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 10/11/2011 - 12:23h

@adri3d

fazendo assim:
$ arp -a | awk '{print $1}'
vai retornar isso
?
?
E assim:
arp -a | awk '{print $2}'
Isso:
(192.168.0.103)
(192.168.0.1)

Por isso usei o egrep anterior ;-)



16. Re: Comando arp -a [RESOLVIDO]

Vinícius Pedra
viniciuspedra

(usa Debian)

Enviado em 10/11/2011 - 12:26h

soh para complicar um pouco... tem como esses scripts que estão listando, o proprio comando fazer um insert em um banco de dados em outro servidor, em outra rede, por exemplo, em um servidor com um banco de dados nos EUA por exemplo?


17. Re: Comando arp -a [RESOLVIDO]

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 10/11/2011 - 12:28h

rai3mb escreveu:

@adri3d

fazendo assim:
$ arp -a | awk '{print $1}'
vai retornar isso
?
?
E assim:
arp -a | awk '{print $2}'
Isso:
(192.168.0.103)
(192.168.0.1)

Por isso usei o egrep anterior ;-)


tente com o todo poderoso "arp -e"


18. Re: Comando arp -a [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 10/11/2011 - 12:36h

Desculpa ae nem percebi o '-e' ;-)

Sobre a execução do comando SQL do mysql remotamente, veja

$ mysql -h HOST -u USUARIO -e pSENHA "SQL"
Exemplo:
$ mysql -h 10.0.0.1 -u USUARIO -e pSENHADIFICIL "SQL"

para mais:

$ man mysql






19. Re: Comando arp -a [RESOLVIDO]

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 10/11/2011 - 12:37h

viniciuspedra escreveu:

soh para complicar um pouco... tem como esses scripts que estão listando, o proprio comando fazer um insert em um banco de dados em outro servidor, em outra rede, por exemplo, em um servidor com um banco de dados nos EUA por exemplo?


uma posibilidade é fazer uma requisição http


wget http://meuServidor.xxx/meuArquivoPHP.php?mac=xxxxxxxxx&ip=xxxxxxxxxxxx

essa pagina pega os parametros e sevira com o resto



20. Re: Comando arp -a [RESOLVIDO]

fenix
aldisseia

(usa Debian)

Enviado em 22/03/2014 - 12:40h

viniciuspedra escreveu:

vamos lá...

partindo então dos dados do arquivo que o comando arp -a salvou, fiz a seguinte gambiarra...

<?
$arquivo = "arquivo_salvo.txt";

$meuArray = file("$arquivo");

for ($n=0; $n < count($meuArray); $n++)
{}

@abre = fopen("$arquivo","r");
if (!$abre)
{
echo "Ops! Ocorreu um erro ao abrir o arquivo!";
exit;
}

for ($i=0; $i < $n; $i++)

{
$le = fgetss($abre,1024);
$le = explode("[ether]",$le);

$lido1 = strtoupper(trim($le[0]));

$result1 = str_replace("? (","",$lido1);
$result2 = str_replace(") EM","",$result1);

echo "$result2";
echo "<br>";

}
?>


Dae fica apenas pendente para finalizar, o insert no banco de dados que não é coisa dificil :D


Eu faria assim:


#pega o resultado do arp e coloca no arquivo result_arp.txt
arp -a > result_arp.txt

#depois deixava redondo para o PHP assim
cat result_arp | sed 's/(//g'| sed 's/)//g' | awk '{print $2, $4}' > mac_ip.txt


# em PHP assim:
#abre o arquivo mac_ip.txt
$ler = fopen ("mac_ip/.txt","r");

//dar uma lida no arquivo até o fim
while (!feof ($ler)) {
//LÊ UMA LINHA DO ARQUIVO
$pegou_mac_ip .= fgets($ler,1024);

}
//fecha
fclose ($ler);
Faz o tratamento $pegou_mac_ip para joga no mysql...








01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts