2009/3/19 Martin Visser <martinvisse...@gmail.com>

> Yami,
>
> I know it was only an example, but your "DNS is only over UDP" is a bad
> one. DNS can use TCP for any query/response, either when the response is
> bigger than a 512byte PDU, or when doing AXFR zone transfers.
>

Thank you for pointing this out. I'll add one note on the Wiki.


>
> But in princple the idea of preventing redundant dissection is great. I
> often see wireshark spending time performing dissection when, at least to my
> mind, it is probably redundant.
>
> Regards, Martin
>
> martinvisse...@gmail.com
>
>
> 2009/3/18 yami <yami...@gmail.com>
>
>> Hi dev,
>>
>> I have implemented a prototype to speed up interactive filtering. The key
>> idea is to reuse previous display information. (Is there anyone interested
>> in this idea?)
>>
>> For example, a user filters 'udp' first, then he tries to filter 'dns'.
>> Since we know that only packets passed 'udp' filter string have the
>> possibility to pass 'dns', there is no need to dissect packets not passed
>> the 'udp' filter.
>>
>> This could be a big gain, if the capture is large, but UDP packets occupy
>> only a small portion of it.
>>
>> In my current implementation, if in the second filtering, the user inputs
>> 'udp && dns', Wireshark will find that 'udp' has already been filtered, so
>> if a packet did not passed 'udp', Wireshark will not dissect it again.
>>
>>
>> The above is only the simplest case. In general this is a Boolean
>> Satisfiability [1] problem. Assume a new display filter, say D, contains
>> previous applied filters S1, ..., Sn. We know that S1...Sn are subtrees of
>> D's syntax tree.
>>
>> And for packet P, if it passed Si then assigned Bi to 1, otherwise 0, so
>> we get B1,...,Bn; then we can generate a boolean expression, say EXP, for D
>> with its subtrees S1,...,S2 replaced by B1,...,Bn.
>>
>> If EXP could never be true, then P will not pass D (we know this without
>> dissecting/filtering).
>> If !(EXP) could never be true, then P will pass D.
>> If the above two are satisfied, we should dissect/filter P.
>>
>> [1] http://en.wikipedia.org/wiki/Boolean_satisfiability_problem
>>
>> ___________________________________________________________________________
>> Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
>> Archives:    http://www.wireshark.org/lists/wireshark-dev
>> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>>             mailto:wireshark-dev-requ...@wireshark.org
>> ?subject=unsubscribe
>>
>
>
> ___________________________________________________________________________
> Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
> Archives:    http://www.wireshark.org/lists/wireshark-dev
> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe
>
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to