转载自: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"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{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('\n'+scan_time+'\n')
f.write('\n'+"The Default Gateway of your host is :"+value[0]+'\n'+'\n')
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-----"+'\n'+'\n')
num=0
for snd,rcv in ans:
    list_mac=rcv.sprintf("%Ether.src% & %ARP.psrc%")
    f.write(list_mac+'\n')
    num +=1

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

结果类似于:

Scapy:局域网MAC地址扫描脚本的更多相关文章

  1. 局域网ip地址扫描_v1版本

    局域网ip地址扫描 工作中,我们有时需要对局域网中ip地址使用情况进行统计.可以使用shell脚本进行扫. 脚本功能: 在线使用IP写入list_online.txt文件 未在线IP写入list_of ...

  2. C#获取局域网MAC地址

    效果: 说明:获取本局域网的MAC地址(非本机的MAC地址) 代码:   /// <summary>         /// 获取网卡物理地址         /// </summa ...

  3. Scapy编写ICMP扫描脚本

    使用Scapy模块编写ICMP扫描脚本: from scapy.all import * import optparse import threading import os def scan(ipt ...

  4. Python脚本扫描给定网段的MAC地址表(scapy或 python-nmap)

    目录 用scapy模块写 用 python-nmap 模块写 python3.7  windows环境 以下两个都可以扫描指定主机或者指定网段的 IP 对应的 MAC 地址,然后保存到 csv 文件中 ...

  5. Windows下查看局域网内某台计算机的MAC地址

    我们知道在局域网中,在Windows下,查看局域网内其他主机的ip和对应mac地址的命令是: arp -a 这样可以看到ip和mac地址的对应关系,还是比较方便的 但是有些时候使用arp命令并不能列出 ...

  6. 查看局域网内所有的主机名、MAC地址和IP地址

    查看所有 IP at MAC $ arp -a ? (10.125.49.187) at 18:81:e:eb:ef:c0 on en0 ifscope [ethernet] ? (10.125.50 ...

  7. 用arp-scan扫描局域网IP地址

    1,在安装之前需要安装yum install -y libpcap libpcap-devel如果没有安装yum工具需要用rpm安装如下软件包[root@oradba arp-scan-1.8]# y ...

  8. 怎么查询局域网内全部电脑IP和mac地址等信息?

    在局域网内查询在线主机的IP一般比较简单,但局域网内全部电脑的IP怎么才能够查到呢?查询到IP后我还要知道对方的一些详细信息(如MAC地址.电脑名称等)该怎么查询呢??? 工具/原料 Windows ...

  9. 怎么查询局域网内全部电脑IP和mac地址..

    在局域网内查询在线主机的IP一般比较简单,但局域网内全部电脑的IP怎么才能够查到呢?查询到IP后我还要知道对方的一些详细信息(如MAC地址.电脑名称等)该怎么查询呢??? 工具/原料 Windows ...

随机推荐

  1. idea上activiti插件的安装及使用

    最近做的东西需要用到activiti,做个笔记 首先下载activti插件- actiBPM File - settings-plugins-Browse-Repositories 搜索 actiBP ...

  2. 搞不懂为什么开发人员爱iOS恨Android?

    导读:很多网站发表文章大同小异.唯有这个不同点,给大家分享. Android和iOS的较量一直都是人们津津乐道的话题.两个平台各有各的优势所在,同时也都力图能在各个方面赶超对手.对于用户来说,青菜萝卜 ...

  3. 【SqlServer】SQL Server的常用函数

    字符串函数 SubString():用于截取指定字符串的方法.该方法有三个参数:参数1:用于指定要操作的字符串.参数2:用于指定要截取的字符串的起始位置,起始值为 1 .参数3:用于指定要截取的长度. ...

  4. Mac Vim 编辑器

    1.常用命令 /xxx 查找xxx n 执行上一次查找 0 到行首 w 光标往后移动一个词 b 光标往前移动一个词 x 删除当前一个字符 dw 删除一个单词 D 删除到行尾 dd 删除整行 V 选中整 ...

  5. JS获取整个网页html代码

    var test=document.getElementsByTagName('html')[0].innerHTML; alert(test);

  6. MySQL复制的管理和维护

    1.查看主库 mysql> show master status; mysql> show master status; +------------------+-----------+- ...

  7. ADF_Starting系列3_使用ADF开发富Web应用程序之开发User Interface

    内容中包含 base64string 图片造成字符过多,拒绝显示

  8. 文件处理-智能检测编码的工具(chardet)

    一.chardet使用方法 问:假如你不知道你要处理的文件是什么编码可怎么办呢? import chardet f = open('通讯录.txt',mode='rb') data = f.read( ...

  9. C#右下角弹出消息框

    打开QQ的时候,QQ新闻弹出窗体在屏幕的右下角就会慢慢升起一个小窗口,占用的地方不大,可以起到提示的作用.下面就让我们来看看,怎样用系统API来轻松实现这个功能.API原型函数:bool Animat ...

  10. 温故而知新 监听 XMLHttpRequest 发起请求

    window.XMLHttpRequest.prototype.open 可以监听 XMLHttpRequest .但不能监听fetch请求. <!DOCTYPE html> <ht ...