Home Tecnica Programmi di utilità Grep e Strings due giganti di Linux

In evidenza

I riflettori della Fiera del Levante si accendono su SMAU Bari 2012

I riflettori della Fiera del Levante si accendono su SMAU Bari 2012

Dal 15 al 16 febbraio nel Nuovo Padiglione della Fiera del Levante, la quarta edizione di Smau sarà dedicata ...
TecnoWorkshop Lucca2011

TecnoWorkshop Lucca2011

Finalmente, e dopo un po' di peripezie siamo riusciti ad organizzare il primo TecnoWorkshop del nostro...
Società Italiana dei Professionisti delle Scienze dell'Informazione

Società Italiana dei Professionisti delle Scienze dell'Informazione

La Società Italiana dei Professionisti delle Scienze dell'Informazione (acronimo SIPSI) è una associazione...
Testata Giornalistica

Testata Giornalistica

Il portale Professionisti e Consulenti ICT - Italia è ora una testata giornalistica a tutti gli effetti...

Bandi di Concorso

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Istruttore informatico L.68/1999 al Comune di Potenza

Concorso pubblico, per esami, per la copertura di n. 2 posti di Istruttore Informatico, categoria C, posizione economica C1, a tempo pieno e indeterminato, con riserva assoluta alle categorie dilavoratori di cui all'art. 1 della legge n. 68/1999 (norme per...

21 Gen 2012 - Letture:71

Senior Business Consultant presso Lombardia Informatica

Selezione per figura Senior Business Consultant presso Lombardia Informatica. Il collaboratore dovrà fornire consulenza strategica e di business sulle tematiche verticali della Socio-Sanità. Requisiti di ammissione: Laurea in Ingegneria, Economia e Commercio o Scienze dell’Informazione; Percorsi di formazione professionale in ambito sanitario e socio-sanitario, su...

11 Gen 2012 - Letture:130

Bando progetto TAG (Toscana Area Giovani) per giovani talenti digitali

UPI Toscana ha indetto un avviso pubblico per la selezione di 20 giovani (2 per ciascuna delle 10 province della Toscana), da impiegare come formatori all'interno del Progetto TAG (Toscana Area Giovani). Il bando è finalizzato a valorizzare al meglio i...

03 Gen 2012 - Letture:136

Avviso pubblico per giovani dottori di ricerca per Uffici di Gabinetto

Avviso pubblico per il conferimento di n. 6 incarichi presso gli Uffici di diretta collaborazione del Ministro dell'istruzione dell'università e della ricerca, per soggetti estranei alla pubblica amministrazione. Ambiti di esperienza e Aree di competenza: Nuovi Media: nuove forma di comunicazione tra...

02 Gen 2012 - Letture:96

Database Administrator in the Information Technology (IT) Department at CERN

E' aperta una posizione nel gruppo di lavoro che fornisce servizi Database e Middleware al CERN, un'organizzazione internazionale che fa fisica delle particelle di stanza a Ginevra, Svizzera. Direttamente dal sito del bando si legge: as Database Administrator in the Database...

12 Dic 2011 - Letture:145

Posto per collaboratore tecnico CROB a Rionero in Vulture (PZ)

Indetto pubblico concorso, per titoli ed esami, per la copertura di un posto di collaboratore tecnico professionale esperto - Ingegnere - Cat. DS presso il centro di riferimento oncologico della Basilicata in Rionero in Vulture (PZ).

22 Nov 2011 - Letture:239

Concorso per operatore tecnico-amministrativo presso l'Autorità Portuale di Cata…

Indetta una pubblica selezione concorsuale per titoli a  n. 1 posto per l'accesso, a tempo indeterminato, nella  Pianta Organica dell'Autorità Portuale di Catania di Operatore esecutivo polifunzionale di settore tecnico/amministrativo, con  inquadramento livello 5° del CCNL dei Lavoratori dei Porti.

21 Nov 2011 - Letture:157

I più attivi

Dati e punteggi dell'ultimo anno

Giovanna Casamassima Giovanna Casamassima
46 articoli
11,974 punti totali
Rodolfo Giometti Rodolfo Giometti
47 articoli
7,548 punti totali
Vittorio D'Aversa Vittorio D'Aversa
33 articoli
2,872 punti totali
Fabio Bronzini Fabio Bronzini
13 articoli
0,654 punti totali
Fulvio Lucchetti Fulvio Lucchetti
11 articoli
0,539 punti totali

Ci hanno visitato

Oggi:1651
Ieri:2464
Totali (14/04/09):911061

I nostri numeri

