[SecViz] Afterglow: Is it possible to split a field?

Raffael Marty raffy at raffy.ch
Mon Mar 15 11:13:55 EDT 2010


Oh... Yeah, you can't do that....


>>> $fields[2] =~ /Count\:\s+(\d+)/;

>>> $count = $1;

>>> color.target="yellow" if ($count==1);

>>> color.target="gray70" if ($count<=20);

>>> color.target="gray50" if ($count<=50);

>>> color.target="orangered" if ($count<=100);


Needs to be:

color.target=$fields[2] =~ /Count\:\s+(\d+)/; $count=$1; "yellow" if ($count==1);

Hope that works.

Raffael

--
Raffael Marty, Founder @ Loggly
@zrlram raffy.ch/blog

On Mar 15, 2010, at 5:44 AM, Paul Halliday wrote:


> I verified the code from the command line, it works fine.

>

> I see why it is failing though:

>

> Property File Error, unrecongnized entry: $fields[2], line 1

> Property File Error, unrecongnized entry: $hit_count, line 2

>

> I guess the properties file isn't taken literally?

>

> On Sat, Mar 13, 2010 at 10:16 PM, Raffael Marty <raffy at raffy.ch> wrote:

>> I think that's because count is not an int, but a string. Is that possible? I think you can try to cast it to an int...

>>

>> Raffael

>>

>> --

>> Raffael Marty, Founder @ Loggly

>> @zrlram raffy.ch/blog

>>

>> On Mar 13, 2010, at 5:05 PM, Paul Halliday wrote:

>>

>>> That seems to colour everything yellow; I am tired though, I could be

>>> missing something simple..

>>>

>>> I have this:

>>>

>>>

>>>

>>> I get this:

>>>

>>> http://www.pintumbler.org/files/scans_2010-03-13.png

>>>

>>> What am I missing?

>>>

>>> On Sat, Mar 13, 2010 at 3:20 PM, Bob Fox <dauntingbob at yahoo.com> wrote:

>>>> Paul:

>>>>

>>>> I always find split clumsy and tend to solve such problems with a regex...

>>>>

>>>> Perhaps something like:

>>>>

>>>> $fields[2] =~ /Count\:\s+(\d+)/;

>>>> $count = $1;

>>>> color.event="yellow" if ($count<=20);

>>>>

>>>>

>>>> -----------

>>>> Bob Fox

>>>>

>>>>

>>>>

>>>> ________________________________

>>>> From: Paul Halliday <paul.halliday at gmail.com>

>>>> To: Raffael Marty <raffy at raffy.ch>

>>>> Cc: secviz-visualization at secviz.org

>>>> Sent: Fri, March 12, 2010 10:11:38 PM

>>>> Subject: Re: [SecViz] Afterglow: Is it possible to split a field?

>>>>

>>>> Even after reading up on Perl's 'split' I cant seem to get this to

>>>> work (I couldn't hobble your example together either).

>>>>

>>>> $fields[2] looks like this:

>>>>

>>>> 172.16.0.1 Count: 20

>>>>

>>>> I am trying this:

>>>>

>>>> $count=split(' Count: ',$fields[2]);

>>>>

>>>> color.event="yellow" if ($count[1]<=20);

>>>>

>>>> Any pointers would be nice :)

>>>>

>>>> Thanks!

>>>>

>>>> On Wed, Mar 10, 2010 at 2:15 PM, Raffael Marty <raffy at raffy.ch> wrote:

>>>>> Oh, I see... I think you are breaking some functionality if you do that.

>>>>> Not sure though. Anyways, you could do something like format your data this

>>>>> way:

>>>>>

>>>>> A,B,C|D

>>>>>

>>>>> Then in your properties file, split by | again:

>>>>>

>>>>> color = $count=split("|",$fields[2])[0]; return "red" if ($count > 100)

>>>>>

>>>>> I haven't tested this (my perl code might be off too, been in Python land

