Linuxでパケットをキャプチャ(ダンプ)する

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips, ネットワーク > Linuxでパケットをキャプチャ(ダンプ)する
「ネットワークの通信内容を確認したい」「特定のホスト宛てのパケットだけを見たい」
そんなときに使うのが tcpdump コマンドです。

tcpdump はLinuxでネットワークパケットをキャプチャ(ダンプ)するためのコマンドです。
ファイアウォールの動作確認、通信障害の調査、セキュリティ監査など、現場で幅広く使われます。

この記事では、tcpdump の基本的な使い方から、フィルタリング・ファイル保存まで解説します。
【この記事でわかること】
・tcpdump -i eth0 でネットワークインターフェースを指定してパケットをキャプチャできる
・dst 192.168.0.x や port 80 などのフィルタで必要なパケットだけを絞り込める
・tcpdump -w capture.pcap でキャプチャ結果をpcap形式で保存し、Wiresharkで解析できる
・tcpdump -r capture.pcap で保存したキャプチャファイルを後から再表示できる

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

tcpdump の基本的な使い方

1. パケットをキャプチャする

tcpdump をオプションなしで実行すると、デフォルトインターフェースのすべてのパケットが表示されます。

# パケットをキャプチャする(Ctrl+C で終了) tcpdump

Ctrl+C で終了します。

2. インターフェースを指定してキャプチャする

# eth0インターフェースのパケットをキャプチャする tcpdump -i eth0 # 利用可能なインターフェース一覧を確認する tcpdump -D

フィルタリングで必要なパケットだけを表示する

3. 特定のホスト宛てのパケットをキャプチャする

# 特定のIPアドレス宛てのパケットのみ表示する tcpdump -i eth0 dst 192.168.0.162 # 特定のIPアドレスとの通信を双方向でキャプチャする tcpdump -i eth0 host 192.168.0.162

4. 特定のポートのパケットをキャプチャする

# ポート80(HTTP)のパケットのみ表示する tcpdump -i eth0 port 80 # ポート443(HTTPS)のパケットを表示する tcpdump -i eth0 port 443

キャプチャ結果をファイルに保存する

5. テキスト形式でファイルに保存する

# キャプチャ結果をファイルに保存する tcpdump > capture.txt # インターフェースとフィルタを指定してファイルに保存する tcpdump -i eth0 dst 192.168.0.162 > capture.txt

6. pcap形式でファイルに保存する(Wiresharkで開ける)

# pcap形式で保存する(-w でファイル名を指定) tcpdump -i eth0 -w capture.pcap # pcapファイルを読み込んで表示する tcpdump -r capture.pcap

本記事のまとめ

やりたいこと コマンド
全パケットをキャプチャする tcpdump
インターフェースを指定する tcpdump -i eth0
特定ホスト宛てのみ表示する tcpdump -i eth0 dst 192.168.0.162
特定ポートのパケットを表示する tcpdump -i eth0 port 80
ファイルに保存する(テキスト) tcpdump -i eth0 > capture.txt
pcap形式で保存する tcpdump -i eth0 -w capture.pcap

Linuxのネットワーク診断を体系的に身につけたい方へ

tcpdumpはネットワーク障害調査の強力な武器です。使い方を体系的に押さえておくと、問題発生時の原因特定が格段に速くなります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。