# meta l4proto { tcp, udp, sctp} @th,16,16 { 22, 23, 80 } [ { "match": { "left": { "meta": { "key": "l4proto" } }, "op": "==", "right": { "set": [ "tcp", "udp", "sctp" ] } } }, { "match": { "left": { "payload": { "base": "th", "len": 16, "offset": 16 } }, "op": "==", "right": { "set": [ 22, 23, 80 ] } } } ] # meta l4proto tcp @th,16,16 { 22, 23, 80} [ { "match": { "left": { "meta": { "key": "l4proto" } }, "op": "==", "right": "tcp" } }, { "match": { "left": { "payload": { "base": "th", "len": 16, "offset": 16 } }, "op": "==", "right": { "set": [ 22, 23, 80 ] } } } ] # @nh,8,8 0xff [ { "match": { "left": { "payload": { "base": "nh", "len": 8, "offset": 8 } }, "op": "==", "right": "0xff" } } ] # @nh,8,16 0x0 [ { "match": { "left": { "payload": { "base": "nh", "len": 16, "offset": 8 } }, "op": "==", "right": 0 } } ] # @ll,0,1 1 [ { "match": { "left": { "payload": { "base": "ll", "len": 1, "offset": 0 } }, "op": "==", "right": 1 } } ] # @ll,0,8 & 0x80 == 0x80 [ { "match": { "left": { "&": [ { "payload": { "base": "ll", "len": 8, "offset": 0 } }, "0x80" ] }, "op": "==", "right": "0x80" } } ] # @ll,0,128 0xfedcba987654321001234567890abcde [ { "match": { "left": { "payload": { "base": "ll", "len": 128, "offset": 0 } }, "op": "==", "right": "0xfedcba987654321001234567890abcde" } } ] # meta l4proto 91 @th,400,16 0x0 accept [ { "match": { "left": { "meta": { "key": "l4proto" } }, "op": "==", "right": 91 } }, { "match": { "left": { "payload": { "base": "th", "len": 16, "offset": 400 } }, "op": "==", "right": 0 } }, { "accept": null } ] # @ih,32,32 0x14000000 [ { "match": { "left": { "payload": { "base": "ih", "len": 32, "offset": 32 } }, "op": "==", "right": 335544320 } } ]