Список усіх мережевих принтерів (у тому числі не встановлених)


10

Перерахувати принтери, які ви вже встановили за допомогою цієї команди, легко:

lpstat -a

Однак це не перелічує мережеві принтери, які ви НЕ встановили.

nmap сканує всі відкриті порти в локальній мережі, але створений список не обмежується мережевими принтерами:

sudo nmap -sT 192.168.0.1-254

Чи є команда, яка виконує такі дії:

  1. Виявляє локальну мережу, до якої ви зараз підключені, автоматично.
  2. Сканує всю локальну мережу, спеціально шукаючи мережеві принтери.
  3. Створює список мережевих принтерів, що надають імена їх хостів, і IP-адреси.

Наприклад, я сьогодні увійшов у веб-інтерфейс принтера Imagistics fx2100. Він мав функцію "Знайти пристрій", яка могла знайти всі мережеві принтери в локальній мережі (див. Скріншот нижче). Схоже, в Linux була б команда, яка могла б отримати той самий список та інформацію (без написання сценаріїв):

введіть тут опис зображення


2
Проблема тут полягає в тому, що критерії ("Мережевий принтер") - це те, що має сенс лише для людини. Комп'ютерні програми не матимуть чіткого розуміння цієї ідеї. Ви можете спробувати провести мережу для IP-адрес, які успішно підключаються на порту JetDirect (tcp / 9100). Список, ймовірно, буде неповним у випадку з принтерами, які не є JetDirect, такими як принтери для настільних комп'ютерів, які спільно використовуються через SMB.
Братчлі

1
Як ви вже згадували, програма може сканувати відкриті порти кожного IP в локальній мережі і навіть трохи поговорити з цими портами для збору даних. Я розумію, як це можна було зробити. Я просто не знаю жодної утиліти командного рядка, яка вже робить це (спеціально для принтерів).
Lonniebiz

1
Ви можете проаналізувати, щоб знайти список дійсних IP-адрес, і ncпереконатися, що він може підключитися tcp/9100. Вам доведеться щось сценаріювати, оскільки це дуже специфічна проблема, яку ви намагаєтеся вирішити. Тому я сумніваюся, що хтось написав інструмент для цього.
Братчлі

Відповіді:


3

Не існує програми, яка б це робила конкретно, але за допомогою nmap -A(розширене виявлення / відбитка пальців хостів) можливо виявити більшість принтерів. Вам доведеться після цього фільтрувати.


11

Якщо тоді працює avahi-демон,

avahi-browse -a | grep Printer

Ця avahi-browse -aкоманда, як видається, перераховує одні й ті самі принтери кілька разів і навіть (із --allаргументом) залишає відповідну інформацію, яка відображається на екрані, знятому вище (наприклад, ip-адреса принтера, яку він містить у списку). Мене дивує, що цей "принтер Imagistics fx2100" містить вбудовану програму, яка перемагає будь-яку утиліту Linux, яку я бачив, коли йдеться про перелік усіх принтерів усіх марок (які навіть не встановлені, але надають мережевий друк).
Lonniebiz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.