#!/usr/bin/env python3 import argparse import socket import sys def main() -> int: parser = argparse.ArgumentParser(description="Check raw TCP reachability to an RDP target.") parser.add_argument("--host", required=True, help="RDP host or IP") parser.add_argument("--port", required=True, type=int, help="RDP TCP port") parser.add_argument("--timeout", type=float, default=5.0, help="connect timeout seconds") args = parser.parse_args() sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(args.timeout) try: sock.connect((args.host, args.port)) except OSError as exc: print(f"tcp_connect=failed host={args.host} port={args.port} error={exc}") return 1 finally: sock.close() print(f"tcp_connect=ok host={args.host} port={args.port}") return 0 if __name__ == "__main__": raise SystemExit(main())