Спасибо за ваш ответ, я просто хотел понять, какова цель степень магистра (где-то в Интернете люди говорят, что для не поступающих в аспирантуру). Я оказался в ситуации, в которой я люблю учится и я хотел бы исследовать в будущем, но я не имел возможность это сделать, так, что мое заявление (и мой опыт) не будет достаточно хорошо для доктора наук есть. Кроме того, мои интересы слишком обширны и мне нужно понять что мне нравится больше всего. Я начну работать на приложение. С. П. каких-либо дальнейших предложение действительно оценили! Ладно, смысла. Пожалуйста, добавьте эти комментарии на свой ответ, поэтому я могу принять это как ответ на мой вопрос. Спасибо Вам за ценные обсуждения. Ценю это. Подожди, какой результат вы хотите для нескольких столбцов? Должно все разные случаи "Б" под "Б"? Или они должны быть объединены? Пожалуйста, [править] ваш вопрос и добавить более представительный пример входных и желаемых выходных данных, чтобы мы могли увидеть, как вы хотите нас для того чтобы общаться с несколькими столбцами.

У меня нет принтера с поддержкой AirPrint по сети. И никогда не играл с одним или...


Я не могу проверить с реального устройства AirPrint в моей близости прямо сейчас.

Но вот как я могу перечислить все ИПП-совместимых принтеров (в этом случае все они связаны через чашки):

Во-первых, обзор для DNS-СД обнаружения услуг (всех типов):

КП@здв-беспроводной-43-219:> ДНС-СД-Б _services._dns-СД._udp местных.

 Просмотр _services._dns-СД._udp.местные.
 Дата: ---Пт 20 Май 2016---
 23:54:37.797 ...начиная...
 Метки а/флаги R, если экземпляр типа обслуживание доменного имени 
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _ssh
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _sftp-СШ
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _airplay
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _raop
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _googlecast
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _nomachine
 23:54:37.798 добавить 3 4 местные. _apple-mobdev2._tcp, относящийся. _sub
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _apple-mobdev2
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _ipps
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _ipp
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _workstation
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. На _http
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _amzn-wplay
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _rfb
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _afpovertcp
 23:54:37.798 добавить 3 4 . _tcp, относящийся.местные. _smb
 23:54:37.798 добавить 3 4 . _udp.местные. _net-помощник
 23:54:37.798 добавить 2 4 . _tcp, относящийся.местные. _eppc
^С

Так что да, действительно существует ИПП службы печати (но не распечатывает один, который будет выделяться тегами как услуги типа _airprint._tcp, относящийся в списке).

Во-вторых, обзор для всех присутствующих служб типа "ИПП":

КП@здв-беспроводной-43-219:> ДНС-СД-Б _ipp._tcp, относящийся местных.

 Просмотр _ipp._tcp, относящийся.местные.
 Дата: ---Пт 20 Май 2016---
 23:54:47.782 ...начиная...
 Метки а/флаги R, если экземпляр типа обслуживание доменного имени 
 23:54:47.783 добавить 3 4 местные. _ipp._tcp, относящийся. Officejet6500donna @ БКУ
 23:54:47.783 добавить 3 4 местные. _ipp._tcp, относящийся. raw2dir @ БКУ
 23:54:47.783 добавить 2 4 местные. _ipp._tcp, относящийся. OfficeJet с 6600 @ БКУ
^С

ОК, одного экземпляра имена "OfficeJet с 6600 @ БКУ".

В-третьих, конкретными поиск информации о принтере по имени "OfficeJet с 6600 @ ПМБ":

