Adding an extra header in HTTP packets
Sometimes, you would like to manipulate an application by supplying a custom HTTP header that contains custom information. For example, adding an authorization header can be useful to implement the HTTP basic authentication in your packet capture code. As with the previous recipe, this recipe requires admin privileges to run too.
How to do it...
Let us sniff the packets using the sniff()
function of Scapy
and define a callback function, modify_packet_header()
, which adds an extra header of certain packets.
Listing 8.3 gives the code for adding an extra header in HTTP packets, 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. from scapy.all import * def modify_packet_header(pkt): """ Parse the header and add an extra header""" if pkt.haslayer(TCP) and pkt.getlayer...