Monday, February 20, 2017

Install python scapy on MAC OS X Sierra

Python ships by default with OSX and resides in the path /usr/bin/python. Having run into a lot of problems with installing and using scapy and other packages with the correct version of python, pip and homebrew, I decided to write steps that anyone can follow to setup a clean and working python environment in OSX without running it in a virtual environment.

Step 0: Check existing python version by the command `which python`. This should yield
$ /usr/bin/python

Step 1: Install homebrew
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
(Reference: https://brew.sh/)

Step 2: Install python and pip using brew and pypcap using pip:
brew install python
pip install pypcap

Step 3: Setup your PATH variable correctly in ~/.bashrc to use the python installed by the above command in /usr/local/bin:
PATH=/usr/local:/usr/local/bin:$PATH
(add the above line at the end of your ~/.bashrc or ~/.zshrc, whichever shell you are using)

Step 4: Force updates to PATH variable by using source:
$ source ~/.bashrc

Step 5: At this point, if everything worked correctly, the output of `which python` and `which pip`should yield /usr/local/bin/python and /usr/local/bin/pip respectively

Step 6: Install scapy
$ pip install scapy

Step 7: Run scapy
If you get errors like "INFO: Can't import packageXYZ. ...", see step 8 below to fix dependencies.

Step 8: Fix Dependencies
i) pyx
(If using python 2.7): $ pip install pyx==0.12.1 -I --no-cache
(If using python 3): $ pip install pyx

ii) pycrypto
$ pip install pycrypto

iii) ecdsa lib
$ pip install ecdsa

Step 9: Test scapy again
19:55:35 Karans-MacBook-Pro ~: scapy
Welcome to Scapy (2.3.3)
>>>

The above shows a successful run of scapy with all dependencies correctly installed.

3 comments:

  1. Useful article. You can probably add the below as step 8 - (iv) to avoid matplotlib warning.
    (iv) pip install matplotlib

    ReplyDelete
  2. Ah, there is a good discussion about this point on this paragraph in this place on this website .The Turkey visa requirements generally differ as per the visa type you want to apply for, your nationality, and the duration of stay. Do you want to know more about the requirements of a Turkish visa ?

    ReplyDelete