Ethereal-dev: Re: [ethereal-dev] New proto_tree patch
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Guy Harris <guy@xxxxxxxxxx>
Date: Fri, 2 Jul 1999 22:24:45 -0700 (PDT)
> Yes, absolutely. Ethereal would benefit from different styles of UI for > filters. I find the NAI's DOS-based Sniffer filter interface useful. > While you can build complex expressions with it, it also has fields for > simple filters: you select the source/dest addresses you want to see > (dlc, ip, ipx), and which protocols. Very simple. > > I once tried to use Sniffer Pro's filter GUI (on WinNT). The GUI was not > simple; I could not at a glance figure out to relate everything with > their little tree of ANDs and ORs. Somehow a tree of logical expressions > doesn't work in a GUI. NetMon's GUI is based on a logical expression tree, but it starts out with [AND] | +---Protocol == Any | +---ANY <-> ANY If you double click on either of them, it pops up its filter-node construction dialog box, which has three tabs: Address lets you filter on source or destination addresses (you can specify "Addr1 -> Addr2", meaning packets going from Addr1 to Addr2, or "Addr1 <-> Addr2", meaning packets going between Addr1 and Addr2; either one can be specified as "*ANY") Protocol lets you filter on the highest-level protocol (i.e., the one that shows up in the summary display) - it has a list of "enabled" and "disabled" protocols, which starts out showing all of them as enabled, and lets you enable all, disable all, or move a selected protocol to the disabled or enabled list Property lets you filter on a particular field - it has a list of properties (scrolling list, initially showing just protocols, with a "+" that can be clicked to open up a list of all fields for that protocol), and, when you select a particular field, it offers different relations (e.g., "==", "<>" a/k/a "!=", ">", etc., and lets you specify the value to be compared with the field If you click on "Protocol == Any", the active tab is the "Protocol" tab (although you can change that); if you click on "ANY <-> ANY", the active tab is the "Address" tab (again, you can change that). Now, admittedly, I haven't often constructed a full-blown expression, so maybe the only reason I've found it not to bad is that it's easy to construct an expression that *just* filters on a protocol, or an address, or one field. To add an AND, OR, or NOT above a particular expression, you select the tree element with the expression, and click on "AND", "OR", or "NOT" in a list of "Add" buttons. That gives you an AND or an OR with only one operand; select the AND or OR, and click on "Expression" in the "Add" button list, and it pops up the filter-node construction dialog box to let you construct the other operand of the AND or OR. There's an "Edit" button, which is either "Operator" if an AND, OR, or NOT is selected - it cycles through AND and OR (and NOT, if the operator has only one operand) or "Expression" if an expression node is selected - it pops up the filter-node construction dialog box. There are also "Delete" buttons - "Line", which deletes the selected expression node (or is grayed-out if the current node is an operator), "Branch", which deletes the selected expression node if an expression node is selected or deletes the operator *and* its children if an operator is selected, and "All". I've never used the Windows Sniffer GUI, so I don't know if this is better or worse or just the same. It may also not be immediately obvious how to construct a general expression with ANDs, ORs, and NOTs.
- References:
- Re: [ethereal-dev] New proto_tree patch
- From: Gilbert Ramirez
- Re: [ethereal-dev] New proto_tree patch
- Prev by Date: Re: [ethereal-dev] New proto_tree patch
- Next by Date: Re: [ethereal-dev] New proto_tree patch
- Previous by thread: Re: [ethereal-dev] New proto_tree patch
- Next by thread: Re: [ethereal-dev] New proto_tree patch
- Index(es):