ハッキングをゼロから学ぶ方法

(*-*)浩
リリース: 2020-09-17 10:24:44
オリジナル
117470 人が閲覧しました

ハッカーとは何ですか?

数十年前、最初のタイムシェアリング ミニコンピューターが誕生し、ARPAnet の実験が開始されたばかりの頃、プログラミングの専門家と共有の特徴を持つインターネットの有名人で構成される文化コミュニティがありました。この文化のメンバーは「ハッカー」という用語を作りました。ハッカーがインターネットを構築しました。現在使用されている UNIX オペレーティング システムはハッカーによって発明されました。ハッカーは Usenet を機能させ、ハッカーは WWW を機能させます。あなたがこの文化の一員であり、この文化に貢献しており、このコミュニティの他のメンバーがあなたのことを知っていてあなたをハッカーと呼んでいるなら、あなたはハッカーです。

推奨コース: Python チュートリアル

ハッキングをゼロから学ぶ方法

#ハッカー精神はソフトウェアのハッカー文化に限定されません。エレクトロニクスや音楽など、他の物事にハッカー的な態度で取り組む人々がいます。実際、科学的または芸術的な取り組みの最高レベルにハッカー的な態度が見られます。ソフトウェアに精通したハッカーは、他の分野のハッカーを賞賛し、彼らをハッカーと呼びます。ハッカーの性質は、彼らが活動する特定の分野とは完全に独立していると主張する人もいます。しかし、この文書では、ソフトウェア ハッカーの技術と態度、そして「ハッカー」という用語を生み出した共有の文化的伝統に焦点を当てます。

自分がハッカーであると大声で主張する人々のグループがいますが、実際はそうではありません。彼らは、コンピュータや電話システムに意図的に損害を与える人々 (主に 10 代の若者) です。本物のハッカーは、こうした人々を「クラッカー」と呼び、彼らと関わることを軽蔑します。

本物のハッカーのほとんどは、ハッカーは怠け者で無責任で、あまり能力がないと考えています。他人のセキュリティを破ることを特に目的として行動しても、ワイヤーを使用して車を盗むと自動車エンジニアになるのと同じように、ハッカーにはなりません。残念ながら、多くのジャーナリストやライターは「ハッカー」をハッカーと間違える傾向があり、この慣行が本物のハッカーを悩ませ続けています。

根本的な違いは次のとおりです。ハッカーは建設を行い、ハッカーは破壊を行います

ハッカーになりたい方は、ぜひ読み続けてください。ハッカーになりたいなら、alt.2600 ニュースグループを読んで、自分が思っているほど賢くないと悟った後、5 ~ 10 回刑務所に行ってください。ハッカーについて私が言いたいことはこれですべてです。

ハッカーが持つべき態度

ハッカーは問題を解決し、物を構築すると同時に、自由と無私の双方向の援助を主張します。ハッカーとして認められるには、この姿勢を持っているかのように振る舞わなければなりません。そして、そのような態度を持っているかのように振る舞うためには、実際にその態度を保持しなければなりません。

しかし、ハッカーとしての態度を養うことが、ハッカー文化の中で認められるための単なる手段であると考えているなら、それは完全に間違っています。これらの資質を備えた人間であることが重要です。それは学習を助け、継続的なモチベーションを与えてくれます。

すべての創造的な芸術と同様、マスターになるための最も効果的な方法は、知的だけでなく感情的にもマスターの精神を模倣することです。

おそらく、次の現代禅の詩がこの意味をよく説明しています:

To follow the path: (そのような道に沿って:)

師を仰ぎ、 (師匠を探して)

師匠について行く (師匠について行く)

師匠と一緒に歩く (与師匠をパスする)

師匠を見通す, (洞察マスター,)

become the master. (become a master.)

まあ、ハッカーになりたいなら、次の内容を信じられるまで何度も読んでください。 。

ハッカーになりたいなら、どんな能力が必要ですか?

1. プログラミング方法を学ぶ

