Advertisement
Guest User

Untitled

a guest
Aug 28th, 2012
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.59 KB | None | 0 0
  1. #! /usr/bin/env python
  2. # coding: utf-8
  3.  
  4. import string,cgi,time
  5. from os import curdir, sep
  6.  
  7. from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
  8.  
  9. class MyHandler(BaseHTTPRequestHandler):
  10.     index=0
  11.     lastport=None
  12.     suspicious=[]
  13.  
  14.     def do_GET(self):
  15.         return
  16.  
  17.     def do_POST(self):
  18.         global postVars
  19.         varLen = int(self.headers['Content-Length'])
  20.         postVars = self.rfile.read(varLen)
  21.         self.send_response(200)
  22.         self.send_header('Content-type','text/plain')
  23.         self.end_headers()
  24.         print self.client_address
  25.         host,port=self.client_address
  26.         self.wfile.write("POST OK\n");
  27.         self.wfile.write("Data: "+str(postVars));
  28.  
  29.         if (self.lastport is not None):
  30.             portdiff=port-MyHandler.lastport
  31.         else:
  32.             portdiff=0
  33.  
  34.         #if (self.index is None): self.index=0;
  35.  
  36.         with open("log.txt","a") as myfile:
  37.             myfile.write(str(self.index)+" ("+str(portdiff)+") "+str(postVars)+"\n");
  38.  
  39.         if (portdiff!=4): #the number here depends on the chunk
  40.             MyHandler.suspicious.append(MyHandler.index);
  41.             MyHandler.index+=1;
  42.             MyHandler.lastport=port
  43.         return
  44.  
  45. def main():
  46.     try:
  47.         server = HTTPServer(("", 9000), MyHandler)
  48.         print 'started httpserver'
  49.         server.serve_forever()
  50.     except KeyboardInterrupt:
  51.         print '^C received, shutting down server'
  52.         print "Suspicious list:\n"
  53.         print MyHandler.suspicious
  54.         server.socket.close()
  55. if __name__ == '__main__':
  56.         main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement