как работает приложение, которое блокирует веб-сайты? - PullRequest
2 голосов
/ 13 июня 2010

Мне известен только один низкоуровневый способ блокировки сайтов - файл hosts. Однако очевидно, что у основных потоковых программ есть другой способ достижения этого.

У меня есть идея для новой модели такого рода программ, но без возможности блокировки сайтов это бесполезно: (

Блокировка - это одна проблема, другая - фильтрация и замена контента в веб-браузере. Любые подсказки?

Edit:

Я обнаружил, что многие программы фильтрации используют открытую исходную библиотеку WinPcap. Похоже, это отлично подходит для проверки того, какие сайты пытается открыть пользователь. Но, конечно, мне нужно иметь возможность блокировать сайты, например, заменяя запрошенные сайты сайтами с информацией о блокировке. Можно ли этого достичь с помощью WinPcap?

Ответы [ 3 ]

1 голос
/ 14 июня 2010

WinPcap используется для двух вещей: анализ пакетов и отправка пакетов. Он не может предотвратить поступление или отправку пакетов.

Вы можете использовать WinPcap для вмешательства в некоторые соединения, чтобы разорвать их или изменить.

Примеры:

  1. Отправка пакетов RST (сброс) в TCP для разрыва соединения TCP.
  2. Отправляйте ответные пакеты на пакеты HTTP GET с вашей информацией, чтобы получить другой результат и игнорировать фактический результат.

Это не помешает отправке или прибытию пакетов, но может заставить клиента или сервер игнорировать другие пакеты и использовать ваши.

0 голосов
/ 13 июня 2010

В зависимости от рассматриваемой среды, вы можете рассмотреть возможность запрета различных записей DNS, если вы находитесь в корпоративной среде, где все используют одни и те же DNS-серверы.Это касается браузеров и других утилит, например приложений AIR, которые также могут отправлять веб-запросы. WebSense - это то, что мой работодатель использует для мониторинга интернет-трафика, хотя это может быть излишним для того, что вы думаете.

0 голосов
/ 13 июня 2010

Вы всегда можете написать надстройку для браузера, но надстройка может быть легко отключена пользователем.Я не уверен, что вы можете заблокировать сайты с помощью надстройки, но вы уверены, что можете заблокировать то, что загружено и отображается на странице (подумайте Adblock Plus ).

Если вы хотитесделать его более пуленепробиваемым, тогда вам придется создать программу, которая подключается к потоку данных, прежде чем он войдет в браузер.Вероятно, для этого требуется хорошее понимание платформы, на которую вы ориентируетесь со своим программным обеспечением.

...