Scapy — инструмент создания и работы с сетевыми пакетами. Программа написана на языке python, автор Philippe Biondi. Познакомиться с основным функционалам можно здесь. Scapy — универсальный, поистине мощный инструмент для работы с сетью и проведения исследований в области информационной безопасности. В статье я попытаюсь заинтересовать Вас использовать scapy в своей работе/проектах. Думаю, что лучше всего этого можно добиться, показав на примерах основные преимущества scapy.
В качестве примеров я возьму простые и наглядные задачи, которые можно решить средствами scapy. Основным направлением будет формирование пакетов для реализации того или иного вида атак.Читать полностью »
Рубрика «python» - 247
Мощь Scapy
2015-03-09 в 20:21, admin, рубрики: python, scapy, информационная безопасность, метки: scapyДва с половиной приема при работе с argparse
2015-03-07 в 20:27, admin, рубрики: argparse, python, метки: argparseПриемы, описанные здесь, есть в официальной документации к модулю argparse (я использую Python 2.7), ничего нового я не изобрел, просто, попользовавшись ими некоторое время, убедился в их мощности. Они позволяют улучшить структуру программы и решить следующие задачи:
- Вызов определенной функции в ответ на заданный параметр командной строки с лаконичной диспетчеризацией.
- Инкапсуляция обработки и валидации введенных пользователем данных.
Оформление документации в Doxygen
2015-03-07 в 18:54, admin, рубрики: C, C#, c++, doxygen, php, python, документирование, документирование кода, Программирование, метки: Doxygen
Недавно мной была написана статья, посвященная системе документации Doxygen (если вы не знакомы с данной системой, то советую обратить внимание на указанную статью и познакомиться с ней хотя бы в общих чертах). В комментариях к ней был поднят важный вопрос об оформлении документации в Doxygen, и этот вопрос актуален, поскольку зачастую используется стандартное оформление, которое хоть и практичное, но достаточно невзрачное.
В данной статье я отвечу на этот вопрос. Для этого мы рассмотрим общие принципы оформления документации Doxygen, познакомимся с ними, и посмотрим на примерах, чего можно добиться, основываясь на них.
Читать полностью »
Гранты, митапы и школы для начинающих и продолжающих разработчиков в Москве и не только. Выпуск второй
2015-03-06 в 7:01, admin, рубрики: arduino, C, css, html, javascript, Parallels, php, python, scala, Блог компании #tceh, геймдев, образование в ит, образование онлайн, Программирование, С++, самообразованиеПосле первого поста нам написали 7 человек: одна выбила грант для программистов-подростков, у второй компания делает хорошую штуку для студентов-технарей, третья развивает свежий некоммерческий онлайн-проект по теме, четвертый рекомендовал, где проверять скиллы, пятый после нескольких лет разработки игр решил собрать свой первый митап.
А двое только планируют свои школы программирования.
Мы подумали рассказать их истории, плюс восполнить пробел по несколькими не вошедшим в первый дайджест программам.
Это реальный вопрос, заданный ребенком Григорию Бакунову месяц назад. Мы до сих пор ходим улыбаемся
Интересные штуки, касающиеся, в первую очередь, Android и Java вы можете посмотреть в первом выпуске.
А сегодня мы поговорим о C/С#/С++, геймдеве, Ruby, Linux, Arduino, курсах для ваших детей, племянников и детей ваших знакомых. И – PHP.
Читать полностью »
Документируем код эффективно при помощи Doxygen
2015-03-06 в 5:37, admin, рубрики: C, C#, c++, doxygen, java, php, python, документация, документирование кода, Программирование
Данная статья представляет собой введение в систему документирования исходных текстов Doxygen, которая на сегодняшний день, по имеющему основания заявлению разработчиков, стала фактически стандартом для документирования программного обеспечения, написанного на языке C++, а также получила пусть и менее широкое распространение и среди ряда других языков.
В этой статье мы сначала познакомимся с самой системой и её возможностями, затем разберёмся с её установкой и базовыми принципами работы, и, наконец, завершим знакомство рассмотрением различных примеров документации, примеров того, как следует документировать те или иные части кода. Словом, познакомимся со всем тем, что позволит вам освоится и начать работать с этой замечательной системой.
Читать полностью »
Доказательство некорректности алгоритма сортировки Android, Java и Python
2015-03-01 в 13:00, admin, рубрики: java, python, timsort, Алгоритмы, баг, Программирование, Разработка под android, сортировкаТим Петерс разработал гибридный алгоритм сортировки Timsort в 2002 году. Алгоритм представляет собой искусную комбинацию идей сортировки слиянием и сортировки вставками и заточен на эффективную работу с реальными данными. Впервые Timsort был разработан для Python, но затем Джошуа Блох (создатель коллекций Java, именно он, кстати, отметил, что большинство алгоритмов двоичного поиска содержит ошибку) портировал его на Java (методы java.util.Collections.sort и java.util.Arrays.sort). Сегодня Timsort является стандартным алгоритмом сортировки в Android SDK, Oracle JDK и OpenJDK. Учитывая популярность этих платформ, можно сделать вывод, что счёт компьютеров, облачных сервисов и мобильных устройств, использующих Timsort для сортировки, идёт на миллиарды.
Но вернёмся в 2015-й год. После того как мы успешно верифицировали Java-реализации сортировки подсчётом и поразрядной сортировки (J. Autom. Reasoning 53(2), 129-139) нашим инструментом формальной верификации под названием KeY, мы искали новый объект для изучения. Timsort казался подходящей кандидатурой, потому что он довольно сложный и широко используется. К сожалению, мы не смогли доказать его корректность. Причина этого при детальном рассмотрении оказалась проста: в реализации Timsort есть баг. Наши теоретические исследования указали нам, где искать ошибку (любопытно, что ошибка была уже в питоновской реализации). В данной статье рассказывается, как мы этого добились.
Статья с более полным анализом, а также несколько тестовых программ доступны на нашем сайте.
Читать полностью »
Как мы домены мониторить начали и что из этого получилось
2015-02-26 в 16:07, admin, рубрики: DNS, python, whois, как не потерять доменВсем привет! Все началось с того, что у нас в компании развелось очень много доменов которые нужно вовремя продлевать. И вот, после одного провала с продлением доменов, было принято решение начать мониторить дату истечения домена и выводить его в мониторинге Nagios.
Обучение на больших данных: Spark MLlib
2015-02-26 в 13:53, admin, рубрики: Apache, big data, data mining, Hadoop, python, spark, анализ данных, Большие данные, машинное обучение, разработкаПривет!
В прошлый раз мы познакомились с инструментом Apache Spark, который в последнее время становится чуть ли не самым популярным средством для обработки больших данных и в частности, Large Scale Machine Learning. Сегодня мы рассмотрим подробнее библиотеку MlLib, а именно — покажем, как решать задачи машинного обучения — классификации, регресии, кластеризации, а также коллаборативной фильтрации. Кроме этого покажем, как можно исследовать признаки с целью отбора и выделения новых (т.н. Feature Engineering, о котором мы говорили ранее, причем не один раз).
Читать полностью »
Генерация текстур планет как в игре Star Control 2
2015-02-26 в 10:20, admin, рубрики: fault formation, game development, open source, python, star control 2, Алгоритмы, олдскульные игры, Программирование, процедурная генерация, текстура планеты, фрактальные алгоритмы, метки: фрактальные алгоритмыВозможно, кто-то помнит замечательную олдскульную космическую игру Star Control 2. В свое время меня поразила огромная звездная карта с неизведанными планетами, которые предстояло исследовать на фоне разворачивающейся глобальной катастрофы. С тех пор как авторами были опубликованы исходные коды, игра была портирована под новым именем The Ur-Quan Masters на большинство современных платформ.
Покопавшись в исходниках, я обнаружил простой алгоритм, генерирующий текстуры планет, и написал программу на Python, позволяющую генерировать аналогичные текстуры.
Читать полностью »
Форматирование Python-кода
2015-02-26 в 5:23, admin, рубрики: python, идеальный код, оформление кода, Программирование, форматирование кодаВведение
Python, точнее его самый известный представитель CPython, не очень предназначен для каких-либо быстрых расчетов. Иначе говоря, производительность у него не такая уж хорошая. А вот скорость разработки и читаемости отличная.
О читаемости и пойдет речь, а точнее как ее увеличить.
Читать полностью »