We have a small office network with a Mac server, and all employees have their own Mac laptop they take home at the end of the day.

I am looking for a way to automatically log the employees' time at the office. Theoretically, it should be possible to periodically check for other auto-discovered Bonjour hosts on the network and deduce their time at the office from there.

Now my question is, is there an app or other readily available solution for that?


I should note that the users don't actually log in to the network nor log out. Their computers are not part of an Open Directory. I also really don't want to install or access anything on their computer directly.

I want to log their presence purely based on listening for their network presence. I also don't want to manually manage a list of computers, computers should be tracked automatically once they are discovered on the network.

At the end of the week/month I want to be able to get a list of all connected computer names during that period, with the time periods they were connected. Some graphical representation similar to day-view in iCal would be perfect, but if I have this information textual I could always implement that part myself.


I've been doing some research myself and found out about the dns-sd tool. For example:

dns-sd -B _afpovertcp._tcp local

lists all computers with AFP enabled.

However, two problems:

  • the dns-sd utility from the command-line is not well suited for scripts, the man page recommends against it, the command also doesn't terminate itself
  • The above example does not work when AFP file sharing is disabled
  • 2
    Good question!!! I like it!
    – daviesgeek
    Apr 9, 2012 at 21:02
  • I have an mDNS module for node.js that I could post up on github if you were interested.
    – Dick Hardt
    Apr 12, 2012 at 20:15
  • @DickHardt If that could be a possible solution I'm more than interested!
    – Gerry
    Apr 13, 2012 at 6:38
  • If you are simply asking if it is possible… YES, it is. (as is almost everything in this world), but you either need to hire a developer, or learn about dns-sd and writing scripts / software that supports it, as I doubt there is anything off the shelf for this...
    – alex gray
    Apr 15, 2012 at 21:27

2 Answers 2


It looks like you want something like NetSpy or ActyMac to monitor employee activity. It will handle what you want and more, although I'm not sure I would suggest the orwelian approach to employee management.

You may want to look into a pure network monitoring tool like Paessler.

The easiest solution would be for you to just monitor the server log on your OS X server for the time the user logs-in and logs out. A simple script that tracks the time and totals them into a spreadsheet using a nightly cron job.

You can also just use the last command as seen in the screenshot aslong as the file has not be cleared.

Console Example

You may want to try other basic unix system logging scripts.

  • Thank you, some nice suggestions, but not exactly what I was looking for yet. I'll clarify some points by editing my question.
    – Gerry
    Apr 12, 2012 at 6:04

You may want to look into a network monitoring tool like Motadata

  • 1
    Can you elaborate your answer to explain how exactly this tool can be used to solve the problem described in the question?
    – nohillside
    Mar 18, 2019 at 14:07

You must log in to answer this question.

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