• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

Создание сканера портов на Python. Часть 1: Быстрее чем Nmap

При всем уважении, я в конце статьи привел тесты, где использовался обычный nmap -sV и скрипт из статьи. Там видно что скрипт работал быстрее, можно потестить nmap с разными параметрами, не думаю что что-то сильно измениться. По поводу библиотеки, вы имеете ввиду argparser вместо sys? Я вроде уже признал этот недочёт в комментариях. Не вижу причины стыдиться выкладывать статью.
У Вас появились поклонники. Это здорово :)
 
  • Нравится
Реакции: Revoltage
Дичайший изврат запускать подпроцессы в потоках. Почему бы сразу не использовать ProcessPoolExecutor?
И 65к потоков... Серьезно? GIL: "ну да, ну да... пошел я нахер"
Я пишу вторую часть, спасибочки за указание на недочёты. Исправлю.
 
  • Нравится
Реакции: ace911 и anonym-s
Неужели твой код так быстро работает? Быстрее, чем существующие популярные аналоги?)
Как я понял, основной подход, описанный в данной статье, в ускорении работы программы, заключается в распараллеливании. Честно говоря, это очень сомнительная идея, учитывая, что Python - плохое решение для использования многопоточности с целью решение задач по ускорению выполнения. Причем многие комментарии, а также огромное количество статей в интернете от мастодонтов программирования, говорят об обратном эффекте использования многопоточности в Python проектах)

В основном, если опускаться до привитивизма, многопоточность используется для решения двух задач:
  1. Ускорение вычислений путём распараллеливания выполнения, задействуя вычислительные ресурсы ЭВМ;
  2. Абстрагирование действий пользователя и внутренних процессов программы. Примером решения подобной задачи является любое GUI-приложение.
Многопоточность в Python годится только для выполнения второй задачи, но никак не для ускорения работы выполнения (вычислений, в том числе сканирования). Конечно, есть хитрости, к примеру, некоторые библиотеки для Python вроде PyTorch (если не ошибаюсь с примером) скомпилированна JIT'ом, что позволяет ей работать, не обращая внимания на GIL. Однако в твоём коде никаких подобных хитростей я не заметил)

И так подведу вывод! При всем уважении к стараниям автора, мне статья совсем не понравилась. Вообще не понятно для чего она написана? Какую задачу/проблему решает или освещает? В чем реальные плюсы твоего подхода? Где результаты сравнений с другими сканерами? И самое главное - а почему пользователи должны скачивать именно твою программу, а не тот же самый NMAP?)

На эти вопросы я не нашел ответов в статье, более того у меня еще больше вопросов по самому коду :D
Автору удачи в начинаниях!
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD