zoukankan      html  css  js  c++  java
  • tcp端口检测

    # coding=utf-8
    import sys
    import socket
    import re
    
    
    def check_server(address, port):
        s = socket.socket()
        print 'Attempting to connect to %s on port %s' % (address, port)
        try:
            s.connect((address, port))
            print 'Connected to %s on port %s' % (address, port)
            return True
        except socket.error as e:
            print 'Connection to %s on port %s failed: %s' % (address, port, e)
            return False
    
    
    if __name__ == '__main__':
        from argparse import ArgumentParser
        parser = ArgumentParser(description=u'TCP端口检测')
        parser.add_argument(
            '-a',
            '--address',
            dest='address',
            default='localhost',
            help='address for the server')
        parser.add_argument(
            '-p',
            '--port',
            dest="port",
            default=80,
            type=int,
            help='port for the server')
        args = parser.parse_args()
        check = check_server(args.address, args.port)
        print 'check_server returned %s' % check
        sys.exit(not check)

    测试结果:

    [hupeng@hupeng-vm Python]$python check_server.py && echo "SUCCESS"
    Attempting to connect to localhost on port 80
    Connected to localhost on port 80
    check_server returned True
    SUCCESS
    [hupeng@hupeng-vm Python]$python check_server.py -p 81 && echo "Failure"
    Attempting to connect to localhost on port 81
    Connection to localhost on port 81 failed: [Errno 111] Connection refused
    check_server returned False
    [hupeng@hupeng-vm Python]$python check_server.py -p 81 || echo "Failure"
    Attempting to connect to localhost on port 81
    Connection to localhost on port 81 failed: [Errno 111] Connection refused
    check_server returned False
    Failure

    附:

    shell中&&和||的使用方法

    命令的返回结果:真(返回0),假(返回非0)

    command1  && command2: command1返回真时,command2才会被执行

    command1  || command2:command1返回真时,command2就不会被执行

  • 相关阅读:
    拓扑排序
    最短路径(Dijkstra,SPFA,Floyd)
    最小生成树(Prim)
    最长公共子序列(DP)(二种数组实现+扩展)
    HDU3068(最长回文串)
    python pip 阿里云内网安装地址
    python matplotlib画图改为可写中文
    win10 安装 basemap
    Liunx 安装basemap
    Docker 命令大全
  • 原文地址:https://www.cnblogs.com/hupeng1234/p/6715237.html
Copyright © 2011-2022 走看看