Happy Christmas Nerd Script

Happy Christmas Nerd Tree

 

Da bravi Nerd… ci prepariamo al natale cazzeggiando con la nostra bella bash 😀

 
[sourcecode language=”bash”]

#!/bin/sh

function tree_off()
{
echo ‘
*
/ \
/ \
/. : \
/_ . ._\
/ \
/ . . \
/ . . \
/ . . : \
/ : . \
/ . . : \
/___ : . ___\
/ : . : . \
—————-
/ \

HAPPY NERD CHRISTMAS

}

function tree_on()
{
echo ‘
*
/ \
/* \
/. : *\
/_ . ._\
/ * \
/ . . \
/ * . . *\
/ . * . : \
/ : * * . \
/ . * . : \
/___ : . * ___\
/ : . : . \
—————-
/ \

HAPPY NERD CHRISTMAS

}

stime=1;

while true;

do

tree_off;
sleep $stime;
clear;
tree_on;
sleep $stime;
clear;

done;

[/sourcecode]

A Caccia di RootKits: rkhunter

 

Un articolo per tutti i “maniaci” della sicurezza, per tutti quelli che sono ossessionati dalla privacy, per quelli che usano criptare il proprio FileSystem ed usare SHA-256 come checksum sui propri file… insomma, per qualcuno come me 😀

Rkhunter è un potente tool OpenSource scritto in perl per scovare, a loro dire il 99.9% :P, l’eventuale presenza di RootKits sulla vostra macchina UNIX-Based.

Una volta effettuato il download e scompattato il tar.gz
[sourcecode language=”bash”]
$ wget http://sourceforge.net/projects/rkhunter/files/rkhunter/1.3.8/rkhunter-1.3.8.tar.gz

$ tar zxvf rkhunter-1.3.8.tar.gz ; cd rkhunter-1.3.8

[/sourcecode]

Ci troviamo difronte ad un eseguibile bash che ci aiuterà nell’installazione dei file sorgenti.

L’installazione è molto semplice, possiamo scegliere i vari layout (inteso some percorso) in cui installare i sorgenti. Vediamo le varie opzione, in moda da scegliere quella più congeniale alle nostre esigenze

[sourcecode language=”bash”]
unicondor@iMac:rkhunter-1.3.8> sh installer.sh –examples
Rootkit Hunter installer

Examples:
1. Show layout, files in /usr:
installer.sh –layout /usr –show

2. Install in /usr/local:
installer.sh –layout /usr/local –install

3. Install in chosen (custom) directory /opt:
installer.sh –layout custom /opt –install

4. Install in temporary directory /tmp/rkhunter/usr/local,
with files in /usr/local (for package maintainers):
mkdir -p /tmp/rkhunter/usr/local
installer.sh –layout custom /tmp/rkhunter/usr/local \
–striproot /tmp/rkhunter –install

5. Remove files, layout /usr/local:
installer.sh –layout /usr/local –remove
[/sourcecode]

Leggi tutto “A Caccia di RootKits: rkhunter”

Bash: Script download automatico con MlDonkey dei link ed2k dal Forum dduniverse.net

Vi assumete tutte le responsabilità nell’uso illegale dello script 😛

Stamattina non avendo nulla di meglio da fare, o meglio, cercando una “seria” alternativa allo studio… mi sono messo a girare per il forum dduniverse.net in cerca di qualche videolezione di UniNettuno sui Sistemi Operativi 😀

Dopo una breve ricerca riesco a trovare la pagina ed inizio a copiare-incollare i link ed2k… arrivato al link 5/29 mi chiedo, ma come posso automatizzare il download dei link ed2k sul mio server MLDoneky ? (uso Safari per la navigazione e non posso usare lo script messo a disposizione nella pagina del forum)

Eccovi la risposta che mi sono dato 😀

download_link_mldonkey.sh
[sourcecode language=”bash”]

#!/bin/sh

#############################
# Author #
# Flavio Pace #
# www.vitadastudente.it #
# #
############################
function usage(){
echo “Usage $0 URL_Links IP_Server_MlDoneky –> to login and download”
echo “Example :”
echo “$ sh download_link_mldonkey.sh http://dduniverse.net/ita/viewtopic.php?p=5691388 localhost ”
}
PHPBB_URL=http://dduniverse.net/ita/
PHPBB_TARGET_URL=$1
USER=flavio_user
PASS=flavio_pass
USER_MLDONEKY=admin
PASS_MLDONKEY=admin
MLDONKEY_IP=$2
MLDONKEY_PORT=4000

#————————— login —————————
if [ $# -eq 2 ] ; then

wget –save-cookies=./session-cookies-$USER $PHPBB_URL/ucp.php?mode=login -O – 1> /dev/null 2> /dev/null

SID=`cat ./session-cookies-$USER | grep _sid | cut -d$’\011′ -f7`

echo “Login $USER –> $PHPBB_URL SID=$SID”

wget –save-cookies=./session-cookies-$USER \
–post-data=”username=$USER&password=$PASS&redirect=index.php&sid=$SID&login=Login” \
$PHPBB_URL/ucp.php?mode=login –referer=”$PHPBB_URL/ucp.php?mode=login” \
-O – > /dev/null

echo ” Download Page with Link ”
wget –load-cookies ./session-cookies-$USER $PHPBB_TARGET_URL -O link.txt

echo ” Running Parsing on file ”
grep -o ‘ed2k://[^”]*’ link.txt | grep -v ‘;’ > link_par.txt

echo ” Connect Mldoneky Server”
(echo auth $USER_MLDONEKY $PASS_MLDONEKY;echo dllinks $PWD/link_par.txt; echo vd; echo q) | nc $MLDONKEY_IP $MLDONKEY_PORT

else

usage
fi

[/sourcecode]

 

Lo script è stato scritto per l’uso con il forum phpBB dduniverse.net, ma nulla vi vieta di modificarlo a vostra piacimento per qualsiasi altro forum e/o sito web.

I parametri USER e PASS sono relativi all’accesso a dduniverse.net

I parametri  USER_MLDONKEY e PASS_MLDONEY sono relativi all’accesso al server telnet di MLDonkey.

Gli altri parametri credo si commentino da soli e non hanno bisogno di spiegazioni, ora supponiamo di voler scaricare tutti i link relativi ai video sul corso di Reti di Calcolatori:

http://dduniverse.net/ita/viewtopic.php?p=5691388

il comando da usare è il seguente:
[sourcecode language=”bash”]

$ sh download_link_mldonkey.sh http://dduniverse.net/ita/viewtopic.php?p=5691388 localhost

[/sourcecode]

 

Se tutto sarà andato per il meglio, la nostra bella bash ci restituirà qualcosa del genere a conferma del fatto che tutti i passaggi sono andati a buon fine

 

Buon Download a tutti, e ricordatevi che scaricare materiale coperto da copyright è illegale 😛

 

Indirizzo IP del Gateway tramite shell di Mac OS X

Mi è capitato ultimamente di dover capire quale fosse il Gateway preso in DHCP associato alla mia scheda di rete su Mac OS X. Ovviamente da buon “smanettone” linux ho dato subito il comando

[sourcecode language=”bash”]
unicondor@iMac:~> route -n
usage: route [-dnqtv] command [[modifiers] args]
[/sourcecode]

 

La risposta della shell mi ha lasciato pietrificato, non ero abituato ad una situazione del genere… ma ovviamente Mac OS X deriva da Unix, per cui la sintassi è leggermente diversa rispetto ad una qualsiasi distribuzione Linux.

Dopo qualche breve ricerca, ho trovato i seguenti metodi per risalire all’indirizzo IP del Gateway

 

1° Metodo

Interroga la tabella di routing tramite il comando route . Il flag “-n” serve per non risolvere l’indirizzo IP e lasciarlo in formato numerico, mentre “get” è il comando vero e proprio per interrogare il DNS specificato e farci ritornare tutte le info per raggiungerlo ( compreso il Gateway).

[sourcecode language=”bash”]
unicondor@iMac:~> route -n get www.vitadastudente.it
route to: 217.64.195.223
destination: 217.64.195.223
gateway: 192.168.1.1
interface: en1
flags:
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
0 0 0 0 0 0 1500 0
[/sourcecode]

 

2° Metodo

Questo metodo usa il comando netstat per stampare a video le informazioni riguardanti la struttura dati relativo al traffico di rete. Il flag “-r” serve per interrogare la tabella di routing

[sourcecode language=”bash”]
unicondor@iMac:~> netstat -r
Routing tables

Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.1.2 UGSc 53 0 en1
127 localhost UCS 0 0 lo0
localhost localhost UH 0 225 lo0
169.254 link#5 UCS 0 0 en1
192.168.1 link#5 UCS 5 0 en1
192.168.1.1 0:19:e0:96:18:e6 UHLWI 58 1774 en1 975
192.168.1.2 f0:7d:68:8f:41:9a UHLWI 6 12 en1 990
server link#5 UHLWI 2 428312 en1
192.168.1.61 0:40:f4:ec:80:86 UHLWI 0 600 en1 796
192.168.1.131 localhost UHS 0 0 lo0
192.168.1.255 ff:ff:ff:ff:ff:ff UHLWbI 0 12 en1
[/sourcecode]

 

Purtroppo la formattazione del codice lascia ancora un pò a desiderare, ma datemi tempo ed imparerò ad usare anche quella 😛

.bash_profile vs .bashrc

Quando si lavora con un Sistema Operativo come Linux, Unix o Mac OS X, è molto comodo poter personalizzare la bash con i comandi o le impostazioni che siamo abituati ad usare. Mi sono imbattuto in un piccolo dilemma stasera, mentre settavo la mia variabile EDITOR ( in modo da usare nano al posto di vim ).
Quale file modificare: .bash_profile o .bashrc ? Quale è la differenza tra i due file? e perche’ vengono utilizzati entrambi se hanno lo stesso scopo?

Consultanto la man page di bash sono riuscito a risolvere questo piccolo dilemma.

 

Quando usare .bash_profile ?

Ogni volta che si avvia una intercative shell vengono eseguiti i comandi che si trovano all’interno dei seguenti file:

  • 1. /etc/profile
  • 2. ~/.bash.profile
  • 3. ~/.bash_login
  • 4. ~/.profile

Per cui ogni volta che eseguiamo il login ( username e password ) da console, utilizzando per esempio ssh, viene eseguito .bash_profile

 

Quando usare .bashrc ?

Se siamo gia’ loggati all’interno della shell ed apriamo un nuovo terminale di console ( Ex. xterm ) all’interno di Gnome o KDE, allora vengono eseguite le istruzioni presenti in .bashrc.
Lo stesso accade se da console digitiamo nel terminal


/bin/bash

 

Perche’ questa  distinzione?

Tale distinzione e’ nata dalla necessita’ di poter visionare parametri di diagnostica ogni volta che accediamo ad una macchina ( carico della CPU, uso della memoria ecc…), in questo caso viene utilizzato .bash_profile.

Invece .bashrc viene usato per le impostazioni che vogliamo caricare ogni volta che viene lanciato un nuovo terminale.

 

 

In Mac OS X come funziona?

Mac OS X ha una filosia tutta sua… come la maggior parte delle volte 😀

Di defualt il Sistema Operativo lancia una nuova schermata di login chiamando il file .bash_profile al posto di .bashrc. Per tale motivo nei Sistemi Apple bisognera’ sempre modificare .bash_profile per caricare correttamente le proprie impostazioni, anche nel caso in cui non esegiuamo una non-login shell.

 

Suggerimento

La maggior parte delle volte e’ scocciante avere gli stessi comandi su entrambi i file, per tale motivo vi posto la mia soluzione “elegante” per risolvere il dilemma 😀


if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi

In questo modo ad ogni login, in automatico la vostra macchina eseguira’ il codice presente anche in .bashrc

Lista Comandi Utili Shell Linux/Unix

Il seguente elenco e’ una lista disordinata di comandi shell utili (Unix-based Linux/Mac), tali comandi non sono spiegati nel dettaglio ma possono facilitare l’amministrazione quotidiana di un sistema basato su Unix. La combinazione dei tasti CTRL+f dal vostro browser puo’ essere molto utile nella ricerca di un determinato costrutto o comando. Qualche comando puo’ valere solo per le Shell Bash. 

  • Per trovare i dettagli hardware di una Linux box:
     lspci
  • Per trovare la versione del kernel e della distribuzione di linux:
     uname -a
  • Per trovare info su cpu:
     cat /proc/cpuinfo
  • Per decomprimere file gzip:
     gungzip something.tar.gz
  • Per scompattare il file tar:
     tar xvf something.tar
  • Per decomprimere ed estrarre in un solo passaggio:
     tar xvzf something.tar.gz
  • Per installare un software da rpm:
  • Leggi tutto “Lista Comandi Utili Shell Linux/Unix”

Canon vs Nikon flickr

E’ da un po di tempo che girovagando su flickr sono incuriosito dal numero totale delle macchine Canon e quelle Nikon, giusto per avere un raffronto tra i due marchi più conosciuti di macchine fotografiche. Una sera mentre ero assieme ad un amico di università (Antonio, spero scriverai presto sul blog) ci siamo messi un po’ a giocare con la shell Unix di Mac OS X per cercare di tirare fuori i dati che volevamo dal sito di flickr.

Premetto che sono il fortunato possessore di una Canon EOS 1000D,e spero di fare presto qualche articolo sul mio bel giocattolino 😀

Purtroppo le pagine che flickr ci mette a disposizione con il numero delle macchine fotografiche non ci da il totale, ma solo i parziali dei vari modelli

Numero macchine canon flickr

Il nostro obiettivo è quello di estrapolare i numeri dalla seconda colonna della tabella e sommarli tra loro per avere il numero preciso del totale della fotocamere sia Canon che Nikon.

Apriamo la nostra bella shell e digitiamo:

$ curl http://www.flickr.com/cameras/canon/?s=photos#models | grep "<td class=\"cfP\"" > canon_tot

Leggi tutto “Canon vs Nikon flickr”