Elenca tutte le stampanti di rete (comprese quelle non installate)


9

È facile elencare le stampanti che hai già installato con questo comando:

lpstat -a

Tuttavia, questo non elenca le stampanti di rete NON installate.

nmap cercherà tutte le porte aperte sulla LAN, ma l'elenco prodotto non sarà limitato alle stampanti di rete:

sudo nmap -sT 192.168.0.1-254

Esiste un comando che procede come segue:

  1. Rileva automaticamente la LAN a cui sei attualmente connesso.
  2. Esegue la scansione dell'intera LAN alla ricerca specifica di stampanti di rete.
  3. Produce un elenco di stampanti di rete che forniscono sia i nomi host che gli indirizzi IP.

Ad esempio, oggi ho effettuato l'accesso all'interfaccia web della stampante Imagistics fx2100. Aveva una funzione "Trova dispositivo" che era in grado di trovare tutte le stampanti di rete sulla LAN (vedi screenshot sotto). Sembra che ci sarebbe un comando in Linux che potrebbe ottenere lo stesso elenco e le stesse informazioni (senza script):

inserisci qui la descrizione dell'immagine


2
Il problema qui è che i criteri ("Network Printer") sono qualcosa che ha senso solo per l'uomo. I programmi per computer non avranno un'idea chiara di quell'idea. È possibile provare a eseguire uno sweep di rete per gli indirizzi IP che si connettono correttamente sulla porta JetDirect (tcp / 9100). È probabile che l'elenco sia incompleto nel caso di stampanti non JetDirect come stampanti desktop condivise su SMB.
Bratchley,

1
Come accennato, un programma può scansionare le porte aperte di ciascun IP sulla LAN e persino parlare un po 'con quelle porte per raccogliere dati. Capisco come questo potrebbe essere fatto. Non sono a conoscenza di alcuna utilità della riga di comando che già lo fa (in particolare per le stampanti).
Lonniebiz,

1
È possibile eseguire sweep per trovare un elenco di indirizzi IP validi e utilizzare ncper verificare che sia possibile connettersi tcp/9100. Dovresti scrivere qualcosa perché questo è un problema molto specifico che stai cercando di risolvere. Quindi dubito che qualcuno abbia scritto uno strumento per farlo.
Bratchley,

Risposte:


3

Non esiste un programma che lo faccia in modo specifico, ma con nmap -A(rilevamento host / impronte digitali avanzato) potrebbe essere in grado di identificare la maggior parte delle stampanti. Dovrai filtrarlo dopo.


11

Se avahi-daemon è in esecuzione,

avahi-browse -a | grep Printer

Questo avahi-browse -acomando sembra elencare più volte le stesse stampanti e (anche con l' --allargomento) lascia fuori le informazioni pertinenti mostrate nella schermata sopra (come l'indirizzo IP della stampante che sta elencando). Mi stupisce che questa "stampante Imagistics fx2100" contenga un firmware che batte ogni utility Linux che ho visto, quando si tratta di elencare tutte le stampanti di tutte le marche (che non sono nemmeno installate, ma forniscono la stampa in rete).
Lonniebiz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.