Scanning with Scapy
Scapy is a powerful tool that can be used to manipulate network packets. While we will not be going into great depth of all that can be accomplished with Scapy, we will use it in this recipe to determine which TCP ports are open on a target. In identifying which ports are open on a target, you may be able to determine the types of services that are running and use these to then further your testing.
How to do it…
This is the script that will perform a port scan on a specific target in a given port range. It takes arguments for the target, the start of the port range and the end of the port range:
import logging logging.getLogger("scapy.runtime").setLevel(logging.ERROR) import sys from scapy.all import * if len(sys.argv) !=4: print "usage: %s target startport endport" % (sys.argv[0]) sys.exit(0) target = str(sys.argv[1]) startport = int(sys.argv[2]) endport = int(sys.argv[3]) print "Scanning "+target+" for open TCP ports...