КП@здв-беспроводной-43-219:> ДНС-СД-л "OfficeJet с 6600 @ ПМБ" _ipp._tcp, относящийся местных.

 Поиск OfficeJet с 6600 @ БКУ._ipp._tcp, относящийся.местные.
 Дата: ---Пт 20 Май 2016---
 23:54:55.252 ...начиная...
 23:54:55.253 Officejet\0326600\032@\032mbp._ipp._tcp.local. можно доехать на mbp2-2.местные.:631 (интерфейс 4)
 txtvers=1 qtotal=1 РП=принтеры/Officejet_6600 ты=неизвестно \
 adminurl=\https://mbp2-2.local.:631/printers/Officejet_6600 
 Примечание=оф\ им приоритет\ Келлер=0 товара=\(OfficeJet с\ 6600\ е-все-в-одном\) \
 УУП=приложения/октет-поток,приложение/PDF,приложение/постскриптум,изображение/JPEG изображение/PNG,изображения/ПРГ-растровые \
 Идентификатор UUID=e7d11337-a440-3f2d-7168-b53de4325791 ТЛС=1.2 цвет=сканирования Т=Т \
 принтер-состояние=3 принтер-тип=0x480900E
^С

Половина информации, которую вы ищете (имя принтера) - это приговор "Officejet\0326600\032@\032mbp._ipp._tcp.local. можно доехать на mbp2-2.местные.:631"

Это дает ток (Бонжур-)имя узла предлагая посмотрел-будильник "печать".

В-четвертых, найдите IPv4 и IPv6-адреса для данного имени хоста:

КП@здв-беспроводной-43-219:> ДНС-СД-Gv4v6 mbp2-2.местные

 Дата: ---Суббота 21 мая 2016 года---
 0:12:41.025 ...начиная...
 Метки а/флаги R если имя хоста-адрес ТТЛ
 0:12:41.025 добавить 3 4 mbp2-2.местные. На fe80:0000:0000:0000:AEBC:32FF:FEAE:CAEB%en0 120
 0:12:41.025 добавить 3 4 mbp2-2.местные. FD00:0000:0000:0000:AEBC:32FF:FEAE:CAEB% 120
 0:12:41.025 добавить 2 4 mbp2-2.местные. 192.168.177.20 120
^С

Резюме

Полагаю, моя первая команда вернулись некоторые _airprint сервис доступен в сети, то я думаю, что один из возвращенных строк будет читаться:

00:00:00.000 добавить 3 4 . _tcp, относящийся.местные. _airprint

Таким образом, мой второй команды должны быть:

КП@здв-беспроводной-43-219:> ДНС-СД-Б _airprint._tcp, относящийся местных.

Я предполагаю, что это может вернуть что-то вроде

200:00:00.000 добавить 3 4 местные. _airprint._tcp, относящийся. Некоторые AirPrinter @ некий_хост

Тогда моя третья команда должна прочитать:

КП@здв-беспроводной-43-219:> ДНС-СД-л "в некоторых AirPrinter @ некий_хост" местных.

Что бы вернуть строку говорю вам "... может быть достигнута в куда-то.местные.:1234". Из которого извлекаются четвертой команды:

КП@здв-беспроводной-43-219:> ДНС-СД-Gv4v6 где-то.местные. 

Предупреждение: последние части, о технологии AirPrint-служба обнаружение может быть неверным. Это может быть так, что сервисы с поддержкой AirPrint заявить о себе как стандартные услуги ИПП делать. Вы должны выяснить сами. Если вы, пожалуйста, доложите.


Обновление

Я тут погуглил немного по "_airprint._tcp, относящийся".

Я не нашел ни одного экземпляра, кто сообщил, на каком-то форуме их выхода из ДНС-СД-Б листинг этой конкретной строки.

Однако, там было много + много _airplay._tcp, относящийся и _ipp._tcp, относящийся результаты. Это означает, что "_airprint._tcp, относящийся" не существует, и AirPrint принтеры должны использовать другую подпись, чтобы заявить о себе потенциальным клиентам. Однако, мы уже знаем, что все функции AirPrint услуг использовать IPP для общения со своими клиентами, поэтому они также должны быть делая _ipp._tcp, относящийся услуги тип объявления.

Отсюда можно с уверенностью сделать вывод, что...

  1. ...все функции AirPrint устройства объявит себя _ipp._tcp, относящийся (не _airprint._tcp, относящийся). Также, похоже,...
  2. ...вы можете определить с поддержкой AirPrint устройства, ищет ТХТ запись урф="$что-нибудь" и УУП="$ничего,изображения/СПС".

