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)
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())