Nmapの日本語ドキュメントを更新した話&その方法の解説

第2回の今回は、Nmapの日本語ドキュメントの問題点と、そのコントリビュート方法について紹介します。

小竹 泰一

2024年8月23日 6:30

はじめに

株式会社ステラセキュリティ 取締役CTOの小竹(@tkmru)です。

先日、Nmapというポートスキャナの日本語ドキュメントにコントリビュートしました。本記事では、日本語ドキュメントの現状とコントリビュート方法の解説を行います。

デファクトスタンダードのポートスキャナNmap

Nmap(Network Mapper)は、セキュリティ業界でデファクトスタンダードのポートスキャナです。ポートスキャンを行えるだけではなく、Luaスクリプトによって機能を拡張でき、多数の脆弱性を攻撃するためのスクリプトがデフォルトで含まれています。

1997年から存在するツールで、「マトリックス リローデッド」や「ダイ・ハード4.0」などの映画の中のハッキングシーンにもたびたび登場しており、セキュリティエンジニアであれば誰もが知る有名ツールです。Nmapが登場した映画はこちらにまとめられているので興味がある方は見てください。

日本語ドキュメントは古く役に立たない...

そんな有名なNmapですが、日本語ドキュメントは長年更新されていませんでした。Nmapの最新バージョンは7.94ですが、日本語ドキュメントはバージョン4.50*1相当のものになっています。そのため、コマンドライン引数に実際とは違うものが記載されているオプションが多数あり、それを鵜呑みにしていると、正しく使うことができないという状況です。

*1: 日本語ドキュメントが準拠しているバージョン情報については以前GitHubのIssueで問い合わせました。https://github.com/nmap/nmap/issues/2243

というわけで、コントリビュートしました!

以前より、時間を指定するオプションの引数が現在のバージョンではtimeなのに、millisecondsと日本語ドキュメントに記載されているのが気になっていました。例えば、スキャンに時間がかかるホストをスキャンした際に、一定時間経過したらスキャンを停止する--host-timeoutオプションの引数の説明がこれに該当します。timeは、<数値><単位>というフォーマットを意味します。例えば、30分と指定する場合は30m、10秒と指定する場合は10sというふうに記述します。

そこで、このような間違った説明が頻出する「タイミングとパフォーマンス」のページにコントリビュートを行い、引数の表記を正しいものへと修正を行いました。該当コミットはこちらです。

コントリビュートするには

日本語ドキュメントにどのようにしてコントリビュートを行うのか解説します。NmapにはNmap Man Page Translation FAQという翻訳に関するガイドラインが存在します。NmapのドキュメントはXMLで文書を記述できるDocBook XMLというフォーマットで記述されており、そのフォーマットの説明が書かれています。

日本語ドキュメントのファイルはdocs/man-xlate/nmap-man-ja.xmlに、英語ドキュメントのファイルはdocs/refguide.xmlに存在します。ファイルに変更を加えたら、作者にメールするか、プルリクエストを送ることで反映してもらえます。上記ガイドラインには、メールするように書かれていますが、実際はプルリクエストでも大丈夫です。

まとめ

この記事では、Nmapの日本語ドキュメントの問題点とコントリビュート方法を紹介しました。日本語ドキュメントに問題を感じているものの、コントリビュート方法が分からなかった人も多いのではないかと思います。

今回、私が更新した部分はほんの一部で、まだまだ直さないといけないところが残されています。世界平和のために、日本語話者のNmapユーザーのみなさんにコントリビュートしていただけるとうれしいです。

※本記事は、株式会社ステラセキュリティが配信しているコンテンツ「Sterra Security Tech Blog」からの転載です。
元記事についてはこちらをご覧ください。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30