So finden Sie heraus, welche anderen Computer mit dem lokalen Netzwerk verbunden sind

27

Wie kann ich eine Liste aller Maschinen anzeigen, die im LAN verfügbar sind, zu dem ich gehöre?

Tshepang
quelle

Antworten:

28

Wie viel wissen Sie über das betreffende LAN? Ich gehe davon aus, dass Sie nichts wissen, was nur in das Kabel eingesteckt oder mit WLAN verbunden ist.

  1. Fordern Sie eine IP-Adresse mit DHCP an. Bekommst du einen? Dann wissen Sie bereits ein paar Dinge: die Gateway-IP, die DHCP-Server-IP, die Subnetzmaske und möglicherweise DNS-Server.
  2. Wenn Sie keinen bekommen, gibt es entweder keinen DHCP-Server oder das Netzwerk ist MAC-gefiltert.
  3. Beginnen Sie in beiden Fällen mit der Erfassung von Paketen mit Wireshark . Wenn Sie drahtlos oder mit einem Hub verbunden sind, ist dies ganz einfach. Wenn Sie mit einem Switch verbunden sind, können Sie versuchen, das MAC-Flooding wieder in den "Hub-Modus" zu versetzen. Ein intelligenterer Switch deaktiviert jedoch nur Ihren Port. Wenn Sie es trotzdem versuchen möchten, kann ettercap dies für Sie tun. (Oder Macchanger und ein Shell-Skript :))
  4. Wenn Sie sich die Pakete ansehen, können Sie IP-Adressen finden, aber vor allem können Sie die Netzwerkparameter erraten. Wenn Sie vermuten, dass die MAC-Filterung aktiv ist, ändern Sie Ihre MAC-Adresse nach dem Verlassen in eine der beobachteten Adressen (sendet eine Weile lang nichts).
  5. Wenn Sie eine gute Vorstellung von der Netzwerkkonfiguration (Netzmaske, Gateway usw.) haben, scannen Sie mit nmap. Nmap kann viel mehr, als -sPwenn einige Hosts nicht auf Ping antworten (siehe Dokumentation ). Es ist wichtig, dass nmap nur funktioniert, wenn Ihre Netzwerkeinstellungen und Routen korrekt sind.
  6. Mit dem Leerlauf-Scan von nmap können Sie möglicherweise noch mehr Hosts finden .

Einige (die meisten?) Systemadministratoren mögen einige der oben genannten Methoden nicht. Stellen Sie daher sicher, dass sie zulässig sind (z. B. Ihr Netzwerk). Beachten Sie auch, dass Ihre eigene Firewall einige dieser Methoden verhindern kann (sogar das Abrufen einer IP mit DHCP). Überprüfen Sie daher zuerst Ihre Regeln.

Nmap

Hier erfahren Sie, wie Sie mit nmap grundlegende Hostermittlungen durchführen . Wie ich bereits sagte, sollte Ihre Netzwerkkonfiguration korrekt sein, wenn Sie dies versuchen. Angenommen, Sie sind 192.168.0.50 und befinden sich in einem / 24-Subnetz. Ihre MAC-Adresse darf eine Verbindung herstellen usw. Ich möchte, dass wireshark ausgeführt wird, um zu sehen, was ich tue.

Zuerst möchte ich den Listenscan ausprobieren, bei dem nur versucht wird, die PTR-Einträge im DNS für die angegebenen IP-Adressen aufzulösen. Es wird nichts an die Hosts gesendet, daher kann nicht garantiert werden, dass das Gerät wirklich verbunden oder eingeschaltet ist, aber es besteht eine gute Chance. Dieser Modus benötigt natürlich einen DNS-Server, der bereit ist, mit Ihnen zu sprechen.

nmap -vvv -sn -sL 192.168.1.0/16

Dies kann nichts finden oder es kann Ihnen sagen, dass jede einzelne IP aktiv ist.

Dann gehe ich normalerweise zum ARP-Scan. Es sendet ARP-Anfragen (Sie sehen sie wie "Who has <target IP>? Tell <your IP>"in Wireshark). Dies ist ziemlich zuverlässig, da niemand ARP filtert oder fälscht. Der Hauptnachteil ist, dass es nur in Ihrem Subnetz funktioniert.

