esp32_bluetooth_classic_sni.../libs/scapy/contrib/ltp.uts

41 lines
1.4 KiB
Text
Raw Normal View History

% Licklider Transmission Protocol tests
############
############
+ Licklider Transmission Protocol (LTP) basic tests
~ TODO: no pcap have been found on Internet. Check that scapy correctly decode those too
= Build packets & dissect
load_contrib("ltp")
pkt = Ether(src="aa:aa:aa:aa:aa:aa", dst="bb:bb:bb:bb:bb:bb")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP()/LTP(flags=8,\
SessionOriginator=2,
SessionNumber=113,
ReportCheckpointSerialNo=12,
ReportUpperBound=0,
ReportLowerBound=5,
ReportReceptionClaims=[
LTPReceptionClaim(ReceptionClaimOffset=1, ReceptionClaimLength=4),
LTPReceptionClaim(ReceptionClaimOffset=2, ReceptionClaimLength=3),
],
HeaderExtensions=[
LTPex(ExTag=1, ExData=b"\x00"),
],
TrailerExtensions=[
LTPex(ExTag=0, ExData=b"\x01"),
LTPex(ExTag=1, ExData=b"\x02"),
])
pkt = Ether(raw(pkt))
assert LTP in pkt
assert pkt[LTP].ReportLowerBound == 5
assert pkt[LTP].ReportCheckpointSerialNo == 12
assert pkt[LTP].ReportReceptionClaims[0].ReceptionClaimLength == 4
assert pkt[LTP].ReportReceptionClaims[1].ReceptionClaimOffset == 2
assert pkt[LTP].HeaderExtensions[0].ExTag == 1
assert pkt[LTP].HeaderExtensions[0].ExData == b"\x00"
s = pkt.summary()
s
assert s.replace("ltp_deepspace", "1113") == 'Ether / IP / UDP 192.168.0.1:1113 > 192.168.0.2:1113 / LTP 113'