Beispiel #1
0
                               relativeToIP=args.relativeToIP)
    comparator = MessageComparator(specimens,
                                   layer=args.layer,
                                   relativeToIP=args.relativeToIP,
                                   failOnUndissectable=False,
                                   debug=debug)

    ########################

    print("Segment messages...")
    inferenceTitle = 'bcDeltaGauss{:.1f}'.format(sigma)  # +hiPlateaus

    startsegmentation = time.time()
    segmentsPerMsg = bcDeltaGaussMessageSegmentation(specimens, sigma)
    runtimeSegmentation = time.time() - startsegmentation
    refinedPerMsg = refinements(segmentsPerMsg, None)
    runtimeRefinement = time.time() - startsegmentation

    print('Segmented and refined in {:.3f}s'.format(time.time() -
                                                    startsegmentation))

    symbols = symbolsFromSegments(segmentsPerMsg)
    refinedSymbols = symbolsFromSegments(refinedPerMsg)

    ########################

    # Without refinement:
    # comparator.pprintInterleaved(symbols)
    comparator.pprintInterleaved(refinedSymbols)

    # calc FMS per message
Beispiel #2
0
    args = parser.parse_args()
    if not isfile(args.pcapfilename):
        print('File not found: ' + args.pcapfilename)
        exit(1)

    sigma = 0.6 if not args.sigma else args.sigma

    print("Load messages...")
    specimens = SpecimenLoader(args.pcapfilename, layer=args.layer,
                               relativeToIP=args.relativeToIP)

    print("Segment messages...")
    inferenceTitle = 'bcDeltaGauss{:.1f}'.format(sigma)  # +hiPlateaus

    startsegmentation = time.time()
    segmentsPerMsg = bcDeltaGaussMessageSegmentation(specimens, sigma)
    runtimeSegmentation = time.time() - startsegmentation
    refinedPerMsg = refinements(segmentsPerMsg)
    runtimeRefinement = time.time() - startsegmentation

    print('Segmented and refined in {:.3f}s'.format(time.time() - startsegmentation))

    symbols = symbolsFromSegments(segmentsPerMsg)
    refinedSymbols = symbolsFromSegments(refinedPerMsg)

    # TODO output (colored?) visualization on terminal

    print("Access inferred symbols via variables: symbols, refinedSymbols")
    print("Access inferred message segments via variables: segmentsPerMsg, refinedPerMsg")

    IPython.embed()