From 9d7cba857a2775b9f627c6b585e30923b40693db Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Wed, 23 Aug 2023 15:57:58 -0600 Subject: [PATCH] tests: community id tests for ipv4 and ipv6 The IPv6 uses values confirmed with Zeek. Issue: #6276 --- tests/community-id-ipv4/README.md | 3 + tests/community-id-ipv4/input.pcap | Bin 0 -> 31724 bytes tests/community-id-ipv4/suricata.yaml | 12 ++++ tests/community-id-ipv4/test.yaml | 28 +++++++++ tests/community-id-ipv6/README.md | 7 +++ tests/community-id-ipv6/input.pcap | Bin 0 -> 41870 bytes tests/community-id-ipv6/suricata.yaml | 12 ++++ tests/community-id-ipv6/test.yaml | 83 ++++++++++++++++++++++++++ 8 files changed, 145 insertions(+) create mode 100644 tests/community-id-ipv4/README.md create mode 100644 tests/community-id-ipv4/input.pcap create mode 100644 tests/community-id-ipv4/suricata.yaml create mode 100644 tests/community-id-ipv4/test.yaml create mode 100644 tests/community-id-ipv6/README.md create mode 100644 tests/community-id-ipv6/input.pcap create mode 100644 tests/community-id-ipv6/suricata.yaml create mode 100644 tests/community-id-ipv6/test.yaml diff --git a/tests/community-id-ipv4/README.md b/tests/community-id-ipv4/README.md new file mode 100644 index 000000000..ca3b65864 --- /dev/null +++ b/tests/community-id-ipv4/README.md @@ -0,0 +1,3 @@ +# Test Description + +Community ID for IPv4 test. diff --git a/tests/community-id-ipv4/input.pcap b/tests/community-id-ipv4/input.pcap new file mode 100644 index 0000000000000000000000000000000000000000..b3a6b63ab58f09136c31e5721089c159c274cb25 GIT binary patch literal 31724 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 bK@I@$`x<8t|9Xv|KL(Ho0RXVb0RZ@apLm*t literal 0 HcmV?d00001 diff --git a/tests/community-id-ipv4/suricata.yaml b/tests/community-id-ipv4/suricata.yaml new file mode 100644 index 000000000..6cef79de8 --- /dev/null +++ b/tests/community-id-ipv4/suricata.yaml @@ -0,0 +1,12 @@ +%YAML 1.1 +--- + +outputs: + - eve-log: + enabled: yes + community-id: true + community-id-seed: 7 + types: + - tls: + extended: yes + - flow diff --git a/tests/community-id-ipv4/test.yaml b/tests/community-id-ipv4/test.yaml new file mode 100644 index 000000000..436478fd6 --- /dev/null +++ b/tests/community-id-ipv4/test.yaml @@ -0,0 +1,28 @@ +args: +- -k none + +checks: +- filter: + count: 1 + match: + community_id: 1:IwiTNfuO7aCaamMijl+7/X9uLx0= + dest_ip: 172.217.14.206 + dest_port: 443 + event_type: tls + pcap_cnt: 7 + proto: TCP + src_ip: 172.26.0.39 + src_port: 35958 + tls.sni: ipv4.google.com + tls.version: TLS 1.3 +- filter: + count: 1 + match: + app_proto: tls + community_id: 1:IwiTNfuO7aCaamMijl+7/X9uLx0= + dest_ip: 172.217.14.206 + dest_port: 443 + event_type: flow + proto: TCP + src_ip: 172.26.0.39 + src_port: 35958 diff --git a/tests/community-id-ipv6/README.md b/tests/community-id-ipv6/README.md new file mode 100644 index 000000000..954938297 --- /dev/null +++ b/tests/community-id-ipv6/README.md @@ -0,0 +1,7 @@ +# Test Description + +Community ID test with IPv6. + +## Related Issue + +https://redmine.openinfosecfoundation.org/issues/6276 diff --git a/tests/community-id-ipv6/input.pcap b/tests/community-id-ipv6/input.pcap new file mode 100644 index 0000000000000000000000000000000000000000..21fa6834280b67436ede198df3990d5b5b922750 GIT binary patch literal 41870 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

F89e287H6!Th8zyLws1>_?c)PE<7 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 pt#4uRjKT4r$X^)?!ZTKWwwJ=