Мне нужно проанализировать результат просмотра avahi для получения некоторой информации в PHP. Я НЕ основываю это на "разборе" просмотра Avahi (-p), так как это кажется более сложным для анализа, чем на разборе, если я не ошибаюсь.
Поскольку я могу ограничить просмотр определенными типами, я думаю, что мне нужно только извлечь IP: порт и имя устройства из строк. Предпочитаю IPV4. В примере нет IPV6, но некоторые поиски есть, но я думаю, что всегда будет IPV4, верно? Возможно, безопасно использовать только IPV4.
+ wlp61s0 IPv6 Canon MG5700 series _uscan._tcp local
+ wlp61s0 IPv4 Canon MG5700 series _uscan._tcp local
= wlp61s0 IPv6 Canon MG5700 series _uscan._tcp local
hostname = [ED122D000000.local]
address = [192.168.0.252]
port = [80]
txt = ["duplex=F" "is=platen" "cs=grayscale,color" "rs=eSCL" "representation=http://ED122D000000.local./icon/printer_icon.png" "vers=2.5" "UUID=00000000-0000-1000-8000-00BBC1ED122D" "adminurl=http://ED122D000000.local./index.html?page=PAGE_AAP" "note=Rich's office" "pdl=image/jpeg,application/pdf" "ty=Canon MG5700 series" "txtvers=1"]
= wlp61s0 IPv4 Canon MG5700 series _uscan._tcp local
hostname = [ED122D000000.local]
address = [192.168.0.252]
port = [80]
txt = ["duplex=F" "is=platen" "cs=grayscale,color" "rs=eSCL" "representation=http://ED122D000000.local./icon/printer_icon.png" "vers=2.5" "UUID=00000000-0000-1000-8000-00BBC1ED122D" "adminurl=http://ED122D000000.local./index.html?page=PAGE_AAP" "note=Rich's office" "pdl=image/jpeg,application/pdf" "ty=Canon MG5700 series" "txtvers=1"]
редактировать --------------------------------
@ Мартн Цетлер: да, это работает в первоначально опубликованной строке, но не в этой. Кроме того, как рекомендовано для другого автора, порядок меняется, поэтому использование формата синтаксического анализа без дескрипторов будет ненадежным.
+ eth0 IPv6 HP LaserJet MFP M130nw (Bonjour) _uscan._tcp local
+ eth0 IPv4 HP LaserJet MFP M130nw (Bonjour) _uscan._tcp local
= eth0 IPv6 HP LaserJet MFP M130nw (Bonjour) _uscan._tcp local
hostname = [NPIA9BA52.local]
address = [192.168.1.2]
port = [8080]
txt = ["note=Vallarta" "duplex=F" "is=platen" "cs=color,grayscale" "pdl=application/pdf,image/jpeg" "uuid=564e4234-4430-3737-3739-c8d3ffa9ba52" "rs=eSCL" "representation=http://NPIA9BA52.local/ipp/images/printer.png" "vers=2.5" "usb_MDL=HP LaserJet MFP M129-M134" "usb_MFG=HP" "mdl=LaserJet MFP M129-M134" "mfg=HP" "ty=HP LaserJet MFP M129-M134" "adminurl=http://NPIA9BA52.local." "txtvers=1"]
= eth0 IPv4 HP LaserJet MFP M130nw (Bonjour) _uscan._tcp local
hostname = [NPIA9BA52.local]
address = [192.168.1.2]
port = [8080]
txt = ["note=Vallarta" "duplex=F" "is=platen" "cs=color,grayscale" "pdl=application/pdf,image/jpeg" "uuid=564e4234-4430-3737-3739-c8d3ffa9ba52" "rs=eSCL" "representation=http://NPIA9BA52.local/ipp/images/printer.png" "vers=2.5" "usb_MDL=HP LaserJet MFP M129-M134" "usb_MFG=HP" "mdl=LaserJet MFP M129-M134" "mfg=HP" "ty=HP LaserJet MFP M129-M134" "adminurl=http://NPIA9BA52.local." "txtvers=1"]