aboutsummaryrefslogtreecommitdiffstats
path: root/test/suite_dfilter/group_tvb.py
blob: bf47b5faa9d3f6bb935453f6b8143dd2f5b3bf69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Copyright (c) 2013 by Gilbert Ramirez <gram@alumni.rice.edu>
#
# SPDX-License-Identifier: GPL-2.0-or-later

import unittest
import fixtures
from suite_dfilter.dfiltertest import *


@fixtures.uses_fixtures
class case_tvb(unittest.TestCase):
    trace_file = "http.pcap"

    def test_eq_1(self, checkDFilterCount):
        # We expect 0 because even though this byte
        # string matches the 'eth' protocol, protocols cannot
        # work in an '==' comparison yet.
        dfilter = "eth == 00:e0:81:00:b0:28:00:09:6b:88:f6:c9:08:00"
        checkDFilterCount(dfilter, 0)

    def test_slice_1(self, checkDFilterCount):
        dfilter = "ip[0:2] == 45:00"
        checkDFilterCount(dfilter, 1)

    def test_slice_2(self, checkDFilterCount):
        dfilter = "ip[0:2] == 00:00"
        checkDFilterCount(dfilter, 0)

    def test_slice_3(self, checkDFilterCount):
        dfilter = "ip[2:2] == 00:c1"
        checkDFilterCount(dfilter, 1)

    @unittest.skip("This doesn't work yet in Wireshark")
    def test_slice_4(self, checkDFilterCount):
        dfilter = "ip[-5] == 0x86"
        checkDFilterCount(dfilter, 0)

    @unittest.skip("This doesn't work yet in Wireshark")
    def test_slice_5(self, checkDFilterCount):
        dfilter = "ip[-1] == 0x86"
        checkDFilterCount(dfilter, 1)

    def test_contains_1(self, checkDFilterCount):
        dfilter = "eth contains 6b"
        checkDFilterCount(dfilter, 1)

    def test_contains_2(self, checkDFilterCount):
        dfilter = "eth contains 09:6b:88"
        checkDFilterCount(dfilter, 1)

    def test_contains_3(self, checkDFilterCount):
        dfilter = "eth contains 00:e0:81:00:b0:28:00:09:6b:88:f5:c9:08:00"
        checkDFilterCount(dfilter, 1)

    def test_contains_4(self, checkDFilterCount):
        dfilter = "eth contains ff:ff:ff"
        checkDFilterCount(dfilter, 0)

    def test_contains_5(self, checkDFilterCount):
        dfilter = 'http contains "HEAD"'
        checkDFilterCount(dfilter, 1)