问题标签 [knockd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
661 浏览

php - 使用 knockd 做事 | 通过 PHP 发送 TCP/UPD 请求

我想知道,如果不登录 ssh 就可以重新启动 apache ,是否敲了http://www.zeroflux.org/cgi-bin/cvstrac.cgi/knock/wiki 。但是我的编程问题是是否有办法通过 PHP 发送 tcp/udp 包,这样我就可以通过 webclient 敲门。

我知道这不是最安全的方法,但我只想做一些事情,比如更新 svn,重新启动 apache 而没有任何密码,就像使用 ssh 那样。

0 投票
4 回答
1033 浏览

ssh - 来自动态 IP 的 ssh/VPN 访问/旅行时。基于 knockd 或 dynDNS 的身份验证?

使用 knockd 与使用基于动态 DNS 的身份验证从动态 IP 地址或旅行(即一些随机酒店 IP)进行 ssh 或 VPN 登录的优缺点是什么?理想情况下,任何具有 ssh/VPN 客户端功能的设备都应该能够使用任何需要的附加客户端软件。

(另一种选择,保持 ssh / VPN 端口对所有人开放,这不是很有吸引力。)

我倾向于喜欢 knockd (或其他端口敲门守护程序),因为它不依赖于第 3 方来保持其不妥协的东西......

0 投票
1 回答
1246 浏览

windows - 端口敲击在 Windows 7 下不起作用

我们一直在 Windows XP 下成功地使用了一个名为 knock.exe 的程序来敲击一组端口,然后这些端口将允许通过另一个端口上的 ssh 建立与远程计算机的连接。该程序在 Windows XP 下运行良好,但在 Windows 7 下运行需要更长的时间(不提供错误消息)并且我无法连接到远程计算机。

如果我在未运行 Windows 7 的 VM 中运行 knock.exe,然后使用 Windows 7 机器上的 SSH 进行连接,则它可以工作。

请注意,当从 Windows 7 运行端口敲门应用程序时,事件会传递到远程计算机,因为在运行 knockd (linux) 的远程计算机上使用本地计算机的 IP 地址进行日志记录。

我也尝试过使用 sourceforge 的 knock7,但没有成功。

我尝试了许多其他变体,例如设置兼容模式和其他端口敲门应用程序,但均未成功。

这似乎是 Windows XP 行为对 Windows 7 行为(可能在 Vista 中引入)的一种改变。

最好不必运行虚拟机来进行端口敲门。

任何建议将不胜感激。谢谢!

0 投票
2 回答
1896 浏览

macos - 可以使用一些帮助在 Mac 上设置和运行 knockd :)

当谈到 bash 时,我完全是 n00b,但需要使用端口敲击序列连接到 Web 服务器。我发现http://www.zeroflux.org/projects/knock看起来很有希望,但我一辈子都无法让它发挥作用。

我不清楚的事情(对于初学者):我需要安装源代码吗?或者 OSX 客户端应该自己运行吗?(因为消息来源似乎也说它是客户 - 很困惑)

如果那里的任何人有这方面的经验并且可以引导我完成它,我将非常感激!

非常感谢,-jennyb

0 投票
1 回答
349 浏览

ansible - 在 ssh 上敲不适用于 ansible playbook

当我使用从客户端到服务器的敲门时,即使我使用的是 SSH 密钥,ansible playbook 在 SSH 身份验证期间也不起作用并且失败

当我手动运行相同的剧本时,它可以工作,但是当我尝试使用 knockd 时,客户端能够连接到运行 knockd 的服务器,但 ssh 无法进行身份验证。我已经设置了密码 ssh 公钥身份验证,所以不知道为什么会出现这个问题

这是手动运行时的剧本

0 投票
3 回答
177 浏览

bash - bash 脚本来解析文件,产生第一行未注释的行,注释它并使用它的内容

我有一个包含一长串序列的文件,这些序列是逗号分隔的数字列表。可以使用 注释掉列表#,例如

我想要一个 bash 命令,它采用第一个未注释的序列,拆分数字并将它们传递给一个命令(这是敲门,用于端口敲门),最后注释掉产生的行。

