Go to the documentation of this file.
284 static void PrintFeatureList(
const SigTableElmt *e,
char sep)
296 printf(
"compatible with IP only rule");
302 printf(
"compatible with decoder event only rule");
308 printf(
"content modifier");
314 printf(
"sticky buffer");
334 static void SigMultilinePrint(
int i,
const char *prefix)
339 printf(
"%sFeatures: ", prefix);
360 if (name == NULL || strlen(name) == 0) {
364 if (strcmp(keyword, name) == 0) {
377 if (keyword == NULL) {
378 printf(
"=====Supported keywords=====\n");
379 for (i = 0; i < size; i++) {
381 if (name != NULL && strlen(name) > 0) {
382 if (name[0] ==
'_' || strcmp(name,
"template") == 0)
386 printf(
"- %s (not built-in)\n", name);
388 printf(
"- %s\n", name);
392 }
else if (strcmp(
"csv", keyword) == 0) {
393 printf(
"name;description;app layer;features;documentation\n");
394 for (i = 0; i < size; i++) {
396 if (name != NULL && strlen(name) > 0) {
400 if (name[0] ==
'_' || strcmp(name,
"template") == 0)
418 }
else if (strcmp(
"all", keyword) == 0) {
419 for (i = 0; i < size; i++) {
421 if (name != NULL && strlen(name) > 0) {
422 if (name[0] ==
'_' || strcmp(name,
"template") == 0)
425 SigMultilinePrint(i,
"\t");
429 for (i = 0; i < size; i++) {
434 printf(
"Not built-in\n");
437 SigMultilinePrint(i,
"");
441 printf(
"Non existing keyword\n");
447 static void DetectFileHandlerRegister(
void)
471 FatalError(
"Could not allocate sigmatch_table");
685 DetectTransformCompressWhitespaceRegister();
686 DetectTransformStripWhitespaceRegister();
687 DetectTransformStripPseudoHeadersRegister();
688 DetectTransformMd5Register();
689 DetectTransformSha1Register();
690 DetectTransformSha256Register();
691 DetectTransformDotPrefixRegister();
693 DetectTransformUrlDecodeRegister();
694 DetectTransformXorRegister();
695 DetectTransformToLowerRegister();
696 DetectTransformToUpperRegister();
697 DetectTransformHeaderLowercaseRegister();
700 DetectFileHandlerRegister();
702 ScDetectSNMPRegister();
703 ScDetectDHCPRegister();
704 ScDetectWebsocketRegister();
705 ScDetectEnipRegister();
706 ScDetectMqttRegister();
707 ScDetectRfbRegister();
708 ScDetectSipRegister();
709 ScDetectTemplateRegister();
725 SCLogDebug(
"detection plugin %s has no unittest "
730 "registration function.",
void DetectSshVersionRegister(void)
Registration function for keyword: ssh.protoversion.
void DetectDceStubDataRegister(void)
Registers the keyword handlers for the "dce_stub_data" keyword.
void DetectFragBitsRegister(void)
Registration function for fragbits: keyword.
void DetectHttpHHRegister(void)
Registers the keyword handlers for the "http_host" keyword.
void DetectITypeRegister(void)
Registration function for itype: keyword.
void DetectAppLayerEventRegister(void)
Registers the keyword handlers for the "app-layer-event" keyword.
void DetectDsizeRegister(void)
Registration function for dsize: keyword.
void DetectMsgRegister(void)
void DetectTlsJa3HashRegister(void)
Registration function for keyword: ja3_hash.
void DetectTemplateRegister(void)
Registration function for template: keyword.
#define SIGMATCH_INFO_STICKY_BUFFER
void DetectGeoipRegister(void)
Registration function for geoip keyword (no libgeoip support)
void DetectNfsVersionRegister(void)
Registration function for nfs_procedure keyword.
void DetectXbitsRegister(void)
void DetectTlsJa3SHashRegister(void)
Registration function for keyword: ja3s.hash.
void DetectRevRegister(void)
SigTableElmt * sigmatch_table
void DetectIkeExchTypeRegister(void)
Registration function for ike.exchtype keyword.
void DetectConfigRegister(void)
Registration function for keyword: filestore.
void DetectTcpmssRegister(void)
Registration function for tcpmss: keyword.
void DetectTlsSerialRegister(void)
Registration function for keyword: tls.cert_serial.
#define SIGMATCH_INFO_CONTENT_MODIFIER
void DetectSidRegister(void)
void DetectIkeNonceRegister(void)
void DetectSshSoftwareVersionRegister(void)
Registration function for keyword: ssh.softwareversion.
void DetectQuicCyuHashRegister(void)
void DetectTlsFingerprintRegister(void)
Registration function for keyword: tls.cert_fingerprint.
void DetectSmbNtlmsspDomainRegister(void)
void DetectHttpServerBodyRegister(void)
Registers the keyword handlers for the "http_server_body" keyword.
void DetectHttpStartRegister(void)
Registers the keyword handlers for the "http_start" keyword.
void DetectDNP3Register(void)
void DetectHttpUriRegister(void)
Registration function for keywords: http_uri and http.uri.
void DetectGidRegister(void)
Registration function for gid: keyword.
void DetectQuicUaRegister(void)
Registration function for quic.ua: keyword.
void DetectIPProtoRegister(void)
Registration function for ip_proto keyword.
void DetectICMPv6hdrRegister(void)
Registration function for icmpv6.hdr: keyword.
void DetectSshHasshRegister(void)
Registration function for hassh keyword.
void DetectTlsJa3StringRegister(void)
Registration function for keyword: ja3.string.
void DetectTlsRandomRegister(void)
Registration function for keyword: tls.random.
void DetectPriorityRegister(void)
Registers the handler functions for the "priority" keyword.
void DetectDceIfaceRegister(void)
Registers the keyword handlers for the "dce_iface" keyword.
void DetectFilesizeRegister(void)
Registration function for filesize: keyword.
void DetectHttpProtocolRegister(void)
Registers the keyword handlers for the "http.protocol" keyword.
void DetectFragOffsetRegister(void)
Registration function for fragoffset.
void DetectRpcRegister(void)
Registration function for rpc keyword.
void DetectSameipRegister(void)
Registration function for sameip: keyword.
void DetectSmbVersionRegister(void)
Registers the keyword handlers for the "smb_version" keyword.
void DetectFileRegisterFileProtocols(DetectFileHandlerTableElmt *reg)
void DetectSshHasshStringRegister(void)
Registration function for hassh.string keyword.
void DetectIcmpv4HdrRegister(void)
Registration function for icmpv4.hdr: keyword.
#define SIGMATCH_DEONLY_COMPAT
void DetectTcphdrRegister(void)
Registration function for tcp.hdr: keyword.
void DetectFlowBytesToClientRegister(void)
void DetectDatarepRegister(void)
void DetectFlowBytesToServerRegister(void)
void DetectHostbitsRegister(void)
void DetectTlsValidityRegister(void)
Registration function for tls validity keywords.
void DetectIpOptsRegister(void)
Registration function for ipopts: keyword.
void DetectSshHasshServerRegister(void)
Registration function for hasshServer keyword.
void DetectDnsAnswerNameRegister(void)
void DetectUricontentRegister(void)
Registration function for uricontent: keyword.
element in sigmatch type table.
DetectFileHandlerTableElmt filehandler_table[DETECT_TBLSIZE_STATIC]
void DetectFilemagicRegister(void)
Registration function for keyword: filemagic.
void DetectDnsRrtypeRegister(void)
void DetectTlsSniRegister(void)
Registration function for keyword: tls.sni.
void DetectTargetRegister(void)
Registration function for target keyword.
void DetectHttpCookieRegister(void)
Registration function for keyword: http_cookie.
void DetectBufferTypeCloseRegistration(void)
#define SIGMATCH_NOT_BUILT
void SigTableRegisterTests(void)
void DetectSeqRegister(void)
Registration function for ack: keyword.
void DetectAsn1Register(void)
Registration function for asn1.
void DetectFlowAgeRegister(void)
void DetectBsizeRegister(void)
Registration function for bsize: keyword.
void DetectSmbShareRegister(void)
void DetectFlowPktsToClientRegister(void)
void DetectDnsRcodeRegister(void)
void DetectBytejumpRegister(void)
void DetectICMPv6mtuRegister(void)
Registration function for icmpv6.mtu: keyword.
void SigTableCleanup(void)
void DetectTlsVersionRegister(void)
Registration function for keyword: tls.version.
void DetectReplaceRegister(void)
void DetectICodeRegister(void)
Registration function for icode: keyword.
void DetectWindowRegister(void)
Registration function for window: keyword.
void DetectL3ProtoRegister(void)
Registration function for ip_proto keyword.
void DetectKrb5ErrCodeRegister(void)
Registration function for krb5_err_code: keyword.
void DetectWithinRegister(void)
void DetectContentRegister(void)
void DetectSshProtocolRegister(void)
void DetectIcmpIdRegister(void)
Registration function for icode: icmp_id.
void DetectSslStateRegister(void)
Registers the keyword handlers for the "ssl_state" keyword.
void DetectLuaRegister(void)
Registration function for keyword: lua.
void DetectIkeVendorRegister(void)
Registration function for ike.vendor keyword.
void DetectFiledataRegister(void)
Registration function for keyword: file_data.
void DetectIpv6hdrRegister(void)
Registration function for ipv6.hdr: keyword.
void DetectIkeKeyExchangeRegister(void)
void DetectIcmpSeqRegister(void)
Registration function for icmp_seq.
void DetectIdRegister(void)
Registration function for keyword: id.
void DetectHttpUARegister(void)
Registers the keyword handlers for the "http_user_agent" keyword.
bool SigTableHasKeyword(const char *keyword)
Check if a keyword exists.
#define SCLogWarning(...)
Macro used to log WARNING messages.
void DetectFlowPktsToServerRegister(void)
void DetectPktDataRegister(void)
Registration function for keyword: file_data.
void DetectRequiresRegister(void)
void DetectFlowbitsRegister(void)
void DetectDnsQueryNameRegister(void)
void DetectDatasetRegister(void)
void DetectUdphdrRegister(void)
Registration function for udp.hdr: keyword.
void DetectBytetestRegister(void)
void DetectTlsSubjectAltNameRegister(void)
Registration function for keyword: tls.subjectaltname.
void DetectDepthRegister(void)
void DetectSipMethodRegister(void)
Data structures and function prototypes for keeping state for the detection engine.
void DetectMarkRegister(void)
Registration function for nfq_set_mark: keyword.
void DetectReferenceRegister(void)
Registration function for the reference: keyword.
void DetectFileSha256Register(void)
Registration function for keyword: filesha256.
void DetectPrefilterRegister(void)
void DetectTlsCertsRegister(void)
Registration function for keyword: tls.certs.
void DetectFtpbounceRegister(void)
Registration function for ftpbounce: keyword.
void DetectKrb5TicketEncryptionRegister(void)
void DetectOffsetRegister(void)
void DetectSshSoftwareRegister(void)
void DetectQuicSniRegister(void)
Registration function for quic.sni: keyword.
void DetectSipUriRegister(void)
void DetectBypassRegister(void)
Registration function for keyword: bypass.
void DetectAckRegister(void)
Registration function for ack: keyword.
void DetectFilestoreRegister(void)
Registration function for keyword: filestore.
void DetectTlsRegister(void)
Registration function for keyword: tls.version.
void DetectTagRegister(void)
Registration function for keyword tag.
void DetectHttpResponseLineRegister(void)
Registers the keyword handlers for the "http_response_line" keyword.
void DetectTlsIssuerRegister(void)
Registration function for keyword: tls.cert_issuer.
void DetectSmbNtlmsspUserRegister(void)
void DetectBase64DataRegister(void)
void DetectHttpStatCodeRegister(void)
Registration function for keyword: http_stat_code.
void DetectDceOpnumRegister(void)
Registers the keyword handlers for the "dce_opnum" keyword.
void DetectKrb5CNameRegister(void)
#define DETECT_TBLSIZE_STEP
void DetectTlsAlpnRegister(void)
Registration function for keyword: tls.alpn.
void DetectKrb5SNameRegister(void)
void(* Transform)(InspectionBuffer *, void *context)
void DetectHttpClientBodyRegister(void)
Registers the keyword handlers for the "http_client_body" keyword.
void DetectIkeSpiRegister(void)
void DetectDnsOpcodeRegister(void)
void DetectCsumRegister(void)
Registers handlers for all the checksum keywords. The checksum keywords that are registered are ipv4-...
void DetectUrilenRegister(void)
Registration function for urilen: keyword.
void DetectIkeNoncePayloadLengthRegister(void)
Registration function for ike.nonce_payload_length keyword.
void DetectHttp2Register(void)
void DetectNfsProcedureRegister(void)
Registration function for nfs_procedure keyword.
void DetectIpv4hdrRegister(void)
Registration function for ipv4.hdr: keyword.
void DetectHttpRequestLineRegister(void)
Registers the keyword handlers for the "http_request_line" keyword.
void DetectFileSha1Register(void)
Registration function for keyword: filesha1.
void DetectFlowRegister(void)
Registration function for flow: keyword.
void DetectDnsQueryRegister(void)
Registration function for keyword: dns_query.
void DetectSshHasshServerStringRegister(void)
Registration function for hasshServer.string keyword.
void DetectRawbytesRegister(void)
void DetectTosRegister(void)
Register Tos keyword.
void DetectBytemathRegister(void)
Registers the keyword handlers for the "byte_math" keyword.
void DetectEngineEventRegister(void)
Registration function for decode-event: keyword.
void DetectFlagsRegister(void)
Registration function for flags: keyword.
void DetectKrb5MsgTypeRegister(void)
Registration function for krb5_msg_type: keyword.
void DetectFlowvarRegister(void)
void DetectNoalertRegister(void)
void DetectQuicCyuStringRegister(void)
bool(* SupportsPrefilter)(const Signature *s)
void DetectQuicVersionRegister(void)
Registration function for quic.version: keyword.
void DetectSmbNamedPipeRegister(void)
void DetectStreamSizeRegister(void)
Registration function for stream_size: keyword.
void DetectDetectionFilterRegister(void)
Registration function for detection_filter: keyword.
void DetectDistanceRegister(void)
void DetectTlsJa3SStringRegister(void)
Registration function for keyword: ja3s.string.
void DetectThresholdRegister(void)
Registration function for threshold: keyword.
void DetectFlowintRegister(void)
void DetectAppLayerProtocolRegister(void)
void DetectTlsCertChainLenRegister(void)
void DetectIPAddrBufferRegister(void)
const char * GetDocURL(void)
void DetectFastPatternRegister(void)
Registration function for fast_pattern keyword.
void DetectHttpStatMsgRegister(void)
Registration function for keyword: http_stat_msg.
void DetectPktvarRegister(void)
void DetectSslVersionRegister(void)
Registration function for keyword: ssl_version.
void DetectModbusRegister(void)
Registration function for Modbus keyword.
void DetectNocaseRegister(void)
void DetectJa4HashRegister(void)
Registration function for keyword: ja4.hash.
void DetectBase64DecodeRegister(void)
void DetectFilenameRegister(void)
Registration function for keyword: filename.
void DetectIPRepRegister(void)
void DetectIkeChosenSaRegister(void)
Registration function for ike.ChosenSa keyword.
void DetectIkeKeyExchangePayloadLengthRegister(void)
Registration function for ike.key_exchange_payload_length keyword.
void DetectFtpdataRegister(void)
Registration function for ftpcommand: keyword.
void DetectHttpMethodRegister(void)
Registration function for keyword: http_method.
#define SIGMATCH_IPONLY_COMPAT
void DetectTtlRegister(void)
Registration function for ttl: keyword.
void DetectTemplate2Register(void)
Registration function for template2: keyword.
void DetectTlsSubjectRegister(void)
Registration function for keyword: tls.cert_subject.
void DetectPcreRegister(void)
void DetectClasstypeRegister(void)
Registers the handler functions for the "Classtype" keyword.
int SigTableList(const char *keyword)
void(* RegisterTests)(void)
void DetectIsdataatRegister(void)
Registration function for isdataat: keyword.
void DetectFileMd5Register(void)
Registration function for keyword: filemd5.
void DetectFrameRegister(void)
Registration function for keyword: ja3_hash.