IPCalcCheckSubnetCollision
An automation script to return subnet collision result.
- Type
- python
- Pack
- CommunityCommonScripts
Source
import demistomock as demisto # noqa: F401
from CommonServerPython import * # noqa: F401
from CommonServerUserPython import *
import ipaddress
import traceback
""" COMMAND FUNCTION """
def return_check_collision_command(args: Dict[str, Any]) -> CommandResults:
subnet1 = ipaddress.IPv4Network(args.get("subnet_one", None), strict=False)
subnet2 = ipaddress.IPv4Network(args.get("subnet_two", None), strict=False)
collision_result = subnet1.overlaps(subnet2)
collision_object = {"subnet1": format(subnet1), "subnet2": format(subnet2), "collision": collision_result}
readable_output = tableToMarkdown(t=collision_object, name="Collision Check")
return CommandResults(
outputs_prefix="IPCalc.IP.Collision",
outputs_key_field="",
readable_output=readable_output,
outputs=collision_object,
)
""" MAIN FUNCTION """
def main():
try:
return_results(return_check_collision_command(demisto.args()))
except Exception as ex:
demisto.error(traceback.format_exc())
return_error(f"Failed to execute IPCalcCheckSubnetCollision. Error: {str(ex)}")
""" ENTRY POINT """
if __name__ in ("__main__", "__builtin__", "builtins"):
main()
README
An automation script to return subnet collision result
Script Data
| Name |
Description |
| Script Type |
python3 |
| Tags |
|
| Cortex XSOAR Version |
6.0.0 |
Inputs
| Argument Name |
Description |
| subnet_one |
First subnet |
| subnet_two |
Second subnet |
Outputs
| Path |
Description |
Type |
| IPCalc.IP.Collision.subnet1 |
Collission first subnet |
String |
| IPCalc.IP.Collision.subnet2 |
Collission second subnet |
String |
| IPCalc.IP.Collision.collision |
Collission result |
String |
Script Example
!IPCalcCheckSubnetCollision subnet_one=192.169.20.10/28 subnet_two=192.169.20.11
Context Example
{
"IPCalc": {
"IP": {
"Collision": {
"collision": true,
"subnet1": "192.169.20.0/28",
"subnet2": "192.169.20.11/32"
}
}
}
}
Human Readable Output
Collision Check
| collision |
subnet1 |
subnet2 |
| true |
192.169.20.0/28 |
192.169.20.11/32 |