Diagnosi di un file scaricato di tipo errato
Come dice steeldriver , questo significa che il file non è in realtà un file tar gzip - o qualsiasi tipo di file gzip - nonostante sia chiamato come uno.
Quando scarichi un file con wget
, ci sono spesso indicazioni che hai finito per ottenere un tipo di file diverso da quello che stavi cercando:
ek@Io:~$ wget http://openwall.com/john/f/john-1.7.0.2.tar.gz
--2017-01-28 23:57:33-- http://openwall.com/john/f/john-1.7.0.2.tar.gz
Resolving openwall.com (openwall.com)... 195.42.179.197
Connecting to openwall.com (openwall.com)|195.42.179.197|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.openwall.com/john/ [following]
--2017-01-28 23:57:40-- http://www.openwall.com/john/
Resolving www.openwall.com (www.openwall.com)... 195.42.179.202
Connecting to www.openwall.com (www.openwall.com)|195.42.179.202|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘john-1.7.0.2.tar.gz’
john-1.7.0.2.tar.gz [ <=> ] 15.27K 3.61KB/s in 4.2s
2017-01-28 23:57:51 (3.61 KB/s) - ‘john-1.7.0.2.tar.gz’ saved [15633]
In questo caso, i segni principali sono:
- Il
301 Moved Permanently
messaggio, reindirizzando a un indirizzo con un finale /
. Questo carica la pagina predefinita per alcune directory sul server, che di solito è index.html
e quasi sempre un file HTML.
Length: unspecified [text/html]
, che ti informa che stai ricevendo il testo normale ( text
) e che deve essere interpretato come html
. Questo è davvero più di un segno - puoi essere abbastanza sicuro di non aver ottenuto un vero file gzip basato su questo.
Puoi anche usare l' file
utility, che esamina un file e ti dice che tipo di file sembra essere:
ek@Io:~$ file john-1.7.0.2.tar.gz
john-1.7.0.2.tar.gz: HTML document, ASCII text, with very long lines
E, naturalmente, è possibile esaminare il file da soli, con strumenti come head
, less
, e view
:
ek@Io:~$ head john-1.7.0.2.tar.gz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>John the Ripper password cracker</TITLE>
<link href="/ubuntu//style.css" type="text/css" rel="stylesheet">
<META name="keywords" content="John the Ripper, password cracker, JtR, password checker, password recovery, password, cracker, crackers, cracking, crack, crypt, passwd, shadow, Unix, Linux, Windows, Win32, Mac OS X, Mac OSX, MacOS X, OS X, OSX, DOS, VMS, OpenVMS, hash, DES, MD5, Blowfish, Kerberos, AFS, LM, LanMan, LanManager, NT, 2000, XP, 2003, Vista, 7, NTLM, NTLMv1, MD4, Netscape LDAP, SHA, SSHA, MySQL, TGT, s/key, Eggdrop, Apache, apr1, SYSUAF, SYSUAF.DAT, AltiVec, MMX, SSE, SSE2, AVX, XOP, wordlist, wordlists, dictionary, brute force, decrypt, challenge, response, John, Ripper, john, jhon, jonh, jack, Jack the Ripper">
<META name="description" content="A fast password cracker for Unix, Windows, DOS, and OpenVMS, with support for Unix, Windows, and Kerberos AFS passwords, plus a lot more with contributed patches">
</HEAD>
<BODY bgcolor="#E0E0E0" text="black" link="blue" alink="red" vlink="navy">
Se questo fosse davvero un file binario, avresti invece ottenuto un sacco di spazzatura insignificante, poiché qualsiasi cercapersone o visualizzatore il tuo uso tenta inutilmente di interpretare qualcosa come un semplice testo che in realtà non lo è. Ad esempio, sul file corretto:
ek@Io:~$ head john-1.8.0.tar.gz
WӦQ♥john-1.8.0.tar ▒▒kw▒ر&▒▒ٿ▒▒▒▒4E]|▒v▒NF▒d[▒n▒▒▒L&▒HB▒$▒ ▒df͚▒▒▒▒▒ꩪ▒7@▒▒▒9ӳf▒▒J▒m ▒ؗ▒u▒▒~,▒ї▒▒▒ˣ▒▒ӣ_▒▒▒▒C▒▒|▒▒▒▒▒şw▒v▒▒>▒|w▒▒▒}▒▒▒ί▒▒i9▒?7+▒gY7i▒$▒▒ʲ▒▒s?▒J'MV%▒rY4ur[▒4▒▒e▒▒.▒▒▒▒▒&/u▒-2▒W▒▒V▒▒!o▒0b▒▒▒♥▒|Q▒4▒▒▒&▒▒Y1Y▒F▒▒Iy▒▒▒▒$▒▒▒▒,▒]▒h▒▒8▒"▒▒M▒,Һ~(▒i▒4Y▒d▒QgQ▒*ۚf7yA▒.▒&i▒<d▒↓▒7▒H_-l▒7▒▒▒Z▒▒.m▒▒ʒ%F,▒۬▒*▒▒hrW▒cY▒▒
▒+▒O1▒-y>▒▒J▒yM?▒4I▒▒▒kYS▒▒:▒▒n▒C▒▒%▒▒▒v▒▒▒{[[tN▒9▒▒▒kA▒▒▒▒▒/[▒▒▒▒u▒▒▒z▒▒▒▒>▒▒5▒▒▒▒t▒t▒▒Y6Û<▒*/i▒i{K>▒,▒▒▒▒▒;9)▒Z.mJSeiLB▒▒▒▒▒j▒▒eQ緅▒_▒α▒Ŋ▒▒▒W▒▒▒▒▒_▒▒ˢ▒▒-q▒<gyw͍▒9▒?▒,▒▒▒▒h&▒V"▒▒▒▒▒▒▒l▒▒3▒▒▒▒\▒▒i#▒▒综▒◄0▒▒▒.e♠>a▒▒▒▒▒▒$klt:▒▒rA▒M▒'F▒R▒▒▒▒Lo▒♥1z▒\▒↓X▒▒▒P"֕▒▒▒♦▒▒▒▒|▒▒▒▒▒▒1I▒o"'#|6e▒▒t▒Ц▒FVL▒▒S▒ޓ▒▒;▒x▒▒▒▒▒▒▒QVrr▒▒▒9O▒W7▒♠Og▒
▒▒▒8▒▒/▒▒dm▒FG'▒'t2L▒▒&L▒Y:▒▒▒▒▒4▒rI<▒#▒+▒je▒▒▒>T9▒▒M▒XE-ʆ▒▒'n▒▒$↑▒m▒W▒▒w̕▒▒m▒n%▒|A_▒yGp↑D▒↓▒▒▒i▒▒}ӡH▒▒▒▒$$H▒▒&▒▒4▒▒▒Z-@♣▒*~▒▒▒ y6▒▒▒`▒v↓▒s▒+̱▒?▒1▒▒▒<▒>▒^▒▒Y#k▒
7`N'▒o▒.&▒▒(▒Դ~AD▒"E◄' lq▒`▒▒`▒[▒9◄▒▒wzuK▒N▒▒Y▒▒%or▒▒)▒▒i↓▒▒▒l5.S▒r▒_*▒RO▒{▒$▒(▒▒▒▒C▒·▒▒׀f2ˊ[:▒▒▒,|ew▒▒▒Ag▒'▒▒▒H▒▒t▒{͓▒▒▒▒JH˭s▒)g▒ON▒▒eŚQ▒▒▒♠ s▒▒ߪ▒▒▒▒▒▒▒▒▒▒_♠▒-▒
(Ho copiato solo l'inizio di quello.)
Ottenere il file giusto
Questo ti dice come capire cosa è andato storto in queste situazioni (e in questo caso, in particolare). Ma come si trova e si scarica il file corretto ?
Questo varia da situazione a situazione. Tuttavia, un buon inizio è:
Visitare il sito Web ufficiale per il software e vedere se forniscono collegamenti per il download. Anche se è così che hai ottenuto il link che stai utilizzando originariamente, se è passato del tempo potresti scoprire che il link è cambiato.
Ad esempio, in questo caso particolare, la versione corrente è la 1.8.0 anziché la 1.7.0.2 (e fornita nella j
sottodirectory anziché f
) e la versione precedente non è più disponibile nello stesso URL.
Vai alla pagina a cui sei stato reindirizzato quando hai scaricato il file. In questo caso, questo è: http://www.openwall.com/john/
Oppure puoi anche esaminare il file scaricato. (O aprire esso in un browser web.)
Sei stato reindirizzato alla pagina di download principale del software . È possibile scaricare in un browser Web o copiare un collegamento di download corrente corretto e scaricarlo con wget
. Ci sono alcune scelte, ma a patto che in realtà non c'è bisogno che specifica versione vecchia si stava tentando di scaricare, e in base al file specifico che si fatto il tentativo di scaricare, ho il sospetto http://openwall.com/john/j/ john-1.8.0.tar.gz è quello che stai cercando.
Naturalmente, i lettori che troveranno questo post in un secondo momento potrebbero scoprire che il link non funziona più. Ma l'approccio dimostrato qui per la risoluzione di questo tipo di problema rimarrà valido.
ek@Io:~$ wget http://openwall.com/john/j/john-1.8.0.tar.gz
--2017-01-29 00:16:19-- http://openwall.com/john/j/john-1.8.0.tar.gz
Resolving openwall.com (openwall.com)... 195.42.179.197
Connecting to openwall.com (openwall.com)|195.42.179.197|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5450412 (5.2M) [application/x-tar]
Saving to: ‘john-1.8.0.tar.gz’
john-1.8.0.tar.gz 100%[================================================================================>] 5.20M 78.8KB/s in 26s
2017-01-29 00:16:47 (202 KB/s) - ‘john-1.8.0.tar.gz’ saved [5450412/5450412]
Ho scaricato il file. Si noti che, questa volta, non si è verificato alcun reindirizzamento indesiderato e il tipo è indicato come application/x-tar
anziché text/html
.
(Un reindirizzamento HTTP non è sempre male. È quando vieni reindirizzato a qualcosa che non sembra che potrebbe essere davvero il file che stai cercando che dovresti sospettare che il tuo download non sia realmente riuscito.)
file
concorda:
ek@Io:~$ file john-1.8.0.tar.gz
john-1.8.0.tar.gz: gzip compressed data, was "john-1.8.0.tar", last modified: Thu May 30 04:19:35 2013, max compression, from Unix
E scompatta con successo:
ek@Io:~$ tar xf john-1.8.0.tar.gz
ek@Io:~$ cd john-1.8.0/
ek@Io:~/john-1.8.0$ ls -l
total 12
drwxrwxr-x 2 ek ek 4096 Jan 29 00:22 doc
lrwxrwxrwx 1 ek ek 10 May 29 2013 README -> doc/README
drwxrwxr-x 2 ek ek 4096 Jan 29 00:22 run
drwxrwxr-x 2 ek ek 4096 Jan 29 00:22 src
(Hai ragione, non importa se usi il z
; avrebbe comunque funzionato tar xzf
, dato che questo è il file corretto.)
Puoi procedere con la compilazione del codice sorgente e l'installazione.
Ricorda, non devi sempre costruire dalla fonte
A volte vuoi davvero l'ultima versione di un programma, e non è nei repository di Ubuntu. Potresti provare a trovare un PPA, ma se non ne trovi uno di cui ti fidi davvero o che ti fornisce esattamente quello che vuoi, o vuoi costruirlo con opzioni personalizzate, o ti piace davvero solo costruire dal codice sorgente, quindi costruire da il codice sorgente è una tecnica preziosa e utile.
Consiglio comunque di controllare almeno il software disponibile nei repository ufficiali di Ubuntu per il tuo sistema. Sul mio sistema 16.04:
ek@Io:~$ apt show john
Package: john
Version: 1.8.0-2
Priority: optional
Section: admin
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Ruben Molina <rmolina@udea.edu.co>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 452 kB
Depends: libc6 (>= 2.14), john-data (= 1.8.0-2)
Suggests: wordlist
Homepage: http://www.openwall.com/john/
Supported: 5y
Download-Size: 184 kB
APT-Sources: http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
Description: active password cracking tool
John the Ripper is a tool designed to help systems administrators to
find weak (easy to guess or crack through brute force) passwords, and
even automatically mail users warning them about it, if it is desired.
.
Besides several crypt(3) password hash types most commonly found on
various Unix flavors, supported out of the box are Kerberos AFS and
Windows NT/2000/XP/2003 LM hashes, plus several more with contributed
patches.
Esistono molti altri modi per cercare pacchetti. Spesso è utile utilizzare la pagina Web di ricerca dei pacchetti Ubuntu .
Dal momento che avresti tentato di installare la versione 1.7.0.2, presumibilmente la versione 1.8.0 nei repository ufficiali è abbastanza recente. (In effetti, 1.8.0 sembra essere la stessa versione di quella fornita per il download dal sito ufficiale.) Quindi potresti davvero voler installare questo:
sudo apt update
sudo apt install john
john-1.7.0.2.tar.gz: HTML document, ASCII text, with very long lines