zoukankan      html  css  js  c++  java
  • Scapy:局域网MAC地址扫描脚本

    转载自:http://blog.sina.com.cn/s/blog_4b5039210100gn6k.html

    未测试,回头研究研究。

     用python+scapy写的,只要双击.py文件即可,扫描当地局域网的主机MAC地址,并把结果写入文档保存。

    代码如下:用到注册表。(运行前保证scapy安装成功)


    #!/usr/bin/env python
    #coding=utf-8

    import sys
    import time
    import _winreg
    from scapy import srp,Ether,ARP,conf


    key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,
                          r"SYSTEMCurrentControlSetServicesTcpipParametersInterfaces{0E184877-D910-4877-B4C2-04F487B6DBB7}")
    value,type = _winreg.QueryValueEx(key,"DhcpDefaultGateway")


    f=file('MAC_list.txt','a')
    scan_time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    f.write(' '+scan_time+' ')
    f.write(' '+"The Default Gateway of your host is :"+value[0]+' '+' ')
    ipscan=value[0].encode('gbk')+'/24'

    conf.verb = 0
    ans,unans = srp(Ether(dst="FF:FF:FF:FF:FF:FF")/ARP(pdst=ipscan),timeout = 2)
    f.write("------ MAC ------ & ----IP-----"+' '+' ')
    num=0
    for snd,rcv in ans:
        list_mac=rcv.sprintf("%Ether.src% & %ARP.psrc%")
        f.write(list_mac+' ')
        num +=1

    f.write(' '+'total : '+str(num)+'  computers'+' ')
    f.close()

    结果类似于:

  • 相关阅读:
    Condition控制线程通信
    Lock同步锁
    通过Callable接口创建线程
    CountDownLatch闭锁
    CopyOnWriteArrayList笔记
    原子变量与CAS算法
    Java网络编程之UDP
    Java网络编程之Socket
    Java网络编程之URLConnection
    Java中处理异常中return关键字
  • 原文地址:https://www.cnblogs.com/tk091/p/3412999.html
Copyright © 2011-2022 走看看