Python

Python для взлома, построение сканера портов

Python для взлома, построение сканера портов

Python для взлома: создайте сканер портов в 13 строк с помощью Python

Стать тестером на проникновение - это не просто иметь возможность мгновенно использовать определенную цель.  Использование чужих пентест-инструментов не сделает из кого-то хорошего хакера. На самом деле, те, кто полагается на инструменты, обычно отмечены как скриптовые дети. Каждая область знаний должна иметь уровни, это также называется процессом, не последним из которых является область взлома. Как гласит следующая популярная цитата: «Легенд не родилось, легенды созданы». Дело не в таланте, а в наборе навыков.

В следующей статье мы узнаем о реализации языка программирования в сфере взлома. Кто не знает о языке программирования Python? Да конечно ты уже знаешь. Python создан для общих целей, таких как разработка настольных приложений с его графическим интерфейсом, веб-разработка, включая тестирование взлома или проникновения. У Python есть активное сообщество (некоторые из них безумны,.k.фанатик), а в Python также есть богатые библиотечные модули.

Python также стал моим любимым языком программирования, так как я знал область тестирования на проникновение. Я не люблю это как должное. Однако по какой-то причине, по сути, python - менее сложный и более эффективный язык программирования. Я имею в виду, что он почти близок к человеческому языку, не так ли?? С точки зрения новичка, вроде моей, читабельность Python безумна.

Хорошо, достаточно, чтобы преувеличить питон. Теперь я объясню суть этой статьи. Здесь мы научимся создавать простой сканер портов с подробным описанием всего 13 строк. (мне нравится 13). Здесь мы не собираемся побеждать NMap «короля сканеров портов», вместо этого цель этого состоит в том, чтобы понять, как инструмент работает таким образом, чтобы производить то, что мы хотим, в данном случае чтобы увидеть, открыты или нет. С другой стороны, есть и другие преимущества, я.е. когда в какой-то момент мы сталкиваемся с условием, когда мы хотим выполнить сканирование портов маршрутизатора, который не может подключиться к Интернету, и у нас нет никаких инструментов. Это будет, конечно, проще, если мы сами сделаем сканер портов. Цитата из приведенной выше цитаты. Я добавил: «Хакеры не используют инструменты, они создают инструменты»

Давайте сделаем это с практикой, откроем ваш любимый текстовый редактор. Не тратьте зря время, используя высокопроизводительную среду IDE для выполнения простых сценариев. Просто будь эффективным. Я предпочитаю Gedit, а не готовый текстовый редактор Kali Linux, Leafpad. По одной причине Gedit поддерживает выделение цветом для различных языков программирования. Введите следующий текст в текстовом редакторе.

импортный сокет
sock = сокет.розетка (розетка.AF_INET, сокет.SOCK_STREAM)

В строке 1 нам нужно импортировать модуль socket, чтобы использовать функцию socket (). В строке 2 мы создаем объект сокета с синтаксисом:

разъем.сокет (socket_family, socket_kind)

Socket_family может быть: AF_INET, AF_INET6, AF_UNIX, AF_NETLINK, AF_TIPC, AF_BLUETOOTH и AF_ALG.

Socket_kind варианты SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM и т. Д. Мы используем SOCK_STREAM потому что мы будем общаться по протоколу TCP.

Чтобы узнать больше о модуле сокета, посетите официальную документацию сокета по адресу https: // docs.питон.org / 3 / библиотека / сокет.html

Продолжим программу следующими строчками:
https: // аналитика.Google.ru / analytics / web / # realtime / rt-content / a2559550w156331077p157923904 /

target = input («[+] Введите целевой IP-адрес:«)

Мы просим пользователя ввести целевой IP-адрес, поскольку мы используем AF_INET создать розетку.

def сканер (порт):
пытаться:
носок.подключить ((цель, порт))
вернуть True
Кроме:
вернуть ложь

В следующих строках выше мы определяем сканер () функция. В сканер () мы используем пытаться синтаксис, чтобы гарантировать, что мы не выдадим никаких ошибок, если возникнут какие-то проблемы. Пробуем подключиться к целевому IP и его порту. Переменная порта передается в функцию, как показано ниже.

для portNumber в диапазоне (1,100):
print ("Порт сканирования", portNumber)
если сканер (номер порта):
print ('[*] Порт', номер порта, '/ tcp', 'открыт')

Этот цикл for выше предназначен для перебора серии портов, которые мы собираемся сканировать. Синтаксис диапазон() функция, диапазон (начало с x, остановка перед x). Итак, в строке 10 мы просканируем 100 портов, то есть от 1 до 99. Мы используем вызов метода печати, чтобы узнать, какой порт сейчас сканируется. Затем мы возвращаем логический тип, True или False. Он называет наш сканер () функция, которая пытается установить соединение с предоставленным портом; если это возвращается Ложь (попытка подключения не удалась).  Если он вернется Правда (соединение успешно) затем перейдите к следующей строке. Что отображает сообщение, указывающее, что этот конкретный порт Открыть. Этот цикл остановится, как только мы просканируем порт 99.

В заключение, наш 13-строчный сканер портов должен выглядеть так:

Хорошо, теперь время проверить это, давайте посмотрим, как это работает. Сохранить как сканер.ру. Если мы собираемся сканировать открытые порты нашего собственного маршрутизатора в диапазоне от 1 до 99. Поверьте, это не будет привлекательно по сравнению с NMap, просто сосредоточьтесь на нашей цели, о которой я упоминал выше.

Целевой IP: 192.168.1.1

Синтаксис для вызова сканер.ру является:

~ # сканер python3.ру

Поскольку мы не установили нашу среду сценария в первой строке, поэтому нам нужно вызвать интерпретатор Python, я использовал python3, а не его более низкую версию.

А нехитрый вывод должен выглядеть так:

В ЗАКЛЮЧЕНИИ

Да, нам удалось построить простой сканер портов с нуля на python всего в 13 строк. Нам удалось достичь своей цели, и теперь мы знаем, как все работает, правильно?. Даже я не сказал вам, что есть парень, который сделал модуль NMap-python, вы не удивитесь. Этот модуль в основном может запускать команду NMap с использованием языка программирования python.

Ах да, если вам интересно, где взломать просто сканирование портов? Хм ... Ну, а на что хакер нацеливается, если они не имеют ни малейшего представления о самой цели?. Вы помните фазы или циклы тестирования на проникновение?? В противном случае вам может потребоваться прочитать статью здесь:

https: // linuxhint.com / Kali-linux-учебник /

Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...
Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...
Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...