これはもちろん最も基本的なハッキング スキルです。まだプログラミング言語を知らない場合は、Python から始めることをお勧めします。明確なデザインと完全なドキュメントがあり、初心者が始めるのに適しています。これは始めるのに最適な言語であり、単なるおもちゃではなく、非常に強力で柔軟性があり、大規模なプロジェクトに適しています。これについて詳しく説明した Python レビューがあります。優れたチュートリアルが Python Web サイトから入手できます。 (翻訳者: より優れた中国語の Python サイトは http://pythonrecord.51.net です)

Java も入門言語として適しています。 Python よりもはるかに難しいですが、生成されるコードもはるかに高速です。また、入門用としてだけでなく、優れたコンピューター言語でもあります。

ただし、1 つまたは 2 つの言語しか知らない場合は、ハッカーやプログラマーにさえ必要な技術レベルに達しないことに注意してください。抽象的な方法で考える方法を学ぶ必要があります。 プログラミングの問題、独立どの言語でも。本物のハッカーになるには、今知っていることと組み合わせて、いくつかのマニュアルを読み、数日間で新しい言語を素早くマスターする方法を学ぶ必要があります。これは、いくつかの異なる言語を学ぶ必要があることを意味します。

本格的なプログラミングの仕事をしたい場合は、Unix の中核言語である C 言語を学ぶ必要があります。 C は C に非常に似ており、一方を知っていれば、もう一方を学ぶのは難しくありません。しかし、どちらも初心者がプログラミングを学ぶのには適していません。そして実際、C でのプログラミングを避ければ避けるほど、生産性は高くなります。

2. オープン ソースの Unix を入手して、その使い方と実行方法を学びましょう

UNIX/LINUX オペレーティング システムは C 言語で書かれており、最も強力なコンピュータ言語です。 1970年代。

はい、世界には Unix 以外にもオペレーティング システムがあります。しかし、それらはすべてバイナリ形式でリリースされているため、ソース コードを読むことも、変更することもできません。 DOS、Windows、または MacOS を実行しているマシンでハッキングを学ぼうとするのは、足かせを付けられてダンスを学ぶようなものです。

さらに、Unix はインターネットのオペレーティング システムでもあります。 Unix を知らなくてもインターネット サーフィンを学ぶことはできますが、Unix を知らなければインターネット ハッカーになることはできません。その結果、今日のハッカー文化は非常に Unix 中心になっています。 (これは常に真実であるとは限りません。一部の初期のハッカーはこれに不満を抱いていますが、Unix とインターネットの間の接続は非常に強力であるため、Microsoft ですらそれを助けることができません。)

それでは、UNIX をインストールしてください。 - 私は個人的に LINUX が好きですが、他にも Linux があります (はい、同じコンピュータに Linux と DOS/Windows の両方をインストールできます)。学び、使用し、設定してください。インターネットサーフィンに使用します。そのソースコードを読んでください。ソースコードを変更します。 Microsoft オペレーティング システムよりも優れたプログラミング ツール (C、LISP、Python、Perl など) を利用できます。とても楽しく、マスターになる前に知っていた以上のことを学ぶことができます。

(注: 初心者の場合、Linux または BSD を個別にインストールすることはお勧めしません。Linux をインストールしたい場合は、地元の Linux ユーザー グループに助けを求めるか、Open Projects Network に問い合わせてください。LISC は)

3. WWW の使い方と HTML の書き方を学ぶ

ハッカー文化によって構築されたもののほとんどは、あなたができない場所でも機能します。工場やオフィス、大学が正常に機能するよう支援することはできますが、ハッカーではない一般の人々の生活にそれが与える影響を表面的に見るのは困難です。ウェブは大きな例外です。政治家さえも、この大きくて輝くハッカーのおもちゃが世界を変えていることに同意しています。この理由だけでも (および他の多くの理由で)、Web をマスターする方法を学ぶ必要があります。

これは、ブラウザの使用方法 (誰でも使用できます) だけを意味するのではなく、Web のマークアップ言語である HTML の書き方を学ぶことを意味します。プログラミングの方法がわからない場合は、HTML を書くことで、学習に役立ついくつかの思考習慣が得られます。ですので、まずはホームページを完成させることから始めましょう。 (オンラインには優れたチュートリアルがたくさんあります。これはその 1 つです。)

しかし、ホームページを持っているだけではハッカーになれるわけではありません。 Web にはさまざまな Web ページが溢れています。そのほとんどは意味のない、情報ゼロのゴミです。スタイリッシュなインターフェイスを備えたゴミですが、ゴミのレベルも同様です (詳細については、「HTML Hell Page」を参照してください)。

価値あるものにするためには、ページにコンテンツが必要です。他のハッカーにとって興味深いもの、または役立つものでなければなりません。これが次のトピックです...

4. 実用的な英語を知らないなら、それを学びましょう

これはまったく真実です。 1991 年頃、母国語が同じで英語が第二言語にすぎない場合でも、多くのハッカーが技術的な議論で英語を使用していることを知りました。私が知っている報告によると、現在英語のユーザーが他の言語よりも多いそうです。技術的な語彙が豊富なので、仕事に非常に適したツールです。同様の理由で、英語の技術書の翻訳は (たとえ翻訳されたとしても) 満足のいくものではないことがよくあります。

フィンランド人の Linus Torvalds は、自分のコードに英語でコメントしています (明らかに、これは彼にとって偶然ではありません)。彼の流暢な英語力は、世界的な Linux 開発者コミュニティを管理する上で重要な要素となっています。これは学ぶ価値のある例です。

それでは、初心者として、どのように学習を始めればよいでしょうか?

1. コンピューターの仕組み

基礎学習のこの部分を完了するには、さまざまな開始点から選択できます。コンピューターを定期的に使用することから始めることもできます。明日から始めましょう。学習するプログラミング言語を選択することから始めます (ここで注意: 初心者はどのような言語があるのか​​理解できず、混乱しやすい可能性があります)、またはフォーラムに行くか、本を購入します。開始チャンネルは多数あり、どれを選択するかによって異なります。

最初にプログラミング言語から始めることをお勧めしますが、それに固執する必要があります。プログラミング言語を選択するときに諦めずに、最初から最後まで学習してください。ここで言語を推奨するわけではありません。自分でゆっくり学習して、好きな言語を選択してください。 (理解の過程で混乱を感じるのは正常です)

ただし、これは一部にすぎず、理解する必要があるハードウェアの知識もいくつかあります。たとえば、フォン・ノイマン構造とは何でしょうか?初心者は中途半端にならずに、まず先人が教えてくれた最も重要なことを学び、それからそれを拡張するのが最も安全です。

ご存知のとおり、コンピュータはソフトウェアとハ​​ードウェアから構成される機械であり、ハードウェアはトラック、ソフトウェアはスポーツカーであり、スポーツカーがトラック上を走行してさまざまなデータ形式の表示を形成します。これは視覚的な例であり、実際のハードウェアやソフトウェアとは異なりますが、初期の段階でそれを理解するには、精度を放棄して粗さを求める必要があります。

上記の提案は、プログラミングから学び始めることです。広い視野で、ソフトウェアから始めましょう。ハードウェアはすでに設計され、完成しているので、コンピューターの操作にはほとんど関係ありません。理解できる人。ハードウェア あなたの目的はコンピュータを構築することではなく、ハッキングすること、コンピュータの動作を制御することであるため、コンピュータの操作はあまり得意ではないかもしれません。そのため、ソフトウェアはハードウェアよりも優先されます。

したがって、プログラミング言語を見つけて、それを使い続けてください。絶対にそれを使い続けてください (私はハッカーマスターになりたい人を指します。あなたの目標が小規模な侵入を行うことである場合は、コンピューターについてある程度の知識を持ってください。基本的な作業プロセスは必要ありません)言語を学んだ後、あなたは大きく進歩し、そのとき初めて思考が明確になり、今日私が話していることが理解できるようになります。どの言語を学ぶべきかについては、以前にも「お勧めできません。自分で探求する必要があります。」と言いました。

2. コンピュータ ネットワークの基礎

言語でプログラムできるようになると、コンピュータがどのように動作するのかを深く理解できるようになります。コンピュータ上で実行されるソフトウェアとプログラム (どのように動作するのか) 、なぜ実行できるのですか? これらの潜在的な質問は、学習の過程で簡単に解決されます。この時点で問題の境界を覚えておいて、質問の境界を広げすぎないでください)、いくつかのインストール パッケージなど、皆さんはそれらが何のためにあるのか知っています。

