Solaris -> Solaris10 -> ネットワーク

snoopの使い方

snoopについて

snoopの機能

snoop はネットワークからのパケットを取得し、その内容を表示します。
snoop は、ネットワークパケットフィルタとストリームバッファーモジュールの両方を
使用して、効率的にネットワークからパケットを取得します。
取得したパケットは、受信した順に表示することも、
あとで検査するためファイル (RFC 1761 準拠) に保存 することもできます。
* snoop の man そのまま記述

基本的な使い方

出力ファイル -o snoop.out を指定した単純な例

# snoop -o snoop.out 
Using device /dev/pcn0 (promiscuous mode)
26 ^C                                ←パケットカウント。Ctrl+Cで終了する。
#

出力ファイルはバイナリなので、以下のコマンドでテキスト出力する。
出力フォーマットは色々あるが、16進で変換したデータを表示する。
* -x Offset値

# snoop -i snoop.out -x 50 > snoop.txt

 snoop.txt にパケットの内容が作成される。ただし、
この場合オプションを指定していないのでネットワークを流れる全パケットが
取得対象となってしまうので、
NIC、ポート、ホストのオプションを指定して使うほうが良い。

パケットの選択に指定できるオプション


ポートを指定する
# snoop -o snoop.out port 21

IPを指定する。名前解決できていればホスト名でも可能。
# snoop -o snoop.out host 192.168.0.101

NICを指定する
# snoop -d eri1 -o snoop.out

オプションを組み合わせる
# snoop -d eri1 -o snoop.out port 21 host 192.168.0.101


* port 及び host のオプションは -o , -d オプションよりも後ろに記述
  しないとエラーになる。

snoopでFTPパケットを解析する


FTPパケットを取得するsnoopコマンドを実行する


FTP は制御用ポート:21 とデータポート:20 を使用するので。
それぞれ出力ファイルを分けて取る。

データ用ポート:20のsnoop取得コマンド
# snoop -o snoop_20.out port 20 host 10.254.100.1

制御用ポート:21のsnoop取得コマンド
# snoop -o snoop_21.out port 21 host 10.254.100.1


FTPを実行する


FTPを実行

C:\>ftp 10.254.100.201
10.254.100.201 に接続しました。
220 sol01 FTP server ready.
ユーザー (10.254.100.201:(none)): sysadm00  ログインIDを入力
331 Password required for sysadm00.
パスワード:                                 パスワードを入力
230 User sysadm00 logged in.
ftp> dir                                    ← dir コマンドでファイルを参照
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
-rw-r--r--   1 sysadm00 sysadm       174  6月15日 14:18 .profile
226 Transfer complete.
ftp: 76 バイトが受信されました 0.00秒 76.00KB/秒。
ftp> get .profile                           ← get コマンドで .profileを取得
200 PORT command successful.
150 Opening ASCII mode data connection for .profile (174 bytes).
226 Transfer complete.
ftp: 182 バイトが受信されました 0.00秒 182000.00KB/秒。
ftp> by
221-You have transferred 182 bytes in 1 files.
221-Total traffic for this session was 716 bytes in 2 transfers.
221-Thank you for using the FTP service on sol01.
221 Goodbye.
C:\>

データ用ポート:20のsnoop取得結果
# snoop -o snoop_20.out port 20 host 10.254.100.1
Using device /dev/pcn0 (promiscuous mode)
16 ^C
#


制御用ポート:21のsnoop取得結果
# snoop -o snoop_21.out port 21 host 10.254.100.1
Using device /dev/pcn0 (promiscuous mode)
33 ^C
#

# ls -l
-rw-r--r--   1 root     root        1616  6月 15日  15:25 snoop_20.out
-rw-r--r--   1 root     root        3312  6月 15日  15:25 snoop_21.out
#

パケットの解析をする


パケットの内容をテキストファイルに変換する。
オフセット値:-x 50 の適正値は出力内容を見て見やすい値を設定する。
# snoop -i snoop_21.out -x 50 > snoop_21.txt
# snoop -i snoop_20.out -x 50 > snoop_20.txt


