Projects
> youterm
> 0xFFFF
> radare
> glh
> xml2doc
> bluewall
> pvc-repo
> cvs-repo
> git-repo
> mesure
> wistumbler2
> acr

Posts (81)
> List of posts

> Mini update
> Accelerated dreams
> Paranoia?
> Changelog
> Graphs and 077n pwnk
> HNY2k7
> Maemo mooo
> HC pwned
> Long time no post
> USB Pawah Injector i boot reveng

Categories
> all*
> TWD(7)
> blog(5)
> bluetooth(4)
> conf(1)
> desktop(1)
> devel(8)
> family(8)
> hpcva(9)
> hurd(2)
> life(20)
> n770(3)
> netbsd(2)
> pkgsrc(2)
> reality(5)
> tips(2)
> tothink(2)

Links
+ del.icio.us
+ asterx
+ bee.es.gnu.org

nopcode
+gallery
+www.nopcode.org
+cvs.nopcode.org
+news.nopcode.org
+blogs.nopcode.org

Other Blogs
+ sKUrZ0
+ TripleDES
+ gospel
+ blyx
+ MiKi
+ plue
+ xtraeme
+ esteve
+ jmmv
+ pof
+ syvic
+ Yosh
+ k0ro
+ ESN
+ Brainstorm
+ BlackShell
+ Hubertf
+ TooMany
+ viric
+ ziberpunk

doblog
+ Makefile
+ Source
+ Readme
+ TODO
+ Changelog









 
 >>Mon, 29 Aug 2005 02:24:41 +0200

 life : mesure 0.5 released


Ja fa uns quants dies l'he relesejat pero era un release urgent. L'anterior el vaig treure amb un fallo molt tonto amb el suport de GMP, en el que feia un gmp_fscanf i les variables ignorades les emmagetzava en un double amb el format "%Zd", obviament no hi cabia i segmentava, aquest fallo nome's afectava a la compilacio' en GNU/Linux, ja que la part BSD ho fa amb sockets i no amb fscanf del /proc.

Aixi que em vaig liar a millorar-lo i pujar-ho com a versio 0.5 (senar...inestable...pero no segmenta ).

Abans de tot pels qui no sapigueu que es el 'mesure', sus explicare', pq ja van bastantes persones que m'ho han preguntat..

Doncs be', mesure es una utilitat per mesurar diverses fonts:
* network interfaces
* pcap expressions supported
* free disk
* free memory
* stdin
* file size



mesure ens permet formatejar el resultat en quantitat o transferecia (-t), i dividir el resultat entre 1024 (KB/s), 1024*1024 (MB/s), 1024*1024*1024 (GB/s). A mes podem definir quantes vegades volem que ho mesuri, si volem que faci la mitjana entre mesura i mesura, formatar el resultat, etc.

Al cap i a la fi no es res de l'altre mon, es simplement customitzable, pero la gracia esta en exemples utils com aquests:

  console:

$ mesure
Usage 'mesure' [options] v0.5 // pancake AT phreaker DOT net
>sources:
-i iface - Stats of input iface.
-e iface - Stats of errors on iface.
-o iface - Stats of output iface.
-f file - Stats of file.
-d diskmp - Stats of target mountpoint.
-p pcapexp - Stats of matching packets. (use -i to specify the iface).
-m - Stats of memory.
-z - Measure stdin transfers.
-Z - Read values from stdin.
-ZZ - Read values from stdin and adds the result to other mode.
>options:
-c count - Repeat /count/ times. (default=-1)
-s sleep - Sleep between intervals. (default=0)
-t - Show transfer instead of bitrate
-a - Measure average (implies -t)
-v - Verbose (append KB/s MB/s...)
-n - Use \n instead of \r
-D - Show large numbers in dot format.
-P - Promiscuous mode (sniffer mode (-p))
-K - Show sizes in KB
-M - Show sizes in MB
-G - Show sizes in GB
$


### mesurem la transferencia d'una conexio per netcat.
$ cat file | mesure -atvKDz | nc -l -v -p 9999
Connection accepted from 127.0.0.1
1.385 KB/s
^C

### mesures encadenats per pipes.
$ mesure -ni eth0 | mesure -ZZDvto eth0
34 B/s
^C

### mesurem a quina velocitat ens estan pujant un fitxer
$ mesure -atvD /home/ftp/uploads/big-file.bin
^C