Чтобы убедиться в этом, я проверил, что (фейк) объявление от dns-sd.org рассказывает о технологии AirPrint (предупреждаю, это не постоянно в Сети, иногда уходит несколько часов...). Он возвращает это:

КП@здв-беспроводной-43-219:> ДНС-СД-з _ipp._tcp, относящийся,_universal dns-sd.org.

 Просмотр _ipp._tcp, относящийся,_universal.dns-sd.org.
 Дата: ---Суббота 21 мая 2016 года---
 1:40:45.688 ...начиная...

 ; Для прямых клиентов, чтобы просмотреть другой домен, что домен подставить вместо '@'
 ЛБ._dns-СД._udp ПТР @

 ; В список услуг ниже, SRV записи, как правило, опорных точек-местные названия мультикаста DNS.
 ; При переносе этого файла зоны данных в одноадресный DNS-сервер, вам потребуется заменить эти точки-местные
 ; имена с правильным полным (одноадресный) доменное имя конечного узла, предоставляющей такие услуги.

 _ipp._tcp, относящийся ПТР Стюарта\032Home\032AirPrint\032Printer._ipp._tcp, относящийся
 Стюарт\032Home\032AirPrint\032Printer._ipp._tcp, относящийся СРВ 0 0 631 airprint.dns-sd.org. ; Замена одноадресной полное доменное имя конечного узла
 Стюарт\032Home\032AirPrint\032Printer._ipp._tcp, относящийся ТХТ "txtvers=1" "qtotal=1" "РП=ИПП/принтер" \
 "pdl=application/postscript,application/vnd.hp-PCL,application/vnd.hp-PCLXL,application/pdf,image/urf" \
 "СПС=CP99,В8,OB10,керна pq3 Диаманта-4-5,ADOBERGB24,DEVRGB24,DEVW8,SRGB24,ИС1-2-4,РК1-2-3-5-12,РК1-2-3-5-12,RS600" \
 "ты=НР для LaserJet 400 M451nw цветной" "продукта=(принтеров LaserJet 400 M451nw цвет)" \
 "приоритет=10" "adminurl=http://www.dns-sd.org/ServerStaticSetup.html" \
 "примечание=в доме Стюарта" "цвет=Т" "дуплекс=Ф" "сканирования=Ф"
^С

Действительно, "домашний принтер с поддержкой AirPrint Стюарта" упоминает "СПС" в записи txt.

Итак, подводя итог ответа на ваш вопрос "Как я могу получить IP-адреса всех принтеров с поддержкой AirPrint?"

  1. Во-первых, список всех IPP-принтеров.
  2. Во-вторых, исключить эти IPP-принтеров, которые не перечислить в двух вышеупомянутых урф-записи в TXT-записи.

Проверить мои заявления

Следующий (минимальный) команда объявит фейком устройства с поддержкой AirPrint в локальной сети (пока вы не отмените команду с ):

ДНС-СД \ 
 -Р "минимальный AirPrint в демо (манекен+поддельные принтер дурит клиентов для iPad)" \ 
 _ipp._tcp, относящийся.,_universal \ 
 . \ 
 631 \ 
 УУП="изображения/СПС" \ 
СПС=""

Ваши устройства iOS теперь будет перечислять этот принтер среди других авто-обнаруженные устройства с поддержкой AirPrint.

(Кстати, вы можете объявить порт как-то отличаться от 631 слишком-клиенты iOS будет еще определить его как устройство с поддержкой AirPrint...)

Теперь повторите этот маленький эксперимент, просто оставить одно из двух изображений/СПС или СПС="" выписок со счетов команду:

  1. Виртуальное устройство будет отображаться в качестве IPP-принтеров в DNS-СД списки/Бонжур обзор.
  2. Но клиенты iOS будет только список с AirPrint, способной эти (липовые или настоящие) устройства с "СПС"-связанные.