Ссылка скрыта от гостей
Что такое scapy?
Scapy - это скрипт Python, который позволяет пользователю отправлять, анализировать, анализировать и подделывать сетевые пакеты. Эта возможность позволяет создавать инструменты, которые могут исследовать, сканировать или атаковать сети. Другими словами, Scapy - это мощная интерактивная программа для работы с пакетами. Он может подделывать или декодировать пакеты с большим количеством протоколов, отправлять их по проводам, захватывать их, сопоставлять запросы и ответы и многое другое. Scapy легко справляется с большинством классических задач, таких как сканирование, отслеживание, исследование, модульные тесты, атаки или обнаружение сети. Он может заменить hping, arpspoof, arp-sk, arping, p0f и даже некоторые части Nmap, tcpdump и tshark).
Особенности Scapy
Сделай свой пакет
Scapy позволяет пользователю описать пакет или набор пакетов как слои, которые накладываются друг на друга. Поля каждого слоя имеют полезные значения по умолчанию, которые могут быть перегружены. Scapy не обязывает пользователя использовать заранее определенные методы или шаблоны. Это устраняет необходимость написания нового инструмента каждый раз, когда требуется другой сценарий. В Си для описания пакета может потребоваться в среднем 60 строк. В Scapy пакеты для отправки могут быть описаны только в одной строке с другой строкой для вывода результата. 90% сетевых инструментов зондирования могут быть переписаны в 2 строки Scapy.
Интерпретация многих с помощью одного зонда
При исследовании сети отправляется много стимулов, в то время как только несколько из них отвечают. Если выбраны правильные стимулы, желаемая информация может быть получена по ответам или отсутствию ответов. В отличие от многих инструментов, Scapy предоставляет всю информацию, то есть все отправленные стимулы и все полученные ответы. Изучение этих данных даст пользователю необходимую информацию.
Scapy - декодировать
Общая проблема с инструментами зондирования сети заключается в том, что они пытаются интерпретировать полученные ответы, а не только декодировать и давать факты. Сообщения вроде Received a TCP Reset на порту 80 не подвержены ошибкам интерпретации. Сообщение о том, что порт 80 закрыт, является интерпретацией, которая может быть правильной большую часть времени, но неправильной в некоторых специфических контекстах, которые автор инструмента не представлял. Например, некоторые сканеры, как правило, сообщают об отфильтрованном TCP-порте, когда они получают ICMP-получатель недоступного пакета. Это может быть правильно, но в некоторых случаях это означает, что пакет не был отфильтрован брандмауэром, а скорее не было узла для пересылки пакета. Результаты интерпретации могут помочь пользователям, которые не знают, что такое сканирование портов, но оно также может принести больше вреда, чем пользы, так как оно впрыскивает смещение в результаты. Что может иметь тенденцию происходить, так это то, что для того, чтобы они могли делать интерпретацию сами, знающие пользователи будут пытаться перепроектировать интерпретацию инструмента, чтобы вывести факты, которые вызвали эту интерпретацию. К сожалению, в этой операции теряется много информации.
Для практической демонстрации вы должны обратиться к приведенному выше видео. В приведенном выше видео scapy работает на машине kali с Wireshark, чтобы увидеть, что на самом деле происходит в сети,
Чтобы запустить scapy, просто наберите scapy в терминале , вы войдете в интерфейс командной строки scapy, в видео выше были продемонстрированы некоторые функции scapy:
Подмена ip и отправка пакетов
Команда:
Код:
send(IP(src=”false ip address”, dst = “target addresss”) /ICMP()/”any message”)
Обработка сетевого трафика
Команда:
Код:
sniff(iface= “eth0”, prn= lambda x : x. summary)
DOS атаки
Команда:
Код:
send(IP(src=”false source address”,dst = “target address”)/TCP(sport =source port ,
dport= target port), count = no of packets)
Ссылка скрыта от гостей