今日:00549 昨日:00609 合計:136,755

WSR-2533DHP2に関する覚え書き

提供: 適当なテンプレ置き場
Jump to navigation Jump to search

はじめに

  • 自動処理をする際などの覚え書きです。
  • 基本的にページ表示ごとにトークンを利用しているため
    すんなりログインしたりページを表示したりすることが出来ません。
  • IPv6プラスを使用した状態でPPPoEパススルー機能を有効にすることが出来ます。(2019/05/10現在NECのルーターでは出来ません。)
    サーバーを公開する等で任意のポート番号でポート変換したい場合はPPPoE対応ルーターを組み合わせることで実現可能です。
    詳細はネットに転がっているので参考にしてみて下さい。


  • ルーターはバッファローダイレクトのアウトレット(メーカー整備、1年保証付き)で購入すると安く手に入ります。
    ※在庫切れの場合は再入荷待ち

基本的なこと

  • ページやステータス等の描画
    大半はJavascriptにより行われています。
    また各ページやファイルのアクセスにはJavascriptにより生成されたトークンが使用されます。
    従ってこのトークンを常に最新の物に更新しないとログイン画面に転送されることになります。
  • ページ表示の流れ
    管理画面がどのような流れで表示されるかはWiresharkを使うと簡単に把握できます。
    ※フィルタリングに(ip.dst==ルーターのIPアドレス && http) || (ip.dst==ルーターにアクセスする端末IPアドレス && http)を使用すると見やすくなります。


主なアクセス制御

  • 主なアクセス制御
    主に以下のアクセス制御を組み合わせてページを表示します。
    何れかが間違っているとログインページに飛ばされるか、404Not Foundになります。
    • ログイン認証
      設定したログイン情報を使用します。
    • トークン認証
      生成したトークンを使用します。
      基本的に各ページアクセス毎に更新されます。
    • リファラ(リンク元ページ情報)認証
      本来開く際に経由するリンク元のURLを使用します。


トークンについて

  • トークンについて
    各ページにトークン作成用データーが組み込まれており、
    この作成用データーはページを表示する度に更新されます。
    従ってこのデーターを含むページを表示した場合トークンが更新されます。
    • トークンの更新について
      トークン作成用データーが組み込まれていない場合は前回のトークンを再利用します。
      但し、更新されていないように見えてトークン作成用データーが組み込まれたページを一瞬読み込んで、目的のページにリダイレクトするパターンがあります。
      この場合はトークンは更新されているため前回のトークンは利用できません。
      一瞬読み込まれるページのデーターを元に新しいトークンを生成して使用する必要があります。
    • トークンの生成について
      トークンの生成はJavascript外部ファイル(*.js)内の関数で行われます。
      ※トークン生成用データーを抽出する→Javascriptでトークンを生成する→アクセス時に利用する

      なお、トークン作製を担う関数は暗号化されていますので一旦複合化しないと見つかりません。
      複合化する為の関数はJavascript外部ファイル(*.js)に含まれています。
      ひとりごと:トークン作成用データーと書いてますがその中にトークンが隠れているのは内緒


ログインに関して

  • ログインに関して
    1. 初期ページを開く 
    2. 表示されたページのソースからトークン生成用データーを抽出する
    3. トークンを生成する
    4. POSTメソッドでHTTPヘッダー/ログイン情報/トークンを送信する
      ※1:パスワードはJavascriptで暗号化して送信しています。(パスワードのMD5ハッシュ)
      ※2:必要なヘッダーとPOSTメソッドのパラメーター、クッキーなどはWiresharkでアクセスをトレースした物を模倣します。


目的のページを表示

  • 目的のページを表示
    注意:トークンが更新されている場合は常に最新の物を使用して下さい。
    ※必要なヘッダーとパラメーター、クッキーなどはWiresharkでアクセスをトレースした物を模倣します。
    • GETメソッドによるアクセスの場合
      Wiresharkでトレースした際にクエリーが含まれる場合はトークンを含めたクエリをJavascriptで生成してアクセスします。
      クエリが間違っていると404 Notfoundになりアクセスできません。
      ※主にログイン後のJavascript外部ファイルにアクセスする場合。(一部ページを読み込む場合にも必要な時がある)
    • POSTメソッドによるアクセスの場合
      基本的にログインと同じ流れです。
      何かしらの処理(ボタンを押したとき等)を行う場合は該当するパラメーターを合わせて送信します。


ログアウトする

  • ログアウトする
    ログアウトしておかないとログイン時に他の端末でログインしている旨のエラーが出るのでそれを回避するためにログアウトします。
    ※再起動を行った場合は不要です。
    • 実際のログアウト時に一瞬表示されるページからトークン作成用データーの抽出とトークン作製を行い、
      それを元にログアウト処理を行います。
      ※必要なヘッダーとPOSTメソッドのパラメーター、クッキーなどはWiresharkでアクセスをトレースした物を模倣します。


参考



自分のコメントを追加
適当なテンプレ置き場はすべてのコメントを歓迎します。匿名で投稿したくない場合は、アカウント作成またはログインしてください。無料です。