Я установил сетевой принтер в своей машине Ubuntu 14.04 при помощи system-config-printer
. Эта программа GUI предлагает, "Находят сетевой принтер" функцией, которая исследует локальную сеть. Это возвращает список названий принтеров, связанных с адресами IP.
Так скажем, я выбираю один и успешно устанавливаю его.
Теперь через некоторое время я понимаю тот, который я установил, неправильный принтер. Таким образом, я делаю процесс снова, и..., о, ожидайте, существует несколько принтеров того же типа (и имя) с различными адресами IP!
Хорошо, без проблем, позволяет, просто проверяют IP того, который я просто установил, таким образом, я удостоверяюсь, что не устанавливаю неправильный снова. Таким образом, вопрос: как я получаю IP установленного принтера?
По-видимому, диалоговое окно "свойств" (образец ниже) не предоставляет доступ к этой информации (не, не скрытый в строке URI).
Никакой успех любой при помощи веб-сервера CUPS через http://localhost:631
, это, кажется, в основном другой способ получить ту же информацию.
Править: вопрос не связан с принтером ниже, но более общий: поскольку ОС может выбрать IP принтера на шаге исследования сети, я предполагаю, что информация хранится где-нибудь. Где это хранится и как я получаю доступ к нему? Или возможно это не хранится нигде?
В дополнение к описанному выше решению @ 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
Используя 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
Согласно Руководству пользователя 2400 рядов HP Laserjet, IP-адрес доступен на панели управления самого принтера.
я также использую ubuntu14.04. Если Вы хотите видеть IP принтера, который был установлен, необходимо перейти к параметрам настройки системы и выбрать Printers. Затем выберите принтер и посмотрите его свойства. На вкладке установки в свойствах существует Устройство URI. Нажмите на него и посмотрите IP.
Посмотрите 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
).
Немного поздно, но это могло бы помочь.
avahi-browse --all -t -r
lpstat -s
Иногда это не должно быть сложно.