ネットワークトラフィックとは?通信量の監視と測定方法を徹底解説

Web

「インターネットが遅い気がする…」「サーバーの通信量ってどれくらい?」と感じたことはありませんか?

ネットワークの問題を解決するには、実際にどれだけのデータが流れているのか把握することが重要です。

それを知るために必要なのがネットワークトラフィックの監視と測定です。

今回は、ネットワークトラフィックの基本概念から、Linuxで使える様々な監視ツール、実践的な分析方法まで、初心者の方にも分かりやすく解説していきます。


スポンサーリンク
  1. ネットワークトラフィックとは何か?
    1. ネットワーク上を流れるデータの「量」と「流れ」
    2. 上りと下り
    3. 測定単位
  2. なぜトラフィック監視が必要なのか?
    1. パフォーマンス問題の特定
    2. セキュリティ上の脅威検出
    3. 容量計画とコスト管理
    4. SLA(サービスレベル契約)の遵守
  3. 基本的なトラフィック確認コマンド
    1. ifconfig – 伝統的なネットワーク設定表示
    2. ip – モダンなネットワーク管理ツール
    3. netstat – ネットワーク統計の表示
  4. リアルタイム監視ツール
    1. iftop – インターフェース別トラフィック表示
    2. nethogs – プロセス別トラフィック表示
    3. vnstat – 長期統計の記録
    4. bmon – 帯域幅モニター
  5. パケットキャプチャと分析
    1. tcpdump – コマンドラインパケットアナライザー
    2. Wireshark – グラフィカルパケットアナライザー
  6. トラフィック統計と分析
    1. ss – ソケット統計
    2. nload – ネットワーク負荷の可視化
    3. sar – システムアクティビティレポート
  7. 帯域幅とスループットの違い
    1. 帯域幅(Bandwidth)
    2. スループット(Throughput)
    3. レイテンシ(遅延)
  8. トラブルシューティング
    1. トラフィックが異常に多い
    2. パケットロスが発生
    3. 特定の通信が遅い
    4. エラーが多発
  9. よくある質問
    1. トラフィック監視に権限は必要?
    2. クラウド環境でも使える?
    3. トラフィック制限(QoS)はできる?
    4. 暗号化された通信は見られる?
    5. トラフィック監視は違法?
  10. まとめ:状況に応じて最適なツールを使い分けよう

ネットワークトラフィックとは何か?

ネットワーク上を流れるデータの「量」と「流れ」

ネットワークトラフィック(Network Traffic)とは、ネットワーク上を流れるデータの総称です。

道路の交通量(トラフィック)に例えるとイメージしやすいですね。

具体的には:

  • Webサイトの閲覧
  • メールの送受信
  • ファイルのダウンロード・アップロード
  • 動画のストリーミング
  • オンラインゲーム
  • システム間の通信

これらすべてがネットワークトラフィックです。

上りと下り

トラフィックは、方向によって2種類に分類されます。

上り(アップロード / Outgoing / TX):
自分のコンピューターから外部へ送信するデータ。

  • メールの送信
  • ファイルのアップロード
  • 動画配信

下り(ダウンロード / Incoming / RX):
外部から自分のコンピューターへ受信するデータ。

  • Webページの閲覧
  • ファイルのダウンロード
  • 動画の視聴

一般的に、下りトラフィックの方が多くなる傾向があります。

測定単位

トラフィックは、時間あたりのデータ量で表現されます。

単位:

  • bps(bits per second):ビット毎秒
  • Bps(Bytes per second):バイト毎秒
  • Kbps / Mbps / Gbps:キロ、メガ、ギガビット毎秒

換算:

1 Byte = 8 bits
1 Mbps = 125 KB/s
100 Mbps = 12.5 MB/s

注意:
bps(小文字のb)とBps(大文字のB)は8倍の差があります。


なぜトラフィック監視が必要なのか?

パフォーマンス問題の特定

「ネットワークが遅い」という症状の原因は様々です。

トラフィック監視で分かること:

  • 帯域幅を使い果たしているか
  • どのアプリケーションが通信しているか
  • 異常なトラフィックの増加
  • ボトルネックの場所

データに基づいて原因を特定できます。

セキュリティ上の脅威検出

異常なトラフィックパターンは、攻撃の兆候かもしれません。

検出できる攻撃:

  • DDoS攻撃(大量のトラフィック)
  • ポートスキャン(多数のポートへのアクセス)
  • データ漏洩(異常な上りトラフィック)
  • ボットネット活動

