「Python 3」と「Python 2」の“決定的な違い”とは?ペネトレーションテストのためのPython【中編】

「Python 2」と「Python 3」にはさまざまな違いがある。ペネトレーションテストでの「Python」活用を推奨する有識者が、特筆すべき両者の違いを解説する。

2022年02月02日 05時00分 公開
[Kyle JohnsonTechTarget]

関連キーワード

プログラミング | セキュリティ


 前編「初めてのプログラミングには『Python』を選ぶべき“セキュリティ的な理由”」は、実際にシステムに侵入して脆弱(ぜいじゃく)性を確認する「ペネトレーションテスト」(侵入テストとも)の担当者が、プログラミング言語「Python」を習得すべき理由を解説した。この主張は、ペネトレーションテストへのPython活用を解説した書籍『Black Hat Python, 2nd Edition: Python Programming for Hackers and Pentesters』の著者、ジャスティン・サイツ氏とティム・アーノルド氏による。Pythonを習得する上で理解しておくべきポイントを両氏に聞いた。

―― 「Python 3」だけを学習するのがお勧めですか。「Python 2」も学習する意味はありますか。

アーノルド氏 Python 2とPython 3の両方の知識があると役に立つ。Python 2の知識を持っていることは重要だ。Python 3を使用して新しいプログラムを開発する場合がほとんどだとしても、Python 2の知識は依然必要になる。Python 2で記述された概念実証(PoC)コードやシェルスクリプト(OSの基本的なユーザーインタフェース「シェル」で動作する簡易的なプログラミング言語)もある。知らないうちに自身のPCにマルウェアを取り込まないようにするためにも、Python 2の知識は欠かせない。Python 3の知識があれば、Python 2を学習するのは難しくない。

Python 2とPython 3の大きな違い

―― Python 2とPython 3にはどのような違いがありますか。

アーノルド氏 Python 2とPython 3には知っておくべき違いがある。個人的に重要だと感じるのは、Python 3で文字列を扱う際の標準文字コードが「Unicode」になったことだ。Python 2では、開発者がプログラム内に文字コードを変換する処理を明示的に記述する必要があり、これによってしばしば問題が発生した。例えば操作対象の文字列の文字コードが分からない場合だ。Python 3は全ての文字列データをUnicode文字列として扱うため、Python 2より簡単に文字列を読み取ることができる。

 Python 2とPython 3の最大の違いは、プログラムの水面下での処理にある。一例がソケット通信(プログラム同士の通信)だ。Pythonのソケット通信は、文字列をバイナリデータとして送受信する。Python 2とPython 3ではバイナリデータを保持する変数の型が異なるので、注意しなければならない。

 個人的に気に入っていることを1つ紹介しよう。Python 2は「print」の後に半角スペースと表示したい文字列を記述する必要がある。Python 3はprintが関数になり、表示したい文字列をかっこ内に記述する。これは軽微ではあるが、見た目で判断できる構文の違いだ。Pythonプログラムのソースコードでprintがどのように使用されているかを確認すれば、Python 2とPython 3のどちらでソースコードが記述されているのかが分かる。

 もう一つの大きな変化は、Python 3で「コンテキストマネージャ」が使えるようになったことだ。Python 3では、「with」文を使って関数を実行するよう記述すると、コンテキストマネージャがその関数を安全に終了する。外部ファイルなどのリソースを読み込む場合を考えてみよう。リソースのクローズは忘れがちな処理で、開いたまま処理を終了してしまうことは少なくない。「with open(ファイル名)」と記述すれば、開いたファイルを閉じるための処理内容を記述する必要がない。ソースコードの実行対象がブロック(処理のまとまり)の外になった瞬間に、コンテキストマネージャがファイルを閉じる。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

鬮ォ�エ�ス�ス�ス�ス�ス�ー鬯ィ�セ�ス�ケ�ス縺、ツ€鬩幢ス「隴取得�ス�ク陷エ�・�ス�。鬩幢ス「�ス�ァ�ス�ス�ス�、鬩幢ス「隴主�讓滂ソス�ス�ス�ス鬩幢ス「隴趣ス「�ス�ス�ス�シ鬩幢ス「隴乗��ス�サ�ス�」�ス�ス�ス�ス

製品資料 ゾーホージャパン株式会社

システムに侵入され深刻な被害も、サービスアカウントの不正利用をどう防ぐ?

サービスアカウントによる特権アクセスの管理に頭を悩ませるセキュリティ担当者は少なくないだろう。重要なシステムやデータを守るには、こうした特権アクセスを適切に管理し、アカウントを保護することが求められる。

製品資料 ゾーホージャパン株式会社

