¿Cómo obtengo la IP de la impresora de red instalada?

¿Cómo obtengo la IP de la impresora de red instalada?

He instalado una impresora de red en mi máquina Ubuntu 14.04 usando system-config-printer. Este programa GUI ofrece una función "Buscar impresora de red" que explora la red local. Devuelve una lista de nombres de impresoras, asociados con direcciones IP.

Entonces digamos que elijo uno y lo instalo exitosamente.

Ahora, después de un tiempo, me doy cuenta de que la que instalé es la impresora incorrecta. Entonces hago el proceso nuevamente, y... oh espera, ¡hay varias impresoras del mismo tipo (y nombre), con diferentes direcciones IP!

Ok, no hay problema, verifiquemos la IP del que acabo de instalar, así me aseguro de no instalar el incorrecto nuevamente. Entonces la pregunta es:¿Cómo obtengo la IP de una impresora instalada?

Aparentemente, el cuadro de diálogo "propiedades" (ejemplo a continuación) no brinda acceso a esta información (no, no está oculta en la línea URI).

Tampoco hubo éxito al utilizar el servidor web CUPS a través de http://localhost:631, parece ser básicamente otra forma de obtener la misma información.

Editar: la pregunta no está relacionada con la impresora a continuación, pero es más general: como el sistema operativo puede recuperar la IP de la impresora en el paso de exploración de la red, supongo que la información está almacenada en algún lugar.¿Dónde se almacena y cómo accedo a él?¿O tal vez no está almacenado en ningún lado?

cuadro de diálogo de propiedades de la impresora

Respuesta1

Para expandirseLa solución de @JUH arriba...

avahi-browse --all -t -r

Es la solución adecuada para impresoras con detección automática.

Desafortunadamente, muchas impresoras simplemente no exponen su dirección IP de ninguna forma utilizable para usted, el usuario final. Esto es por diseño.https://www.cups.org/doc/network.html

La mayoría de las impresoras de red admiten un protocolo conocido como Bonjour, que es una combinación de estándares de redes de configuración cero ( ZeroConf), DNS de multidifusión ( mDNS) y descubrimiento de servicios DNS ( DNS-SD) publicados por Internet Engineering Task Force (IETF), el mismo grupo que definió TCP/IP y todas las redes que utilizamos hoy

Citando la página mDNS:

Cuando un cliente mDNS necesita resolver un nombre de host, envía un mensaje de consulta de multidifusión de IP que solicita al host que tiene ese nombre que se identifique. Luego, esa máquina de destino multidifunde un mensaje que incluye su dirección IP. Todas las máquinas en esa subred pueden usar esa información para actualizar sus cachés mDNS. Cualquier host puede renunciar a su derecho a un nombre enviando un paquete de respuesta con un tiempo de vida ( TTL) igual a cero.

Entonces, para encontrar correctamente la dirección IP de una impresora mDNS, necesitaría una herramienta capaz de leer el caché.

Citando uno de los comentarios del OP:

Gracias. En mi caso, lpoptionsmuestra mucha información, pero no la IP. El campo en cuestión se parece a device-uri=hp:/net/hp_LaserJet_2420?zc=HP2420ROOMXXX, por lo que nuevamente es el mismo que obtengo de las herramientas GUI. Entonces asumo que la IP no está almacenada en mi máquina...

Esta es avahi-browsela mejor herramienta para el trabajo... (o si llegaste aquí buscando una utilidad para Mac, Apple ofrece una llamada dns-sd)

Citando la página de Avahi:

Avahi es un sistema que facilita el descubrimiento de servicios en una red local a través del conjunto de protocolos mDNS/DNS-SD. Esto le permite conectar su computadora portátil o computadora a una red y poder ver instantáneamente a otras personas con las que puede chatear, encontrar impresoras para imprimir o encontrar archivos que se comparten. La tecnología compatible se encuentra en Apple MacOS X (con la marca "Bonjour" y, a veces, "Zeroconf").

Avahi está dirigido principalmente a sistemas Linux y se envía de forma predeterminada en la mayoría de las distribuciones. No está adaptado a Windows en este momento, pero se ejecutará en muchos otros sistemas similares a BSD. La API principal es D-Bus y es necesaria para el uso de la mayor parte de Avahi; sin embargo, los servicios se pueden publicar utilizando una definición de servicio XML ubicada en /etc/avahi/services.

Consulte también el nss-mdnsproyecto, que permite la búsqueda de nombres de host *.locales a través de mDNS en todos los programas del sistema que utilizan nsswitch.

Respuesta2

Usandolpoptions

lpoptions  -p <printer_name> | awk '{for (i=1; i<=NF; i++) {if ($i ~ /device-uri/) {print $i}}}'

Ejemplo

$ 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

Para obtener una descripción generallpinfo

Ejemplo

$ 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

onmap

nmap -sT <adress_or_address_range>

y grep el servicioprinter

Ejemplo

$ 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

Respuesta3

Según la Guía del usuario de HP Laserjet serie 2400, la dirección IP está disponible en el panel de control de la impresora.

ingrese la descripción de la imagen aquí

Respuesta4

Mira elarp-scandominio(Similar a ip neigh). Probablemente tendrás que instalarlo:

sudo apt-get install arp-scan

Y para dar más detalles:

sudo arp-scan --interface=eth0 --localnet

Donde eth0 es su dispositivo (o wlan0 o wlp2s0). Puede encontrar su dispositivo con ifconfigo:

ip -c addr

O intente instalar nmap( sudo apt-get install nmap) y escriba nmap 192.168.1.0/24sustituyendo 192.168.1las tres primeras partes de su dirección IP (descúbralo usando ip addr).

información relacionada