如何从 telnet 或 SSH 访问 C# 套接字服务器?
我用 C# 创建了一个非常简单的套接字服务器,当给定一个数字时,它会返回双倍的数字。 我正在使用 TCPListener。 该服务器当前与我使用 TCPClient 组合在一起的简单 Winform 客户端一起使用。
我尝试在服务器运行时使用 Absolute Telnet 连接到服务器。 它可以连接,但是 telnet 程序似乎不允许我输入任何文本等。
像这样的基本套接字服务器是否可以通过常规 telnet 或 SSH 客户端应用程序访问? 如果没有,如何才能将这种支持添加到我的服务器上?
I've created a very simple sockets server in C# that, when given a number, returns the number doubled. I'm using TCPListener. This server currently works with a simple Winform client I put together, using TCPClient.
I tried to connect to the server with Absolute Telnet while it was running. It connects, however the telnet program doesn't appear to let me enter any text, etc.
Should a basic sockets server like this be accessible via a regular telnet or SSH client app? If not, what would it take to add that support to my server?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
像 Wireshark 这样的工具非常适合调试网络 I/O —— 它可以让您近乎实时地准确查看哪些数据包正在进入和离开网络接口。
您肯定不想使用 SSH——您还没有编写任何代码来解释 SSH 身份验证或加密。
A tool like Wireshark is good for debugging network I/O -- it lets you see exactly what packets are entering and leaving your network interface in near real time.
You definitely don't want to use SSH -- you haven't coded anything to account for SSH authentication or encryption.
不必要。 存在多种 Telnet 协议,并且默认使用的协议因客户端而异。 Windows Telnet 假定它是纯文本协议(直接 TCP 数据传输),直到它看到一些被识别为 telnet 协议的数据,因此如果您想测试您的此应用程序,请尝试这样做。 请记住,如果本地回显已关闭并且您的服务器不回显,则在您键入时不会显示任何内容。
尝试确定您正在使用的 SSH 和 Telnet 客户端正在运行的协议并查找它们的 RFC。
Not necessarily. There are several Telnet protocols in existence and it varies from client to client which one is used by default. Windows Telnet assumes it's a plain text protocol (straight TCP data transfer) until it sees some data it recognizes as a telnet protocol so if you want to test this app of yours try that. Keep in mind as you type nothing will show up if local echo is turned off and your server doesn't echo.
Try to determine the protocols that the SSH and Telnet clients you're using are running and look up their RFCs.
您是否打开了“本地回显”?
Do you have "local echo" turned on?