Author: Oriol Rius

equivalent de la comanda “grep” en windows: “find”

Reading time: 2 – 4 minutes

Si te hubiera conocido antes… m’he passat mitja vida usant el grep en linux i fins avui no he descobert que en windows existeix el find que serveix pel mateix. Per fi ja puc fer:

 # netstat -an | grep ESTABLISHED<br>C:\>netstat -an | find "ESTABLISHED"

Sputnik: AAA centralitzat en wifi

Reading time: 2 – 3 minutes

sputnik.gifAvui he descobert per casualitat a través del DD-WRT el servei d’AAA que ofereix l’empresa Sputnik a través d’internet, com a servei, venent el software i fins hi tot el
hardware si ens interessa. Realment el tema m’ha semblat molt bona idea. Ja que un WISP podria montar una infraestructura realment molt professional gràcies només a aquest software i a hardware tan econmòmic com el Linksys WRT54GL o d’altre una mica més professional com ara el de mikrotik.

A més ens permet unificar serveis de portal captiu de forma molt senzilla, ja que per exemple, a través de la última versió del firmware DD-WRT del WRT54GL i del client de Sputnik per routerOS de mikrotik. Podriem montar una solució completament integrada. Les avantatges són infinites val la pena donar un tomb per la web de l’empresa i fer volar la imaginació.

Resumint les solucions software d’Sputnik, tindriem això:

  • Embedded software, the Sputnik Agent, running on a growing number of wireless access points (APs) or powerful network gateway
  • Server software, Sputnik Control Center, which runs in your data center, or which we provide as the hosted SputnikNet service
  • Business software Modules, options that enable service providers to charge credit cards, PayPal® accounts, utilize pre-paid cards, or plug into existing RADIUS or Microsoft® Active Directory “single sign-on” systems

A continuació us recomano donar un cop d’ull al següent gràfic que us servirà per aclarir les idees, de com funciona tot plegat.

network_sputnik_powered.png

Realment de tan en tan, troves coses amb les que t’emportes grates sorpreses. Llàstima que no tinc mai prou temps per provar les coses a fons, perquè aquest s’ho val.

IrSimple: el protocol IrDA (infra-roig) es renova

Reading time: 2 – 4 minutes

A través de Mobile Handset Disgn Line m’he enterat que hi ha un nou estàndard infra-roig. De fet, veig molt difícil que arribi a recuperar el terreny guanyat amb el Bluetooth. Però això no treu que val la pena perdre-hi una estona mirant que ens ofereix de bo i quines possibilitats hi ha d’adoportar-lo pels vells dispositius IrDA.

A l’article Improvements in IR communication push it beyond cell phones and PDAs ens fan una introducció de les millores que suposa IrSimple combinat amb el que anomenen “Point & Shoot” que es basa en els protocols FIR (fins a 4Mbps) i amb VFIR (fins a 16Mbps). Combinant ambdues tecnologies s’aconsegueix una eficiència de rediment (throughput) del 90%. Realment espectacular, un exemple de rendiment d’altres protocols els podem veure en la següent taula:

taula.jpg

IrSimple té una estructura molt similar als protocols IrDA ja existents i es poden actualitzar de forma senzilla les implementacions actuals. Usa el perfil OBEX per intercanviar dades entre dos dispositius i només necessita petits ajustos en algunes capes del protocol IrDA: el protocol SMP ofereix serveis de segmentació i re-ensamblat de paquets a la capa superior, OBEX. A la capa inferior IrLMP és el responsable de mantenir els enllaços amb un o múltiples dispositius a la vegada, mantenint una registre dels dispositius descoverts. IrLAP és el protocol que s’usa per descobrir altres dispositius, resoldre els conflictes d’adreces, iniciar la connexió, transferir la informació i assegurar una desconnexió neta. IrLAP especifica la estrcutra dels frames i els bytes dels paquets. El control i correcció d’errors es solucionen a través d’un número de seqüència implementat a la capçalera del paquet.

A la següent taula podem veure la pila de protocols IrDA actual, IrSimple i una solució combinada. Aquesta estructura és vàlida pels estàndards SIR, MIR, FIR i VFIR:

irda.jpg

Si voleu una referència de quines són les velocitats actuals i d’altres detalls dels protocols IrDA existents fins ara podeu donar un cop d’ull a aquest article: The downs and ups of infrared.

Abans d’acabar l’article doneu un cop d’ull a aquesta taula sobre el temps que es triga en passar un parell d’arxius d’exemples amb les diferents tecnologies sense fils actuals, així valorareu millor aquest nou protocol:

taula2.jpg

OneNet – estàndard inal·lambric de baix consum per aplicacions domòtiques

Reading time: 2 – 2 minutes

onenet.gif

Fa molt temps que buscava alguna cosa així, a més no només ho he trobat sinó que recolzat per grans fabricants: OneNet.

ONE-NET is an open design standard for low power wireless optimized for residential and small business control applications. The ONE-NET wireless standard is specifically optimized for very low power, very low cost and very good security. ONE-NET can be implemented with a variety of off the shelf wireless transceivers and microcontrollers.

