1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

よく使うtcpdumpコマンド

Last updated at Posted at 2025-02-19

■ よく使うオプションとexpression

man tcpdump

tcpdump [options] [expression]

オプション

# -t             タイムスタンプを出力しない
# -n             アドレスを名前に変換しない
# -i <INTERFACE> パケットキャプチャ対象のネットワークインターフェースを指定
# -e             イーサネットヘッダを出力する
# -l             標準出力を行バッファリングする
# -A             パケット(イーサネットヘッダを除く)をASCIIで表示 (webページのキャプチャで便利)
# -x             パケット(イーサネットヘッダを除く)の内容を16進数で出力
# -xx            パケット(イーサネットヘッダを含む)の内容を16進数で出力
# -x             パケット(イーサネットヘッダを除く)の内容を16進数とASCIIで出力
# -XX            パケット(イーサネットヘッダを含む)の内容を16進数とASCIIで出力
# -v             出力情報を増やす
# -vv            出力情報をさらに増やす
# -vvv           出力情報をもっと増やす

expression

ダンプするパケットを選択するための条件を指定します。複数指定する場合は or , and で接続します。

# ether dst <MAC_ADDR>  宛先が指定したMACアドレスの場合
# ether src <MAC_ADDR>  送信元が指定したMACアドレスの場合
# ether host <MAC_ADDR> 宛先もしくは送信元が指定したMACアドレスの場合
# dst host <HOST>       宛先が指定したホスト名もしくはIPアドレスの場合
# src host <HOST>       送信元が指定したホスト名もしくはIPアドレスの場合
# host <HOST>           宛先もしくは送信元が指定したホスト名もしくはIPアドレスの場合
# dst net <NETWORK>     宛先が指定したネットワークの場合 (例) 10.0.0.0/8
# src net <NETWORK>     送信元が指定したネットワークの場合 (例) 10.0.0.0/8
# net <NETWORK>         宛先もしくは送信元が指定したネットワークの場合 (例) 10.0.0.0/8
# dst port <PORT>       宛先が指定したポートの場合
# src port <PORT>       送信元が指定したポートの場合
# port <PORT>           宛先もしくは送信元がが指定したポートの場合
# <PROTOCOL>            ether, ip, icmp, arp, rarp, tcp, udp, etc...
# vlan [VLAN_ID]        パケットが IEEE 802.1Q VLAN パケットの場合

■ ユースケース別よく使う組み合わせ

ARPのキャプチャ

```bash
# -t タイムスタンプを表示しない
# -n アドレスを名前に変換しない
# -e イーサネットのヘッダ情報を表示する
# -l 標準出力を行バッファリングする
tcpdump -tnel -i any arp
# 00:00:5e:00:53:01 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.0.2.2 tell 192.0.2.1, length 28
# 00:00:5e:00:53:02 > 00:00:5e:00:53:01, ethertype ARP (0x0806), length 42: Reply 192.0.2.2 is-at 00:00:5e:00:53:02, length 28

pingのキャプチャ

# -t タイムスタンプを表示しない
# -n アドレスを名前に変換しない
# -e イーサネットのヘッダ情報を表示する
# -l 標準出力を行バッファリングする
tcpdump -tnel -i any icmp
# 00:00:5e:00:53:01 > 00:00:5e:00:53:02, ethertype IPv4 (0x0800), length 98: 192.0.2.1 > 192.0.2.2: ICMP echo request, id 17365, seq 1, length 64
# 00:00:5e:00:53:02 > 00:00:5e:00:53:01, ethertype IPv4 (0x0800), length 98: 192.0.2.2 > 192.0.2.1: ICMP echo reply, id 17365, seq 1, length 64

UDPのキャプチャ

# -i <interface> パケットキャプチャ対象のネットワークインターフェース
# -t タイムスタンプを表示しない
# -n アドレスを名前に変換しない
# -l 標準出力を行バッファリング
# -A キャプチャした内容をASCII文字として表示する
tcpdump -tnlA -i any "udp and port 54321"
# IP 127.0.0.1.43058 > 127.0.0.1.54321: UDP, length 12
# E..(0.@.@............2.1...'hello world

TCPのキャプチャ

# -t タイムスタンプを表示しない
# -n アドレスを名前に変換しない
# -l 標準出力を行バッファリング
# -A キャプチャした内容をASCII文字として表示する
sudo tcpdump -tnlA  -i any "tcp and port 54321"
# === === === 3wayハンドシェイク === === ===
# IP 127.0.0.1.44760 > 127.0.0.1.54321: Flags [S], seq 1295360057, win 65495, options [mss 65495,sackOK,TS val 4208188012 ecr 0,nop,wscale 7], length 0
# E..<.5@.@.L............1M5.9.........0.........
# ...l........
# IP 127.0.0.1.54321 > 127.0.0.1.44760: Flags [S.], seq 3835090924, ack 1295360058, win 65483, options [mss 65495,sackOK,TS val 4208188012 ecr 4208188012,nop,wscale 7], length 0
# E..<..@.@.<..........1......M5.:.....0.........
# ...l...l....
# IP 127.0.0.1.44760 > 127.0.0.1.54321: Flags [.], ack 1, win 512, options [nop,nop,TS val 4208188012 ecr 4208188012], length 0
# E..4.6@.@.L............1M5.:.........(.....
# ...l...l
# === === === クライアントからデータの送信 === === ===
# IP 127.0.0.1.44760 > 127.0.0.1.54321: Flags [P.], seq 1:15, ack 1, win 512, options [nop,nop,TS val 4210427304 ecr 4208188012], length 14
# E..B.7@.@.L|...........1M5.:.........6.....
# .......lHello, World!
# === === === サーバーからの確認応答(ack) === === ===
# ※ ack の後ろの数字は確認応答番号で、15バイトまでは正常に受信できた旨をクライアントに応答する
# IP 127.0.0.1.54321 > 127.0.0.1.44760: Flags [.], ack 15, win 512, options [nop,nop,TS val 4210427304 ecr 4210427304], length 0
# E..4.k@.@.8W.........1......M5.H.....(.....
# ........
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?