“人間ではない”サービスアカウントに潜む、3つのセキュリティリスクとは?

サービスアカウントの悪用や誤用が問題になっている。システムやアプリケーションへのアクセスに特別な権限を有しているだけに、悪用されれば大きな被害につながる可能性もある。管理・保護のベストプラクティスをチェックしよう。

製品資料 Splunk Services Japan合同会社

デジタル決済の普及で金融犯罪や不正行為が急増、被害を防ぐために必要なものは

eコマースの登場以降、デジタル決済の選択肢は急速に広がり、利用者の利便性は飛躍的に高まった。一方で、それぞれの決済方法を利用するユーザーを標的とした金融犯罪や不正行為も爆発的に増加している。どう防げばよいのだろうか。

製品資料 Splunk Services Japan合同会社

金融犯罪を未然に防止、システムが複雑化する中で取るべき対策とその実装方法

金融サービス業界において、金融犯罪を防ぐための対策は不可欠だ。デジタルサービスが増え、システムが複雑化する中で、どう対策を実践していくか。取引詐欺やマネーロンダリングなど4つのシーンを取り上げ、具体的な対策を解説する。

製品資料 グーグル合同会社

ゼロトラストセキュリティのハードルを下げる、“ブラウザ”ベースという視点

クラウドシフトが進み、リモートワークも普及した現代のIT環境で重要性が高まっているのが、ゼロトラストに基づくセキュリティ対策だ。その新たなアプローチとして、ブラウザベースの手法が注目されている。どういった手法なのか。

鬩幢ス「隴主�蜃ス�ス雜」�ス�ヲ鬩幢ス「隰ィ魑エツ€鬩幢ス「隴趣ス「�ス�ス�ス�シ鬩幢ス「�ス�ァ�ス�ス�ス�ウ鬩幢ス「隴趣ス「�ス�ス�ス�ウ鬩幢ス「隴趣ス「�ス�ソ�ス�ス�ス雜」�ス�ヲ鬩幢ス「隴趣ス「�ス�ソ�ス�スPR

From Informa TechTarget

お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。

驛「�ァ�ス�「驛「�ァ�ス�ッ驛「�ァ�ス�サ驛「�ァ�ス�ケ驛「譎「�ス�ゥ驛「譎「�ス�ウ驛「�ァ�ス�ュ驛「譎「�ス�ウ驛「�ァ�ス�ー

