Wie scanne ich ein lokales Netzwerk nach SSH-fähigen Computern?

34

Ich befinde mich häufig an einem Computer in meinem Haus und würde gerne einen SSH-Vorgang für einen anderen ausführen, kenne jedoch häufig nicht die IP-Adresse des Computers, zu dem ich eine Verbindung herstellen möchte. Gibt es eine Möglichkeit, über die Befehlszeile das lokale Netzwerk zu scannen, um den Computer zu finden, mit dem ich eine Verbindung herstellen möchte?

Andrew
quelle
> Aber oft weiß ich nicht, mit welcher IP-Adresse ich mich verbinden möchte Ist das nicht der Grund, warum DNS erfunden wurde?
Chris McKeown
1
Wenn Sie nicht wissen, welche Computer mit dem Netzwerk Ihres Hauses verbunden sind, haben Sie möglicherweise ein Problem ...
Massimo
1
... und woher weißt du, dass du in den richtigen hineinschaust? Es ist Zeit, Ihre IP-Adressen / Namenssuchen zu sortieren.
Symcbean
2
Zur Verteidigung von Andrew: Ja, es ist wünschenswert, unveränderliche IP-Adressen im DHCP-Lease festzulegen und lokale Namen zu haben. Betrachten Sie jedoch den realen Fall, in dem ich gerade einen kopflosen Ubuntu-PC ins Büro getragen und angeschlossen habe. Bei der ersten Verbindung wollte ich die IP finden, ohne eine Tastatur und einen Monitor dabei zu haben. Auf die Frage von symcbean hin war es einfach, den richtigen PC anhand der MAC-Adressdecodierung (automatisch von nmap / Zenmap durchgeführt) des Motherboard-Herstellers und des verwendeten Betriebssystems zu ermitteln. Manchmal kennen Sie die IP nicht und müssen sie finden.
Phrogz

Antworten:

23

Verwenden Sie " nmap " - hier erfahren Sie, welche Hosts in einem Netzwerk aktiv sind und auf welchen tatsächlich Port 22 offen ist. Sie können es mit einigen anderen Tools (wie grep) kombinieren, um bei Bedarf eine gezieltere Ausgabe zu erzielen.

Hinweis: Tun Sie dies nur in IHREM Netzwerk. Das Aufrufen von nmap oder seiner Entsprechungen im Netzwerk eines anderen gilt als fehlerhaft.

Tom Newton
quelle
Verwenden Sie BluePortScan, wenn Sie eine einfachere Sache als nmap
Gk möchten.
4
Diese akzeptierte Antwort hat nicht einmal eine einfache Beispielzeile
hmedia1 20.10.18
74

Über die Befehlszeile können Sie Folgendes verwenden:

sudo nmap -sS -p 22 192.168.10.0/24

Ersetzen Sie den lokalen Adressraum in Ihrem Netzwerk. Ich benutze dies manchmal, wenn ich einen kopflosen Himbeer-Pi einstecke und herausfinden möchte, wohin ich ssh soll.

Joe ZzZ
quelle
3
Genau einer der Anwendungsfälle, die mich dazu veranlassen, diese Frage zu stellen. Vielen Dank!
Andrew
+1 Auch für Himbeer-Pi verwenden, aber:sudo nmap -sS -p 22 192.168.10.0/24
Gtx
26
nmap -p 22 --open -sV 192.168.178.0/24
Motsel
quelle
Wie unterscheidet sich das von den anderen Antworten? Woher wissen wir, dass dies mein lokales Netzwerk ist?
Küken
1
Es ist nicht erforderlich sudound kann mit Android NetworkMapper
Vadym Tyemirov
2
Ich bevorzuge diese Antwort. Die Zugabe von --openviel Rohöl aus der Ausgabe entfernt und zeigte mir tatsächlich die Maschine, die ich suchte.
Duncan Jones
3

Sie können jede IP-Adresse an Port 22 manuell telneten.

Bei Erfolg sollte die OpenSSH-Versionszeichenfolge angezeigt werden.

Die Überprüfung jeder IP-Adresse im Subnetz kann mithilfe der For-Direktive erfolgen.

Hector Luis Gimbatti
quelle