Skip to content

Commit

Permalink
sip: add tests for headers sticky buffers
Browse files Browse the repository at this point in the history
Ticket #6374
  • Loading branch information
glongo authored and victorjulien committed Sep 22, 2024
1 parent 83bda40 commit 8f04776
Show file tree
Hide file tree
Showing 30 changed files with 268 additions and 0 deletions.
2 changes: 2 additions & 0 deletions tests/sip-compact-form/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
sip_compact_form.pcap: sip_compact_form.syn
flowsynth.py -f pcap -w $@ $^
7 changes: 7 additions & 0 deletions tests/sip-compact-form/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that SIP headers with compact form are matched.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/sip-compact-form/sip_compact_form.pcap
Binary file not shown.
33 changes: 33 additions & 0 deletions tests/sip-compact-form/sip_compact_form.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
flow default udp 1.1.1.1:5555 > 2.2.2.2:5060;
default > (content:"INVITE sip:97239287044@voip.brujula.net SIP/2.0\x0d
v: SIP/2.0/UDP 192.168.1.2:5060;branch=z9hG4bKnp104984053-44ce4a41192.168.1.2;rport\x0d
f: \"arik\" <sip:816666@voip.brurjula.net>;tag=6433ef9\x0d
t: <sip:97239287044@voip.brujula.net>\x0d
Call-ID: 105090259-446faf7a@192.168.1.2\x0d
CSeq: 1 INVITE\x0d
User-Agent: Nero SIPPS IP Phone Version 2.0.51.16\x0d
Expires: 120\x0d
Accept: application/sdp\x0d
c: application/sdp\x0d
l: 272\x0d
Contact: <sip:816666@192.168.1.2>\x0d
Max-Forwards: 70\x0d
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, INFO\x0d
\x0d
v=0\x0d
o=SIPPS 105015165 105015162 IN IP4 192.168.1.2\x0d
s=SIP call\x0d
i=Session Description Protocol\x0d
u=https://www.sdp.proto\x0d
e=j.doe@example.com (Jane Doe)\x0d
p=+1 617 555-6011 (Jane Doe)\x0d
c=IN IP4 192.168.1.2\x0d
b=AS:64\x0d
t=3034423619 3042462419\x0d
r=604800 3600 0 90000\x0d
z=2882844526 -1h 2898848070 0\x0d
k=prompt\x0d
a=sendrecv\x0d
m=audio 30000 RTP/AVP 0 8 97 2 3\x0d
a=rtpmap:0 pcmu/8000\x0d\x0a";);

6 changes: 6 additions & 0 deletions tests/sip-compact-form/test.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
alert sip any any -> any any (sip.from; content:"arik"; sid:1;)
alert sip any any -> any any (sip.to; content:"sip:"; sid:2;)
alert sip any any -> any any (sip.via; content:"SIP/2.0/UDP"; sid:3;)
alert sip any any -> any any (sip.content_type; content:"application/sdp"; sid:4;)
alert sip any any -> any any (sip.content_length; content:"272"; sid:5;)

34 changes: 34 additions & 0 deletions tests/sip-compact-form/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
pcap: sip_compact_form.pcap

args:
- -k none

requires:
min-version: 8.0.0

checks:
- filter:
count: 1
match:
event_type: alert
alert.signature_id: 1
- filter:
count: 1
match:
event_type: alert
alert.signature_id: 2
- filter:
count: 1
match:
event_type: alert
alert.signature_id: 3
- filter:
count: 1
match:
event_type: alert
alert.signature_id: 4
- filter:
count: 1
match:
event_type: alert
alert.signature_id: 5
1 change: 1 addition & 0 deletions tests/sip-content-length/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Match on SIP Content-Length header field.
2 changes: 2 additions & 0 deletions tests/sip-content-length/test.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
alert sip any any -> any any (flow:to_server; sip.content_length; content:"270"; sid:1;)
alert sip any any -> any any (flow:to_client; sip.content_length; content:"199"; sid:2;)
19 changes: 19 additions & 0 deletions tests/sip-content-length/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
pcap: ../sip-method/sip.pcap

args:
- -k none

requires:
min-version: 8.0.0

checks:
- filter:
count: 8
match:
event_type: alert
alert.signature_id: 1
- filter:
count: 1
match:
event_type: alert
alert.signature_id: 2
1 change: 1 addition & 0 deletions tests/sip-content-type/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Match on SIP Content-Type header field.
2 changes: 2 additions & 0 deletions tests/sip-content-type/test.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
alert sip any any -> any any (flow:to_server; sip.content_type; content:"application/sdp"; sid:1;)
alert sip any any -> any any (flow:to_client; sip.content_type; content:"application/sdp"; sid:2;)
19 changes: 19 additions & 0 deletions tests/sip-content-type/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
pcap: ../sip-method/sip.pcap

args:
- -k none

requires:
min-version: 8.0.0

checks:
- filter:
count: 11
match:
event_type: alert
alert.signature_id: 1
- filter:
count: 1
match:
event_type: alert
alert.signature_id: 2
1 change: 1 addition & 0 deletions tests/sip-from/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Match on SIP From header field.
2 changes: 2 additions & 0 deletions tests/sip-from/test.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
alert sip any any -> any any (flow:to_server; sip.from; content:"sip:"; sid:1;)
alert sip any any -> any any (flow:to_client; sip.from; content:"sip:"; sid:2;)
19 changes: 19 additions & 0 deletions tests/sip-from/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
pcap: ../sip-method/sip.pcap

args:
- -k none

requires:
min-version: 8.0.0

checks:
- filter:
count: 47
match:
event_type: alert
alert.signature_id: 1
- filter:
count: 34
match:
event_type: alert
alert.signature_id: 2
2 changes: 2 additions & 0 deletions tests/sip-header-multi-value/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
sip_header_multi_val.pcap: sip_header_multi_val.syn
flowsynth.py -f pcap -w $@ $^
7 changes: 7 additions & 0 deletions tests/sip-header-multi-value/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Test Purpose

Test that SIP header with multiple values are matched.

## PCAP

This PCAP was generated with flowsynth.
Binary file added tests/sip-header-multi-value/sip_header_multi_val.pcap
Binary file not shown.
34 changes: 34 additions & 0 deletions tests/sip-header-multi-value/sip_header_multi_val.syn
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
flow default udp 1.1.1.1:5555 > 2.2.2.2:5060;
default > (content:"INVITE sip:97239287044@voip.brujula.net SIP/2.0\x0d
v: SIP/2.0/UDP 192.168.1.2:5060;branch=z9hG4bKnp104984053-44ce4a41192.168.1.2;rport\x0d
f: \"arik\" <sip:816666@voip.brurjula.net>;tag=6433ef9\x0d
t: <sip:97239287044@voip.brujula.net>\x0d
To: <sip:12345@voip.brujula.net>\x0d
Call-ID: 105090259-446faf7a@192.168.1.2\x0d
CSeq: 1 INVITE\x0d
User-Agent: Nero SIPPS IP Phone Version 2.0.51.16\x0d
Expires: 120\x0d
Accept: application/sdp\x0d
c: application/sdp\x0d
l: 272\x0d
Contact: <sip:816666@192.168.1.2>\x0d
Max-Forwards: 70\x0d
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, INFO\x0d
\x0d
v=0\x0d
o=SIPPS 105015165 105015162 IN IP4 192.168.1.2\x0d
s=SIP call\x0d
i=Session Description Protocol\x0d
u=https://www.sdp.proto\x0d
e=j.doe@example.com (Jane Doe)\x0d
p=+1 617 555-6011 (Jane Doe)\x0d
c=IN IP4 192.168.1.2\x0d
b=AS:64\x0d
t=3034423619 3042462419\x0d
r=604800 3600 0 90000\x0d
z=2882844526 -1h 2898848070 0\x0d
k=prompt\x0d
a=sendrecv\x0d
m=audio 30000 RTP/AVP 0 8 97 2 3\x0d
a=rtpmap:0 pcmu/8000\x0d\x0a";);

3 changes: 3 additions & 0 deletions tests/sip-header-multi-value/test.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
alert sip any any -> any any (sip.to; content:"sip:97239287044"; sid:1;)
alert sip any any -> any any (sip.to; content:"sip:12345"; sid:2;)

14 changes: 14 additions & 0 deletions tests/sip-header-multi-value/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
pcap: sip_header_multi_val.pcap

args:
- -k none

requires:
min-version: 8.0.0

checks:
- filter:
count: 1
match:
event_type: alert
alert.signature_id: 2
1 change: 1 addition & 0 deletions tests/sip-to/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Match on SIP To header field.
2 changes: 2 additions & 0 deletions tests/sip-to/test.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
alert sip any any -> any any (flow:to_server; sip.to; content:"sip:97239287044"; sid:1;)
alert sip any any -> any any (flow:to_client; sip.to; content:"sip:97239287044"; sid:2;)
19 changes: 19 additions & 0 deletions tests/sip-to/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
pcap: ../sip-method/sip.pcap

args:
- -k none

requires:
min-version: 8.0.0

checks:
- filter:
count: 15
match:
event_type: alert
alert.signature_id: 1
- filter:
count: 3
match:
event_type: alert
alert.signature_id: 2
1 change: 1 addition & 0 deletions tests/sip-user-agent/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Match on SIP User-Agent header field.
1 change: 1 addition & 0 deletions tests/sip-user-agent/test.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
alert sip any any -> any any (flow:to_server; sip.user_agent; content:"Nero"; sid:1;)
14 changes: 14 additions & 0 deletions tests/sip-user-agent/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
pcap: ../sip-method/sip.pcap

args:
- -k none

requires:
min-version: 8.0.0

checks:
- filter:
count: 40
match:
event_type: alert
alert.signature_id: 1
1 change: 1 addition & 0 deletions tests/sip-via/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Match on SIP Via header field.
2 changes: 2 additions & 0 deletions tests/sip-via/test.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
alert sip any any -> any any (flow:to_server; sip.via; content:"SIP/2.0/UDP"; sid:1;)
alert sip any any -> any any (flow:to_client; sip.via; content:"SIP/2.0/UDP"; sid:2;)
19 changes: 19 additions & 0 deletions tests/sip-via/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
pcap: ../sip-method/sip.pcap

args:
- -k none

requires:
min-version: 8.0.0

checks:
- filter:
count: 47
match:
event_type: alert
alert.signature_id: 1
- filter:
count: 34
match:
event_type: alert
alert.signature_id: 2

0 comments on commit 8f04776

Please sign in to comment.