Misc problems with argus-clients v. 3.0.5.34

Markku Parviainen maketsi at gmail.com
Thu Mar 1 09:24:39 EST 2012


Hi,

2012/2/29 Carter Bullard <carter at qosient.com>:
> I think the problems you're getting from rabins.1 may not be bugs, but
> its definitely not the right results.   When processing time based bins,
> rabins.1 will reject data if its not within its working time range.  If you
> don't tell rabins.1 what time range to use, with the -t option, rabins.1 will
> have to figure out what the time range is.  It does this when reading
> from a file by reading the file twice.  Once to figure out the time ranges,
> then another run to process the data into its preallocated bins.
>
> When you pipe data into rabins.1, it has to guess what the time range
> is going to be, and so there is potential to throw data away if its all over
> the calendar, so to speak.    This doesn't solve your problem, but it just
> explains why I think you're getting unpredicted results.

Actually on my original script where I noticed this problem, I already
was using -t option. It doesn't affect to the results. But thanks for
pointing out that rabins will read the data twice without it.

Related to this problem, rabins also seems to generate new records.
Look at the port 0 (and 3074) below.

This is what the data looks like:
# racluster -m proto dport -r test.arg.gz -w - - udp | rasort -m pkts
-s proto dport pkts -n  | head -5
   udp 161      353877
   udp 137      133430
   udp 3074     108009
   udp 53        89020
   udp 8612      69988

Rabins produces port 0 and changes the packet counter of port 3074:
# rasort -m stime -r test.arg.gz -w - - udp | time rabins -M hard time
5s -m proto dport -w - | racluster -m proto dport -w - | rasort -m
pkts -s proto dport pkts -n  | head -5
   udp 161      353877
   udp 137      133430
   udp 3074     105026
   udp 0        103673
   udp 53        89020

But the individual search for 3074 produces the correct result:
# rasort -m stime -r test.arg.gz -w - - udp and dst port 3074 | rabins
-M hard time 5s -m proto dport -w - | racluster -m proto dport -w - |
rasort -m pkts -s proto dport pkts -n  | head -5
   udp 3074     108009

# racluster -m srcid -r test.arg.gz -s pkts - udp and dst port 3074
  108009

There are no really many port 0 packets there:
# rasort -m stime -r test.arg.gz -w - - udp and dst port 0 | rabins -M
hard time 5s -m proto dport -w - | racluster -m proto dport -w - |
rasort -m pkts -s proto dport pkts -n  | head -5
   udp 0           107
# racluster -m srcid -r test.arg.gz -s pkts - udp and dst port 0
     107

# ratimerange -r test.arg.gz -u
1327489126.869327 - 1327492741.717686

I tried all commands also with -t 1327489126-1327492741 (with every
rasort, rabins and racluster). It didn't change the results, nor did
it make those commands any faster.

I also noticed this:

# ranonymize -r test.arg.gz -w anon.arg
# racluster -m srcid -r anon.arg -s pkts -  udp and dst port 3074
       1
# racluster -m srcid -r anon.arg -s pkts - udp and dst port 0
     107
# racluster -m srcid -r anon.arg -s pkts
 4046512
# racluster -m srcid -r test.arg.gz -s pkts
 4046512

There are packets in the anonymized file, but the filter does not find
all of them?

I'll send the original packet file separately for your analysis.



More information about the argus mailing list