>>>>> for too long), but it should work... Hopefully ;)

>>>>>

>>>>> Raffael

>>>>>

>>>>> --

>>>>> Raffael Marty, Founder @ Loggly

>>>>> @zrlram raffy.ch/blog

>>>>>

>>>>> On Mar 10, 2010, at 9:44 AM, Paul Halliday wrote:

>>>>>

>>>>>> I have been working on this:

>>>>>>

>>>>>> http://www.pintumbler.org/code/edv

>>>>>>

>>>>>> The problem I was having was that I was already using the 3 fields:

>>>>>>

>>>>>> src_ip, dst_ip, signature

>>>>>>

>>>>>> I wanted to add a little depth by adding an event count for each

>>>>>> unique (src->dst->signature) entry; a 4th field.

>>>>>>

>>>>>> I changed a couple lines in afterglow.pl:

>>>>>>

>>>>>> on line 438 I added: $other = $fields[3];

>>>>>>

>>>>>> and on line 474 I changed it to read:

>>>>>> @fields=($source,$event,$target,$other);

>>>>>>

>>>>>> Now I can do:

>>>>>>

>>>>>> src_ip, dst_ip, signature,count using count to colorize the objects:

>>>>>>

>>>>>> http://www.pintumbler.org/files/allevents_2010-03-10_thumb.png

>>>>>>

>>>>>> It needs some work but its close to what I was looking for.

>>>>>>

>>>>>> Thanks.

>>>>>>

>>>>>> On Wed, Mar 10, 2010 at 12:56 PM, Raffael Marty <raffy at raffy.ch> wrote:

>>>>>>> Hi Paul,

>>>>>>>

>>>>>>> Sure you can do that.

>>>>>>>

>>>>>>> Let's say you have a three column input:

>>>>>>>

>>>>>>> 10.0.0.1,20.2.2.2,100

>>>>>>> 12.2.2.2,10.0.0.1,12

>>>>>>>

>>>>>>> So, you have a source address, destination address, and a count. Then do

>>>>>>> this:

>>>>>>>

>>>>>>> cat file | afterglow -t -c file.properties | ....

>>>>>>>

>>>>>>> What is important is the -t, which tells AfterGlow to only visualize two

>>>>>>> columns. The third column will still be available in your config file. So,

>>>>>>> the file.properties would look something like:

>>>>>>>

>>>>>>> color.target = "red" if ($fields[2]>100)

>>>>>>>

>>>>>>> Note, it's $fields[2], not 3! What you could also:

>>>>>>>

>>>>>>> color = "green" if (fields()>100)

>>>>>>>

>>>>>>> Hope this helps. Looking forward to seeing your output on secviz.org.

>>>>>>> What's the use-case you are after?

>>>>>>>

>>>>>>> Cheers

>>>>>>>

>>>>>>> Raffael

>>>>>>>

>>>>>>> --

>>>>>>> Raffael Marty, Founder @ Loggly

>>>>>>> @zrlram raffy.ch/blog

>>>>>>>

>>>>>>> On Mar 10, 2010, at 5:56 AM, Paul Halliday wrote:

>>>>>>>

>>>>>>>> Or have field[3] available?

>>>>>>>>

>>>>>>>> I want to colour a source or target based on its count of events.

>>>>>>>> Is this possible?

>>>>>>>>

>>>>>>>> Thanks.

>>>>>>>> _______________________________________________

>>>>>>>> SecViz-Visualization mailing list

>>>>>>>> SecViz-Visualization at secviz.org

>>>>>>>> http://eight.pairlist.net/mailman/listinfo/secviz-visualization

>>>>>>>

>>>>>>>

>>>>>

>>>>>

>>>> _______________________________________________

>>>> SecViz-Visualization mailing list

>>>> SecViz-Visualization at secviz.org

>>>> http://eight.pairlist.net/mailman/listinfo/secviz-visualization

>>>>

>>

>>




More information about the SecViz-Visualization mailing list