Obter IP e MAC Address da rede inteira salvando em log
Dica publicada em Linux / Comandos
Obter IP e MAC Address da rede inteira salvando em log
Após quebrar a cabeça e testar várias opções mirabolantes para obter todos os IPs, nomes e MACs da rede, cheguei ao seguinte resultado, utilizando nmap e egrep:
sudo nmap -sP 192.168.1-10.1-255 | egrep -i '(Host|MAC)' >> ipmac.txt
Observações:
O que não consegui foi salvar o resultado do comando com o host e o MAC em uma mesma linha e testar esta opção para também procurar em hosts com o firewall ativado.
Espero ter ajudado.
sudo nmap -sP 192.168.1-10.1-255 | egrep -i '(Host|MAC)' >> ipmac.txt
Observações:
- -sP - para efetuar somente um ping com o nmap
- egrep -i - procura no resultado do comando nmap em maiúsculas ou minúsculas os nomes Host e MAC
- >> ipmac.txt - salva o resultado do comando em um arquivo
O que não consegui foi salvar o resultado do comando com o host e o MAC em uma mesma linha e testar esta opção para também procurar em hosts com o firewall ativado.
Espero ter ajudado.
=================================
#! /bin/env python
#!-*- coding: utf-8 -*-
from commands import getstatusoutput
logFile='ipmac.txt'
nets='192.168.200.1-255'
command="sudo nmap -sP %s | egrep -i '(Host|MAC)' >> %s" % (nets, logFile)
status, output = getstatusoutput(command)
newLines = ''
if int(status) == 0:
print 'ok'
for line in file(logFile).readlines():
if 'Host ' in line:
newLines += line.rstrip()+" "
else:
newLines += line.strip()+"\n"
else:
print "Problema com o comando nmap"
print output
FILE = open(logFile, 'w')
FILE.writelines(newLines)
FILE.close()
=============================
Se o vol não respeitar as identações não vai funcionar. Veja aqui http://pastebin.com/W4gXkM2K este é funcional
Valdinei dos Santos
http://valdineidossantos.com/
http://twitter.com/valdineisantos/
Abraços.