我正在寻找一个MUD客户端应用程序,它连接到telnet服务器上托管的MUD.对我来说唯一重要的是它可以在任何操作系统上轻松有效地运行.除了这个要求,我并没有真正以任何语言出售.
所以我正在寻找一个免费的telnet客户端库,我可以在其上建立我的应用程序,所以我不必过多地处理协议的细节.
我有一个项目本质上是一个游戏服务器,用户通过telnet连接和发送文本命令.
代码是在C中,非常古老和非模块,并有几个错误和缺少功能.仅主要功能是代码的一半.
我得出的结论是,使用Twisted在Python中重写它实际上可以带来更快的完成,除了其他好处.
所以,问题是:我应该使用哪些软件包和模块?我在"protocols"包中看到了一个"telnet"模块.我还看到"cronch"包带有"ssh"和另一个"telnet"模块.
我是Python的完全新手.
我想知道是否有人有使用3270协议检索数据的经验.到目前为止我的理解是:
我需要使用telnet连接到SNA服务器,发出命令,然后返回一些数据.我不确定这个连接是如何建立的,因为我读过标准的telnet连接不起作用.我还读到IBM有一个库可以提供帮助,但没有找到更多关于它的信息.
我假设返回的数据是一个1920字符的字符串,因为3278屏幕是80x24字符.我只需要将这些字符解析到适当的字段中.关于3270 protcol我读的越多,情况就越少 - 我在提供的Jagacy 3270 Java库试验文档中读到了属性在协议中标记的属性和属性之前的字符'A'理解是有更多的字符表示其他因素,例如字段是否可编辑.
我有理由相信我的想法太简单了.举个例子来看一个包含项目列表的屏幕 - 在24个可见行中的一个上按一个特殊键,向下钻取有关该行的更详细信息.
还有人建议我可以发出打印命令.这有一些积极的影响 - 如果返回的字符串的格式不是1920,因为它包含这些字符,例如'A'表示用户如何与终端交互,打印将根除这些.此外,它将不再需要翻阅大量数据.另一方面,我不知道如何从print命令中将数据检索回Java.
我目前无法访问SNA服务器,但有一些屏幕截图显示终端在获得连接后将会是什么样子,因此将开始解析.有这么多的假设,而不是很多关于数据看起来像什么的想法,我感到非常难过.有没有人知道这些系统可能会帮助我回到正轨?
有谁知道一个简单的telnet服务器?
我想嵌入我的应用程序并设置我自己的命令简单而不复杂.
我正在使用Python模块telnetlib来创建一个telnet会话(使用国际象棋服务器),我遇到了一个问题,我真的无法包围我的大脑.以下代码完美运行:
>>> f = login("my_server") #code for login(host) below.
>>> f.read_very_eager()
Run Code Online (Sandbox Code Playgroud)
这会吐出服务器通常在登录时打印的所有内容.但是,当我把它放在一个函数中,然后调用它:
>>> def foo():
... f = login("my_server")
... return f.read_very_eager()
...
>>> foo()
Run Code Online (Sandbox Code Playgroud)
我什么都没得到(空字符串).我可以检查登录是否正确执行,但由于某种原因我看不到文本.它吞噬了哪里?
非常感谢.
为了完整性,这里是登录(主机):
def login(host, handle="guest", password=""):
try:
f = telnetlib.Telnet(host) #connect to host
except:
raise Error("Could not connect to host")
f.read_until("login: ")
try:
f.write(handle + "\n\r")
except:
raise Error("Could not write username to host")
if handle == "guest":
f.read_until(":\n\r")
else:
f.read_until("password: ")
try:
f.write(password + "\n\r")
except:
raise Error("Could not write password to host") …
Run Code Online (Sandbox Code Playgroud) 当我使用telnet查看我的网页时,我在输出中得到了这些奇怪的数字/字母.这不会发生在浏览器中,它们肯定不在我的源代码中.我检查了其他网站,但他们没有.有什么想法吗?他们是垃圾吗?我怎么能摆脱他们?
telnet www.mysite.com 80
GET/HTTP/1.1
主机www.mysite.com
网页的某些部分是可以的,但其他部分看起来像这样(我用粗体突出显示):
51
<ul>
<li><a href="/path/to/file
1b
">Link name</a></li>
<li><a href="/path-to-another-file
2a
编辑:更多信息请求
Apache 2和CGI(C)
动态生成
我有非常简单的聊天服务器(Java上有100行代码),它运行正常.当我在localhost上使用Telnet测试它时,一切都很好.当我让一些朋友用telnet测试它时(telnet <myIP> <port>
我分配的端口是5555,服务器在我的PC上运行静态IP)一切都很好,但是我的一个朋友收到了错误
无法在端口23上打开与主机的连接:连接失败
当他试图连接时.每个防火墙,防病毒和反间谍软件都从双方关闭.为什么我的一些朋友会联系而不是他呢?问题出在哪里:是在服务器上还是在他的PC上?
我需要telnet到服务器,执行一些脚本,为这些脚本提供输入并接收输出.我可以直接使用Runtime.exec()并提供telnet命令或者我是否需要了解套接字?我理解在exec()方法中,我可能需要在2个线程中进行输入和输出,是吗?
谢谢
我可以通过PuTTY访问telnet服务器,它打开一个终端,允许我发送命令来检索数据/日志和启动/停止进程.我想开始研究如何通过C++访问这个服务器,以便自动化连接和测试命令.基本上我需要一个telnet客户端,它可以连接和验证自己,并且可以像写入终端一样在服务器上写入和读取.我应该在哪里开始我的研究?我尝试了几个例子,包括:
http://lists.boost.org/boost-users/att-40895/telnet.cpp
当我编译并运行时
./telnet 192.168.1.26 23
Run Code Online (Sandbox Code Playgroud)
什么都没发生,但当我用PuTTY连接到服务器时,我得到:
QNX Neutrino (localhost) (ttyp0)
login: root
password:
#
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
注意:
- 我正在使用运行OS X版本10.7.3的Mac和i686-apple-darwin11-llvm-gcc-4.2
- 我被允许这样做.
- 我在Windows 7机器上使用PuTTY,连接是以太网到USB以太网适配器,本地连接属性> TCP/IPv4属性的设置:是特定的IP地址,子网掩码和默认网关,可能是有用的信息.
谢谢
telnet 10.0.0.22 3389(用于检查rdp端口)我想创建一个批处理文件,用于检查两个或三个端口,所以我创建了一个.bat文件,我写的
telnet 10.0.0.22 1158 >> C:\result\telnetresult.txt
telnet 10.0.0.22 3389 >> C:\result\telnetresult.txt
telnet 10.0.0.22 1159 >> C:\result\telnetresult.txt
Run Code Online (Sandbox Code Playgroud)
但它不起作用.你能说明我在哪里做错了,或者是否有其他选择/解决方法.我还尝试使用以下命令创建另一个.bat文件.Telnet设置日志文件c:\ log.txt
Open 10.0.0.22 80
open 10.0.0.22 1158
open 10.0.0.22 3389
Run Code Online (Sandbox Code Playgroud)
但它也没有用.