Создаем инструмент сканирования при помощи языка Python

Go to class
Write Review

Free Online Course: Создаем инструмент сканирования при помощи языка Python provided by Coursera is a comprehensive online course, which lasts for 4 weeks long, 33 hours worth of material. The course is taught in Russian and is free of charge. Upon completion of the course, you can receive an e-certificate from Coursera. Создаем инструмент сканирования при помощи языка Python is taught by Крылов Андрей Юрьевич.

Overview
  • В этом курсе вы:
    - научитесь писать программы для сканирования сети и прослушивания сетевого трафика, проходящего через определенный сетевой интерфейс;
    - напишите собственные утилиты сканирования сети и узлов в ней;
    - создадите программу-сниффер для анализа сетевых пакетов и разработаете гибкую систему фильтров для изучения необходимой информации из этих пакетов.

    Курс рассчитан на IT-специалистов, в т.ч. веб-разработчиков, специалистов по безопасности и желающих ими стать.

Syllabus
    • Создание консольной утилиты сканирования сети
      • В этом модуле вы узнаете, зачем нужна модель OSI, где ее применяют, какие уровни у нее есть и какие протоколы используются на каждом из них. Научитесь ориентироваться в функциях протоколов и понимать, с какими программами, устройствами и другими протоколами они могут взаимодействовать. Также вы напишете утилиту, которая сканирует локальную сеть. Вы узнаете, что такое протокол ARP и каковы его функции, также разберетесь с понятиями «широковещательный запрос» и «адрес». Еще вы узнаете, как сформировать слой Ethernet с помощью библиотеки Scapy. Потом вы напишете вторую утилиту, но на этот раз она не будет ограничиваться сканированием одной лишь локальной сети, а будет сканировать и узлы в интернете. Для этого вы используете протоколы IP и ICMP сетевого уровня, но для начала узнаете, как они работают.
    • Создание консольной утилиты прослушивания трафика
      • В этом модуле вы напишете программу для анализа сетевых пакетов. А для этого познакомитесь поближе с понятием «сетевой интерфейс» и разберете функцию для прослушивания трафика сетевых пакетов с выбранного интерфейса. Еще научитесь фильтровать пакеты по заданным условиям и выводить только нужную информацию из перехваченных пакетов, а также узнаете, как задавать фильтры с помощью BPF-синтаксиса.
    • Создание утилиты сканирования TCP портов
      • В этом модуле вы напишете две утилиты:
        - утилиту сканирования TCP-портов методом системного вызова connect с помощью библиотеки Socket. Для этого вы изучите протокол TCP: поймете, как происходит процесс установления и разрыва соединения, и познакомитесь со структурой полей TCP-сегмента.
        - утилиту для сканирования TCP-портов, но на этот раз она будет посылать всего один сегмент с флагом SYN. А для начала разберетесь, чем отличаются подходы из прошлого урока и из этого и в каких случаях лучше применять тот и другой.
    • Создание утилиты сканирования UDP-портов
      • В этом модуле вы разберете принципы работы протокола UDP и его структуру, а еще научитесь сканировать его порты. Кроме того, узнаете функции протокола, познакомитесь с примерами его использования и структурой UDP-датаграммы. Поймете, в каких ситуациях выгоднее использовать UDP, а в каких TCP.