そうすれば、すべてのソフトウェア プログラムをまとめた「ネットワーク プロトコル」を学ぶのは簡単です。

ネットワーク プロトコルの本質はプログラムであり、その機能は、セキュリティを少し追加して、コンピュータが相互に通信できるようにすることです。

前のパートでコンピューターの動作原理を学習し終えたら、このパートを学習するのは非常に簡単になります。しかし、ハッカーの影響は主にインターネットから来るので、これは絶対に重要です。広く相互接続されたインターネットがなければ、ハッカーは目の前のコンピュータを制御することしかできませんが、遠隔から制御して攻撃することはできません。コンピュータ ネットワークを学ぶと、その鍵が理解できるようになります。ハッカー攻撃のポイント 遠隔からの方法は数多くありますが、ハッカーの偉大さと謎のほとんどはインターネットによってもたらされます。

3. ハッカーの基礎

ハッカーの基礎は、上記 2 つの基礎を学んだ後でもハッキング プロジェクトに侵入して実行する方法がまだわからない人のために用意されています。 、ハッカーがいます 才能のある人が上記の2つの部分を学んだ後、彼はコンピュータを使用してネットワークを通じて他のコンピュータシステムに侵入し、情報を盗む方法などを知るでしょう。

まだ理解していない場合は、ハッキングの基礎を学ぶ必要があります。この分野の先輩が書いた本がたくさんあるので、体系的に調べればすぐに理解できます。先輩たちの経験をもとに、異なる思考モードに切り替えることができます。

以上がハッキングをゼロから学ぶ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート