On 2016-04-26 at 12:24:45 +0200, Vadim Kochan <vadi...@gmail.com> wrote:
> On Tue, Apr 26, 2016 at 12:00 PM, Tobias Klauser <tklau...@distanz.ch> wrote:
> > On 2016-04-26 at 10:47:18 +0200, Vadim Kochan <vadi...@gmail.com> wrote:
> >> On Tue, Apr 26, 2016 at 10:30:19AM +0200, Tobias Klauser wrote:
> >> > On 2016-04-25 at 16:55:53 +0200, Vadim Kochan <vadi...@gmail.com> wrote:
> >> > > On Mon, Apr 25, 2016 at 11:21:57AM +0200, Tobias Klauser wrote:
> >> > > > On 2016-04-22 at 23:53:01 +0200, Vadim Kochan <vadi...@gmail.com> 
> >> > > > wrote:
> >> > > > > Hi,
> >> > > > >
> >> > > > > I am thinking about to add dump of flows to stdout. It seems OK if
> >> > > > > to use similar table format like in curses mode by default, but in 
> >> > > > > case
> >> > > > > of src peer info (2 lines per flow) the output processing by 
> >> > > > > external scripts
> >> > > > > or text processors might be too complex with considering of row
> >> > > > > numbering.
> >> > > > >
> >> > > > > So here are my conclusions:
> >> > > > >
> >> > > > > 1) Default is OK - 1 line per flows with DST info only.
> >> > > > >
> >> > > > > 2) If "-s" option is specified - print 2 lines per flows like in 
> >> > > > > curses mode.
> >> > > > >
> >> > > > > 3) Add "-o, --oneline" option to print src & dst info in 1 row, 
> >> > > > > even
> >> > > > > if it will be overflowed in next line - this is just for external 
> >> > > > > text
> >> > > > > processing.
> >> > > >
> >> > > > I'd strongly prefer this way of implementing it - similar to the -c
> >> > > > option for ifpps. IMO, there's bo reason to care about line 
> >> > > > overflows,
> >> > > > as the main target will be script processing.
> >> > > >
> >> > > > > Also may be it would be useful to print empty columns with "*" or 
> >> > > > > "-"
> >> > > > > it will be more visually readable (probably in curses mode too) 
> >> > > > > and also be
> >> > > > > processed by awk.
> >> > > >
> >> > > > Either this (just make sure it's a character that can't appear 
> >> > > > inside a
> >> > > > field), or separate the columns using comma or semicolon.
> >> > >
> >> > >
> >> > > I) This is an example of default output 'flowtop -d':
> >> > >
> >> > > PROCESS       PID     PROTO  STATE       TIME ADDRESS                  
> >> > >                           PORT     GEO      BYTES       RATE
> >> > >
> >> > > *             *       tcp    TIME-WAIT    50s mc.yandex.ru             
> >> > >                           https    RUS        476          *
> >> > > *             *       tcp    TIME-WAIT    51s host10.rax.ru            
> >> > >                           http     RUS        164          *
> >> > > firefox       29425   tcp    ESTABLISHED  53s 74.117.181.52            
> >> > >                           http     USA      1.7kB          *
> >> > > *             *       tcp    TIME-WAIT    52s bs.yandex.ru             
> >> > >                           http     RUS      2.2kB          *
> >> > > *             *       tcp    TIME-WAIT    51s host69.rax.ru            
> >> > >                           http     RUS      1.3kB          *
> >> > > firefox       29425   tcp    ESTABLISHED  53s 74.117.181.52            
> >> > >                           http     USA      1.9kB          *
> >> > > *             *       tcp    TIME-WAIT    51s host10.rax.ru            
> >> > >                           http     RUS        533          *
> >> > >
> >> > > II) This is an example of output 'flowtop -ds', each flow entry
> >> > > separated with additional empty line to easy separate src & dst:
> >> > >
> >> > >
> >> > > PROCESS       PID     PROTO  STATE       TIME ADDRESS                  
> >> > >                           PORT     GEO      BYTES       RATE
> >> > > mutt          30420   tcp    ESTABLISHED   1m angus-think              
> >> > >                           48154    *        3.9kB          *
> >> > >                                           --> lo-in-f108.1e100.net     
> >> > >                           imaps    USA     95.7kB          *
> >> > >
> >> > > *             *       tcp    ESTABLISHED  21h angus-think              
> >> > >                           42480    *        3.9MB          *
> >> > >                                           --> 194.44.4.115             
> >> > >                           https    UKR    191.0MB          *
> >> > >
> >> > > skype         20044   tcp    ESTABLISHED  48m angus-think              
> >> > >                           50148    *      302.7kB          *
> >> > >                                           --> 157.55.130.153           
> >> > >                           40021    USA    187.8kB          *
> >> > >
> >> > > skype         20044   tcp    ESTABLISHED   7h angus-think              
> >> > >                           51028    *        7.5kB          *
> >> > >                                           --> 91.190.217.47            
> >> > >                           12350    LUX      4.9kB          *
> >> > >
> >> > >
> >> > > What do you think ?
> >> >
> >> > Two things come to mind:
> >> >
> >> > 1) bytes and rate - if applicable - should be printed as raw byte count
> >> >    (not shortened to kB, MB etc) in the stdout mode. This makes reusing
> >> >    the values in scripts much easier and can still be converted to other
> >> >    units if needed.
> >> I agree.
> >> >
> >> > 2) For the dump mode I wouldn't distinguish between one- and two-line
> >> >    mode (i.e. the -s option), but always print all information for a
> >> >    particular flow on one line, also the source. Again, this makes
> >> >    parsing using a script (which will be the primary usage for this
> >> >    feature) much easier.
> >> The reason why I did so is that it might be useful to have
> >> flows info in text format, send it via email or do grep (even with src
> >> info grep might be specified with context info (-A/-B options)).
> >> And later add -o option (oneline - in future we might have options
> >> to select columns and columnt might be added more), and also add
> >> separately CSV & JSON output formatting. Actually thats are my all args.
> >> So I still think that it might be good to support stdout & interactive
> >> modes in well readable formats.
> >
> > In my opinion this would just needlessly blow up complexity (many
> > comamnd line options influencing only small parts of the functionality).
> > I'd rather have one well-defined mode which contains all available
> > information and this can then be used to extract the necessary
> > information using a script. In my opinion there is no use for an
> > "readable" interactive stdout mode, that's what we have the curses mode
> > for, no?
> >
> > I'd really prefer to keep this as simple as possible.
> >
> > Thanks
> > Tobias
> 
> OK, I will try to do it simple, so lets try again ...
> 
> I will just print to stdout in the format like in the default for
> curses mode but with all columns in one line and with raw bytes/rates
> ?

Yes, that's what I'd prefer. Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"netsniff-ng" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to netsniff-ng+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to