4 个版本 (破坏性更新)
使用旧的Rust 2015
0.4.0 | 2018年7月22日 |
---|---|
0.3.0 | 2018年7月7日 |
0.2.0 | 2018年6月26日 |
0.1.0 | 2018年6月22日 |
#11 in #网络管理器
220KB
4K SLoC
snail
免责声明: 该项目处于非常初期的状态,您很可能遇到错误。我正在将其作为我的日常驱动程序使用,但如果您考虑这样做,请预期将获得一个非常基础的使用体验。
寄生网络管理器。snail试图填补类似metasploit的网络管理器的空白。其核心功能是一个脚本引擎,可用于匹配已知的网络,并在发现网络捕获门户时与之交互。请查看scripts/ 文件夹中的示例。基本思想是您正在尝试获取连接,但您实际上并不关心它实际上来自哪里。请始终保持坐姿,并将您的手臂和腿保持在防火墙内。
安装
如果可能,请使用snail-git 包为archlinux。对于基于debian的系统上的手动设置,安装依赖库 libseccomp-dev
、libdbus-1-dev
和 libzmq3-dev
。
接下来,构建二进制文件
cargo build --release
然后安装它
install -Dm755 target/release/snail{d,ctl} /usr/bin
install -Dm644 scripts/* -t /usr/lib/snaild/scripts
install -d /etc/snail/scripts
install -Dm644 contrib/snail.conf -t /etc/snail
install -Dm644 contrib/[email protected] -t /usr/lib/systemd/system
install -Dm644 contrib/snail-tmpfiles.conf /usr/lib/tmpfiles.d/snail.conf
install -Dm644 contrib/snail-sysuser.conf /usr/lib/sysusers.d/snail.conf
systemd-tmpfiles --create
systemd-sysusers
systemctl daemon-reload
systemctl enable --now snail@wlp3s0
您可以使用snailctl监视您的网络状态。确保您的用户属于在 /etc/snail/snail.conf 中指定的正确组。
snailctl status
要将自己添加到正确的组,请运行
usermod -aG snail user
snailctl decap
网络捕获门户引擎应作为snaild的一部分自动运行,但也可以手动调用它。
要执行以详细模式运行的引擎,请运行
snailctl decap -v
某些门户也劫持了android网络捕获门户探测,在这种情况下,您可以绕过网络捕获门户测试,并通过运行以下命令直接执行脚本:
snailctl decap -vf
如果您正在开发新的脚本,您可以使用以下方式提供该脚本的路径:
snailctl decap -v ~/scripts/foo.lua
默认情况下,自定义脚本从 /etc/snail/scripts/*.lua
加载,但您也可以将其他文件夹添加到 /etc/snail/snail.conf
[scripts.paths."/home/user/snail/scripts"]
[scripts.paths."/opt/snail/scripts"]
为确保脚本被正确拾取,请在没有任何参数的情况下运行snailctl。
snailctl
如果您为 captive portal 编写了一个新脚本,请提交一个 pull request。
snaild dns
snaild 包含一个 DNS 服务器,该服务器在本地主机上监听 DNS 查询并将它们转发到 DNS-over-https 查询器。您还可以配置自己的区域,这些区域将转发到不同的 DNS 查询器,或者将静态 DNS 记录硬编码。
[dns]
bind = "127.0.0.1:53"
# cloudflare
servers = ["1.1.1.1",
"1.0.0.1",
"2606:4700:4700::1111",
"2606:4700:4700::1001"]
port = 443
sni = "cloudflare-dns.com"
[dns.records]
"foo.example.com" = ["192.0.2.10", "2001:DB8::10"]
"bar.example.com" = ["192.0.2.20", "2001:DB8::20"]
[dns.zones]
"example.com" = ["192.0.2.2", "2001:DB8::2"]
"corp.example.com" = ["192.0.2.3", "2001:DB8::3"]
趣闻
snailctl 的名字灵感来源于Leucochloridium,一种生活在蜗牛体内的寄生虫,能够控制其宿主。从长远来看,snaild
是与蜗牛大脑接口的过程,而 snailctl
是通过 snaild
控制蜗牛的实用程序。
标志由 Baudon 在 1879 年创作。
许可
GPLv3+
依赖项
~74MB
~1.5M SLoC