• 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文档

  • 相关阅读:
    01 Sonic 简介
    使用中科院Mirrors的brew镜像源来安装brew
    vueelementadmin修改顶部导航栏
    02 Sonic 调试、发布 agent
    04 Sonic 调试 server
    05 Sonic 修改iso无法远控传图问题(前端解决跨域问题)
    06 Sonic 实现多设备运行
    工作方法论思考总结
    git中出现error: Your local changes to the following files would be overwritten by merge的解决方案
    git rebase master
  • 原文地址:https://www.cnblogs.com/yicunyiye/p/13944719.html
Copyright © 2020-2023  润新知