Прокси-сервер в C #

1

Я новичок в сетевом программировании на С#, и я хочу создать прокси-сервер, который может использоваться для ограничения доступа пользователей к Интернету, если они превысили ограничение на скачивание.

Моя текущая конфигурация: ---- User → proxy server → wifi router → internet.

Я искал везде, и я обнаружил, что HTTP-прокси можно создать, но очень сложно создать прокси-сервер HTTPS в С#

Даже библиотека С#, такая как Trotinet и mentalis, не поддерживает прокси HTTPS.

Но я обнаружил, что в JAVA много библиотеки, как небольшой прокси-сервер, поддерживающий HTTPS-соединение.

Итак, возможно ли создать полностью функциональный прокси-сервер в С#? или я должен попробовать переключиться на JAVA?

Еще один вопрос. Могу ли я создать простой TCP-клиент, который будет читать его сетевой интерфейс и перенаправить этот поток, как на wifi-маршрутизатор, без необходимости читать его заголовок или что-нибудь еще, будет ли этот метод работать? Просто догадаться, извините за вопрос о нобе.

благодаря

  • 0
    В ответ на ваш вопрос о том, можете ли вы создать TCP-клиент и прочитать его поток, да, вы можете сделать это, используя класс TcpClient и связанный с ним метод GetStream (). Просто создайте прослушиватель AcceptClient (), подключите отдельного клиента к месту назначения и перенаправьте все полученное в потоке прослушивания в поток назначения. Вам все равно нужно будет обработать хотя бы один заголовочный пакет, чтобы вы знали, каким должен быть пункт назначения. Вот учебник по TcpListener и TcpClient tech.pro/tutorial/704/…
  • 0
    Я сделал это, но проблема, с которой я сталкиваюсь, заключается в том, что TCPClient требует номер порта. У роутеров wifi есть номер порта? Я ищу в Google и все еще не могу найти номер порта моего маршрутизатора.
Показать ещё 5 комментариев
Теги:
networking
proxy

1 ответ

2

Ответ на ваш первый вопрос: ДА, вы можете создать полный функциональный прокси HTTPS с С# (аналогично Fiddler). Не нужно переходить на Java. Только для целей тестирования вы можете использовать Fiddler Core. Ядро Fiddler - это полный HTTPS-прокси, написанный на С#. Если у вас есть время и знания, сделайте обратную разработку, используя рефлектор на ядре fiddler и получите представление о реализации.

Последняя фиксация на Trotinet имеет застенчивую реализацию протокола HTTPS. Поэтому, если вы не хотите расшифровывать данные https, Trotinet будет хорошим выбором.

-Kumar

Ещё вопросы

Сообщество Overcoder
Наверх
Меню