XMAS scanning
With XMAS scanning, we will send a TCP packet with a bunch of flags all at once (PSH, FIN, and URG). We will get an RST if the port is closed. If the port is open or filtered, then there will be no response from the server. It's similar to the FIN scan, other than the packet-creating part.
How to do it...
Here are the steps to create a XMAS scanner with Scapy:
- Create a copy of the file we created for the previous recipe (FIN scanning). As it is quite similar, we only need to change the packet-creation section.
- To create and send a packet with PSH, FIN, and URG flags in it, update the packet-crafting section inside the
probe_port
method, as follows:
p = IP(dst=ip)/TCP(sport=src_port, dport=port, flags='FPU')
Only update the flags parameter. Here we set the flags as FPU
for PSH, FIN, and URG combined.