制御用ポート:21パケットの内容

  10.254.100.1 がクライアントで sol01 がFTPサーバ。
  以下は、クライアント(10.254.100.1)からサーバ(sol01)へのパケット
  1   0.00000 10.254.100.1 -> sol01        FTP C port=50483  

  以下は、サーバ(sol01)からクライアント(10.254.100.1)へのパケット
  3   0.00003        sol01 -> 10.254.100.1 FTP R port=50483  



  1   0.00000 10.254.100.1 -> sol01        FTP C port=50483

           0: 2e45 0000 0204 05b4 0103 0302 0101 0402    .E..............

  2   0.01875 10.254.100.1 -> sol01        FTP C port=50483

           0: 9fb4 0000 0000 0000 0000                   ..........

  3   0.00003        sol01 -> 10.254.100.1 FTP R port=50483

           0: a500 0000 0204 05b4 0103 0300 0101 0402    ................

  4   0.02470        sol01 -> 10.254.100.1 FTP R port=50483 220 sol01 FTP server

           0: 6e77 0000 3232 3020 736f 6c30 3120 4654    nw..220 sol01 FT
          16: 5020 7365 7276 6572 2072 6561 6479 2e0d    P server ready..
          32: 0a                                         .

  5   0.19415 10.254.100.1 -> sol01        FTP C port=50483

           0: 9f9f 0000 0000 0000 0000                   ..........
* ユーザID"sysadm00"を入力した箇所
  6   3.83074 10.254.100.1 -> sol01        FTP C port=50483 USER sysadm00\r\n      

           0: 625a 0000 5553 4552 2073 7973 6164 6d30    bZ..USER sysadm0
          16: 300d 0a                                    0..

  7   0.00014        sol01 -> 10.254.100.1 FTP R port=50483

           0: e59f 0000                                  ....

  8   0.00087        sol01 -> 10.254.100.1 FTP R port=50483 331 Password require

           0: 758e 0000 3333 3120 5061 7373 776f 7264    u...331 Password
          16: 2072 6571 7569 7265 6420 666f 7220 7379     required for sy
          32: 7361 646d 3030 2e0d 0a                     sadm00...

  9   0.19909 10.254.100.1 -> sol01        FTP C port=50483

           0: 9f74 0000 0000 0000 0000                   .t........
