Reading time: < 1 minute Fast reminder and tip for socat, it can work on two devices or more:
# SERVER: socat TCP-LISTEN:4443 TUN:192.168.255.2/24,up # CLIENT: socat TCP:SERVER_IP:4443 TUN:192.168.255.1/24,up
Reading time: < 1 minute Fast reminder and tip for socat, it can work on two devices or more:
# SERVER: socat TCP-LISTEN:4443 TUN:192.168.255.2/24,up # CLIENT: socat TCP:SERVER_IP:4443 TUN:192.168.255.1/24,up
Reading time: < 1 minute Specially when you have to look up inside Postfix logs or Syslog in general it could be the swiss knife tool you need: timegrep.
You have to know that the tool is developed using Python. And is very easy to upgrade or fork the code.
Reading time: 2 – 3 minutes
A continuació adjunto una petita descripció d’algunes eines per comunicar-se amb una xarxa XMPP que poden ser molt útils:
Implementació del XEP-0060, o sigui, d’un servei de publish-subscribe (PubSub) esta escrit amb Python i Twisted. Bàsicament el que permet és que sobre un servidor XMPP estàndard hi podem connectar un servei basat en PubSub, o sigui, que nosaltres publiquem una serie d’informació que un seguit de clients consulten perquè hi estan subscrits. És un mètode basat en events (no-polling) molt adient per disfondre certs tipus d’informació.
A vegades programem shell scripts que necessiten enviar el seu resultat a la xarxa XMPP, per exemple, imagineu que volem comunicar la caiguda d’un servei a través de GTalk, doncs aquest toolkit ens simplifica moltíssim aquesta tasca. Esta programat en ruby i a part de poder-se usar des de la CLI també podem integrar-ho com a llibreria dins d’un codi en ruby.
El seu nom ja ho diu tot, són una col·lecció d’eines que via CLI ens permeten interactuar amb una xarxa XMPP, algunes de les seves funcions són:
Aquestes eines estan escrites amb Python, Twisted i Wokkel.
Llibreria de PHP5 amb suport de:
Sembla força senzill d’usar, per exemple, programar un bot és tan fàcil com això:
<?php include("xmpp.php"); $conn = new XMPP('talk.google.com', 5222, 'user', 'password', 'xmpphp', 'gmail.com', $printlog=True, $loglevel=LOGGING_INFO); $conn->connect(); while(!$conn->disconnected) { $payloads = $conn->processUntil(array('message', 'presence', 'end_stream', 'session_start')); foreach($payloads as $event) { $pl = $event[1]; switch($event[0]) { case 'message': print "---------------------------------------------------------------------------------\n"; print "Message from: {$pl['from']}\n"; if($pl['subject']) print "Subject: {$pl['subject']}\n"; print $pl['body'] . "\n"; print "---------------------------------------------------------------------------------\n"; $conn->message($pl['from'], $body="Thanks for sending me \"{$pl['body']}\".", $type=$pl['type']); if($pl['body'] == 'quit') $conn->disconnect(); if($pl['body'] == 'break') $conn->send(""); break; case 'presence': print "Presence: {$pl['from']} [{$pl['show']}] {$pl['status']}\n"; break; case 'session_start': $conn->presence($status="Cheese!"); break; } } } ?>
Reading time: 1 – 2 minutes
Tan de temps usant nagios i mai havia tingut la necessita de recorrer als Nagios External Commands. Escencialment es tracta d’una named-pipe que usa Nagios per rebre comandes via shell.
A continuació adjunto la comanda que podeu llençar desdel prompt per llençar una ordre al nagios al cap de deu segons. En aquest cas forcem que es verifiquin tots els serveis d’un host.
# des del directori on hi ha la 'named-pipe' sovint anomenada 'nagios.cmd' now=$(date +%s); next=$(expr $now + 10); echo "[$now] SCHEDULE_FORCED_HOST_SVC_CHECKS;nom_host;$next" > nagios.cmd
Per veure el resultat de la comanda i si aquesta ha estat rebuda pel nagios només cal que mirem el fitxer nagios.log. La sortida del log serà algo així:
data host_server nagios: EXTERNAL COMMAND: SCHEDULE_FORCED_HOST_SVC_CHECKS;nom_host;unix_ts
Reading time: < 1 minute pkg-config és una eina que ens ajuda quan hem de compilar aplicacions i llibreries. Permet descobrir les opcions que s’han d’afegir al compilador.
Alguns exemples ràpids de coses que podem fer:
# descobrir llista de llibreries que tenim instal·lades: pkg-config --list-all # cflags per una lliberia concreta pkg-config nom_llibreria --cflags # llibreries a incloure al compilador per una llibreria concreta pkg-config nom_llibreria --libs
Reading time: 2 – 2 minutes
Tothom coneix el TCPdump i fins hi tot hi ha gent com jo que l’usem a diari, de fet, no fa massa temps vaig re-descobrir el TCPflow (ja l’havia descobert abans, però vaig cometre el gran error d’oblidar-lo). Doncs bé, el problema d’aquestes eines és que són molt útils per tràfic sense xifrar però quan es tracta de tràfic xifrat amb SSL/TLS com ara HTTPs o d’altres protocols que viatgen xifrats i volem saber perquè no funcionen hem de recorrer a eines com el ssldump.
SSLdump permet seguir el fluxe de les conexions TCP xifrades amb SSLv3/TLS. Obviament per aconseguir desxifrar el contingut de l’enllaç hem de facilitar-li els certificats corresponents a l’eina. Però no només ens permet depurar a nivell de dades que corren per TCP sinó que també ens dona informació del propi protocol de xifrat descrita de forma humana. O sigui, que podem saber si el problema de l’enllaç és produeix durant el procés de handshake, ChangeCipherSpec o dins del protocol.
El que jo feia fins ara per poder analitzar el contingut d’un protocol que viatge xifrat és ajudar-me de l’eina sslproxy. La qual feia de bouncer al servidor de protocol o al client, així doncs obtenia un tram de la conexió que no anava xifrat i a través del tcpflow o el tcpdump podia obtenir el tràfic en clar. La tècnica és enginyosa i útil però ferragosa en comparació al ssldump.
Reading time: < 1 minute
L’any 2002 ja vaig parlar del WinDriver Expert escencialment el programa és algo molt semblant al Driver Collector. Malgrat tenen alguns matisos diferents ambdós val la pena tenir-los ben localitzats ja que moltes vegades ens trobem amb màquines de les quals ningú té els drivers d’algún dels seus dispositius. Doncs bé, aquest programet podrem extreure els fitxers del driver per quan haguem de re-instal·lar la màquina.
Reading time: 1 – 2 minutes
A la Gentoo Linux Newsletter d’aquesta setmana es parla d’una eina que ens permet buscar pel portage de forma molt ràpida. De fet, ja vaig parlar d’una eina que serveix per coses semblants, fa temps, l’article es deia “Gentoo Trick: esearch & esync molt útils“.
De fet, no tinc clar quina diferència hi ha entre l’eix i l’esearch però sembla que tingui pinta de ser una mica més ràpida al fer el sync del portage. A més és curiós que usant també el trac com a gestor del projecte, l’altre dia en parlava en l’article sobre symfony.
Reading time: 1 – 2 minutes
Com sempre el windows després de molt de temps instal·lat comença a degradar i a donar problemes i problemes. Així doncs, si tenim en compte que el meu portàtil malgrat anar el 99% del temps en linux tenia el Win fet un desastre, trigava segles a arrencar i tenia mil i una històries instal·lades que no hi havia qui es desintal·lés. Així que vaig decidir provar el Your Uninstaller 2006 i he de dir que m’ha sorprés el resultat i la simplicitat del software.
Realment ho fa vastant bé, això de buscar pel registre i el disc dur les restes de coses que troba a mig instal·lar, fitxers temporals que queden arraconats (m’ha borrat quasi 500Mb de fitxers temportals) a més és trivial saber què s’esta carregant al arrencar el win i li pots dir què no vols que es carregui m’ha baixat més d’1min el temps d’arrrencada ara en uns 45s tinc el win carregat.