web-dev-qa-db-fra.com

gzip: stdin: pas au format gzip

Quand je cours:

tar -zxvf john-1.7.0.2.tar.gz

J'ai compris:

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

Il devrait commencer à déballer.

Certaines personnes m'ont dit de ne pas utiliser le z mais j'obtiens la même erreur.

C'est un fichier que j'ai téléchargé de cette façon:

wget http://openwall.com/john/f/john-1.7.0.2.tar.gz
25
Red fusion team

Diagnostiquer un fichier téléchargé du type incorrect

Comme steeldriver dit , cela signifie que le fichier n'est pas vraiment un fichier tar compressé - ou tout type de fichier compressé - bien qu'il soit nommé comme tel.

Lorsque vous téléchargez un fichier avec wget, il arrive souvent que vous obteniez un type de fichier différent de celui que vous recherchiez:

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]

Dans ce cas, les principaux signes sont:

  • Le message 301 Moved Permanently, redirigeant vers une adresse avec un / de fin. Cela charge la page par défaut pour certains répertoires sur le serveur, généralement index.html et presque toujours un fichier HTML.
  • Length: unspecified [text/html], vous indiquant que vous recevez du texte brut (text) et qu'il est destiné à être interprété comme html. C’est vraiment plus qu’un signe - vous pouvez être pratiquement certain que vous n’avez pas obtenu de véritable fichier compressé.

Vous pouvez également utiliser l'utilitaire file, qui examine un fichier et vous indique son type:

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

Et bien sûr, vous pouvez examiner le fichier vous-même, avec des outils tels que head, less et 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="/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">

Si c’était vraiment un fichier binaire, vous auriez eu tout un tas d’ordures sans signification, car quel que soit le pager ou le spectateur que vous utilisez, il essaie stérilement d’interpréter quelque chose comme du texte brut qui ne l’est vraiment pas. Par exemple, sur le bon fichier:

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▒▒ߪ▒▒▒▒▒▒▒▒▒▒_♠▒-▒

(J'ai seulement copié le tout début de cela.)

Obtenir le bon fichier

Cela vous indique comment déterminer ce qui ne va pas dans ces situations (et dans ce cas en particulier). Mais comment trouver et télécharger le fichier correct ?

Cela varie d'une situation à l'autre. Cependant, un bon début consiste à:

  • Allez sur le site officiel du logiciel et voyez s’ils fournissent des liens de téléchargement. Même si c'est ainsi que vous avez obtenu le lien que vous utilisez à l'origine, il se peut que le lien ait changé après un certain temps.

    Par exemple, dans ce cas particulier, la version actuelle est 1.8.0 au lieu de 1.7.0.2 (et fournie dans le sous-répertoire j au lieu de f) et l'ancienne version n'est plus disponible pour cette même URL.

  • Accédez à la page vers laquelle vous avez été redirigé lors du téléchargement du fichier. Dans ce cas, il s’agit de: http://www.openwall.com/john/

    Ou vous pouvez même examiner le fichier qui a été téléchargé. (Ou ouvrez le dans un navigateur Web.)

Vous avez été redirigé vers la page de téléchargement principale du logiciel . Vous pouvez soit télécharger dans un navigateur Web, soit copier un lien de téléchargement actuel correct et le télécharger avec wget. Il y a quelques choix, mais en supposant que vous n'avez pas réellement besoin de l'ancienne version spécifique que vous essayiez de télécharger, et basé sur le fichier spécifique que vous avez téléchargé a tenté de télécharger, je suppose http://openwall.com/john/j/john-1.8.0.tar.gz est ce que vous recherchez.

Bien sûr, les lecteurs qui trouveront ce message plus tard pourront constater que le lien ne fonctionne plus. Mais l'approche démontrée ici pour résoudre ce type de problème restera valable.

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]

J'ai téléchargé le fichier. Notez que, cette fois, aucune redirection non souhaitée n’est survenue et que le type est donné sous la forme application/x-tar au lieu de text/html.

(Une redirection HTTP n'est pas toujours mauvaise. C'est lorsque vous êtes redirigé vers quelque chose qui ne semble pas vraiment être le fichier que vous recherchez que vous devriez penser que votre téléchargement n'a pas vraiment abouti.)

file accepte:

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

Et cela déballe avec succès:

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

(Vous avez raison de dire que peu importe si vous utilisez z; cela aurait quand même fonctionné avec tar xzf puisqu'il s'agit du bon fichier.)

Vous pouvez procéder à la construction du code source et l’installer.

Rappelez-vous qu'il n'est pas toujours nécessaire de construire à partir de la source

Parfois, vous voulez vraiment la dernière version d'un programme, et ce n'est pas dans les dépôts d'Ubuntu. Vous pouvez essayer de trouver un PPA, mais si vous ne trouvez pas un partenaire en qui vous avez confiance ou qui fournit ce que vous voulez, ou si vous voulez le créer avec des options personnalisées, ou si vous aimez vraiment construire à partir du code source, puis à partir de le code source est une technique précieuse et utile.

Je recommande toutefois de vérifier au moins le logiciel disponible dans les dépôts officiels d'Ubuntu pour votre système. Sur mon système 16.04:

ek@Io:~$ apt show john
Package: john
Version: 1.8.0-2
Priority: optional
Section: admin
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Ruben Molina <[email protected]>
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.

Il existe plusieurs autres moyens de rechercher des packages. Il est souvent pratique d’utiliser la page Web Recherche de paquets Ubunt .

Comme vous alliez essayer d’installer la version 1.7.0.2, la version 1.8.0 dans les référentiels officiels est probablement assez récente. (En effet, 1.8.0 semble être la même version que celle fournie au téléchargement sur le site officiel.) Donc, vous voudrez peut-être simplement installer ça:

Sudo apt update
Sudo apt install john
22
Eliah Kagan