前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpyCast:一款功能强大的跨平台mDNS枚举工具

SpyCast:一款功能强大的跨平台mDNS枚举工具

作者头像
FB客服
发布2022-11-14 16:05:58
1.5K0
发布2022-11-14 16:05:58
举报
文章被收录于专栏:FreeBufFreeBuf

关于SpyCast

SpyCast是一款功能强大的跨平台mDNS枚举工具,该工具支持在主动模式下递归查询服务,也可以在被动模式下仅侦听多播数据包。因此,广大研究人员可以使用该工具测试mDNS协议和本地网络的安全性。

mDNS介绍

mDNS,即多播DNS,该协议将主机名解析为不包含本地名称服务器的小型网络中的IP地址。它是一种零配置服务,使用与单播域名系统 (DNS)基本相同的编程接口,数据包格式和操作语义。虽然Stuart Cheshire将mDNS设计为独立协议,但它可以与标准DNS服务器协同工作。

mDNS协议发布为 RFC 6762使用IP多播用户数据报协议 (UDP)数据包,由Apple Bonjour和开源Avahi软件包实现。Android包含mDNS实现。mDNS也已在Windows 10中实现,最初仅限于发现网络打印机[3] ,后来也能够解析主机名。

mDNS可以与DNS服务发现 (DNS-SD)结合使用, DNS服务发现是RFC 6763中单独指定的配套零配置技术。

mDNS主要实现了在没有传统DNS服务器的情况下使局域网内的主机实现相互发现和通信,使用的端口为5353,遵从dns协议,使用现有的DNS信息结构、名语法和资源记录类型。并且没有指定新的操作代码或响应代码。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
代码语言:javascript
复制
git clone https://github.com/evilsocket/spycast.git

代码构建

切换到项目目录下,然后使用cargo构建项目代码:

代码语言:javascript
复制
cargo build --release
代码语言:javascript
复制

我们还可以针对不同的操作系统来构建代码包,比如说macOS平台下,可以使用下列命令构建:

代码语言:javascript
复制
cargo tauri build
代码语言:javascript
复制

SpyCast还可以构建出不带默认用户交互界面的版本,此时所有的数据输出结果都会打印在控制台终端中:

代码语言:javascript
复制
cargo build --no-default-features --release

工具运行

下列命令能够以主动模式运行SpyCast,该模式下工具将会递归查询所有可用的mDNS服务:

代码语言:javascript
复制
./target/release/spycast
代码语言:javascript
复制

下列命令能够以被动模式运行SpyCast,该模式下工具不会产生任何mDNS流量,并只会监听多播数据包:

代码语言:javascript
复制
./target/release/spycast --passive

查看工具帮助信息:

代码语言:javascript
复制
spycast --help

工具运行截图

许可证协议

本项目的开发与发布遵循GPL3开源许可证协议。

项目地址

SpyCast:https://github.com/evilsocket/spycast

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于SpyCast
  • mDNS介绍
  • 工具下载
    • 代码构建
    • 工具运行
    • 工具运行截图
    • 许可证协议
    • 项目地址
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档