Closed MAKASHIIII closed 3 months ago
Hi. I made adjustments to the Above code, now, before decoding, each of these lines checks if the value is a byte object using isinstance(variable, bytes). If it is, decoding is performed. Otherwise, the original value is used. This prevents the error that occurred when trying to decode a string object.
Hi ! When I am run above --import xxx.pcap that see :
[+] Detected LLDP Frame [] Attack Impact: Information Gathering [] Tools: Wireshark Traceback (most recent call last): File "/usr/bin/above", line 33, in
sys.exit(load_entry_point('above==2.6', 'console_scripts', 'above')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/above.py", line 812, in main
analyze_pcap(args.input)
File "/usr/lib/python3/dist-packages/above.py", line 74, in analyze_pcap
packet_detection(packet)
File "/usr/lib/python3/dist-packages/above.py", line 579, in packet_detection
port_id = packet[LLDPDUPortID].id.decode() if packet.haslayer(LLDPDUPortID) else "Not Found"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'decode'. Did you mean: 'encode'?