diff --git a/scapy/layers/dns.py b/scapy/layers/dns.py index 5b2417e3219d7c714e13e593c167c84c71f4b8d3..bafa5a62d2509ab32ce3106246b7f98465e0ebbc 100644 --- a/scapy/layers/dns.py +++ b/scapy/layers/dns.py @@ -12,7 +12,7 @@ import socket,struct from scapy.packet import * from scapy.fields import * from scapy.ansmachine import * -from scapy.layers.inet import UDP +from scapy.layers.inet import IP, UDP class DNSStrField(StrField): diff --git a/scapy/layers/inet.py b/scapy/layers/inet.py index c4edc007eba7c8d8300adde9eeda6a4c19e7a171..7f4093ea3d9a1417e66f7c4ce077fff4824894b2 100644 --- a/scapy/layers/inet.py +++ b/scapy/layers/inet.py @@ -987,7 +987,7 @@ class TracerouteResult(SndRcvList): self.label.visible ^= 1 visual.scene = visual.display() - visual.scene.exit_on_close(0) + visual.scene.exit = True start = visual.box() rings={} tr3d = {} @@ -1033,6 +1033,7 @@ class TracerouteResult(SndRcvList): movcenter=None while 1: + visual.rate(50) if visual.scene.kb.keys: k = visual.scene.kb.getkey() if k == "esc" or k == "q": @@ -1134,7 +1135,7 @@ class TracerouteResult(SndRcvList): trace_id = (s.src,s.dst,s.proto,0) trace = rt.get(trace_id,{}) ttl = conf.ipv6_enabled and scapy.layers.inet6.IPv6 in s and s.hlim or s.ttl - if not (ICMP in r and r[ICMP].type == 11) and not (conf.ipv6_enabled and scapy.layers.inet6.IPv6 in r and ICMPv6TimeExceeded in r): + if not (ICMP in r and r[ICMP].type == 11) and not (conf.ipv6_enabled and scapy.layers.inet6.IPv6 in r and scapy.layers.inet6.ICMPv6TimeExceeded in r): if trace_id in ports_done: continue ports_done[trace_id] = None diff --git a/scapy/packet.py b/scapy/packet.py index 55710abb1b6cf49abe49ba72cea43572d213084f..d6b002385986438e12817a5fcdced14445dc228a 100644 --- a/scapy/packet.py +++ b/scapy/packet.py @@ -15,6 +15,7 @@ from base_classes import BasePacket,Gen,SetGen,Packet_metaclass,NewDefaultValues from volatile import VolatileValue from utils import import_hexcap,tex_escape,colgen,get_temp_file from error import Scapy_Exception,log_runtime +import subprocess try: import pyx