zoukankan      html  css  js  c++  java
  • web服务检测

    通过python的socket模块中的getaddrinfo进行给定主机/域名的80端口探测

    #!/usr/bin/env python3
    #-*- encoding:utf8 -*-
    
    import argparse,socket,sys
    
    def connect_to(hostname_or_ip):
        try:
            infolist = socket.getaddrinfo(
                hostname_or_ip,'www',0,socket.SOCK_STREAM,0,
                socket.AI_ADDRCONFIG | socket.AI_V4MAPPED | socket.AI_CANONNAME,
            )
        except socket.gaierror as e:
            print('Name service failure:', e.args[1])
        info = infolist[0]
        socket_args = info[0:3]
        address = info[4]
        s = socket.socket(*socket_args)
        try:
            s.connect(address)
        except socket.error as e:
            print('Network failure' , e.args[1])
        else:
            print('Success: host' , info[3] , 'is listening on TCP port 80')
    
    if __name__ == "__main__":
        parser = argparse.ArgumentParser(description='Try connecting to port 80')
        parser.add_argument('hostname' , help='hostname that you want to contact')
        connect_to(parser.parse_args().hostname)

    演示:

    alben@Python:~/PycharmProjects/networking$ ./getaddr.py google.cn
    Success: host google.cn is listening on TCP port 80
    alben@Python:~/PycharmProjects/networking$ ./getaddr.py google.hk
    Network failure Connection refused
    alben@Python:~/PycharmProjects/networking$ ./getaddr.py sina.cn
    Success: host sina.cn is listening on TCP port 80
    alben@Python:~/PycharmProjects/networking$ ./getaddr.py baidu.com
    Success: host baidu.com is listening on TCP port 80
    alben@Python:~/PycharmProjects/networking$ ./getaddr.py localhost
    Network failure Connection refused
    alben@Python:~/PycharmProjects/networking$

  • 相关阅读:
    python3.6.4源码安装
    centos 6 中恢复删除的文件
    mysql5.6.8源码安装
    zookeeper集群搭建
    vmware 12中安装苹果系统
    docker被入侵后.............
    关于docker
    关于redis
    人生的价值 幸福感
    c# 泛型
  • 原文地址:https://www.cnblogs.com/alben-cisco/p/7077534.html
Copyright © 2011-2022 走看看