在上面的示例中第一次运行命令应该:

  1. knock myhost 7 8 9
  2. 将输入文件编辑为

    /li>

我想有一些超级简单的方法可以使用 sed/awk 来做到这一点,但我不太了解这些命令。

先感谢您


编辑我希望一个命令只处理输入文件中的一行,而不是通过循环消耗整个文件


编辑2*

我最终用zsh写了这个,谢谢你的帮助

0 投票
3 回答
1709 浏览

ubuntu-server - 设置 Knockd 问题

上周我问了这个关于安全溢出的问题,但是没有回复,所以我希望你能在这里提供帮助。问题如下:

因此,我正忙于在 VM 上设置一个 knockd 服务,以便在使用 knockd 和 ufw “敲入”正确的端口序列时启用 SSH 登录。

The issue that I am currently having is that when the correct sequence of ports are selected, the user.rules for ufw is not able to write the new rule to a file.

我尝试在 /etc/ufw 中的所有文件上使用 chmod 777 作为测试,但是该文件仍然不可写。

/etc/ufw/user.rules 的输出如下:

knockd 文件如下面的代码块所示:

/etc/default/knockd 的输出如下所示:

任何建议将不胜感激。

0 投票
1 回答
15 浏览

python-3.x - 如何有效地将一个巨大的参数传递给函数?

谢谢你的阅读。请原谅我的英语,我是法语。这是一个理由吗?

我的函数的目的是在 Python3 中通过多处理/线程不要,我预见到你,不要!)扫描许多 IPv4:PORT,发送 SYN 并注册任何结果。此处调用 Multisomething 是因为等待任何潜在回复需要超时。所以。

这个函数称为生产者。它将潜在的 TCP 连接存储到数据库中。消费者 然后读取数据库并独立进行一些渗透测试。所以。

我准备了一个 IPv4 列表。这是一个包含 10 个 K 元素的随机有效 IP 列表。请记住,每个 IPv4 有 65K 端口要测试。

然后我的方法是为每个启动的生产者使用一个新种子来对列表端口进行混洗。我有很多。每个都有一个有效的 IPv4 列表,但是,如果我们考虑 65K 端口和 100K IP,我们有 6.5G 元素要传递。

为什么 ?

IP[]random.shuffle()-like,按构造。Ports[]太。

如果我阅读p in Ports并为每个p,加入IPv4:Ports并附加到params[],我可以通过启动并行化作业scan(u) for u in params[]

我通过run(rounds)这样的方式启动它:

但是,问题是size(rounds)= size(params) ~ 6.5G 元素

我找不到将如此巨大的参数(大列表)传递给并行化作业的有效(内存对话)方式。我的内存快用完了。

我不是在问如何在一个令人兴奋的工作站上管理它,虽然在纸上设计了这个功能,但它不适合 raspi2 ( 1GB mem )。

我自己根本不需要 Python3,它是一个教学产品。因此,我被困住了。

我的问题是:你能帮我找到一种有效的方法来通过一个并行化的函数来攻击一个巨大的列表,该函数在不通过参数发送列表的情​​况下弹出列表?

我用谷歌搜索,关注了我知道的论坛和线程,但是,当我重构程序时,不断的问题仍然存在,在main()的同一个地方嘲笑我。

我不想重现的内容:

这不是我的最佳方法,而是我可以解释和展示问题的最佳方式。

我不想丢失(改组的端口)可迭代,它是我的主要向量,它是核心。我正在测试 knockd 的动态配置。

说。Computer_one 在 knockd 中注册一个序列。Computer_one 是唯一知道种子的人。种子是knockd的key序列的key,这样就完成了。

0 投票
0 回答
37 浏览

c - 通过监控连接持续时间进行莫尔斯敲击

最近了解了Port Knocking的概念。可以使用跟踪打开和关闭客户端连接的持续时间而不是打开端口吗?例如,发送 SOS(…………)

  • 打开 3 个连接 100 毫秒:...
  • 打开 3 个连接 300 毫秒:---
  • 打开 3 个连接 100 毫秒:...

MSVC 示例