オルタナティブ・ブログ > mtaneda ブログ >

中小企業の開発者は会社で何をしているのか

nmap が遅い理由がわかったので改造してみた

»

高速なポートスキャンツールとして知られているnmapですが、低スペックなコンピュータで実行すると意外と遅いです。
特にほかのツールではなかなか代用が利かないOS Detectionが・・・

OS Detection機能を使うと、かなり的確に調査対象としたコンピュータのOSを言い当ててくれておもしろいです。

しかし、これを低スペックなコンピュータで実行すると、数十秒もかかってしまいます。

ソースをデバッガで追ってみたところ、parse_fingerprint_reference_file() というOS固有の情報を保持しているテキストファイルを読み込む関数の処理が遅いことがわかりました。
nmapを組み込み機器に入れてみたいので、parse_fingerprint_reference_file() をスキャンするたびに何度も実行しないように、常駐するバージョンを作ってみました。

とりえあずうまくいった模様です。
こんな需要ってあるのでしょうか・・・

root@debian:/tmp# nc -U nmap.sock
192.168.xxx.1
MAC Address: 00:xx:yy:zz:00:08
Device type: general purpose|media device|phone
Running: Apple Mac OS X 10.7.X|10.9.X|10.8.X, Apple iOS 4.X|5.X|6.X
Comment(0)