Можно легко перечислить принтеры, которые вы уже установили с помощью этой команды:
lpstat -a
Однако в этом списке нет сетевых принтеров, которые вы НЕ установили.
Nmap проверит все открытые порты в локальной сети, но полученный список не будет ограничен сетевыми принтерами:
sudo nmap -sT 192.168.0.1-254
Есть ли команда, которая делает следующее:
- Определяет локальную сеть, к которой вы сейчас подключены, автоматически.
- Сканирует всю локальную сеть в поисках сетевых принтеров.
- Создает список сетевых принтеров с указанием их имен хостов и IP-адресов.
Например, сегодня я вошел в веб-интерфейс принтера Imagistics fx2100. Он имел функцию «Найти устройство», которая была способна найти все сетевые принтеры в локальной сети (см. Скриншот ниже). Похоже, в Linux была бы команда, которая могла бы получить тот же список и информацию (без сценариев):
nc
для проверки возможности подключения tcp/9100
. Вам нужно что-то написать, так как это очень специфическая проблема, которую вы пытаетесь решить. Поэтому я сомневаюсь, что кто-то написал инструмент для этого.