Как я получаю IP установленного сетевого принтера

Я установил сетевой принтер в своей машине Ubuntu 14.04 при помощи system-config-printer. Эта программа GUI предлагает, "Находят сетевой принтер" функцией, которая исследует локальную сеть. Это возвращает список названий принтеров, связанных с адресами IP.

Так скажем, я выбираю один и успешно устанавливаю его.

Теперь через некоторое время я понимаю тот, который я установил, неправильный принтер. Таким образом, я делаю процесс снова, и..., о, ожидайте, существует несколько принтеров того же типа (и имя) с различными адресами IP!

Хорошо, без проблем, позволяет, просто проверяют IP того, который я просто установил, таким образом, я удостоверяюсь, что не устанавливаю неправильный снова. Таким образом, вопрос: как я получаю IP установленного принтера?

По-видимому, диалоговое окно "свойств" (образец ниже) не предоставляет доступ к этой информации (не, не скрытый в строке URI).

Никакой успех любой при помощи веб-сервера CUPS через http://localhost:631, это, кажется, в основном другой способ получить ту же информацию.

Править: вопрос не связан с принтером ниже, но более общий: поскольку ОС может выбрать IP принтера на шаге исследования сети, я предполагаю, что информация хранится где-нибудь. Где это хранится и как я получаю доступ к нему? Или возможно это не хранится нигде?

printer properties dialog

6
задан 3 July 2015 в 01:19

7 ответов

В дополнение к описанному выше решению @ JUH ...

avahi-browse --all -t -r

Это подходящее решение для принтеров с автообнаружением.

К сожалению, многие принтеры просто не раскрывают свой IP-адрес в какой-либо пригодной для использования форме вам, конечному пользователю. Это сделано намеренно. https://www.cups.org/doc/network.html

Большинство сетевых принтеров поддерживают протокол, известный как Bonjour, который представляет собой комбинацию сети с нулевой конфигурацией ( ZeroConf ), стандарты многоадресной передачи DNS ( mDNS ) и обнаружения службы DNS ( DNS-SD ), опубликованные Инженерной группой Интернета (IETF), той же группой, которая определила TCP / IP и все сеть, которую мы используем сегодня

Цитата из страницы mDNS:

Когда клиенту mDNS необходимо разрешить имя хоста, он отправляет сообщение с запросом многоадресной рассылки IP, которое просит хост, имеющий это имя, идентифицировать себя. Затем эта целевая машина рассылает многоадресное сообщение, содержащее ее IP-адрес. Затем все машины в этой подсети могут использовать эту информацию для обновления своих кешей mDNS. Любой хост может отказаться от своих прав на имя, отправив ответный пакет со временем жизни ( TTL ), равным нулю.

Итак, чтобы правильно найти IP-адрес mDNS-принтера, вам понадобится инструмент, способный читать кеш.

Цитата из одного из комментариев ОП:

Спасибо. В моем случае lpoptions действительно показывает много информации, но не IP. Соответствующее поле выглядит как device-uri = hp: / net / hp_LaserJet_2420? Zc = HP2420ROOMXXX , так что снова то же самое, что я получаю из инструментов графического интерфейса. Итак, я предполагаю, что IP-адрес не хранится на моей машине ...

Это делает avahi-browse лучшим инструментом для работы ... (или, если вы пришли сюда в поисках утилиты для Mac, Apple предлагает один под названием dns-sd )

Цитата со страницы Avahi:

Avahi - это система, которая упрощает обнаружение служб в локальной сети через набор протоколов mDNS / DNS-SD. Это позволяет вам подключить свой ноутбук или компьютер к сети и мгновенно увидеть других людей, с которыми вы можете общаться в чате, найти принтеры для печати или файлы, которыми вы делитесь. Совместимая технология находится в Apple MacOS X (под торговой маркой «Bonjour», а иногда и «Zeroconf»).

Avahi в первую очередь нацелен на системы Linux и поставляется по умолчанию в большинстве дистрибутивов. На данном этапе он не портирован на Windows, но будет работать во многих других BSD-подобных системах. Основным API является D-Bus, и он требуется для использования большей части Avahi, однако службы могут публиковаться с использованием определения службы XML, размещенного в / etc / avahi / services .

См. Также проект nss-mdns , который позволяет искать имена хостов * .local через mDNS во всех системных программах с помощью nsswitch

16
ответ дан 21 February 2020 в 23:21

Используя lpoptions

lpoptions  -p <printer_name> | awk '{for (i=1; i<=NF; i++) {if ($i ~ /device-uri/) {print $i}}}'
<час>

Пример

$ 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
<час>

Для получения обзора lpinfo

Пример

$ 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

или nmap

nmap -sT <adress_or_address_range>

и grep сервис printer

Пример

$ 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
8
ответ дан 23 November 2019 в 07:16

Согласно Руководству пользователя 2400 рядов HP Laserjet, IP-адрес доступен на панели управления самого принтера.

enter image description here

7
ответ дан 23 November 2019 в 07:16

enter image description here

я также использую ubuntu14.04. Если Вы хотите видеть IP принтера, который был установлен, необходимо перейти к параметрам настройки системы и выбрать Printers. Затем выберите принтер и посмотрите его свойства. На вкладке установки в свойствах существует Устройство URI. Нажмите на него и посмотрите IP.

0
ответ дан 23 November 2019 в 07:16

Посмотрите arp-scan команда (подобный ip neigh). Необходимо будет, вероятно, установить его:

sudo apt-get install arp-scan

И предоставлять более подробную подробную информацию:

sudo arp-scan --interface=eth0 --localnet

, Где eth0 является Вашим устройством (или wlan0 или wlp2s0). Можно найти устройство с ifconfig или:

ip -c addr
<час>

Или попытка, устанавливающая nmap (sudo apt-get install nmap) и nmap 192.168.1.0/24 типа, занимающий место 192.168.1 с первыми тремя частями Вашего IP-адреса (узнают использование ip addr).

5
ответ дан 23 November 2019 в 07:16

Немного поздно, но это могло бы помочь.

avahi-browse --all -t -r

0
ответ дан 23 November 2019 в 07:16
lpstat -s

Иногда это не должно быть сложно.

4
ответ дан 23 November 2019 в 07:16

Другие вопросы по тегам:

Похожие вопросы: