这是 slirp 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
slirp - TCP/IP 模拟器
概要
slirp [选项|命令]
帮助
slirp "帮助 CMD"
商品描述
Slirp 是一个 TCP/IP 仿真器,它将普通的 shell 帐户变成 (C)SLIP/PPP
帐户。 这允许 shell 用户使用所有时髦的 Internet 应用程序,例如 Netscape,
马赛克、CUSeeMe等
Slirp 的版权 (c) 是 1995 年 Danny Gasparovski。 版权所有。 见章节
版权详情。
此联机帮助页的组织方式如下。 首先,非常简要地描述基本用法。 这个
后面是配置文件、命令和命令行选项的详细信息。 一些
讨论技术问题的部分(特殊地址、端口重定向、波特率
设置),然后是常见问题和常见问题的解答。
联系信息、致谢和版权声明在最后。
在报告问题之前,请仔细阅读本手册!
用法
要运行 Slirp,只需键入:
溜溜
(或任何 Slirp 的完整路径)。 就是这样。 现在您激活您的 SLIP/PPP
软件,然后启动您的应用程序。
你只需要记住:一旦你运行了 Slirp,你的 shell 帐户现在看起来完全一样
就像一个 SLIP/PPP 帐户(当然有一些限制)。 您拥有的任何文件
告诉您如何连接到 SLIP/PPP 帐户也完全适用于 Slirp。
要退出 Slirp,您只需关闭 SLIP/PPP 软件并键入五个 0(零),其中一个是 1
每个零之间的第二个差距。 Slirp 然后将退出,你将回到你的 shell
提示。
您还可以通过键入五个 1(一个)来“断开”Slirp,它们之间有 1 秒的间隔
每个。 这将断开 Slirp 与 shell 终端的连接,并将 Slirp 放入
背景。 稍后,您可以键入
slirp-l 0
再次“重新连接”Slirp。
PDA 用户的快速说明:如果您将 SLIRP_TTY 设置为连接到您的 PDA(Palm、
POSE 模拟器等),Slirp 将使用该 tty 进行通信。 您可以使用 PPP 而无需
完全伪装,尽管您将受到标准 Slirp 约束。 你
可能需要通过实验找到正确的波特率。 Palms 从 19200 开始。 如果
Slirp 不是用 DO_CFSETSPEED 编译的,你需要在 tty 上设置速度
手动。 启动 slirp 后,使用“stty 19200 < /dev/pilot”的适当变体。
配置 SLIRP
滑行 可以通过 3 种不同的方式进行配置:命令行、配置文件、
和“即时”配置,通过 telnet-ing 到 10.0.2.0 并在那里输入命令
(见下文“特别地址”)。
配置文件位于您的主目录 (~) 中,名为“.slirprc”,
因此,您的配置文件的路径是“〜/.slirprc".
可以出现在配置文件中的选项也可以在命令行中给出。
例如,如果您的 .slirprc 文件如下所示:
重定向 5022 21
重定向 X
你可以通过运行 Slirp 来达到同样的目的:
slirp "redir 5022 21" "redir X"
(注意引号,它们很重要)。 反过来也是如此。 例如,如果你跑
滑动为:
滑动 -P -b 14400
您也可以创建 .slirprc 文件,如下所示:
-P
-b 14400
(请注意,配置文件中每行只允许一个命令)。 2种类型
选项也可以混合。 例如:
在 .slirprc 中:
-P
-b 14400
重定向 5022 21
命令行:
slirp -P -b 14400 "redir 5022 21"
请注意,在命令行中,任何不以“-”或“+”开头的命令/选项,
并且里面有空格,必须用引号括起来。 例如,以下都是合法的:
slirp -P "redir udp 5022 25" -vj -b 14400
slirp "ppp" "波特率 14400"
slirp ppp“波特率14400”
(请注意,即使“ppp”不以“-”或“+”开头,也不需要以
用引号括起来,因为它里面没有空格)
以下是不合法的:
slirp 波特率 14400
滑动“-b 14400”
(因为“-b”以 '-' 开头,您不能将它括在引号中。)很简单,嗯?
注意:每当 Slirp 需要一个 IP 地址作为参数时(例如,在命令“redir”中)
并且未给出 IP 地址参数,则使用的默认值因情况而异
命令出现的地方; 如果它在 〜/.slirprc 那么默认值为 10.0.2.15; 如果它
是在 telnet 10.0.2.0 中,那么使用的 IP 地址是 telnet 所在的 IP 地址
已建立 10.0.2.0 连接。 例如,如果您家里有一个 LAN 并且 telnet 到
10.0.2.0 从其中一台主机发出“redir”命令,Slirp 将使用 IP 地址
建立 telnet 10.0.2.0 连接的主机。 此外,如果您使用 IP
10.0.2.15 以外的 PC 上的地址,您应该在任何时候将其作为参数包含在内
Slirp 期望它,例如使用 redir 命令:
重定向 5555 your.ip.address:5555
关于配置的一些注意事项:
* 在任何 PPP 选项之前都应该有“ppp”或“-P”(因为当 Slirp 解析 -P 或
ppp,它将初始化所有相关字段,从而清除任何已解析的内容
之前)。
* 启动时,按以下顺序进行配置:
1) ~/.slirprc -N (如果使用负载平衡或链路恢复)
2) 〜/.slirprc
3) 命令行选项
这很重要,因为例如,如果您有“启动选项”(PPP 选项)
in 〜/.slirprc-0,并且您使用 -P 运行 slirp,“initiate-options”将无效,
因为 -P 将清除您想要由 Slirp 启动的选项的事实(请记住,-P
应始终位于任何 PPP 选项之前)。
指令 AND 配置
Slirp 包括一个“在线帮助”工具。 要获取 Slirp 接受的命令列表,请给出
它是命令“帮助”。 即,您可以从 shell 提示符运行 Slirp,如下所示:
滑动“帮助”
或者一旦 Slirp 运行,telnet 到 10.0.2.0 并输入:
帮助
要获得每个命令的简要说明,只需键入“help COMMAND”。 例如:
slirp“帮助波特率”
从命令行,或
帮助波特率
在 telnet 到 10.0.2.0。
在以下描述中,方括号内的项目是可选的。 “可用”是指
到可以使用它的地方,即:“命令行/配置文件”、“telnet”或“任何地方”(其中
意味着它可以出现在命令行/配置文件中或通过 telnet 提供)。 “命令-
line" 在适用的情况下给出等效的命令行。
redir X [开始 N] [ADDR][:DISPLAY[.SCREEN]]
重定向端口以用于 X Window 系统。
可用:任何地方
命令行:-X
选项:
开始 N
告诉 slirp 从 N 开始寻找空闲端口。例如:如果 N = 2,slirp
将尝试获取端口 6002,然后是 6003 等。这对于以下站点很有用
有时运行他们自己的 X 服务器,而你不想占用他们的 6000 端口,
他们自然会期待的。
地址
我们的家庭 ip 地址,或 X 服务器所在的地址(如果您在
home 将多台机器连接到网络)(默认为 10.0.2.15
〜/.slirprc,在命令行中时的源 IP 地址)。
显示屏玻璃制造
重定向到哪个显示(默认:0)。
屏幕
重定向到哪个屏幕(默认 .0)。
示例:redir X 10.0.2.15:0.0
注意:这将打印进入每个 shell 所需的命令
启动您的 X 应用程序。
另见:显示 X。
显示 X
显示需要为您的 shell 提供的任何 X 端口的命令
重定向(以防您忘记)。
可用:远程登录
示例:显示 X
注意:如果您忘记了为 X 提供给 shell 的命令,这将很有用
重定向。
另请参阅:redir X,日志启动。
redir [一次|时间] [udp|tcp] PORT [至] [地址:]LPORT
使用选定的协议将主机端口重定向到本地端口。
可用:任何地方
选项:
一次只允许一次重定向 [仅限 TCP]
time 允许重定向超时 [仅限 UDP]
udp 重定向 UDP 端口
tcp 重定向 TCP 端口 [默认]
PORT 在主机系统上使用的端口
ADDRESS 你家机器的地址[默认 10.0.2.15]
LPORT 将主机端口重定向到本地系统的端口
示例:redir tcp 5021 到 21
允许用户使用您主机的端口 21 ftp 到您的本地机器。 (ftp
your.hosts.name 5021)。
注意:如果这个命令在你的 .slirprc 文件中并且没有指定地址,它会
假设您的本地 IP 地址是 10.0.2.15。 如果您从
slirp control telnet IP 它将使用您正在访问的 IP 地址。
波特率 N
控制通过串行链路进行通信的时间分配。 更高
值通常使用更多的调制解调器可用带宽。 这是_唯一_一个
内部控制值并且_不_更改主机端口的物理设置
或调制解调器。
可用:任何地方
命令行:-b
示例:波特率 14400
注意:较高的数字通常允许更好的 ftp 会话传输速率,但
交互式会话可能会变得不那么敏感。 最佳值是 *JUST* 当
ftp 会话达到最大吞吐量,但这可能很难找到(尤其是在
压缩调制解调器)所以你应该选择你期望的最大吞吐量
你的调制解调器。
特殊|控制|主机地址
为 slirp 设置 IP 地址别名等。
可用:任何地方
选项:
特别地址
设置 slirp 的网络 ip 别名
控制地址
只允许从 ADDRESS 访问 slirp 控制地址。
主机地址
告诉 slirp 它正在运行的主机的 IP 地址。 仅在 slirp 时使用它
无法正确找到主机的 IP 地址。
示例:特殊地址 10.0.3.0
注意:special 的 ADDRESS 必须以 0(零)结尾,其他地址归类
由此。 默认的特殊地址是 10.0.2.0,给出了以下定义的 IP:
10.0.2.0 slirp 控制telnet IP
10.0.2.1 slirp 执行 IP
10.0.2.2 slirp 主机别名
10.0.2.x 添加 [pty]exec 可选地址
添加 [pty]exec 程序:[地址:]端口
设置程序在本地计算机尝试连接到 ADDRESS 时在主机上执行
端口端口。
可用:任何地方
选项:
exec 以inetd 的风格建立与程序的二进制连接。
ptyexec 使用 telnetd 辅助应用程序建立与程序的 telnet 连接
在伪终端下。
PROGRAM 要执行的程序
ADDRESS 可选地址
端口 端口
示例:添加 ptyexec csh:55
到 slirp exec IP(默认 10.0.2.1)的 telnet 连接将启动并连接你
直接到主机上的csh程序。 (远程登录 10.0.2.1 55)。
示例:添加 exec nntpd:10.0.2.3:119
尝试打开地址 119 处的端口 10.0.2.3 的程序将连接到
nntpd 程序。
注意:ptyexec 表单的使用需要 slirp.telnetd helper 应用程序
在您的路径上可用。 另请注意,ADDRESS 的格式必须为 SPECIAL_ADDRESS.xx
(默认为 10.0.2.xx)。
[无]压缩
将 slirp 的启动模式强制为 SLIP 或 CSLIP。 这将覆盖默认的自动
模式确定。
示例:无压缩
以 SLIP 模式启动。
例子:压缩
以 CSLIP 模式启动。
注意:默认的操作方法通常表现良好。 你应该只需要
如果您发现您的主机和本地系统同步失败,请使用此命令
连接类型。
MTU N
控制通过串行 IP 链路发送的 IP 数据包的大小。 有效值为
<= 1500。
示例:mtu 1500 将 mtu 设置为其最大允许大小。
注意:较大的值通常会提高图形 Web 浏览器和 ftp 的性能
以交互性能为代价通过串行链路传输。 这
默认值 552 似乎是对 14400 连接的合理折衷
波特。
外壳程序
设置程序在 EXEC IP 默认 telnet 端口 (23) 上执行。
这和
添加 ptyexec 程序:23
注意:默认情况下 slirp 连接 / bin / sh的 到 exec IP telnet 端口。
帮助 [命令]
显示可用命令的简要列表,或有关指定命令的更多信息。
删除 [pty]exec 程序:[ADDRESS/]PORT
反转“add [pty]exec”的效果。 有关选项等,请参阅“添加 [pty]exec”。
注意:您必须完全按照您在 add [pty]exec 中输入的方式输入选项。
**此描述不完整。**
回声 [开|关]
打开或关闭回声,具体取决于您的客户端的行为。 “回声”本身会显示
回声当前是打开还是关闭。
杀N
终止具有 Socket 编号的会话。 N. 找到 Socket 号。 特定的
session,使用“stats socket”命令。 请参阅下面的“统计数据”。
注意:建议您改用“close N”,因为这只会消除
session,而“close N”会正确关闭它,因为一个好的小 tcpip-emulator 应该
:)
不应该使用“kill -1”,它会杀死它用 -1 找到的第一个会话,其中
通常是命令行连接。
关闭 N
关闭具有 Socket 编号的会话。 N. 与“kill N”相同,但关闭会话
优雅地。 参见“杀死 N”。
统计信息 [ip|socket|tcp|vj|udp|mbuf|tty|alltty|others?]
显示给定参数的统计信息。
选项:
ip 显示 ip 统计信息。
socket 显示当前活动套接字的统计信息。 使用它来找出哪个
关闭/终止会话,因为它还将显示会话的 FD。
tcp 显示 tcp 统计信息(发送、接收的数据包等)。
udp 与 tcp 相同,但用于 udp。
mbuf 显示有多少 mbuf 已分配、正在使用等。如果调制解调器空闲,
并且使用列表上有超过 1 个 mbuf,这表明存在 mbuf 泄漏。
[pty]执行程序
这将执行 PROGRAM,当前的命令行会话将不复存在,
由程序接管。 即:当程序退出时,您将不会得到命令-
线回来,会议将(应该)结束。
套接字 [端口,密码]
创建一个 Unix 域套接字和 listen() 以连接更多接口。 这也是
需要重启。 如果您想使用 Internet,请提供参数 PORT,PASSWORD-
域套接字而不是 UNIX 域套接字。
日志开始
将所有启动输出记录到文件 .slirp_start。
添加 emu SERVICE[:TYPE_OF_SERVICE] [lport:]fport
告诉 slirp 在端口 lport/fport 上模拟 SERVICE。
选项:
SERVICE
可以是:ftp、ksh、irc、无。
服务类型
可以是:吞吐量、低延迟。
LPORT 如果该服务需要模拟服务器,则可以提供。
示例:添加 emu ftp 8021
如果你想 ftp 到端口 8021 上的某个地方。
示例:添加 emu ftp 8021:0
如果您的家庭 ftp 服务器在端口 8021 上。注意:这并不意味着如果您重定向端口
8021 用于您的 ftp 守护程序,它指的是 ftpd 正在侦听的 AT HOME 端口
至。
示例:添加 emu none:lowdelay 8000
如果您在端口 8000 上的某个地方 telnet,并且您希望这些数据包通过 fastq
(即:因此它们具有比 ftp 数据包更高的优先级)。 这告诉 slirp 任何
发往端口 8000 的数据包不会有任何仿真,但会被设置
IPTOS_LOWDELAY。
DNS DNS_IP
如果您想使用 10.0.2.3 作为 DNS 的别名,请将其提供给 slirp,并且 slirp 猜测
启动时 DNS 错误。
技术 主题
Special 地址
所有 10.0.2.xxx 形式的地址都是 Slirp 的特殊地址(这可以用
“特殊地址”命令)。 以下是对每个地址的说明
意思:
10.0.2.0
这是Slirp“在线”配置地址。 当您 telnet 到 10.0.2.0 时
可以关闭连接、配置 Slirp、重定向端口等。
跑步。 有关如何使用的详细信息,请阅读“配置 SLIRP”部分
本。
10.0.2.1
这是 Slirp 用来执行程序的地址。 例如,如果你给
滑动命令“添加 exec / bin / ls:23",当连接到 10.0.2.1 时
端口 23,Slirp 将执行 / bin / ls 并将输出重定向到该连接。
例如,使用“添加 exec / bin / ls:23", 如果你 telnet 到 10.0.2.1(telnet 使用端口 23)
您将获得 Slirp 启动目录中的文件列表。 另一个例子
可能是“添加 exec /path/to/nntpd:119”。 现在您可以告诉您的新闻阅读器使用
10.0.2.1 作为新闻主机,它将实际连接到正在运行的程序
“ntpd”。
10.0.2.2
这是远程主机的别名。 当您连接到 10.0.2.2 时,您将
实际连接到运行 Slirp 的主机。 如果您的外壳,这很有用
帐户可以在不同的主机上,10.0.2.2 总是意味着主机 Slirp 是
继续运行。
10.0.2.3
这是您的 DNS 的别名。 Slirp 将尝试找出您的 DNS 地址并
发送到 10.0.2.3 的所有数据都将重定向到您的 DNS 地址,因此您可以知道
您的 TCP/IP 软件使用 10.0.2.3 作为您的 DNS。 如果您的
从多个主机运行 Slirp; 您无需为每个主机更改 DNS。
10.0.2.15
这是 Slirp 推荐在您的 PC 上使用的地址。 然而这是
只是一个建议,Slirp 不在乎您使用什么地址。
港口 重定向
端口重定向是 TCP/IP 仿真器中的一个重要概念,因为它允许其他
人们连接到您的 PC,以及允许某些程序正常工作
不会工作。
创新中心 do I 重定向 a 港口?
首先你需要意识到在Slirp下,互联网上没有人可以寻址你的PC
直接,因为您没有其他人可以看到的 IP 地址。 他们的唯一途径
可以通过远程主机(运行 Slirp 的地方)与您联系。
这与端口重定向有什么关系? 很多。 对于互联网上的其他人
能够连接到您的 PC,Slirp 需要侦听特定端口上的连接
远程主机,然后“重定向”此连接并将其连接回您的 PC。
例如,假设您在 PC 上运行 FTP 服务器,并且您希望其他人能够
连接到它,获取文件,上传文件等。你需要做的是选择一个端口
号,任何大于 1024 的端口号(出于安全原因),并告诉 Slirp
该端口上的连接实际上是到您的 FTP 服务器的连接。 你用
“redir”命令。
对于此示例,假设您选择 5555 作为要重定向的端口(这可以是任何数字,
前提是没有其他人使用它)。 你只需给 Slirp 命令:
重定向 5555 21
第二个参数 21 是 FTP 使用的端口。 你也可以使用
命令:
重定向 5555 ftp
并且 Slirp 会找出“ftp”的意思是 21。这个命令基本上是在告诉 Slirp
“在端口 5555 上与该主机(运行 Slirp 的地方)的任何连接都是真正的连接
到端口 21(FTP 服务器使用的端口)上的家用 PC”。
现在您只需告诉其他人连接到远程主机(运行 Slirp 的地方),
在 Internet 上可见,在端口 5555 上,它们将连接到您的 FTP 服务器。
当程序使用特定端口进行通信时,也会使用相同的技术,例如
例如 Kali,一个基于 TCP/IP 的 IPX 模拟器,允许用户通过网络运行 IPX 游戏
互联网。 Kali 使用 UDP 端口 2213 进行通信,以便其他人能够发送
将数据包通过 UDP 端口 2213 发送到您的 PC,您需要执行以下操作:
重定向 UDP 2213 2213
现在所有发往 UDP 端口 2213 上的远程主机的数据包都将发送到您的 PC
端口2213。
相当常见 港口 重定向
这是需要端口重定向才能工作的程序列表。 YOUR_PC_ADDRESS 指的是
到您分配给 PC 的 IP 地址。 如果未提供,则假定为 10.0.2.15。
卡利
重新分配 udp 2213 YOUR_PC_ADDRESS:2213
(注意:您还必须将 PC 的 IP 地址设置为与远程主机相同的 IP 地址
(Slirp 正在运行的地方))
iPhone
重新分配 udp 22555 YOUR_PC_ADDRESS:22555
流工场
重新分配 udp 8000 YOUR_PC_ADDRESS:8000
(8000 是可配置的)
哇哇
重新定向 TCP 13223 YOUR_PC_ADDRESS:13223
网络电话
重新定向 TCP 21845 YOUR_PC_ADDRESS:21845
重新分配 udp 21845 YOUR_PC_ADDRESS:21845
(注意:WebPhone 同时使用 tcp 和 udp 端口 21845。另外,您可能需要设置
将您的 PC 的地址设置为与 RemoteHost 相同的 IP 地址以获得完整
功能)
请让我知道其他需要像上述那样重定向的程序。 看
“获得帮助”以获取有关如何与我联系的详细信息。
设置 这个 波特率 附加选项
Slirp 的“波特率”选项引起了一些混乱。 本节将准确解释
它的用途是什么以及如何使用它。
当通过调制解调器向您的 PC 发送数据时,Slirp 需要知道它可以发送多少数据
在没有“饱和”链接的情况下结束。 如果 Slirp 发送尽可能多的数据,
操作系统会缓冲很多 - 20k 并不少见。 这可能会严重
如果您碰巧同时通过 FTP 访问文件,则“滞后”任何 telnet 连接。 这是
因为当您键入一个字符时,您将不会在屏幕上看到该字符,直到
另一端向您发送“回声”,因此如果缓冲了 20k 的数据,您将
需要等到收到 20k 数据后才能在屏幕上看到该字符。
为了解决这个问题,Slirp 使用“波特率”选项来限制它发送的数据量
通过链接防止操作系统缓冲太多。 所以如果你
给 Slirp 一个 14400 的“波特率”,Slirp 将以 14400 波特率调制解调器发送数据(与
无压缩)。
一般来说,建立连接的波特率应该是你的“波特率”
给 Slirp。 因此,例如,如果您以 14400 波特连接,您应该给 Slirp
选项“波特率 14400”。 但是,由于当今大多数调制解调器都进行压缩(v.42bis),因此
Slirp 很难知道要发送多少数据以保持链接“完整”,但要防止
操作系统缓冲过多。
因此,您应该选择适合您需要的“波特率”:如果您使用 telnet a
下载压缩文件时,您应该将“波特率”设置为与
连接调制解调器的速度。 下载压缩文件应该不会有问题,telnet
session 的响应会更快。 但是,通过调制解调器发送文本不会像
快,因为您的调制解调器将压缩数据并以比 Slirp 预期的更快的速度发送数据。
提供与 CONNECT 速度相同的“波特率”将有效地关闭调制解调器
压缩。
如果你不经常使用telnet,你应该把你的“波特率”设置为最大
您的调制解调器可以达到的理论速度。 例如,如果您在 14400 连接并使用 v.42bis
压缩,最多可压缩 4 倍,您应该将“波特率”设置为 14400*4 =
57600。这将确保任何可压缩的数据都将被压缩,并且最大
将获得吞吐量,代价是 telnet 会话几乎
如果您碰巧同时下载文件,则无法使用。
但请注意,您可以随时更改“波特率”设置。 只需 telnet 即可
10.0.2.0 并输入“baudrate XXX”,Slirp 将改变发送数据的速率。
这可能很有用,例如,如果您正在下载大量压缩文件,但在
中间下载你要阅读的邮件。 只需将“波特率”更改为 CONNECT
速度,完成后,将其改回最大理论速度。
另外,请记住,“波特率”也用于其他计算。 例如,
如果有很多连接,Slirp 会尽量公平,每次发送一个数据包
以循环方式连接。 这使所有连接“顺畅”而不是
为一个连接发送一堆数据包,然后为另一个连接发送一堆数据包
连接等。但如果“波特率”太高,这正是会发生的事情。
数据包优先级选择也使用“波特率”; 即,如果有数据包排队
准备好从 FTP 连接和 telnet 连接发送,telnet 数据包
将首先发送。 但同样,这仅在“波特率”反映数量时才有效
Slirp 可以发送的数据的数量,如果将其设置为最大理论值,通常不会工作
连接速度。
所以这里是我的提示:
* 如果你下载了很多压缩文件,偶尔使用telnet,或者其他
“交互式”程序,将您的“波特率”设置为您的 CONNECT 速度(因为已经
压缩文件不会再用调制解调器压缩来压缩,所以你
由于调制解调器压缩,不太可能获得更快的下载);
* 如果您主要使用 telnet 或其他“交互式”程序,并且您偶尔
下载一些压缩文件,将你的“波特率”设置为最大理论速度
(因为 telnet 会话通常是文本,压缩得很好,因此屏幕
更新会更快。 只有下载压缩文件时才会体验
严重滞后);
* 如果您主要浏览网页(例如,使用 Netscape 等),那么您应该设置您的
“波特率”到理论最大速度(因为 Web 中有很多文本
非常可压缩的文档,并且没有 telnet 会话,因此延迟不会
有问题);
我个人将波特率设置为 14400,这是我的调制解调器连接的速度,甚至
尽管调制解调器进行 v.42bis 压缩。 压缩文件下载速度一样快,而且
FTP 下载期间的 telnet 会话响应速度惊人。 自己试试,
有一个不同的世界。
问题, 问题, AND 答案
哪 程式 do 而不去 工作 超过 溜?
任何绑定()端口的程序,然后告诉连接的另一端它们在哪里
应该连接()到这个绑定端口。
例如,当您在 FTP 会话期间“获取”一个文件时,FTP 客户端 bind()'a
套接字,查看套接字绑定到哪个端口,然后告诉 FTP 服务器
此套接字的地址和端口(使用 PORT 命令)。 FTP服务器然后connect()的
到这个地址/套接字对。
现在,由于您的机器并未真正连接到 Internet,因此这个 connect() 请求将不会
到达您的主机,所以它不会工作。
Slirp 通过在 Internet 上*是*的服务器上绑定()它自己的端口来模拟这一点,
并告诉 FTP 服务器关于*那个*地址/套接字对。 当服务器 connect() 到
它,然后 Slirp 将连接回您的机器。
目前,模拟了以下程序:
登陆
FTP
KSH
irc(用于 /dcc)
真实音频
谈话/ytalk/ntalk
看我
故障排除
症状:
连接将“冻结”。 例如,在 WWW 上下载图片时,它会
中途停止,没有连接将继续。
诊断:
您可能没有 8 位干净的链接。
治愈:你应该尝试从你的系统管理员那里找出哪些字符需要
“转义”,然后使用“asyncmap”和“escape”命令告诉Slirp有关它们的信息。
请注意,您需要使用 PPP 才能使其工作。 (测试8bit的一种方法
清洁是使用 Z-Modem 下载二进制文件。 如果文件没有
它,您有一个“脏”链接)。
您可以尝试的一件事是将 Slirp 运行为:
slirp "asyncmap ffffffff" "escape ff"
(包括引号!)这将告诉 Slirp 逃避最常见的“讨厌的
字符。
症状:
您可以使用数字地址(格式为 aa.bb.cc.dd)连接到主机,但是
当您使用主机名(例如:ftp.cdrom.com)时,您无法连接到主机。 它
通常会因 DNS 错误而超时。
诊断:
您可能没有正确设置您的 DNS 地址。
解决方法:尝试将您的 DNS 地址设置为 10.0.2.3。 这应该适用于大多数情况。
如果失败,请转到您的 shell 提示符并键入“nslookup”。 这应该打印
DNS 服务器的地址和主机名。 使用数字 IP 地址作为您的 DNS。
不要使用主机名。
如果您仍然找不到您的 DNS 地址,请询问您的系统管理员。
快速 至 频繁 问 有疑问吗? (常见问题)
一季度。 我可以通过 Telnet 或 Rlogin 使用 Slirp 吗?
A1. 是的,通常。 但这在很大程度上取决于您的情况。
Slirp 通常不能通过 telnet 工作的原因是因为 ^] 字符
由 telnet 客户端解释,0xff 由服务器解释。 当你
可以告诉 Slirp 在使用 PPP 时转义这些字符,这可能是不可能的
让您的本地 PPP 软件转义大于 ASCII 31 的字符。 Rlogin
也解释了 ~ 字符,这可能会干扰 PPP(特别是
考虑到 ~ 是 ASCII 0x7e,它被 PPP 用作“数据包的结尾”
特点”)。
如果您的 PPP 软件无法转义这些字符,或者您正在使用 (C)SLIP
(必须有一个 8 位的干净链接),你最好的办法是尝试建立链接
8位干净。 例如,在某些系统上,您可以给 telnet 一个 -8 标志来使
链接 8bit 和 -E 以阻止它解释 ^] 字符。 同样对于
登录; -8 使链接为 8 位,-E 停止 rlogin 解释 ~
特点。 您应该查看 telnet 和 rlogin 手册页(“man telnet”和
“man rlogin”),看看你的 telnet/rlogin 是否有类似的选项。
另一种可能的解决方案是使用 Slirp 在多个主机上工作的能力。
有关更多详细信息,请参阅 slirp.doc 文档。
Q2。 如何在另一台主机上运行 X 程序并将其显示在我的 PC 上?
A2。 使用“redir X”命令 ~/.slirprc。 这将重定向用于 X 的端口
程式。
在启动时,Slirp 应该打印如下内容:
X Redir:在 sh/bash/zsh/etc. 类型:显示=IP.地址:XY; 出口显示
X Redir:在 csh/tcsh/etc 中。 类型:setenv DISPLAY IP.ADDRESS:XY
现在,当您 telnet 到要从中运行 X 程序的主机时,您应该这样做
正如上面 Slirp 所建议的那样; 键入两个命令之一,具体取决于哪个 shell
您正在使用。 您还可以将 X 程序作为“xprog -display IP.ADDRESS:XY”运行
如上印。
如果您错过了启动时 Slirp 显示的内容,您可以 telnet 到 10.0.2.0 并给出
滑动命令“show X”,就会打印出上面的内容。
请注意,您还必须确保您的 X 服务器将接受该连接。 看
xhost 和 Xsecurity 的手册页。 发出诸如“xhost”之类的命令时要小心
+",这将允许任何人连接到您的 X 服务器并执行任何操作
他们要。
Q3。 当我运行“talk”或“wintalk”等时,我可以向其他人发送请求,但是
他们无法向我发送请求。 为什么?
A3. 您将无法接收通话请求,期间。 这是因为 Slirp 从不
查看传入的通话请求; 它直接通过调制解调器发送,很可能
用它破坏任何传入的数据包(必须重新传输)。
Slirp 关闭您的消息,以便尝试与您交谈的人应该收到
“用户拒绝消息”错误。
第 4 季度。 我无法 telnet 到 10.0.2.0,Slirp 控制地址。 怎么了?
A4. 在 slirp.doc 中查看此问题的答案并重新编译 slirp。
Q5. 我在使用 Slirp 时遇到了一些问题,我想尝试自己找出问题所在。
Slirp 有调试工具吗?
A5. 是的。 有关编译时调试选项,请参阅 slirp.doc。
Q6. 如果我闲置时间过长,我的 ISP 会将我注销。 我怎样才能让 Slirp 防止这种情况发生?
A6. 首先,使用 idle-logout 机制是有原因的:防止人
占用未使用的调制解调器。 因此,如果您空闲,请注销并提供
其他人有机会登录。
话虽如此,你可以让 Slirp 使用 TCP keep-alive 定时器来定期探测
每个 TCP 连接。 要激活它,请添加:
活着
您的 〜/.slirprc 文件。 这将使 Slirp 每次探测每个 TCP 连接
一分钟左右。 您可以通过为 keepalive 提供数量来更改此间隔
秒:
保活秒
请注意,如果没有 TCP 连接,则不会发送任何探测。 所以你需要在
至少有一个活动的 TCP 连接才能工作。
抵达 帮助
有多种帮助来源。 首先,阅读前面的章节“故障排除”
和“常见问题解答 (FAQ)”。
如果失败,请尝试 Slirp 主页:
http://blitzen.canberra.edu.au/slirp
那里有许多指向具有特定配置的其他页面的简洁链接
信息。
还有一个专门用于 SLIP 模拟器的新闻组,称为 alt.dcom.slip-emulators。 你
会发现很多关于 Slirp 和其他“SLIP 模拟器”的讨论。 常见问题(经常
问的问题)对于 alt.dcom.slip-emulators 包含在“docs”目录中,我会
建议也读这个。
如果一切都失败了,请给我发送电子邮件至 [email protected] 与以下
信息:
* 命令“uname -a”在远程系统上的输出;
* 您在 PC 上运行的操作系统名称和版本;
* 您正在使用的 Slirp 版本(重要!!!);
* 如果您设法让 Slirp 运行,请以“slirp -S”的形式运行 Slirp,然后尝试任何失败的方法。
当您退出 Slirp 时,您应该有一个名为“slirp_stats”的文件。 把这个文件发给我;
和
*您认为相关的任何其他内容。
*请*包括以上所有信息。 如果你不这样做,我可以简单地按“d”。 我不能
保证有回应,但我会尽力而为。
谢谢
非常感谢你!” 向以下人员寻求帮助创建 Slirp。
Juha Pirkola、Gregory M. Christy,加州大学卡内基分校的董事
梅隆大学、澳大利亚国立大学和 RSA Data Security, Inc.
源代码在整个 Slirp 中使用。 Slirp 不会没有他们。
感谢所有帮助解决错误、建议、代码等的贡献者。阅读
文件 ChangeLog 以准确查看谁帮助了什么。
特别感谢 Chris Metcalf 和 Juha Pirkola 的贡献(见
更改日志)。 他们付出了额外的努力,如果没有他们的帮助,Slirp 就不一样了。
多谢你们!
感谢所有发送非常友好和鼓励的电子邮件的人,这是真诚的
赞赏。
感谢堪培拉大学计算机 UCNet 的所有管理员和负责人
俱乐部(“blitzen”)在他们的机器上给了我一些房地产(blitzen.canberra.edu.au)
一起工作(感谢 Tony Delroy 最初给了我这个帐户)。 嘿! 为什么不
你看看他们的主页 http://blitzen.canberra.edu.au/?
感谢巴西的咖啡(和 Sepultura!:)
多亏了物理定律,宇宙的基石。
版权
Slirp 是由丹尼·加斯帕罗夫斯基 (Danny Gasparovski) 编写的。
版权所有 (c) 1995 Danny Gasparovski。 版权所有。
Slirp 是免费软件; “免费”,因为您不必为此付费,您可以自由地做
随心所欲。 我不接受任何捐赠,无论是金钱还是其他方式,
滑。 相反,我会要求您将这笔潜在捐款转给您最喜欢的慈善机构。
事实上,我鼓励*每个发现 Slirp 有用的人*向他们的
最喜欢的慈善机构(例如,绿色和平)。 这不是要求,而是建议
来自高度重视他们提供的服务的人。
以源代码和二进制形式重新分发和使用,无论是否修改,都是
在满足以下条件的情况下允许:
1.源代码的重新分发必须保留上述版权声明,本列表
条件和以下免责声明。
2. 以二进制形式重新分发必须复制上述版权声明,此列表
文件和/或其他材料中的条件和以下免责声明
提供分发。
3. 所有提及本软件功能或使用的广告材料必须显示
以下确认:本产品包含由 Danny 开发的软件
加斯帕罗夫斯基。
本软件按“原样”提供,并提供任何明示或暗示的保证,包括但
不限于对特定商品的适销性和适用性的暗示保证
目的被否认。 DANNY GASPAROVSKI 或贡献者在任何情况下均不承担任何责任
任何直接、间接、附带、特殊、惩戒性或后果性损害(包括,
但不限于替代品或服务的采购; 丢失使用、数据或
利润; 或业务中断)无论是由何种原因引起的,并且基于任何责任理论,无论是
合同中的严格责任或侵权行为(包括疏忽或其他原因)
不使用本软件的方法,即使已被告知可能发生此类损坏。
这基本上意味着您可以使用该软件做任何您想做的事情,除了 1) 调用它
您自己的,以及 2) 对其提出保修要求。 本软件不提供任何保证。 没有任何。
纳达。 如果您在使用 Slirp 时损失了 XNUMX 万美元,那是您的损失,而不是我的损失。 所以,
***使用风险自负!***。
如果由于法律限制而无法满足这些条件(例如违反
法律以在没有保证的情况下提供软件),您必须停止使用该软件并删除
你拥有的所有副本。
Slirp 使用以下人员/组织拥有版权的代码:
尤哈·皮尔科拉。
格雷戈里 M. 克里斯蒂。
加州大学的董事。
卡内基·梅隆大学。
澳大利亚国立大学。
RSA 数据安全公司
请阅读每个源文件的顶部以了解有关各种版权的详细信息。
使用 onworks.net 服务在线使用 slirp