Ich habe mithilfe von einen Netzwerkdrucker auf meinem Ubuntu 14.04-Rechner installiert system-config-printer
. Dieses GUI-Programm bietet die Funktion „Netzwerkdrucker suchen“, die das lokale Netzwerk durchsucht. Es gibt eine Liste mit Druckernamen zurück, die mit IP-Adressen verknüpft sind.
Nehmen wir also an, ich wähle eines aus und installiere es erfolgreich.
Nach einiger Zeit merke ich, dass der von mir installierte Drucker der falsche ist. Also führe ich den Vorgang noch einmal durch und ... oh Moment, da sind mehrere Drucker desselben Typs (und Namens) mit unterschiedlichen IP-Adressen!
Ok, kein Problem, lass uns einfach die IP des gerade installierten überprüfen, damit ich sichergehe, dass ich nicht wieder das falsche installiere. Die Frage ist also:wie erhalte ich die IP eines installierten Druckers?
Offensichtlich gewährt der Dialog „Eigenschaften“ (Beispiel unten) keinen Zugriff auf diese Informationen (nein, sie sind nicht in der URI-Zeile versteckt).
Auch die Verwendung des CUPS-Webservers über hat keinen Erfolg gebracht http://localhost:631
. Dies scheint grundsätzlich eine andere Möglichkeit zu sein, an dieselben Informationen zu gelangen.
Bearbeiten: Die Frage bezieht sich nicht auf den unten stehenden Drucker, sondern ist allgemeiner Natur: Da das Betriebssystem beim Erkunden des Netzwerks die IP-Adresse des Druckers abrufen kann, gehe ich davon aus, dass diese Information irgendwo gespeichert ist.Wo sind sie gespeichert und wie kann ich darauf zugreifen?Oder ist es vielleicht nirgendwo gespeichert?
Antwort1
Um zu erweitern@JUHs Lösung oben...
avahi-browse --all -t -r
Ist die richtige Lösung für die automatische Erkennung von Druckern.
Leider geben viele Drucker ihre IP-Adresse für Sie, den Endbenutzer, einfach nicht in einer nutzbaren Form preis. Das ist so beabsichtigt.https://www.cups.org/doc/network.html
Die meisten Netzwerkdrucker unterstützen ein Protokoll namens Bonjour, eine Kombination aus den Standards Zero-Configuration Networking (
ZeroConf
), Multicast DNS (mDNS
) und DNS Service Discovery (DNS-SD
). Diese wurden von der Internet Engineering Task Force (IETF) veröffentlicht, derselben Gruppe, die TCP/IP und alle Netzwerke definiert hat, die wir heute verwenden.
Zitat von der mDNS-Seite:
Wenn ein mDNS-Client einen Hostnamen auflösen muss, sendet er eine IP-Multicast-Abfragenachricht, in der der Host mit diesem Namen aufgefordert wird, sich zu identifizieren. Dieser Zielcomputer sendet dann per Multicast eine Nachricht, die seine IP-Adresse enthält. Alle Computer in diesem Subnetz können diese Informationen dann verwenden, um ihre mDNS-Caches zu aktualisieren. Jeder Host kann seinen Anspruch auf einen Namen aufgeben, indem er ein Antwortpaket mit einer Time-to-Live (
TTL
) gleich Null sendet.
Um die IP-Adresse eines mDNS-Druckers richtig zu finden, benötigen Sie ein Tool, das den Cache lesen kann.
Zitat aus einem der Kommentare des OP:
Danke. In meinem Fall
lpoptions
werden tatsächlich viele Informationen angezeigt, aber nicht die IP. Das betreffende Feld sieht aus wiedevice-uri=hp:/net/hp_LaserJet_2420?zc=HP2420ROOMXXX
, also wieder dasselbe, was ich von GUI-Tools bekomme. Ich gehe also davon aus, dass die IP nicht auf meinem Computer gespeichert ist ...
Dies ist avahi-browse
das beste Werkzeug für diese Aufgabe ... (oder wenn Sie hierher gekommen sind, um nach einem Dienstprogramm für den Mac zu suchen: Apple bietet eines mit dem Namen an dns-sd
)
Zitat von der Avahi-Seite:
Avahi ist ein System, das die Diensterkennung in einem lokalen Netzwerk über die mDNS/DNS-SD-Protokollsuite erleichtert. Auf diese Weise können Sie Ihren Laptop oder Computer an ein Netzwerk anschließen und sofort andere Personen anzeigen, mit denen Sie chatten, Drucker zum Drucken finden oder freigegebene Dateien finden. Kompatible Technologie ist in Apple MacOS X enthalten (unter der Marke „Bonjour“ und manchmal „Zeroconf“).
Avahi ist in erster Linie für Linux-Systeme gedacht und wird standardmäßig in den meisten Distributionen ausgeliefert. Es ist derzeit noch nicht auf Windows portiert, läuft aber auf vielen anderen BSD-ähnlichen Systemen. Die primäre API ist D-Bus und wird für die Verwendung des Großteils von Avahi benötigt, Dienste können jedoch mithilfe einer XML-Dienstdefinition veröffentlicht werden, die in platziert wird
/etc/avahi/services
.Siehe auch das
nss-mdns
Projekt, das die Hostnamensuche von *.local-Hostnamen über mDNS in allen Systemprogrammen mit nsswitch ermöglicht
Antwort2
Verwenden vonlpoptions
lpoptions -p <printer_name> | awk '{for (i=1; i<=NF; i++) {if ($i ~ /device-uri/) {print $i}}}'
Beispiel
$ lpoptions -p TOSHIBA_e-STUDIO2330C | awk '{for (i=1; i<=NF; i++) {if ($i ~ /device-uri/) {print $i}}}'
device-uri=socket://192.168.20.43
Um einen Überblick zu bekommenlpinfo
Beispiel
$ lpinfo -v | grep -P '://'
network dnssd://HP%20LaserJet%201022n._pdl-datastream._tcp.local/
network dnssd://TOSHIBA%20e-STUDIO2540C-07279076._printer._tcp.local/
network socket://192.168.20.201
network socket://192.168.20.203
network socket://192.168.20.204
network socket://192.168.20.205
network socket://192.168.20.206
network socket://192.168.20.207
network socket://192.168.20.43
odernmap
nmap -sT <adress_or_address_range>
und grep den Dienstprinter
Beispiel
$ nmap -sT 192.168.20.43
Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-03 08:38 CEST
Nmap scan report for 192.168.20.43
Host is up (0.0017s latency).
Not shown: 991 closed ports
PORT STATE SERVICE
21/tcp open ftp
25/tcp open smtp
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
515/tcp open printer
631/tcp open ipp
8080/tcp open http-proxy
9100/tcp open jetdirect
Antwort3
Laut Benutzerhandbuch zur HP Laserjet 2400-Serie ist die IP-Adresse auf dem Bedienfeld des Druckers selbst verfügbar.
Antwort4
Schaue auf diearp-scan
Befehl(ähnlich wie ip neigh
). Sie müssen es wahrscheinlich installieren:
sudo apt-get install arp-scan
Und um es noch genauer zu beschreiben:
sudo arp-scan --interface=eth0 --localnet
Wobei eth0 Ihr Gerät ist (oder wlan0 oder wlp2s0). Sie können Ihr Gerät mit ifconfig
oder finden:
ip -c addr
Oder versuchen Sie, nmap
( sudo apt-get install nmap
) zu installieren, und geben Sie nmap ein, wobei Sie es durch die ersten drei Teile Ihrer IP-Adresse 192.168.1.0/24
ersetzen (finden Sie es mit heraus ).192.168.1
ip addr