do
local f_user_agent = Field.new("http.user_agent")
local file = io.open("luawrite.txt", "w")
--local function init_listener()
local tap = Listener.new("http")
local counter = 0
local ua_table={}
function tap.packet(pinfo, tvb)
local ua= f_user_agent()
if ua then
local ua_index = tostring(ua)
local ua_value = ua_table[ua_index] or 0
ua_table[ua_index] = ua_value + 1
counter=counter+1
end
--file:write("Counter: \t" .. counter .." "..ua_index.. "\n")
end
function tap.draw(t)
file:write("Counter: \t" .. counter .. "\n")
for ua_content,num in pairs(ua_table) do
file:write(ua_content.."\t"..num.."\n")
end
end
--retap_packets()
end
本文介绍了一个使用Lua编写的简单网络监听程序,该程序能够监听HTTP流量并统计不同User-Agent出现的次数。通过读取和解析HTTP头部信息,程序记录了每个User-Agent字符串及其对应的出现频率,并将统计数据写入本地文件。

904

被折叠的 条评论
为什么被折叠?



