MENU

outputパケットキャプチャで不正通信を検知する方法|Wireshark・tcpdumpの使い方と実践的な解析手順

ネットワークを流れる通信の中に不正なものが混じっていても、外からは見えません。ファイアウォールやアクセスログで「何かおかしい」と気づいても、その正体をつかむ手段がなければ対処のしようがありません。

こうした状況で力を発揮するのが「パケットキャプチャ」です。ネットワーク上を流れるデータをそのまま記録し、後から詳細に分析できるこの技術は、不正通信の証拠収集だけでなく、トラブルシューティングや定期監視にも使われています。

この記事では、Linuxで使えるコマンドラインツール「tcpdump」とGUIで操作できる「Wireshark」を中心に、実際に不正通信を検知する手順と、注意すべき通信パターンを現場エンジニア目線で解説します。

outputパケットキャプチャで不正通信を検知する方法|Wireshark・tcpdumpの使い方と実践的な解析手順

TOC

パケットキャプチャとは?なぜ不正通信の検知に使えるのか

「パケット」とは、ネットワーク上を流れるデータの最小単位のことです。インターネット通信はすべて、送信元・宛先・ポート番号・データ本体といった情報を持つ小さな塊に分割されて転送されます。

パケットキャプチャとは、ネットワークインターフェース(NIC)を「プロミスキャスモード」(本来は自分宛以外のパケットを無視するところを、すべて受信するモード)に切り替え、流れるパケットを丸ごと記録することです。

なぜ不正通信の検知に使えるかというと、不正な通信にはいくつかの特徴があるからです。

宛先が見慣れないIPアドレス: 外部のC2(指令サーバー)への通信は、通常業務で使わないIPやポートに向かうことが多い
通信量が急増している: データ漏洩(エクスフィルトレーション)では、短時間に大量のアウトバウンド通信が発生する
普段使わないプロトコルが動いている: ICMPトンネリングやDNSトンネリングは、パケットキャプチャで初めて気づけることが多い
接続試行が繰り返される: 内部からのスキャンやラテラルムーブメント(横展開)は、同一発信元から多数のIPに短時間で接続要求が飛ぶ

ファイアウォールのログは「通したか・弾いたか」の記録ですが、パケットキャプチャは「何が流れたか」の実物を残します。インシデント発生時の証拠保全や、「なぜこの通信が発生したのか」の原因追跡に欠かせないスキルです。

代表的なパケットキャプチャツール

使われる場面と目的に応じて、主要なツールを整理しておきましょう。

ツール名 特徴 主な用途
tcpdump Linuxコマンドライン、軽量・スクリプト向き サーバー上でのリアルタイムキャプチャ、cronによる定期取得
Wireshark GUIで詳細分析、フィルタ機能が豊富 キャプチャファイルの詳細解析、視覚的な確認
tshark Wiresharkのコマンドライン版 スクリプトからの自動解析、JSON出力
Zeek(旧Bro) 通信ログを構造化して記録 SIEM連携、大量ログの長期保管

この記事では、現場でもっとも使われるtcpdumpとWiresharkを中心に解説します。

tcpdumpで通信ログを取得する基本操作

tcpdumpはほとんどのLinuxディストリビューションで利用可能です。まず基本的な使い方から押さえましょう。

1. インストールと基本構文

RHEL系(CentOS/AlmaLinux/Rocky Linux)の場合:

# インストール(未導入の場合) sudo dnf install -y tcpdump # 基本的なキャプチャ(インターフェース eth0) sudo tcpdump -i eth0 # 10パケット取得して停止 sudo tcpdump -i eth0 -c 10 # 使用可能なインターフェース一覧を確認 sudo tcpdump -D

Ubuntu/Debian系の場合:

sudo apt install -y tcpdump

2. よく使うフィルタ例

tcpdumpの真価はフィルタにあります。BPF(Berkeley Packet Filter)構文を使って取得対象を絞り込めます。

# 特定IPとの通信のみ取得 sudo tcpdump -i eth0 host 203.0.113.100 # 特定ポートへの通信(例: 443番 = HTTPS) sudo tcpdump -i eth0 port 443 # 特定IPからのアウトバウンド通信 sudo tcpdump -i eth0 src host 192.168.1.50 # ICMPパケットのみ取得(内部スキャン調査) sudo tcpdump -i eth0 icmp # DNS通信を全て取得(DNSトンネリング調査) sudo tcpdump -i eth0 port 53 # 80番・443番以外の外部向き通信を確認 sudo tcpdump -i eth0 'not port 80 and not port 443 and dst net not 192.168.0.0/16'

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