Articoli pubblicati: 518
Iscritti al portale: 667
Iscritti all'Elenco: 175
Iscritti ML Discussioni: 331
Iscritti ML Articoli: 28
Iscritti ML Lavoro: 165
 

Installazioni di Linux su sistemi non convenzionali

Un'ottica convenzionale vede l'informatica come un insieme di applicazioni e sis...

Cloud Computing: cos'è veramente?

Da qualche tempo si sente sempre più parlare di Cloud Computing. Sembra che ques...

Android-x86: quando il drone sbarca sui PC

Chi pensa che Andoird abbia vita bere farà bene a ricredersi perché, oltre alle ...

Lion desktop: finalmente una distribuzione mirata alle aziende!

Chi è abituato a lavorare con Linux, ed in particolare ha provato a lavorare con...

Grep e Strings due giganti di Linux

Il tempo libero serve anche a sperimentare e quando si ha la passione per la com...

GNU readline: un tool indispensabile per la linea di comando

Chiunque di voi abbia avuto a che fare con la linea di comando avrà senz'altro a...

Anomalie di partizionamento hard disk: un esperienza personale

Nonostante le decine di installazioni delle varie distribuzioni Linux eseguite s...

Architettura di una trading room

La trading room o sala mercati è il luogo dove vengono effettuate le operazioni ...

Arduracing: come realizzare una robot-car intelligente con Arduino

Arduracing è un progetto realizzato con Arduino in collaborazione con il Lucccal...

Gobby: l'editor collaborativo

Quante volte vi sarà capitato di dover dire come modificare un file di testo ad ...

SUN Wiki Publisher: scrivere facilmente su Wikipedia

Personalmente uso parecchio Mediawiki (il motore di Wikipedia); lo ritengo un ot...

Cluster VMWARE

In questo articolo vediamo come realizzare un cluster di macchine virtuali con u...

Openembedded: la distribuzione «ristretta» per Linux

Quando le risorse di un sistema sono limitate non è possibile usare una distribu...

Linutop OS 4.0: Internet, Chiosco Multimediale e non solo!

Presentata negli ultimi giorni nella capitale francese la nuova distribuzione LI...

Come ti controllo i tassi di interesse con Linux

In questi giorni sto cercando di fare una surruga per il mutuo di casa mia. Tra ...

Server Linux: tutti i trucchi per farlo al meglio

Volete fare un server Linux per la vostra impresa, ufficio o semplicemente per c...

busybox & Android: la command line facile

Nei precedenti articoli abbiamo visto due tecniche per aggiungere nuovi programm...

Maemo extras: ancora più applicazioni per l'N900

Finalmente, grazie a Nokia, abbiamo a disposizione un esemplare dell'N900 su c...

Snom 870: il telefono con Linux

Definirlo solo telefono è sicuramente riduttivo, infatti lo Snom 870 è sicuramen...

AVG Live CD Rescue: l'antivirus live!

Qualche giorno fa mi sono reso conto che in azienda sta per scadere la licenza d...

Installare Linux su una USB key: ecco come!

L’installazione  e l'avvio di una distribuzione Linux Live da un supporto U...

Socat: quando i dati passano via rete

Lavorando coi sistemi embedded molte volte mi capita di dovermi arrangiare su di...

LIM: la lavagna multimediale con il wiimote

LIM sta per Lavagna Interattiva Multimediale, ed è un progetto che, tramite l'...

WODE, l'emulatore DVD per la Wii

Qualche giorno fa mi è capitato di sfidare mio cognato ad una partitella a tenni...

Universal USB Installer 1.8.04 e Ubuntu Linux 10.10

