{"id":198,"date":"2010-05-14T00:46:18","date_gmt":"2010-05-13T23:46:18","guid":{"rendered":"http:\/\/www.zigbe.net\/?p=198"},"modified":"2010-05-14T00:46:18","modified_gmt":"2010-05-13T23:46:18","slug":"zigbee-buscando-un-sniffer","status":"publish","type":"post","link":"https:\/\/blog.whatsbee.net\/?p=198","title":{"rendered":"Zigbee: \u00bfNecesito un sniffer?"},"content":{"rendered":"<div class=\"mceTemp mceIEcenter\">\u00a0<\/div>\n<p>Como dec\u00edamos ayer &#8230; ( \u00a9 <a href=\"http:\/\/curistoria.blogspot.com\/2008\/04\/fray-luis-de-len-como-decamos-ayer.html\" target=\"_blank\">Fray Luis de Le\u00f3n siglo XVI<\/a>) nuestro objetivo es ver que pasa en la red Zigbee.<\/p>\n<p>Lo que necesitamos es un <a href=\"http:\/\/es.wikipedia.org\/wiki\/Packet_sniffer\" target=\"_blank\">network sniffer<\/a>\u00a0(en lo sucesivo sniffer). Un sniffer es un programa que captura las tramas de la red y las muestra de una forma mucho m\u00e1s visible para su an\u00e1lisis. He buscado, buscado y buscado&#8230;, el cl\u00e1sico Wireshark me ha parecido una buena opci\u00f3n, pero he tenido serios problemas porque el origen de la captura no es una tarjeta de red. Hay un mont\u00f3n de sniffers, pero son propios de cada entorno de desarrollo y DIGI no tiene ninguno. He descargado aplicaciones comerciales (de pago) que en su versi\u00f3n de demo no funcionan en modo \u00ablive\u00bb, todas ellas son capaces de analizar un fichero con tramas, pero no de recoger las tramas directamente del coordinador. En otros casos he estado envi\u00e1ndome correos electr\u00f3nicos con los fabricantes para probar su demo, pero tampoco he sido capaz, en unas me faltaba el c\u00f3digo de instalaci\u00f3n, en otras el servidor no verificaba el c\u00f3digo suministrado por el fabricante, en definitiva un infierno.<\/p>\n<p>Al final he encontrado uno, el <a href=\"http:\/\/www.albedo.biz\/download\/flexipanel\/prog\/15.4_Sniffer.zip\" target=\"_blank\">AD Pixie Sniffer<\/a>. Sinceramente es la que tiene el peor aspecto est\u00e9tico de todas, pero he llegado a la conclusi\u00f3n que en\u00a0las otras aplicaciones,\u00a0detr\u00e1s de tanta belleza, hay una complejidad que impide que funcionen de forma sencilla, yo solo quer\u00eda ver los paquetes.<\/p>\n<p>El AD Pixie Sniffer no me reconoce mi Xstick de DIGI, es bastante l\u00f3gico, la licencia del AD Pixie es gratuita siempre y cuando se utilice con uno de sus productos y eso es perfectamente detectable en las tramas.<\/p>\n<div id=\"attachment_199\" style=\"width: 458px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/XStick_highres.jpg\"><img aria-describedby=\"caption-attachment-199\" loading=\"lazy\" class=\"size-full wp-image-199\" title=\"XStick_highres\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/XStick_highres.jpg\" alt=\"\" width=\"448\" height=\"269\" srcset=\"https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/XStick_highres.jpg 448w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/XStick_highres-300x180.jpg 300w\" sizes=\"(max-width: 448px) 100vw, 448px\" \/><\/a><p id=\"caption-attachment-199\" class=\"wp-caption-text\">XSitck de DIGI (Fuente: http:\/\/www.digi.com\/)<\/p><\/div>\n<p>En realidad aunque el AD Pixie funcionara con este USB Dongle solo podr\u00edamos ver las tramas que llegan a la capa de aplicaci\u00f3n, tengo curiosidad tambi\u00e9n por ver como son las tramas que forman la red.<\/p>\n<p>En el mundo Ethernet una tarjeta que es capaz de recoger todos los paquetes de la red se dice que funciona en modo promiscuo, en contra de la creencia popular de que una tarjeta que funciona en este modo es capaz de leer los paquetes \u00abde las otras\u00bb, esto no es exactamente as\u00ed. Recordemos que en general en una red el medio es compartido, como norma general la capa f\u00edsica de la tarjeta se descartan todos los paquetes que no van dirigidos a la misma o son de broadcast y los paquetes que van dirigidos a las capas m\u00e1s inferiores del stack no llegan a la capa de aplicaci\u00f3n (Exactamente lo que nos pasaba con Zigbee). La tarjeta en modo promiscuo es capaz de traspasar a las capas m\u00e1s altas todas las tramas que llegan a su medio, independientemente de a que tarjeta vayan dirigidas. El objetivo es mostrar gr\u00e1ficamente todos los p\u00e0quetes de la red.<\/p>\n<p>En realidad a d\u00eda de hoy esto no permite ver todos los paquetes. Originalmente en las redes de cable coaxial todo el tr\u00e1fico estaba concentrado en el mismo medio aunque\u00a0en las redes m\u00e1s grandes hab\u00eda alg\u00fan bridge que filtraba el tr\u00e1fico. Actualmente las redes tienen switches que son capaces de filtrar el tr\u00e1fico entre sus \u00abpatas\u00bb, por lo que los datos recogidos por unas tarjeta en modo promiscuo son los del dominio de colisiones en los que\u00a0est\u00e1 instalada, no es capaz de atravesar un switch si no se ha configurado previamente para que pase el tr\u00e1fico de forma transparente.<\/p>\n<p>Y esto&#8230; \u00bfc\u00f3mo funciona en Zigbee?&#8230; Pues, si tenemos en cuenta que el medio de transmisi\u00f3n es el aire y\u00a0que en el aire no hay\u00a0diferentes dominios de colisiones,\u00a0cualquier m\u00f3dulo Zigbee que sea capaz de pasar a la capa de aplicaci\u00f3n todos los paquetes que pasen por el aire, nos servir\u00e1 para nuestro prop\u00f3sito (Insisto de nuevo, es pura deducci\u00f3n, no he encontrado informaci\u00f3n sobre este asunto, pero estar\u00e9 encantado de aceptar correcciones).\u00a0 Para conseguir que todos los paquetes\u00a0pasen a la capa de aplicaci\u00f3n lo que nos hace falta es un m\u00f3dulo con una versi\u00f3n de firmware pensada para esto, aunque no se si en el mundo Zigbee esto se llama modo promiscuo o de otra forma.<\/p>\n<p>El m\u00f3dulo adecuado para el AD Pixie \u00a0es el UZBee de Flexipanel, curiosamente, al\u00a0leer que dentro de este m\u00f3dulo no cabe el SW para que pueda hacer de coordinador, me he hecho una reflexi\u00f3n: Yo estaba\u00a0pensando que el sniffer siempre hac\u00eda de coordinador, pero ahora veo claro que si es capaz de analizar todos los paquetes del medio no es necesario que lo sea, de hecho ni tan solo que forme parte de la red que analiza. Es lo l\u00f3gico, una red Zigbee solo admite un coordinador y podemos querer analizar una red en la que el coordinador sea otro equipo.<\/p>\n<div id=\"attachment_200\" style=\"width: 330px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/UZbee.jpg\"><img aria-describedby=\"caption-attachment-200\" loading=\"lazy\" class=\"size-full wp-image-200\" title=\"UZbee\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/UZbee.jpg\" alt=\"\" width=\"320\" height=\"193\" srcset=\"https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/UZbee.jpg 320w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2010\/05\/UZbee-300x181.jpg 300w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/a><p id=\"caption-attachment-200\" class=\"wp-caption-text\">USB Dongle UZBee plus (Fuente: http:\/\/www.flexipanel.com\/)<\/p><\/div>\n<p>Logicamente al Dongle le tenemos que instalar una versi\u00f3n de firmware especial MACDongle, que entiendo que \u00fanicamente contiene la capa MAC del Stack y que lo que hace es transmitir los paquetes tal cual por el puerto USB emulando un puerto serie.<\/p>\n<p>Una vez m\u00e1s no hay buena disponibilidad en el mercado, ya os contar\u00e9 cuando me llegue&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 Como dec\u00edamos ayer &#8230; ( \u00a9 Fray Luis de Le\u00f3n siglo XVI) nuestro objetivo es ver que pasa en la red Zigbee. Lo que necesitamos es un network sniffer\u00a0(en lo sucesivo sniffer). Un sniffer es un programa que captura&hellip; <br \/><a class=\"read-more-button\" href=\"https:\/\/blog.whatsbee.net\/?p=198\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0},"categories":[15,22,23],"tags":[30,176,189,190,199],"_links":{"self":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/198"}],"collection":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=198"}],"version-history":[{"count":0,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/198\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}