PCAP analysis

  • Scapy has pretty handy functions for handling PCAP files.
  • Although there are dedicated tools like dpkt, pcapy etc to deal with packet captures(using Python), Scapy is still a go-to tool for PCAP aanalysis because of it’s dense methods that aid you in number of packet analysis operations.
  • Although Scapy is all powerful, it’s takes a lot of memory when reading packets so analysing larger packet will take toll on your system memory.

PCAP operations

Memory matters!

  • Scapy looks at each packet as a class which takes toll on the system memory, so it is not a right choice for analysing large PCAPs
  • When investigating large PCAP’s(several Giga Bytes) use light-weight tools like Tshark for initial analysis, when investigation boils down to smaller set of packets, use Scapy.

Reading pcap

  • You can read a PCAP file in Scapy using rdpcap function.
>>> rdpcap('port_knock_seq.pcap')
<port_knock_seq.pcap: TCP:6 UDP:0 ICMP:0 Other:0>
>>> pkts = sniff(offline="temp.cap")

Writing pcap

  • You can write a set of packets into a PCAP file using wrpcap function.
>>> wrpcap("attack.pcap",packets)

Simple tcp-replay tool

  • You can write a very simple tcp-replay tools in one line of scapy.
  • This piece of code send packets in a PCAP over the network, very handy in some forensic analysis situations.
>>> sendp(rdpcap("/tmp/pcapfile")) # tcpreplay
...........
Sent 11 packets.



Exercise time - packet hunting

Please solve Exercise 5- packet hunting (Misc exercises) Please solve Exercise 6 (Misc exercises)