0
我想获得第一个未在sos
和DIS
端口上通信的数据包的帧时间(相对),并且ip地址不是if语句中提到的那个。但数据包应该使用端口24111.但是,下面的代码不适用于此目的。它的工作原理,直到我加udp_port~=24111
。之后,它没有给我任何结果,这意味着它不会进入该条件语句。我试图用多种方式编写条件,甚至将它分离出来作为新的if语句,但它不起作用。我在这里做错了什么。提前感谢您的建议。 下面是一段代码,我目前所面对的Lua脚本从wireshark中提取信息.pcap跟踪
local first_outpacket = 0
local flag = 0
function stats_first_packet()
local udp_port
local frame_time
local ip_addr
frame_time = time_relative_extractor()
udp_port = udp_port_extractor()
ip_addr = ip_addr_extractor()
if (udp_port) then
if (not (udp_port == 3000 or udp_port==3838 or flag==1 or ip_addr=="192.168.1.2" or udp_port~=24111)) then
first_outpacket = frame_time
print(frame_time)
flag = 1
else
-- print("tcp_src_port already recorded")
end
else
-- print("no tcp_src_port")
end
end
你能解释一下你试图捕捉的条件吗? –
我想捕获不使用端口3000和3838作为源端口或目标端口(因为这将是DIS数据包或sos端口上的数据包)的第一个UDP数据包。另外它不应该来自IP = 192.168.1.2的通信。但是,它应该在UDP端口24111上.if语句中的flag变量仅用于确保只获取第一个数据包的时间,而不是所有符合条件的数据包。 –
什么是'udp_port_extractor'?这个脚本运行在什么上下文中?这是解剖员吗? –