リアルタイム確認だけでなく、後からWiresharkで詳細解析するためにファイル保存が欠かせません。

# pcapファイルとして保存(-w オプション) sudo tcpdump -i eth0 -w /var/log/capture/$(date +%Y%m%d_%H%M%S).pcap # ファイルサイズを100MB単位でローテーション(-C オプション) sudo tcpdump -i eth0 -w /var/log/capture/cap.pcap -C 100 # 10分間だけ取得してgzip圧縮 sudo tcpdump -i eth0 -w /var/log/capture/cap.pcap -G 600 -z gzip # 保存したpcapファイルを読み込んで解析 sudo tcpdump -r /var/log/capture/20260514_120000.pcap

保存先のパーミッションに注意: /var/log/capture/ は root または専用グループのみアクセスできるよう chmod 700 で設定しておきましょう。パケットには認証情報が含まれている場合があります。

Wiresharkで通信内容を可視化・解析する

tcpdumpで取得したpcapファイルはWiresharkで開くと、視覚的に通信を追跡できます。Wiresharkは自分のPC(Windows/Mac/Linux)にインストールして使います。

1. キャプチャファイルを開く

Wiresharkを起動し、「ファイル」→「開く」から .pcap ファイルを選択するだけです。パケット一覧が時系列で表示され、各行を選択するとパケット詳細と生データが下ペインに表示されます。

主に見るべきカラム:
Time: キャプチャ開始からの経過秒数(異常な間隔の通信を発見しやすい)
Source / Destination: 送受信のIPアドレス(外部IP・内部IPの確認)
Protocol: HTTP・DNS・TCP・ICMPなどプロトコル種別
Length: パケットサイズ(異常に大きい・均一すぎる場合は要注意)
Info: 接続の概要(SYN/SYN-ACK/RST等のTCPフラグも確認できる)

2. 不審な通信を絞り込むフィルタ

Wiresharkの上部入力欄に表示フィルタを入力することで、解析対象を絞り込めます。

# 特定IPとの通信のみ表示 ip.addr == 203.0.113.100 # DNS通信のみ表示 dns # TCPのRSTフラグ(拒否・切断の検知) tcp.flags.reset == 1 # SYNだけでACKがない(ハーフオープンスキャンの疑い) tcp.flags.syn == 1 and tcp.flags.ack == 0 # HTTP通信に含まれる特定文字列 http contains "password" # 大きなサイズのDNSパケット(トンネリングの疑い) dns and frame.len > 512

3. フォロー機能でセッション全体を追う

気になるパケットを右クリックし「ストリームに続く」→「TCPストリーム」を選択すると、そのTCPセッション全体のやり取りが一画面で見られます。HTTPの場合は、どんなリクエスト・レスポンスが行われたかをほぼ平文で確認できます。

HTTPS(TLS暗号化)通信の場合は復号が必要ですが、宛先ホスト名はSNI(Server Name Indication)フィールドから確認できます。どのドメインと通信しているかは、暗号化されていても把握可能です。

また「統計」→「会話」メニューを使えば、どのIPとどの程度のデータをやり取りしているかを集計表で俯瞰できます。特定のIPに対してデータ転送量が突出している場合、それだけで調査の糸口になります。

こんな通信パターンは要注意

実際の分析で遭遇する典型的な不審パターンを押さえておきましょう。

【パターン1】定期的に外部IPに向けて小さなパケットが飛ぶ
C2(コマンドアンドコントロール)サーバーへのビーコン通信の疑いがあります。数十秒から数分おきに、ほぼ同じサイズのパケットが同一の外部IPに向かう場合は要注意です。VirusTotalなどの脅威インテリジェンスでそのIPを照合してみましょう。

【パターン2】社内から短時間に多数のIPにSYNが飛ぶ
内部からのポートスキャンか、マルウェアの横展開(ラテラルムーブメント)の可能性があります。1台の端末が数秒以内に10台以上の内部ホストに接続を試みている場合は、即座に調査すべきです。

【パターン3】DNSクエリが異常に多い、またはホスト名が異様に長い
DNSトンネリング(通信をDNSパケットに隠蔽して外部に送り出す手法)の特徴です。通常のDNS問い合わせのホスト名は短く収まりますが、トンネリングでは base64エンコードされた長い文字列がサブドメインに含まれます。

【パターン4】ICMPパケットのデータ部が通常より大きい
ICMPのデータ部にコマンド指示や盗み出したデータを隠すICMPトンネリングの手口です。通常のpingのデータ部は56バイト前後ですが、トンネリングでは数百バイト以上になります。

【パターン5】暗号化されていないHTTPで認証情報が流れている
内部システムのログイン画面などがHTTPのままの場合、パスワードが平文で流れることがあります。Wiresharkでhttpフィルタをかけ、POSTリクエストに認証情報が含まれていないか確認しましょう。

中小企業でも今日からできること

「Wiresharkやtcpdumpの常時監視は難しい」という情シス担当の方でも、以下から始めることができます。

まず自分のPCにWiresharkをインストールする: 無料で使えるので、社内でパケットを確認する環境だけ先に作っておく
定期的なtcpdump取得をcronで自動化する: 毎夜1時間分だけキャプチャするだけでも、定点観測として機能する
異常を示す通信量の閾値を決める: 普段の外部向き通信量を記録しておき、2倍以上になった日を調査する習慣をつける
怪しいIPはVirusTotalで照合する: VirusTotalの無料IP検索で既知の悪意あるIPかどうかすぐに確認できる
まずDNS通信の記録から始める: すべてのパケットを保管するのが難しければ、DNSクエリログだけでも有益な情報源になる

完璧な監視体制を一度に構築しようとすると挫折します。まず「異常があったときに後から見返せる仕組み」を作ることを最優先にしましょう。

Linuxの権限管理やファイアウォール設定については、姉妹サイトLinuxMaster.JPでも詳しく解説しています。サーバーの基礎固めと組み合わせることで、セキュリティ監視の精度が上がります。

よくある誤解と注意点

「パケットキャプチャは盗聴だから違法では?」
自社ネットワーク内での通信監視は、一般に会社の管理権限の範囲内として認められています。ただし、従業員に対して「通信内容を監視する可能性があること」を就業規則やセキュリティポリシーで事前に周知しておくことが望ましいです。他社ネットワークや公共のWi-Fiでのキャプチャは不正アクセス禁止法等に抵触するおそれがあります。法的な判断の詳細は法律の専門家にご確認ください。

「キャプチャしていれば通信の中身が全部見える」
HTTPS(TLS)通信は暗号化されているため、内容を直接読むことはできません。宛先IPやホスト名(SNI)は見えますが、通信の中身を解読するには秘密鍵やセッション鍵が必要です。「パケットを取れば何でも分かる」とは考えないようにしましょう。

「大量のパケットをずっと保管すればいい」
1Gbpsのネットワークを丸ごとキャプチャすると、1時間で数十GB~数百GBになります。保管コストとプライバシーリスクのバランスを考え、期間や対象を絞ることが実務では重要です。フルパケット記録ではなく、まずはフローログ(NetFlow/sFlowなど)から始める選択肢も検討してください。

「WiresharkをサーバーにインストールしてGUIで監視する」
WiresharkのGUIはコンソールレスサーバーには向いていません。サーバー上ではtcpdumpやtsharkを使い、解析のみ自分のPC上のWiresharkで行うのが正しい運用です。

本記事のまとめ

パケットキャプチャは、ネットワーク上の不正通信を実証的に検知するための基本技術です。

ツール 使いどころ 難易度
tcpdump サーバー上のリアルタイム取得・定期キャプチャ 低(コマンド数本で開始できる)
Wireshark 保存したpcapの詳細解析・通信の可視化 中(フィルタ構文を覚えれば使いやすい)
tshark/Zeek スクリプト自動化・大量ログの構造化保管 中~高(慣れが必要)

まずtcpdumpで通信を記録する習慣をつけ、怪しい動きが出たらWiresharkで深掘りする—このサイクルが身につくと、ネットワークで何が起きているかを自分の目で確認できるようになります。

セキュリティ対策は「ログがある状態を普通にする」ことから始まります。パケットキャプチャはその有力な手段の一つです。

自社ネットワークで不審な通信が起きていないか、確認できますか?

パケットキャプチャは強力な技術ですが、「何が正常で何が異常か」の判断基準を持つことが大切です。
正しいセキュリティ知識を体系的に身につけたい方へ、メルマガで実践的なセキュリティ対策ノウハウをお届けしています。

Let's share this post !

Author of this article

TOC