jueves, 31 de enero de 2013

Obter as últimas entradas dun RSS [Twitcode XXIV][Bash]

Hoxe Twitcode, ímos ver como ler as últimas entradas dun RSS con bash:
wget -O- -o/dev/null "$url"|grep -Po '<title>.*?</title>'|sed -r 's/^<title>(.*)<\/title>$/\1/g'

O funcionamento é sinxelo, `wget -O-` lee o contido dunha dirección e amosa o resultado pola saída estándar.

Logo haberá que ler só a parte do título, isto pódese facer cunha expresión regular
grep -Po '<title>.*?</title>'
A expresión dí o seguinte, “búsca o texto `<title>`, despois calquer número de repeticións dun carácter calquera, ata atopar un `</title>`”.

O derradeiro paso e eliminar as etiquetas do título
sed -r 's/^<title>(.*)<\/title>$/\1/g'
De novo expresión regular, tradúcese coma “no caso de que a cadea comece con `<title>` e acabe con `</title>`, reempraza todo pola parte do medio”.

E íso é todo, un exemplo do resultado sería este:

lunes, 28 de enero de 2013

Antena wireless caseira

Esta entrada vai adicada a fabricación dunha antena wireless caseira con materiales que podemos conseguir fácilmente.
Esta antena é unha adaptación, modificación da Jolly Rogers orixinal, unha antena de tipo direccional que da resultados bastante aceptables.

Pero...¿Que queren decir con direccional?

Pois con este termo referimonos a que este tipo de antenas orientan a señal nunha dirección moi determinada con un haz estreito pero de largo alcance. Para entendelo pódese facer unha similitude con un foco de luz que emite un haz concentrado e estreito pero de forma intensa, este efecto proporcionanos máis alcance.

Espectro da antena:

 

No espectro podemos apreciar como varian os decibelios (dBs) coa distancia, tamen vemos que se produce unha pequena dispersión arredor da antena que non nos da moito alcance.

domingo, 27 de enero de 2013

