ダウンロード nwg4s008.lzh (1999/08/14 10031bytes)

----------------------------------
NetGenesis4シミュレータ Ver.0.08β
   Copyright(C) 1999 M.Okamura
----------------------------------

1.NetGenesis4シミュレータとは

 このソフトは、マイクロ総合研究所から発売されてるNetGenesis4の動作を
真似て応答コマンドを送信するプログラムです。実際に回線接続する機能は
ありません。
 NetGenesis4セットアップユーティリティと連携したソフトを作成している、
またはNetGenesis4へコマンド送信するソフトを作成している開発者向けです。

 サポートしているNetGenesis4のFirmware Versionは以下のとおりです。
	NetGenesis4 Firmware Version : 1.1101
	NetGenesis4 Firmware Version : 2.002
	NetGenesis4 Firmware Version : 2.0022
	NetGenesis4 Firmware Version : 2.104
	NetGenesis4 Firmware Version : 2.204
	NetGenesis4 Firmware Version : 2.210
	NetGenesis4 Firmware Version : 2.313

 サポートしている機能は以下のとおりです。
	一部のコマンドに対する応答(詳細は後術)
	SYSLOG出力
	マルチアカウント
	NTP(SYSLOG出すだけのおまけツール)
	ProxyDNS(SYSLOG出すだけ)
	通信内容の16進ダンプ出力
	要求コマンドの正当性チェック

 サポートしている応答は以下のとおりです。
	NetGenesis4検索に対する応答
	手動接続要求に対する応答
	手動切断要求に対する応答
	時刻設定要求に対する応答
	状態確認に対する応答
	デフォルト接続先変更に対する応答

 サポートしていない機能は以下のとおりです。
	「ISP端末型ダイヤルアップIP接続」以外のモード
	設定モード
	シリアル2の機能(未テスト状態&SYSLOG無し)
	本来のNTP機能
	本来のProxyDNS機能
	モデムとのやりとりの微妙な時間遅延
	その他

 ※サポート機能に関してもNetGenesis4と必ずしも同一動作とは限りません。
 ※NetGenesis4のプロトコルは独自に解析したものです。
 ※本件に関して、マイクロ総合研究所への問い合わせはしないでください。


2.環境

 Windows95/98/NTで使用する場合には、Perl を導入する必要があります。
 ActivePerl をご利用ください。
	http://www.ActiveState.com/
	http://www.ActiveState.com/ActivePerl/download.htm

 Macで使用する場合には MacPerl を導入する必要があります。
	http://world.std.com/~habilis/macjperl/MacJP5.j.htm
	http://ring.aist.go.jp/archives/lang/perl/CPAN/ports/index.html#mac

 UNIXで使用する場合には、Perl のパスに注意してください。


3.効能

 NetGenesis4関連ツールを作成している開発者に以下のメリットがあります。
	・いろいろなファームウェアバージョンでの動作チェック
	・同一LAN上に複数台NetGenesis4がある場合の動作チェック
	・LAN上にNetGenesis4が無い場合の、NetGenesis4アプリ作成・テスト
	・独自にコマンド送信しているソフトの場合に、送信データ内容の確認
	・純正NetGenesis4セットアップユーティリティの動作研究


4.設定

 NetGenesis4シミュレータを実行する前に設定を行ってください。
 数は多いですが、ほとんどはデフォルトのままで問題ありません。
 IPアドレスだけは正しく設定しないと動作しません。

◆必ず実行するマシンと同一のIPアドレスにしてください。
$ip = '192.168.0.10';		# NetGenesis4シミュレータ IPアドレス
$mask = '255.255.255.0';	# NetGenesis4シミュレータ ネットマスク
$nwg4name = 'NWG Simulator';	# NetGenesis4シミュレータ ニックネーム
$nwg4mode = 6;			# 0:F/W 1.1101  1:F/W 2.002  2:F/W 2.0022
				# 3:F/W 2.104   4:F/W 2.204  5:F/W 2.210
				# 6:F/W 2.313

