SHARE
TWEET

Mail Headers Detection

a guest Feb 19th, 2016 52 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. your_project_home="."
  2.  
  3. import sys,os,re
  4. import os.path
  5.  
  6. sys.path.append(your_project_home)
  7.  
  8. def isReturnPath(line):
  9.     return re.match("Return-Path:", line)
  10.  
  11. def isDeliveredTo(line):
  12.     return re.match("Delivered-To:",line)
  13.    
  14. def isReceived(line):
  15.     return re.match("Received:", line)
  16.    
  17. def isSenderIP(line):
  18.     return re.match("Authentication-Results:", line)
  19.    
  20. def isMessageID(line):
  21.     return re.match("Message-ID:", line)
  22.    
  23. def isFrom(line):
  24.     return re.match("From: ",line)
  25.  
  26. def isTo(line):
  27.     return re.match("To: ",line)
  28.    
  29. def isReplyTo(line):
  30.     return re.match("Reply-To: ",line)
  31.  
  32. def isSubject(line):
  33.     return re.match("Subject: ",line)
  34.    
  35. def isContentType(line):
  36.     return re.match("Content-Type: ",line)
  37.    
  38. def isAbuseReportsTo(line):
  39.     return re.match("X-Abuse-Reports-To: ",line)
  40.  
  41. def isDate(line):
  42.     return re.match("Date: ",line) 
  43.    
  44. if len(sys.argv) >= 2:
  45.     fileName = sys.argv[1]
  46.     #print "Nombre del archivo: " + fileName
  47.     #posible archivo
  48.     #print "Posible archivo"
  49.     if os.path.isfile(fileName):
  50.         print 'Archivo existe'
  51.         file = open (fileName,'r')
  52.         numLine = 0
  53.         line = file.readline()
  54.         #print line
  55.         returnPath = False
  56.         print "::::::::::Busqueda en el encabezado::::::::::"
  57.         while line:
  58.             numLine += 1
  59.             #print numLine
  60.             if isReturnPath(line):
  61.                 print line
  62.                 returnPath = True
  63.                 line = file.readline()
  64.                 #continue
  65.             if isDeliveredTo(line):
  66.                 print line
  67.             if isReceived(line) and returnPath:
  68.                 returnPath = False
  69.                 #print "IP Received: %s" % (line[line.find('[')+1:line.rfind(']')])
  70.                 print line
  71.                 #continue
  72.             if isSenderIP(line):
  73.                 print line
  74.             if isMessageID(line):
  75.                 print line 
  76.             if isFrom(line):
  77.                 print line
  78.             if isTo(line):
  79.                 print line
  80.             if isReplyTo(line):
  81.                 print line
  82.             if isSubject(line):
  83.                 print line
  84.             if isContentType(line):
  85.                 print line
  86.             if isAbuseReportsTo(line):
  87.                 print line
  88.             if isDate(line):
  89.                 print line
  90.                
  91.             line = file.readline()
  92.         file.close()       
  93.     else:
  94.         print "Archivo NO existe"
  95.  
  96. else:
  97.     #no entraron archivo
  98.     print "Provea un nombre de archivo"
RAW Paste Data
Top