<div dir="ltr">Hello,<div> I'm noticing a potential issue with a negated isdataat check. I'm testing the following four rules against the pcap linked below:</div><div><div>alert tcp any any -> any any (msg: "It's Alive!!!"; content: "Here"; isdataat: !114; sid: 1102010; rev: 1;)</div><div>alert tcp any any -> any any (msg: "It's Alive!!!"; content: "Here"; isdataat: 114; sid: 1102011; rev: 1;)</div><div>alert tcp any any -> any any (msg: "It's Alive!!!"; content: "Here"; isdataat: !113; sid: 1102012; rev: 1;)</div><div>alert tcp any any -> any any (msg: "It's Alive!!!"; content: "Here"; isdataat: 113; sid: 1102013; rev: 1;)</div></div><div><br></div><div>The packet simply contains the following 114 byte string:</div><div>"Here is a 114 byte packet to test how a negated isdataat checks works in Suricata. Seems something may be amiss..."</div><div><br></div><div>I'd expect rules 1102010 and 1102013 to alert, and that is what happens in Snort. In Suricata, only 1102012 and 1102013 cause an alert. I'm using Suricata 3.2.1.</div><div><br></div><div>PCAP: <a href="https://packettotal.com/cgi-bin/view-analysis.cgi?id=438c8f1a3041b5908a20bf3e7e8e3063">https://packettotal.com/cgi-bin/view-analysis.cgi?id=438c8f1a3041b5908a20bf3e7e8e3063</a></div><div><br></div><div>Has anyone else noticed this or am I misunderstanding something?</div><div><br></div><div>-Harley</div></div>