* パスワード"xyz789"を入力した箇所 (FTPは暗号化されていないので見られてしまう)
 10   4.82503 10.254.100.1 -> sol01        FTP C port=50483 PASS xyz789\r\n
                                                                             

           0: e792 0000 5041 5353 2078 797a 3738 390d    膊..PASS xyz789.
          16: 0a                                         .

 11   0.00011        sol01 -> 10.254.100.1 FTP R port=50483

           0: e56d 0000                                  .m..

 12   0.77759        sol01 -> 10.254.100.1 FTP R port=50483 230 User sysadm00 lo

           0: 5a96 0000 3233 3020 5573 6572 2073 7973    Z...230 User sys
          16: 6164 6d30 3020 6c6f 6767 6564 2069 6e2e    adm00 logged in.
          32: 0d0a                                       ..

 13   0.19842 10.254.100.1 -> sol01        FTP C port=50483

           0: 9f50 0000 0000 0000 0000                   .P........

 14   2.57481 10.254.100.1 -> sol01        FTP C port=50483 PORT 10,254,100,1,19

           0: 08a2 0000 504f 5254 2031 302c 3235 342c    ....PORT 10,254,
          16: 3130 302c 312c 3139 372c 3532 0d0a         100,1,197,52..

 15   0.00044        sol01 -> 10.254.100.1 FTP R port=50483 200 PORT command suc

           0: 2828 0000 3230 3020 504f 5254 2063 6f6d    ((..200 PORT com
          16: 6d61 6e64 2073 7563 6365 7373 6675 6c2e    mand successful.
          32: 0d0a                                       ..
* dir コマンドで LISTを要求した箇所
 16   0.00048 10.254.100.1 -> sol01        FTP C port=50483 LIST\r\n

           0: f26a 0000 4c49 5354 0d0a                   .j..LIST..

 17   0.01948        sol01 -> 10.254.100.1 FTP R port=50483 150 Opening ASCII mo

           0: 3b4d 0000 3135 3020 4f70 656e 696e 6720    ;M..150 Opening
          16: 4153 4349 4920 6d6f 6465 2064 6174 6120    ASCII mode data
          32: 636f 6e6e 6563 7469 6f6e 2066 6f72 202f    connection for /
          48: 6269 6e2f 6c73 2e0d 0a                     bin/ls...

 18   0.19567 10.254.100.1 -> sol01        FTP C port=50483

           0: 9ef2 0000 0000 0000 0000                   ..........

 19   0.00016        sol01 -> 10.254.100.1 FTP R port=50483 226 Transfer complet

           0: 15c7 0000 3232 3620 5472 616e 7366 6572    ....226 Transfer
          16: 2063 6f6d 706c 6574 652e 0d0a               complete...

 20   0.19987 10.254.100.1 -> sol01        FTP C port=50483

           0: 9ee0 0000 0000 0000 0000                   ..........

 21   4.46517 10.254.100.1 -> sol01        FTP C port=50483 PORT 10,254,100,1,19

           0: 0831 0000 504f 5254 2031 302c 3235 342c    .1..PORT 10,254,
          16: 3130 302c 312c 3139 372c 3533 0d0a         100,1,197,53..

 22   0.00052        sol01 -> 10.254.100.1 FTP R port=50483 200 PORT command suc

           0: 279d 0000 3230 3020 504f 5254 2063 6f6d    '...200 PORT com
          16: 6d61 6e64 2073 7563 6365 7373 6675 6c2e    mand successful.
          32: 0d0a                                       ..

 23   0.00540 10.254.100.1 -> sol01        FTP C port=50483 RETR .profile\r\n

           0: 1f81 0000 5245 5452 202e 7072 6f66 696c    ....RETR .profil
          16: 650d 0a                                    e..

 24   0.00156        sol01 -> 10.254.100.1 FTP R port=50483 150 Opening ASCII mo

           0: 6c79 0000 3135 3020 4f70 656e 696e 6720    ly..150 Opening
          16: 4153 4349 4920 6d6f 6465 2064 6174 6120    ASCII mode data
          32: 636f 6e6e 6563 7469 6f6e 2066 6f72 202e    connection for .
          48: 7072 6f66 696c 6520 2831 3734 2062 7974    profile (174 byt
          64: 6573 292e 0d0a                             es)...

 25   0.19832 10.254.100.1 -> sol01        FTP C port=50483

           0: 9e6f 0000 0000 0000 0000                   .o........

 26   0.00014        sol01 -> 10.254.100.1 FTP R port=50483 226 Transfer complet

           0: 1526 0000 3232 3620 5472 616e 7366 6572    .&..226 Transfer
          16: 2063 6f6d 706c 6574 652e 0d0a               complete...

 27   0.19991 10.254.100.1 -> sol01        FTP C port=50483

           0: 9e5d 0000 0000 0000 0000                   .]........
* quitで切断コマンドを入力した箇所
 28   1.22744 10.254.100.1 -> sol01        FTP C port=50483 QUIT\r\n           

           0: f69b 0000 5155 4954 0d0a                   ....QUIT..

 29   0.00024        sol01 -> 10.254.100.1 FTP R port=50483 221-You have transfe

           0: 294c 0000 3232 312d 596f 7520 6861 7665    )L..221-You have
          16: 2074 7261 6e73 6665 7272 6564 2031 3832     transferred 182
          32: 2062 7974 6573 2069 6e20 3120 6669 6c65     bytes in 1 file
          48: 732e 0d0a                                  s...

 30   0.00544 10.254.100.1 -> sol01        FTP C port=50483

           0: 9dd0 0000 0000 0000 0000                   ..........

 31   0.00002        sol01 -> 10.254.100.1 FTP R port=50483 221-Total traffic fo

           0: d4f5 0000 3232 312d 546f 7461 6c20 7472    ....221-Total tr
          16: 6166 6669 6320 666f 7220 7468 6973 2073    affic for this s
          32: 6573 7369 6f6e 2077 6173 2037 3136 2062    ession was 716 b
          48: 7974 6573 2069 6e20 3220 7472 616e 7366    ytes in 2 transf
          64: 6572 732e 0d0a 3232 312d 5468 616e 6b20    ers...221-Thank
          80: 796f 7520 666f 7220 7573 696e 6720 7468    you for using th
          96: 6520 4654 5020 7365 7276 6963 6520 6f6e    e FTP service on
         112: 2073 6f6c 3031 2e0d 0a32 3231 2047 6f6f     sol01...221 Goo
         128: 6462 7965 2e0d 0a                          dbye...

 32   0.00756 10.254.100.1 -> sol01        FTP C port=50483

           0: 9dcf 0000 0000 0000 0000                   ..........

 33   0.00054        sol01 -> 10.254.100.1 FTP R port=50483

           0: e368 0000                                  .h..

