É possível encontrar uma lista de máquinas e / ou endereços IP conectados à rede local?

2

Estou usando o linux. Como você costuma encontrar máquinas na rede local?

    
por Fragsworth 08.10.2009 / 04:18

8 respostas

9

Claro, instale o nmap e execute:

nmap -sP 192.168.0.1-254

É claro que você precisará substituir o intervalo de IPs pelos valores apropriados para sua rede.

    
por 08.10.2009 / 05:44
5

Eu acho que a abordagem correta seria inspecionar a LAN em um nível mais baixo do que o IP, então a varredura do ARP é uma escolha melhor.

Veja minha resposta a essa pergunta duplicada , eu sugeri nast -m .

    
por 08.10.2009 / 10:59
2

Muitos métodos são possíveis. Gostaria de começar com um exame nmap .

    
por 08.10.2009 / 04:23
2

Use o arpwatch , ele permite que você encontre outras máquinas sem varrer a rede

    
por 08.10.2009 / 14:19
1

Como uma alternativa para a varredura de sua rede, se você tiver acesso ao switch ou roteador, você pode verificar o roteador diretamente para sua tabela arp, que deve listar todas as máquinas conectadas e seus endereços MAC. Se você está apenas procurando mapear sua rede e ver o que está on-line, essa pode ser uma solução melhor / mais fácil.

Se você tiver um roteador / switch decente, também poderá obter essas informações por meio do SNMP, em vez de fazer login diretamente no equipamento, o que tem seu próprio conjunto de vantagens quando se trata de mapear regularmente sua rede.

    
por 08.10.2009 / 05:58
1

Uma boa ferramenta gráfica é a rede Auto Scan ( link ). Também mostra portas abertas. Para o Windows, sugiro Look @ lan, que faz a mesma coisa.

    
por 08.10.2009 / 15:23
1

Concordo nmap e arpwatch são boas ferramentas, você também pode usar fping .
Aqui eu completei um script python existente do bortzmeyer que faz o trabalho para você, o script é muito rápido. mas primeiro você precisa instalar o módulo ipcalc e psyco


import os, sys, re
from threading import Thread
import psyco, ipcalc

class ping(Thread): def init(self, ip, version): Thread.init(self) self.ip =ip self.version=version self.tab=("No response", "Partial Response", "Alive")

  def run(self):
    try:
        if self.version==4: req=os.popen("ping -c2 -q "+self.ip, "r")
        elif self.version==6: req=os.popen("ping6 -c2 -q "+self.ip, "r")
        while 1:
            reponse=req.readline()
            if not reponse: break
            stat = re.findall(re.compile("(\d) received"), reponse)
            if stat:
                print "Status ", self.ip, " ",self.tab[int(stat[0])]

    except:
         raise sys.stderr.write("Error in ping.\n")
         sys.exit(-1)

se __name __ == '__ main__':     psyco.full ()     experimentar:       address = sys.argv 1       if address.find ('/') > 0:         net = ipcalc.Network (endereço)       outro:         net = [endereço]       para ip na net:         p = ping (str (ip), 4)         p.start ()     exceto:       passar

    
por 08.10.2009 / 14:24
0

Eu uso (estará disponível para download quando estiver pronto) uma ferramenta que eu escrevi que lida com a administração de DNS / DHCP e SNMP dos switches. Se algo não estiver no DHCP, eu pelo menos recebo um endereço MAC do switch, mas tomamos uma decisão política de colocar tudo no DHCP, mesmo se as próprias máquinas estiverem estaticamente IPed, para ajudar no rastreamento do espaço de endereço.

Se você está falando sobre encontrar algo que talvez você não tenha colocado lá, eu concordaria com o nmap. Ou, se você está preocupado com questões legais / políticas, apenas um script que envolve o ping ...

    
por 08.10.2009 / 23:57