Apple does provide this in Activity Monitor. Click the "Network" tab and you'll see "Data received:" and "Data sent:". It tally's since the last reboot.
It would be nice to have a history feature though. Plus, there's no easy way to ask "How much bandwidth do I have left this payment period before Comcast starts billing me for going over my monthly limit?"
You'd have to tally total bandwidth, and then associate it with an internet connection. You could track internet connections via DNS/public-IP info, and possibly MAC address for WAPs. If you're a laptop user jumping from WAP-to-WAP, it would be nice to know when you're online at home, or in a Starbucks, and differentiate total bandwidth used for each.
Activity monitor does not show a bandwidth usage on a process to process basis.
Since the app in the link is a list of processes and where they are connecting it would be nice to see how much bandwidth each of these connections is using.
I like the minimalism of this, just a connection monitor, nothing else. Great work!
1 feature request tough: I've installed RadioSilence also, and it would be very handy to be able to drag&drop apps from PrivateEye to RadioSilence to be silenced. Lack of this doesn't stop me from using this, but would make life a bit easier.
It seems like you check for SYN packets, so there is no way to just see the connection currently active. This in my opinion limits the usefulness of the application, it would be cool to see an update that can have a tab for "live" connections and one for the "history". Thanks for the app anyway.
Thanks for the info. I'll look into the Java issue. Wonder if they do something unorthodox with their traffic.
The connection details is something I've pondered about. Port numbers, at least, might be useful. At some point, the user is better served by wireshark anyway. Drawing the line isn't a trivial problem. Any suggestions are appreciated.
Good question. I honestly have no idea. The kext has to be owned by root:wheel for the system to accept it. Making a pkg installer was the simplest solution I knew of.
VMWare and most applications that do this use Authorization Services. It's what pops up the dialog asking you to enter your password. Feels pretty magic to use it.
The downside to packages (in users' minds) is that you have no idea where the pkg is going to install things, and also no idea how to clean it up later.
It's assumed that an .app, however, will remain self-contained.
I believe smcfancontrol installs its kext by demand from inside the Cocoa App. I don't know how it's done (I only do UNIX stuff on my Mac =/) but I believe it changes the .kext owner and invokes kextload. You can 'sudo' from inside a Cocoa App by using AuthorizationExecuteWithPrivileges:
About PKGs: I think that they're okay, but, historically, they're maligned for being "black boxes" that install files all over your system. App files, OTOH, are (99% of the time) clean, live on /Applications, and sometimes use ~/Library.
I would love to support Snow Leopard, and it's something I'll work on next. Lion simply brought some much-needed upgrades to table based UI development, which I wanted to use. It cut down the development time by a significant amount.
Supporting Snow Leopard requires a rewrite for most of the UI logic. I wanted to get the first version out before crossing that bog.
Very nice looking program - can certainly see myself using it to keep track of what's going on on my Mac.
One thing I've noticed though, is that it doesn't seem to be catching network activity that's taking place from the command line. I'm running an SSH session, and just tried pinging a server from the terminal and it didn't see either of those. If you can add that as well, then it would be even more useful.
It should notice command line ssh connections (it only logs new connections, not already established ones).
Pings aren't really connections, so it doesn't list them. I understand that it's not perhaps the best choice for it to act this way. Putting this into consideration.
It's probably using some high-level Cocoa network framework, and not kernel-level functionality like netstat does. So my guess is only apps using the same high-level net framework are listed.
Because of the user interface. It's a dumb issue, but Lion changed the way table views work. Getting from 0 to MVP was about twice as fast with the new Lion features.
It's something I consider improving, though. Fundamentally, the same app should work on 10.6 too.
The bandwidth suggestions are good, but rather than suggest more, I'll just say I really like the way you've laid things out. The UI lets me see data via the angles I'd want to see it.
Thanks! I spent a decent chunk of notebook pages and pen ink to get it the way it currently is. It feels really good to hear someone appreciates the design.
My plan is to give the software away for free, but keep the distribution somewhat centralized and the source closed. The app is, on a business level, a marketing tool for my Radio Silence firewall. I hope it will drive traffic and links to the site by giving away a complementary product for free.
Sharing the source through github might work against that goal.
The open source approach surely has its benefits. However, I think/guess/believe the free closed-source app has more direct effects on my visitor traffic. Open sourcing the software would probably help me build some kind of personal branding, but it's not a goal I'm actively working for right now. Currently, my priority is to get radiosilenceapp.com more visibility and authority.
this looks useful, so i had a look for the linux equivalent. turns out there's a command line utility called nethogs that does something similar (it shows bandwidth per process, but not addresses). for opensuse you can get it here - http://software.opensuse.org/search?q=nethogs&baseprojec...
another command, iftop, shows connections, but not processes (that's in the standard opensuse repos).
One feature request though, it would be very useful to be able to view the complete URL of HTTP connections. God knows how many times I had to setup a local proxy to find out that information.
I think this app works at a lower level though, by intercepting TCP connections. To show you the URL it would have to proxy all the traffic and understand the HTTP protocol.
That's right. Of course, parsing the http requests isn't a monumental task, and it could be done. I'm just not sure whether it's worth it. Wireshark already exists, and I see no reason to compete with it.
Great, I just bought it. Any chance of incorporating Private Eye into Radio Silence, at least for the purpose of selecting the apps I want to block? Or being able to drag and drop an app from Private Eye into Radio Silence would be enough. It's just that selecting those apps is really painful from the file dialog, especially if they're obnoxious system services like helpd.
Update: The problem was related to 32 vs 64 bit kernels, and is fixed now. I also received an email confirmation from everyone who reported the issue that it works for them. Thanks!
Firstly, this looks very interesting and from the screenshots seems very impressive.
It doesn't work for me as well (Macbook / Lion 10.7.1). I DON'T see "com.radiosilenceapp.nke.PrivateEye" listed as well.
I haven't moved the app to a different folder.
Do let us know if this is resolved.
The problem seems to be about kernel architecture compatibility. I'm going through the build settings etc to see if there's some reason this happens. I'll keep this thread updated.
The downloadable package is now updated, and it should support 32 and 64 bit kernels. Please let me know if there are any more problems. Thanks for everyone's patience!
* Edit: I also emailed everyone who had contacted me about this.
This post seems to not have been appreciated by all. I understand and I apologize for the inconvenience. It have never been my intention to abuse of this method. I will not do it again. Thx.
Bandwidth usage would be nice. This is something that little-snitch doesn't already do and you can't see it in activity monitor as far as I know.
Any chance of right-clik "record traffic to file for X seconds"?