nmap -vvv -sn -PR 192.168.1.0/24

Wenn Sie etwas hinter Routern oder Firewalls scannen möchten, verwenden Sie SYN- und ACK-Scans. SYN baut eine TCP-Verbindung auf und Sie erhalten entweder eine RST- oder eine SYNACK-Antwort. In beiden Fällen ist der Host aktiv. Möglicherweise wird die ICMP-Kommunikation gesperrt oder ähnliches, wenn eine Firewall vorhanden ist. Die meiste Zeit, wenn eine Firewall Ihre Pakete gefiltert hat, erhalten Sie nichts. Einige Arten von Firewalls filtern nur die TCP-SYN-Pakete und lassen jedes andere TCP-Paket durch. Aus diesem Grund ist der ACK-Scan hilfreich. Sie erhalten eine RST-Antwort, wenn der Host aktiv ist. Da Sie nicht wissen, welche Firewall installiert ist, versuchen Sie beides.

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

Dann können Sie natürlich die ICMP-basierten Scans mit -PE -PP -PM verwenden.

Eine andere interessante Methode ist -PO mit einer nicht vorhandenen Protokollnummer. Häufig werden auf Firewalls nur TCP und UDP berücksichtigt, und niemand testet, was passiert, wenn Sie ein unbekanntes Protokoll ausprobieren. Sie erhalten ein ICMP-Protokoll, das nicht erreichbar ist, wenn der Host aktiv ist.

nmap -vvv -sn -PO160 10.1.2.0/24

Sie können nmap auch anweisen, die Hosterkennung (-Pn) zu überspringen und auf jedem Host einen Portscan durchzuführen. Dies ist sehr langsam, aber möglicherweise finden Sie andere Hosts, die bei der Hostermittlung aus irgendeinem Grund übersehen wurden.

stribika
quelle
Dies sieht nach einer hervorragenden Antwort aus, und jetzt muss ich Sie bitten, mich mit einem Löffel zu füttern, indem Sie angeben, welche Befehle für jede Aufgabe ausgeführt werden sollen. Ich interessiere mich speziell für die Verwendung von Nmap zur Beantwortung meiner Frage (
zwinge
5
@ Tshepang: Ich habe einige nmap-Beispiele hinzugefügt, aber ich hoffe, Sie erwägen, die Dokumente zu lesen. Nmap ist eines der besten Netzwerk-Tools und die Dokumentation ist gut geschrieben. Es ist wirklich die Zeit wert.
Stribika
9

Ich mag den ip neighBefehl, der mit IpRoute2 kommt.

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

Ich denke jedoch, dass es nur mit arp-able Knoten funktioniert.

Xenoterracid
quelle
Was genau macht es? Für mich listet es nur ein paar Einträge.
Tshepang
Ich denke, es sendet nur eine Arp an die Broadcast-IP und listet auf, was reagiert. Ehrlich gesagt weiß ich nicht, wie es funktioniert.
Xenoterracide
1
man ipzeigt, was der Nachbar macht.
slm
9

Installieren Sie nmap und führen Sie es aus nmap -sP <mynetwork>.

Keith
quelle
Ich verstehe Nmap done: 1 IP address (1 host up) scanned in 0.01 seconds.
Tshepang
1
@ Tshepang - Ich habe nmap -sP 192.168.0.*und es gab eine Liste der Ausgabe des Formulars:Nmap scan report for justin-desktop2 (192.168.0.61) Host is up (0.00056s latency).
Justin Ethier
@justin Ich verwende Version 5.00 und es werden jetzt eine Reihe von Computern in meinem Netzwerk mit dem Formular angezeigt Host 192.168.2.23 is up (0.0088s latency)..
Tshepang
3
Womit soll ich <mynetwork> ersetzen?
Tshepang
@tshepang Die Netzwerknummer mit auf Null gesetztem Host-Teil und einer CIDR-Maske. Wie folgt: 192.169.1.0/24
Keith
0

Für beide Antworten: NO nmap erforderlich / NO sudo erforderlich .

Antwort 1

$ arp

Antwort 2

Aufbauend auf Xenoterraciden antworten Sie mit ip neighund 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))

Herunterladen über

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