{"id":118,"date":"2004-05-23T01:56:29","date_gmt":"2004-05-22T23:56:29","guid":{"rendered":"http:\/\/www.marblestation.com\/blog\/?p=118"},"modified":"2012-04-26T19:11:28","modified_gmt":"2012-04-26T17:11:28","slug":"envio-de-archivos-con-gaim-protocolo-jabber-desde-red-local","status":"publish","type":"post","link":"https:\/\/www.marblestation.com\/?p=118","title":{"rendered":"Envio de archivos con gaim protocolo jabber desde red local"},"content":{"rendered":"<p>Ya he conseguido que funcione el envio de archivos con <a href=\"http:\/\/gaim.sf.net\">gaim<\/a> y protocolo jabber. Con la ayuda del sniffer <a href=\"http:\/\/www.ethereal.com\/\">Ethereal<\/a> he observado como funciona el protocolo jabber para el envio de archivos y he visto que el que intenta enviar un archivo realiza una petici\u00f3n similar a:<\/p>\n<pre>\r\n&#60;query xmlns='http:\/\/jabber.org\/protocol\/bytestreams' sid='XXXXXXX'>\r\n  &#60;streamhost jid='Marble@bulmalug.net\/Gaim' host='192.168.0.5' port='5500'\/>\r\n&#60;\/query>\r\n<\/pre>\n<p>Como se puede observar esta diciendo que se conecte al puerto 5500, ip 192.168.0.5!!! Es decir, da la ip interna de la red local a los usuarios que estan en internet que por supuesto no se van a poder conectar, deberia dar la ip p\u00fablica. Para solucionarlo en el gaim vamos a Herramientas -> Preferencias -> Red, se desactiva autodetectar y donde se especifica la IP P\u00fablica he puesto un dominio din\u00e1mico que se actualiza cada vez que me conecto a internet. En el rango de puertos he puesto entre 5500 y 5502, por supuesto he hecho que el firewall (iptables) del gateway de mi red redirija esos puertos a mi m\u00e0quina y que el firewall de mi m\u00e0quina acepte el trafico.<\/p>\n<p>A continuaci\u00f3n se puede ver que la petici\u00f3n jabber envia el host que apunta a mi IP:<\/p>\n<pre>\r\n&#60;query xmlns='http:\/\/jabber.org\/protocol\/bytestreams' sid='XXXXXXX'>\r\n  &#60;streamhost jid='Marble@bulmalug.net\/Gaim' host='hostvirtual.homeip.net' port='5500'\/>\r\n&#60;\/query>\r\n<\/pre>\n<p>Quien tenga ip din\u00e1mica como yo y quiera un dominio que apunte siempre a su ip (se ha de actualizar cada vez que se realiza una nueva conexion a internet) puede conseguirlo en <a href=\"http:\/\/www.dyndns.org\">dyndns<\/a> y usar <a href=\"http:\/\/burry.ca:4141\/ddclient\/\">ddclient<\/a> para actualizar la ip de forma autom\u00e0tica.<\/p>\n<p>Os pongo las reglas del firewall iptables por si a alguien le interesa:<\/p>\n<p>En el gateway que tiene acceso a internet:<\/p>\n<pre>\r\n$IPTABLES -t filter -A INPUT -i $INTERNET_INTERFACE -p tcp --dport 5500:5502 -j ACCEPT\r\n$IPTABLES -t nat -I PREROUTING 1 -i $INTERNET_INTERFACE -p tcp --dport 5500:5502 -j DNAT --to-dest 192.168.0.5\r\n$IPTABLES -I FORWARD 1 -p tcp -i $INTERNET_INTERFACE --dport 5500:5502 -d 192.168.0.5 -j ACCEPT\r\n<\/pre>\n<p>En el ordenador donde se ejecutara gaim configurado para que escuche en los puertos 5500-5502:<\/p>\n<pre>\r\n$IPTABLES -t filter -A INPUT -i $LAN_INTERFACE -p tcp --dport 5500:5502 -j ACCEPT\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ya he conseguido que funcione el envio de archivos con gaim y protocolo jabber. Con la ayuda del sniffer Ethereal he observado como funciona el protocolo jabber para el envio de archivos y he visto que el que intenta enviar un archivo realiza una petici\u00f3n similar a: &#60;query xmlns=&#8217;http:\/\/jabber.org\/protocol\/bytestreams&#8217; sid=&#8217;XXXXXXX&#8217;> &#60;streamhost jid=&#8217;Marble@bulmalug.net\/Gaim&#8217; host=&#8217;192.168.0.5&#8242; port=&#8217;5500&#8217;\/> &#60;\/query> &hellip; <a href=\"https:\/\/www.marblestation.com\/?p=118\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Envio de archivos con gaim protocolo jabber desde red local<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,6],"tags":[],"class_list":["post-118","post","type-post","status-publish","format-standard","hentry","category-espanyol","category-tecnologia"],"_links":{"self":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=118"}],"version-history":[{"count":1,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/118\/revisions"}],"predecessor-version":[{"id":1806,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/118\/revisions\/1806"}],"wp:attachment":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}