首页 > 代码库 > web服务检测
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$
web服务检测
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。