lpic303 ネットワーク監視 wireshark
lpic303 ネットワーク監視 ntop
まえがき
一人で1台のサーバー運用をしていても使う事はまずないTcpdump。使わないという事もないけれどごくまれだ。
ネットワークのコマンドなんだから、そりゃそうだろうという声も聞こえてきそうだが。
基本
基本と言ってもなんというか、たとえば、sshで繋いだ状態でtcpdumpとそのまま叩こうものならものすごい勢いで流れ出す。ちゃんと目的を明確にもって、オプションを指定して使うというのが基本になるだろう。
てなわけでオプションを。
オプション
-p | 無差別透過モード(プロミスキャスモード:自分宛てでないデータパケットも受信する)を利用しない。 |
-n | アドレス(ホストアドレス、ポート番号など)を名前に変換しない。 |
-f | 外部のホストとのやりとりは名前に変換しない。 |
-l | 標準出力の内容をバッファリングする。 |
-i | インターフェースの指定。なければ有効で一番小さいもの。 |
-N | FQDNでの表記をしない。 |
-t | 時間を出力しない。 |
-tt | 整形なしで時間を出力する。 |
-v | 詳細な出力。TTLなど。 |
-vv | もっと詳細な出力。 |
-vvv | もっともっと詳細な出力。 |
-A | ASCIIでパケット出力。 |
-x | 16進数でパケット出力。 |
-X | 16 進表示されるときに、 ASCII 文字も表示する。(バイナリデータ) |
-c パケット数 | 指定したパケット受信後に終了する。 |
-s データ長 | データ長を指定できる。 |
-w ファイル名 | パケットを解析。引数に出力先のファイル名をとれる。 |
条件式
src | 送信元をフィルタリングの対象 |
dst | 送信先をフィルタリングの対象 |
host | IPアドレスをフィルタリングの対象 |
ip proto ***** | プロトコルをフィルタリングの対象 |
net ネットワーク・アドレス | ネットワーク・アドレスをフィルタリングの対象 |
gateway **** | 引数のゲートウェイが真の場合がフィルタリングの対象 |
ether broadcast/multicast | イーサネットのブロードキャストかマルチキャストが対象 |
ip broadcast/multicast | IPのブロードキャストかマルチキャストが対象 |
tcp, udp, icmp | この3つはこれだけでフィルタリング可 |
こんなとこだろうか。
試してみょう
適当に何個かやってみる。
# tcpdump -vvv port 80 -t -f tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes IP (tos 0x0, ttl 114, id 29383, offset 0, flags [DF], proto TCP (6), length 52) 192.168.0.6.50530 > 192.168.0.80.http: Flags [S], cksum 0x0bb7 (correct), seq 1102006466, win 8192, options [mss 1398,nop,wscale 8,nop,nop,sackOK], length 0 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 52) 192.168.0.80.http > 192.168.0.6.50530: Flags [S.], cksum 0xd117 (correct), seq 1510786876, ack 1102006467, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0 IP (tos 0x0, ttl 114, id 29384, offset 0, flags [DF], proto TCP (6), length 40) 192.168.0.6.50530 > 192.168.0.80.http: Flags [.], cksum 0x49f2 (correct), seq 1, ack 1, win 256, length 0 IP (tos 0x0, ttl 114, id 29385, offset 0, flags [DF], proto TCP (6), length 343) 192.168.0.6.50530 > 192.168.0.80.http: Flags [P.], cksum 0x953a (correct), seq 1:304, ack 1, win 256, length 303 IP (tos 0x0, ttl 64, id 28255, offset 0, flags [DF], proto TCP (6), length 40) 192.168.0.80.http > 192.168.0.6.50530: Flags [.], cksum 0x4948 (correct), seq 1, ack 304, win 123, length 0 IP (tos 0x0, ttl 64, id 28256, offset 0, flags [DF], proto TCP (6), length 321) 192.168.0.80.http > 192.168.0.6.50530: Flags [P.], cksum 0xf4a6 (incorrect -> 0x227d), seq 1:282, ack 304, win 123, length 281 IP (tos 0x0, ttl 64, id 28257, offset 0, flags [DF], proto TCP (6), length 40) 192.168.0.80.http > 192.168.0.6.50530: Flags [F.], cksum 0x482e (correct), seq 282, ack 304, win 123, length 0 IP (tos 0x0, ttl 114, id 29387, offset 0, flags [DF], proto TCP (6), length 40) 192.168.0.6.50530 > 192.168.0.80.http: Flags [.], cksum 0x47aa (correct), seq 304, ack 283, win 255, length 0 IP (tos 0x0, ttl 114, id 29388, offset 0, flags [DF], proto TCP (6), length 40) 192.168.0.6.50530 > 192.168.0.80.http: Flags [F.], cksum 0x47a9 (correct), seq 304, ack 283, win 255, length 0 IP (tos 0x0, ttl 64, id 28258, offset 0, flags [DF], proto TCP (6), length 40) 192.168.0.80.http > 192.168.0.6.50530: Flags [.], cksum 0x482d (correct), seq 283, ack 305, win 123, length 0 23 packets captured 23 packets received by filter 0 packets dropped by kernel
# tcpdump udp -n tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 09:24:04.705478 IP 192.168.0.80.51948 > 192.168.0.21.24224: UDP, length 1 09:24:04.706081 IP 192.168.0.21.24224 > 192.168.0.80.51948: UDP, length 1 09:24:05.616246 IP 192.168.0.4.hsrp > 224.0.0.102.hsrp: HSRPv1 09:24:05.705693 IP 192.168.0.80.51948 > 192.168.0.21.24224: UDP, length 1 09:24:05.706402 IP 192.168.0.21.24224 > 192.168.0.80.51948: UDP, length 1 09:24:06.393147 IP 192.168.0.9.hsrp > 224.0.0.102.hsrp: HSRPv1 09:24:06.705111 IP 192.168.0.80.51948 > 192.168.0.21.24224: UDP, length 1 09:24:06.705770 IP 192.168.0.21.24224 > 192.168.0.80.51948: UDP, length 1 09:24:07.705353 IP 192.168.0.80.51948 > 192.168.0.21.24224: UDP, length 1 09:24:07.706019 IP 192.168.0.21.24224 > 192.168.0.80.51948: UDP, length 1 09:24:07.917232 IP6 fe80::58b7:87ba:159c:771b.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit 09:24:08.216608 IP 192.168.0.4.hsrp > 224.0.0.102.hsrp: HSRPv1 ^C 12 packets captured 12 packets received by filter 0 packets dropped by kernel
ほかには?
and or not も使える。使い方は一般的な論理演算と同じです。
もう一声
ん~、適当に色々試してみる。
これもTcpdumpの結果だけれど、こういうのも1秒間に地球を7周半5周の速さで駆け抜けているんだと思うとSSL使おうかなぁ・・・と思えてくる。
※光ファイバの中は3分の2らしい(´・ω・`)・・
getUrl: function() { this.formatQuery(); var url = this.protocol.length > 0 ? this.protocol + '://' : ''; url += this.username.length > 0 ? encodeURI(this.username) : ''; url += this.password.length > 0 ? encodeURI(':' + this.password) : ''; url += this.host.length > 0 ? this.host : ''; url += this.port.length > 0 ? ':' + this.port : ''; url += this.path.length > 0 ? encodeURI(this.
流石に載せれないけど、メーラーとのやり取りを流していたらもろにパスワードが出ていた。
(´・ω・`)
暗号化しよう・・・。テスト環境とはいえ平文は危ないよね。
Wifiやらなんやら色々増えて、もうどこでも本格的にインターネットできる世の中になりつつある。
気を付けるべし!!