Example #1
0
 def testMatchTos(self):
     print('Running Test Match TOS...')
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('tos', '--tos 0x10'))
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.specbits(), ['-m', 'tos', '--tos', '0x10', '-j', 'ACCEPT'])
     print('...Done')
Example #2
0
 def testMatchMultiportDports(self):
     print('Running Test Match Mulitport Dports...')
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('multiport', '--dports 20,21,22,80,25,1720'))
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.specbits(), ['-m', 'multiport', '--dports', '20,21,22,80,25,1720', '-j', 'ACCEPT'])
     print('...Done')
Example #3
0
 def testMatchTcpNotFlags(self):
     rule = Rule(protocol='tcp', jump='ACCEPT')
     rule.matches.append(Match('tcp', '--tcp-flags ! ACK,SYN ACK'))
     self.assertEqual(rule.specbits(), [
         '-p', 'tcp', '-m', 'tcp', '--tcp-flags', '!', 'ACK,SYN', 'ACK',
         '-j', 'ACCEPT'
     ])
Example #4
0
 def testMatchMultiportDports(self):
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('multiport', '--dports 20,21,22,80,25,1720'))
     self.assertEqual(rule.specbits(), [
         '-m', 'multiport', '--dports', '20,21,22,80,25,1720', '-j',
         'ACCEPT'
     ])
Example #5
0
 def testMatchTcpFlags(self):
     print('Running Test Match TCP Flags...')
     rule = Rule(protocol='tcp', jump='ACCEPT')
     rule.matches.append(Match('tcp', '--tcp-flags ACK,SYN ACK'))
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.specbits(), ['-p', 'tcp', '-m', 'tcp', '--tcp-flags', 'ACK,SYN', 'ACK', '-j', 'ACCEPT'])
     print('...Done')
Example #6
0
 def testMatchState(self):
     print('Running Test Match State...')
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('state', '--state ESTABLISHED,RELATED'))
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.specbits(), ['-m', 'state', '--state', 'ESTABLISHED,RELATED', '-j', 'ACCEPT'])
     print('...Done')
Example #7
0
 def testMatchTcpSport(self):
     print('Running Test Match TCP SPort...')
     rule = Rule(protocol='tcp', jump='ACCEPT')
     rule.matches.append(Match('tcp', '--sport 1234'))
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.specbits(), ['-p', 'tcp', '-m', 'tcp', '--sport', '1234', '-j', 'ACCEPT'])
     print('...Done')
Example #8
0
 def testMatchMark(self):
     print('Running Test Match Mark...')
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('mark', '--mark 0x64'))
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.specbits(), ['-m', 'mark', '--mark', '0x64', '-j', 'ACCEPT'])
     print('...Done')
Example #9
0
 def testInterfaces(self):
     rule = Rule(in_interface="eth1", out_interface="eth2", jump="REJECT")
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, "eth1")
     self.assertEqual(rule.out_interface, "eth2")
     self.assertEqual(rule.source, None)
     self.assertEqual(rule.destination, None)
     self.assertEqual(rule.specbits(), ["-i", "eth1", "-o", "eth2", "-j", "REJECT"])
Example #10
0
 def testInterfaces(self):
     rule = Rule(in_interface='eth1', out_interface='eth2', jump='REJECT')
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, 'eth1')
     self.assertEqual(rule.out_interface, 'eth2')
     self.assertEqual(rule.source, None)
     self.assertEqual(rule.destination, None)
     self.assertEqual(rule.specbits(),
                      ['-i', 'eth1', '-o', 'eth2', '-j', 'REJECT'])
Example #11
0
 def testInterfacesNegated(self):
     rule = Rule(in_interface='!eth1', out_interface='!eth2',
         jump='REJECT')
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, '!eth1')
     self.assertEqual(rule.out_interface, '!eth2')
     self.assertEqual(rule.source, None)
     self.assertEqual(rule.destination, None)
     self.assertEqual(rule.specbits(), ['!', '-i', 'eth1', '!', '-o', 'eth2', '-j', 'REJECT'])
Example #12
0
 def testSourceDestinationProtocol(self):
     rule = Rule(source="192.168.1.2", destination="192.168.1.3", protocol="tcp", jump="DROP")
     self.assertEqual(rule.protocol, "tcp")
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, "192.168.1.2")
     self.assertEqual(rule.destination, "192.168.1.3")
     self.assertEqual(rule.jump.name(), "DROP")
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ["-p", "tcp", "-s", "192.168.1.2", "-d", "192.168.1.3", "-j", "DROP"])
Example #13
0
 def testDestination(self):
     rule = Rule(destination="192.168.1.3", jump="REJECT")
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, None)
     self.assertEqual(rule.destination, "192.168.1.3")
     self.assertEqual(rule.jump.name(), "REJECT")
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ["-d", "192.168.1.3", "-j", "REJECT"])
Example #14
0
 def testInit(self):
     rule = Rule(jump=Target('ACCEPT'))
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, None)
     self.assertEqual(rule.destination, None)
     self.assertEqual(rule.jump.name(), 'ACCEPT')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ['-j', 'ACCEPT'])
