━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ idhcpc0.x version 0.10 Copyright 2003 Igarashi ━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ これはなに?│ ──────┘  拙作idhcpc.x専用の補助ツールです。「idhcpc.xがうまく動かない、おかしい なあ、バグってんじゃないの?」という場合に使います。運がよければ、動くよ うになります。  メモリに常駐しているxip.xに一時的にパッチを当てる、危険なツールです。 覚悟のうえ使用してください。  idhcpc.xが問題なく動作している方は、この補助ツールを使う必要はありませ ん。というより、むしろ使わないほうが身のためです。 ━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ インストール│ ──────┘  idhcpc0.xを、環境変数pathの指すディレクトリへコピーしてください。  また、idhcpc0.xの内部でidhcpc.xが実行されるため、idhcpc.xがインストー ルされている必要があります。 ━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 使い方│ ───┘  idhcpc0.xを、idhcpc.xの代わりに使います。 例: @>xip ★ xip.xの常駐 @>idhcpc0 ★ 実行(内部でidhcpc.xが実行される) : @>idhcpc -r ★ 常駐解除(常駐時以外はidhcpc.xを使うこと) @>xip -r ★ xip.xの常駐解除  なお、idhcpc0.xに渡されたオプションは、そのままidhcpc.xに渡されます。 例: @>idhcpc0 -v ★ 内部でidhcpc.x -vが実行される ━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 注意│ ──┘  idhcpc0.xは、xip.xの次のバージョンのみ対応しています。 X680x0 IP driver xip.x β5 Modified by K.Shirakata. -a--rwx xip .x 91696 98-10-07 12:00:00  idhcpc0.xは、一応xip.xの常駐チェックとバージョンチェックを行っています が、このチェックはかなり大甘です。ご注意を。 ━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━ 技術的(でもなんでもない)詳細│ ───────────────┘  クライアントからのDHCPDISCOVER要求に対するDHCPサーバの応答は、通常は次 のような形式です。 送信元MACアドレス: FF:FF:FF:FF:FF:FF(ブロードキャスト) 送信先MACアドレス: xx:xx:xx:xx:xx:xx(クライアント側MACアドレス)  しかし中には、次のように応答するサーバが存在するようです(ADSLモデム Aterm DR202: NECアクセステクニカ社製で確認)。 送信元MACアドレス: yy:yy:yy:yy:yy:yy(サーバ側MACアドレス) 送信先MACアドレス: xx:xx:xx:xx:xx:xx(クライアント側MACアドレス)  ここで、xip.xの内部動作を見ると、 yy:yy:yy:yy:yy:yyがブロードキャストでない場合は ↓ ARPテーブルを参照し、yy:yy:yy:yy:yy:yyに対応する IPアドレスを得る ↓ ルーティングテーブルを参照し、 上で得られたIPアドレスへのルートを探そうと試みる ↓ しかしクライアント側はまだIPアドレスを取得していない ↓ 該当ルートがルーティングテーブルから見つからないため、 サーバからの応答は破棄される(?) となっているようで(すげー自信なし)、DHCPサーバからの応答をDHCPクライア ントが受信できないという結果になります。  そこでidhcpc0.xは、メモリ上のxip.xにパッチを当て、処理を一時的に次のよ うに変更します。 クライアント側に届いたイーサネットフレームがDHCPだった場合は ↓ yy:yy:yy:yy:yy:yyを片っ端からFF:FF:FF:FF:FF:FFに書き換える ↓ その後は元の処理に飛ばす  イーサネットフレーム受信処理を上記のように変更した状態でidhcpc.xを実行 し、実行が終了したらxip.xの処理を元に戻します。  …と、いろいろ書きましたが、idhcpc.xをちょっと修正すれば、DHCPサーバか らの応答を受信できるようになるのかもしれません(ネットワークに詳しくない のでポカミスしてる可能性は高い)。情報をお待ちしております。 ━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 配布規定│ ────┘  ご自由にどうぞ。 ━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 謝辞│ ──┘  idhcpc0.xの開発にあたり、以下のツール / ライブラリを使用しました。作者 の方々に感謝いたします。 * ツール X68k High-speed Assembler v3.09+86 HLK evolution version 3.01+14 GNU Make version 3.77 [Human68k Release 2] X68k Source Code Debugger v3.01+12 * ライブラリ keepchk.s(大昔のOh!Xに載っていた常駐判定ルーチン) process.h(同梱のヘッダファイル) ━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 連絡先│ ───┘ Internet ZAP00161@nifty.ne.jp Jan 5 2003 いがらし http://homepage2.nifty.com/beam-igarashi/