2025/04/16 UPDATE

  1. 驛「譎「�ス�ゥ驛「譎「�ス�ウ驛「�ァ�ス�オ驛「譎「�ソ�ス驛「�ァ�ス�ヲ驛「�ァ�ス�ァ驛「�ァ�ス�「鬯ョ�ョ�ス�ス陞サ�ョBlack Basta驍オ�コ�ス�ョ髣費スィ陞溷・�スス�ゥ�ス�ア驍オ�コ隴エ�ァ�ス�オ遶乗劼�ソ�ス驍オ�イ�つ€髫エ荳橸スシ�ア�ス閾・�ク�コ闕オ譏カ�ス驍オ�コ�ス�ェ驍オ�コ�ス�」驍オ�コ雋顔§諢幃垈�ヲ�ス�ス�つ€�ス�ス�ス�ス驕ッ�カ隲帛沺縺滄ャョ�サ�ス�ウ驕ッ�カ�ス�ス
  2. 驛「譎「�ス�ゥ驛「譎「�ス�ウ驛「�ァ�ス�オ驛「譎「�ソ�ス驛「�ァ�ス�ヲ驛「�ァ�ス�ァ驛「�ァ�ス�「髫ー�セ�ス�サ髫ー�ヲ�ス�ス�ス�ス驕ッ�カ隲幢スキ陟趣スカ鬨セ�カ陝ッ�ゥ�つ€隴擾スエ遯カ�イ30�ス�ス�ス�ス�ス�ク陝カ蜊債€�つ€鬩墓ゥク�ス�シ驍オ�コ陋幢スオ遶企��ク�コ闕ウ蟯ゥ�ス驍オ�コ�ス�」驍オ�コ雋�スス陞ウ蛟ャム€�ス�ェ鬮「�ス�ス�ス�ス�ス鬮ォ�ア�ス�、鬩阪q�ソ�ス
  3. 驛「譎「�ス�ゥ驛「譎「�ス�ウ驛「�ァ�ス�オ驛「譎「�ソ�ス驛「�ァ�ス�ヲ驛「�ァ�ス�ァ驛「�ァ�ス�「驍オ�コ�ス�ョ髯キ莨�ソス驢搾ソス髣比シ夲スス�・髣包スウ驗呻スォ遯カ�イ驕ッ�カ隲帛イゥ譌コ驍オ�コ�ス�ョ髣憺屮�ス�オ髯キ闌ィ�ス�・鬩搾スィ霑ケ螟イ�ス�キ�ス�ッ驕ッ�カ隴擾スエ�ス螳夲スャ雋サ�ス�ェ鬨セ蛹�スス�ィ驕ッ�カ髯ャ諷環€隰悟・�スス�ヲ驕擾スゥ驍�ソス�ク�コ隴∵腸�シ�ス�ケ�ァ陟募ィッ陞コ驛「譎「�ス�ェ驛「�ァ�ス�ケ驛「�ァ�ス�ッ驍オ�コ�ス�ィ驍オ�コ�ス�ッ�ス�ス�ス�ス
  4. 驍オ�イ隰疲サゑスソ�ス髯懆カ」�ス�ィ髯具スケ隰費スカ�ス�ス驍オ�コ髯よあ驍オ�イ鬮ヲ�ェ遯カ�イ200�ス�ス�ス�ス�ス�「陷会スア�つ€�つ€鬨セ蠅難スサ髮」�ソ�スAI驍オ�コ�ス�ァ髮朱ッ会スス�セ髮趣スシ�ス�ォ驍オ�コ陷キ�カ�ス迢暦スェ�カ隲橸スコ髯ャ�ク驛「譎「�ソ�ス�ス�ス驛「譎「�ス�ォ驕ッ�カ隴擾スエ�ス�ス髯橸スウ雋企屮�ソ�ス
  5. 驍オ�イ霑ケ螟イ�ス�コ�ス�ォ髣比シ夲スス�」鬯ゥ�・闔会ス」�ス螳夲スャ�セ�ス�ッ髫ー�ス�シ謚ォ魘ャ驍オ�イ陜」�コ�ス�サ�ス�・髯樊サ薙§�ス�ス驛「譎「�ス�ゥ驛「譎「�ス�ウ驛「�ァ�ス�オ驛「譎「�ソ�ス驛「�ァ�ス�ヲ驛「�ァ�ス�ァ驛「�ァ�ス�「髯晢ソス�ス�セ鬩包スイ隰費スカ�ス�ス髫エ蟷「�ス�ャ髯溷�萓ュ遶企豪�ク�コ郢ァ�ス�ス迢暦スク�コ�ス�ョ驍オ�コ陷茨スキ�ス�シ�ス�ス
  6. 驍オ�コ�ス�セ驍オ�コ髴域攸�ー驍オ�コ�ス�ョ驍オ�コ郢ァ�ス�ス讙趣スク�コ陞ス�ッ�つ€隲帑シ夲スス�ク�ス�ク鬮ォ遨ゑスケ譏カ譁。驕ッ�カ隴擾スエ�つ€�つ€髮趣ソス�ス�エ髯キ�ソ�ス�イ驍オ�コ�ス�ォ髫ケ�ソ闕オ譎「�ス邇厄スォ�ス�ス�ス�ス�ス�ス�ア髮句�コ�ク蟯ゥ譁。驍オ�コ�ス�ス�ス�コ陋滂スカ�ス�サ�ス�カ5鬯ゥ蛹�スス�ク
  7. 髫イ�ス�ス�ス�ス�ス�ス�ア驍オ�コ�ス�ッ驍オ�コ�ス�ゥ驍オ�コ髦ョ蜊搾スー驛「�ァ騾包スサ�ス�シ闕ウ螂�スス讙趣スケ�ァ陷茨スキ�ス�シ雋�シ可€�つ€髯樊サゑスス�ァ髣費スィ遶擾スオ�ス�・�ス�ュ驍オ�コ�ス�ョ驍オ�イ陟暮ッ会スシ�ス驍オ�コ闕ウ迺ー�ァ驛「�ァ驗呻スォ�つ€鬮ヲ�ェ�ゑスー驛「�ァ髣�スス�ス�ヲ闕オ譏カ譁。驍オ�コ�ス�ヲ驍オ�コ鬮ヲ�ェ隨ウ�ス�ゥ�・陷・�イ邵コ蟷�ア橸ソス�セ鬩包スイ闕オ貊ゑスス�ョ�ス�ス陜ィ蝣、�ク�コ�ス�ィ驍オ�コ�ス�ッ
  8. 髴取サゑスス�。髫エ竏晉函邵イ蝣、�ク�イ陟募セ娯落驛「�ァ�ス�ュ驛「譎「�ス�・驛「譎「�ス�ェ驛「譎「�ソ�ス邵コ�ス�ク�コ�ス�ョ驛「譎丞ケイ�取コス�ク�イ鬮ヲ�ェ�ス蟶敖€�カ�ス�ョ髫ー蜴�スソ�ス隨ウ迢暦スケ�ァ鬩ォツ€�つ€隲帷ソォ窶イ驛「譎「�ス�ウ驛「譎「�ス�ゥ驛「�ァ�ス�、驛「譎「�ス�ウ髯晢ソス�ス�ヲ鬩怜雀�ス邵コ諷包スケ譎「�ス�シ驛「�ァ�ス�ケ驕ッ�カ�ス�ス5鬯ゥ蛹�スス�ク
  9. 驛「譎「�ス�ゥ驛「譎「�ス�ウ驛「�ァ�ス�オ驛「譎「�ソ�ス驛「�ァ�ス�ヲ驛「�ァ�ス�ァ驛「�ァ�ス�「髫ー�セ�ス�サ髫ー�ヲ�ス�ス�ス螳壽╂陷会スア�ス�ス驍オ�コ�ス�ヲ驛「�ァ郢ァ�スツ€霑ケ螟イ�ス�コ�ス�ォ髣比シ夲スス�」鬯ゥ�・闔会ス」�ス螳夲スャ�セ�ス�ッ髫ー�ス�シ雋サ�ス蜀暦スク�コ�ス�ェ驍オ�コ闕ウ蟯ゥ�ス驍オ�コ�ス�」驍オ�コ雋�シ可€鬮ヲ�ェ�ス�ス驍オ�コ�ス�ッ驍オ�コ�ス�ェ驍オ�コ隲帷腸�ー
  10. 髯溷「鍋袖�ス�・�ス�ュ髯キ�ゥ�ス�。驍オ�コ�ス�ォ驛「�ァ陋ケ�サ�ス迢暦スケ譎「�ソ�ス�ス�ス驛「�ァ�ス�ソ髮趣スャ遶乗劼�ソ�ス驍オ�イ遶丞」コ關ス驍オ�コ�ス�ョ髯晢ソス�ス�セ鬩包スイ隰費スカ邵イ螳壽」費ソス�ァ髣包スウ闔��・�ス�、�ス�ォ�ス�ス雋�シ可€�つ€髯キツ€�ス�ス�主、仙錐�ス�ス�ス�ィ遶丞、イ�ソ�ス驍オ�コ髦ョ蜷ョ魘ャ鬯ョ�ヲ�ス�イ驍オ�コ�ス�ス

