mirror of
https://github.com/evilsocket/opensnitch.git
synced 2025-03-04 00:24:40 +01:00
add_network_aliases
This commit is contained in:
parent
353e10a638
commit
0addd29c51
3 changed files with 93 additions and 0 deletions
22
daemon/network_aliases.json
Normal file
22
daemon/network_aliases.json
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"LAN": [
|
||||
"10.0.0.0/8",
|
||||
"172.16.0.0/12",
|
||||
"192.168.0.0/16",
|
||||
"127.0.0.0/8",
|
||||
"::1",
|
||||
"fc00::/7"
|
||||
],
|
||||
"MULTICAST": [
|
||||
"224.0.0.0/4",
|
||||
"ff00::/8"
|
||||
],
|
||||
"TEST_RANGE": [
|
||||
"10.0.0.0/8",
|
||||
"172.16.0.0/12",
|
||||
"192.168.0.0/16",
|
||||
"127.0.0.0/8",
|
||||
"::1",
|
||||
"fc00::/7"
|
||||
]
|
||||
}
|
22
ui/opensnitch/network_aliases.json
Normal file
22
ui/opensnitch/network_aliases.json
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"LAN": [
|
||||
"10.0.0.0/8",
|
||||
"172.16.0.0/12",
|
||||
"192.168.0.0/16",
|
||||
"127.0.0.0/8",
|
||||
"::1",
|
||||
"fc00::/7"
|
||||
],
|
||||
"MULTICAST": [
|
||||
"224.0.0.0/4",
|
||||
"ff00::/8"
|
||||
],
|
||||
"TEST_RANGE": [
|
||||
"10.0.0.0/8",
|
||||
"172.16.0.0/12",
|
||||
"192.168.0.0/16",
|
||||
"127.0.0.0/8",
|
||||
"::1",
|
||||
"fc00::/7"
|
||||
]
|
||||
}
|
49
ui/opensnitch/network_aliases.py
Normal file
49
ui/opensnitch/network_aliases.py
Normal file
|
@ -0,0 +1,49 @@
|
|||
import json
|
||||
import ipaddress
|
||||
import os
|
||||
|
||||
class NetworkAliases:
|
||||
ALIASES = {}
|
||||
|
||||
@staticmethod
|
||||
def load_aliases():
|
||||
# Define the path to the network_aliases.json file
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
filename = os.path.join(script_dir, 'network_aliases.json')
|
||||
|
||||
# Check if the file exists before attempting to load it
|
||||
if not os.path.exists(filename):
|
||||
raise FileNotFoundError(f"The file '{filename}' does not exist.")
|
||||
|
||||
# Load the JSON file
|
||||
with open(filename, 'r') as f:
|
||||
NetworkAliases.ALIASES = json.load(f)
|
||||
print(f"Loaded network aliases from {filename}") # Confirmation message
|
||||
|
||||
@staticmethod
|
||||
def get_alias(ip):
|
||||
try:
|
||||
ip_obj = ipaddress.ip_address(ip)
|
||||
for alias, networks in NetworkAliases.ALIASES.items():
|
||||
for network in networks:
|
||||
net_obj = ipaddress.ip_network(network)
|
||||
if ip_obj in net_obj:
|
||||
return alias
|
||||
except ValueError:
|
||||
pass
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def get_networks_for_alias(alias):
|
||||
return NetworkAliases.ALIASES.get(alias, [])
|
||||
|
||||
@staticmethod
|
||||
def get_alias_all():
|
||||
# Return a list of all alias names
|
||||
return list(NetworkAliases.ALIASES.keys())
|
||||
|
||||
# Load aliases at startup
|
||||
try:
|
||||
NetworkAliases.load_aliases()
|
||||
except FileNotFoundError as e:
|
||||
print(e)
|
Loading…
Add table
Reference in a new issue