首页 > 其他分享 >2.awd初阶_脚本扫描

2.awd初阶_脚本扫描

时间:2024-11-14 16:56:52浏览次数:1  
标签:初阶 http get url 扫描 192.168 6.129 requests awd

1.python知识

随便过一遍python前置知识

import requests
# url="https://cn.bing.com/search?q=baidu1&form=ANSPH1&refig=6735b4ceb83048cd9c774ca99db2a002&pc=U531"
# try:                                            #1.get访问的时候要有http头
#     print(requests.get(url).status_code)        #5.返回状态码         .status_code
#     print(requests.get("https://cn.bing.com/search?q=baidu1&form=ANSPH1&refig=6735b4ceb83048cd9c774ca99db2a002&pc=U531"))
#                                                 #4.会输出状态码,说明网站正常访问
#     requests.get("https://yanxiao.comkjhgfd")   #2.访问不到网址就报错,停止程序
# except:
#     pass                                        #3.访问不到就过
#
# for i in range(1,100):
#     print(i)


#正式开始写代码
#比如大家在一个网段:192.168.6.X       X为0-255  #6.    .format代表前面的变量
url="http://192.168.6.129:"
for i in range(1,11):
    url_new=url+"{}".format(i)
    print(url_new)
'''
http://192.168.6.129:1
http://192.168.6.129:2
http://192.168.6.129:3
http://192.168.6.129:4
http://192.168.6.129:5
http://192.168.6.129:6
http://192.168.6.129:7
http://192.168.6.129:8
http://192.168.6.129:9
http://192.168.6.129:10
'''

2.脚本扫描存活主机(get)

import requests  
from concurrent.futures import ThreadPoolExecutor  
import re  
  
f = open("host.txt", "w")  
  
  
def get_ip(url):  
    resp = requests.get(url)  
    status = resp.status_code  
    if status == 200:  
        f.write(url + "\n")  
        print(url)  
  
  
url = []  
for i in range(1, 255):  
    url.append("http://192-168-1-" + str(i) + ".pvp5422.bugku.cn")    #拼接网段的字符串
with ThreadPoolExecutor(max_workers=100) as executor:  
    executor.map(get_ip, url)  
  
"""  
http://192-168-1-93.pvp5422.bugku.cn  
http://192-168-1-173.pvp5422.bugku.cn  
"""

导入模块

import requests  
from concurrent.futures import ThreadPoolExecutor  
import re  
  • requests: 用于发送HTTP请求。
  • ThreadPoolExecutor: 用于并发执行任务,这里用来同时处理多个HTTP请求,提高效率。
  • re: 正则表达式模块,在这个脚本中没有用到。

文件操作

f = open("host.txt", "w")
  • 打开或创建名为host.txt的文件,准备写入数据。

定义函数

def get_ip(url):  
    resp = requests.get(url)  
    status = resp.status_code  
    if status == 200:  
        f.write(url + "\n")  
        print(url)
  • get_ip(url): 这个函数接受一个URL作为参数,使用requests.get()方法向该URL发送GET请求。
  • resp = requests.get(url): 发送请求并获取响应对象。
  • status = resp.status_code: 获取HTTP响应的状态码。
  • 如果状态码为200(表示请求成功),则将URL写入host.txt文件,并打印该URL。

构建URL列表

url = []  
for i in range(1, 255):  
    url.append("http://192-168-1-" + str(i) + ".pvp5422.bugku.cn")    #拼接网段的字符串
  • 创建一个空列表url
  • 使用for循环遍历1到254之间的数字,构建每个可能的IP地址,并将其添加到url列表中。

并发执行

with ThreadPoolExecutor(max_workers=100) as executor:  
    executor.map(get_ip, url)
  • 使用ThreadPoolExecutor创建一个线程池,最大工作线程数设为100。
  • 使用executor.map()方法将get_ip函数应用到url列表中的每个元素上,实现并发执行。

注释

"""
http://192-168-1-93.pvp5422.bugku.cn  
http://192-168-1-173.pvp5422.bugku.cn  
"""
  • 这些注释展示了两个示例URL,可能是之前运行脚本时发现的可访问主机。

