Alle Netzwerkdrucker auflisten (auch nicht installierte)

9

Mit diesem Befehl können Sie die bereits installierten Drucker einfach auflisten:

lpstat -a

Hier werden jedoch keine Netzwerkdrucker aufgelistet, die Sie NICHT installiert haben.

nmap sucht nach allen offenen Ports im LAN, die erstellte Liste ist jedoch nicht auf Netzwerkdrucker beschränkt:

sudo nmap -sT 192.168.0.1-254

Gibt es einen Befehl, der Folgendes ausführt:

  1. Erkennt das LAN, mit dem Sie gerade verbunden sind, automatisch.
  2. Durchsucht das gesamte LAN nach Netzwerkdruckern.
  3. Erstellt eine Liste von Netzwerkdruckern, die sowohl ihre Hostnamen als auch ihre IP-Adressen angeben.

Zum Beispiel habe ich mich heute bei der Weboberfläche des Imagistics fx2100-Druckers angemeldet. Es hatte eine "Gerät suchen" -Funktion, mit der alle Netzwerkdrucker im LAN gefunden werden konnten (siehe Abbildung unten). Es scheint, als gäbe es unter Linux einen Befehl, der dieselbe Liste und dieselben Informationen (ohne Skripterstellung) erzielen könnte:

Geben Sie hier die Bildbeschreibung ein

Lonniebiz
quelle
2
Das Problem hierbei ist, dass die Kriterien ("Netzwerkdrucker") nur für Menschen sinnvoll sind. Computerprogramme werden diese Idee nicht klar verstehen. Sie können versuchen, einen Netzwerk-Sweep für IP-Adressen durchzuführen, die erfolgreich eine Verbindung zum JetDirect-Port (tcp / 9100) herstellen. Bei Nicht-JetDirect-Druckern wie Desktop-Druckern, die über SMB gemeinsam genutzt werden, ist die Liste wahrscheinlich immer noch unvollständig.
Bratchley
1
Wie Sie bereits erwähnt haben, kann ein Programm offene Ports jeder IP im LAN scannen und sogar ein wenig mit diesen Ports sprechen, um Daten zu sammeln. Ich verstehe, wie das gemacht werden kann. Mir ist nur kein Befehlszeilenprogramm bekannt, das dies bereits tut (speziell für Drucker).
Lonniebiz
1
Sie können Sweeps durchführen, um eine Liste gültiger IP-Adressen zu finden und nczu überprüfen, ob eine Verbindung hergestellt werden kann tcp/9100. Sie müssten etwas schreiben, da dies ein sehr spezifisches Problem ist, das Sie lösen möchten. Ich bezweifle, dass jemand ein Werkzeug dafür geschrieben hat.
Bratchley

Antworten:

3

Es gibt kein Programm, das dies speziell tut, aber mit nmap -A(erweiterte Hosterkennung / Fingerabdruck) können möglicherweise die meisten Drucker identifiziert werden. Sie müssen es danach filtern.

Bis
quelle
11

Wenn der Avahi-Daemon ausgeführt wird,

avahi-browse -a | grep Printer
infoclogged
quelle
Dieser avahi-browse -aBefehl scheint dieselben Drucker mehrmals --allaufzulisten und lässt (auch mit dem Argument) relevante Informationen aus, die im obigen Screenshot angezeigt werden (wie die IP-Adresse des Druckers, den er auflistet). Es wundert mich, dass dieser "Imagistics fx2100-Drucker" eine Firmware enthält, die jedes Linux-Dienstprogramm übertrifft, das ich gesehen habe, wenn es darum geht, alle Drucker aller Marken aufzulisten (die nicht einmal installiert sind, aber Netzwerkdruck bieten).
Lonniebiz