Не могу найти подходящую задачу, для дальнейшего развития навыков сетевого программирования на С

Здравствуйте! Несколько месяцев назад, я решил изучить сетевое программирование,GNU/Linux и криптографию, желательно всё в комплексе. Разобраться с GNU/Linux мне помогла установки Gentoo и несколько месяцев настройки. Изучил основную теорию по сетям (протоколы TCP/IP,UDP,... SSL/TLS, структуру пакетов). Изучил BSD Socket API и основы криптографии (симметричное и ассимитричное шифрование, сертификаты/подписи) . Чтобы закрепить знания я написал на С простого клиента и сервера TCP/IP, пересылающих символьную строку, по средством сокетов. После некоторого времени гугления, я решил двигаться в сторону написания снифера. При его написании я изучил структуру пакетов, что такое SOCK_PACKET. Но мне все равно кажется это недостаточным. Я также написал на С клиента и сервера, передающих данные по TLS 1.2, с использованием самоподписаного сертификата, RSA ключа (библиотека OpenSSL). Я не нашел в сети подходящие для меня задачи. В основном советы ,по дальнейшему развитию навыком, касаются добавления дополнительного функционала в простые клиент серверные приложения (добавить кеширование, обработка нескольких клиентов одновременно, добавить хэндлы для ошибок). После гугления, из идей только написание своего sanbox'a (как раз тут С пригодится и возможно криптография), но это не сильно относится к сетям и программу по примеру SSLstrip (для MITM атак). Не считаю эти идеи перспективными для вливания энергии (а может я ошибаюсь?).

Подскажите пример задачи (или ресурсы где их можно найти), которая будет достаточной сложной и желательно включала в себя сетевое программирование, язык С, GNU/Linux и прикладную криптографию )

(чисто как хобби. английский знаю.)
  • Вопрос задан
  • 2549 просмотров
Пригласить эксперта
Ответы на вопрос 1
lesovsky
@lesovsky
System engineer and PostgreSQL DBA
напишите свой впн-сервер или узел tor
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы