現役ペンテスト技術者が選ぶ 使えるセキュリティツール(22) 「パケットモニタリングツールの王道 −tcpdump」 | ScanNetSecurity
2021.06.20(日)

現役ペンテスト技術者が選ぶ 使えるセキュリティツール(22) 「パケットモニタリングツールの王道 −tcpdump」

このコーナーでは、現役のペネトレーションテスト技術者が、使えるセキュリティツールを、ペンテストの現場の視点から紹介します。

特集 特集
このコーナーでは、現役のペネトレーションテスト技術者が、使えるセキュリティツールを、ペンテストの現場の視点から紹介します。

◆名称: tcpdump
◆配布制限: フリーウェア
◆商用版の有無: 無
◆類似ツール: windump
◆DL URL: http://www.tcpdump.org/
◆対応OS: Unix系OS、OSX
◆分野 パケットモニタリング
◆コマンド一覧:

(1) 基本項目と概要

tcpdumpは、コマンドライン上で利用することのできるパケットモニタリングツールである。Unix系OSには標準でインストールされていることも多いため、ご存知の方も多いのではないだろうか。パケットモニタリングツールの王道といっても過言ではないだろう。動作には、Linux系OSでは「libpcap」Windows系OSでは「Winpcap」が必要である。

Winpcapについては、下記URLからダウンロードしGUIのインストーラにしたがって進めるだけなので割愛させていただき、Libpcapのインストールを紹介させていただく。

Winpcap配布サイト
http://www.winpcap.org/

Libpcapはtcpdumpと同じサイトで配布されている。

Libpcap配布サイト
http://www.tcpdump.org/

公式サイトからダウンロードし、いきなりインストール。

といきたいところだが、予めOSのインストール時にlibpcapがインストールされている可能性があるため、まずは、libpcapがインストールされているかどうか、また、インストールされていればバージョンは何かということを調べておこう。

下記はlibpcapがインストールされている環境で実行した結果である。

# rpm -q libpcap
libpcap-0.8.3-10.RHEL4

上記では、libpcap-0.8.3-10.RHEL4がインストールされているということが分かる。

最新版をインストールしたい場合は、一旦rpmをアンインストールするか、パッケージのアップデートを行うと良いだろう。以下に、ソース(公式サイト配布)からのインストールとyumコマンドによるアップデートを示す。

【ソースからのインストール】

tar zxvf libpcap-0.9.8.tar.gz
cd libpcap-0.9.8
./configure
make
make install

【rpmコマンドによるアップデート】

# yum update libpcap
〜略〜
=============================================================================
Package Arch Version Repository Size
=============================================================================
Updating:
libpcap i386 14:0.8.3-12.el4_6.1 update 182 k

Transaction Summary
=============================================================================
Install 0 Package(s)
Update 1 Package(s)
Remove 0 Package(s)
Total download size: 182 k
Is this ok [y/N]: y

〜略〜

Updated: libpcap.i386 14:0.8.3-12.el4_6.1
Complete!


(2) コマンドサンプル

tcpdumpは、単純に実行するだけであれば以下の書式のように実行すればよい。

tcpdump -i モニタリングするNIC(Network Interface Card)

以下は、eth0を使用したパケットのモニタリングである

# tcpdump -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:11:54.470360 IP 10.100.0.143.ssh > 10.100.0.114.2065: P 4100698772:4100698888(116) ack 4199426591 win 7504
15:11:54.522279 IP 10.100.0.143.ssh > 10.100.0.114.2065: P 116:232(116) ack 1 win 7504
15:11:54.524329 IP 10.100.0.114.2065 > 10.100.0.143.ssh: . ack 232 win 63176

(注)使用可能なNICを調べたい場合は、「-D」オプションを用いればよい

# tcpdump -D
1.eth0
2.any (Pseudo-device that captures on all interfaces)
3.lo

詳しいコマンドやフィルタについては
http://grin.flagbind.jp/archives/2005/04/tcpdump.html
を参照いただきたい。

(3)使用例とTIPS、検査者の視点から

かなり、多くのオプションがあることがお分かりいただけたかと思う。初めのうちは、オプションの多さに戸惑うかと思うが、パケットを見たり、保存する程度であれば少ないオプションでも利用可能であることを考えると、初心者から熟練者まで幅広く使うことのできるツールではないだろうか。ちなみに、筆者が初めて触ったパケットモニタリングのツールはこの「tcpdump」だったが、今でも愛用している。

コマンドラインということで取っ付きにくい部分もあるかもしれないが、その分、安定した動作をしてくれる。後にこのツールを使っていて良かったと思う日がくることだと思う。

また、「tcpdump」のManpage(マニュアルページ)の説明には以下のように書かれている。

tcpdump は真偽値の 条件式 に一致するネットワークインターフェイス上のパケットのヘッダを表示する。
( http://www.linux.or.jp/JM/html/tcpdump/man1/tcpdump.1.html より引用)

Webアクセスのパケットを一度でも見たことがあれば分かるのだが、一度のアクセスでかなりの数のパケットを受信することになる。すべてログを残し、全てを見るといった場合には、問題ないのだが、CUI環境で調査したい目的のパケットがある場合には、多くの関係のないパケットは、ノイズ以外の何者でもない。

tcpdumpは、真偽値や条件式を駆使することで本来の力を発揮するといったも過言ではないだろう。

実際に使っていく上で学ぶことも多いと筆者は考えている。「習うより慣れろ」を体言しているツールではないだろうか。おそらく、このツールは非常に有用なツールだと認識することができたときが、慣れ始めなのではないだろうか。

筆者は過去に

tcpdump -i eth0 host www.yahoo.com and dst port 80

と実行し、「www.yahoo.co.jp」にアクセスしても一切、パケットの表示がされないが「www.yahoo.com」にアクセスしたときには…

【執筆:NTTデータ・セキュリティ株式会社 辻 伸弘】

【関連記事】
現役ペンテスト技術者が選ぶ 使えるセキュリティツール(21)
「パケットには真実がある − パケットモニタリング系ツール」
https://www.netsecurity.ne.jp/3_11732.html
──
※ この記事は Scan購読会員向け記事をダイジェスト掲載しました
購読会員登録案内 http://www.ns-research.jp/cgi-bin/ct/p.cgi?w02_ssw

《ScanNetSecurity》

PageTop

特集

アクセスランキング

  1. パラマウントベッド従業員の仮想デスクトップ環境がウイルス感染、過去のやりとりを装った不審メールを確認

    パラマウントベッド従業員の仮想デスクトップ環境がウイルス感染、過去のやりとりを装った不審メールを確認

  2. スポーツクラブNASへランサムウェア攻撃、会員管理システムに障害発生

    スポーツクラブNASへランサムウェア攻撃、会員管理システムに障害発生

  3. 富士通のプロジェクト情報共有ツールへの不正アクセス、総務省でも被害確認

    富士通のプロジェクト情報共有ツールへの不正アクセス、総務省でも被害確認

  4. 「糖質制限ドットコム」に不正アクセス、1年分の決済情報が流出

    「糖質制限ドットコム」に不正アクセス、1年分の決済情報が流出

  5. 富士フイルムへのランサムウェア攻撃、外部への情報流出の痕跡は確認されず

    富士フイルムへのランサムウェア攻撃、外部への情報流出の痕跡は確認されず

  6. やけど虫の駆除方法、体液が皮膚に付いてしまった場合の対策について

    やけど虫の駆除方法、体液が皮膚に付いてしまった場合の対策について

  7. クラウドの脅威はプロバイダ起因から利用者起因にシフト…CSAJの11大脅威

    クラウドの脅威はプロバイダ起因から利用者起因にシフト…CSAJの11大脅威

  8. 病院向け情報管理システム OpenClinic GA に複数の脆弱性

    病院向け情報管理システム OpenClinic GA に複数の脆弱性

  9. かくれ脱水から脱水状態に進行したときに起こるサインを解説(「教えて!「かくれ脱水」委員会)

    かくれ脱水から脱水状態に進行したときに起こるサインを解説(「教えて!「かくれ脱水」委員会)

  10. Apache HTTP Web Server 2.4 の複数の脆弱性へアップデート公開

    Apache HTTP Web Server 2.4 の複数の脆弱性へアップデート公開

ランキングをもっと見る