-- This script verifies that the N(U) is increasing... -- do local nu_state_src = {} local function init_listener() -- handle the port as NS over IP local udp_port_table = DissectorTable.get("udp.port") local gprs_ns_dis = Dissector.get("gprs_ns") udp_port_table:add(23000,gprs_ns_dis) -- we want to look here... local llc_sapi_get = Field.new("llcgprs.sapib") local llc_nu_get = Field.new("llcgprs.nu") local bssgp_tlli_get = Field.new("bssgp.tlli") local tap = Listener.new("ip", "udp.port == 23000") function tap.packet(pinfo,tvb,ip) local llc_sapi = llc_sapi_get() local llc_nu = llc_nu_get() local bssgp_tlli = bssgp_tlli_get() if not llc_sapi or not llc_nu or not bssgp_tlli then return end local ip_src = tostring(ip.ip_src) local bssgp_tlli = tostring(bssgp_tlli) local llc_nu = tostring(llc_nu) local llc_sapi = tostring(llc_sapi) local src_key = ip_src .. "-" .. bssgp_tlli .. "-" .. llc_sapi local last_nu = nu_state_src[src_key] if not last_nu then -- print("Establishing mapping for " .. src_key) nu_state_src[src_key] = llc_nu return end local function tohex(number) return string.format("0x%x", tonumber(number)) end nu_state_src[src_key] = llc_nu if tonumber(last_nu) + 1 ~= tonumber(llc_nu) then print("JUMP in N(U) on TLLI " .. tohex(bssgp_tlli) .. " and SAPI: " .. llc_sapi .. " src: " .. ip_src) print("\t last: " .. last_nu .. " now: " .. llc_nu) end end function tap.draw() end function tap.reset() end end init_listener() end