Skip to main content

Scapy: interactive packet manipulation tool

Project description

Scapy   Scapy

PyPI Version License: GPL v2

Scapy is a powerful Python-based interactive packet manipulation program and library.

It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, store or read them using pcap files, match requests and replies, and much more. It is designed to allow fast packet prototyping by using default values that work.

It can easily handle most classical tasks like scanning, tracerouting, probing, unit tests, attacks or network discovery (it can replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, wireshark, p0f, etc.). It also performs very well at a lot of other specific tasks that most other tools can't handle, like sending invalid frames, injecting your own 802.11 frames, combining techniques (VLAN hopping+ARP cache poisoning, VoIP decoding on WEP protected channel, ...), etc.

Scapy supports Python 3.7+. It's intended to be cross platform, and runs on many different platforms (Linux, OSX, *BSD, and Windows).

Getting started

Scapy is usable either as a shell or as a library. For further details, please head over to Getting started with Scapy, which is part of the documentation.

Shell demo

Scapy install demo

Scapy can easily be used as an interactive shell to interact with the network. The following example shows how to send an ICMP Echo Request message to github.com, then display the reply source IP address:

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'

Resources

The documentation contains more advanced use cases, and examples.

Other useful resources:

Installation

Scapy works without any external Python modules on Linux and BSD like operating systems. On Windows, you need to install some mandatory dependencies as described in the documentation.

On most systems, using Scapy is as simple as running the following commands:

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

To benefit from all Scapy features, such as plotting, you might want to install Python modules, such as matplotlib or cryptography. See the documentation and follow the instructions to install them.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scapy-2.6.0.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

scapy-2.6.0-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

Details for the file scapy-2.6.0.tar.gz.

File metadata

  • Download URL: scapy-2.6.0.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for scapy-2.6.0.tar.gz
Algorithm Hash digest
SHA256 c8f7eb54511c2fab502128ccf18e2e4b98e1f6af6e02ae15b84ad3039143ba3b
MD5 0fb44b6db8fbb76c0648c9c161067c15
BLAKE2b-256 70ca17cc6ee0dbf342193732312f14bfc879dd162570287fd9f65ac1eb8a9c5f

See more details on using hashes here.

File details

Details for the file scapy-2.6.0-py3-none-any.whl.

File metadata

  • Download URL: scapy-2.6.0-py3-none-any.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for scapy-2.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6cf241e9b93f3b93bbb48fc259edb1d1f14ba1d88d72c80fb66b3b02eb5493dc
MD5 ba2ddaf1d7d612749b6db349e768a275
BLAKE2b-256 a2b9f22f63a901ac642d8e3cbcd017aa71fc3b4e50bde5e8a97cd9b9fddee42e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page