Nmap Security Scanner
*Intro
*Ref Guide
*Install Guide
*Download
*Changelog
*Book
*Docs
Security Lists
*Nmap Hackers
*Nmap Dev
*Bugtraq
*Full Disclosure
*Pen Test
*Basics
*More
Security Tools
*Pass crackers
*Sniffers
*Vuln Scanners
*Web scanners
*Wireless
*Exploitation
*Packet crafters
*More
Site News
Site Search:
Exploit World
Advertising
About/Contact
Credits
Sponsors:




honeypots logo Honeypots mailing list archives

Re: Removing HTTP headers from tcpdump logs
From: Bill McCarty <bmccarty () apu edu>
Date: Thu, 08 May 2003 22:06:58 -0700

Hey Chris,

I run tcpflow to obtain files containing application-layer data. Then, I run a homebrew Python script that can strip HTTP headers, gunzip, and untar captured files. The script is a work in progress rather than a product. But, I've included it below, so fellow Python programmers can tame it and use it for their own purposes. The script leaves the original files intact and so is fairly safe to run. But, please use at your own risk.

Cheers,

#!/usr/bin/python

import os
import string
import sys

MAXSIZE = 10000000

#print sys.argv[1:]

for file in sys.argv[1:]:

   if not os.path.isfile(file): continue
   #print file

   size = os.path.getsize(file)
   if size > MAXSIZE:
       print "File %s is too large to process (%d bytes)" % (file, size)
       continue

   handle = open(file, "rb")
   data = handle.read()
   handle.close()

   if data[0:4] != "HTTP": continue
   print "Processing file: ", file,

   offset = string.find(data, "\r\n\r\n")
   #print "offset=", offset

   data = data [offset+4:]

   newfile = file + ".data"
   handle = open(newfile, "wb")
   handle.write(data)
   handle.close()

   cmd = "file %s" % (newfile)

   pipe = os.popen(cmd)
   lines = pipe.read()
   pipe.close()

   #print lines

   if string.find(lines, "gzip") != -1:
       #print "Uncompressing", newfile
       print "uncompressing ",

       os.rename(newfile, newfile + ".gz")

       gzipfile = newfile + ".gz"

       cmd = "gunzip %s" % (gzipfile)
       error = os.system(cmd)
       if error != 0:
           print "Error %d executing command %s" % (error, cmd)
           continue

   cmd = "file %s" % (newfile)

   pipe = os.popen(cmd)
   lines = pipe.read()
   pipe.close()

   #print lines

   if string.find(lines, "GNU tar") != -1:
       os.rename(newfile, newfile + ".tar")
       print "renamng as .tar ",
   elif string.find(lines, "ELF") != -1:
       os.rename(newfile, newfile + ".elf")
       print "renaming as .elf ",

   print "done."

sys.exit(0)


---------------------------------------------------
Bill McCarty


  By Date           By Thread  

Current thread:
[ Nmap | Sec Tools | Mailing Lists | Site News | About/Contact | Advertising | Privacy ]