habe eine Problem und finde gerade nirgends eine Lösung. Die beiden unten stehenden Klassen, sind wie folgt definiert:
In der Klasse FuzzerAttributes(object): existiert eine Liste, die mit HttpPacket() Paketen befüllt wird, diese werden in einem Sniffer eingesetzt. Das passt auch alles soweit. Mein Problem ist, das wenn ich mir die Liste wieder zurückgeben lasse kann ich mit dem . Operator nicht mehr auf die Attribute zugreifen. (siehe unteren Code Abschnitt) Was mach ich falsch??
Code: Alles auswählen
def __init__(self):
self._method = ''
self._path = "/index.html"
self._get_query = ""
self._post_payload = ""
self._host = "localhost"
self._user_agent = ""
def __eq__(self, other):
return self._path == other._path and \
self._method == other._method and \
self._post_payload == other._post_payload and \
self._get_query == other._get_query
def setMethod(self, meth):
self._method = meth
def getMethod(self):
return self._method
def setPath(self, path):
self._path = path
def getPath(self):
return self._path
def setGET_Query(self, get):
self._get_query
def getGET_Query(self):
return self._get_query
def setPOST_Payload(self, post):
self._post_payload = post
def getPOST_Payload(self):
return self._post_payload
def setHost(self, host):
self._host = host
def getHost(self):
return self._host
def setUserAgent(self, agent):
self._user_agent = agent
def getUserAgent(self):
return self._user_agent
class FuzzerAttributes(object):
def __init__(self):
self._ip ="127.0.0.1"
self._port =9090
self._iface = 'lo'
self._catchedPackets = [] # HttpPacket List
number_of_packets = 0
def set_ip(self, ip):
self._ip = ip
def set_port(self, port):
self._port = port
def get_ip(self):
return self._ip
def get_port(self):
return self._port
def set_iface(self, iface):
self._iface = iface
def get_iface(self):
return self._iface
def add_HttpPacket(self, pck=HttpPacket):
self._catchedPackets.append(pck)
self.number_of_packets +=1
def get_HttpPacktList(self):
return self._catchedPackets
# ---------------------------------------------------------------
fuzz_attr = FuzzerAttributes()
l1 = HttpPacket()
l2 = HttpPacket()
l3 = HttpPacket()
fuzz_attr.add_HttpPacket(l1)
fuzz_attr.add_HttpPacket(l2)
fuzz_attr.add_HttpPacket(l3)
list = fuzz_attr.get_HttpPacktList()
for iter, i in list:
print "---------------------------------------"
print "Aktuell Pck:" + iter +"\n"
i. <---- # Attribute erscheinen nicht ?