def disp_rec(rec): print('\t', end=' ') if 'port' in rec and rec['port']: print(rec['port'], end=' ') if 'recontype' in rec: try: print(rec['recontype'].value, end=' ') except AttributeError: print(rec['recontype'], end=' ') if 'source' in rec: print(rec['source'], end=' ') if 'value' in rec: value = utils.printable(rec.get('fullvalue', rec['value'])) if isinstance(value, bytes): value = value.decode() print(value, end=' ') if 'version' in rec: print(rec['version'], end=' ') if 'signature' in rec: print('[%s]' % rec['signature'], end=' ') if 'distance' in rec: print("at %s hop%s" % (rec['distance'], 's' if rec['distance'] > 1 else ''), end=' ') if 'count' in rec: print("(%d time%s)" % (rec['count'], 's' if rec['count'] > 1 else ''), end=' ') if 'firstseen' in rec and 'lastseen' in rec: if isinstance(rec['firstseen'], datetime.datetime): print(rec['firstseen'].replace(microsecond=0), '-', rec['lastseen'].replace(microsecond=0), end=' ') else: print(datetime.datetime.fromtimestamp(int(rec['firstseen'])), '-', end=' ') print(datetime.datetime.fromtimestamp(int(rec['lastseen'])), end=' ') if 'sensor' in rec: print(rec['sensor'], end=' ') print() if 'infos' in rec: for i in rec['infos']: print('\t\t', i + ':', end=' ') if i == 'domainvalue': print(rec['infos'][i][0]) else: print(rec['infos'][i])
def disp_rec(rec: Record) -> None: print("\t", end=" ") if "port" in rec and rec["port"]: print(rec["port"], end=" ") if "recontype" in rec: try: print(rec["recontype"].value, end=" ") except AttributeError: print(rec["recontype"], end=" ") if "source" in rec: print(rec["source"], end=" ") if "value" in rec: value = utils.printable(rec["value"]) if isinstance(value, bytes): value = value.decode() print(value, end=" ") if "version" in rec: print(rec["version"], end=" ") if "signature" in rec: print("[%s]" % rec["signature"], end=" ") if "distance" in rec: print( "at %s hop%s" % (rec["distance"], "s" if rec["distance"] > 1 else ""), end=" ", ) if "count" in rec: print("(%d time%s)" % (rec["count"], "s" if rec["count"] > 1 else ""), end=" ") if "firstseen" in rec and "lastseen" in rec: print( rec["firstseen"].replace(microsecond=0), "-", rec["lastseen"].replace(microsecond=0), end=" ", ) if "sensor" in rec: print(rec["sensor"], end=" ") print() if "infos" in rec: for i in rec["infos"]: print("\t\t", i + ":", end=" ") if i == "domainvalue": print(rec["infos"][i][0]) else: print(rec["infos"][i])
def disp_rec(rec): print('\t', end=' ') if 'port' in rec and rec['port']: print(rec['port'], end=' ') if 'recontype' in rec: try: print(rec['recontype'].value, end=' ') except AttributeError: print(rec['recontype'], end=' ') if 'source' in rec: print(rec['source'], end=' ') if 'value' in rec: value = utils.printable(rec['value']) if isinstance(value, bytes): value = value.decode() print(value, end=' ') if 'version' in rec: print(rec['version'], end=' ') if 'signature' in rec: print('[%s]' % rec['signature'], end=' ') if 'distance' in rec: print("at %s hop%s" % (rec['distance'], 's' if rec['distance'] > 1 else ''), end=' ') if 'count' in rec: print("(%d time%s)" % (rec['count'], 's' if rec['count'] > 1 else ''), end=' ') if 'firstseen' in rec and 'lastseen' in rec: print( rec['firstseen'].replace(microsecond=0), '-', rec['lastseen'].replace(microsecond=0), end=' ' ) if 'sensor' in rec: print(rec['sensor'], end=' ') print() if 'infos' in rec: for i in rec['infos']: print('\t\t', i + ':', end=' ') if i == 'domainvalue': print(rec['infos'][i][0]) else: print(rec['infos'][i])