From 1ab1cd44d3edd215949384b65342d63c2f46a1a4 Mon Sep 17 00:00:00 2001 From: gpotter2 Date: Fri, 11 Aug 2017 10:23:38 +0200 Subject: [PATCH] Fix little-big endian dissection issue --- scapy/fields.py | 6 ++++-- test/regression.uts | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/scapy/fields.py b/scapy/fields.py index 21314afd1..937b101d9 100644 --- a/scapy/fields.py +++ b/scapy/fields.py @@ -730,9 +730,11 @@ class BitField(Field): self.size = abs(size) def reverse(self, val): if self.size == 16: - val = socket.ntohs(val) + # Replaces socket.ntohs (but work on both little/big endian) + val = struct.unpack('>H',struct.pack('I',struct.pack('