답변:
dns-sd
명령 줄 도구이 도움이 될,하지만 그것을 사용하는 배우는 것은 조금 까다 롭습니다 수 있습니다.
실행 dns-sd -B _services._dns-sd._udp
하면 현재 광고중인 사용 가능한 모든 서비스 유형 목록이 표시됩니다. (목록은 인터페이스마다 다르므로 일부 중복성이 있습니다.) 네트워크 연결이 활성화되지 않은 Mac에서이 작업을 수행하면 해당 시스템에서 실행중인 서비스 만 목록에 포함됩니다.
이 목록을 사용하면 dns-sd -B _home-sharing._tcp
(iTunes 홈 공유 인스턴스를 나열 하는) 등을 실행하여 개별 서비스 유형에 대한 정보를 요청할 수 있으며 , 인스턴스 이름이 주어지면 dns-sd -L "Wes Campaigne’s Library" _home-sharing._tcp
특정 인스턴스에 대한 정보를 조회 할 수 있습니다 .
솔직히 말해서,이 전체 프로세스는 다소 지루하며 검색 (이전 Bonjour Browser)이 수행 한 것과 똑같 으므로 사용하는 것이 좋습니다. 그러나 어떤 방법을 사용하든 주어진 서비스 항목에 어떤 프로그램이 책임이 있는지 항상 명확하지는 않습니다.
binarybob의 답변 에 제공된 전략을 사용하여 포트 번호를 기반으로 서비스 항목을 실행중인 프로세스에 매핑하려고 시도 할 수 있지만 항상 작동하지는 않습니다. 또 다른 전략은 dns-sd -B _home-sharing._tcp
인스턴스가 추가되거나 제거 될 때 열린 상태로 유지되고보고 된 다음 하나씩 실행하고 다양한 앱을 종료하고 (시스템 서비스가 아니라고 가정) 종료 메시지가 어떤 메시지를 트리거하는지 확인하는 것입니다.
정확한 기준을 충족하지는 않지만 Tildesoft의 Bonjour Browser 는 로컬 네트워크에 광고 된 모든 Bonjour 서비스와이를 광고하는 호스트를 모두 나열 할 수 있습니다.
로컬 광고 서비스의 경우 Bonjour Browser에서 드릴 다운하여 서비스가 광고되는 포트 번호를 찾은 다음 서비스 lsof
와 관련된 응용 프로그램을 결정하는 데 사용할 수 있습니다. 예를 들면 다음과 같습니다.
lsof -i | grep 57857
준다
iTunes 36720 ... TCP *:57857 (LISTEN)
iTunes가 실행 중일 때
레거시 아티클로 분류되었지만 DNSServiceMetaQuery 와 같은 것이 좋습니다. 설명서에 요약 된대로 :
이 샘플은 DNSServiceQueryRecord를 사용하여 로컬 네트워크에서 보급되는 Bonjour 서비스 유형 목록을 반환하는 멀티 캐스트 DNS 쿼리를 보냅니다. 이 쿼리에 응답하려면 컴퓨터에서 mDNSResponder-58.6 (Mac OS X 10.3.4) 이상을 실행해야합니다.
Mountain Lion에서 DNSServiceMetaQuery를 실행하려면 (포함 된 빌드가 제대로 실행되지 않음) 샘플 코드 링크 로 이동하여 샘플 코드 다운로드를 클릭하십시오. 그런 다음 Xcode를 아직 설치 하지 않았다면 설치하십시오 . Mac OS X> 응용 프로그램> 명령 줄 도구 템플릿 아래에 새 프로젝트를 생성하십시오 .
모든 텍스트를 열고 복사 하여 새 명령 줄 도구 프로젝트에 ~/Downloads/DNSServiceMetaQuery/DNSServiceMetaQuery.c
붙여 넣습니다 main.c
(템플릿에 있던 모든 내용을 대체 함). 다음으로, 사이드 바에서 빌드 이름> 빌드 단계에서 프로젝트 이름을 클릭하고 바이너리를 라이브러리와 링크 옆의 드롭 다운 화살표를 열어 CoreFoundation.framework를 프로젝트에 추가해야합니다 . +버튼을 클릭하고 CoreFoundation.framework를 검색하여 추가하십시오. 그런 다음 실행 단추 (재생 단추 모양)를 클릭하고 빌드 성공 이미지를 기다립니다. 로그가있는 창의 버튼에서 무언가가 나옵니다. 모든 Bonjour 서비스가 표시됩니다. 모든 출력이 선택되어 있는지 확인하십시오.
_daap
것 같습니다.