如何通过 telnet 进入 Facebook 聊天

如何通过 telnet 进入 Facebook 聊天

我能够使用以下信息将 Facebook 聊天与外部应用程序一起使用:

首先,通过以下方式找到您的 Facebook 用户名 http://www.facebook.com/你的用户/。接下来,打开 iChat,然后选择 iChat » 偏好设置并单击帐户选项卡。

单击 + (加号)添加新帐户,并使用以下设置:

* Account Type is Jabber Account
* Account name is [email protected], and enter

您的密码 * 单击下拉箭头显示服务器选项。输入 chat.facebook.com 作为服务器名称。 * 输入 5222 作为端口,然后单击完成。

再次单击“完成”,一切就绪。

从阅读这篇文章来看,似乎可以通过 telnet 进入 Facebook 聊天。我试过了,但没能成功。可能吗?怎么做?

答案1

没有实际的使用 telnet 客户端执行此操作的最佳方式是,因为您必须自己输入所有 XML,这非常不切实际。不过,有几种命令行 XMPP 客户端可用,如这个堆栈溢出问题

Jabber 控制台客户端列表

如果你有兴趣了解 XMPP 协议,我建议你安装皮钦语右键单击 Pidgin 通知图标并从菜单中选择,查看 XMPP 控制台XMPP Console。将显示发送到客户端和从客户端发送的所有 XMPP 消息,包括每个输入通知、状态更新等。它看起来非常有趣,您甚至可以尝试从控制台发送自定义 XMPP 状态代码。

xmpp 控制台 pidgin

答案2

从(非常)有限的测试来看,这似乎是可能的。


运行telnet chat.facebook.com 5222连接,然后继续发送符合以下条件的有效 XMLJabber 协议 规格

$ telnet chat.facebook.com 5222
Trying 69.63.181.105...
Connected to chat.facebook.com.
Escape character is '^]'.
<?xml version="1.0">
<stream>
// here I was looking up auth
Connection closed by foreign host.

请注意,服务器会在您大约一分钟不活动后关闭您的连接,因此临时查找协议并不实际。或者任何与原始 Jabber 相关的内容,因为完美地输入 XML 并不容易,而且一旦您发送格式错误的 XML,连接就会立即关闭。

$ telnet chat.facebook.com 5222
Trying 69.63.181.105...
Connected to chat.facebook.com.
Escape character is '^]'.
<stream>
<?xml version="1.0"?><stream:stream id="5D13A2D5" from="chat.facebook.com" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" xml:lang="en"><stream:error><invalid-namespace xmlns="urn:ietf:params:xml:ns:xmpp-streams"/></stream:error></stream:stream>Connection closed by foreign host

如果你想在聊天时受苦,命令行客户端可能是更好的选择。或者,如果与协议有关,您可以自己创建一个最小客户端,这样您就不必在压力下输入 XML——你不会受到 Telnet 差异的影响

答案3

使用 telnet 可能不会像您希望的那样好用——您可能指的是“原始套接字连接”。如果您非常了解 Jabber 协议,您可以使用 PuTTY 来实现:

  • putty -raw chat.facebook.com 5222

最好的办法是获取一个 Jabber 客户端并使用它连接到主机名 chat.facebook.com。

相关内容