1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
# SPDX-License-Identifier: GPL-2.0-only
# This file is part of Scapy
# See https://scapy.net/ for more information
# Copyright (C) Guillaume Valadon
from common import *
import time
N = 10000
raw_packet = b'E\x00\x00(\x00\x01\x00\x00@\x11|\xc2\x7f\x00\x00\x01\x7f\x00\x00\x01\x005\x005\x00\x14\x00Z\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00'
start = time.time()
for i in range(N):
p = IP(dst="127.0.0.1", src="127.0.0.1") / UDP() / DNS()
assert raw(p) == raw_packet
print("Build - %.2fs" % (time.time() - start))
start = time.time()
for i in range(N):
p = IP(raw_packet)
assert DNS in p
print("Dissect - %.2fs" % (time.time() - start))
start = time.time()
for i in range(N):
p = IP(dst="127.0.0.1", src="127.0.0.1") / UDP() / DNS()
s = raw(p)
assert s == raw_packet
p = IP(s)
assert DNS in p
print("Build & dissect - %.2fs" % (time.time() - start))
|