libs/sys: ignore TIME_WAIT connections in luci.sys.net.conntrack()
This commit is contained in:
parent
8cab9e2b8f
commit
380726158d
1 changed files with 22 additions and 18 deletions
|
@ -240,32 +240,36 @@ function net.conntrack(callback)
|
||||||
for line in io.lines("/proc/net/nf_conntrack") do
|
for line in io.lines("/proc/net/nf_conntrack") do
|
||||||
line = line:match "^(.-( [^ =]+=).-)%2"
|
line = line:match "^(.-( [^ =]+=).-)%2"
|
||||||
local entry, flags = _parse_mixed_record(line, " +")
|
local entry, flags = _parse_mixed_record(line, " +")
|
||||||
entry.layer3 = flags[1]
|
if flags[6] ~= "TIME_WAIT" then
|
||||||
entry.layer4 = flags[3]
|
entry.layer3 = flags[1]
|
||||||
for i=1, #entry do
|
entry.layer4 = flags[3]
|
||||||
entry[i] = nil
|
for i=1, #entry do
|
||||||
end
|
entry[i] = nil
|
||||||
|
end
|
||||||
|
|
||||||
if callback then
|
if callback then
|
||||||
callback(entry)
|
callback(entry)
|
||||||
else
|
else
|
||||||
connt[#connt+1] = entry
|
connt[#connt+1] = entry
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif fs.access("/proc/net/ip_conntrack", "r") then
|
elseif fs.access("/proc/net/ip_conntrack", "r") then
|
||||||
for line in io.lines("/proc/net/ip_conntrack") do
|
for line in io.lines("/proc/net/ip_conntrack") do
|
||||||
line = line:match "^(.-( [^ =]+=).-)%2"
|
line = line:match "^(.-( [^ =]+=).-)%2"
|
||||||
local entry, flags = _parse_mixed_record(line, " +")
|
local entry, flags = _parse_mixed_record(line, " +")
|
||||||
entry.layer3 = "ipv4"
|
if flags[4] ~= "TIME_WAIT" then
|
||||||
entry.layer4 = flags[1]
|
entry.layer3 = "ipv4"
|
||||||
for i=1, #entry do
|
entry.layer4 = flags[1]
|
||||||
entry[i] = nil
|
for i=1, #entry do
|
||||||
end
|
entry[i] = nil
|
||||||
|
end
|
||||||
|
|
||||||
if callback then
|
if callback then
|
||||||
callback(entry)
|
callback(entry)
|
||||||
else
|
else
|
||||||
connt[#connt+1] = entry
|
connt[#connt+1] = entry
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue