IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Python开发 CDN查询&子域名查询 -> 正文阅读

[网络协议]Python开发 CDN查询&子域名查询

import socket
import os
import sys
import time
import requests
from bs4 import BeautifulSoup
from urllib.parse import urlparse

#获取ip地址
def get_ip(ip):
    data = socket.gethostbyname(ip)
    print(data)
    return data

#端口检测状态
'''
21/tcp FTP 文件传输协议
22/tcp SSH 安全登录、文件传送(SCP)和端口重定向
23/tcp Telnet 不安全的文本传送
25/tcp SMTP Simple Mail Transfer Protocol (E-mail)
69/udp TFTP Trivial File Transfer Protocol
79/tcp finger Finger
80/tcp HTTP 超文本传送协议 (WWW)
88/tcp Kerberos Authenticating agent
110/tcp POP3 Post Office Protocol (E-mail)
113/tcp ident old identification server system
119/tcp NNTP used for usenet newsgroups
220/tcp IMAP3
443/tcp HTTPS used for securely transferring web pages 
'''
def get_port(add):
    print(add)
    server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    ports = {'21', '22', '23', '25', '69', '79', '80', '88', '110', '113', '119', '220', '443'}
    for port in ports:
        result = server.connect_ex((add,int(port)))
        if result == 0:
            print(port + ":open")
        else:
            print(port + ":close")


#判断目标是否存在CDN
#利用字典查询
#利用bing第三方借口查询
def get_CDN(add):
    parm = 'nslookup ' + add
    result = os.popen(parm).read()
    if result.count(".")>8:
        print(add + " 存在CDN")
    else:
        print(add + " 不存在CDN")

#通过字典子域名查询
def zym_list_check(url):
    for zym_list in open('zym_list.txt'):
        zym_list=zym_list.replace('\n',"")
        zym_url = zym_list + "." + url
        # print(zym_url)
        try:
            ip = socket.gethostbyname(zym_url)
            print(zym_url + "-->" + ip)
            time.sleep(0.1)
        except Exception as e:
            print(zym_url + "-->" + ip + "error")
            time.sleep(0.1)

#bing子域名查询
def bing_search(site,pages):
    Subdomain = []
    headers = {
        'Accept': '*/*',
        'Accept-Language': 'en-US,en;q=0.8',
        'Cache-Control': 'max-age=0',
        'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36',
        'Connection': 'keep-alive',
        'Referer': 'http://www.baidu.com/'
    }
    for i in range(1,int(pages)+1):
        url="https://cn.bing.com/search?q=site%3A"+site+"&go=Search&qs=ds&first="+ str((int(i)-1)*10) + "&FORM=PERE"
        conn = requests.session()
        conn.get('http://cn.bing.com',headers=headers)
        html = conn.get(url,stream=True, headers=headers)
        soup = BeautifulSoup(html.content,'html.parser')
        job_bt = soup.findAll('h2')
        for i in job_bt:
            link = i.a.get('href')
            domain = str(urlparse(link).scheme + "://" + urlparse(link).netloc)
            if domain in Subdomain:
                pass
            else:
                Subdomain.append(domain)
                print(domain)

if __name__ == '__main__':
    #site = www.baidu.com
    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)

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 12:17:32  更:2021-09-30 12:18:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/27 1:48:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码