The ONE-NET community will publish detailed specifications for the physical and networking protocol, source code examples for microcontrollers, schematic reference designs and links to various suppliers that make relevant components and modules.

Use of the ONE-NET standard is royalty free with simple open source licensing. The ONE-NET logo will be used to identify products tested for interoperability and compliance to the standard. The ONE-NET partners have brought the expertise and technology together for a complete royalty free design that will make for better connected homes for everyone.

The ONE-NET website provides a place for implementors and vendors to exchange information, design ideas and relevant news. Included on this website is a discussion board/forum, a FAQ, sample hardware designs and source code. The sample designs can be freely downloaded and used for any application. Specific product marking is available for products which have passed interoperability testing.

TrueCrypt i Onekript – guardant la informació ben guardadeta

Reading time: 2 – 3 minutes

openkript.pngGràcies a l’Oriol fa una colla de mesos vaig descobrir el TrueCrypt que ell usava des de windows. De fet, l’eina em va agradar moltíssim sobretot per la seva simplicitat. Sovint m’he trobat usuaris preocupats per guardar informació confidencial al seu portàtil, pendrive, etc. i no sabia mai quina eina els podia recomanar per fer aquestes tàsques de forma senzilla i la vegada eficient. Doncs bé aquest aplicatiu s’integra molt i molt bé amb windows i és una bona solució a aquest problema.

Tot i esta totalment suportat en linux, el suport genèric només és via CLI, així doncs, es fa una mica engorrós usar-lo des de linux sense tenir al cap tots els paràmetres necessaris per treballar amb l’eina. Doncs bé, avui he descobert OneKript a través de Kriptopolis. Es tracta d’una eina que s’integra amb Konqueror i simplifica moltíssim l’ús de TrueCrypt en linux.

De fet, jo no uso KDE i per tant, fins que això no es suporti en nautilus no tinc cap gran avantatge a l’hora d’usar aquesta eina des de linux, però no volia deixar passar la oportunitat per recomanar un bon software per guardar les nostres dades privades en els dispositius d’enmagatzematge.

Les principals característiques d’aquest software són:

  • Creates a virtual encrypted disk within a file and mounts it as a real disk.
  • Encrypts an entire hard disk partition or a storage device such as USB flash drive.
  • Encryption is automatic, real-time (on-the-fly) and transparent.
  • Provides two levels of plausible deniability, in case an adversary forces you to reveal the password:
    • Hidden volume (steganography – more information may be found here).
    • No TrueCrypt volume can be identified (volumes cannot be distinguished from random data).
  • Encryption algorithms: AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, and Twofish.
  • Mode of operation: LRW (CBC supported as legacy).

UPDATE: updated information about Truecrypt alternatives can be found here.

Script: entrar en un servidor protegit amb iptables

Reading time: 6 – 10 minutes

Un fenòmen molt humà i per tant habitual, quan estem configurant un firewall amb iptables contra un servidor remot al que no tenim accés, posem per cas que esta als EUA, és el de fer-nos fora a nosaltres mateixos al executar l’script que llença les regles de filtrat. Llavors podem reiniciar la màquina a través del panell de control que ens ofereix l’ISP, o qualsevol altre procediment. El problema esta en que si aquest script s’executa només iniciar la màquina en el rc.local o qualsevol altre procés d’arrencada serà impossible que ens autentiquem per SSH després de que arrenqui el servidor.

Però… com tots els que hem vist arrencar un servidor en linux sabem, entre crida el servidor SSH i es llença l’script de les regles del firewall, pot passar 1s (~aprox) segons el ràpid que sigui el servidor. Si fossim prou ràpids autenticant-nos a la màquina podriem llençar un procés que es llencés després de l’script de les iptables i aquest script ens podria tornar a donar accés a la màquina, per exemple, netejant les regles del firewall i canviant la política per defecte.

Doncs bé, després de provar de fer-ho a mà vaig arribar a la conclusió que malgrat haver fet un curs de mecanografia quan era petit, encara era massa lent i l’enllaç es tallava abans no pogués recuperar el control de la màquina. Així doncs, vaig decidir comprovar si la màquina disposava d’un llenguatge que s’anomena expect i que es basa en TCL/TK. Aquest llenguatge com ja he comentat algún cop al blog ens permet automatitzar processos intereactius. Així doncs, vaig fer-me aquest petit script:

#!/usr/bin/expect -f

spawn /usr/bin/ssh root@ip_del_servidor 
expect "ssword: $" { send "password_de_root\n" } 
expect "#" { 
  send "echo \"sleep 30;iptables -F;iptables -P INPUT ACCEPT;iptables -P FORWARD ACCEPT;iptables -P OUTPUT ACCEPT\" > rest.sh \nchmod 700 rest.sh\nnohup ./rest.sh\nsleep 5\n./rest.sh" } 
interact

