From 9e27071acc946f67a4a9b473edbbdd027fcbcb9d Mon Sep 17 00:00:00 2001 From: Phil <phil@secdev.org> Date: Mon, 9 Mar 2009 18:23:09 +0100 Subject: [PATCH] Added regression tets for IP Options --- test/regression.uts | 48 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/test/regression.uts b/test/regression.uts index 333d8a2e..b626e1a9 100644 --- a/test/regression.uts +++ b/test/regression.uts @@ -896,7 +896,53 @@ a=ATMT6() a.run() assert( _ == 'Mercury' ) - + ++ Test IP options + += IP options individual assembly +~ IP options +str(IPOption()) +assert(_ == '\x00\x02') +str(IPOption_NOP()) +assert(_ == '\x01') +str(IPOption_EOL()) +assert(_ == '\x00') +str(IPOption_LSRR(routers=["1.2.3.4","5.6.7.8"])) +assert(_ == '\x83\x0b\x04\x01\x02\x03\x04\x05\x06\x07\x08') + += IP options individual dissection +~ IP options +IPOption("\x00") +assert(_.option == 0 and isinstance(_, IPOption_EOL)) +IPOption("\x01") +assert(_.option == 1 and isinstance(_, IPOption_NOP)) +lsrr='\x83\x0b\x04\x01\x02\x03\x04\x05\x06\x07\x08' +p=IPOption_LSRR(lsrr) +p +q=IPOption(lsrr) +q +assert(p == q) + += IP assembly and dissection with options +~ IP options +IP(src="9.10.11.12",dst="13.14.15.16",options=IPOption_SDBM(addresses=["1.2.3.4","5.6.7.8"]))/TCP() +str(_) +assert(_ == 'H\x00\x004\x00\x01\x00\x00@\x06\xa2q\t\n\x0b\x0c\r\x0e\x0f\x10\x95\n\x01\x02\x03\x04\x05\x06\x07\x08\x00\x00\x00\x14\x00P\x00\x00\x00\x00\x00\x00\x00\x00P\x02 \x00_K\x00\x00') +q=IP(_) +q +assert( isinstance(q.options[0],IPOption_SDBM) ) +assert( q[IPOption_SDBM].addresses[1] == "5.6.7.8" ) +IP(src="9.10.11.12", dst="13.14.15.16", options=[IPOption_NOP(),IPOption_LSRR(routers=["1.2.3.4","5.6.7.8"]),IPOption_Security(transmission_control_code="XYZ")])/TCP() +str(_) +assert(_ == 'K\x00\x00@\x00\x01\x00\x00@\x06\xf3\x83\t\n\x0b\x0c\r\x0e\x0f\x10\x01\x83\x0b\x04\x01\x02\x03\x04\x05\x06\x07\x08\x82\x0b\x00\x00\x00\x00\x00\x00XYZ\x00\x00\x14\x00P\x00\x00\x00\x00\x00\x00\x00\x00P\x02 \x00_K\x00\x00') +IP(_) +q=_ +assert(q[IPOption_LSRR].get_current_router() == "1.2.3.4") +assert(q[IPOption_Security].transmission_control_code == "XYZ") +assert(q[TCP].flags == 2) + + + # Scapy6 Regression Test Campaign -- GitLab