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?
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,
lpoptions
muestra mucha información, pero no la IP. El campo en cuestión se parece adevice-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-browse
la 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-mdns
proyecto, 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.
Respuesta4
Mira elarp-scan
dominio(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 ifconfig
o:
ip -c addr
O intente instalar nmap
( sudo apt-get install nmap
) y escriba nmap 192.168.1.0/24
sustituyendo 192.168.1
las tres primeras partes de su dirección IP (descúbralo usando ip addr
).