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'?這個腳本運行在什麼上下文中?這是解剖員嗎? –