Fixeu-vos que és molt senzill, el que fa és connectar-se per SSH amb el servidor remot, enviar el password de root; després crea un script molt senzill que es guarda a rest.sh li dona permisos d’execusió i l’executa amb un nohup perquè si la nostre consola perd la connexió amb el servidor l’script no deixi d’executar-se. El contingut d’aquest petit script que es crea és tan senzill com esperar-se 30s perquè així s’assegura que la màquina ha acabat el procés d’arrencada i després neteja les regles del firewall i posa les polítiques en ACCEPT. Així doncs, ja podem entrar sense problemes.

Doncs bé amb això un ping que vigili quan s’ha aixecat la targeta de xarxa i després executant aquest script que us he posat aquí, jo el dimarts vaig aconseguir ressussitar un servidor remot al que no tenia accés físic, només forçant reboots a través del panell de control que em van facilitar. El senzill que hagués estat tenir una consola d’administració remota i tot llest amb un segon. Però suposo que la necessitat desperta l’enginy, no?

VMWare Converter

Reading time: 1 – 2 minutes

Coneixo l’VMWare des de fa molt de temps. Però d’un temps ençà quan he de fer un desenvolupament en una màquina nova ja no ho faig en un ordinador nou. Sinó que aprofito el VMWare Workstation del meu portàtil per crear-me una nova màquina virtual i iniciar el desenvolupmaent del nou producte sobre aquesta màquina virtual.

De fet, el que vull fer en aquest post és referenciar una nova eina que encara esta en versió beta de la gent d’VMWare. No explicaré què fa em limitaré a explicar-ho amb un gràfic que jo diria que junt amb el nom (VMWare Converter) ho diuen tot:

converter.gif

Com passar pel SIMO 2006 i no veure res de res

Reading time: 3 – 4 minutes

La setmana passada vaig estar a Madrid en motiu de la ja tradicional fira del SIMO. Com sempre passa amb aquesta fira cada any aconsegueixen que sigui pitjor que la de l’any passat, de fet, malgrat vaig estar a la fira aquest opinió me la he format més a partir del que he llegit a la blogosfera que no pas al que vaig veure a la fira. Aquest any però a la fira hi havia tecnologia movilpoint. Concretament a l’stand d’Internet Kioskos. Bàsicament s’hi podien veure la nova aplicació MPTI, l’aplicació de recàrrega de mòbil i targeta internacional (calling cards) tan en la versió TPV com en la versió per Kiosk. Per altre banda, també hi havia una màquina que ja fa temps que tenim a la cadena Pans and Company. Aquest màquina disposa d’una guia turística de Barcelona, serveis de descàrrega de contiguts per telèfons mòbils a través de infra-rojos, bluetooth i missatge curt. A més de la possibilitat de recàrregar el telèfon mòbil prepagament i la venta de targetes de trucades internacionals (calling cards).
simo.jpg
Bé doncs, degut a que tot això ho vaig haver de montar depressa i corrent durant els dos dies que tenia previst visitar la fira no em va ser possible visitar absolutament cap stand. Vaig tenir el temps just per fer els contactes que havia de fer i per tenir les reunions previstes. Després corrent cap a l’aeroport per seguir el ritme frenètic que m’esperava a Barcelona. Suposo que heu notat tota aquesta bogeria en la meva agenda perquè gairebé no puc publicar novetats al blog. Quan entres en un espiral de feina d’aquest tipus és difícil sortir-ne però m’he proposat canviar una mica de ritme durant aquesta propera setmana, a veure si ho aconsegueixo. De moment comentar que avui ja m’he aixecat a les 7.30 per posar-me al dia amb els quasi 3000 feeds pendents de llegir al bloglines.

Tornant al que ens ocupava que era el SIMO, el que puc aportar de primera mà és que el primer dia va ser molt i molt fluix, gairebé no hi havia ningú a la fira. Encanvi el segon dia va ser just al contrari no parava de passar gent i a més molt proactiva ja que se t’acostaben a preguntar mil coses. Imagino que la resta de dies la cosa deuria baixar moltíssim, perquè el dijous era festa a Madrid i el divendres molta gent feia pont. Així doncs, només quedava el cap de setmana que ja tradicionalment acostumen a ser dies on predomina el públic molt jove i que només ve a donar el tomb i no pas a fer negoci. Bé doncs, de moment em sembla que fins al Març no tinc cap altre fira, així que CeBIT preparat que ja venim.

Protocols a través d’USB de la Blackberry 8100

Reading time: 1 – 2 minutes

Tampoc pinten gens bé les coses per poder usar la Blackberry 8100 com a mòdem USB, si ens fixem en les interficies que presenta USB són només de tipus Bulk, quan l’ideal per tal d’usar-la com a mòdem seria que fossin de tipus serial. A més el dispositiu s’identifica clarament com un Mass Storage, o sigui, un dispositiu d’enmagatzematge, o disc extern.

Bus 002 Device 003: ID 0fca:0006 Research In Motion, Ltd.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        16
  idVendor           0x0fca Research In Motion, Ltd.
  idProduct          0x0006
  bcdDevice            1.06
  iManufacturer           1 Research In Motion
  iProduct                4 RIM Mass Storage Device
  iSerial                 3 9F90C1DAEFF61B441539AB60B7F6B17D5847F84A
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              4 RIM Mass Storage Device
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Scroll to Top