#!/usr/bin/python
# File: pcap2rawc.py
# Pablo Rincon Crespo [pablo.rincon.crespo at gmail]
#
try:
from scapy.all import *
except:
print "old way..."
from scapy import *
import sys
from binascii import *
if len(sys.argv) ==2:
print "//Parsing "+str(sys.argv[1])
else:
print "Usage: python "+sys.argv[0]+" file.pcap"
exit(10)
pcap=rdpcap(sys.argv[1])
out=file(sys.argv[1]+".rawc","w")
out.write("// Generated from pcap2rawc.py\n")
i=0
for p in pcap:
i=i+1
print "//processing packet "+str(i)+": ***"
print p.command()
bytes=len(p)
strbyte=""
for j in range(0,bytes):
if j %8 ==0:
strbyte = strbyte +"\n "
strbyte = strbyte + "0x" + str(hexlify(str(p)[j]))
if j < bytes-1:
if j+1 %8:
strbyte= strbyte + ","
else:
strbyte= strbyte + ", "
rawpkt=" uint8_t rawpkt" + str(i) + "[] = {" +strbyte + " }; /* end rawpkt" + str(i) +" */\n"
print rawpkt
out.write(rawpkt + "\n")
out.close()
print "//"+ str(i) +" packets written in "+sys.argv[1]+".rawc"
Showing posts with label network protocols. Show all posts
Showing posts with label network protocols. Show all posts
Tuesday, October 27, 2009
pcap2rawc.py
This is another script that maybe help someone coding things with raw c Packets. It take a pcap file and create a file with all that packets declared as c arrays.
Labels:
network protocols,
pcap,
python,
scapy
Subscribe to:
Posts (Atom)