I've noticed quite a few more issues with my tests. I did the following download:
Code: Select all
[user@server tmp]$ wget http://fisica.ufpr.br/kurumin/kurumin-7.0.iso
--2016-09-28 15:37:53-- http://fisica.ufpr.br/kurumin/kurumin-7.0.iso
Resolving fisica.ufpr.br (fisica.ufpr.br)... 200.238.171.246, 2801:82:80ff:7fcf:c23f:d5ff:fe43:ff9e
Connecting to fisica.ufpr.br (fisica.ufpr.br)|200.238.171.246|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 679045120 (648M) [application/x-iso9660-image]
Saving to: âkurumin-7.0.isoâ
100%[======================================================================================================================================================>] 679,045,120 5.35MB/s in 2m 7s
1) When I queried NagiosNA by the server's IP, the total bytes count was 624MB (should be 647~648MB as shown above). I can't generate that image anymore (due to issue #5), but trust me, the value was 624MB. The bytes count was "correctly" sent by ASA, although the timestamps seem a litte bit messed up:
Code: Select all
[user@localhost flows]$ nfdump -r nfcapd.201609281535 | grep 200.238.171.246
2016-09-28 15:37:54.289 CREATE Ignore TCP 1.1.1.1:52356 -> 200.238.171.246:80 1.1.1.1:52356 -> 200.238.171.246:80 0 0
2016-09-28 15:37:54.289 UPDATE Ignore TCP 1.1.1.1:52356 -> 200.238.171.246:80 1.1.1.1:52356 -> 200.238.171.246:80 135 329.2 M
2016-09-28 15:38:55.858 UPDATE Ignore TCP 1.1.1.1:52356 -> 200.238.171.246:80 1.1.1.1:52356 -> 200.238.171.246:80 0 325.4 M
[user@localhost flows]$ nfdump -r nfcapd.201609281540 | grep 200.238.171.246
2016-09-28 15:39:57.048 UPDATE 2031 TCP 1.1.1.1:52356 -> 200.238.171.246:80 1.1.1.1:52356 -> 200.238.171.246:80 0 24.5 M
2016-09-28 15:37:54.289 DELETE 2031 TCP 1.1.1.1:52356 -> 200.238.171.246:80 1.1.1.1:52356 -> 200.238.171.246:80 135 679.0 M
2) Notice that summing up only the flows from the first file (nfcapd.201609281535) only, we get exactly 624MB (it's actually 654.6, but it's due to the next issue) as I stated earlier as the value shown by Nagios NA.
3) Notice that the value sent was already in MB (e.g. 329.2MB), but NagiosNA treated it as "329,200,000" and divided it by 1024 twice:
Code: Select all
((((329.2 + 325.4)^10x6)/1024)/1024) = 624MB
4) The duration shown in the NagiosNA's query was 61.569s, even though we know it took over 2min. Notice that from flow 2 to flow 3 (first file), we have exactly 61.569s.
#3 and #4 seem to have happened because it was split between two different files.
5) After doing a second download from that same website (same file too), there were even more issues:
download.png
Bytes count is wrong. File is 648MB long. Flows count is wrong. Should be 5 from first download, and 2 more from the second download (it seems to have counted only 3 flows from the first file during the first download). "Average Bytes/Sec" is wrong too. The download info shows that it was ~5MB.
Also, I can't separate "Total Bytes" for each download. Take a look:
download2.png
Even though I've queried by the specific source port, it showed total bytes for both downloads.
That said, I've taken a look at NagiosNA online demo, and I verified that none of these issues exist. Everything seems to work perfectly. I'm also aware that ASA has a specific kind of (event-driven)Netflow. Are any of these issues caused by a mistake of mine? Or is it just that no one had noticed these issues with ASA so far?
The packets' count issue isn't critical for me and I could totally live with that for quite a while. All of the rest is absolutelly critical, though.