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.
Instalei uma impressora de rede na minha máquina Ubuntu 14.04 usando system-config-printer
. Este programa GUI oferece uma função "Localizar 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 eu percebo que o que eu instalei é a impressora errada. Então eu faço o processo novamente, e ... oh wait, existem várias impressoras do mesmo tipo (e nome), com endereços IP diferentes!
Ok, não há problema, vamos apenas verificar o IP do que eu acabei de instalar, então eu me certifico de não instalar o errado de novo. Então a questão é: como obter o IP de uma impressora instalada?
Aparentemente, a caixa de diálogo "propriedades" (exemplo abaixo) não dá acesso a essa informação (não, ela não está oculta na linha URI).
Sem sucesso usando o servidor web CUPS através de http://localhost:631
, parece ser basicamente outra forma de obter as mesmas informações.
Editar : a questão não está relacionada à impressora abaixo, mas é mais geral: como o SO é capaz de buscar o IP da impressora na etapa de exploração da rede, presumo que ela esteja armazenada em algum lugar . Onde ele é armazenado e como posso acessá-lo? Ou talvez não esteja armazenado em lugar algum?
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.
Usando lpoptions
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 geral lpinfo
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
ou nmap
nmap -sT <adress_or_address_range>
e grep o serviço printer
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
Veja o comando arp-scan
- provavelmente será necessário instalá-lo:
sudo apt-get install arp-scan
link
E para dar mais detalhes:
sudo arp-scan --interface=eth0 --localnet
Onde eth0 é seu dispositivo (ou wlan0). Você pode encontrar seu dispositivo com:
ifconfig
Ou tente instalar o nmap
( sudo apt-get install nmap
) e digite nmap 192.168.1.0/24
substituindo 192.168.1
pelas três primeiras partes do seu endereço IP (use ip addr
).