É fácil listar as impressoras que você já instalou com este comando:
lpstat -a
No entanto, isso não lista as impressoras de rede que você NÃO instalou.
O nmap procurará todas as portas abertas na LAN, mas a lista produzida não se limitará às impressoras de rede:
sudo nmap -sT 192.168.0.1-254
Existe um comando que faça o seguinte:
- Detecta a LAN à qual você está conectado atualmente automaticamente.
- Verifica a LAN inteira procurando especificamente impressoras de rede.
- Produz uma lista de impressoras de rede que fornecem nomes de host e endereços IP.
Por exemplo, entrei na interface da web da impressora Imagistics fx2100 hoje. Ele tinha um recurso "Localizar dispositivo" capaz de encontrar todas as impressoras de rede na LAN (veja a captura de tela abaixo). Parece que haveria um comando no Linux que poderia obter a mesma lista e informações (sem scripts):
command-line
hardware
printing
printer
Lonniebiz
fonte
fonte
nc
para verificar se ele pode se conectartcp/9100
. Você teria que criar um script, pois esse é um problema muito específico que você está tentando resolver. Então, duvido que alguém tenha escrito uma ferramenta para fazer isso.Respostas:
Não existe um programa que faça isso especificamente, mas com
nmap -A
(detecção avançada de impressões / impressões digitais) pode ser capaz de identificar a maioria das impressoras. Você terá que filtrá-lo depois.fonte
Se o avahi-daemon estiver em execução,
fonte
avahi-browse -a
comando parece listar as mesmas impressoras várias vezes e (mesmo com o--all
argumento) deixa de fora as informações pertinentes mostradas na captura de tela acima (como o endereço IP da impressora que está listando). Surpreende-me que esta "impressora Imagistics fx2100" contenha firmware que supera todos os utilitários Linux que eu já vi, quando se trata de listar todas as impressoras de todas as marcas (que nem sequer estão instaladas, mas estão fornecendo impressão em rede).