예제 #1
1
def main(args, pcap_file):
    CTCore.pcap_file = pcap_file[0]
    print("[A] Analyzing PCAP: " + CTCore.pcap_file)

    CTCore.b_use_short_uri = args.short_url # Display short URI paths
    CTCore.b_auto_ungzip = args.ungzip

    if(args.report is not None):
        CTCore.b_auto_ungzip = True

    parse_pcap.run(CTCore.pcap_file)

    if not CTCore.conversations:
        sys.exit("No HTTP conversations were found in PCAP file")

    print(CTCore.newLine + "[+] Traffic Activity Time: "),
    try:
        print(CTCore.activity_date_time)
    except:
        print "Couldn't retrieve time"

    print("[+] Conversations Found:" + CTCore.newLine)
    print CTCore.show_conversations()

    # If chosen just to dump files and exit
    if (args.dump is not None):
        try:
            CTCore.ungzip_all()
            CTCore.dump_all_files(args.dump[0],True)
        except Exception, ed:
            print ed
예제 #2
0
def main(args, pcap_file):
    CTCore.pcap_file = pcap_file[0]
    print("[A] Analyzing PCAP: " + CTCore.pcap_file)

    CTCore.b_use_short_uri = args.short_url  # Display short URI paths
    CTCore.b_auto_ungzip = args.ungzip

    if (args.report is not None):
        CTCore.b_auto_ungzip = True

    parse_pcap.run(CTCore.pcap_file)

    if not CTCore.conversations:
        sys.exit("No HTTP conversations were found in PCAP file")

    print(CTCore.newLine + "[+] Traffic Activity Time: "),
    try:
        print(CTCore.activity_date_time)
    except:
        print "Couldn't retrieve time"

    print("[+] Conversations Found:" + CTCore.newLine)
    print CTCore.show_conversations()

    # If chosen just to dump files and exit
    if (args.dump is not None):
        try:
            CTCore.ungzip_all()
            CTCore.dump_all_files(args.dump[0], True)
        except Exception, ed:
            print ed
예제 #3
0
def main(args, pcap_file):
    if (args.update):
        CTCore.update_captipper()

    CTCore.pcap_file = pcap_file[0]
    print("[A] Analyzing PCAP: " + CTCore.pcap_file)

    start_ws = args.server_off # Boolean to start web server
    CTCore.PORT = args.port # Web server port
    CTCore.b_use_short_uri = args.short_url # Display short URI paths
    CTCore.b_auto_ungzip = args.ungzip

    if(args.report is not None):
        CTCore.b_auto_ungzip = True

    parse_pcap.run(CTCore.pcap_file)

    if not CTCore.conversations:
        sys.exit("No HTTP conversations were found in PCAP file")

    print(CTCore.newLine + "[+] Traffic Activity Time: "),
    try:
        print(CTCore.activity_date_time)
    except:
        print "Couldn't retrieve time"

    print("[+] Conversations Found:" + CTCore.newLine)
    CTCore.show_conversations()

    if (start_ws and args.dump is None and args.report is None):
        try:
            CTCore.web_server = server()
            CTCore.web_server.start()
            time.sleep(0.1) # Fixes graphic issues
            CTCore.web_server_turned_on = True
        except Exception as e:
            CTCore.alert_message("Error starting Web Server:", CTCore.msg_type.ERROR)

            if str(e).find("Errno 1004") > 0 or str(e).find("Errno 98") > 0:
                print " Port " + str(CTCore.PORT) + " is already taken."
                print " Change the port using 'CapTipper.py <pcap_file> -p <port=80>' or use '-s' to disable web server"
                print " Proceeding without starting the web server..." + CTCore.newLine
            else:
                print " " + str(e)

    # If chosen just to dump files and exit
    if (args.dump is not None):
        try:
            CTCore.ungzip_all()
            CTCore.dump_all_files(args.dump[0],True)
        except Exception, ed:
            print ed
예제 #4
0
def main(args, pcap_file):
    if not os.path.exists(args.dump[0]):
        os.makedirs(args.dump[0])
    CTCore.pcap_file = pcap_file[0]
    if(args.report is not None):
        CTCore.b_auto_ungzip = True
    parse_pcap.run(CTCore.pcap_file)
    # If chosen just to dump files and exit
    if (args.dump is not None):
        try:
            CTCore.ungzip_all()
            CTCore.dump_all_files(args.dump[0],True)
        except Exception, ed:
            print ed
