Customizing the IP address of a packet
If you ever need to create a network packet and customize the source and destination IP or ports, this recipe can serve as the starting point.
How to do it...
We can take all the useful command-line arguments such as network interface name, protocol name, source IP, source port, destination IP, destination port, and optional TCP flags.
We can use the Scapy
library to create a custom TCP or UDP packet and send it over the network. As with the previous recipes, this recipe requires admin privilege to run.
Listing 8.5 gives the code for customizing the IP address of a packet, as follows:
#!/usr/bin/env python # Python Network Programming Cookbook, Second Edition -- Chapter - 8 # This program is optimized for Python 2.7.12 and Python 3.5.2. # It may run on any other version with/without modifications. import argparse import sys import re from random import randint from scapy.all import IP,TCP,UDP,conf,send def send_packet(protocol=None, src_ip...