gzip : stdin : gzip 형식이 아님


26

내가 실행할 때 :

tar -zxvf john-1.7.0.2.tar.gz

나는 이것을 얻는다 :

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

포장 풀기 시작해야합니다.

어떤 사람들은 사용하지 말라고 z했지만 같은 오류가 발생합니다.

이 방법으로 다운로드 한 파일입니다.

wget http://openwall.com/john/f/john-1.7.0.2.tar.gz

4
게시 한 링크는 실제 아카이브가 아닌 웹 페이지 인 것으로 보입니다.john-1.7.0.2.tar.gz: HTML document, ASCII text, with very long lines
steeldriver

답변:


25

잘못된 유형의 다운로드 된 파일 진단

steeldriver가 말했듯 이 이것은 파일 이름이 같더라도 실제로는 gzipped tar 파일 또는 모든 종류의 gzipped 파일이 아닙니다.

로 파일을 다운로드 할 때 찾고있는 파일과 wget다른 종류의 파일을 얻었음을 나타내는 경우가 종종 있습니다.

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]

이 경우 주요 표시는 다음과 같습니다.

  • 301 Moved Permanently말미 주소로 리디렉션 메시지 /. 서버의 일부 디렉토리에 대한 기본 페이지가로드되며 일반적으로 index.html거의 항상 HTML 파일입니다.
  • Length: unspecified [text/html], 일반 텍스트 ( text)를 받고 있으며으로 해석된다고 알려줍니다 html. 이것은 실제로 부호 이상의 것입니다.이를 기반으로 실제 gzip 파일을 얻지 못했다는 것을 확신 할 수 있습니다.

file유틸리티를 사용하여 파일을 검사하고 어떤 종류의 파일인지 알 수 있습니다.

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

물론 당신은 같은 도구를 사용하여 파일 자신을 검사 할 수 있습니다 head, less그리고 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">

이 파일이 실제로 이진 파일이라면 사용하는 호출기 또는 뷰어가 과일이 아닌 것을 평범하지 않은 일반 텍스트로 해석하려고 시도 할 때 의미없는 쓰레기를 많이 얻게됩니다. 예를 들어, 올바른 파일에서 :

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

(나는 그 시작 부분 만 복사했습니다.)

올바른 파일 얻기

이러한 상황에서 (특히이 경우) 무엇이 잘못되었는지 알아내는 방법을 알려줍니다. 그러나 실제로 올바른 파일을 어떻게 찾고 다운로드 합니까?

상황에 따라 다릅니다. 그러나 좋은 시작은 다음과 같습니다.

  • 소프트웨어의 공식 웹 사이트로 이동하여 소프트웨어가 다운로드 링크를 제공하는지 확인하십시오. 이것이 원래 사용하고있는 링크 인 경우에도 시간이 지나면 링크가 변경되었음을 알 수 있습니다.

    예를 들어,이 특정한 경우 현재 버전은 1.7.0.2 대신 1.8.0이고 ( j대신 서브 디렉토리에 제공됨 f) 이전 버전은 더 이상 동일한 URL에서 사용할 수 없습니다.

  • 파일을 다운로드 할 때 리디렉션 된 페이지로 이동하십시오. 이 경우에는 다음과 같습니다. http://www.openwall.com/john/

    또는 다운로드 한 파일을 검사 할 수도 있습니다. (또는 열 웹 브라우저에서.)

소프트웨어의 기본 다운로드 페이지로 리디렉션되었습니다 . 웹 브라우저에서 다운로드하거나 올바른 현재 다운로드 링크를 복사하여로 다운로드 할 수 있습니다 wget. 이 몇 가지 선택이 있습니다,하지만 당신은 실제로하지 않는 가정 이 필요 하면 다운로드를 시도하고 특정 이전 버전을, 당신이 특정 파일을 기반으로 다운로드 시도, 나는 의심 http://openwall.com/john/j/ john-1.8.0.tar.gz 는 당신이 찾고있는 것입니다.

물론 나중에이 게시물을 찾는 독자는 해당 링크가 더 이상 작동하지 않을 수 있습니다. 그러나 이러한 종류의 문제를 해결하기 위해 여기에 설명 된 접근 방식은 계속 유효합니다.

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]

파일을 다운로드했습니다. 이번에는 원하지 않는 리디렉션이 발생하지 않았으며 유형이 application/x-tar대신으로 제공됩니다 text/html.

(HTTP 리디렉션이 항상 나쁜 것은 아닙니다. 다운로드가 실제로 성공하지 못했다고 생각하는 파일이 아닐 수도있는 것처럼 리디렉션되는 경우입니다.)

file 동의합니다 :

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

그리고 그것은 성공적으로 풀린다 :

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

( 올바른 파일이기 z때문에을 사용하면 문제가되지 않습니다 tar xzf.)

소스 코드 빌드 및 설치를 진행할 수 있습니다.

항상 소스에서 빌드 할 필요는 없습니다.

때로는 최신 버전의 프로그램을 원하며 우분투 저장소에는 없습니다. PPA를 찾으려고 시도 할 수 있지만 실제로 신뢰하거나 원하는 것을 제공하지 않거나 원하는 옵션을 제공하거나 사용자 정의 옵션으로 빌드하거나 소스 코드에서 빌드 한 다음 빌드하는 것을 좋아하는 경우 소스 코드는 유용하고 유용한 기술입니다.

그래도 시스템의 우분투 공식 저장소에서 사용 가능한 소프트웨어를 확인하는 것이 좋습니다. 내 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.

패키지를 검색하는 다른 방법이 몇 가지 있습니다. 우분투 패키지 검색 웹 페이지 를 사용하는 것이 종종 편리 합니다.

버전 1.7.0.2를 설치하려고했기 때문에 공식 저장소의 버전 1.8.0으로 충분합니다. (실제로 1.8.0은 공식 웹 사이트에서 다운로드 할 수있는 버전과 동일한 것으로 보입니다.) 따라서 다음과 같이 설치하면됩니다.

sudo apt update
sudo apt install john
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.