Scapy

Network Analysis v2.7.0 · 26.12.2025 активный

Мощная Python-библиотека и интерактивная оболочка для работы с сетевыми пакетами. Позволяет создавать, отправлять, перехватывать и анализировать пакеты любого протокола. Возможности: - Создание пакетов любого протокола: Ethernet, IP, TCP, UDP, DNS, ARP... - Отправка и получение на уровне L2/L3 - Интерактивный REPL для быстрых экспериментов - Фаззинг протоколов - Traceroute, ARP-scan, ping с кастомными пакетами - Чтение/запись PCAP-файлов - Поддержка 70+ протоколов из коробки

v2.7.0
26.12.2025 current
Добавлен 19.06.2026 · Обновлён 19.06.2026 · Network Analysis
Установка
# pip:
pip install scapy

# apt (с дополнениями):
sudo apt install python3-scapy

# Запустить интерактивный режим:
sudo scapy

# Примеры:
# Ping:
>>> send(IP(dst="8.8.8.8")/ICMP())

# ARP-сканирование подсети:
>>> ans = srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="192.168.1.0/24"), timeout=2)[0]
>>> for r in ans: print(r[1].psrc, r[1].hwsrc)

# Собственный TCP SYN:
>>> sr1(IP(dst="target.com")/TCP(dport=80, flags="S"))

# Читать PCAP:
>>> pkts = rdpcap("capture.pcap")
переведено ИИ

Scapy   Scapy

Scapy unit tests Codecov Status Codacy Badge PyPI Version License: GPL v2 Join the chat at https://gitter.im/secdev/scapy

Scapy — это мощная программа и библиотека для интерактивной манипуляции пакетами на основе Python.

Она способна формировать или декодировать пакеты широкого спектра протоколов, отправлять их по сети, перехватывать, сохранять или читать с помощью pcap-файлов, сопоставлять запросы и ответы, и многое другое. Она разработана для обеспечения быстрого прототипирования пакетов с использованием значений по умолчанию, которые работают.

Она легко справляется с большинством классических задач, таких как сканирование, трассировка маршрутов, зондирование, модульные тесты, атаки или сетевое обнаружение (она может заменить hping, 85% функционала nmap, arpspoof, arp-sk, arping, tcpdump, wireshark, p0f и т.д.). Она также очень эффективна во многих других специфических задачах, с которыми большинство других инструментов не справляются, таких как отправка невалидных фреймов, инъекция собственных 802.11 фреймов, комбинирование техник (VLAN hopping + ARP cache poisoning, декодирование VoIP на канале с WEP-защитой и т.д.) и т.д.

Scapy поддерживает Python 3.7+. Она разработана для кроссплатформенности и работает на различных платформах (Linux, OSX, *BSD и Windows).

Начало работы

Scapy можно использовать как в режиме оболочки, так и как библиотеку. Для получения дополнительной информации, пожалуйста, обратитесь к разделу Начало работы с Scapy, который является частью документации.

Демонстрация оболочки

Scapy install demo

Scapy можно легко использовать как интерактивную оболочку для взаимодействия с сетью. Следующий пример показывает, как отправить ICMP Echo Request сообщение на github.com, а затем отобразить IP-адрес источника ответа:

sudo ./run_scapy
Welcome to Scapy
>>> p = IP(dst="github.com")/ICMP()
>>> r = sr1(p)
Begin emission:
.Finished to send 1 packets.
*
Received 2 packets, got 1 answers, remaining 0 packets
>>> r[IP].src
'192.30.253.113'

Ресурсы

Документация содержит более продвинутые варианты использования и примеры.

Другие полезные ресурсы:

Установка

Scapy работает без каких-либо внешних модулей Python в операционных системах на базе Linux и BSD. В Windows необходимо установить некоторые обязательные зависимости, как описано в документации.

На большинстве систем использовать Scapy так же просто, как выполнить следующие команды:

git clone https://github.com/secdev/scapy
cd scapy
./run_scapy

Чтобы воспользоваться всеми функциями Scapy, такими как построение графиков, возможно, потребуется установить модули Python, такие как matplotlib или cryptography. Ознакомьтесь с документацией и следуйте инструкциям по их установке.

Статус упаковки

Packaging status

Лицензия

Исходный код, тесты и инструменты Scapy лицензируются по лицензии GPL v2. Документация (всё, если не указано иное в doc/, за исключением логотипа) лицензируется по лицензии CC BY-NC-SA 2.5.

Вклад в проект

Хотите внести свой вклад? Отлично! Пожалуйста, уделите несколько минут, чтобы прочитать это)!

Комментарии
Войдите, чтобы оставить комментарий