예제 #5
0
 def do_ungzip(self,line):
     try:
         l = line.split(" ")
         if (l[0] == ""):
             self.help_ungzip()
         else:
             if l[0].lower() == "all":
                 CTCore.ungzip_all()
             else:
                 id = int(l[0])
                 if in_range(id):
                     obj_num, name = CTCore.ungzip(id)
                     if obj_num != -1:
                         print " GZIP Decompression of object {} ({}) successful!".format(str(id), name)
                         print " New object created: {}".format(obj_num) + newLine
                     else:
                         CTCore.show_errors()
     except Exception,e:
         print str(e)
예제 #6
0
 def do_ungzip(self, line):
     try:
         l = line.split(" ")
         if (l[0] == ""):
             self.help_ungzip()
         else:
             if l[0].lower() == "all":
                 CTCore.ungzip_all()
             else:
                 id = int(l[0])
                 if in_range(id):
                     obj_num, name = CTCore.ungzip_and_add(id)
                     if obj_num != -1:
                         print " GZIP Decompression of object {} ({}) successful!".format(
                             str(id), name)
                         print " New object created: {}".format(
                             obj_num) + newLine
                     else:
                         CTCore.show_errors()
     except Exception, e:
         print str(e)
예제 #7
0
 def do_ungzip(self,line):
     try:
         line = str(line)
         l = line.split(" ")
         if (l[0] == ""):
             self.help_ungzip()
         else:
             if l[0].lower() == "all":
                 CTCore.ungzip_all()
             else:
                 id = int(l[0])
                 if in_range(id):
                     obj_num, name = CTCore.ungzip_and_add(id)
                     if obj_num != -1:
                         CTCore.conversations[int(id)].decoded = int(obj_num)
                         self.retval = " GZIP Decompression of object {} ({}) successful!".format(str(id), name)
                         self.retval += " New object created: {}".format(obj_num) + newLine
                     else:
                         CTCore.show_errors()
     except Exception,e:
         self.retval = str(e)
예제 #8
0
            time.sleep(0.1) # Fixes graphic issues
            CTCore.web_server_turned_on = True
        except Exception,e:
            CTCore.alert_message("Error starting Web Server:", CTCore.msg_type.ERROR)

            if str(e).find("Errno 1004") > 0 or str(e).find("Errno 98") > 0:
                print " Port " + str(CTCore.PORT) + " is already taken."
                print " Change the port using 'CapTipper.py <pcap_file> -p <port=80>' or use '-s' to disable web server"
                print " Proceeding without starting the web server..." + CTCore.newLine
            else:
                print " " + str(e)

    # If chosen just to dump files and exit
    if (args.dump is not None):
        try:
            CTCore.ungzip_all()
            CTCore.dump_all_files(args.dump[0],True)
        except Exception, ed:
            print ed
    # If chosen to create a report
    elif (args.report is not None):
        report = Report(CTCore.hosts, CTCore.conversations, CTCore.VERSION + " b" + CTCore.BUILD)
        report.CreateReport(args.report[0])
    else:
        try:
            CTPlugin.init_plugins()
            
            interpreter = console()
            interpreter.cmdloop()
        except:
            print (CTCore.newLine + 'Exiting CapTipper')
예제 #9
0
            CTCore.web_server_turned_on = True
        except Exception, e:
            CTCore.alert_message("Error starting Web Server:",
                                 CTCore.msg_type.ERROR)

            if str(e).find("Errno 1004") > 0 or str(e).find("Errno 98") > 0:
                print " Port " + str(CTCore.PORT) + " is already taken."
                print " Change the port using 'CapTipper.py <pcap_file> -p <port=80>' or use '-s' to disable web server"
                print " Proceeding without starting the web server..." + CTCore.newLine
            else:
                print " " + str(e)

    # If chosen just to dump files and exit
    if (args.dump is not None):
        try:
            CTCore.ungzip_all()
            CTCore.dump_all_files(args.dump[0], True)
        except Exception, ed:
            print ed
    # If chosen to create a report
    elif (args.report is not None):
        report = Report(CTCore.hosts, CTCore.conversations,
                        CTCore.VERSION + " b" + CTCore.BUILD)
        report.CreateReport(args.report[0])
    else:
        try:
            CTPlugin.init_plugins()

            interpreter = console()
            interpreter.cmdloop()
        except: