diff --git a/scapy/contrib/macsec.py b/scapy/contrib/macsec.py index 4c7697b998fbd0947cd74561e5426a8533fe9174..b038d38460e4d04aef01ea2b8d241cc9cfa3dff4 100644 --- a/scapy/contrib/macsec.py +++ b/scapy/contrib/macsec.py @@ -68,7 +68,7 @@ class MACsecSA(object): split the packet into associated data, plaintext or ciphertext, and optional ICV """ - data = str(pkt) + data = raw(pkt) assoc = data[:assoclen] if icvlen: icv = data[-icvlen:] @@ -121,7 +121,7 @@ class MACsecSA(object): next_layer = packet[MACsec].payload del prev_layer.payload if prev_layer.name == Ether().name: - return Ether(str(prev_layer/next_layer)) + return Ether(raw(prev_layer/next_layer)) return prev_layer/next_layer def encrypt(self, orig_pkt, assoclen=None): diff --git a/scapy/contrib/macsec.uts b/scapy/contrib/macsec.uts index db42b5e3612b972915e0bbf79a338d34450198f1..32ed859012550b7d70444a2d26a3bb61505492e2 100644 --- a/scapy/contrib/macsec.uts +++ b/scapy/contrib/macsec.uts @@ -20,7 +20,7 @@ assert(m[MACsec].shortlen == 0) assert(m[MACsec].SC) assert(m[MACsec].E) assert(m[MACsec].C) -assert(m[MACsec].sci == '\x52\x54\x00\x13\x01\x56\x00\x01') +assert(m[MACsec].sci == b'\x52\x54\x00\x13\x01\x56\x00\x01') = MACsec - basic encryption - encrypted sa = MACsecSA(sci='\x52\x54\x00\x13\x01\x56\x00\x01', an=0, pn=100, key=b'aaaaaaaaaaaaaaaa', icvlen=16, encrypt=1, send_sci=1) @@ -36,7 +36,7 @@ assert(e[MACsec].shortlen == 0) assert(e[MACsec].SC) assert(e[MACsec].E) assert(e[MACsec].C) -assert(e[MACsec].sci == '\x52\x54\x00\x13\x01\x56\x00\x01') +assert(e[MACsec].sci == b'\x52\x54\x00\x13\x01\x56\x00\x01') = MACsec - basic decryption - encrypted sa = MACsecSA(sci='\x52\x54\x00\x13\x01\x56\x00\x01', an=0, pn=100, key=b'aaaaaaaaaaaaaaaa', icvlen=16, encrypt=1, send_sci=1) @@ -53,8 +53,8 @@ assert(d[MACsec].shortlen == 0) assert(d[MACsec].SC) assert(d[MACsec].E) assert(d[MACsec].C) -assert(d[MACsec].sci == '\x52\x54\x00\x13\x01\x56\x00\x01') -assert(str(d) == str(m)) +assert(d[MACsec].sci == b'\x52\x54\x00\x13\x01\x56\x00\x01') +assert(raw(d) == raw(m)) = MACsec - basic decap - decrypted sa = MACsecSA(sci='\x52\x54\x00\x13\x01\x56\x00\x01', an=0, pn=100, key=b'aaaaaaaaaaaaaaaa', icvlen=16, encrypt=1, send_sci=1) @@ -63,7 +63,7 @@ m = sa.encap(p) e = sa.encrypt(m) d = sa.decrypt(e) r = sa.decap(d) -assert(str(r) == str(p)) +assert(raw(r) == raw(p)) @@ -80,7 +80,7 @@ assert(m[MACsec].shortlen == 0) assert(m[MACsec].SC) assert(not m[MACsec].E) assert(not m[MACsec].C) -assert(m[MACsec].sci == '\x52\x54\x00\x13\x01\x56\x00\x01') +assert(m[MACsec].sci == b'\x52\x54\x00\x13\x01\x56\x00\x01') = MACsec - basic encryption - integrity only sa = MACsecSA(sci='\x52\x54\x00\x13\x01\x56\x00\x01', an=0, pn=200, key=b'aaaaaaaaaaaaaaaa', icvlen=16, encrypt=0, send_sci=1) @@ -96,8 +96,8 @@ assert(e[MACsec].shortlen == 0) assert(e[MACsec].SC) assert(not e[MACsec].E) assert(not e[MACsec].C) -assert(e[MACsec].sci == '\x52\x54\x00\x13\x01\x56\x00\x01') -assert(str(e)[:-16] == str(m)) +assert(e[MACsec].sci == b'\x52\x54\x00\x13\x01\x56\x00\x01') +assert(raw(e)[:-16] == raw(m)) = MACsec - basic decryption - integrity only sa = MACsecSA(sci='\x52\x54\x00\x13\x01\x56\x00\x01', an=0, pn=200, key=b'aaaaaaaaaaaaaaaa', icvlen=16, encrypt=0, send_sci=1) @@ -114,8 +114,8 @@ assert(d[MACsec].shortlen == 0) assert(d[MACsec].SC) assert(not d[MACsec].E) assert(not d[MACsec].C) -assert(d[MACsec].sci == '\x52\x54\x00\x13\x01\x56\x00\x01') -assert(str(d) == str(m)) +assert(d[MACsec].sci == b'\x52\x54\x00\x13\x01\x56\x00\x01') +assert(raw(d) == raw(m)) = MACsec - basic decap - integrity only sa = MACsecSA(sci='\x52\x54\x00\x13\x01\x56\x00\x01', an=0, pn=200, key=b'aaaaaaaaaaaaaaaa', icvlen=16, encrypt=0, send_sci=1) @@ -124,7 +124,7 @@ m = sa.encap(p) e = sa.encrypt(m) d = sa.decrypt(e) r = sa.decap(d) -assert(str(r) == str(p)) +assert(raw(r) == raw(p)) = MACsec - encap - shortlen 2 sa = MACsecSA(sci=0x5254001301560001, an=0, pn=200, key=b'aaaaaaaaaaaaaaaa', icvlen=16, encrypt=0, send_sci=1) @@ -206,8 +206,8 @@ txdec = txsa.decap(txsa.decrypt(tx)) rxdec = rxsa.decap(rxsa.decrypt(rx)) txref = b"RT\x00\x12\x01V.\xbc\x84\xd5\xca\x13\x08\x00E\x00\x00T\x11:@\x00@\x01\xa6\x1b\xc0\xa8\x01\x01\xc0\xa8\x01\x02\x08\x00a\xeaG+\x00\x01\xc0~RY\x00\x00\x00\x00w>\x06\x00\x00\x00\x00\x00\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37" rxref = b".\xbc\x84\xd5\xca\x13RT\x00\x12\x01V\x08\x00E\x00\x00T\xd4\x1a\x00\x00@\x01#;\xc0\xa8\x01\x02\xc0\xa8\x01\x01\x00\x00i\xeaG+\x00\x01\xc0~RY\x00\x00\x00\x00w>\x06\x00\x00\x00\x00\x00\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37" -assert(str(txdec) == str(txref)) -assert(str(rxdec) == str(rxref)) +assert(raw(txdec) == raw(txref)) +assert(raw(rxdec) == raw(rxref)) @@ -231,8 +231,8 @@ txdec = txsa.decap(txsa.decrypt(tx)) rxdec = rxsa.decap(rxsa.decrypt(rx)) txref = b"RT\x00\x12\x01V.\xbc\x84\xd5\xca\x13\x08\x00E\x00\x00\x80#D@\x00@\x01\x93\xe5\xc0\xa8\x01\x01\xc0\xa8\x01\x02\x08\x00E\xd5\x0f\xb3\x00\x01SrSY\x00\x00\x00\x00\x8b\x1d\r\x00\x00\x00\x00\x00\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abc" rxref = b".\xbc\x84\xd5\xca\x13RT\x00\x12\x01V\x08\x00E\x00\x00\x80\x05\xab\x00\x00@\x01\xf1~\xc0\xa8\x01\x02\xc0\xa8\x01\x01\x00\x00M\xd5\x0f\xb3\x00\x01SrSY\x00\x00\x00\x00\x8b\x1d\r\x00\x00\x00\x00\x00\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abc" -assert(str(txdec) == str(txref)) -assert(str(rxdec) == str(rxref)) +assert(raw(txdec) == raw(txref)) +assert(raw(rxdec) == raw(rxref))