ペネトレーションテスト担当者にとって、「Python」は優先して習得すべきプログラミング言語だと専門家は推奨する。それはなぜなのか。そもそもPythonは学びやすいのか。
実際にシステムに侵入して脆弱(ぜいじゃく)性を確認する「ペネトレーションテスト」(侵入テストとも)の経験を積もうとする人にとって、「Python」は習得する価値のあるプログラミング言語だ。Pythonは、ペネトレーションテスト担当者が
といった、ペネトレーションテストで重要なタスクを実行するプログラムを作成するのに役立つ。
Pythonがペネトレーションテスト担当者にとって理想的なプログラミング言語であり続けている理由とは何か。「Python 2」と「Python 3」の違いとは。ペネトレーションテストへのPython活用を解説した書籍『Black Hat Python, 2nd Edition: Python Programming for Hackers and Pentesters』の著者、ジャスティン・サイツ氏とティム・アーノルド氏に話を聞いた。
―― Pythonが、学習すべき重要なプログラミング言語である理由は何でしょうか。
アーノルド氏 Pythonは最初に学習するプログラミング言語として優れており、大学がプログラミングを教える際にもよく使う。Pythonでは開発者が「integer」「float」といった変数の型を指定しなくても構わない。変数の型を指定しなければならないプログラミング言語がある一方で、Pythonはプログラムが自動的に変数の型を推定する。この動的な型付け方法を「ダックタイピング」と呼ぶ。開発者はダックタイピングにより、あるPythonプログラムで使用したソースコードやプログラミング手法を、そのプログラムが扱うデータの型に関係なく、他のPythonプログラムにも流用できる。
Pythonでのプログラミングにおいて開発者は、インデント(段落単位での字下げ)を使ってソースコード中のブロック(処理のまとまり)を定義しなければならない。私がPythonのソースコードを初めて見たとき、余白部分が多くて好きになれなかった。だがこのPythonにおけるインデント利用ルールの影響で、他のプログラミング言語での開発でもインデントを使うようになった。インデントの利用はいまや私の習慣だ。
Pythonは主要なプログラミング言語の中では比較的習得しやすい。私にPythonの学習を勧めた人は、「Pythonの開発では、疑似コード(プログラムの設計を確認するための文章)を記述すれば、それが実行可能プログラムになる」と話した。これはあながち間違いではない。Pythonはソースコードがシンプルで読みやすく、開発したプログラムが最初から正しく動作することもしばしばある。
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。
【保存版】2025年のSNSはこうなる(無料eBook)
AIの進化や政治の激動がSNSを大きく変えつつあります。ソーシャルエンゲージメントを促進...
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年2月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...
XがAIチャットbot「Grok」に新機能を追加 OpenAIやGoogle、Metaとの競争の行方は?
Xが、AIチャットbot「Grok」に自分のプロフィール情報を伝えられる新たな機能追加を実施...