Kalix86のjohn
についてちょっと問題があります。簡単に言うと、LVにインストールされたKali Linux2.0でjohn
を実行することはできませんが、覚えているように、VMでは古いKaliと古いバージョンのjohnで実行できました。エラーは次のとおりです。
申し訳ありませんが、このビルドにはSSE2が必要です
カリは十分なCPUで動作していると思うので、それを調べて、コアごとに次のようになりました。
root@kali:~# cat /proc/cpuinfo
model name : Intel(R) Core(TM)2 Duo CPU T5800 @ 2.00GHz
microcode : 0xa4
cpu MHz : 800.000
cache size : 2048 KB
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
constant_tsc Arch_perfmon pebs bts aperfmperf pni dtes64 monitor
ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dtherm
そして、dmidecode
の結果:
root@kali:~# dmidecode -t 4
# dmidecode 2.12
SMBIOS 2.4 present.
Handle 0x001E, DMI type 4, 35 bytes
Processor Information
Socket Designation: CPU
Type: Central Processor
Family: Pentium M
Manufacturer: Intel(R) Corporation
ID: FD 06 00 00 FF FB EB BF
Signature: Type 0, Family 6, Model 15, Stepping 13
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Core(TM)2 Duo CPU T5800 @ 2.00GHz
Voltage: 1.6 V
External Clock: 800 MHz
Max Speed: 2000 MHz
Current Speed: 1200 MHz
Status: Populated, Enabled
Upgrade: <OUT OF SPEC>
L1 Cache Handle: 0x0021
L2 Cache Handle: 0x001F
L3 Cache Handle: Not Provided
Serial Number: Not Specified
Asset Tag: FFFF
Part Number: Not Specified
Unameの結果
root@kali:~# uname -a
Linux kali 4.0.0-kali1-686-pae #1 SMP Debian 4.0.4-1+kali2 (2015-06-03) i686 GNU/Linux
Gccバージョンの結果
root@kali:~# gcc --version
gcc (Debian 4.9.2-10) 4.9.2
ただし、Kali Linuxディストリビューションがプリロードされているもの以外にJohn the Ripper 1.8
をインストールしたため、コンパイルプロセス中にSSE2のベンチマークを満たしていませんでした。
編集:
前もって感謝します。
SSE2は、Intelx86命令セットの拡張された特殊な命令サブセットです。これらはSIMD(Single-Instruction Multiple Data)専用です。つまり、特定のエクストラワイドレジスタ(つまり、128ビット幅のXMMレジスタ)のおかげで、1つの命令で複数のデータを処理できます。
XMMレジスタの可能な分割は、次の図に示すとおりです。
比較的最近のIntelx86プロセッサには、SSE2命令セットがあります。 CPUにそれがあるかどうかを確認したい場合は、次のようにします。
$> cat /proc/cpuinfo | grep flags | tail -n 1
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb
rdtscp lm constant_tsc Arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx
est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt
tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln
pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust
bmi1 avx2 smep bmi2 erms invpcid xsaveopt
ここでは、プロセッサに組み込まれているすべての命令サブセットを確認できます。リストにsse2
が含まれているはずです(ここではそうです)。
SEEは、信号処理や高度に並列化されたアルゴリズムの処理に非常に役立ちます。 John the Ripperの場合、SSE2命令セットを使用して、ハッシュ関数のブルートフォースアルゴリズムを並列化します。 1つの命令で複数のハッシュ試行を計算して、キースペースの探索を高速化します(または辞書を使い果たします)。
ソフトウェアの理由に関連している可能性が非常に高いです。 64ビットCPUに32ビットシステム(AMD64にi386)をインストールしたか、SSE2命令セットを処理できるコンパイルツールがない可能性があります。また、Johnのビルドシステムに欠陥があり、システムの機能を適切に検出できなかったことが原因である可能性もあります。
しかし、問題を解決するのに十分なシステムに関する情報を提供していません。
john
をインストールする場合は、ディストリビューションに付属のコンパイル済みパッケージを使用することをお勧めします(これは現在ほとんどすべての主流ディストリビューションの標準パッケージです)。
システムにインストールされているものを除いて、古いバージョンまたは新しいバージョンのjohn theripperをkalilinux2.0にインストールします。問題は解決します。