Я использую компьютер, который подключен к Интернету через Ethernet-кабель и модем. Мой друг использует тот же модем, но он подключается к нему через Wi-Fi. Тем не менее, я не хочу нести ответственность за нелегальные и защищенные авторским правом загрузки, поэтому я хочу ограничить сайты, такие как ThePirateBay и PopcornTV, с моего Wi-Fi. Проще говоря, я хочу создать прокси-сервер таким образом, чтобы при попытке доступа к этим веб-сайтам через мой Wi-Fi вместо содержимого веб-сайта отображалось указанное сообщение.

Также, чтобы предотвратить нелегальные загрузки, я хочу сделать что-то вроде одобрения теста. Когда кто-то, кто использует мой Wi-Fi, загружает файл или отправляет что-то на сервер, я хочу проверить SHA-256 этого файла или сообщения. Если хэш находится в черном списке, он должен быть отклонен (или изменен, а затем отправлен).

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

Было бы лучше, если бы это было возможно, используя только программный подход (изменение некоторых параметров внутри домашнего шлюза). Если для этого нет встроенной опции, есть ли какой-нибудь модем-симулятор? Любые другие идеи будут оценены.

РЕДАКТИРОВАТЬ

Суть моего вопроса НЕ в том, как проверить, находится ли какое-либо сообщение в черном списке или как изменить его хэш. Это всего лишь ПРИМЕРЫ, поэтому, пожалуйста, не жалуйтесь, что нереально пытаться проверить файл по хешу. Основной вопрос - как проверить / изменить запросы пользователей перед отправкой данных на сервер.

1 ответ1

0

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

Первая проблема, с которой вы столкнулись, заключается в том, что "модем" на самом деле не модем, а маршрутизатор со встроенным модемом. Это означает, что когда ваш друг подключен, трафик не пересекает ваш компьютер. Для того, чтобы он проходил через ваш ПК, вам нужно либо изменить настройки оборудования, чтобы пройти через ваш ПК и другую точку доступа, либо перехватить трафик на маршрутизаторе. Если у вас есть стандартный маршрутизатор потребительского уровня, это практически невозможно - если только вы не можете запустить DD-Wrt, Tomato или аналогичный, в этом случае это просто очень сложно. Вы должны знать, что то, о чем вы говорите, также сильно загружает процессор, и ваш маршрутизатор может быть недостаточно мощным.

Проверка SHA-256 файла в пути, хотя, возможно, теоретически возможна - на самом деле не практична - помимо других причин, это нарушит потоковую передачу и соединение tcp. Ваше устройство должно будет распознать и загрузить весь файл, а затем проверить его перед отправкой. Это будет означать длительные задержки, большое количество используемых ресурсов и нарушит стек TCP из-за тайм-аутов и т.д. Кроме того, как предположили комментаторы, его можно легко обойти, используя шифрование, сжатие, смещение представления набора символов или целый ряд других вещей.

Чтобы ответить на ваши изменения - для того, чтобы не проверять / изменять запросы, вам необходимо установить на маршрутизаторе прокси-сервер, который способен проверять и изменять данные.

Тем не менее, могу ли я предположить, что ваша концепция ошибочна. Если вы пытаетесь заблокировать The Pirate Bay и Popcorn TV, вероятно, вы захотите заблокировать протокол bittorrent - это легко. Просто ограничьте входящий и исходящий трафик для известных портов, связанных с приемлемыми услугами. Это нарушит протокол, так как использует разные порты для тех вещей, которые вы можете использовать для прокси. Это также легко на маршрутизаторе, поскольку он не требует прокси и т.д. [Опять же, это может или не может быть возможно, в зависимости от вашего маршрутизатора. Какой роутер у вас есть? ]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .