tcpdumpコマンドといえば、WireSharkと同様にネットワーク上を走っているパケットを閲覧するためのプログラム(パケットキャプチャツール)として利用されているコマンドだ。 ネットワークの仕事をしている人なら、触っている人も多いのでは無いだろうか。

今回は、そんなtcpdumpコマンドで覚えておきたい使い方についてを紹介する。

1.基本的な使い方

基本的には、ただtcpdumpと打っただけでもコマンドを利用することは出来る。

tcpdump
test@test-vm-ubuntu:~$ sudo tcpdump
[sudo] password for test:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
20:29:47.418564 IP 192.168.0.XXX.51682 > 192.168.0.YYY.902: Flags [P.], seq 106429704:106429741, ack 717766587, win 65335, length 37
20:29:47.418576 IP 192.168.0.YYY.902 > 192.168.0.XXX.51682: Flags [.], ack 37, win 128, length 0
20:29:47.418755 IP 192.168.0.YYY.902 > 192.168.0.XXX.51682: Flags [.], seq 1:8448, ack 37, win 128, length 8447
20:29:47.419099 IP 192.168.0.XXX.51682 > 192.168.0.YYY.902: Flags [.], ack 8448, win 65335, length 0
20:29:47.419249 IP 192.168.0.YYY.902 > 192.168.0.XXX.51682: Flags [.], seq 8448:19815, ack 37, win 128, length 11367
20:29:47.419575 IP 192.168.0.XXX.51682 > 192.168.0.YYY.902: Flags [.], ack 19815, win 64683, length 0
20:29:47.419630 IP 192.168.0.XXX.51682 > 192.168.0.YYY.902: Flags [.], ack 19815, win 65335, length 0
20:29:47.419712 IP 192.168.0.YYY.902 > 192.168.0.XXX.51682: Flags [.], seq 19815:34102, ack 37, win 128, length 14287
20:29:47.420129 IP 192.168.0.XXX.51682 > 192.168.0.YYY.902: Flags [.], ack 34102, win 63223, length 0
20:29:47.420184 IP 192.168.0.XXX.51682 > 192.168.0.YYY.902: Flags [.], ack 34102, win 65335, length 0
…

出力される結果は、以下のような内容になっている。

時間 送信元(IPアドレス・ポート番号)</span> > <span style="color: #0000ff;">送信先(IPアドレス・ポート番号)</span>: <span style="color: #008000;">パケットの内容

が、上記のようにインターフェイスもプロトコルも指定しないと、出力されるパケットの量がとんでもない事になってしまう。 ssh経由で接続していた場合、その分のパケットも出力されてしまうので、面倒な事この上ない。このため、基本的にはパケットキャプチャを行うインターフェイスやホスト、プロトコル(ポート)を指定してキャプチャをするパケットを絞り込む必要がある。

インターフェイスを指定してキャプチャを行う

tcpdump -i インターフェイス名(eth0など)

ホストを指定してキャプチャを行う

tcpdump host 対象ホスト(ホスト名・IPアドレス)

hostに対し、送信元(src)、送信先(dst)を指定することも出来る。 (なお、hostは省略可)

tcpdump src host 対象ホスト

ホストだけではなく、特定のネットワークアドレスを指定してキャプチャすることもできる。

tcpdump net ネットワークアドレス mask サブネットマスク

プロトコル(ポート番号)を指定してキャプチャを行う

tcpdump プロトコル名

指定出来るプロトコルは以下。

  • ether
  • fddi
  • mopdl
  • ip
  • ip6
  • arp
  • rarp
  • decnet
  • lat
  • sca
  • moprc
  • icmp
  • icmp6
  • tcp
  • udp

プロトコルではなく、ポートを指定することも出来る。

tcpdump port ポート番号

これらの条件は、and、orで繋げる事で、複数の条件を組み合わせてフィルタすることが出来る。

例)ホストが「192.168.10.100」、ポート番号「23(telnet)」のパケットをキャプチャする場合

tcpdump host 192.168.10.100 and port 23

例)パケットの送信元が「192.168.10.100」、もしくはポート番号が「23(telnet)」のパケットをキャプチャする場合

tcpdump src 192.168.10.100 or port 23

例)パケットの送信元が「192.168.10.100」以外で、ポート番号が「23(telnet)」のパケットをキャプチャする場合

notを頭につける事で、その条件を拒否することも出来る。

tcpdump not src 192.168.10.100 and port 23

例)パケットの送信元が「192.168.10.100」もしくは「192.168.20.100」で、ポート番号が「23(telnet)」のパケットをキャプチャする場合

and、orを複数利用する場合は、「()」で囲むとわかりやすい。

tcpdump src \(192.168.10.100 or 192.168.20.100 \) and port 23

2.キャプチャの結果をWireSharkで解析可能なファイルに出力する

「-w」オプションを付与することで、キャプチャ結果をWireSharkで解析できるフォーマットにしてファイルに出力することが出来る。 なお、キャプチャの際にパケットを途中で切り捨てられないように、-s 0(パケットから取り出すバイト数を無制限にする)を合わせて指定すると良いだろう。

tcpdump -s 0 -w 出力ファイル名

なお、このオプションを利用して出力したファイルはパケットデータをそのまま書き出しているので、普通にcatなどでは中身は見れない。 ファイルの中身を読む場合は、「-r」オプションを付与して読込みをする。

tcpdump -r 出力したファイル名

3.パケットからアスキーデータを取得する

「-A」オプションもしくは「-X」オプションを付与することで、パケットの中身から、アスキーデータだけを取得してくれる。

tcpdump -A

このオプションを利用することで、暗号化されていないFTPやtelnetのユーザ名やパスワード、通信の情報が取得出来る。 実際に、FTPやtelnetで通信をした場合の例が以下だ。

例)FTPでの通信内容

test@ubuntu-server:~$ sudo tcpdump -A host 192.168.0.214 and \(port 20 or port 21\)
[sudo] password for test:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
22:57:53.437434 IP 192.168.0.208.57068 > 192.168.0.214.ftp: Flags [S], seq 2495387727, win 29200, options [mss 1460,sackOK,TS val 2561476 ecr 0,nop,wscale 7], length 0
E..<..@.@.*:...............O......r..%......... .'.......... 22:57:53.437676 IP 192.168.0.214.ftp > 192.168.0.208.57068: Flags [S.], seq 4011799000, ack 2495387728, win 14480, options [mss 1460,sackOK,TS val 10259242 ecr 2561476,nop,wscale 7], length 0
E..<..@.@.................1....P..8............ ...*.'...... 22:57:53.437743 IP 192.168.0.208.57068 > 192.168.0.214.ftp: Flags [.], ack 1, win 229, options [nop,nop,TS val 2561476 ecr 10259242], length 0
E..4..@.@.*A...............P..1............
.'.....*
22:57:53.440743 IP 192.168.0.214.ftp > 192.168.0.208.57068: Flags [P.], seq 1:270, ack 1, win 114, options [nop,nop,TS val 10259245 ecr 2561476], length 269
E..A..@.@.................1....P...r.h.....
...-.'..220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 22:57. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.

22:57:53.440819 IP 192.168.0.208.57068 > 192.168.0.214.ftp: Flags [.], ack 270, win 237, options [nop,nop,TS val 2561477 ecr 10259245], length 0
E..4..@.@.*0...............P..2............
.'.....-
22:57:56.372276 IP 192.168.0.208.57068 > 192.168.0.214.ftp: Flags [P.], seq 1:12, ack 270, win 237, options [nop,nop,TS val 2562209 ecr 10259245], length 11
E..?..@.@.*$...............P..2......(.....
.'.....-USER test

22:57:56.372536 IP 192.168.0.214.ftp > 192.168.0.208.57068: Flags [.], ack 12, win 114, options [nop,nop,TS val 10262177 ecr 2562209], length 0
E..4..@.@.................2....[...r./.....
.....'..
22:57:56.372858 IP 192.168.0.214.ftp > 192.168.0.208.57068: Flags [P.], seq 270:307, ack 12, win 114, options [nop,nop,TS val 10262177 ecr 2562209], length 37
E..Y..@.@.................2....[...r.......
.....'..331 User test OK. Password required

22:57:56.372918 IP 192.168.0.208.57068 > 192.168.0.214.ftp: Flags [.], ack 307, win 237, options [nop,nop,TS val 2562210 ecr 10262177], length 0
E..4..@.@.*................[..3............
.'......
22:58:00.988173 IP 192.168.0.208.57068 > 192.168.0.214.ftp: Flags [P.], seq 12:23, ack 307, win 237, options [nop,nop,TS val 2563363 ecr 10262177], length 11
E..?..@.@.*"...............[..3......(.....
.'.#....PASS test

22:58:01.028004 IP 192.168.0.214.ftp > 192.168.0.208.57068: Flags [.], ack 23, win 114, options [nop,nop,TS val 10266833 ecr 2563363], length 0
E..4..@.@.................3....f...r.L.....
.....'.#
22:58:01.055527 IP 192.168.0.214.ftp > 192.168.0.208.57068: Flags [P.], seq 307:350, ack 23, win 114, options [nop,nop,TS val 10266860 ecr 2563363], length 43
E.._..@.@.................3....f...r.......
.....'.#230 OK. Current restricted directory is /

22:58:01.055600 IP 192.168.0.208.57068 > 192.168.0.214.ftp: Flags [.], ack 350, win 237, options [nop,nop,TS val 2563380 ecr 10266860], length 0
E..4..@.@.*,...............f..36...........
.'.4....
22:58:01.055740 IP 192.168.0.208.57068 > 192.168.0.214.ftp: Flags [P.], seq 23:29, ack 350, win 237, options [nop,nop,TS val 2563380 ecr 10266860], length 6
E..:..@.@.*%...............f..36.....#.....
.'.4....SYST

22:58:01.055864 IP 192.168.0.214.ftp > 192.168.0.208.57068: Flags [.], ack 29, win 114, options [nop,nop,TS val 10266860 ecr 2563380], length 0
E..4..@.@.................36...l...r.......
.....'.4
22:58:01.056733 IP 192.168.0.214.ftp > 192.168.0.208.57068: Flags [P.], seq 350:369, ack 29, win 114, options [nop,nop,TS val 10266861 ecr 2563380], length 19
E..G..@.@.................36...l...r.......
.....'.4215 UNIX Type: L8

22:58:01.096497 IP 192.168.0.208.57068 > 192.168.0.214.ftp: Flags [.], ack 369, win 237, options [nop,nop,TS val 2563391 ecr 10266861], length 0
E..4..@.@.**...............l..3I...........
.'.?....

FTPでは、かなり容易くユーザ名・パスワードを把握出来てしまう。 ちゃんとSFTPなどを利用した方がいいというのがよく分かる。

例)telnetでの通信内容(ユーザ名/パスワードがtest/testで実行している)

test@test-vm-ubuntu:~$ sudo tcpdump -A host 192.168.0.214 and port 23
[sudo] password for test:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
22:46:19.145755 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [S], seq 1881420868, win 29200, options [mss 1460,sackOK,TS val 453226173 ecr 0,nop,wscale 7], length 0
E..<..@.@...............p$4D......r..&......... ............ 22:46:19.147179 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [S.], seq 2465597056, ack 1881420869, win 14480, options [mss 1460,sackOK,TS val 9558713 ecr 453226173,nop,wscale 7], length 0
E..<..@.@...................p$4E..8............ ............ 22:46:19.147194 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 1, win 229, options [nop,nop,TS val 453226174 ecr 9558713], length 0
E..4..@.@...............p$4E...............
........
22:46:19.147539 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 1:25, ack 1, win 229, options [nop,nop,TS val 453226174 ecr 9558713], length 24
E..L..@.@...............p$4E.........6.....
................... ..!.."..'...
22:46:19.147908 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [.], ack 25, win 114, options [nop,nop,TS val 9558715 ecr 453226174], length 0
E..4.;@.@...................p$4]...r:......
........
22:46:19.156853 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 1:13, ack 25, win 114, options [nop,nop,TS val 9558724 ecr 453226174], length 12
E..@.<@.@..s................p$4]...r....... ............. ..#..' 22:46:19.156863 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 13, win 229, options [nop,nop,TS val 453226176 ecr 9558724], length 0
E..4..@.@...............p$4]...............
........
22:46:19.156937 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 25:28, ack 13, win 229, options [nop,nop,TS val 453226176 ecr 9558724], length 3
E..7..@.@...............p$4].........!.....
..........#
22:46:19.157200 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 13:28, ack 25, win 114, options [nop,nop,TS val 9558724 ecr 453226176], length 15
E..C.=@.@..o................p$4]...r.).....
................!.."...
22:46:19.193783 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 28, win 229, options [nop,nop,TS val 453226186 ecr 9558724], length 0
E..4..@.@...............p$4`...............
........
22:46:19.194209 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 28:46, ack 28, win 114, options [nop,nop,TS val 9558761 ecr 453226176], length 18
E..F.>@.@..k................p$4`...r.^.....
.......... .....'.........
22:46:19.194220 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 28:37, ack 46, win 229, options [nop,nop,TS val 453226186 ecr 9558761], length 9
E..=..@.@...............p$4`.........'.....
............s."..
22:46:19.234675 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [.], ack 37, win 114, options [nop,nop,TS val 9558802 ecr 453226186], length 0
E..4.?@.@..|................p$4i...r9......
........
22:46:19.234691 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 37:69, ack 46, win 229, options [nop,nop,TS val 453226196 ecr 9558802], length 32
E..T..@.@...............p$4i.........>.....
.......... .9600,9600....'.......xterm..
22:46:19.235139 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [.], ack 69, win 114, options [nop,nop,TS val 9558802 ecr 453226196], length 0
E..4.@@.@..{................p$4....r9......
........
22:46:19.235759 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 46:49, ack 69, win 114, options [nop,nop,TS val 9558803 ecr 453226196], length 3
E..7.A@.@..w................p$4....r8......
...........
22:46:19.235795 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 69:72, ack 49, win 229, options [nop,nop,TS val 453226196 ecr 9558803], length 3
E..7..@.@...............p$4..........!.....
...........
22:46:19.236306 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 49:128, ack 72, win 114, options [nop,nop,TS val 9558803 ecr 453226196], length 79
E....B@.@..*................p$4....r.R.....
...........<span style="color: #ff0000;">CentOS release 6.6 (Final)
Kernel 2.6.32-504.12.2.el6.x86_64 on an x86_64</span>

22:46:19.236349 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 72:75, ack 128, win 229, options [nop,nop,TS val 453226196 ecr 9558803], length 3
E..7..@.@...............p$4..........!.....
...........
22:46:19.241799 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.U], seq 128:129, ack 75, win 114, urg 1, options [nop,nop,TS val 9558809 ecr 453226196], length 1
E..5.C@.@..w................p$4..8.r:>.....
.........
22:46:19.241811 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 129:130, ack 75, win 114, options [nop,nop,TS val 9558809 ecr 453226196], length 1
E..5.D@.@..v................p$4....rG^.....
.........
22:46:19.241838 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 130, win 229, options [nop,nop,TS val 453226198 ecr 9558809], length 0
E..4..@.@...............p$4................
........
22:46:19.245708 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 130:137, ack 75, win 114, options [nop,nop,TS val 9558813 ecr 453226198], length 7
E..;.E@.@..o................p$4....r.>.....
........login:
22:46:19.281799 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 137, win 229, options [nop,nop,TS val 453226208 ecr 9558813], length 0
E..4..@.@...............p$4.... ...........
........
22:46:20.294816 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 75:76, ack 137, win 229, options [nop,nop,TS val 453226461 ecr 9558813], length 1
E..5..@.@...............p$4.... ...........
........t
22:46:20.296693 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 137:138, ack 76, win 114, options [nop,nop,TS val 9559864 ecr 453226461], length 1
E..5.F@.@..t...............     p$4....r.-.....
...8....t
22:46:20.296705 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 138, win 229, options [nop,nop,TS val 453226461 ecr 9559864], length 0
E..4..@.@...............p$4....
...........
.......8
22:46:20.422806 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 76:77, ack 138, win 229, options [nop,nop,TS val 453226493 ecr 9559864], length 1
E..5..@.@...............p$4....
...........
.......8e
22:46:20.424757 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 138:139, ack 77, win 114, options [nop,nop,TS val 9559992 ecr 453226493], length 1
E..5.G@.@..s...............
p$4....r.......
........e
22:46:20.424778 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 139, win 229, options [nop,nop,TS val 453226493 ecr 9559992], length 0
E..4..@.@...............p$4................
........
22:46:20.702885 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 77:78, ack 139, win 229, options [nop,nop,TS val 453226563 ecr 9559992], length 1
E..5.   @.@...............p$4................
...C....s
22:46:20.704693 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 139:140, ack 78, win 114, options [nop,nop,TS val 9560272 ecr 453226563], length 1
E..5.H@.@..r................p$4....r.+.....
.......Cs
22:46:20.704705 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 140, win 229, options [nop,nop,TS val 453226563 ecr 9560272], length 0
E..4.
@.@...............p$4................
...C....
22:46:20.942799 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 78:79, ack 140, win 229, options [nop,nop,TS val 453226623 ecr 9560272], length 1
E..5..@.@...............p$4................
........t
22:46:20.944696 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 140:141, ack 79, win 114, options [nop,nop,TS val 9560512 ecr 453226623], length 1
E..5.I@.@..q................p$4....r.......
........t
22:46:20.944717 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 141, win 229, options [nop,nop,TS val 453226623 ecr 9560512], length 0
........................p$4....
........
22:46:21.286778 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 79:81, ack 141, win 229, options [nop,nop,TS val 453226709 ecr 9560512], length 2
..... ............p$4....
........
22:46:21.288720 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 141:143, ack 81, win 114, options [nop,nop,TS val 9560856 ecr 453226709], length 2
p$4....r"B.................
........

22:46:21.288742 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 143, win 229, options [nop,nop,TS val 453226709 ecr 9560856], length 0
E..4..@.@...............p$4................
........
22:46:21.289684 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 143:153, ack 81, win 114, options [nop,nop,TS val 9560857 ecr 453226709], length 10
E..>.K@.@..f................p$4....rGx.....
........Password:
22:46:21.289693 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 153, win 229, options [nop,nop,TS val 453226709 ecr 9560857], length 0
E..4..@.@...............p$4................
........
22:46:22.070892 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 81:82, ack 153, win 229, options [nop,nop,TS val 453226905 ecr 9560857], length 1
E..5..@.@...............p$4................
........t
22:46:22.110727 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [.], ack 82, win 114, options [nop,nop,TS val 9561678 ecr 453226905], length 0
E..4.L@.@..o................p$4....r+O.....
...N....
22:46:22.142762 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 82:83, ack 153, win 229, options [nop,nop,TS val 453226923 ecr 9561678], length 1
E..5..@.@...............p$4................
.......Ne
22:46:22.143074 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [.], ack 83, win 114, options [nop,nop,TS val 9561710 ecr 453226923], length 0
E..4.M@.@..n................p$4....r+......
...n....
22:46:22.406959 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 83:84, ack 153, win 229, options [nop,nop,TS val 453226989 ecr 9561710], length 1
E..5..@.@...............p$4................
.......ns
22:46:22.407447 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [.], ack 84, win 114, options [nop,nop,TS val 9561974 ecr 453226989], length 0
E..4.N@.@..m................p$4....r)......
...v....
22:46:22.630710 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 84:85, ack 153, win 229, options [nop,nop,TS val 453227045 ecr 9561974], length 1
E..5..@.@...............p$4................
...%...vt
22:46:22.631037 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [.], ack 85, win 114, options [nop,nop,TS val 9562198 ecr 453227045], length 0
E..4.O@.@..l................p$4....r(......
...V...%
22:46:23.238793 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [P.], seq 85:87, ack 153, win 229, options [nop,nop,TS val 453227197 ecr 9562198], length 2
E..6..@.@...............p$4.......... .....
.......V
22:46:23.239218 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [.], ack 87, win 114, options [nop,nop,TS val 9562806 ecr 453227197], length 0
E..4.P@.@..k................p$4....r%......
........
22:46:23.240634 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 153:155, ack 87, win 114, options [nop,nop,TS val 9562808 ecr 453227197], length 2
E..6.Q@.@..h................p$4....r.......
........

22:46:23.240653 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 155, win 229, options [nop,nop,TS val 453227197 ecr 9562808], length 0
E..4..@.@...............p$4................
........
22:46:23.265774 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 155:207, ack 87, win 114, options [nop,nop,TS val 9562833 ecr 453227197], length 52
E..h.R@.@..5................p$4....rX......
........Last login: Sun May 24 22:45:10 from 192.168.0.XXX

22:46:23.265786 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 207, win 229, options [nop,nop,TS val 453227204 ecr 9562833], length 0
E..4..@.@...............p$4....O...........
........
22:46:23.351853 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 207:228, ack 87, win 114, options [nop,nop,TS val 9562919 ecr 453227204], length 21
E..I.S@.@..S...............Op$4....r.......
...'.....]0;test@localhost:~.
22:46:23.351887 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 228, win 229, options [nop,nop,TS val 453227225 ecr 9562919], length 0
E..4..@.@...............p$4....d...........
.......'
22:46:23.352760 IP 192.168.0.214.telnet > 192.168.0.209.54694: Flags [P.], seq 228:256, ack 87, win 114, options [nop,nop,TS val 9562920 ecr 453227225], length 28
E..P.T@.@..K...............dp$4....rn&.....
...(.....[?1034h[test@localhost ~]$
22:46:23.352784 IP 192.168.0.209.54694 > 192.168.0.214.telnet: Flags [.], ack 256, win 229, options [nop,nop,TS val 453227225 ecr 9562920], length 0
E..4..@.@...............p$4................
.......(

telnetの場合、ユーザ名は2回連続で、パスワードは1回だけ、それぞれ一文字づつ表示されている。 これは、ユーザ名はキーボードからの送信とコンソールからの出力分で2回、パスワードはコンソールに表示されないために1回のみパケットがやりとりされるためだ。

FTPよりは読みにくいけど、まぁ丸見えだ…ユーザ名やパスワードを忘れてしまったとか、こんな感じで丸見えだということを覚えておくだけでも有益だろう。

3.ホストやプロトコルの名前解決を行わない

「-n」オプションを用いる事で、ホスト名やプロトコルの名前解決を行わずに、番号のまま出力させることが出来る。

tcpdump -n

プロトコル名のみ名前解決させない場合は、「-nn」オプションとする。

4.タイムスタンプの表示を分かりやすくする

「-tttt」オプションを付与することで、タイムスタンプの出力を人間が読みやすいようにすることが出来る。

tcpdump -tttt
test@test-vm-ubuntu:~$ sudo tcpdump -tttt
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
2015-05-24 23:11:47.884678 IP 192.168.0.YYY.ssh > 192.168.0.XXX.51750: Flags [P.], seq 46288813:46288973, ack 659199000, win 307, length 160
2015-05-24 23:11:47.884744 IP 192.168.0.YYY.ssh > 192.168.0.XXX.51750: Flags [P.], seq 160:256, ack 1, win 307, length 96
2015-05-24 23:11:47.884802 IP 192.168.0.YYY.ssh > 192.168.0.XXX.51750: Flags [P.], seq 256:416, ack 1, win 307, length 160
2015-05-24 23:11:47.884847 IP 192.168.0.YYY.ssh > 192.168.0.XXX.51750: Flags [P.], seq 416:512, ack 1, win 307, length 96