Comments (6)
From dugsong on January 06, 2011 07:45:41
I can't reproduce this?
from dpkt.
From [email protected] on March 01, 2011 13:13:25
I just ran into this on OS X.
[joe@deepwater-2:~]$ python -c 'import dpkt'
Traceback (most recent call last):
File "", line 1, in
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/dpkt/init.py", line 24, in
import ethernet
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/dpkt/ethernet.py", line 128, in
load_types()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/dpkt/ethernet.py", line 122, in __load_types
mod = __import(modname, g)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/dpkt/ip6.py", line 95, in
import ip
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/dpkt/ip.py", line 255, in
__load_protos()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/dpkt/ip.py", line 245, in __load_protos
for k, v in g.iteritems():
RuntimeError: dictionary changed size during iteration
However, it's not consistent. Not sure what triggers it.
from dpkt.
From [email protected] on September 12, 2012 13:53:26
Alternate fix:
--- dpkt/ip.py ( revision 84 )
+++ dpkt/ip.py (working copy)
@@ -2,6 +2,7 @@
"""Internet Protocol."""
+import copy
import dpkt
class IP(dpkt.Packet):
@@ -241,7 +242,7 @@
XXX - auto-load IP dispatch table from IP_PROTO_* definitions
def __load_protos():
- g = globals()
- g = copy.copy(globals())
for k, v in g.iteritems():
if k.startswith('IP_PROTO_'):
name = k[9:].lower()
from dpkt.
From [email protected] on May 13, 2013 01:59:26
So I had the same problem and I dug in and I notice that the problem is that the import in that loop is not relative. Meaning that you might import a non-relevant package by accident (in my case mtp).
The solution is:
@@ -246,7 +246,7 @@
if k.startswith('IP_PROTO_'):
name = k[9:].lower()
try:
-
mod = **import**(name, g)
-
mod = **import**(name, g, level=1) except ImportError: continue IP.set_proto(v, getattr(mod, name.upper()))
This should be commited to head
from dpkt.
A quick glance makes #61 seem to be a related issue
from dpkt.
Fixed in d7684fe. Tracked in #203
from dpkt.
Related Issues (20)
- Unable to pull data from non TCP/UDP packets HOT 1
- The HTTP response message is divided into multiple TCP messages. HOT 1
- support for "modified pcaps" HOT 1
- Release 1.9.8 HOT 3
- Verify checksums HOT 2
- Coveralls failures are misleading HOT 3
- Writing packets from raw IPv6 not working HOT 2
- lists in self.data and pprint-todo HOT 2
- bitfield unittest might be platform dependant HOT 4
- `Diameter.__bytes__` has side effects (messes up `len` and `cmd`) HOT 1
- HTTP HEAD Responses cannot be processed correctly
- Github actions CI/CD failure HOT 2
- typehinting HOT 1
- Incorrect Unpacking of Ethernet Frames with VLAN ETH_TYPE_8021Q Tag
- Is this library maintained? HOT 2
- Support for 802.11 Action frames HOT 2
- An Unexpected error blank packet generated when dividing traffic flows into five-tuple HOT 2
- Question about checksum generated HOT 1
- dpkt unable to parse the PCAP file with packets that are captured with specific snaplength HOT 1
- Does not work with TLS record of ClientHello from Chrome 124
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dpkt.