zoukankan      html  css  js  c++  java
  • python-信息收集

    0x01 ip查询

    import socket
    domain = input("输入网站:")
    ip = socket.gethostbyname(domain)
    print(ip)
    

    0x02 whois查询

    需要安装python-whois模块

    #whois查询
    from whois import whois
    domain = input("输入网站:")
    data = whois(domain)
    print(data)
    

    0x03 子域名收集

    result.scheme : 网络协议
    result.netloc: 服务器位置(也有可能是用户信息)
    result.path: 网页文件在服务器中的位置
    result.params: 可选参数
    result.query: &连接键值对

    ##子域名
    
    import requests
    from bs4 import BeautifulSoup
    from urllib.parse import urlparse
    import sys
    
    
    def bing_search(site,pages):
        subdomain = []
        headers={
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36',
            'Accept': '*/*',
            'Accept-Language': 'en-US,en;q=0.5',
            'Accept-Encoding': 'gzip,deflate',
            "Referer": "https://www.bing.com/?mkt=zh-CN"
        }
        for i in range(1,int(pages)+1):
            url = "https://www.bing.com/search?q="+site+"&qs=n&sp=-1&pq="+site+"&sc=9-9&sk=&cvid=0136E796B9494E9E97F282AFC3E557B8&first="+str((int(i)-1)*10 -1)+"&FORM=PERE"
            conn = requests.session()
            conn.get("https://www.bing.com/",headers=headers)
            html = conn.get(url,stream=True,headers=headers,timeout=18)
            soup = BeautifulSoup(html.content,'html.parser')
            h2 = soup.findAll('h2')
            for i in h2:
                try:
                    link = i.a.get('href')
                    domain = str(urlparse(link).scheme+"://"+urlparse(link).netloc)
                    if domain in subdomain:
                        pass
                    else:
                        if site in domain:
                            subdomain.append(domain)
                            print(domain)
                            f = open('result.txt','w')
                            f.write(str(subdomain).replace("'","").replace(",","
    ").replace("["," ").replace("]",""))
                            f.close()
                except Exception as e:
                    continue
    
    
    if __name__ == '__main__':
        if len(sys.argv) == 3:
            site = sys.argv[1]
            page = sys.argv[2]
        else:
            print("usage: %s baidu.com 10" % sys.argv[0])
            sys.exit(-1)
        subdomain = bing_search(site,page)
        input("输入任意键结束")
    
    
    

    运行效果

    参考文档
    Requests文档

  • 相关阅读:
    Linux 下 Nand Flash 调用关系
    postgresql
    Web 在线文件管理器学习笔记与总结(19)上传文件
    Java实现 LeetCode 139 单词拆分
    Java实现 LeetCode 138 复制带随机指针的链表
    Java实现 LeetCode 138 复制带随机指针的链表
    Java实现 LeetCode 138 复制带随机指针的链表
    Java中那些烦人的位运算(&,|...)
    Java中那些烦人的位运算(&,|...)
    Java中那些烦人的位运算(&,|...)
  • 原文地址:https://www.cnblogs.com/yicunyiye/p/13944719.html
Copyright © 2011-2022 走看看