Download and Installation¶
- Install Python 3.x.
- Install Scapy using pip or by cloning/installing from git.
- (For non-Linux platforms): Install libpcap and libdnet and their Python wrappers.
- (Optional): Install additional software for special features.
- Run Scapy with root priviledges.
Each of these steps can be done in a different way dependent on your platform and on the version of Scapy you want to use.
This document is for kamene. It requires python 3.x. See original scapy homepage <http://www.secdev.org/projects/scapy/>_ for Scapy v2.x or earlier.
In kamene use
from kamene.all import * instead of
from scapy import *.
The following steps describe how to install (or update) Scapy itself. Dependent on your platform, some additional libraries might have to be installed to make it actually work. So please also have a look at the platform specific chapters on how to install those requirements.
The following steps apply to Unix-like operating systems (Linux, BSD, Mac OS X). Windows, currently is under development.
Make sure you have Python installed before you go on. Depending on your system you may have to use python3 and pip3 or python and pip for python version 3.x.
The easiest way to install the latest kamene package is using pip.:
$ pip3 install scapy-python3
Current development version¶
$ cd /tmp $ git clone https://github.com/phaethon/kamene $ cd scapy $ sudo python3 setup.py install
If you always want the latest version with all new features and bugfixes, use Scapy’s GitHub repository:
Install git version control system. For example, on Debian/Ubuntu use:
$ sudo apt-get install git
Check out a clone of Scapy’s repository:
$ git clone https://github.com/phaethon/kamene
Install Scapy in the standard distutils way:
$ cd scapy $ sudo python3 setup.py install
Then you can always update to the latest version:
$ git pull $ sudo python3 setup.py install
Optional software for special features¶
>>> enc=rdpcap("weplab-64bit-AA-managed.pcap") >>> enc.show() >>> enc >>> conf.wepkey=b"AA\x00\x00\x00" >>> dec=Dot11PacketList(enc).toEthernet() >>> dec.show() >>> dec
ipython. For interactive sessions using ipython can be great advantage. Install using pip3 or from your package manager
Graphviz. For some visualizations, e.g. traceroute graph, dot is required on the PATH
Matplotlib. Required for interactive plot/graph viewing.
Networkx. Conversations can be converted to Networkx graph if library is present.
PyX. To create PostScript, PDF and SVG files.
LaTeX. To create PostScript and PDF files.
Scapy can run natively on Linux. I does not require libdnet and libpcap.
- Install python3 from your package manager if it is not already present
- Install tcpdump and make sure it is in the $PATH. (It’s only used to compile BPF filters (
- Make sure your kernel has Packet sockets selected (
- If your kernel is < 2.6, make sure that Socket filtering is selected
Just use the standard packages:
$ sudo apt-get install tcpdump python3-crypto ipython3
Mac OS X¶
This section needs updating. In general installing python3, pip for python3, libpcap, libdnet, kamene using pip package scapy-python3 should do the job. Corrections are welcome…
Scapy works on Windows 8/2012 and newer version. Unlike earlier versions libdnet is not required. Testing is being done on following configuration: Windows 10/Anaconda 3.5/WinPcap 4.1.3
On Windows 7 (and possibly earlier) kamene can be used for offline packet crafting/dissection. Sniffing and sending requires manual setting of network interface information and routing as corresponding powershell cmdlets used to gather this information are not working on Windows 7.