Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Need help on this!!!
#1
When I tried to run the python script and pcap file, it show AttributError: 'str' object has no attribute 'do_build' where I did installed Scapy in the VM.

The code looks like this:

from scapy.all import *
import sys

# Get input and output files from command line
if len(sys.argv) < 2:
        print "Usage: decodexorpayload.py [input pcap file]"
        sys.exit(1)

# Assign variable names for input and output files
infile = sys.argv[1]

def many_byte_xor(buf, key):
    buf = bytearray(buf)
    key = bytearray(key)
    key_len = len(key)
    for i, bufbyte in enumerate(buf):
        buf[i] = bufbyte ^ key[i % key_len]
    return str(buf)

def process_packets():
    pkts = rdpcap(infile)
    cooked=[]
    for p in pkts:
        # You may have to adjust the payload depth here:
        # i.e. p.payload.payload.payload
        pkt_payload = str(p.payload.payload)
        pkt_offset = str(p.payload.payload)[:3]
        if pkt_payload and pkt_offset:
              pmod=p
              # You may have to adjust the payload depth here:
              p.payload.payload=many_byte_xor(pkt_payload, pkt_offset)
              cooked.append(pmod)

    wrpcap("dump.pcap", cooked)

process_packets()
Reply
#2
Please post full error traceback message in error tags. If needed, you can find help here: https://python-forum.io/misc.php?action=help&hid=25
Reply
#3
Error:
Traceback (most recent call last): File "decodexorpayload.py", line 45, in <module> process_packets() File "decodexorpayload.py", line 43, in <module> wrpcap("dump.pcap", cooked) File "/usr/local/lib/python2.7/dist-packages/scapy-2.4.3rc1.dev282-py2.7.egg/scapy/utils.py",line 847, in wrpcap fdesc.write(pkt) File "/usr/local/lib/python2.7/dist-packages/scapy-2.4.3rc1.dev282-py2.7.egg/scapy/utils.py",line 1301, in write self._write_packet(p) File "/usr/local/lib/python2.7/dist-packages/scapy-2.4.3rc1.dev282-py2.7.egg/scapy/utils.py",line 1409, in _write_packet rawpkt = raw(packet) File "/usr/local/lib/python2.7/dist-packages/scapy-2.4.3rc1.dev282-py2.7.egg/scapy/compat.py", line 45, in raw return x.__bytes__() File "/usr/local/lib/python2.7/dist-packages/scapy-2.4.3rc1.dev282-py2.7.egg/scapy/packet.py", line 477, in __bytes__ return self.build() File "/usr/local/lib/python2.7/dist-packages/scapy-2.4.3rc1.dev282-py2.7.egg/scapy/packet.py", line 597, in build p = self.do_build() File "/usr/local/lib/python2.7/dist-packages/scapy-2.4.3rc1.dev282-py2.7.egg/scapy/packet.py", line 582, in do_build pay = self.do_build_payload() File "/usr/local/lib/python2.7/dist-packages/scapy-2.4.3rc1.dev282-py2.7.egg/scapy/packet.py, line 569, in do_build_payload return self.payload.do_build() AttributeError: 'str' object has no attribute 'do_build'
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020