Como obtenho o IP da impressora de rede instalada

Como obtenho o IP da impressora de rede instalada

Instalei uma impressora de rede em minha máquina Ubuntu 14.04 usando system-config-printer. Este programa GUI oferece a função "Encontrar impressora de rede", que explora a rede local. Ele retorna uma lista de nomes de impressoras, associados a endereços IP.

Então, digamos que eu escolha um e o instale com sucesso.

Agora, depois de um tempo, percebo que a que instalei é a impressora errada. Então faço o processo novamente e... ah, espere, existem várias impressoras do mesmo tipo (e nome), com endereços IP diferentes!

Ok, não tem problema, vamos apenas verificar o IP daquele que acabei de instalar, para ter certeza de não instalar o errado novamente. Então a questão é:como obtenho o IP de uma impressora instalada?

Aparentemente, a caixa de diálogo "propriedades" (exemplo abaixo) não dá acesso a essas informações (não, não está oculto na linha URI).

Nenhum sucesso usando o servidor CUPS através do http://localhost:631, parece ser basicamente outra maneira de obter as mesmas informações.

Editar: a questão não está relacionada à impressora abaixo, mas é mais geral: como o sistema operacional é capaz de buscar o IP da impressora na etapa de exploração da rede, presumo que as informações estejam armazenadas em algum lugar.Onde está armazenado e como posso acessá-lo?Ou talvez não esteja armazenado em lugar nenhum?

caixa de diálogo de propriedades da impressora

Responder1

Para expandirSolução de @JUH acima...

avahi-browse --all -t -r

É a solução adequada para impressoras de descoberta automática.

Infelizmente, muitas impressoras simplesmente não expõem seus endereços IP de qualquer forma utilizável para você, o usuário final. Isso ocorre intencionalmente.https://www.cups.org/doc/network.html

A maioria das impressoras de rede suporta um protocolo conhecido como Bonjour, que é uma combinação de padrões de rede de configuração zero ( ZeroConf), DNS multicast ( mDNS) e descoberta de serviço DNS ( DNS-SD) publicados pela Internet Engineering Task Force (IETF), o mesmo grupo que definiu TCP/IP e todas as redes que usamos hoje

Citando a página mDNS:

Quando um cliente mDNS precisa resolver um nome de host, ele envia uma mensagem de consulta IP multicast que solicita que o host que possui esse nome se identifique. Essa máquina de destino então transmite uma mensagem que inclui seu endereço IP. Todas as máquinas nessa sub-rede podem então usar essas informações para atualizar seus caches mDNS. Qualquer host pode renunciar à sua reivindicação de um nome enviando um pacote de resposta com tempo de vida ( TTL) igual a zero.

Portanto, para encontrar corretamente o endereço IP de uma impressora mDNS, você precisa de uma ferramenta capaz de ler o cache.

Citando um dos comentários do OP:

Obrigado. No meu caso, lpoptionsmostra muita informação, mas não o IP. O campo em questão se parece com device-uri=hp:/net/hp_LaserJet_2420?zc=HP2420ROOMXXX, novamente, o mesmo que recebo das ferramentas GUI. Então presumo que o IP não esteja armazenado na minha máquina ...

Esta é avahi-browsea melhor ferramenta para o trabalho... (ou se você chegou aqui procurando um utilitário para Mac, a Apple oferece um chamado dns-sd)

Citando a página Avahi:

Avahi é um sistema que facilita a descoberta de serviços em uma rede local por meio do conjunto de protocolos mDNS/DNS-SD. Isso permite que você conecte seu laptop ou computador a uma rede e instantaneamente possa ver outras pessoas com quem você pode conversar, encontrar impressoras para imprimir ou encontrar arquivos sendo compartilhados. A tecnologia compatível é encontrada no Apple MacOS X (com a marca "Bonjour" e às vezes "Zeroconf").

Avahi é voltado principalmente para sistemas Linux e é fornecido por padrão na maioria das distribuições. Ele não foi portado para Windows neste estágio, mas será executado em muitos outros sistemas semelhantes ao BSD. A API principal é D-Bus e é necessária para o uso da maior parte do Avahi, no entanto, os serviços podem ser publicados usando uma definição de serviço XML colocada no arquivo /etc/avahi/services.

Veja também o nss-mdnsprojeto, que permite a pesquisa de nomes de host *.local via mDNS em todos os programas do sistema usando nsswitch

Responder2

Usandolpoptions

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

Exemplo

$ 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 obter uma visão gerallpinfo

Exemplo

$ 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

ounmap

nmap -sT <adress_or_address_range>

e grep o serviçoprinter

Exemplo

$ 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

Responder3

De acordo com o Guia do usuário da HP Laserjet série 2400, o endereço IP está disponível no painel de controle da própria impressora.

insira a descrição da imagem aqui

Responder4

Olhe para aarp-scancomando(igual a ip neigh). Você provavelmente terá que instalá-lo:

sudo apt-get install arp-scan

E para dar mais detalhes:

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

Onde eth0 é o seu dispositivo (ou wlan0 ou wlp2s0). Você pode encontrar seu dispositivo com ifconfigou:

ip -c addr

Ou tente instalar nmap( sudo apt-get install nmap) e digite nmap 192.168.1.0/24substituindo 192.168.1pelas três primeiras partes do seu endereço IP (descubra usando ip addr).

informação relacionada