Como fazer o telnet no chat do facebook

2

Consegui usar o bate-papo do Facebook com um aplicativo externo usando as seguintes informações:

First, find your Facebook username by going to http://www.facebook.com/your_user/. Next, Open iChat, then select iChat » Preferences and click on the Accounts tab.

Click on the + (plus) sign to add a new account, with these settings:

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

your password * Click the drop-down arrow to reveal Server options. Enter chat.facebook.com as the server name. * Enter 5222 as the port and click Done.

Click Done again, and you are good to go.

Ao ler isso, parece que é possível fazer um telnet no bate-papo do Facebook. Eu tentei, mas não consegui. É possível? Como?

    
por tony_sid 08.03.2011 / 07:06

3 respostas

6

Não existe uma maneira prática de fazer isso usando um cliente telnet, já que você teria que digitar todo o XML, o que é incrivelmente impraticável. No entanto, existem vários clientes XMPP de linha de comando disponíveis, como discutido em esta pergunta sobre estouro de pilha .

List of Jabber Console Clients

  • centericq
  • Fama IM
  • GNU Freetalk
  • mcabber

Se você estiver interessado em aprender sobre o protocolo XMPP, sugiro que você instale Pidgin e dê uma olhada no console XMPP por direito -clique no ícone de notificação do Pidgin e escolha XMPP Console no menu. Todas as mensagens XMPP enviadas para e do seu cliente serão mostradas, incluindo todas as notificações de digitação, atualização de status, etc. É muito interessante de se ver, e você pode até tentar enviar códigos de status XMPP personalizados a partir do console. / p>

    
por 08.03.2011 / 07:21
1

De testes (muito) limitados, parece possível.

Execute telnet chat.facebook.com 5222 para se conectar e, em seguida, continue enviando um XML válido em conformidade com o Jabber protocol especificação .

$ 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.

Esteja ciente de que o servidor fecha sua conexão em cerca de um minuto de inatividade, portanto, pesquisar o protocolo ad-hoc não é prático. Ou qualquer coisa relacionada ao Jabber cru, como digitar XML na perfeição não é tão fácil, e uma vez que você envia XML malformado, a conexão é fechada imediatamente.

$ 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

Se você quiser sofrer durante uma conversa, um cliente de linha de comando pode ser melhor opção. Como alternativa, crie você mesmo um cliente mínimo, se for sobre o protocolo, para não precisar digitar o XML sob pressão - e você não sofre com as diferenças de Telnet .

    
por 08.03.2011 / 07:16
1

O uso do telnet provavelmente não funcionará tão bem quanto você gostaria - provavelmente significa "uma conexão de soquete não processada". Se você conhece o protocolo Jabber realmente muito bem, você pode fazê-lo com o PuTTY:

  • putty -raw chat.facebook.com 5222

A melhor coisa a fazer é apenas pegar um cliente Jabber e conectar-se ao hostname chat.facebook.com com ele.

    
por 08.03.2011 / 07:17