import socket
import demistomock as demisto # noqa: F401
from CommonServerPython import * # noqa: F401
def port_listen_check(port: int, host: str) -> CommandResults:
"""
When given a port and host, this function will attempt to connect to the host on the given port and if successful,
return a CommandResults object indicating success
:type port: ``int``
:param port: The port of which to connect on.
:type host: ``str``
:param host: The host to test the connection on.
:rtype CommandResults: ``CommandResults``
:return: CommandResults object with the result of the connection test.
"""
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex((host, port))
open_port = False
if result == 0:
resp = f"Port {port} is open on host: {host}"
open_port = True
else:
resp = f"Port {port} is not open on host: {host}"
outputs = {"portOpen": open_port}
return CommandResults(outputs=outputs, readable_output=resp)
def main():
"""
Main entry point for the script.
"""
port = int(demisto.args().get("port"))
host = demisto.args().get("host")
try:
results = port_listen_check(port=port, host=host)
return_results(results=results)
except Exception as e:
return_error(message=f"An error has occurred: {e}")
# python2 uses __builtin__ python3 uses builtins
if __name__ == "__builtin__" or __name__ == "builtins":
main()
README
Checks whether a port was open on a given host.
Script Data
Name
Description
Script Type
python
Tags
-
Inputs
Argument Name
Description
host
The hostname to check.
port
The port to check.
Outputs
Path
Description
Type
portOpen
Whether the given port on a host was open. Returns true if it is.