Короткий ответ: решить эту проблему довольно сложно по причинам, указанным Эриком.
Единственный способ сделать это - настроить что-то вроде WireShark , который будет анализировать весь сетевой трафик на машине и искать запросы к определенному шаблону URL ( facebook ) и запускать таймер всякий раз, когда это происходит.Однако существуют дополнительные сложности, когда кто-то хочет сказать: «Я не хочу тратить здесь больше 20 минут в день», потому что в сегодняшней сети практически невозможно определить, что значит проводить 20 минут на сайте.Посмотрите эту тему на форумах OS X Hints для полезного обсуждения, почему это сложно.Это в основном сводится к тому, как веб-сайты делают запросы для вас в эти дни, а не вы нажимаете вручную.Конечно, если вы не заботитесь о том, чтобы пользователь действительно находился там, а просто предоставляете ему 20 минут в день с момента первого входа на сайт, тогда проблема становится немного проще.
Выможет выяснить, как написать программное обеспечение для вашего маршрутизатора в качестве одного из возможных проектов.Использование Tomato или DD-WRT дает вам возможность контролировать работу вашего маршрутизатора и дает централизованный доступ, необходимый для размещения анализатора во всей сети (особенно если у вас естьнесколько компьютеров, которые вы пытаетесь сделать это).Конечно, это добавляет сложности в попытке выяснить, что значит для одного человека проводить время на сайте по сравнению с другим.Если все ваши ПК однопользовательские, то проблемы не так сложны, но если у вас несколько пользователей на ПК, вы даже не сможете отключить IP-адрес как уникальный пользователь.
Если вы не используетеЕсли вы не хотите программировать свой роутер, то вам придется написать сетевой анализатор и установить его на каждой машине.Что-то вроде jNetStream может дать вам хороший старт, поскольку написание сетевого анализатора, вероятно, не может считаться «простой» программой, как вы думали, что собираетесь писать.
В любом случае, однаждыВы настроили и запустили его, вам просто нужно выяснить, как подключить его к вашей ОС.Я сомневаюсь, что какой-либо язык действительно "не подходит" для этой задачи, поэтому имейте это в виду!