### mesurem quin bw es menja el trafic web d'una lan
$ mesure -p "port 80" -P -i eth0 -vDta
34.342 B/s
^C

>> mesure 0.5

En aquesta versio he afegit la flag -D, que posa els nombres en format de punts 12345 -> 12.345, per facilitar la lectura als humans, he fixejat alguns bugs i he utilitzat SIGALRM per fer les mesures mes exactes en maquines lentes. He millorat la documentacio' i afegit un suport molt interessant, el de pipejar diferents mesures per concatenar resultats.

D'aquesta forma podem tenir controlat el trafic de xarxa en 3 maquines centralitzat en una per exemple:

box1:$ mesure -ni eth0 | nc -u remotebox 6666
box2:$ mesure -ni eth0 | nc -u remotebox 6666
box3:$ mesure -ni eth0 | nc -u remotebox 6666
remotebox:$ nc -l -u -p 6666 | mesure -ZZtavDi eth0
3.887.412 B/s

Com veieu es una eina for,ca util, a me's que tinc pensat afegir callbacks a programes per events, per exemple, executa tal programa quan el transfer sigui 0, o quan arribi a cert limit, d'aquesta forma podriem fer coses aixi:

$ cat file | mesure -x "=0{pkill nc}" -zDtavK | nc -l -v -p 9999

O per controlar l'ample de banda, enviar reports, arrencar firewalls sota certes condicions:

  console:

while : ; do
mesure -x "!0{}" -p "port 9998" -t > /dev/null
mesure -x "!0{}" -p "port 9989" -t > /dev/null
mesure -x "!0{}" -p "port 9899" -t > /dev/null
nc -l -v -p 9999
done


Pero aixo del -x ja ser'a per la 0.6 crec .

>> wesnoth
Després em vaig liar a mirar jocs GPL d'estrategia i vaig topar-me amb el wesnoth, una mena de Warcraft® per torns, pero lliure. I miracle! ja estava a pkgsrc! aixi que un cop compilat vaig estar viciant-me, cosa que feia anys que no feia... i la veritat es que es un joc molt elaborat, tenen decenes de campanyes de diferentes races, amb historia, totes descarregables com 'plugins' desde dins de l'engine grafic en SDL, que per cert esta *ben* fet i xupa 0% de cpu, es a dir que no repinta la pantalla tota l'estona. A me's tb suporta joc en xarxa, i veure partides ja comen,cades d'altre gent. Una veritable obra d'art...us ho recomano.





De sobte em vaig tornar a interessar pel Quake...aquell gran desaparegut...i vaig trobar un fork for,ca ben fet anomenat OpenQuartz, en el que estan creant mapes i models GPL desde zero sobre el seu motor modificat. He pogut afegir els paks del quake1 originals i sel's ha tragat excepte el pak0 ja que el openquartz fa servir fitxers diferents i no es capa,c de trobar-los en l'oficial. Pero el joc tira r'apid i millora molt graficament.

Per cert, avui he vist que el Hu-Go l'ha alliberat sota la GPL! PER FI! x) es que es el millor emulador de PC-Engine que hi havia per *nix, i era una mica doloro's haver d'utilitzar binaris que a sobre petaven, etc...ja tinc pensats alguns bugfixes per GTK per enviarli a l'autor .

I despre's de tanta viciada de gamer vil, vaig decidir ficar-me una estona (de nou) i amb tota la fumada a continuar amb el 'pag', un joc de plataformes en ascii art, on les pantalles son fitxers de texte pla amb enlla,cos per marques. I aixi poder crear diferents nivells, aventures, etc.

Pels qui no ho sapigueu, el pag, va ser un joc que vaig escriure fara uns 5 anys, i que vaig decidir fer-lo nome's quan estigues sota minims, fumat, cansat, plimplat, ... i moltes vegades em sorprenia a mi mateix de resoldre coses de forma inconscient, tancar els ulls i adonarme que una estona despres les meves mans havien resolt un bug. i obviament, no es recomenable mirar el codi aquest sense estar sota els efectes de cap droga.

Far'a un temps vaig decidir recuperar-lo, passar-lo a ACR, fer alguna pantalla me's, estandaritzar la instalacio', arreglar alguns bugs d'us d'ncurses que ja havien deprecat i alguns warnings de gcc3 i 4. Pero certament seguia essent lo mateix, un recalentat de pag.

