Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

#pakeana 14

1,260 views

Published on

Published in: Technology
  • Be the first to comment

#pakeana 14

  1. 1. tcpdump から始まるネットワークエンジニアの朝2013/04/19#pakeana 14@twovs
  2. 2. agenda• 自己紹介• tcpdump と Wireshark• tcpdump で解決しました(どやっ• tcpdump で解決しました(どやっ• Wireshark で解決しました(また今度)• まとめ
  3. 3. about me• @twovs• ネコ2人+奥さん1人+可愛い娘• 無線LAN装置の開発(1999~2004)• 無線LAN装置の開発(1999~2004)• オンラインゲームのシステム管理者(2004~)• ただし,ゲームには全く興味無し• ZFS 最高 !!! beadm 便利 !!!
  4. 4. ネットワーク職人の朝は早い。「まぁ好きではじめた仕事ですから」最近は Wireshark ばかりだと口をこぼした。
  5. 5. まず,朝の tcpdump から始まる。「やっぱり一番うれしいのは2ch の反応ね,この仕事やっててよかったなと」
  6. 6. tcpdump / Wiresharktcpdump Wireshark軽い 重い低機能 高機能とりあえず見る じっくり見るサーバでキャプチャローカルPCで結果を見る感じ取る 探し出す気付く 確認する
  7. 7. Case#1何もしてないのに壊れた(ping 応答なし)
  8. 8. tcpdumptcpdumpCase#1pingServer#1192.168.3.1Server#2192.168.3.2
  9. 9. Case#1[1]# tcpdump -n -t -i eth0 not port 22ARP, Request who-has 192.168.3.2 tell 192.168.3.1, length 46ARP, Reply 192.168.3.2 is-at 08:00:27:75:6f:fc, length 46 (*1)IP 192.168.3.1 > 192.168.3.2: ICMP echo request, id 16388, seq 1, length 64IP 192.168.3.2 > 192.168.3.1: ICMP echo reply, id 16388, seq 1, length 64IP 192.168.3.1 > 192.168.3.2: ICMP echo request, id 16388, seq 2, length 64IP 192.168.3.2 > 192.168.3.1: ICMP echo reply, id 16388, seq 2, length 64[2]# tcpdump -n -t -i eth0 not port 22ARP, Request who-has 192.168.3.2 tell 192.168.3.1, length 46ARP, Reply 192.168.3.2 is-at 08:00:27:75:6f:fc, length 28 (*2)IP 192.168.3.1 > 192.168.3.2: ICMP echo request, id 16388, seq 1, length 64IP 192.168.3.2 > 192.168.3.1: ICMP echo reply, id 16388, seq 1, length 64IP 192.168.3.1 > 192.168.3.2: ICMP echo request, id 16388, seq 2, length 64IP 192.168.3.2 > 192.168.3.1: ICMP echo reply, id 16388, seq 2, length 64• これは正常時のパケット
  10. 10. Case#1[1]# tcpdump -n -t -i eth0 not port 22ARP, Request who-has 192.168.3.2 tell 192.168.3.1, length 46ARP, Request who-has 192.168.3.2 tell 192.168.3.1, length 46ARP, Request who-has 192.168.3.2 tell 192.168.3.1, length 46• ARP Request に応答なし• 繫がっていないんじゃね…?• おい,ケーブル抜けてるぞ!!!
  11. 11. Case#2何もしてないのに壊れた(ping 応答なし)
  12. 12. tcpdumptcpdumpCase#2pingServer#1192.168.3.1Server#2192.168.3.2
  13. 13. Case#2[1]# tcpdump -n -t -i eth0 not port 22ARP, Request who-has 192.168.3.2 tell 192.168.3.1, length 46ARP, Reply 192.168.3.2 is-at 08:00:27:75:6f:fc, length 46IP 192.168.3.1 > 192.168.3.2: ICMP echo request, id 25348, seq 1, length 64IP 192.168.3.1 > 192.168.3.2: ICMP echo request, id 25348, seq 2, length 64• ARP Request に応答(Reply)あり• 192.168.3.2 のサーバは動いてる• ICMP がフィルタされてるんじゃね?
  14. 14. Case#3何もしてないのに壊れた(SSH できない)
  15. 15. tcpdumptcpdumpCase#3ssh(IPv6)Server#1fe80::1Server#2fe80::2(IPv6)[server]$ ssh -6 fe80::2%eth0
  16. 16. Case#3[1]# tcpdump -n -t -i eth0IP6 fe80::1 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has fe80::2, length 32IP6 fe80::2 > fe80::1: ICMP6, neighbor advertisement, tgt is fe80::2, length 32IP6 fe80::1.56414 > fe80::2.ssh: Flags [S], seq 3767421192, win 14400, options [mssIP6 fe80::2.ssh > fe80::1.56414: Flags [S.], seq 3283559780, ack 3767421193, win 14280,IP6 fe80::1.56414 > fe80::2.ssh: Flags [.], ack 1, win 225, options [nop,nop,TS valIP6 fe80::2.ssh > fe80::1.56414: Flags [P.], seq 1:22, ack 1, win 224, optionsIP6 fe80::1.56414 > fe80::2.ssh: Flags [.], ack 22, win 225, options [nop,nop,TS valIP6 fe80::1.56414 > fe80::2.ssh: Flags [.], ack 22, win 225, options [nop,nop,TS valIP6 fe80::1.56414 > fe80::2.ssh: Flags [P.], seq 1:22, ack 22, win 225, optionsIP6 fe80::2.ssh > fe80::1.56414: Flags [.], ack 22, win 224, options [nop,nop,TS valIP6 fe80::1.56414 > fe80::2.ssh: Flags [P.], seq 22:814, ack 22, win 225, optionsIP6 fe80::2.ssh > fe80::1.56414: Flags [.], ack 814, win 248, options [nop,nop,TS valIP6 fe80::2.ssh > fe80::1.56414: Flags [P.], seq 22:806, ack 814, win 248, options• これは正常時のパケット
  17. 17. Case#3[1]# tcpdump -n -t -i eth0IP6 fe80::1 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has fe80::2, length 32IP6 fe80::1 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has fe80::2, length 32IP6 fe80::1 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has fe80::2, length 32• neighbor solicitation に応答なし• ICMPv6 フィルタしてるんじゃね?
  18. 18. Case#3• ARP(Address Resolution Protocol)はIPv4アドレスから MACアドレスを得るためのプロトコル• IPv6 に ARP はなく,ICMPv6 を使ってIPv6アドレスから MACアドレスを得るICMPv6 はフィルタしない!
  19. 19. Case#4何もしてないのに壊れた(パケットサイズが違う)
  20. 20. Case#4• Server#1 で tcpdumpARP, Reply 192.168.3.2 is-at 08:00:27:75:6f:fc, length 46• Server#2 で tcpdump• Server#2 で tcpdumpARP, Reply 192.168.3.2 is-at 08:00:27:75:6f:fc, length 28Ethernet Header(14(6+6+2)Byte)が含まれていないWireshark では 60(46+14)または 42(28+14)と表示される
  21. 21. Case#4/Server#1
  22. 22. Case#4/Server#2
  23. 23. Case#4tcpdumpiptablesprocessdrivertcpdumpServer#1padding最小は64[Byte]
  24. 24. Case#5何もしてないのに壊れた(パケットサイズが大きい)
  25. 25. Case#5[server]# tcpdump -nn -t -i eth0 port 80 | grep "length [0-9]{5,}"(snip)IP (snip) Flags [.], seq 12701:14851, ack 0, win 15544, length 12150IP (snip) Flags [.], seq 12701:13501, ack 0, win 15544, length 10800IP (snip) Flags [.], seq 12701:13501, ack 1, win 15544, length 10800IP (snip) Flags [.], seq 12370:44520, ack 0, win 15544, length 12150IP (snip) Flags [.], seq 10801:21601, ack 0, win 15544, length 10800IP (snip) Flags [.], seq 11565:14065, ack 1, win 15544, length 13500IP (snip) Flags [.], seq 11565:14065, ack 1, win 15544, length 13500IP (snip) Flags [.], seq 65416:88366, ack 0, win 15544, length 22950IP (snip) Flags [.], seq 68116:96466, ack 0, win 15544, length 28350IP (snip) Flags [.], seq 68116:80266, ack 0, win 15544, length 12150IP (snip) Flags [.], seq 44696:16846, ack 0, win 15544, length 12150• MTU = 1500[Byte] なのに…???
  26. 26. Case#5tcpdump仮想NICVirtual SwitchVirtual Switchfragment & defragment最大は1500[Byte]物理NIC
  27. 27. まとめ1. LAN ケーブルささってる?2. Windows FireWall (とか)動いてない?3. ICMPv6 フィルタしない!3. ICMPv6 フィルタしない!4. 内部で見てる? 外部で見てる?5. 物理サーバ? 仮想サーバ? に注意
  28. 28. まとめ.1パケットは見るんじゃない,感じるんだ
  29. 29. パケットはまとめ.2嘘をつかない
  30. 30. まとめ.3Wireshark では息づかいが感じられない
  31. 31. ENDEND

×