科学の箱

科学・IT・登山の話題

IT

fingで監視をする

投稿日:2013年12月12日 更新日:

fingにより定期的にLANにつながっているホストについて一覧を記録する。

インストール

fingはこちらからダウンロードできる。ダウンロードしたファイルを実行すればインストールされる。途中でパスに追加するか聞かれる。パスに追加しておけばコマンドラインから実行パスを考えることなくfingを起動できる。ほかは難しいところはない。

確認

インストールが完了したらまずテストでfingを実行してスキャンが行われるかを確認する。fingの実行はバッチモードとインタラクティブモードがある。ここではインタラクティブモードを使う。

スタート→すべてのプログラム→Overlook Fing→fingを実行する。このとき”管理者として実行する”を選択すること。ファイルを出力したときに権限がないとスキャンは正常終了するが、ファイルが作成されない。エラーメッセージが出ないために原因が特定できない。

メニューが表示されるので下記のように実行する。

Do you want to (D)iscover, (S)can, (F)ingbox, (P)ing or display (I)nfos?
> d
Which network shall be monitored? Type a letter or a network.
  (A) Intel(R) PRO/1000 MT Network Connection
      10.1.0.29/24 - Ethernet
>
How many rounds?
>
Do you want to discover domain names, (Y)es or (N)o?
>
Choose the file name to persist your discovery session.
You may specify absolute paths. Type <Enter> for none.
>
Do you want a (L)og or (T)able output?
>
Which format do you prefer (html, csv, text, stext, xml, json)?
> html
Do you want to send the output to the (C)onsole or a (F)ile?
> f
Choose the file name (you may specify absolute paths).
> aaaa
Do you want to add another output, (Y)es or (N)o?
> y
Do you want a (L)og or (T)able output?
> t
Which format do you prefer (html, csv, text, stext, xml, json)?
> stext

Do you want to send the output to the (C)onsole or a (F)ile?
> c
Do you want to add another output, (Y)es or (N)o?
> n

=== You have completed the procedure ===

  The equivalent command is:
  fing -o table,html,aaaa -o table,stext,console

Do you execute it now, (Y)es or (N)o?
> y
18:42:43 > Discovery profile: Default discovery profile
18:42:43 > Discovery class:   data-link (data-link layer)
18:42:43 > Discovery on:      10.1.0.0/24

18:42:43 > Discovery round starting.
18:42:44 > Discovery progress 25%
18:42:45 > Discovery progress 50%
18:42:45 > Discovery progress 75%
-------------------------------------------------------------------------------
| State | Host                              | MAC Address       | Last change |
|-----------------------------------------------------------------------------|
|  UP   | 10.1.0.0                        | FF:FF:FF:FF:FF:FF |             |
|  UP   | 10.1.1.1                        | 00:23:0D:35:90:41 |             |
|  UP   | 10.1.1.6                        | E8:E7:32:98:E4:3C |             |

途中でメッセージが出てくるが、このメニューで選択したコマンドは以下である。

  fing -o table,html,aaaa -o table,stext,console

インタラクティブモードでいくつか命令を変えて実行すれば、コマンドラインに対するパラメータの設定について理解が深まる。

定期的に実行

では定期的に実行させて、記録をとる。一定間隔で実行する方法としては以下の3つがある。

  1. fingをコマンドラインから起動して繰り返し実行させる
  2. サービスとして実行する
  3. バッチを作成して、Windowsのタスクとして実行する。

1)は簡単である反面いくつかの問題点がある。この方法はコマンドラインからfingコマンドを実施するだけである。fingは一回立ち上がると構成ファイルに指定された間隔で実行を繰り返す。この実行間隔はdiscovery.propertiesの以下のパラメータである。デフォルトは1分間隔でありmsecで指定する。下記は1時間間隔に変更している。

profile.default.data-link.round.interval = 3600000

この方法では出力ファイルが常に上書きされてしまうこと、ユーザーが常にログオンしている状態であることが必要であるために柔軟性がない。

2)はサービスとして実行することでユーザーがログオンしていなくても常にスキャンが実施される。サービスに登録する方法は以下のコマンドを実行する。

fing -n 192.168.1.0/24 -o table,html,c:\report\lan.html --session c:\report\lansess --installservice FingService

fingのドキュメントに詳細が記載されている。

3)がもっとも柔軟性が高い。今回は以下の要件を満たしたかったのでこの方法を採用した。

  • 最新版はhttpで参照できる
  • ヒストリが残っている

まず以下のバッチファイルを作成する。

set time2=%time: =0%
set serial=%date:/=%%time2:~0,2%%time2:~3,2%%time2:~6,2%
fing -r 1 -o log,text table,stext table,html,"%USERPROFILE%\Desktop\finglog\network_%serial%.html"
copy "%USERPROFILE%\Desktop\finglog\network_%serial%.html" C:\inetpub\wwwroot\network.html

ポイントは以下のとおり

  • 実行した日時をファイル名の末尾につけているので実行結果が上書きされない
  • fingで -r 1を指定している。一回実行したら処理を抜ける。このパラメータを指定しないとfingは繰り返しの処理に入るのでcopyコマンドに到達することがない。
  • 実行結果をnetwork.htmlとしてhttpサーバーのパスにコピーしている。

このファイルをWindowsスケジューラに登録して一時間毎に実施する。このときユーザーはfingにパスが通っていてかつ管理者権限を持つユーザーにすること。タスクの設定でもっとも高い権限で実施するようにチェックボックスに指定する。

メタ情報

inarticle



メタ情報

inarticle



-IT
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Windows Security Updateのスケジュールについて考えてみる

MicrosoftからはWindows Security Updateは毎月第二火曜日に公開される。日本では時差の関係上第2水曜日もしくは第3水曜日となる。 セキュリティ情報リリース スケジュール W …

no image

Dynamipisのインストール

Dynamipsを利用するときに2つのバージョンを利用できる。 Dynagen GNS3 DynagenはCiscoシミュレータであるDymapis本体が含まれている。それに対してGNS3にはシミュレ …

no image

gem installでzlibが見つからないエラー

gem installでzlibが見つからないとのエラー。どうやらzlibをインストールするまえにrubyをインストールするとリンクがうまくいかないよう。 $ gem install xxxxxx E …

no image

PowershellでWindowsイベントを操作する

PowershellはWindows7およびWindows2008R2には標準で実装されている。これを利用してCUIベースでのイベントログの操作が可能になる。 イベントのログ形式は2つに分かれる。Wi …

no image

vim設定ファイル

set number inoremap <silent> <Esc> <Esc> inoremap <silent> <C-[> <E …

2013年12月
« 11月   1月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

side bar top



アーカイブ

カテゴリー