Python Scapy
Scapy (http://www.secdev.org/projects/scapy/) is a powerful Python-based interactive packet manipulation program. Outside of some commercial program, very few tools can do what Scapy can do, that I know of. The main difference is Scapy allows you to craft your own packet from the very basic level. It is able to forge or decode network packets. Let's take a look at the tool.
Installing Scapy
At the time of this writing, Scapy 2.3.1 supported Python 2.7. While attempts and forks has been done for the Python 3 support, it is still a prototype (in Phil's own words), so we will use Python 2.7 for our usage. The idea is that Scapy 3 will be Python 3 only and will not be backward compatible to Scapy 2.x.
Note
If you are interested in testing out the Scapy 3 prototype, here is the latest version: https://bitbucket.org/secdev/scapy3-prototype2. If you want to learn more about the issue and the fork, here is the issue Bitbucket link: https://bitbucket.org/secdev/scapy/issues/5082/compatibility...