7

Since upgrading to Yosemite (from Mavericks) my MacBook Pro (Retina mid-2014) advertises itself on Bonjour (with "whats-my-name"). It was not visible in this way prior to Yosemite, and I have no sharing features enabled on my Mac.

How do I hide it again or turn off the "whats-my-name" service?

  • Have a dig in system preferences. You might be able to do that in there. – woff Oct 19 '14 at 13:29
  • see if Handoff is also responsible for this... – Tetsujin Oct 19 '14 at 13:29
  • @Tetsujin: Disabling Handoff does not change my Bonjour visibility (I can still see "whats-my-name" for my machine from other machines). Is this also caused by Handoff (as patrix implies)? – orome Oct 19 '14 at 18:34
  • How do you know it's visible via Bonjour? Are you seeing it in the Finder side bar of another Mac? – Ian C. Oct 19 '14 at 22:16
  • @IanC.: I see it in scanners (e.g., iStumbler). Prior to Yosemite my machine was not listed there at all. – orome Oct 19 '14 at 22:20
3

There is no more com.apple.mDNSResponder.plist in OS X 10.10. The service that controls mDNSResponder is now discoverd. The plist file you are looking for is actually:

/System/Library/LaunchDaemons/com.apple.discoveryd.plist

You want to add --no-multicast to the ProgramArguments in that file.

    <key>ProgramArguments</key>
    <array>
            <string>/usr/libexec/discoveryd</string>
            <string>--udsocket</string>
            <string>standard</string>
            <string>--loglevel</string>
            <string>Basic</string>
            <string>--logclass</string>
            <string>Everything</string>
            <string>--logto</string>
            <string>asl</string>
    </array>

Becomes

    <key>ProgramArguments</key>
    <array>
            <string>/usr/libexec/discoveryd</string>
            <string>--udsocket</string>
            <string>standard</string>
            <string>--loglevel</string>
            <string>Basic</string>
            <string>--logclass</string>
            <string>Everything</string>
            <string>--logto</string>
            <string>asl</string>
            <string>--no-multicast</string>
    </array>

You'll want to be very careful when editing that file. You can also use this script to do it for you - https://raw.githubusercontent.com/MacMiniVault/Mac-Scripts/master/disablebonjour/disablebonjour.sh

  • Thanks! Any idea what features I'll loose if I do that? – orome Oct 30 '14 at 13:03
  • No - we only do this on networks with multiple headless Macs where we want to limit cross chatter and bonjour advertising. – Jon Schwenn Oct 30 '14 at 13:24
  • --no-multicast currently breaks the WiFi status menu bar icon from updating correctly and auto-connecting to remembered network SSIDs breaks. Apple feedback was submitted on this. – dhchdhd Nov 4 '14 at 3:24
  • Would it be safe to change echo "CHECKING FOR OS X 10.10.0 to 10.10.3 ..." if [[ $(sw_vers -productVersion | grep '10.10[.0-3]') ]] to echo "CHECKING FOR OS X 10.10.0 to 10.10.5 ..." if [[ $(sw_vers -productVersion | grep '10.10[.0-5]') ]]? Now that 10.10.5 is the newest version of Yosemite? – Matthew Herbst Nov 2 '15 at 19:04
  • 1
    This answer has become false in 10.10.5. Sometime during 10.10.x discoveryd was dropped and mDNSResponder returned. – András Salamon Dec 21 '15 at 2:22
1

in Yosemite 10.10.5 here, there is no discoveryd or ever any reference to it on the whole filesystem.

I always install the 'hide bonjour' prefpane however and tweak the living crap out of the OS and remove all cloud, game and social media apps, and the rest of the CPU / RAM killing privacy crud too.

The app 'Lingon' is helpful for cleaning up launchD too. There is a basic free version too - if you look around :)

  • This correct: discoveryd is not used in 10.10.5. DNSResponder and DNSResponderHelper are.... – Rondo Dec 23 '15 at 4:40
-1

In OS X 10.9, Bonjour advertising can be disabled by following the steps listed at "How to disable Bonjour service advertising":

  1. Make a back up copy of the mDNSResponder.plist file as a precaution. Open the mDNSResponder.plist file in Terminal using your preferred text editor. Here is a sample command:

    sudo nano "/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist"

  2. Add "-NoMulticastAdvertisements" to the array in the "ProgramArguments" section.

Example:

<key>ProgramArguments</key>
<array>
    <string>/usr/sbin/mDNSResponder</string>
    <string>-launchd</string>
</array>`

becomes...

<key>ProgramArguments</key>
<array>
    <string>/usr/sbin/mDNSResponder</string>
    <string>-launchd</string>
    <string>-NoMulticastAdvertisements</string>
</array>
  1. Save the file.

    Important: If you edited this file using emacs, you must remove the emacs backup file (the file with a tilde at the end of the name, "/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist~") or your Mac will not start up.

  2. Restart your Mac.

  • What side effects will this have? Is having Bonjour advertising enabled required for Handoff or Continuity? – orome Oct 20 '14 at 4:40
  • Handoff does not appear to use Bonjour. I'm not sure about Continuity. – tubedogg Oct 20 '14 at 4:57
  • I've split that (and the original "what's it for") part of the question off into a separate one. – orome Oct 20 '14 at 18:09
  • 1
    It's not done this way any more. It uses discoveryd, and the file com.apple.mDNSResponder.plist does not exist anymore. I'd look in com.apple.discoveryd.plist or com.apple.discoveryd_helper.plist. – geoO Oct 21 '14 at 18:07
  • @geoO: So where in com.apple.discoveryd.plist would I add that entry? Just in !ProgramArguments" like it was done in the old mDNSResponder.plist? The existing entries in that section and even that whole file file don't seem to be related to multicast DNS so I am not even sure if "-NoMulticastAdvertisement" would be a valid key anywhere in that file or if I have to add some other value in that file than I would have to in Mavericks. – Kaiserludi Oct 22 '14 at 20:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .