mercoledì 1 agosto 2012

Pingolo

Scripta Manent I

 

Nota

Con questa nota, inizia una serie da 1 a N  di mini-post casuali, in cui realizzerò alcune acrobazie più o meno complesse, sulla linea di comando Linux Bash.

Lo scopo di tali post non è di illustrare dettagliatamente come funziona la Bash, perché a tale proposito vi sono decine di migliaia di documenti in rete.

L'idea è invece quella di illustrare alcuni strumenti "emarginati" dal mondo moderno a causa della loro apparente complessità, in grado di assolvere a compiti complessi che altrimenti richiederebbero l'installazione di software aggiuntivo, magari costoso e dannoso e/o inutili processi in background.

Si ricordi che strumenti come la Bash, derivata dalla vecchia Bourne Shell del 1977, sono nati in tempi in cui i computer andavano a qualche Mhz, e avevano dischi a 78 giri con manovella e grammofono. 

Oggi per fare una ricerca sequenziale su un centinaio di megabytes di files si impiega molto meno che installare un programma inutile tre volte più voluminoso, sporcare inutilmente il sistema e aspettare 20 minuti alla partenza, tra licenza,  splash screen e messaggi intimidatori.


Pingolo

L'altra notte stavo cercando di trovare una macchina sperduta sulla mia rete locale, che ha un indirizzo di classe C.

Essendo un pezzetto di hardware senza servizi, con il solo indirizzo di rete, l'unica cosa che potevo fargli fare era rispondere al più universale dei messaggi (quando non è bloccato), cioè il PING.

Vi sono vari programmi che lo fanno ma io ho la solita Bash sul solito Linux non avevo voglia di cercare e allora ecco qui cosa ho scritto :

for i in {1..254}; do ( ( ping -c 1 192.168.1.$i | grep "64 bytes"  ) & ) done  | cat

E mi sono trovato in un secondo l'elenco delle macchine sulla mia rete, trovando il responsabile sull'indirizzo 240.

Ovviamente all'indirizzo 192.168.1.$i, dovete sostituire quello della vostra rete mettendo il $i dove si presume che la cifra cambi.

Attenti che questa righetta di codice apre 256 processi e li richiude quasi subito, ma ci fa ottenere quello che vogliamo.

Poi potete provare a rendere il tutto più modulare e trovare altre soluzioni ma come al solito è il pensiero che conta.




Nessun commento:

Posta un commento