早期発見が被害を最小限に抑えます。

容量計画とコスト管理

サーバーやネットワーク機器の増強時期を判断するために必要です。

把握すべき情報:

  • 平均トラフィック量
  • ピーク時のトラフィック
  • 増加傾向
  • 契約帯域幅との比較

クラウドサービスでは、トラフィック量が直接コストに影響します。

SLA(サービスレベル契約)の遵守

企業のサービスでは、一定の通信品質を保証する必要があります。

トラフィック監視により:

  • 帯域幅の使用状況を把握
  • ボトルネックを事前に検知
  • サービス品質を維持

基本的なトラフィック確認コマンド

ifconfig – 伝統的なネットワーク設定表示

基本的な使い方:

ifconfig

出力例:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a00:27ff:fe4e:66a1  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:4e:66:a1  txqueuelen 1000  (Ethernet)
        RX packets 150234  bytes 220155234 (209.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 98756  bytes 12345678 (11.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

重要な項目:

  • RX packets / bytes:受信したパケット数とバイト数
  • TX packets / bytes:送信したパケット数とバイト数
  • errors:エラーの数
  • dropped:破棄されたパケット数

ip – モダンなネットワーク管理ツール

ifconfigの後継として推奨されているコマンドです。

統計情報の表示:

ip -s link

出力例:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:4e:66:a1 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    220155234  150234   0       0       0       5432    
    TX: bytes  packets  errors  dropped carrier collsns 
    12345678   98756    0       0       0       0

詳細統計:

ip -s -s link show eth0

netstat – ネットワーク統計の表示

基本的な統計:

netstat -i

出力例:

Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0      1500   150234      0      0 0         98756      0      0      0 BMRU
lo       65536    12345      0      0 0         12345      0      0      0 LRU

継続的な統計表示:

netstat -c

1秒ごとに統計が更新されます。


リアルタイム監視ツール

iftop – インターフェース別トラフィック表示

インストール:

# Ubuntu/Debian
sudo apt install iftop

# CentOS/RHEL
sudo yum install iftop

基本的な使い方:

sudo iftop

画面の見方:

                   12.5Mb              25.0Mb              37.5Mb         50.0Mb
└─────────────────┴───────────────────┴───────────────────┴──────────────────
192.168.1.100      => 203.0.113.50        15.2Mb  12.8Mb  10.5Mb
                   <=                       1.5Mb   1.3Mb   1.1Mb
192.168.1.100      => 198.51.100.25        2.3Mb   2.1Mb   1.9Mb
                   <=                       5.6Mb   5.2Mb   4.8Mb

表示内容:

  • 送信元 → 送信先
  • 過去2秒、10秒、40秒の平均速度

便利なオプション:

# 特定のインターフェースを監視
sudo iftop -i eth0

# ポート番号を表示
sudo iftop -P

# DNSルックアップを無効化(高速化)
sudo iftop -n

キーボード操作:

  • n:ホスト名とIPアドレスを切り替え
  • s:送信元を表示/非表示
  • d:送信先を表示/非表示
  • t:表示形式の変更
  • q:終了

nethogs – プロセス別トラフィック表示

アプリケーションごとの通信量を確認できます。

インストール:

# Ubuntu/Debian
sudo apt install nethogs

# CentOS/RHEL
sudo yum install nethogs

基本的な使い方:

sudo nethogs

出力例:

NetHogs version 0.8.6

  PID USER     PROGRAM                      DEV        SENT      RECEIVED       
 1234 www-data /usr/sbin/apache2            eth0       15.234     125.678 KB/sec
 5678 user     /usr/bin/firefox             eth0        2.345      45.123 KB/sec
 9012 root     /usr/sbin/sshd               eth0        0.123       1.234 KB/sec
    ? root     unknown TCP                             0.000       0.000 KB/sec

  TOTAL                                                17.702     172.035 KB/sec

どのプログラムがどれだけ通信しているか一目瞭然です。

特定のインターフェースを監視:

sudo nethogs eth0

vnstat – 長期統計の記録

バックグラウンドで動作し、長期的なトラフィック統計を記録します。

インストール:

# Ubuntu/Debian
sudo apt install vnstat

# CentOS/RHEL
sudo yum install vnstat

初期設定:

# データベースの作成
sudo vnstat -u -i eth0

# サービスの開始
sudo systemctl start vnstat
sudo systemctl enable vnstat

統計の表示:

# 基本的な表示
vnstat

# 時間別
vnstat -h

# 日別
vnstat -d

# 月別
vnstat -m

# トップ10の日
vnstat -t

出力例:

Database updated: 2025-01-20 10:00:00

   eth0 since 2024-12-01

          rx:  125.50 GiB      tx:  45.23 GiB      total:  170.73 GiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       2024-12     78.25 GiB |  28.45 GiB |  106.70 GiB |   327.50 kbit/s
       2025-01     47.25 GiB |  16.78 GiB |   64.03 GiB |   312.25 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated     95.00 GiB |  33.50 GiB |  128.50 GiB |

リアルタイム表示:

vnstat -l

bmon – 帯域幅モニター

グラフィカルなインターフェースで帯域幅を表示します。

インストール:

sudo apt install bmon

起動:

bmon

視覚的に分かりやすいグラフで表示されます。


パケットキャプチャと分析

tcpdump – コマンドラインパケットアナライザー

ネットワーク上を流れるパケットをキャプチャします。

基本的なキャプチャ:

sudo tcpdump

特定のインターフェースを指定:

sudo tcpdump -i eth0

ホストを指定:

# 特定のIPアドレス
sudo tcpdump host 192.168.1.100

# 特定のネットワーク
sudo tcpdump net 192.168.1.0/24

ポートを指定:

# HTTPトラフィック
sudo tcpdump port 80

# SSH
sudo tcpdump port 22

# 複数ポート
sudo tcpdump port 80 or port 443

プロトコルを指定:

# TCP
sudo tcpdump tcp

# UDP
sudo tcpdump udp

# ICMP(ping)
sudo tcpdump icmp

ファイルへの保存:

sudo tcpdump -w capture.pcap

保存したファイルの読み込み:

tcpdump -r capture.pcap

出力例:

10:15:23.123456 IP 192.168.1.100.54321 > 203.0.113.50.80: Flags [S], seq 123456789, win 65535, length 0
10:15:23.145678 IP 203.0.113.50.80 > 192.168.1.100.54321: Flags [S.], seq 987654321, ack 123456790, win 29200, length 0
10:15:23.145789 IP 192.168.1.100.54321 > 203.0.113.50.80: Flags [.], ack 1, win 65535, length 0

Wireshark – グラフィカルパケットアナライザー

デスクトップ環境がある場合、Wiresharkが非常に便利です。

インストール:

sudo apt install wireshark

起動:

sudo wireshark

主な機能:

  • パケットの詳細表示
  • フィルタリング
  • プロトコル分析
  • グラフ表示
  • 統計情報

よく使うフィルタ:

ip.addr == 192.168.1.100
tcp.port == 80
http
dns

tcpdumpでキャプチャしたファイル(.pcap)も開けます。


トラフィック統計と分析

ss – ソケット統計

netstatの後継コマンドです。

すべての接続を表示:

ss -a

リスニングポートのみ:

ss -l

TCP接続:

ss -t

統計情報:

ss -s

出力例:

Total: 1234
TCP:   456 (estab 123, closed 234, orphaned 5, timewait 234)
Transport Total     IP        IPv6
RAW       0         0         0
UDP       45        38        7
TCP       222       195       27
INET      267       233       34
FRAG      0         0         0

nload – ネットワーク負荷の可視化

グラフィカルに帯域幅使用状況を表示します。

インストール:

sudo apt install nload

起動:

nload

上りと下りが視覚的に表示され、リアルタイムで更新されます。

sar – システムアクティビティレポート

インストール(sysstatパッケージ):

sudo apt install sysstat

ネットワーク統計の表示:

# リアルタイム(1秒ごと、10回)
sar -n DEV 1 10

# 過去のデータ
sar -n DEV -f /var/log/sysstat/sa20

出力例:

10:15:01        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s
10:15:02         eth0   1234.56    987.65    123.45     98.76
10:15:02           lo      5.67      5.67      0.45      0.45

帯域幅とスループットの違い

帯域幅(Bandwidth)

ネットワーク回線の理論上の最大容量です。

例:

  • 100 Mbpsの回線
  • 1 Gbpsの回線

「パイプの太さ」に例えられます。

スループット(Throughput)

実際に転送されるデータ量です。

影響する要因:

  • プロトコルのオーバーヘッド
  • ネットワーク機器の性能
  • 遅延(レイテンシ)
  • パケットロス
  • 同時利用者数

通常、スループットは帯域幅より小さくなります。

例:
100 Mbpsの回線でも、実際のスループットは70〜90 Mbps程度になることが多いです。

レイテンシ(遅延)

データが送信元から送信先まで到達する時間です。

測定:

ping google.com

出力例:

64 bytes from 172.217.161.46: icmp_seq=1 ttl=118 time=12.3 ms

time=12.3 msがレイテンシです。

低レイテンシ(小さい値)ほど、応答が速いことを意味します。


トラブルシューティング

トラフィックが異常に多い

原因の特定:

1. プロセス別トラフィックを確認:

sudo nethogs

2. 接続先を確認:

sudo iftop

3. 特定のポートを調査:

sudo tcpdump -n port 80 | head -50

対処法:

  • 不要なプロセスを停止
  • ファイアウォールで制限
  • 帯域制限(QoS)の設定

パケットロスが発生

確認方法:

# ローカル統計
ip -s link show eth0

# リモートへのping
ping -c 100 8.8.8.8

原因:

  • ネットワーク機器の過負荷
  • ケーブルの不良
  • ドライバの問題
  • ネットワーク輻輳

特定の通信が遅い

診断手順:

1. レイテンシの確認:

ping -c 10 対象ホスト

2. 経路の確認:

traceroute 対象ホスト

3. 帯域幅のテスト:

# iperf3をインストール
sudo apt install iperf3

# サーバー側
iperf3 -s

# クライアント側
iperf3 -c サーバーIP

エラーが多発

確認:

ip -s -s link show eth0

RX/TX errorsが増加している場合:

  • ネットワークカードの故障
  • ドライバの問題
  • ケーブル不良
  • MTUサイズの不一致

よくある質問

トラフィック監視に権限は必要?

多くのツールはsudo権限が必要です。

理由:

  • 生のネットワークデータへのアクセス
  • すべてのプロセスの情報取得
  • システム統計の読み取り

権限不要なツール:

  • vnstat(一般ユーザーでも統計閲覧可能)
  • /proc/net/devの読み取り

クラウド環境でも使える?

はい、使えます。

ただし、クラウドプロバイダー独自の監視ツールも活用しましょう:

  • AWS CloudWatch
  • Google Cloud Monitoring
  • Azure Monitor

これらは外部からのトラフィックも測定できます。

トラフィック制限(QoS)はできる?

Linuxではtc(traffic control)コマンドで可能です。

例:帯域制限

# eth0を10Mbpsに制限
sudo tc qdisc add dev eth0 root tbf rate 10mbit burst 32kbit latency 400ms

ただし、設定は複雑なので慎重に行ってください。

暗号化された通信は見られる?

HTTPSなど暗号化された通信の内容は見られません。

見えるもの:

  • 送信元と送信先のIPアドレス
  • ポート番号
  • データ量
  • タイミング

見えないもの:

  • 通信内容(暗号化されているため)
  • URLの詳細
  • データの中身

トラフィック監視は違法?

自分のネットワーク内であれば合法です。

注意点:

  • 他人のネットワークを盗聴するのは違法
  • 業務環境では社内規定を確認
  • プライバシーへの配慮

適切な権限と目的があれば問題ありません。


まとめ:状況に応じて最適なツールを使い分けよう

ネットワークトラフィックの監視は、問題解決とセキュリティ対策に不可欠です。

この記事のポイント:

  • トラフィックはネットワーク上を流れるデータの総称
  • 上り(送信)と下り(受信)に分類
  • 測定単位はbps、Bps、Mbps、Gbpsなど
  • ifconfig/ipコマンドで基本統計を確認
  • iftopでリアルタイムの接続先別トラフィック
  • nethogsでプロセス別の通信量
  • vnstatで長期統計の記録
  • tcpdump/Wiresharkでパケット解析
  • 帯域幅は理論値、スループットは実測値
  • レイテンシは通信の遅延時間
  • 異常なトラフィックは攻撃の兆候の可能性

推奨ツール:

# クイック確認
ip -s link

# リアルタイム接続先
sudo iftop

# プロセス別
sudo nethogs

# 長期統計
vnstat

# 詳細分析
sudo tcpdump -w capture.pcap

ネットワーク問題の90%は、適切な監視で早期発見・解決できます。

これらのツールを使いこなして、快適なネットワーク環境を維持しましょう!

コメント

タイトルとURLをコピーしました