Сети-2 2013-2014

Задачи курса

tracert-as
Написать скрипт, который выводит маршрут (traceroute) и номера автономных систем промежуточных узлов, используя ответы службы whois региональных регистраторов.
Вход: один или более IP-адресов, разделенных пробелами
Выход: для каждого IP-адреса – вывести результат трассировки (или кусок результата до появления ***), для "белых" IP-адресов из него указать номер автономной системы и название сети (дополнительно - страну и провайдера)

sntp
Написать "обманывающий" сервер времени, слушающий 123 порт и отвечающий на корректные запросы по протоколу SNTP корректными ответами (в пакете поля: LI, VN, Mode, Stratum и поля со временем должны быть заполнены осмысленным образом).
Вход: в качестве параметра серверу при запуске передается количество секунд (+ или -) на которое он должен "врать" относительно точного времени.

dns-cache
Написать кеширующий DNS-сервер, слушающий 53 порт и отвечающий на корректные запросы по протоколу DNS (RFC 1035) корректными ответами, данные сервер должен брать из своего кэша или переспрашивать у форвардера («старшего сервера»).
Должно быть реализовано:
* устаревание данных в кэше (обработка TTL)
* временный отказ старшего сервера (сервер не должен терять работоспособность (уходить в бесконечное ожидание, падать с ошибкой и т.д.), если старший сервер почему-то не ответил на запрос к нему)
Хорошо бы, но не обязательно:
* обработка зацикливания (корректное поведение сервера в случае, если в качестве «старшего сервера» указан он же сам, или экземпляр его, запущенный на другой машине)
Вход: в качестве параметра серверу при запуске передаётся IP-адрес форвардера

portscan
Написать многопоточный сканер TCP- и UDP-портов удалённого компьютера.
Минимальная задача - список открытых портов.
Если возможно - определить используемый прикладной протокол.

dns-poison
Написать скрипт, принимающий три параметра - адрес DNS-сервера, символьное имя, значение IP-адреса для символьного имени.
Скрипт должен занести в кеш указанного (заранее подготовленного вами) сервера заданные значения, отличающиеся от настоящих.

smtp-mime
Написать скрипт, который отправляет на указанные в качестве параметра адреса email все картинки из текущего каталога в качестве вложения.
Должно быть реализовано:
* Вывод на экран протокола работы с указанием ответов сервера и посылаемых команд (кроме текста письма)
* корректная обработка ответов сервера, в том числе многострочных

pop3
Написать скрипт, который, спросив адрес и пароль, выводит список писем в ящике: (номер письма, от кого, тема, размер письма)
Должно быть реализовано:
* корректная обработка ответов сервера, в том числе многострочных
* декодирование заголовков From/Subject

http-proxy
Написать скрипт, работающий как HTTP/1.0 прокси. Порт передается в качестве параметра. Дополнительная функциональность - вырезание рекламы (на уровне замены по регулярному выражению).

http-api
майнинг данных через HTTP
Примерный список API и задач: https://www.dropbox.com/s/4bbcxxvvblyijua/api.txt

(Activity)
Техническая запись для вычисления общего балла

Imap Quest