注意事项

  • 安全性: 在实际使用中,扫描网络可能会被认为是恶意行为,特别是在没有得到授权的情况下。确保您有权限对目标网络进行此类操作。
  • 性能: 并发请求数量设置为100,这可能会对网络和服务器造成较大压力。根据实际情况调整max_workers的值。
  • 异常处理: 当前代码没有处理请求过程中可能出现的异常,例如网络错误或超时。建议增加适当的异常处理机制,以提高代码的健壮性。

标签:初阶,http,get,url,扫描,192.168,6.129,requests,awd
From: https://www.cnblogs.com/yanxiao777/p/18546403

相关文章

  • 微信小程序——实现二维码扫描功能(含代码)
    ✅作者简介:2022年博客新星第八。热爱国学的Java后端开发者,修心和技术同步精进。......
  • 135端口DCERPC协议扫描主机
    百度百科135端口主要用于使用RPC(RemoteProcedureCall,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地执行远程计算机上的代码;使用DCOM可以通过网络直接进行通信,能够包括HTTP协议在内的多种网络传输。135端口探测......
  • SpringBoot--Bean对象管理(Bean对象扫描、Bean对象注册、注册条件)
    目录(一)Bean扫描 1.通常用来扫描包的方法2.在SpringBoot中如何扫描 (二)Bean对象的注册案例测试: 准备工作: 1.安装一个jar包:​编辑​编辑 2.将刚才安装好的坐标引入进来: @Bean1.在启动类中添加(不推荐) 2.定义一个配置类 @Import1.导入配置类2.导入ImportSele......
  • [js] 突发奇想, 使用canvas绘制一个动态的扫描仪
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title&g......
  • Ubuntu 22.04 LTS 离线安装 Harbor v2.11 (附https认证,Trivy镜像扫描)
    Harbor介绍Harbor是一个开源的企业级DockerRegistry服务,它提供了一个安全、可信赖的仓库来存储和管理Docker镜像。Harbor翻译为中文名称为"庇护;居住;"。可以理解为是Docker镜像的"居住环境"或者是镜像的"庇护所"。Harbor最初由VMware公司开发,旨在解决企业级Docker镜像管理的......
  • 信息收集、漏洞扫描、漏洞利用、权限提升、数据泄露
    网络安全和黑客攻击信息收集:这是黑客攻击的第一步,旨在收集目标系统的信息。通过信息收集,攻击者可以了解目标系统的IP地址、操作系统类型、开放端口、服务版本等信息。信息收集的方法包括使用网络扫描工具(如Nmap)、搜索引擎(如Google)、社交媒体(如LinkedIn)等。漏洞扫描:在信息......
  • 漏洞扫描工具和漏洞利用工具
    漏洞扫描工具和漏洞利用工具是网络安全领域中两种重要的工具,它们在保障网络安全和进行渗透测试等方面发挥着关键作用。以下是关于这两种工具的详细介绍:漏洞扫描工具定义:漏洞扫描工具是基于漏洞数据库,通过扫描等手段对指定的远程或本地计算机系统的安全脆弱性进行检测,发现可......
  • android sonar 库扫描 sonarlint扫描的问题
    androidsonar库扫描sonarlint扫描的问题今天要进行代码检查,所以我就装了一个插件SonarLint,先自己看看有啥问题,进行优化一下,并对遇到的问题做一个汇总SonarLint安装我用的是SonarLint,安装很好安装,我用的idea,找到setting里边的我这是安装完的,你选择下载就行,下载完了需要重启一下......
  • System File Checker(简称 SFC)是 Windows 操作系统中的一个内置工具,用于扫描和修复损坏
    SystemFileChecker(简称SFC)是Windows操作系统中的一个内置工具,用于扫描和修复损坏或丢失的系统文件。它帮助用户恢复Windows操作系统中重要的文件和组件,以确保操作系统能够正常运行。什么是SFC(SystemFileChecker)?SFC是一个命令行工具,通过扫描Windows系统中的保护文件......
  • 【初阶数据结构与算法】线性表之链表的分类以及双链表的定义与实现
    文章目录一、链表的分类二、双链表的实现1.双链表结构的定义2.双链表的初始化和销毁初始化函数1初始化函数2销毁函数3.双链表的打印以及节点的申请打印函数节点的申请4.双链表的头插和尾插头插函数尾插函数5.双链表的查找和判空查找函数判空函数6.双链表的头删和尾......