Aixi que em vaig posar a pensar amb mes items i features, de moment he afegit un segon enemic 'y', estalactites (o com collons es diguin) 'v', que cauen quan estas a rnd%3 de distancia i per sota d'ells, tb arreglat alguns bugs de moviment i afegit dues pantalles, per provar els nous items

Tambe' he estat fent retocs sobre el wistumbler2, ara toca dissenyar l'interficie de comunicacio' amb Guile. He decidit utilitzar Guile (un dialecte de LISP) per extendre la funcionalitat de l'stumbler, i afegir aixi crides a programes externs com el probenet ( merci yashi ;), analisi amb aircrack, generacio de paquets per events amb l'mksend, etc. Ja tinc un snippet i certament es mooolt facil treballar amb guile . Ara si..toca els collons una mica, perque gairebe tota es de l'api deprecated (GH), i era una mica rebuscat trobar l'api SCM, pero aqui us deixo un retall:

  console:

$ cat guile_wrapper.c
#include <libguile.h>
#include <stdio.h>

SCM print_hello_world()
{
printf("Hello World\n");
fflush(stdout);

return SCM_UNSPECIFIED;
}

SCM exec_system(SCM scm_cmd)
{
char *cmd = SCM_STRING_CHARS(scm_cmd);
system(cmd);

return SCM_UNSPECIFIED;
}

void inner_main(int argc, char **argv)
{
FILE *fd;
long fsize;
scm_c_define_gsubr("print-hello-world", 0,0,0,print_hello_world);
scm_c_define_gsubr("exec-system", 1,0,0,exec_system);
scm_c_primitive_load_path("script.guile");

scm_c_eval_string("(func)");
}

int main(int argc, char **argv)
{
scm_init_guile();
inner_main(0,NULL);

return (0);
}

$ cat Makefile
CFLAGS+=`guile-config compile`
LDFLAGS+=`guile-config link`

all:
${CC} ${CFLAGS} ${LDFLAGS} guile_wrapper.c
$ cat script.guile
(print-hello-world)

(display "Hello\n")
(exec-system "ls -l /")

(define (func)
(display "hello world")
(newline)
)


Us aviso que ara mateix a la versió de CVS (que estara parada uns dies) te un problema de Xsync, ja que les aplicacions Gtk no han d'estar fetes amb threads, sino amb events glib i callbacks, si utilitzes pthreads pot donar-se el cas que dos events de GTK succeeixin en el mateix moment i al rebre dos events barrejats succeix una excepcio al servidor de X, els resultats poden ser variats, una penjada de la finestra (no refresh), un segfault (amb XlibSync error), o fins hi tot una penjada general del servidor d'X (aixo nom's m'ha passat en NetBSD ).

Si seguiu slashdot o barrapunto (cosa que jo no faig), suposo que haureu vist un post comparant la seguretat de .NET i de Java..i com sempre a barrapunto comentaris for,ca estupids i a slashdot han parlat una mica més a fons... Deixant de banda tot el que ja sabeu que penso.. m'agradaria que observessiu aquesta impressionant gràfica:





Si algun cop heu llegit la llicencia del .NET diu entre d'altres coses que qualsevol tipus de benchmark sobre .net ha de passar per les mans de microsoft abans de ser publicat.

Penseu també en com pot ser que no tinguin cap bug reportat si jo mateix ja en vaig trobar d'alguns i fins hi tot de perillosos amb execucio de codi natiu, saltant-me el sandbox i escribint a l'stack. Pero clar, aixo no es un bug .

>> Comparing Java and .NET Security
>> Comparing Java and .NET Security

Finalment he estat parlant amb la gent de porticoluna i montarem un wiki per la pagina principal (pmwiki o mediawiki) i un blog per cada usuari...Aixi que muntare el doblog en produccio' i hauré de fer una interficie web (php) per administrar-lo via web, enlloc de per shell que es com ho faig sempre.

El dia 6 tinc examen de fisica, i em toca bastant els ous haver-me de tornar a posar a estudiar, pero es el que hi ha...aixi que intentare estar una setmana intentant no pensar en la terminal. arf arf arf.

[add comment] [view comments] (1)

Comments:
from: OGeWwSzPEybEPRL
date: Wed, 02 Apr 2008 22:44:41 +0200
title: syRCQaRaVYAu

8WsDi4 <a href="http://vjspwrqzujiq.com/">vjspwrqzujiq</a>, npqwrjkqzrcd, aotyguvhnccd, http://lslfvvmzdkbi.com/