OSS探訪GitHubでログイン

保存したパケットを表示・絞り込みし、通信障害やプロトコルの挙動を端末で調べる解析ツール

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
3,242
主要言語
C
ライセンス
未判定
リポジトリ最終更新
2026/09/21
ページ内ナビ

概要

tcpdumpは、ネットワークのパケットを取得または保存ファイルから読み、端末上でプロトコルの内容を表示する解析ツールです。障害時の通信経路、名前解決、接続の開始や再送を、Berkeley Packet Filter式で必要な範囲に絞って確認できます。

特徴と向いている用途

実機検証あり(下記の環境・範囲に限定) · 内容確認日:

主な特徴

何ができるか

PCAPとPCAPNGを読み、アドレスやポートを数値表示し、プロトコルごとの要約や詳細を出力できます。-dでは同じフィルターをBPF命令へ変換して確認できます。

出典:[1][2][3]

向いている用途

どの場面に合うか

取得権限を与えずに共有PCAPを調べる初動解析、DNSやTCPの障害切り分け、フィルター式の事前確認に向きます。固定例は人工的なUDPパケット1件だけをオフラインで読みます。

出典:[1][2]

導入前の確認

利用前に確認する点

ライブ取得にはOSごとの権限と適切なインターフェース選択が必要で、パケットには機密情報が含まれ得ます。このガイドはライブ取得を行いません。GitHubのライセンス値はNOASSERTIONで、固定版LICENSEには複数の著作権・再配布条件があります。

出典:[3][4][5]

local tcpdump 4.99.1 / guide source 4.99.7 / macOS, Apple tcpdump 4.99.1, libpcap 1.10.1, synthetic PCAP file

Read one synthetic UDP packet from disk and compiled its destination-port filter; no live capture, root privilege, or network was used.

参考にした公式資料

  1. [1]the-tcpdump-group/tcpdump README at tcpdump-4.99.7(2026-10-05)
  2. [2]tcpdump official documentation(2026-10-05)
  3. [3]tcpdump tcpdump-4.99.7 source(2026-10-05)
  4. [4]the-tcpdump-group/tcpdump LICENSE at tcpdump-4.99.7(2026-10-05)
  5. [5]the-tcpdump-group/tcpdump GitHub metadata(2026-10-05)
編集部からの補足

権限を増やさず、既存PCAPから通信の事実を絞り込みたい場面に適します。まず人工パケットで-rとフィルターの一致を確かめ、実データでは保管・共有範囲も決めてください。

3ステップで試す

  1. 1

    オフライン用PCAPを作る

    Python 3とtcpdumpが必要です。PCAP 2.4形式で、文書用アドレス間のUDPパケット1件を一時ディレクトリへ書きます。ライブ取得はしません。

    demo=$(mktemp -d "${TMPDIR:-/tmp}/tcpdump-offline.XXXXXX") && cd "$demo" && python3 -c 'import struct,socket; eth=bytes.fromhex("00112233445566778899aabb0800"); ip=bytes.fromhex("450000200000000040110000")+socket.inet_aton("192.0.2.1")+socket.inet_aton("198.51.100.2"); udp=struct.pack("!HHHH",12345,53,12,0)+b"test"; pkt=eth+ip+udp; open("sample.pcap","wb").write(struct.pack("<IHHIIII",0xa1b2c3d4,2,4,0,0,65535,1)+struct.pack("<IIII",0,0,len(pkt),len(pkt))+pkt)'
  2. 2

    UDP/53だけを読み取る

    -rで保存ファイルを読み、UDP宛先ポート53のフィルターに一致する送信元・宛先が表示されることを確認します。

    tcpdump -nn -r sample.pcap 'udp dst port 53' 2>/dev/null | grep '192.0.2.1.12345 > 198.51.100.2.53'
  3. 3

    フィルターのBPF命令を確認する

    同じ保存ファイルとフィルターを-dでコンパイルし、受理時のBPF戻り命令が生成されることを確認します。

    tcpdump -d -r sample.pcap 'udp dst port 53' 2>/dev/null | grep 'ret.*#65535'
公式READMEで確認

成長

成長の推移 · 直近30日

3,242 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
12
Open PR
67

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • pcap
  • pcapng
  • packet-capture
  • sniffer
  • tcpdump
  • libpcap
  • berkeley-packet-filter
  • bsd-packet-filter
  • bpf
  • auditing
  • security
  • troubleshooting
Stars
3,242
Forks
936
Watchers
126
Open Issues
67
Contributors
174
所有者種別
Organization
主要言語
C
ライセンス
未判定
リポジトリ最終更新
2026/09/21

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?