「Python 3」と「Python 2」の“決定的な違い”とは?:ペネトレーションテストのためのPython【中編】 - TechTargetジャパン セキュリティ 鬮ォ�エ�ス�ス�ス�ス�ス�ー鬯ィ�セ�ス�ケ�ス縺、ツ€鬯ョ�ォ�ス�ェ髯区サゑスソ�ス�ス�ス�ス�コ�ス�ス�ス�ス

TechTarget鬩幢ス「�ス�ァ�ス�ス�ス�ク鬩幢ス「隴趣ス「�ス�ス�ス�」鬩幢ス「隴乗��ス�サ�ス�」�ス雜」�ス�ヲ 鬮ォ�エ�ス�ス�ス�ス�ス�ー鬯ィ�セ�ス�ケ�ス縺、ツ€鬯ョ�ォ�ス�ェ髯区サゑスソ�ス�ス�ス�ス�コ�ス�ス�ス�ス

鬩幢ス「隴取得�ス�ク陷エ�・�ス�。鬩幢ス「�ス�ァ�ス�ス�ス�、鬩幢ス「隴主�讓滂ソス�ス�ス�ス鬩幢ス「隴趣ス「�ス�ス�ス�シ鬩幢ス「隴乗��ス�サ�ス�」�ス�ス�ス�ス鬩幢ス「隴趣ス「�ス�ス�ス�ゥ鬩幢ス「隴趣ス「�ス�ス�ス�ウ鬩幢ス「�ス�ァ�ス�ス�ス�ュ鬩幢ス「隴趣ス「�ス�ス�ス�ウ鬩幢ス「�ス�ァ�ス�ス�ス�ー

2025/04/16 UPDATE

ITmedia マーケティング新着記事

news026.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年4月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...

news130.jpg

Cookieを超える「マルチリターゲティング」 広告効果に及ぼす影響は?
Cookieレスの課題解決の鍵となる「マルチリターゲティング」を題材に、AI技術によるROI向...

news040.png

「マーケティングオートメーション」 国内売れ筋TOP10(2025年4月)
今週は、マーケティングオートメーション(MA)ツールの売れ筋TOP10を紹介します。