GSIC MINDS (Xornadas Seguridade Informática n'A Coruña)

Boas a todxs,

Falta 1 mes para que se celebren máis un ano as xornadas do Grupo de Seguridade Informática d'A Coruña (GSIC), concretamente será o 28 de febreiro, 1 e 2 de marzo do 2013. É un dos poucos eventos que temos en Galiza anualmente sobre esta temática e por iso consideramos importante darlle difusión.

Algúns de nós temos asistidos anos anteriores e recomendámolo moito: Charlas amenas, divertidas, hackcontest e moito máis.

Actualmente aínda están en prazo de CFP (Call For Papers), é dicer, está aberto o prazo para que toda persoa interesada en dar unha charla nas xornadas poida optar a facelo. Así que dentro de non moito seguro que comezan a anunciar charlas e poñentes e abrirán as inscricións, estade atentos!

Para máis información:

Sitio oficial: GSICK MINDS
Twitter: @GSICoruna

Verémonos por alí?

Saúde!

miércoles, 23 de enero de 2013

Forzando un peche dun socket dende fora da aplicación [Unix]

Boas, hoxe topeime cun problema peculiar, andaba usando unha aplicación en rede e quedou un socket colgado, bloqueando a miña sesión (a aplicación en cuestión só permite unha por usuario) e sen poder pechar o programa por manter a conexión noutros servidores, así que non quedou máis remedio que pensar como remediar esa situación.

Para ilustrar o procedemento co que dei utilizaremos un par de scripts, un cliente e un servidor (non fai falla entendelos, de feito as variables están nomeadas o chou e tal :P), non dan ninguná saída, así que só hai que lanzalos na orde correcta (`server.py` e despois `client.py`, sen pechalo) e deixalos estar:

server.py
#!/usr/bin/env python

target = ("127.0.0.1", 1234)

from socket import socket

sock = socket()
sock.bind(target)
sock.listen(10)

sock_l = []

while True:
    sock_l.append(sock.accept())

client.py
#!/usr/bin/env python

target = ("127.0.0.1", 1234)

from socket import socket
from time import sleep

good_socket = socket() # Ignorade os nomes, non representan nada
bad_socket = socket()

good_socket.connect(target)
bad_socket.connect(target)

while True:
    sleep(1)


lunes, 21 de enero de 2013

Listar as liñas de texto escritas nun proxecto [Twitcode XXIII][Bash]

O twitcode de esta semá é este:
find -- *|xargs file|grep ':*text'|cut -d: -f1|xargs wc -l # Cambia-lo * de find por . para considerar rutas ocultas

Por exemplo (usado contra darkstat [ http://unix4lyfe.org/darkstat/ ]):
$ find -- *|xargs file|grep ':*text'|cut -d: -f1|xargs wc -l
   272 acct.c
    18 acct.h
    98 addr.c
    35 addr.h
    48 AUTHORS
   131 bsd.c
    28 bsd.h
   524 cap.c
    23 cap.h
    40 cdefs.h
   168 ChangeLog
   328 configure.ac
    32 contrib/cx.ath.darkstat
    67 contrib/ReadMe.MacOS
    30 contrib/darkproxy.php
       [...]
    13 README
   117 release.sh
    32 static/c-ify.c
    67 static/style.css
   280 static/graph.js
   366 str.c
    51 str.h
    95 test_addr.c
    84 test_headers.sh
   394 tree.h
 11534 total

A falta dunha ferramenta máis “seria” coma SLOCCount serve para ir tirando :P

viernes, 18 de enero de 2013

Administración, permisos en GNU/Linux [II][Seguridade]

Boas a todxs,

Despois deste parón vacacional toca retomar unha das últimas publicacións, os permisos en GNU/Linux. Da outra vez non foi casualidade que falasemos da nomenclatura octal en lugar da simbólica, en primeiro lugar porque esta última é máis intuitiva e porque entendendoa ben resultará máis fácil entender do que imos falar hoxe umask (user mask).

Que é umask?

miércoles, 16 de enero de 2013

Sacar a lista das últimas subas públicas a pastebin [Twitcode XXII][Bash]

Pastebin, para quen non o coñeza é un sitio que permite subir arquivos de texto, útil por exemplo se queremos compartir un trozo de código que non acaba de funcionar cunha canle IRC, así que resulta que pode ter algúns arquivos curiosos, así podemos sacar a lista dos máis recentes:

curl "http://pastebin.com/archive"|sed 's/<\/td>/\n/g'|grep '<td>.*/i/t.gif'|sed -r 's/.*<a href="([^"]*)">([^<]*).*/\2: pastebin.com\1/g'

Pódese modificar a URL para sacar por exemplo so un tipo de arquivos (aínda que xa non cabe nun twit):
curl "http://pastebin.com/archive/python"|sed 's/<\/td>/\n/g'|grep '<td>.*/i/t.gif'|sed -r 's/.*<a href="([^"]*)">([^<]*).*/\2: pastebin.com\1/g'


domingo, 13 de enero de 2013

Probando IPv6 dende unha rede "clásica"

Feliz aninovo!, voltamos das vacacións :P

Andaba eu fozando co ttyrec (un programa para grava-la terminal) e nisto que probo a gravar unha sesión reproducindo o mítico "ASCII StarWars" en modo texto por telnet...
nc towel.blinkenlights.nl 23


“A versión de IPv6 ten esceas e soporte de cor extra. Así que se queres experimentar completamente ascii starwars deberías conseguir IPv6.
www.sixxs.net ou outro proveedor de tuneis IPv6 pode axudar a conseguír IPv6 na súa computadora.”

E non ímos quedar só coa versión "reducida" so por non ter unha liña IPv6, non?

martes, 1 de enero de 2013

Feliz aninovo!

Boas a todxs!

Dende Hackliza! queremos desexarvos un feliz e próspero 2013. Este é o primeiro ano de moitos que pasaremos con vós.

Saúde e hacking, moito hacking!