Python查看远程主机端口是否开放以及BashShell实现
无论是选择Python还是选择Bash Shell都可以很容易检测远程主机端口是否开放,下面的Python例子纯属锦上添花,仅供参考!
使用方法:如果用户使用不带参数的方式执行,则需要用户修改Python脚本参数host和port,如果用户使用带参数的方式执行则需要加host和port默认用空格隔开或者参考usage()函数。
源码如下:#!/usr/bin/python # encoding: utf-8 # -*- coding: utf8 -*- import socket import sys # import os import time def usage(): print(""" Function: check remote host's tcp port if is open Usage: %s <host ipaddress> <tcp port> Example: python %s 127.0.0.1 22 Others useful cli: strace time: strace -q -f -c python checkRemoteHostPortStatus.py 127.0.0.1 22 Bash shell implement: nc -w 3 127.0.0.1 22 >/dev/null 2>&1 && echo ok || echo failed nmap 127.0.0.1 -p 22 | grep open >/dev/null 2>&1 && echo ok || echo failed """) % (__file__, sys.argv[0]) sys.exit(0) host = "" port = 0 timeout = 3 retry = 3 argc = len(sys.argv) if not (argc == 1 or argc == 3): print("Error: incorrect number of arguments or unrecognized option") usage() if argc == 1: pass else: if sys.argv[1] is not None: host = sys.argv[1] if sys.argv[2] is not None: port = sys.argv[2] if host == "": print "host is empty, please sign new one." sys.exit(1) if port == 0: print "port is empty, please sign new one." sys.exit(1) else: try: type(int(port)) is not int except ValueError: print type(port) print "type port \"%s\" is not int, please sign new one" % port sys.exit(1) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(timeout) for attempt in range(0, retry): try: s.connect((str(host), int(port))) print "connect to server %s port %s successfully!" % (host, port) break except Exception: print "connect to server %s port %s failed in %s times! " % (host, port, attempt + 1) # os.system("sleep 1") time.sleep(1) s.close()tag:python,检测端口,远程端口
--end--
阅读更多- Python查看远程主机端口是否开放以及BashShell实现
- 利用telnet命令检测远程主机端口是否正常开放
- Python扫描IP段查看指定端口是否开放的方法
- python 域名转IP 在查看制定端口是否开放
- 如何判断远程主机的端口是否开放
- Python扫描IP段查看指定端口是否开放的方法
- python批量Telnet远程主机查看端口开放情况
- Red Hat Linux下查看另一台主机的某个端口是否启动命令
- 利用nc命令验证远程端口是否开放
- linux下使用命令来查看某一端口是否开放
- 如何查看端口被是否被占用,以及被哪个程序占用
- python 找出空闲的端口 5个平台 利用 socket 或 netstat 查看端口是否被占用
- 在Linux服务器和本地主机查看服务器端口信息,检测端口是否可连接
- python检测远程端口是否打开的方法
- linux下查看端口是否开放
- telnet查看远程机器端口是否可以访问
- 如何在 vmware esxi 中开放 VNC功能及端口实现远程管理 完整篇
- 如何扫描远程主机开放的端口?
- 测试远程主机的特定端口是否开通
- 查看端口是否被打开、占用、开放的有关命令。