zoukankan      html  css  js  c++  java
  • python扫描内网存活主机(scapy与nmap模块)

    题记

            记录一下,我没有偷懒,这些天挖中科院漏洞挖的身心俱疲,补天给我sql注入漏洞3分中危,真是气死人,哎,可能是我描述的太简单,导致他认为就是小网站,亏啊,我可是爆出来40多个裤子。真是闻者伤心,见者流泪。没事,我就不信它不给我个高危,他这个平台也太黑了,难通过还给分低。

            这里属于采用arp扫描,当arp扫描的时候,主机存活返回ack,不存活返回rst,无响应是该主机防火墙屏蔽了这个端口。Arp的缺点是只能扫描本地的主机,但是快速高效。

    Python 使用Scapy模块编写ARP主机存活扫描

    环境:kali,自带scapy软件,python2。

    #引入sys模块

    import sys

    #使用sys模块用来输入数据

    if len(sys.argv) !=2:

    print "Usage:arpPing <IP> eg:arpPing 192.168.0.1"

    sys.exit(1)

    #使用srp()函数扫描输入ip,如果扫描到返回的包,则会被遍历,打印出目标MAC地址和IP地址。

    from scapy.all import srp,Ether,ARP

    ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=sys.argv[1]),timeout=2)

    for snd,rcv in ans:

    print("Target is alive")

    print rcv.sprintf("%Ether.src% - %ARP.psrc%")

            软件中设置参数:

            扫描结果(也可设为192.168.0.0/24扫描网段):

            无指定扫描ip会显示下面。

            如果在命令行使用py脚本。

            命令为:python .扫描内网存活主机(scapy).py 192.168.0.0/24

    Python 使用nmap模块编写ARP主机存活扫描

    import sys

    if len(sys.argv) !=2:

    print "Usage:arpPing <IP> eg:arpPing 192.168.0.1"

    sys.exit(1)

    #使用nmap模块扫描,这个库的核心类为PortScanner,-PR表示使用了ARP,-sn表示测试主机状态。

    import nmap

    nm = nmap.PortScanner()

    nm.scan(sys.argv[1], arguments='-sn -PR')

    for host in nm.all_hosts():

    print('---------------------------')

    print('Host:%s(%s)'%(host,nm[host].hostname()))

    print('State:%s'% nm[host].state())

            如果在命令行使用py脚本。

            命令为:python .扫描内网存活主机(nmap).py 192.168.0.0/24

  • 相关阅读:
    JS获取本周、本季度、本月、上月的开始日期、结束日期
    《大教堂和集市》笔记——为什么一个本科生业余作品却成了全世界最流行的操作系统之一Linux?
    “平头哥”半导体公司
    阻挡不住的变化
    给我五分钟,带你走出迷茫
    涂子沛:从幼稚到成熟,我们这个时代的数据革命
    统计思维就是透过现象看本质
    十个有趣的“大数据”挖掘案例
    信息时代与大数据相关的8个专业
    大数据招聘分析
  • 原文地址:https://www.cnblogs.com/sunny11/p/14163096.html
Copyright © 2011-2022 走看看