Saya akan tertarik mengetahui program mana yang mengiklankan diri mereka menggunakan Bonjour di mesin saya. Apakah ada cara untuk melakukan itu?
sumber
Saya akan tertarik mengetahui program mana yang mengiklankan diri mereka menggunakan Bonjour di mesin saya. Apakah ada cara untuk melakukan itu?
The dns-sd
alat baris perintah dapat membantu untuk ini, tetapi belajar untuk menggunakannya adalah agak rumit.
Menjalankan dns-sd -B _services._dns-sd._udp
akan mengembalikan daftar semua jenis layanan yang tersedia yang saat ini sedang diiklankan. (Daftar ini per antarmuka, sehingga akan ada beberapa redundansi.) Jika ini dilakukan pada Mac tanpa koneksi jaringan aktif, daftar tentu saja hanya berisi layanan yang berjalan pada mesin itu.
Dengan menggunakan daftar itu, Anda dapat meminta informasi tentang jenis layanan individual dengan menjalankan hal-hal seperti dns-sd -B _home-sharing._tcp
(yang mencantumkan instance Berbagi Rumah iTunes), dan kemudian, dengan diberi nama instance, Anda dapat menjalankan dns-sd -L "Wes Campaigne’s Library" _home-sharing._tcp
untuk mencari informasi untuk instance tertentu.
Sejujurnya, seluruh proses ini agak membosankan, dan itulah yang harus dilakukan oleh Discovery (sebelumnya Bonjour Browser), jadi saya sangat merekomendasikan untuk menggunakannya. Bagaimanapun cara Anda melakukannya, mungkin tidak selalu jelas program apa yang bertanggung jawab untuk entri layanan yang diberikan.
Anda dapat menggunakan strategi yang diberikan dalam jawaban binarybob untuk mencoba memetakan entri layanan untuk menjalankan proses berdasarkan nomor port, tetapi ini mungkin tidak selalu berhasil. Strategi lain adalah menjalankan sesuatu seperti dns-sd -B _home-sharing._tcp
yang tetap terbuka dan melaporkan ketika instance ditambahkan atau dihapus, lalu, satu per satu, keluar dari berbagai aplikasi dan (dengan asumsi itu bukan layanan sistem) melihat mana yang berhenti memicu pesan penghapusan.
_daap
sekalipun.Meskipun mungkin tidak memenuhi kriteria Anda yang sebenarnya, Bonjour Browser Tildesoft dapat mendaftar semua semua layanan bonjour yang diiklankan di jaringan lokal Anda dan host yang mengiklankannya.
Saya kira untuk layanan yang diiklankan secara lokal, Anda dapat menelusuri Bonjour Browser untuk menemukan nomor port layanan yang diiklankan, kemudian gunakan
lsof
untuk menentukan aplikasi yang terkait dengannya, Misalnya:memberi
ketika saya menjalankan iTunes.
sumber
Meskipun diklasifikasikan sebagai artikel lawas, mungkin ini yang Anda cari: DNSServiceMetaQuery. Seperti yang dijelaskan oleh dokumentasi:
Untuk menjalankan DNSServiceMetaQuery di Mountain Lion (build yang disertakan tidak berjalan dengan benar), buka tautan kode sampel dan klik Unduh Kode Sampel. Kemudian, instal Xcode jika Anda belum melakukannya. Buat proyek baru di bawah template Mac OS X> Aplikasi> Alat Baris Perintah .
Buka dan salin semua teks
~/Downloads/DNSServiceMetaQuery/DNSServiceMetaQuery.c
dan tempel ke dalammain.c
proyek Alat Baris Perintah baru Anda (ganti semua yang ada di templat). Selanjutnya, Anda perlu menambahkan CoreFoundation.framework ke proyek dengan mengklik nama proyek di sidebar> Build Phases dan buka panah dropdown di sebelah Link Binary With Libraries. Klik +tombolnya, cari CoreFoundation.framework, dan tambahkan. Kemudian klik tombol Jalankan (terlihat seperti tombol putar) dan tunggu gambar Build Succeeded. Sesuatu harus datang dari tombol jendela dengan log; ini akan menampilkan semua layanan Bonjour Anda. Pastikan Semua Output dicentang.sumber