web-dev-qa-db-fra.com

Comment trouver ce que les autres machines sont connectées au réseau local

Comment puis-je voir une liste de toutes les machines disponibles sur le réseau local que je suis faisant partie de.

27
tshepang

Combien savez-vous sur le réseau local en question? Je suppose que vous ne savez rien simplement branché sur le câble ou connecté au wifi.

  1. Essayez de demander une adresse IP avec DHCP. En obtenez-vous un? Ensuite, vous connaissez déjà quelques éléments: la passerelle IP de la passerelle, l'IP du serveur DHCP, le masque de sous-réseau et peut-être des serveurs DNS.
  2. Si vous n'obtenez pas, il n'y a aucun serveur DHCP ou que le réseau est filtré Mac.
  3. De toute façon, commencez à capturer des paquets avec Wireshark . Si vous êtes sur le sans fil ou connecté à un hub, c'est facile. Si vous êtes connecté à un commutateur, vous pouvez essayer inondation Mac pour le retourner sur "Mode hub", mais un commutateur plus intelligent désactivera votre port. Si vous voulez l'essayer de toute façon Ettercap peut le faire pour vous. (Ou macchanger et un script shell :))
  4. En regardant les paquets, vous pouvez trouver des adresses IP, mais surtout, vous pouvez deviner les paramètres réseau. Si vous soupçonnez que le filtrage de Mac change votre adresse MAC à l'un des observés après son départ (n'envoie rien pendant un moment).
  5. Lorsque vous avez une bonne idée de la configuration réseau (Netmask, passerelle, etc.), utilisez NMAP pour numériser. Nmap peut faire beaucoup plus que -sP Si certains hôtes ne répondent pas à ping (check out la documentation ). Il est important que NMAP ne fonctionne que si vos paramètres de réseau et vos itinéraires sont corrects.
  6. Vous pouvez éventuellement trouver encore plus d'hôtes avec NMAP Scan inactif .

Certains administrateurs système (la plupart?) N'aiment pas quelques-unes des méthodes ci-dessus, assurez-vous que cela est autorisé (par exemple, c'est votre réseau). Notez également que votre propre pare-feu peut empêcher certaines de ces méthodes (même obtenir une adresse IP avec DHCP), alors vérifiez d'abord vos règles.

NMAP

Voici comment faire de base Discovery hôte avec NMAP . Comme je l'ai dit que votre configuration réseau doit être correcte lorsque vous essayez ceci. Disons que vous êtes 192.168.0.50 Vous êtes sur le sous-réseau A/24. Votre adresse MAC est une chose qui est autorisée à se connecter, etc. J'aime faire fonctionner WireShark pour voir ce que je fais.

J'aime d'abord essayer la numérisation de la liste, qui n'effectue que pour résoudre les enregistrements PTR dans DNS pour les adresses IP spécifiées. Il n'enverbe rien aux hôtes, il n'ya donc aucune garantie qu'il est vraiment connecté ou allumé, mais il y a de bonnes chances. Ce mode nécessite évidemment un serveur DNS qui est prêt à vous parler.

nmap -vvv -sn -sL 192.168.1.0/16

Cela peut ne rien trouver ou peut vous dire que chaque adresse IP est en place.

Ensuite, je vais habituellement pour Scan ARP. Il envoie des demandes ARP (vous les voyez comme "Who has <target IP>? Tell <your IP>" Dans Wireshark). Ceci est assez fiable depuis que personne filtres ou FAKES ARP. L'inconvénient principal est qu'il ne fonctionne que sur votre sous-réseau.

nmap -vvv -sn -PR 192.168.1.0/24

Si vous souhaitez scanner quelque chose derrière les routeurs ou les pare-feu, utilisez Syn et ACK Scanns. SYN Démarre une connexion TCP et vous obtenez soit une TVR, soit une synack en réponse. De toute façon l'hôte est en place. Vous pourriez obtenir une communication ICMP interdite ou quelque chose comme ça s'il y a un pare-feu. La plupart du temps si un pare-feu filtré vos paquets, vous n'obtiendrez rien. Certains types de paquets de pare-feu ne filtrent que les paquets Syn TCP et laissent tous les autres TCP paquet. C'est pourquoi l'analyse ACK est utile. Vous obtiendrez RST en réponse si l'hôte est en place. Puisque vous ne savez pas ce que le pare-feu est en place, essayez les deux.

nmap -vvv -sn -PS 10.1.2.0/24
nmap -vvv -sn -PA 10.1.2.0/24

Ensuite, bien sûr, vous pouvez utiliser les analyses ICMP avec -pe -pp -pp -pm.

Une autre méthode intéressante est -po avec un numéro de protocole inexistant. Souvent, seul TCP et UDP est pris en compte sur des pare-feu et des tests midiques, que se passe-t-il lorsque vous essayez un protocole inconnu. Vous obtenez un protocole ICMP inaccessible si l'hôte est en hausse.

nmap -vvv -sn -PO160 10.1.2.0/24

Vous pouvez également dire à NMAP de sauter la découverte d'hôte (-PN) et faire un PortScan sur chaque hôte. C'est très lent mais vous pourriez trouver d'autres hôtes que la découverte de l'hôte manquait pour une raison quelconque.

28
stribika

Installation NMAP et exécutez nmap -sP <mynetwork>.

9
Keith

J'aime le ip neigh commande, qui vient avec iproute2.

ip neigh
192.168.1.1 dev eth0 lladdr 00:1d:7e:f8:21:66 REACHABLE

Cependant, je pense que cela ne fonctionne que avec des nœuds arp.

9
xenoterracide

Pour les deux réponses: Aucun NMAP requis/pas de sudo requis.

Réponse 1

$ arp

Réponse 2

Bâtiment sur Xenoterracides Réponse avec ip neigh et hosts:

#!/usr/bin/env python

"""List all hosts with their IP adress of the current network."""

import os

out = os.popen('ip neigh').read().splitlines()
for i, line in enumerate(out, start=1):
    ip = line.split(' ')[0]
    h = os.popen('Host {}'.format(ip)).read()
    hostname = h.split(' ')[-1]
    print("{:>3}: {} ({})".format(i, hostname.strip(), ip))

Télécharger via

wget https://Gist.githubusercontent.com/MartinThoma/699ae445b8a08b5afd16f7d6f5e5d0f8/raw/577fc32b57a7f9e66fdc9be60e7e498bbec7951a/neighbors.py
0
Martin Thoma