<div dir="ltr">Sorry for the delay. After a lot of testing and reading, I'm fairly sure that this is expected behavior. There was quite a few different things going on, and it took me awhile to peal through all the layers.<div><br></div><div>Things I learned:</div><div>1) The profiler will only profile a rule if it matches the MPM. Only then will it pass through to the signature evaluation and be profiled. </div><div>2) The MPM also works on HOME_NET etc matching.</div><div>3) My PCAP contained no packets that should match anything. But one stream which did match a fast_pattern.</div><div><br></div><div>So overall what happened is that my packet that matched the fast_pattern, did NOT match the directionality. So if the only rule that was included was rule B, then it wouldn't match the MPM because the directionally didn't match. If I included rule C, then the MPM would match the MPM because of the inclusion of <span style="color:rgb(80,0,80);font-size:12.8px">$HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS. After the MPM match, the signature match would then fail.</span></div><div><br></div><div>Does anyone know how to "disable" the MPM? I'd like to get profiling stats for all my rules, but with the MPM I have to create a pcap that (almost) matches every single rule.</div><div><br></div><div>Thanks!</div><div>-JR</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 25, 2016 at 7:07 PM, Peter Manev <span dir="ltr"><<a href="mailto:petermanev@gmail.com" target="_blank">petermanev@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Feb 17, 2016 at 9:45 AM, John Rett <<a href="mailto:johnarett@gmail.com">johnarett@gmail.com</a>> wrote:<br>
> Yes.<br>
<br>
Anything reproducible you can share? (offline if you would like)<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
> On Wed, Feb 17, 2016 at 3:45 AM, Peter Manev <<a href="mailto:petermanev@gmail.com">petermanev@gmail.com</a>> wrote:<br>
>><br>
>> On Mon, Feb 8, 2016 at 9:53 PM, John Rett <<a href="mailto:johnarett@gmail.com">johnarett@gmail.com</a>> wrote:<br>
>> > I'm seeing some weird behavior from the profiling results, and I'm<br>
>> > trying to<br>
>> > understand if what I'm seeing is a bug, some issue with my rules (I<br>
>> > doubt<br>
>> > this), or some behavior that I don't understand.<br>
>> ><br>
>> > I have configured and built suricata with profiling successfully. I'm<br>
>> > getting output in my rule_perf.log.<br>
>> ><br>
>> > I'm running the default yaml:<br>
>> > /data/suricata-3.0/src/suricata -vv -c /data/suricata-3.0/suricata.yaml<br>
>> > -r<br>
>> > /data/my.pcap -S /data/rules_file.txt<br>
>> ><br>
>> > Say I have rule A, B, and C in my rules file.<br>
>> > Rule A is <a href="http://doc.emergingthreats.net/2006588" rel="noreferrer" target="_blank">http://doc.emergingthreats.net/2006588</a><br>
>> > Rule B is <a href="http://doc.emergingthreats.net/2005568" rel="noreferrer" target="_blank">http://doc.emergingthreats.net/2005568</a><br>
>> > Rule C is an boring ETpro rule (Let me know if there is a proper way to<br>
>> > share this.)<br>
>> >><br>
>> >> alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS etc...<br>
>> ><br>
>> ><br>
>> > If I run this rules file though a couple huge (7G and 23G) pcaps of real<br>
>> > large network I would expect these rules to have many "ticks" and many<br>
>> > "checks". But instead I get one "check" for Rule B, ~2488 ticks. Only<br>
>> > one<br>
>> > single "check" out of everything.<br>
>><br>
>> If you re-run with --runmode=single would the stats be similar ?<br>
>><br>
>> ><br>
>> > This happens for both text output:<br>
>> > <a href="http://pastebin.com/XbXMyw5J" rel="noreferrer" target="_blank">http://pastebin.com/XbXMyw5J</a><br>
>> ><br>
>> > And JSON output:<br>
>> >><br>
>> >><br>
>> >> {"timestamp":"2016-02-08T20:09:52.066377+0000","rules":[{"signature_id":<br>
>> >><br>
>> >> 2005568,"gid":1,"rev":5,"checks":1,"matches":0,"ticks_total":2376,"ticks_max":2376,"ticks_avg":2376,"ticks_avg_match":0,"ticks_avg_nomatch":2376,"percent":100}]}<br>
>> ><br>
>> ><br>
>> > How could a rules file with three rules run against a huge pcaps, only<br>
>> > have<br>
>> > a single "check" for only one of the rules?<br>
>> ><br>
>> > Second question/issue, maybe related, maybe not. If I reorder the rules,<br>
>> > I<br>
>> > get the same result (expected.) If I remove rule A from the list, I get<br>
>> > the<br>
>> > same result (expected). If I remove rule C, I get a different result.<br>
>> > Profiling will return nothing, aka no "check" or "ticks" for any rules<br>
>> > (not<br>
>> > expected).<br>
>> ><br>
>> > For the record this happens in larger rule files too. But as I add more<br>
>> > rules, some of them will get checked a lot, whereas some of them won't<br>
>> > be<br>
>> > checked at all.<br>
>> ><br>
>> > Let me know if I can include any other information that would be<br>
>> > helpful.<br>
>> ><br>
>> > Many thanks for any and all help!<br>
>> > -JR<br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > Suricata IDS Users mailing list: <a href="mailto:oisf-users@openinfosecfoundation.org">oisf-users@openinfosecfoundation.org</a><br>
>> > Site: <a href="http://suricata-ids.org" rel="noreferrer" target="_blank">http://suricata-ids.org</a> | Support:<br>
>> > <a href="http://suricata-ids.org/support/" rel="noreferrer" target="_blank">http://suricata-ids.org/support/</a><br>
>> > List:<br>
>> > <a href="https://lists.openinfosecfoundation.org/mailman/listinfo/oisf-users" rel="noreferrer" target="_blank">https://lists.openinfosecfoundation.org/mailman/listinfo/oisf-users</a><br>
>> > Suricata User Conference November 9-11 in Washington, DC:<br>
>> > <a href="http://oisfevents.net" rel="noreferrer" target="_blank">http://oisfevents.net</a><br>
>><br>
>><br>
>><br>
>> --<br>
>> Regards,<br>
>> Peter Manev<br>
><br>
><br>
<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Regards,<br>
Peter Manev<br>
</font></span></blockquote></div><br></div>