Назад | Перейти на главную страницу

Python: как рассчитать данные, полученные и отправленные между двумя IP-адресами и портами

Думаю, это программирование сокетов. Но я никогда не занимался программированием сокетов, ожидая запуска примеров из учебника при изучении Python. Мне нужно еще несколько идей, чтобы реализовать это.

Что мне конкретно нужно, так это запустить программу мониторинга сервера, которая будет опрашивать или прослушивать трафик, обмениваемый с разных IP-адресов через разные популярные порты. Например, как мне получить данные, полученные и отправленные через порт 80 192.168.1.10 и 192.168.1.1 (который является шлюзом).

Я проверил ряд готовых инструментов, таких как MRTG, Bwmon, Ntop и т. Д., Но, поскольку мы планируем провести некоторые исследования конкретных шаблонов, нам необходимо выполнить сбор данных в программе.

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

Мы хотели бы найти способ сделать все это с помощью Python ...

Вам нужны данные в реальном времени или нет? Если нет, вы можете попробовать сбросить данные в файл с помощью tcpdump (с соответствующими фильтрами), а затем проанализировать содержимое. Я думаю, что у python есть достаточно хорошая (lib) поддержка pcap.

Если вам нужно реальное время, вы должны проверить, может ли python захватывать пакеты с помощью pcap (должно быть), не мешая потоку трафика (должно быть).

Так что первым делом нужно будет загуглить "python pcap" и найти для всего этого простейшую оболочку.

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