◆ログ設定
$log = 1;			# 通信ログ保存フラグ
$logfile = 'nwg4log.txt';	# 通信ログファイル
$syslog_flag = 1;		# SYSLOG出力フラグ
$syslog_ip = '255.255.255.255';	# SYSLOG出力先IPアドレス
$screen = 0;			# 通信ダンプ画面出力フラグ

◆SYSLOGにTIM:を出力しなくなる。
◆F/W 2.313の場合、状態確認のNTPフラグが変化します。(ただし時間値は固定です)
◆SYSLOGにNTP:を出力したい場合は後述のおまけツールをご利用ください。
$ntp = 0;			# NTP機能利用フラグ

◆SYSLOGにDNS:を出力するだけです。(^^;
$proxydns = 1;			# ProxyDNSの使用フラグ

◆接続・切断コマンドの場合、指定秒数待ってから送信します。
◆ただしその間は状態確認などの応答ができないので実物の動作と異なります。
$delay = 0;			# 接続切断送信遅延(秒)

◆SYSLOGが速すぎる・遅すぎる場合に調整してください。
$syslogdelay = 20000;		# 各行SYSLOG送信遅延

◆接続動作の成功率を設定します。
◆確立論的には、指定した回数に1回の割合で失敗するようになります。
$busy = 3;			# 動作 0:必ず成功 1:失敗 2〜59:たまに失敗

◆接続時SYSLOGに出力する情報
$atd[0] = '00-0000-1111';	# SYSLOG:接続先電話番号(ISP 1-1)
$atd[1] = '00-0000-2222';	# SYSLOG:接続先電話番号(ISP 1-2)
$atd[2] = '00-0000-3333';	# SYSLOG:接続先電話番号(ISP 1-3)
$atd[3] = '00-0000-4444';	# SYSLOG:接続先電話番号(RAS 1-1)
$speed = 'CONNECT 64000';	# SYSLOG:接続スピード

◆いまのところシリアル1のみ
$serial = 1;			# 有効シリアルポート

◆以下は、マルチアカウント機能の情報
◆DNSはSYSLOGに出力IPアドレス
$defisp1 = 1;			# シリアル1デフォルト接続先
$isp1kind = 0;			# シリアル1利用種別
$isp1term = 3;			# シリアル1回線種別
$isp1[0] = 1;			# シリアル1接続先1有効フラグ
$isp1[1] = 1;			# シリアル1接続先2有効フラグ
$isp1[2] = 1;			# シリアル1接続先3有効フラグ
$isp1[3] = 0;			# シリアル1接続先4有効フラグ
$isp1name[0] = 'ISP 1-1';	# シリアル1接続先1名称
$isp1name[1] = 'ISP 1-2';	# シリアル1接続先2名称
$isp1name[2] = 'ISP 1-3';	# シリアル1接続先3名称
$isp1name[3] = 'RAS 1-1';	# シリアル1接続先4名称
$isp1dns[0] = '0.0.0.1';	# シリアル1接続先1DNS
$isp1dns[1] = '0.0.0.2';	# シリアル1接続先2DNS
$isp1dns[2] = '0.0.0.3';	# シリアル1接続先3DNS
$isp1dns[3] = '0.0.0.4';	# シリアル1接続先4DNS
$defisp2 = 0;			# シリアル2デフォルト接続先
$isp2kind = 0;			# シリアル2利用種別
$isp2term = 0;			# シリアル2回線種別
$isp2[0] = 1;			# シリアル2接続先1有効フラグ
$isp2[1] = 0;			# シリアル2接続先2有効フラグ
$isp2[2] = 0;			# シリアル2接続先3有効フラグ
$isp2[3] = 0;			# シリアル2接続先4有効フラグ
$isp2name[0] = 'ISP 2-1';	# シリアル2接続先1名称
$isp2name[1] = 'ISP 2-2';	# シリアル2接続先2名称
$isp2name[2] = 'ISP 2-3';	# シリアル2接続先3名称
$isp2name[3] = 'RAS 2-1';	# シリアル2接続先4名称
$isp2dns[0] = '0.0.0.1';	# シリアル2接続先1DNS
$isp2dns[1] = '0.0.0.2';	# シリアル2接続先2DNS
$isp2dns[2] = '0.0.0.3';	# シリアル2接続先3DNS
$isp2dns[3] = '0.0.0.4';	# シリアル2接続先4DNS

※シリアルx利用種別は以下の値ですが、0以外は対応していません。
	0:ISP・端末型ダイヤルアップIP接続
	1:RASクライアントIP接続
	2:ISP・端末型ダイヤルアップIP接続とRASサーバIP接続を併用
	3:RASクライアントIP接続とRASサーバIP接続を併用
	4:RASサーバIP接続
	5:ISP・LAN型ダイヤルアップIP接続
	6:LAN型ダイヤルアップIP接続
	7:ISP・専用線IP接続
	8:専用線IP接続

※シリアルx回線種別は以下の値です。
	1:アナログ:プッシュ回線(トーン)
	2:アナログ:ダイヤル回線(パルス)
	4:ISDN:INSネット64回線
	5:ISDN:専用線
	6:アナログ:専用線(発信側)
	7:アナログ:専用線(着信側)


5.開始

 perl nwg4sim.pl または nwg4sim.pl
 引数は一切ありません。

 NTP機能を利用する場合で、定期的にNTP:のSYSLOG出力が必要な場合は、
別プロセスとして付属の nwg4ntp.pl を実行してください。
 ただしSYSLOG出力のみで、NTPサーバとしての機能は持ちません。

 ログは、WWWブラウザなどで開くとリロードができて読みやすいです。

 NetGenesis4検索機能で、本物のNetGenesis4とシミュレータが見つかって
処理に都合が悪い場合は、ブロードキャストではなくシミュレータのIPへ
送信するとうまくいきます。ポート番号を変えるという方法もあります。
デバッグ終わったら戻しましょう。


6.予定

 ・・・・・・
 後のことを考えずに機能追加してきたので、プログラムぐちゃぐちゃ^^;


7.履歴

 1999.02.21	Ver.0.01β	暫定版
 1999.02.21	Ver.0.02β	画面表示内容強化
 1999.02.23	Ver.0.03β	busy処理のSYSLOGが抜けていたのを追加
				SYSLOGの送信タイミングを変更可能とした
 1999.02.24	Ver.0.04β	要求コマンドの正当性チェック追加
 1999.03.10	Ver.0.05β	時刻設定応答データのバグ修正
 1999.03.12	Ver.0.06β	F/W 2.204以外の応答データのバグ修正
 1999.08.11	Ver.0.07β	F/W 2.313対応
 1999.08.14	Ver.0.08β	F/W 2.313に2.204までの状態確認要求は無応答
				(実機に動作をあわせた)
				要求コマンドのヘッダ 00 判定を修正
				(公式libでは、+08〜+0Bは 00 ではなく暗号情報)
				接続先電話番号をISP毎に個別設定できるよう修正
				My IP,Peer IPは乱数で毎回変化するよう修正


8.資料

 このソフトは独自にNetGenesis4のプロトコルを解析した情報を用いています。
 http://www.vector.co.jp/authors/VA008536/


9.著作権

 このソフトの著作権は、M.Okamura にあります。
 フリーウェアですので、自由に利用・改造してもらってかまいません。
 改造したものを配布する場合は、オリジナルとの変更点を明記してください。
 また、改造点などを教えていただけると作者としてはありがたいです。
 Perl2Exeなどでバイナリ化した物のみを配布することは禁止します。

 バグ・要望・質問・は遠慮なくメールしてください。
 本物のNetGenesis4と動作が違うという情報は特に歓迎です。

---
M.Okamura
okamura@geocities.co.jp
http://www.vector.co.jp/authors/VA008536/

クリックするとサンプルのログファイルが見られます。
sample


NetGenesis情報ページへ戻る


このページに関するお問い合わせは、下記アドレスへ。
E-mail: anb@y7.net
Copyright (C) 1999 M.Okamura 7N1ANB