Rilasciata il 10.10(.2010) la nuova versione di Ubuntu Linux (la data corrispond...

Integrazione Webmaster Tool. Google Analytics, le ultime novità

Google non finisce mai di stupirci, ma soprattutto è inarrestabile sull'implemen...

Boxee Box: la TV facile di D-Link

Grazie alla D-Link possiamo presentare un nuovo gioiello della tecnologia: il me...

Rete lenta? Vediamo chi consuma...

Molte volte capita di trovarsi la rete molto lenta e magari non abbiamo a dispos...

Verificare spazio su disco su UNIX

Nella gestione si sistemi informativi capita spesso di accedere a postazioni ser...

Clonare una macchina vera in 30 minuti con VirtualBox

Essendo uno sviluppatore mi son reso conto che la virtualizzazione di una macchi...

Linutop4 PC

Il produttore francese Linutop, con sede a Parigi, ha annunciato il nuovo modell...

Git in Eclipse

Chi mi conosce sa la mia avversione (del tutto personale, ci tengo a sottolinear...

Disattivare il controllo account utente in Windows 7 e Vista

Il controllo account utente è quel particolare servizio progettato per aumentare...

TurnKey Linux: accendi e vai!

Quanto tempo occorre per installare e configurare una macchina LAMP (Linux, Apac...

NBTempo: una GUI per le timeline

Svolgendo alcuni casi in cui serviva creare delle timeline per verificare l'att...

Aggiungere programmi all'N900 con Maemo SDK

Abbiamo già visto come sia facile installare nuove applicazioni sul Nokia N900, ...

Forno a microonde: analisi emissioni EME

Nell'immaginario collettivo c'è una forte paura per i danni che posso generare s...

XMount finalmente liberi di virtualizzare!

Cosa succede dopo che abbiamo acquisito un disco in bitstream su file immagine? ...

Multi puntatore su Ubuntu 10.4: ecco come

Tempo fa ebbi modo di dare un'occhiata al progetto MPX per un cliente. La cosa n...

ASUS U36SD il notebook in soli 19mm

La concorrenza al più blasonato della “mela” si fa agguerrita specie nell'ultimo...

Sicurezza informatica: safety, dependability, security

La sempre maggiore diffusione delle tecnologie ha profondamente rivoluzionato la...

Come creare un NFS server ridondante

Quelli che mi conoscono sanno che il mio ambito lavorativo è nei sistemi embedde...

Demolinux: l'automazione industriale con Linux

Qualche tempo fa il mio ex istituto superiore mi aveva chiesto di fare una picco...

IPhone recupero file: un gioco di squadra!

Un giorno l'amico Armando Buzzanca mi chiama perchè deve recuperare una no...

Linaro, la no-profit che produce distribuzioni Linux/ARM

Il progetto Linaro presentato nel 2010 da colossi del calibro di Freescale Semic...

Controllare MAME con Wiimote su N900!

Ecco un'altra dimostrazione delle potenzialità di questo telefono (se vogliamo c...

Perché cross compilare quando si può compilare nativamente?

Lavorando con architetture diverse mi trovo spesso a dover utilzzare uno stesso ...

Tenere i servizi sotto controllo con Monit

In questi giorni mi è capitato di dover risolvere un problema per un mio cliente...

OpenWRT: la distribuzione piccola e versatile

In queste ultime settimane ho avuto modo di vedere da vicino OpenWRT, una distri...

PyGTK su N900

Come programmatore avere un cellulare che in pratica è un computer (oramai il 10...

Programmare in C sull'N900

In questo articolo vedremo come sia semplice programmare in C sull'N900. In part...

AccessPoint: la scelta ottimale del canale di trasmissione

Realizzare una rete Wireless outdoor (ma anche indoor) pone il problema della sc...

I-Memo: le password personali sempre con te

Prodotto dalla MensTecnica, una giovane azienda della Basilicata fondata nel 200...

Android: se non hai il telefono usa l'emulatore!

In questi giorni sto valutando di comprare un cellulare basato su Linux. Inizial...

Geexbox: la mini distro MediaCenter Linux

Geexbox è un piccolo ma potente sistema operativo orientato alla riproduzione di...

SL4A e il drone parla più lingue

Chi come me non ama Java si sentirà a disagio volendo programmare una qualsiasi ...

Backup mail server: quando il mail server non è raggiungibile

Se avete il mail server in proprio potrebbe succedere che questo non sia raggiun...

Il NAS D-Link DNS-343

Grazie alla D-Link azienda produttrice di apparecchiature di rete e non solo v...

Il settore danneggiato e l'acquisizione forense

Se si deve acquisire un hard disk in maniera forense, ossia con tutti i crismi n...

Autenticarsi con la pen drive

La pen drive è ormai diventata come il cellulare, impossibile non averla, ma sie...

Grep e Strings due giganti di Linux Stampa E-mail
(1 voto, media 5.00 di 5)
Area Tecnica - Programmi di utilità
Scritto da Nanni Bassetti   
Giovedì 19 Novembre 2009 09:36
Articolo letto 1838 volte

Il tempo libero serve anche a sperimentare e quando si ha la passione per la computer forensics, son dolori...

Tramite Nigilant32 (presente nella parte Live di CAINE 1.5) faccio l'immagine della Ram del mio PC, mentre è in uso, e la salvo sul file RAM.IMG.

ram.img - dump della mia ram 1.3Gb

Tramite editor esadecimale, vedo che tra le tante stringhe, contenute nel file, ne prendo una a casaccio per fare il mio test, la stringa è "awatarami".

Cerco con strings e il parametro -t d (che mi genera anche l'offset in decimale) ottenendo:

strings -t d ram.img | less
33593  Skype z awatarami

Quindi segno l'offset come: 33593

Poi cerco con grep ed i parametri
-i ignora il maiuscolo/minuscolo;
-a tratta il file binario come se fosse testuale;
-b stampa il byte offset;
-o Mostra solo la parte di linea che coincide con la stringa cercata;

grep -iabo awatarami ram.img
33593:awatarami

Passo all'uso di xxd (editor esadecimale da riga di comando) e con -s lo faccio partire dall'offset trovato:

xxd -s 33593 ram.img | less
08339: 2053 6b79 7065 207a 2061 7761 7461 7261   Skype z awatara
08349: 6d69 204b 6c6f 6e69 6573 2e3c 6272 2f3e  mi Klonies.

08359: 3c61 2068 7265 663d 2273 6b79 7065 3a3f 
08389: 5374 77c3 b372 7a20 4b6c 6f6e 6965 3c2f  Stw..rz Klonie08399: 613e 0050 6f6b 61c5 bc20 c59b 7769 6174  a>.Poka.. ..wiat
083a9: 7520 7377 c3b3 6a20 5765 654d 6565 2e3c  u sw..j WeeMee.<

Ma su questi due strumenti NON ho finito di lavorarci, quindi, armato di cronometro ho fatto questo esperimento:

grep -iaob mustafa /cygdrive/c/immaginidd/barbuto.dd
tempo: 52 secondi e 50 centesimi - offset corretto 113917010

$ strings -t d /cygdrive/c/immaginidd/barbuto.dd | grep -i mustafa
113917010 tuo fratello Mustafa
tempo: 29 secondi e 84 centesimi - offset corretto 113917010

Insomma strings in pipe con grep è molto più veloce (il 51% in più).

Una spiegazione c'è, che fa capire la potenza dell'operatore "pipe" (|) e di Linux.

Le ragioni della lentezza sono molteplici, ma una su tutte:

strings ha un algoritmo infinitamente più semplice e veloce di grep, e la quantità di dati che estrae è esigua, per cui il secondo grep, il cui input è generato da strings, ha molto meno input da esaminare.

Per avere conferma di ciò, basta mandare l'output di strings su un file, e vedere che è immensamente più piccolo del file intero su cui strings ha lavorato.

inoltre ci sono altre ragioni, fra cui il fatto che grep è costruito per cercare in file di testo, suddiviso in righe, e con un set di caratteri ben definito, e passsandogli un binario, come appunto un'immagine dd, non è che lo aiuti molto.

Strings invece produce un output molto vicino a quello su cui grep offre le prestazioni migliori.

In sostanza, strings estrae le stringhe da un file binario e passa il suo output in pipe a grep, che opererà la ricerca della parola "mustafa", su un output testuale e ridotto, sfruttando al massimo la sua potenza.

La stessa sperimentazione la si può fare usando queste immagini.

 

Aggiungi commento

Prima di pubblicare un tuo commento assicurati che:

  • sia in tema e contribuisca alla discussione in corso.

  • non abbia contenuto razzista o sessista.

  • non sia offensivo, calunnioso o diffamante.


La redazione con i controlli a campione si riserva di cancellare qualsiasi contenuto ingiurioso, volgare o illegale.


Nota bene: se non sei registrato il tuo commento verrà moderato e quindi non pubblicato immediatamente. Se, invece, sei registrato al portale e hai fatto login verrà visualizzato subito.


Codice di sicurezza
Aggiorna

 

In primo piano

Simons Voss: un mondo senza chiavi

Simons Voss: un mondo senza chiavi

Il sistema di gestione e di controllo degli accessi 3060 si presenta come un’alternativa con enormi vantaggi...
Pubblicità mirata dei prodotti

Pubblicità mirata dei prodotti

Hai un prodotto o un servizio da pubblicizzare? Fallo su consulenti-ict.it! Pubblicizzare un prodotto...
Recensioni sul Portale

Recensioni sul Portale

Hai un prodotto hardware/software o un libro riguardante uno dei temi dell'ICT? Vuoi farlo conoscere...

Ultime dal Forum

Visualizza Topic »

Eventi

Non ci sono eventi in programma
Febbraio 2012
D L M M G V S
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 1 2 3
Marzo 2012
D L M M G V S
26 27 28 29 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Sondaggi

busyCaricamento Sondaggio...

Ultimi Commenti