Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
fi6s — 一款专注于互联网扫描与发现的高速IPv6端口扫描器 | Kitploit
工具/GitHubGitHub/sfan5/fi6s
侦察网络映射端口扫描信息收集网络安全
GitHubsfan5/fi6s

fi6s

一款专注于互联网扫描与发现的高速IPv6端口扫描器

查看仓库
17826192个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

fi6s:快速 IPv6 扫描器

fi6s 是一款旨在快速运行的 IPv6 端口扫描器,面向互联网扫描与发现。它通过异步发送和处理原始数据包来实现这一目标。

其设计与目标与 Masscan 非常相似,但功能不如其全面。

请注意 许可证。

最后:这是一款安全研究工具,您(用户)有全部责任在使用时遵守当地法规并在必要时获得许可。

编译

在任何较新的 Linux 系统上构建 fi6s 都非常简单,例如在 Ubuntu 上:

# apt install gcc make git libpcap-dev
$ git clone https://github.com/sfan5/fi6s.git
$ cd fi6s
$ make BUILD_TYPE=release

可执行文件将生成在 ./fi6s。

请注意,fi6s 仅在 Linux 上进行开发与测试。其他类 UNIX 平台应该可以工作,但 Windows 不行。

用法

fi6s 会自动检测脏网络细节(源、路由器 MAC 和 IP),因此您可以立即开始扫描:

# ./fi6s -p 80,8000-8100 --max-rate 170 2001:db8::/120

此示例将:

  • 扫描 2001:db8::/120 子网,共 256 个 IP
  • 扫描 TCP 端口 80 及 8000 到 8100,共 102 个端口
  • 每秒最多发送 170 个数据包
  • 以 "list" 格式(隐式默认)输出扫描结果至标准输出

还有多种不同的方式来指定要扫描的地址范围。如果您不确定将要发生什么,可以使用 --print-summary 快速查看扫描概览,或使用 --print-hosts 打印所有潜在目标 IP。

有关更高级的功能和更多说明,请查阅 fi6s --help 的输出来。

收集横幅

远程主机在响应新连接或探测请求时发送的数据称为“横幅”。fi6s 可以轻松收集它们。

您只需传递 --banners 选项:

# ./fi6s -p 22 --banners 2001:db8::xx

UDP

在命令行中添加 --udp 标志:

# ./fi6s -p 53 --banners --udp 2001:db8:xx::1

请注意,与 TCP 不同,只有扫描的端口协议受 fi6s 探测支持时,您才会获得有意义(或任何)的结果。使用 fi6s --list-protocols 查看列表。

源端口与 IP 协议栈

由于 fi6s 自带了一套最简化的 TCP/IP 协议栈,操作系统必须被阻止在 fi6s 使用的同一端口上进行 TCP 通信,否则会破坏扫描过程。

默认情况下,fi6s 会请求操作系统保留一个临时端口,并在扫描期间使用它。这仅在 Linux 上有效。

如果此操作失败,或者您处于其他平台(fi6s 会告诉您!),您必须自行决定一个源端口,并配置防火墙丢弃该端口上的所有流量,例如:

# ipfw add 1000 deny tcp from any to any 12345 in ip6
或者:
# ip6tables -A INPUT -p tcp -m tcp --dport 12345 -j DROP
然后:
# ./fi6s -p 22 --banners --source-port 12345 2001:db8::xx

由于 UDP 是无连接的,因此无需执行此操作,但防止发送不必要的 ICMPv6 响应仍然是一个好主意。fi6s 默认也会这样做。

选择源 IP

IPv6 的一大优势在于其巨大的地址空间,另一种避免上述问题的方法是直接使用不同的源 IP。

此 IP 不应分配给本地机器,但它必须通过静态路由指向您的机器,因为 fi6s 不会回应 NDP 查询。

要检查您的设置是否正常工作,您可以简单地 ping 一个已知的公网 IP,例如:

# ./fi6s --icmp --source-ip ${chosen_src_ip} 2001:4860:4860::8888

ICMP

使用 --icmp 进行 ICMPv6 Ping 扫描:

# ./fi6s --icmp 2001:xxx0::1

不会测量往返时间。

局限性

为了允许 fi6s 的设计,必须对网络环境做出一些假设。这些假设不会影响典型使用,但为了完整性列举在此。

这意味着 fi6s 可能无法按预期工作或完全无法工作,如果:

  • 您的路由表并非简单结构
    • 它将被忽略。fi6s 期望只有一个网关
  • 您正在扫描本地网络中的目标
    • fi6s 不进行邻居发现
  • 您有连接跟踪防火墙(无论是 iptables 还是外部设备)
    • 它很可能会被大量的“连接”所淹没
  • 您的机器或网关的 IP 或 MAC 在扫描过程中发生变化 ¯\_(ツ)_/¯
  • 您的网络存在持续丢包
  • 目标使用了任何 IPv6 扩展头部(包括分片)

对于横幅收集,请注意 fi6s 并未提供类似于真正 TCP 协议栈的功能。它仅支持发送一次查询并读取后续的响应数据。重传或窗口逻辑未实现。

扫描 IP 与响应 IP

虽然 fi6s 使用端口和序列号来确保您获得的结果与当前运行的扫描相关,但它没有进行 IP 比较,以验证探测发送到的 IP 与实际响应的 IP 是否一致。

这意味着在扫描期间运行例如任何类型的 traceroute 不会干扰扫描结果。

然而,如果某个扫描目标使用不同的 IP 进行回复,那么有可能一个不在输入列表中的 IP 会出现在扫描结果中。这一特性在实践中可能有用,因为一些路由器会在零网络地址上接受 SNMP 或 DNS 查询,但会使用其主要 IPv6 地址进行应答。

示例:扫描 3fff:1234:1234:44xx:: -> 收到来自 3fff:1234:1234:44a3:e2a:86ff:fe12:3456 的响应

目标随机化

fi6s 随机化扫描 IP 的方式(--randomize-hosts 1,默认值)远非完美。

它会:

  • 以 8192 为批次随机打乱 IP
  • 将多个目标均匀分布在扫描持续时间内(如同轮询)
  • 然而,仍然顺序地遍历子网

例如,如果您扫描 3fff::/108,则 3fff::1、3fff::20 和 3fff::300 的顺序将是随机的。但 3fff::0:* 中的所有地址将在 3fff::1:* 之前扫描,然后才是 3fff::2:*,依此类推。

下载工具