You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When running haslayer('HTTP') over all packets in a for loop, I get the below:
for p in pkts:
p.haslayer('HTTP')
Traceback (most recent call last):
File "<input>", line 2, in <module>
File "C:\Python27\lib\site-packages\scapy\packet.py", line 890, in haslayer
return self.payload.haslayer(cls)
File "C:\Python27\lib\site-packages\scapy\packet.py", line 890, in haslayer
return self.payload.haslayer(cls)
File "C:\Python27\lib\site-packages\scapy\packet.py", line 890, in haslayer
return self.payload.haslayer(cls)
File "C:\Python27\lib\site-packages\scapy\layers\ntp.py", line 217, in haslayer
elif issubclass(cls, NTP):
TypeError: issubclass() arg 1 must be a class
Doing a similar command with a different layer is successful:
for p in pkts:
p.haslayer(TCP)
I narrowed down the exact packets causing problems here:
i = 0
for p in pkts:
i += 1
try:
p.haslayer('HTTP')
except Exception as e:
print(e)
print(i)
issubclass() arg 1 must be a class
101
issubclass() arg 1 must be a class
109
issubclass() arg 1 must be a class
113
issubclass() arg 1 must be a class
116
issubclass() arg 1 must be a class
118
issubclass() arg 1 must be a class
119
issubclass() arg 1 must be a class
120
issubclass() arg 1 must be a class
121
It looks like NTP packets cause problems for some reason. I have attached a pcap with one of the packets which causes the error.
When running haslayer('HTTP') over all packets in a for loop, I get the below:
Doing a similar command with a different layer is successful:
I narrowed down the exact packets causing problems here:
It looks like NTP packets cause problems for some reason. I have attached a pcap with one of the packets which causes the error.
ntp.pcap.gz
The text was updated successfully, but these errors were encountered: