correction parsing route Forcepoint

This commit is contained in:
Chevallier
2026-01-15 13:54:56 +01:00
parent 0079cbe738
commit 8314c18c0f
3 changed files with 38 additions and 14 deletions

View File

@@ -8,21 +8,14 @@ from scripts.export_matrice_flux import export_to_excel as export_flux_to_excel
from scripts.export_matrice_routage import export_to_excel as export_routing_to_excel from scripts.export_matrice_routage import export_to_excel as export_routing_to_excel
def verify_if_file_exists(name): def verify_if_file_exists(name):
print("AAAAAAAAAAAAAAAAA")
print(name)
base, ext = os.path.splitext(name) base, ext = os.path.splitext(name)
counter = 1 counter = 1
print("BBBBBBBBBBBBBBB")
print(base)
new_name = name new_name = name
print("CCCCCCCCCCCCCCC")
print(new_name)
while os.path.exists(new_name): while os.path.exists(new_name):
new_name = f"{base}_{counter}{ext}" new_name = f"{base}_{counter}{ext}"
counter += 1 counter += 1
return new_name return new_name
def main(): def main():
if len(sys.argv) < 3: if len(sys.argv) < 3:
print("Usage: python3 src/main.py <firewall_type>[paloalto|stormshield|forcepoint] <input_directory/file> [-o <output_file>] [-f] [-r]") print("Usage: python3 src/main.py <firewall_type>[paloalto|stormshield|forcepoint] <input_directory/file> [-o <output_file>] [-f] [-r]")

View File

@@ -103,12 +103,43 @@ class ForcepointParser(ParserMixin):
self.config['interfaces'].append(Interface(name=name, ip=ip_addr, netmask=netmask, comment=comment)) self.config['interfaces'].append(Interface(name=name, ip=ip_addr, netmask=netmask, comment=comment))
def _parse_virtual_routers(self): def _parse_virtual_routers(self):
"""Parse routeurs simples""" """Parse les virtual routers avec interfaces et routes statiques"""
for router in self.root.findall(".//router"): for router in self.root.findall(".//routing_node"):
name = router.get("name") vr_name = router.get("name")
ip = router.find("mvia_address") interfaces = []
ip_addr = ip.get("address") if ip is not None else None static_routes = []
self.config['virtual_routers'].append(VirtualRouter(name=name, interfaces=[ip_addr] if ip_addr else [], static_routes=[]))
for iface in router.findall(".//interface_rn_level"):
iface_name = iface.get("name", None)
for network in iface.findall(".//network_rn_level"):
for gw in network.findall(".//gateway_rn_level"):
for ip_entry in gw.findall(".//ipaddress_behind_router"):
gw_ip = ip_entry.get("gateway")
ip_cidr = ip_entry.get("ipaddress")
static_routes.append(
StaticRoute(
name=f"{vr_name}_{ip_cidr}",
destination=ip_cidr,
metric=0,
next_hop_ip=gw_ip,
interface=iface_name
)
)
if gw_ip:
interfaces.append(gw_ip)
interfaces = list(set(interfaces))
self.config['virtual_routers'].append(
VirtualRouter(
name=vr_name,
interfaces=interfaces,
static_routes=static_routes
)
)
def _parse_security_rules(self): def _parse_security_rules(self):
"""Parse règles FW Forcepoint""" """Parse règles FW Forcepoint"""

View File

@@ -69,7 +69,7 @@ def open_main_gui():
root = tk.Tk() root = tk.Tk()
root.title("Analyse Réseau") root.title("Analyse Réseau")
root.geometry("650x350") root.geometry("650x350")
root.resizable(False, False) root.resizable(True, True)
ttk.Label( ttk.Label(
root, root,