Endless是一个SSH压缩包,它非常缓慢地发送无休止的、随机的SSH横幅。它使SSH客户端一次锁定数小时甚至白天。这样做的目的是将真正的SSH服务器放在另一个端口上,然后让脚本儿童卡在这个压缩包中,而不是打扰真正的服务器。
由于在进行任何加密交换之前,tarpit就在横幅中,因此该程序不依赖于任何加密库。它是一个简单、单线程、独立的C程序。它使用poll()一次捕获多个客户端。
用法:endless h[-vhs][-d ms][-f配置][-l长度][-m限制][-p端口]-4仅绑定到ipv4-6仅绑定到ipv6-d int消息毫秒延迟[10000]-f设置和加载配置文件[/etc/endless h/config]-h打印此帮助消息并退出-l int最大标题行长度(3-255)[32]-m int最大客户端数量[4096]-p int侦听端口。-s将诊断打印到syslog,而不是标准输出-v打印诊断(可重复)。
论证顺序很重要。配置文件是在处理-f参数时加载的,因此只有后面的选项会覆盖配置文件。
默认情况下,不生成任何日志消息。第一个-v启用基本日志记录,第二个-v启用调试日志记录(嘈杂)。默认情况下,所有日志消息都发送到标准输出。-s使它们发送到syslog。
SIGTERM信号将正常关闭守护进程,允许它写入完整、一致的日志。
#侦听新SSH连接的端口。端口2222#一次发送一行无限标语。这是各个线路之间的延迟#(以毫秒为单位)。延迟10000#每条线路的长度是随机的。此选项控制每行的最大#长度。如果#客户端在一定数量的字节后放弃,则较短的线路可能会使客户端保持更长时间。MaxLineLength 32#一次可接受的最大连接数。超过#的连接不会立即被拒绝,但将在队列中等待。MaxClients 4096#设置日志的详细级别。#0=安静#1=标准、有用的日志消息#2=非常嘈杂的调试信息LogLevel 0#设置侦听套接字的系列#0=使用IPv4映射的IPv6(v4和v6,默认)#4=仅使用IPv4#6=仅使用IPv6绑定系列0。
该系统使用的glibc版本早于2.17(2012年12月),并且lock_gettime(2)仍在库中。对于这些系统,您需要链接到库:
这些系统不包括libc中的所有必需功能,并且链接器需要一些额外的库:
如果您没有使用GCC或Clang,还可以覆盖CFLAGS和LDFLAGS以删除特定于GCC的选项。例如,在Solaris上:
这些系统上的功能测试宏不可靠,因此您可能还需要在CFLAGS中使用-D__EXTENSIONS__。