在渗透测试初期,需要进行大量的信息收集。一般情况下,信息收集可以分为两大类————被动信息收集和主动信息收集。

    其中,被动信息收集主要是通过各种公开的渠道来获取目标系统的信息,例如:站长工具、Google hack等。这类信息收集的特点是不与目标系统产生直接的交互,从而避免留下痕迹,但带来的缺点就是收集的信息可能是一些过时的信息,不够准确。

    相反,主动信息收集是与目标系统进行直接的交互,进而得到更为准确的及时信息。例如:AWVS、Appscan等漏洞扫描工具对目标站点进行的扫描。但不可避免的就是可能会在目标系统中留下痕迹,可能会被封杀。

    在利用python来进行信息收集,主要是体现在了主动信息收集方面。

    在主动信息收集中,主要内容是主机发现、端口扫描、指纹识别。

    在主机发现部分,主动信息收集主要是通过扫描来实现的,其中扫描是可以在不同的网络层次中实现,包括数据链路层主机发现、网络层主机发现和传输层主机发现。

    下面先介绍二层主机发现。

    主机发现,顾名思义,就是确定一个IP范围内存活的主机,找到潜在攻击的目标。二层主机发现主要利用的协议是ARP协议,主要用于在内网中进行探测,发现与攻击者在同一个网段内的主机。二层的主机发现,一般扫描速度都很快,并且可靠性较高,因为即便是安装了安全软件,安全软件都是默认没有防御ARP攻击的。

    在Kali中,我们只要执行arping命令,就可以对外发送ARP响应包来进行主机的探测了,只要我们收到响应,即可判断对方主机在线。

    我们要用到的python第一个模块,是subprocess模块,subprocess模块可以用来创建一个子进程,并且运行一个外部的程序。一般使用subprocess模块中的check_output()方法来调用系统命令。

    如下:



    上面是调用python模块实现的单个语句判断主机是否在线,如果使用python脚本来实现的话,如下所示:

代码如下

import subprocess
import sys
import time
from threading import Thread def arping(ip):
try:
subprocess.check_output('arping -c 1 ' + str(ip),shell=True)
time.sleep(0,1)
print ip,'在线'
return
except:
return def main():
host = str(sys.argv[1]).strip()
addr=host.split(".")[0]+"."+host.split(".")[1]+"."+host.split(".")[2]+"."
for i in range(1,255):
ip = addr + str(i)
t=Thread(target=arping,args=(ip,))
t.start() if __name__=='__main__':
main()

python信息收集(一)的更多相关文章

  1. python信息收集之子域名

    python信息收集之子域名 主要是以下3种思路: 字典爆破 搜索引擎 第三方网站 0x00 背景知识 list Python内置的一种数据类型是列表:list是一种有序的集合. >>&g ...

  2. python 信息收集器和CMS识别脚本

    前言: 信息收集是渗透测试重要的一部分 这次我总结了前几次写的经验,将其 进化了一下 正文: 信息收集脚本的功能: 1.端口扫描 2.子域名挖掘 3.DNS查询 4.whois查询 5.旁站查询 CM ...

  3. python信息收集(二)

        在第二层主机发现中,除了使用arping命令外,还可以使用Kali下自带的一个工具----netdiscover.      netdiscover是一个专门用于二层主机发现的工具,它有两种扫 ...

  4. python信息收集(四)

        在前三篇中,我们介绍了使用python脚本发现二层.三层的主机设备,接下来我们介绍使用python发现第四层主机.     在TCP/IP协议中,第四层为传输层,主要使用的通信协议为TCP协议 ...

  5. python信息收集(三)

        前两篇介绍了利用python编写一些脚本实现二层主机的发现,这一篇介绍一下三层主机的发现.     一般来说,三层主机的发现主要是通过ICMP协议来实现的.其中ICMP协议中的ping命令可以 ...

  6. 基于Python的渗透测试信息收集系统的设计和实现

    信息收集系统的设计和实现 渗透测试是保卫网络安全的一种有效且必要的技术手段,而渗透测试的本质就是信息收集,信息搜集整理可为后续的情报跟进提供强大的保证,目标资产信息搜集的广度,决定渗透过程的复杂程度, ...

  7. python写一个信息收集四大件的脚本

    0x0前言: 带来一首小歌: 之前看了小迪老师讲的课,仔细做了些笔记 然后打算将其写成一个脚本. 0x01准备: requests模块 socket模块 optparser模块 time模块 0x02 ...

  8. 小白日记7:kali渗透测试之主动信息收集-发现(一)--二层发现:arping/shell脚本,Netdiscover,scapy

    主动信息收集 被动信息收集可能不准确,可以用主动信息收集验证   特点:直接与目标系统交互通信,无法避免留下访问痕迹 解决方法:1.使用受控的第三方电脑进行探测,使用代理 (做好被封杀的准备)   2 ...

  9. 小白日记6:kali渗透测试之被动信息收集(五)-Recon-ng

    Recon-ng Recon-NG是由python编写的一个开源的Web侦查(信息收集)框架.Recon-ng框架是一个全特性的工具,使用它可以自动的收集信息和网络侦查.其命令格式与Metasploi ...

随机推荐

  1. Premultiplied Alpha

    Xcode 的工程选项里有一项 Compress PNG Files,会对 PNG 进行 Premultiplied Alpha.游戏开发中会更加关注这个格式,省一些运行时计算. Premultipl ...

  2. 树莓派 Raspberry PI之GPIO

    树莓派 Raspberry PI之GPIO 树莓派各版本硬件原理图:https://www.raspberrypi.org/documentation/hardware/raspberrypi/REA ...

  3. 403 Invalid CORS request 跨域问题

    5.跨域问题 跨域:浏览器对于javascript的同源策略的限制 . 以下情况都属于跨域: 跨域原因说明 示例 域名不同 www.jd.com 与 www.taobao.com 域名相同,端口不同 ...

  4. 关于HashSet与HashMap

    package com.test; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; i ...

  5. 不可被忽视的操作系统( FreeRTOS )【2】

    本文章总结基于官方FreeRTOS手册,测试系统为ESP32的IDF 4.0 本篇续上一篇<不可被忽视的操作系统( FreeRTOS )[1]> 其中上一篇主要内容为: FreeRTOS介 ...

  6. SpringMVC(一):简介和第一个程序

    本文是按照狂神说的教学视频学习的笔记,强力推荐,教学深入浅出一遍就懂!b站搜索狂神说或点击下面链接 https://space.bilibili.com/95256449?spm_id_from=33 ...

  7. zendframework3

    1.开发时关闭cache,正式上线后打开cache application config file (config/application.config.php),  disable this cac ...

  8. 多数据源系统接入mybatis-plus, 实现动态数据源、动态事务。

    目录: 实现思想 导入依赖.配置说明 代码实现 问题总结 一.实现思想 接手一个旧系统,SpringBoot 使用的是纯粹的 mybatis ,既没有使用规范的代码生成器,也没有使用 JPA 或者 m ...

  9. beanshell自定义聚合报告时分线程组阶段展示

    假设现在一共会加载100个线程,期望聚合报告中分别展示1-20,20-40,40-60,60-80的四个阶段的线程并发性能数据,而不是总体的统计数据 beanshell脚本,具体内容: import ...

  10. 刨根问底系列(2)——stdin、stdout、FILE结构体、缓冲区和fflush的理解

    stdin.stdout.FILE结构体.缓冲区和fflush理解 因为之前调试代码时, printf输出的字符串总是被截断了输出(先输出部分, 再输出剩余的), 当时调试了很久, 才知道问题所在, ...