Example #1
0
def handle_tcp(c):
    filter = config.get_filter()
    for tcp in get_tcpconn(c.infile):
        if filter.index != None and tcp.index not in filter.index:
            continue
        tcp_msg = "\033[31;2m%s [%s:%d] -- -- --> [%s:%d]\033[0m\n" % \
                (tcp.index, tcp.con_tuple[0], tcp.con_tuple[1],
                        tcp.con_tuple[2], tcp.con_tuple[3])
        utils.print(tcp_msg)
Example #2
0
def handle_http(c):
    def printheaders(headers):
        l = 0
        for k in headers.keys():
            if l < len(k):
                l = len(k)
        for k, v in headers.items():
            utils.print(k.ljust(l))
            utils.print(': ')
            utils.print(v)
            utils.print('\n')

    filter = config.get_filter()
    level = config.get_config().level

    for tcpcon in get_tcpconn(c.infile):
        if filter.index != None and tcpcon.index not in filter.index:
            continue

        if not (filter.by_con_tuple(tcpcon.con_tuple)):
            continue

        http = HttpParser(tcpcon)

        if not http.msgs:
            continue

        tcp = http.tcp
        tcp_msg = "\033[31;2m%s [%s:%d] -- -- --> [%s:%d]\033[0m\n" % \
                (tcp.index, tcp.con_tuple[0], tcp.con_tuple[1],
                        tcp.con_tuple[2], tcp.con_tuple[3])
        utils.print(tcp_msg)

        if level == OutputLevel.ONLY_URL:
            for msg in http.msgs:
                if msg.is_request:
                    utils.print(msg.reqline["method"] + ' ' + msg.URI())
                    utils.print('\n')
        else:
            for i, msg in enumerate(http.msgs):
                if msg.is_request and i != 0:
                        utils.print('\033[31;2m')
                        utils.print('-' * 80)
                        utils.print('\033[0m')
                        utils.print('\n')

                utils.print(''.join(msg.raw_headers))
                utils.print('\n')
                if level == OutputLevel.ALL_BODY:
                    utils.print(msg.body.getvalue())