#



データ用ポート:20パケットの内容

  1   0.00000 10.254.100.1 -> sol01        FTP-DATA C port=50484

           0: 1812 0000 0204 05b4 0103 0308 0101 0402    ................

  2   0.00007        sol01 -> 10.254.100.1 FTP-DATA R port=50484

           0: eb5c 0000 0204 05b4 0103 0300 0101 0402    諚..............

  3   0.00048        sol01 -> 10.254.100.1 FTP-DATA R port=50484

           0: b6fc 0000                                  ....
LISTの結果を返答した内容
  4   0.00186        sol01 -> 10.254.100.1 FTP-DATA R port=50484 \271\347\267\327 2\r\n-rw-r--r--

           0: 48bd 0000 b9e7 b7d7 2032 0d0a 2d72 772d    H....膊. 2..-rw-
          16: 722d 2d72 2d2d 2020 2031 2073 7973 6164    r--r--   1 sysad
          32: 6d30 3020 7379 7361 646d 2020 2020 2020    m00 sysadm
          48: 2031 3734 2020 36b7 ee20 3135 c6fc 2020     174  6.. 15..
          64: 3134 3a31 3820 2e70 726f 6669 6c65 0d0a    14:18 .profile..

  5   0.00013 10.254.100.1 -> sol01        FTP-DATA C port=50484

           0: 7798 0000 0000 0000 0000                   w.........

  6   0.00002        sol01 -> 10.254.100.1 FTP-DATA R port=50484

           0: b6af 0000                                  ....

  7   0.00391 10.254.100.1 -> sol01        FTP-DATA C port=50484

           0: 7797 0000 0000 0000 0000                   w.........

  8   0.00011        sol01 -> 10.254.100.1 FTP-DATA R port=50484

           0: b6ae 0000                                  ....

  9   4.86190 10.254.100.1 -> sol01        FTP-DATA C port=50485

           0: cdec 0000 0204 05b4 0103 0308 0101 0402    ................

 10   0.00003        sol01 -> 10.254.100.1 FTP-DATA R port=50485

           0: c486 0000 0204 05b4 0103 0300 0101 0402    ................

 11   0.00043        sol01 -> 10.254.100.1 FTP-DATA R port=50485

           0: 6cd7 0000                                  l...
getコマンドで .profile ファイルを転送した内容(ファイルの内容が全部見える)

 12   0.00112        sol01 -> 10.254.100.1 FTP-DATA R port=50485 #\r\n# Copyright (c) 2

           0: ad26 0000 230d 0a23 2043 6f70 7972 6967    .&..#..# Copyrig
          16: 6874 2028 6329 2032 3030 3120 6279 2053    ht (c) 2001 by S
          32: 756e 204d 6963 726f 7379 7374 656d 732c    un Microsystems,
          48: 2049 6e63 2e0d 0a23 2041 6c6c 2072 6967     Inc...# All rig
          64: 6874 7320 7265 7365 7276 6564 2e0d 0a23    hts reserved...#
          80: 0d0a 2320 6964 656e 7409 2240 2823 296c    ..# ident."@(#)l
          96: 6f63 616c 2e70 726f 6669 6c65 0931 2e31    ocal.profile.1.1
         112: 3009 3031 2f30 362f 3233 2053 4d49 220d    0.01/06/23 SMI".
         128: 0a73 7474 7920 6973 7472 6970 0d0a 5041    .stty istrip..PA
         144: 5448 3d2f 7573 722f 6269 6e3a 2f75 7372    TH=/usr/bin:/usr
         160: 2f75 6362 3a2f 6574 633a 2e0d 0a65 7870    /ucb:/etc:...exp
         176: 6f72 7420 5041 5448 0d0a                   ort PATH..

 13   0.00018 10.254.100.1 -> sol01        FTP-DATA C port=50485

           0: 2d09 0000 0000 0000 0000                   -.........

 14   0.00001        sol01 -> 10.254.100.1 FTP-DATA R port=50485

           0: 6c20 0000                                  l ..

 15   0.00644 10.254.100.1 -> sol01        FTP-DATA C port=50485

           0: 2d08 0000 0000 0000 0000                   -.........

 16   0.00013        sol01 -> 10.254.100.1 FTP-DATA R port=50485

           0: 6c1f 0000                                  l...

#



先頭へ

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google