Example #15
0
 def testSourceNegated(self):
     rule = Rule(source='! 192.168.1.2', jump='ACCEPT')
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, '! 192.168.1.2')
     self.assertEqual(rule.destination, None)
     self.assertEqual(rule.jump.name(), 'ACCEPT')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ['!', '-s', '192.168.1.2', '-j', 'ACCEPT'])
Example #16
0
 def testDestinationNegated(self):
     rule = Rule(destination='! 192.168.1.3', jump='REJECT')
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, None)
     self.assertEqual(rule.destination, '! 192.168.1.3')
     self.assertEqual(rule.jump.name(), 'REJECT')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ['!', '-d', '192.168.1.3', '-j', 'REJECT'])
Example #17
0
 def testSource(self):
     rule = Rule(source="192.168.1.2", jump="ACCEPT")
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, "192.168.1.2")
     self.assertEqual(rule.destination, None)
     self.assertEqual(rule.jump.name(), "ACCEPT")
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ["-s", "192.168.1.2", "-j", "ACCEPT"])
Example #18
0
 def testInit(self):
     rule = Rule(jump=Target('ACCEPT'))
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, None)
     self.assertEqual(rule.destination, None)
     self.assertEqual(rule.jump.name(), 'ACCEPT')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ['-j', 'ACCEPT'])
Example #19
0
 def testSourceNegated(self):
     rule = Rule(source='! 192.168.1.2', jump='ACCEPT')
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, '! 192.168.1.2')
     self.assertEqual(rule.destination, None)
     self.assertEqual(rule.jump.name(), 'ACCEPT')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(),
                      ['!', '-s', '192.168.1.2', '-j', 'ACCEPT'])
Example #20
0
 def testDestinationNegated(self):
     rule = Rule(destination='! 192.168.1.3', jump='REJECT')
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, None)
     self.assertEqual(rule.destination, '! 192.168.1.3')
     self.assertEqual(rule.jump.name(), 'REJECT')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(),
                      ['!', '-d', '192.168.1.3', '-j', 'REJECT'])
Example #21
0
 def testSourceDestinationProtocol(self):
     rule = Rule(source='192.168.1.2', destination='192.168.1.3',
         protocol='tcp', jump='DROP')
     self.assertEqual(rule.protocol, 'tcp')
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, '192.168.1.2')
     self.assertEqual(rule.destination, '192.168.1.3')
     self.assertEqual(rule.jump.name(), 'DROP')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ['-p', 'tcp', '-s', '192.168.1.2', '-d', '192.168.1.3', '-j', 'DROP'])
Example #22
0
 def testInterfacesNegated(self):
     print('Running Test Interfaces Negated...')
     rule = Rule(in_interface='!eth0', out_interface='!eth2',
                 jump='REJECT')
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, '!eth0')
     self.assertEqual(rule.out_interface, '!eth2')
     self.assertEqual(rule.source, None)
     self.assertEqual(rule.destination, None)
     self.assertEqual(rule.specbits(), ['!', '-i', 'eth0', '!', '-o', 'eth2', '-j', 'REJECT'])
     print('...Done')
Example #23
0
 def testDestinationNegated(self):
     print('Running Test Destination Negated...')
     rule = Rule(destination='! 192.168.1.3', jump='REJECT')
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, None)
     self.assertEqual(rule.destination, '! 192.168.1.3')
     self.assertEqual(rule.jump.name(), 'REJECT')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ['!', '-d', '192.168.1.3', '-j', 'REJECT'])
     print('...Done')
Example #24
0
 def testSourceNegated(self):
     print('Running Test Source Negated...')
     rule = Rule(source='! 104.236.221.27', jump='ACCEPT')
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, '! 104.236.221.27')
     self.assertEqual(rule.destination, None)
     self.assertEqual(rule.jump.name(), 'ACCEPT')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ['!', '-s', '104.236.221.27', '-j', 'ACCEPT'])
     print('...Done')
Example #25
0
 def testInit(self):
     print('Rule Test Case Set:\nRunning Test Inital...')
     rule = Rule(jump=Target('ACCEPT'))
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.protocol, None)
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, None)
     self.assertEqual(rule.destination, None)
     self.assertEqual(rule.jump.name(), 'ACCEPT')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ['-j', 'ACCEPT'])
     print('...Done')
Example #26
0
 def testSourceDestinationProtocol(self):
     print('Running Test Source Destination Protocol...')
     rule = Rule(source='104.236.221.27', destination='192.168.1.3',
                 protocol='tcp', jump='DROP')
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.protocol, 'tcp')
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, '104.236.221.27')
     self.assertEqual(rule.destination, '192.168.1.3')
     self.assertEqual(rule.jump.name(), 'DROP')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), ['-p', 'tcp', '-s', '104.236.221.27', '-d', '192.168.1.3', '-j', 'DROP'])
     print('...Done')
