Pesquisar este blog

quinta-feira, 19 de março de 2015

Usando o nmap para pegar o IP e MAC Address


Fiz um script para pegar o IP e o MAC de um range de IPs, é necessário quando você quer saber todos os Set-Top-Box que estão na rede, e enviar comandos de atualização, ou se comunicar com um Set-Top-Box específico.


Nesse primeiro script quero pegar um IP através de um MAC específico em um range de ips:

# Importa a api do NMAP
import nmap

# Instancia o objeto nmap.PortScanner.
nm = nmap.PortScanner()

# host 127.0.0.1, portas de 1 a 255
cidr2='127.0.0.1-255'

# insere os argumentos ao objeto nm usando a funcao scan.
a=nm.scan(hosts=cidr2, arguments='-sP')

# Trata os dados
for k,v in a['scan'].iteritems():
    if str(v['status']['state']) == 'up':

        try:
            if (str(v['addresses']['mac'])=="68:15:90:78:F7:23"):
                    print "IP: " + str(v['addresses']['ipv4'])
        except:
            pass


-------------------------------------------------------------------------------------------------------------------
# Nesse script vai listar todos os dados encontrados.
# Pode remover print str(v), nesse caso vai exibir a lista de ips e macs da rede.
import nmap

nm = nmap.PortScanner()
cidr2='192.168.1.99/24'

a=nm.scan(hosts=cidr2, arguments='-sP')

for k,v in a['scan'].iteritems():
    if str(v['status']['state']) == 'up':
        print str(v)
        try:    print str(v['addresses']['ipv4']) + ' => ' + str(v['addresses']['mac'])
        except: print str(v['addresses']['ipv4'])





Links Relacionados:

http://searchsecurity.techtarget.com/tip/How-to-install-and-configure-Nmap-for-Windows
http://pydoc.net/Python/python-libnmap/0.6.2/
https://pypi.python.org/pypi/python-libnmap/


Install
 Você pode instalar via pip:
  • pip install libnmap
 
ou via git:
  • $ git clone https://github.com/savon-noir/python-libnmap.git
    $ cd python-libnmap
    $ python setup.py install
    

É necessário instalar o nmap no sistema operacional:
https://nmap.org/download.html