致编辑的信
我对 Chris Kostick 在 1996 年 7 月《Linux Journal》上的文章(第 27 期)很感兴趣。我有点失望的是,他只专注于 1.2.x 内核,而没有提及使用 1.3.85+ 或 pre2.x 内核的优势,并且他没有解释 ipfwadm 的用法。例如,虽然许多 ICMP 数据包程序无法工作,但对于最近的内核,已经为某些程序添加了 ICMP 支持,例如 traceroute(ping 仍然无效,而且可能永远不会有效)。
我也对他的坚持感到困扰,即您不能将远程 X 客户端传递给伪装的服务器。我确定你可以,因为我记得我做过!使用 ssh(一个安全的 rlogin 变体,可在 http://www.cs.hut.fi/ssh/ 获取)从伪装的服务器连接到远程主机,你的 X 显示环境变量会被自动设置,并且“X11 连接转发提供安全的 X11 会话!”
因此,如果您使用 ssh 从伪装机器发起连接,则可以通过伪装机器传递 X 客户端。
—Daniel Morrison daniel@hartco.ca
在我写这篇文章时,1.3.57 是最新的“稳定”版本。60 多岁的人可用,但大多数都应该避免。我当时正在使用 1.3.56,所以我以此为基础撰写了这篇文章,并指出 1.2.x 内核是兼容的。
实际上,ping 可以工作。 ICMP 回显请求/回显回复消息可以进行伪装。关键是 ICMP 消息中的标识符字段。问题是将来自外部网络的回复与发起者相匹配。伪装的功能如图 1 所示。
伪装机必须维护一个缓存,该缓存将映射来自 Masq 主机的请求的原始 IP_Addr+ID --> ID 号。 ID 号从不应与来自 Masq 主机的“真实” ICMP 回显冲突的值开始。 我选择 60000 以与伪装端口号保持一致。 还必须修改内核中的 ICMP 代码,使其不与永远不超过 59999 的内部 ID 号冲突。
匹配回复是检查缓存中的返回映射并将 ICMP 回显回复发送到原始主机的问题。
这里没有讨论其他协议细节,我也没有研究该协议的所有细微之处,所以我将它是否真的有效理论留待讨论。
我不认为像发送真实事物一样封装 X(或任何其他协议)。 因此,由于 X 客户端必须在 DISPLAY 变量或 -display 参数中标识服务器的地址,并且服务器的地址被隐藏,因此它不起作用。
—Chris Kostick ckostick@csc.com
再次感谢您又一次精彩的《Linux Journal》。 在杂志到达的那天,房子里的所有活动(无论如何,我这边的)都会停止,直到我从头到尾读完它。
我想对 Michael Johnson 的文章 侍奉两位主人 发表评论。 Michael 提出的“恢复配方”是我在一两个月前不得不自己努力发现的东西。 这种情况与 Win95 无关,尽管它确实涉及一台双启动 PC。 这台 PC 同时运行 Linux 和 DOS/Win3.1(谢谢 LILO),并且在其中一个 DOS 会话中,我设法感染了一种感染 MBR 的病毒。 我心想没问题——我只需使用 McAfee Virus Clean,一切都会恢复正常。 Virus Clean 工作正常,但突然 LILO 消失了。 似乎(至少使用 McAfee)清除引导扇区病毒的过程只是恢复 DOS 风格的 MBR。 我不够勇敢,无法用相同的病毒重新感染我的 PC,看看其他病毒清除程序是否以相同的方式运行,但我怀疑它们会这样做(因为大多数程序不定期复制 MBR 以进行恢复)。
我发现 Æleen Frisch 的书 Essential System Administration(O'Reilly 出版)的第二版在这方面非常宝贵。 如果您是 Linux 用户 - 跑,不要走,然后拿到这本书!! 确保它是第二版,因为第一版并没有真正处理 Linux。
—Kris Boyle kboyle@synapse.net