Example #27
0
 def testSourceDestinationProtocol(self):
     rule = Rule(source='192.168.1.2',
                 destination='192.168.1.3',
                 protocol='tcp',
                 jump='DROP')
     self.assertEqual(rule.protocol, 'tcp')
     self.assertEqual(rule.in_interface, None)
     self.assertEqual(rule.out_interface, None)
     self.assertEqual(rule.source, '192.168.1.2')
     self.assertEqual(rule.destination, '192.168.1.3')
     self.assertEqual(rule.jump.name(), 'DROP')
     self.assertEqual(rule.jump.options(), {})
     self.assertEqual(rule.specbits(), [
         '-p', 'tcp', '-s', '192.168.1.2', '-d', '192.168.1.3', '-j', 'DROP'
     ])
Example #28
0
 def testMatchTos(self):
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('tos', '--tos 0x10'))
     self.assertEqual(rule.specbits(), ['-m', 'tos', '--tos', '0x10', '-j', 'ACCEPT'])
Example #29
0
 def testMatchTcpSport(self):
     rule = Rule(protocol='tcp', jump='ACCEPT')
     rule.matches.append(Match('tcp', '--sport 1234'))
     self.assertEqual(rule.specbits(), ['-p', 'tcp', '-m', 'tcp', '--sport', '1234', '-j', 'ACCEPT'])
Example #30
0
 def testMatchTcpNotFlags(self):
     rule = Rule(protocol='tcp', jump='ACCEPT')
     rule.matches.append(Match('tcp', '--tcp-flags ! ACK,SYN ACK'))
     self.assertEqual(rule.specbits(), ['-p', 'tcp', '-m', 'tcp', '--tcp-flags', '!', 'ACK,SYN', 'ACK', '-j', 'ACCEPT'])
Example #31
0
 def testMatchState(self):
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('state', '--state ESTABLISHED,RELATED'))
     self.assertEqual(rule.specbits(), ['-m', 'state', '--state', 'ESTABLISHED,RELATED', '-j', 'ACCEPT'])
Example #32
0
 def testMatchMultiportDports(self):
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('multiport', '--dports 20,21,22,80,25,1720'))
     self.assertEqual(rule.specbits(), ['-m', 'multiport', '--dports', '20,21,22,80,25,1720', '-j', 'ACCEPT'])
Example #33
0
 def testMatchMark(self):
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('mark', '--mark 0x64'))
     self.assertEqual(rule.specbits(), ['-m', 'mark', '--mark', '0x64', '-j', 'ACCEPT'])
Example #34
0
 def testTargetLog(self):
     rule = Rule(jump=Target('LOG', '--log-prefix "ICMP accepted : " --log-level 4'))
     self.assertEqual(rule.specbits(), ['-j', 'LOG', '--log-level', '4', '--log-prefix', 'ICMP accepted : '])
Example #35
0
 def testTargetLog(self):
     rule = Rule(jump=Target(
         'LOG', '--log-prefix "ICMP accepted : " --log-level 4'))
     self.assertEqual(rule.specbits(), [
         '-j', 'LOG', '--log-level', '4', '--log-prefix', 'ICMP accepted : '
     ])
Example #36
0
 def testMatchState(self):
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('state', '--state ESTABLISHED,RELATED'))
     self.assertEqual(
         rule.specbits(),
         ['-m', 'state', '--state', 'ESTABLISHED,RELATED', '-j', 'ACCEPT'])
Example #37
0
 def testMatchMark(self):
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('mark', '--mark 0x64'))
     self.assertEqual(rule.specbits(),
                      ['-m', 'mark', '--mark', '0x64', '-j', 'ACCEPT'])
Example #38
0
 def testMatchTcpSport(self):
     rule = Rule(protocol='tcp', jump='ACCEPT')
     rule.matches.append(Match('tcp', '--sport 1234'))
     self.assertEqual(
         rule.specbits(),
         ['-p', 'tcp', '-m', 'tcp', '--sport', '1234', '-j', 'ACCEPT'])
Example #39
0
 def testMatchTos(self):
     rule = Rule(jump='ACCEPT')
     rule.matches.append(Match('tos', '--tos 0x10'))
     self.assertEqual(rule.specbits(),
                      ['-m', 'tos', '--tos', '0x10', '-j', 'ACCEPT'])
Example #40
0
 def testMatchTcpSport(self):
     rule = Rule(protocol="tcp", jump="ACCEPT")
     rule.matches.append(Match("tcp", "--sport 1234"))
     self.assertEqual(rule.specbits(), ["-p", "tcp", "-m", "tcp", "--sport", "1234", "-j", "ACCEPT"])
Example #41
0
 def testMatchTos(self):
     rule = Rule(jump="ACCEPT")
     rule.matches.append(Match("tos", "--tos 0x10"))
     self.assertEqual(rule.specbits(), ["-m", "tos", "--tos", "0x10", "-j", "ACCEPT"])
Example #42
0
 def testTargetLog(self):
     print('Running Test Target Log...')
     rule = Rule(jump=Target('LOG', '--log-prefix "ICMP accepted : " --log-level 4'))
     print('\tRule: ' + str(rule))
     self.assertEqual(rule.specbits(), ['-j', 'LOG', '--log-level', '4', '--log-prefix', 'ICMP accepted : '])
     print('...Done')