45 lines
1.0 KiB
Python
45 lines
1.0 KiB
Python
|
#!/usr/bin/env python3
|
||
|
from ctypes import *
|
||
|
import _ctypes
|
||
|
|
||
|
def c_parser(log_line):
|
||
|
so_file = "lib/parser_lib.so"
|
||
|
iptablesParser = CDLL(so_file)
|
||
|
iptablesParser.iptablesParser.argtype = c_char_p
|
||
|
iptablesParser.iptablesParser.restype = c_char_p
|
||
|
|
||
|
iptablesParser.lineParser.argtype = c_char_p
|
||
|
iptablesParser.lineParser.restype = c_char_p
|
||
|
|
||
|
parser_arg = log_line.encode('utf-8')
|
||
|
|
||
|
# c_return = iptablesParser.iptablesParser(parser_arg)
|
||
|
c_return = iptablesParser.lineParser(parser_arg)
|
||
|
|
||
|
_ctypes.dlclose(iptablesParser._handle)
|
||
|
|
||
|
# iptablesParser.freeme(c_return)
|
||
|
|
||
|
print()
|
||
|
print("[ Return on Python ]"+"-"*50+"[+]")
|
||
|
print(c_return.decode("utf-8"))
|
||
|
print(c_return)
|
||
|
|
||
|
def file_pointer():
|
||
|
f = open("/var/log/iptables.log", "r")
|
||
|
i = 0
|
||
|
for x in f:
|
||
|
print()
|
||
|
print("*"*100)
|
||
|
print("SEQUENCE : ",i)
|
||
|
print("*"*100)
|
||
|
print(str(i)+" -> "+x)
|
||
|
c_parser(str(x))
|
||
|
if i >= 3:
|
||
|
break
|
||
|
i = i + 1
|
||
|
|
||
|
file_pointer()
|
||
|
|
||
|
|