1 - (サポートされている)ブラウザの動作ログ

1 - (サポートされている)ブラウザの動作ログ

私は使うサルクリモートSSHのWebブラウザ(だから私はグラフィカルユーザーインターフェースなし)をいくつかのルーターとアクセスポイントのWebインターフェイスに追加します。

テストしたOvislinkモデルとBuffaloモデルではうまく機能しますが、両方のD-Linkモデルをナビゲートしようとすると、画面に何も表示されません。確認する両方のデバイスで最初のステップである必要がありますが、Lynxはこれを行う必要はありません。 OvisLinkモデルはパスワードを要求しませんが、Buffaloはパスワードを要求し、Lynxはそうする必要があるため「確認」を要求します。

ケースDリンクDWL-2100AP:

 DWL-2100AP

[Blank lines here]

Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.
  Arrow keys: Up and Down to move.  Right to follow a link; Left to go back.
 H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

ケースDリンクDAP-2310:

 REFRESH(0 sec): http://192.168.1.231/index.php

[Blank lines here]

Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.
  Arrow keys: Up and Down to move.  Right to follow a link; Left to go back.
 H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

これはGUIの最初の画面(ブラウザポップアップ分離バウチャー窓口)DWL-2100AP(旧)モデル:

---

これはD-Link DAP-2310(Webページ内の資格情報)です。

---

お持ちですか?方法Lynxにこれらのインターフェイスへのアクセスを許可しますか?

追加テスト:

  • -auth=ID:PASSWDコマンドに追加してもlynx IP同じ結果が表示されます。

もっと遠くデータインターフェース情報:

  • 両方のデバイスを使用しているようです。Java

curlこれは、DWL-2100APが送信しているように見える開始HTMLであり、次のように取得されます。

<html><head>
<script src="jsMain.js"> </script>
<title>DWL-2100AP</title></head>

<script language='JavaScript'>
document.cookie = 'RpWebID=3c26d7c1';
</script>
<script language='JavaScript'>
function JumpToHmain(){location.replace('/html/HomeWizard.html');}window.setTimeout('JumpToHmain()',1);</script>

DWL-2100AP開始Webページ(資格情報を入力した後):

http://IPAddress/html/HomeWizard.html

-u username:passwordカールを使用して(含めるかどうかにかかわらず)ダウンロードしようとすると、次のようになります。

<html>
<head>
<title>Object Not Found</title></head><body>
<h1>Object Not Found</h1>The requested URL '/html/HomeWizard.html' was not found on the RomPager server.<p>Return to <A HREF="">last page</A><p>
</body></html>

DAP-2310の開始ページ(資格情報要求ページ):

http://IPAddress/login.php

WGet(直接URL)でDWL-2100APを再起動してください。

    luis@Fresoncio:~$ wget http://admin:[email protected]/Forms/RESET_Switch
 converted 'http://admin:[email protected]/Forms/RESET_Switch?FlagForReboot=' (ANSI_X3.4-1968) -> 'http://admin:[email protected]/Forms/RESET_Switch?FlagForReboot=' (UTF-8)
    --2016-06-07 00:46:42--  http://admin:*password*@192.168.1.232/Forms/RESET_Switch?FlagForReboot=
    Connecting to 192.168.1.232:80... connected.
    HTTP request sent, awaiting response... 303 See Other
    Location: http://192.168.1.232/html/HomeWizard.html [following]
    converted 'http://192.168.1.232/html/HomeWizard.html' (ANSI_X3.4-1968) -> 'http://192.168.1.232/html/HomeWizard.html' (UTF-8)
    --2016-06-07 00:46:42--  http://192.168.1.232/html/HomeWizard.html
    Reusing existing connection to 192.168.1.232:80.
    HTTP request sent, awaiting response... 404 Not Found
    2016-06-07 00:46:42 ERROR 404: Not Found.

Lynxは必要ないと報告しました。クッキーを許可DWL-2100APを検索するとき。

再起動試行の WireShark/TCPDump キャプチャには、http://192.168.1.232/html/HomeWizard.html以下の説明とともに GET が表示されます。私はこれがBase64エンコーディングかもしれないと思います。Authorization: Basic XXXXXXXXXXCredentials: admin:MyEditedPassword

RpWebId=3c268b4c...その後、--post-dataでWGetを使用してみましたFlagForReboot=&Submit=+Restart+

~$ wget 192.168.1.232/Forms/RESET_Switch -post-data='RpWebId=3c268b4c' --post-data='FlagForReboot=&Submit=+Restart+'
converted 'http://192.168.1.232/Forms/RESET_Switch' (ANSI_X3.4-1968) -> 'http://192.168.1.232/Forms/RESET_Switch' (UTF-8)
--2016-06-07 10:29:25--  http://192.168.1.232/Forms/RESET_Switch
Connecting to 192.168.1.232:80... connected.
HTTP request sent, awaiting response... 303 See Other
Location: http://192.168.1.232/html/HomeWizard.html [following]
converted 'http://192.168.1.232/html/HomeWizard.html' (ANSI_X3.4-1968) -> 'http://192.168.1.232/html/HomeWizard.html' (UTF-8)
--2016-06-07 10:29:25--  http://192.168.1.232/html/HomeWizard.html
Reusing existing connection to 192.168.1.232:80.
HTTP request sent, awaiting response... 404 Not Found
2016-06-07 10:29:25 ERROR 404: Not Found.

以下はログイン時のキャプチャです。

GET /html/HomeWizard.html HTTP/1.1
Host: 192.168.1.232
User-Agent: Mozilla/5.0 (X11; Linux armv7l; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.6.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.1.232/
Cookie: RpWebID=3c267896
Connection: keep-alive
Authorization: Basic YWRtaWAAAAAhQXBpYQ==

パスワード部分は最後の部分で終わります(The is my, to hide the real password)YWRta...。これを行うと、シェルが私に。Q==AAAAAecho YWRtaWAAAAAhQXBpYQ== | base64 --decodeadmin:MyPassword

再起動デバイスページは次のとおりです。

管理の再開

これは、データを送信せずにCURLを介して再起動デバイスページにアクセスしようとします(JigglyNagaの回答を参照)FlagForReboot

$ IP_ADDRESS=192.168.1.232
$ curl -b "$COOKIE" -u "admin:MySecretPassword" $IP_ADDRESS/html/MntRestartSystem.html
<html><head>... etc

これはFlagForRebootデータを送信します(同じと誓います):

$ IP_ADDRESS=192.168.1.232
$ curl -b "$COOKIE" -u "admin:MySecretPassword" --data "FlagForReboot=&Submit=+Restart+" $IP_ADDRESS/html/MntRestartSystem.html
<html><head>
<title>DWL-2100AP</title><meta HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<LINK REL=stylesheet TYPE="text/css" HREF="web_style.css">
<script language="JavaScript" src="jsMain.js"></script>
<script language="JavaScript">

function ShowMessage(s){
    //  alert("Switch is rebooting and Web will be disconnected!");
  var Msg='Device will reboot and web will be disconnected! Continue?';
  if(confirm(Msg))
  {
    return true;
  }
  else
    return false;
}
</script>
<style type="text/css">
font{
font-family:"Arial";
font-size:10pt;
}
</style>
</head><body BGCOLOR=#FFFFFF leftmargin="0" topmargin="0" onLoad="Change_Device_Name()">
<table width="75%" border="0" cellspacing="0" cellpadding="0" align=center>
  <tr>
    <td><div align=center><img id="img_logo" src="" width="765" height="95"></div></td></tr><tr>
    <td><table width=765 border=0 cellpadding=0 cellspacing=0 align=center>
        <tr>
          <td rowspan=9 width="20" background="/Images/down_01.gif">&nbsp; </td><td rowspan=2 width="133"> <img id="img_ap" src="" width=133 height=75></td><td rowspan=2 width="25" background="/Images/down_03.jpg">&nbsp; </td><td width="21"> <img src="/Images/tools_04.jpg" width=21 height=49></td><td width="522"> <img src="/Images/tools_over_05.jpg" width=522 height=49 usemap="#MapMap" border="0"></td><td width="19"> <img src="/Images/tools_06.jpg" width=19 height=49></td><td width="25" background="/Images/down_11.gif">&nbsp; </td></tr><tr>
          <td width="21" background="/Images/down_14.gif">&nbsp; </td><td rowspan=8 width="522" valign=top>
<FORM METHOD="POST" ACTION="/Forms/RESET_Switch"><INPUT TYPE="HIDDEN" NAME="FlagForReboot" VALUE="" id="FlagForReboot">              <table width="100%" border="0" height="100">
                 <tr >
                  <td colspan=2 align=left height="24" bordercolorlight="#FFFFFF" bordercolordark="#000000"><b><font face=Arial color=#8bacb1 size=2>
                    System Settings</font> </b></td></tr><tr>
          <td align=left height="20" width=200>
            <font face=Arial size=2> Apply Settings and Restart</font>
           </td><td><INPUT TYPE="SUBMIT" NAME="Submit" VALUE=" Restart " onClick="return ShowMessage()">            </td></tr></table></form><FORM METHOD="POST" ACTION="/Forms/RESTORE_Switch"><INPUT TYPE="HIDDEN" NAME="FlagForReboot" VALUE="" id="FlagForReboot">              <table width="100%" border="0" height="110">

        <tr>
                  <td align=left height="25" width=200>
                        <font face=Arial size=2>  Restore factory settings  </font>
                  </td><td><INPUT TYPE="SUBMIT" NAME="Submit" VALUE=" Restore " onClick="return ShowMessage()">                   </td></tr><tr>
<td height=20 colspan=2>
<div align=right><a href=/html/help_tools.html#02 target=_blank><img src=/Images/help_p.jpg width=36 height=52 border=0></a></div></td></tr></table></form></td><td width="19"> <img src="/Images/down_10.jpg" width=19 height=26></td><td width="25" background="/Images/down_11.gif">&nbsp; </td></tr><tr>
          <td class="style1" width="133" height="57"  align=center onClick="javascript:Link('MgtUserAccount.html')">Admin</td><td width="25" background="/Images/down_03.jpg" height="42">&nbsp; </td><td width="21" background="/Images/down_14.gif" height="42">&nbsp; </td><td width="19" background="/Images/down_40.gif" height="42">&nbsp; </td><td width="25" background="/Images/down_11.gif" height="42">&nbsp; </td></tr><tr>
          <td class="style2"  width="133" height="57" valign=middle align=center onClick="javascript:Link('MntRestartSystem.html')">System</td><td width="25" background="/Images/down_03.jpg">&nbsp; </td><td width="21" background="/Images/down_14.gif">&nbsp; </td><td width="19" background="/Images/down_40.gif">&nbsp; </td><td width="25" background="/Images/down_11.gif">&nbsp; </td></tr><tr>
          <td class="style1"  width="133" height="57" valign=middle align=center onClick="javascript:Link('MntUpdateFirmware.html?1')">Firmware</td><td width="25" background="/Images/down_03.jpg">&nbsp; </td><td width="21" background="/Images/down_14.gif">&nbsp; </td><td width="19" background="/Images/down_40.gif">&nbsp; </td><td width="25" background="/Images/down_11.gif">&nbsp; </td></tr><tr>
          <td class="style1"  width="133" height="57" valign=middle align=center onClick="javascript:Link('MntConfigurationFile.html?0,0,0,0,0,0,0,0,0')">Cfg File</td><td width="25" background="/Images/down_03.jpg" height="6">&nbsp; </td><td width="21" background="/Images/down_14.gif" height="6">&nbsp; </td><td width="19" background="/Images/down_40.gif" height="6">&nbsp; </td><td width="25" background="/Images/down_11.gif" height="6">&nbsp; </td></tr>        <tr>
          <td width="133" height="57" valign=middle align=center  background="/Images/down_37.gif">&nbsp;</td><td width="25" background="/Images/down_03.jpg">&nbsp;</td><td width="21" background="/Images/down_14.gif">&nbsp; </td><td width="19" background="/Images/down_40.gif">&nbsp; </td><td width="25" background="/Images/down_11.gif">&nbsp; </td></tr>        <tr>
          <td width="133" background="/Images/down_37.gif">&nbsp;</td><td width="25" background="/Images/down_03.jpg">&nbsp;</td><td width="21" background="/Images/down_14.gif">&nbsp; </td><td width="19" background="/Images/down_40.gif">&nbsp; </td><td width="25" background="/Images/down_11.gif">&nbsp; </td></tr>
        <tr>
          <td width="133" background="/Images/down_37.gif">&nbsp;</td><td width="25" background="/Images/down_03.jpg">&nbsp;</td><td width="21" background="/Images/down_14.gif">&nbsp; </td><td width="19" background="/Images/down_40.gif">&nbsp; </td><td width="25" background="/Images/down_11.gif">&nbsp; </td></tr><tr>
          <td colspan=6 rowspan=2> <img src="/Images/down_43.jpg" width=740 height=44></td><td width="25"> <img src="/Images/down_45.gif" width="25" height="17"></td></tr><tr>
          <td width="25"> <img src="/Images/down_44.gif" width=25 height=27></td></tr></table></td></tr></table><map id="MapMap" name="MapMap">
  <area shape="rect" coords="17,17,82,45" href="/html/HomeWizard.html" target="_self"/>
  <area shape="rect" coords="109,18,205,42" href="/html/CfgWLanParam.html?1" target="_self"/>
  <area shape="rect" coords="232,19,289,46" href="/html/MgtUserAccount.html" target="_self"/>
  <area shape="rect" coords="346,18,405,45" href="/html/DeviceInfo.html" target="_self"/>
  <area shape="rect" coords="455,18,501,47" href="/html/help_men.html" target="_self"/>
</map>

</body></html>

そしてこれTCPダンプWireSharkに示されているように、その瞬間(関連して見える部分)をキャプチャします。

Frame 4: 517 bytes on wire (4136 bits), 517 bytes captured (4136 bits)
Ethernet II, Src: 00:00:00_00:09:77 (00:00:00:00:09:77), Dst: D-LinkIn_24:f7:6d (c8:d3:a3:24:f7:6d)
Internet Protocol Version 4, Src: 192.168.1.99, Dst: 192.168.1.232
Transmission Control Protocol, Src Port: 44981 (44981), Dst Port: 80 (80), Seq: 1, Ack: 1, Len: 451
Hypertext Transfer Protocol
    GET /html/MntRestartSystem.html HTTP/1.1\r\n
    Host: 192.168.1.232\r\n
    User-Agent: Mozilla/5.0 (X11; Linux armv7l; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.6.0\r\n
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
    Accept-Language: en-US,en;q=0.5\r\n
    Accept-Encoding: gzip, deflate\r\n
    Referer: http://192.168.1.232/html/MgtUserAccount.html\r\n
    Cookie: RpWebID=3c26e560\r\n
    Authorization: Basic YWRtaW46VmlhQXBpYQ==\r\n
    Connection: keep-alive\r\n
    \r\n
    [Full request URI: http://192.168.1.232/html/MntRestartSystem.html]
    [HTTP request 1/2]
    [Response in frame: 15]
    [Next request in frame: 17]

0000   47 45 54 20 2f 68 74 6d 6c 2f 4d 6e 74 52 65 73  GET /html/MntRes
0010   74 61 72 74 53 79 73 74 65 6d 2e 68 74 6d 6c 20  tartSystem.html 
0020   48 54 54 50 2f 31 2e 31 0d 0a 48 6f 73 74 3a 20  HTTP/1.1..Host: 
0030   31 39 32 2e 31 36 38 2e 31 2e 32 33 32 0d 0a 55  192.168.1.232..U
0040   73 65 72 2d 41 67 65 6e 74 3a 20 4d 6f 7a 69 6c  ser-Agent: Mozil
0050   6c 61 2f 35 2e 30 20 28 58 31 31 3b 20 4c 69 6e  la/5.0 (X11; Lin
0060   75 78 20 61 72 6d 76 37 6c 3b 20 72 76 3a 33 38  ux armv7l; rv:38
0070   2e 30 29 20 47 65 63 6b 6f 2f 32 30 31 30 30 31  .0) Gecko/201001
0080   30 31 20 46 69 72 65 66 6f 78 2f 33 38 2e 30 20  01 Firefox/38.0 
0090   49 63 65 77 65 61 73 65 6c 2f 33 38 2e 36 2e 30  Iceweasel/38.6.0
00a0   0d 0a 41 63 63 65 70 74 3a 20 74 65 78 74 2f 68  ..Accept: text/h
00b0   74 6d 6c 2c 61 70 70 6c 69 63 61 74 69 6f 6e 2f  tml,application/
00c0   78 68 74 6d 6c 2b 78 6d 6c 2c 61 70 70 6c 69 63  xhtml+xml,applic
00d0   61 74 69 6f 6e 2f 78 6d 6c 3b 71 3d 30 2e 39 2c  ation/xml;q=0.9,
00e0   2a 2f 2a 3b 71 3d 30 2e 38 0d 0a 41 63 63 65 70  */*;q=0.8..Accep
00f0   74 2d 4c 61 6e 67 75 61 67 65 3a 20 65 6e 2d 55  t-Language: en-U
0100   53 2c 65 6e 3b 71 3d 30 2e 35 0d 0a 41 63 63 65  S,en;q=0.5..Acce
0110   70 74 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a 69  pt-Encoding: gzi
0120   70 2c 20 64 65 66 6c 61 74 65 0d 0a 52 65 66 65  p, deflate..Refe
0130   72 65 72 3a 20 68 74 74 70 3a 2f 2f 31 39 32 2e  rer: http://192.
0140   31 36 38 2e 31 2e 32 33 32 2f 68 74 6d 6c 2f 4d  168.1.232/html/M
0150   67 74 55 73 65 72 41 63 63 6f 75 6e 74 2e 68 74  gtUserAccount.ht
0160   6d 6c 0d 0a 43 6f 6f 6b 69 65 3a 20 52 70 57 65  ml..Cookie: RpWe
0170   62 49 44 3d 33 63 32 36 65 35 36 30 0d 0a 41 75  bID=3c26e560..Au
0180   74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 61 73  thorization: Bas
0190   69 63 20 59 57 52 74 61 57 34 36 56 6d 6c 68 51  ic YWRtaW46VmlhQ
01a0   58 42 70 59 51 3d 3d 0d 0a 43 6f 6e 6e 65 63 74  XBpYQ==..Connect
01b0   69 6f 6e 3a 20 6b 65 65 70 2d 61 6c 69 76 65 0d  ion: keep-alive.
01c0   0a 0d 0a                                         ...

ResetCURLを介してボタンを「押してください」(同じ結果:

$ curl -v -u "admin:MySecretPassword" -b "$COOKIE" --data "FlagForReboot=&Submit=+Restart+" $IP_ADDRESS/Forms/RESET_Switch
* Hostname was NOT found in DNS cache
*   Trying 192.168.1.232...
* Connected to 192.168.1.232 (192.168.1.232) port 80 (#0)
* Server auth using Basic with user 'admin'
> POST /Forms/RESET_Switch HTTP/1.1
> Authorization: Basic YWRtaW46VmlhQXBpYQ==
> User-Agent: curl/7.38.0
> Host: 192.168.1.232
> Accept: */*
> Cookie: RpWebID=3c270622
> Content-Length: 31
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 31 out of 31 bytes
< HTTP/1.1 303 See Other
< Location: http://192.168.1.232/html/HomeWizard.html
< Content-Length: 0
* Server Allegro-Software-RomPager/4.06 is not blacklisted
< Server: Allegro-Software-RomPager/4.06
<
* Connection #0 to host 192.168.1.232 left intact

-LCURL オプションを使用すると、他の結果が表示されます。

$ curl -b "$COOKIE" --data "FlagForReboot=&Submit=+Restart+" $IP_ADDRESS/Forms/RESET_Switch -L
<html><head>
<title>DWL-2100AP</title><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
<link rel=stylesheet type="text/css" href="web_style.css">
<script type="text/javascript" src="jsMain.js"></script>
<script type="text/javascript" src="WizardScript.js"></script>
<style type="text/css">
font{
font-family:"Arial";
font-size:10pt;
}

td.h30{
height:30px;
}

td.h60{
height:60px;
}
td.h80{
height:80px;
}
</style>
</head><body bgcolor="#ffffff" topmargin="0" onLoad="InitialSettings()">
<table border="0" align=center cellpadding="0" cellspacing="0">
        <tr>
                <td><img id="img_logo" src="" alt=""></td></tr><tr>
                <td><table border="0" align=center cellspacing="0" cellpadding="0">
                                <tr><!-- row 1 -->
                                        <td width=20 rowspan=3 background="/Images/down_01.gif"></td><td width=133 rowspan=2><img id="img_ap" src="" border="0" alt=""/></td><td width=25 background="/Images/down_03.jpg"></td><td width=21 background="/Images/down_04.jpg"></td><td width=522><img src="/Images/down_05.jpg" border="0" usemap="#MapMap"/></td><td width=19 background="/Images/down_06.jpg"></td><td width=25 background="/Images/down_11.gif"></td></tr><tr><!-- row 2 -->
                                        <td background="/Images/down_03.jpg"></td><td height="26" background="/Images/down_14.gif"></td><td rowspan=3 valign=top>

<FORM METHOD="POST" ACTION="/Forms/FormWizard"><table border="0" width="100%" align=center cellpadding="0" cellspacing="0">
<tr>
<td colspan=2>
<!-- Beginning of Contents -->
<table width=510 border="0">
  <tr>
    <td colspan=2>
      <font color="#8bacb1"><b>Setup Wizard</b></font>
     <INPUT TYPE="HIDDEN" NAME="Run_Wizard" VALUE="0" id="Run_Wizard">    </td></tr>  <tr>
    <td height="150">
      <b><font>
      The <span id="APName0"></span>&nbsp;is a <span id="Device_Type"></span>.
      The setup wizard will guide you through the configuration of the
      <span id="APName1"></span>. The <span id="APName2"></span>'s easy
      setup will allow you to have wireless access within minutes.
      Please follow the setup wizard step by step to configure
      the <span id="APName3"></span>.
      </font></b>
    </td></tr><tr>
    <td>&nbsp;</td></tr><tr>
    <td align=center>
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE=" Run Wizard " id="Run_Wizard" onClick="formSubmit(1)" align=right>    </td></tr><tr>
    <td align=right>
      <a href="help_home.html#01" target=_blank>
      <img src="/Images/help_p.jpg" width="36" height="52" border="0">
      </a></td></tr>

</table><!-- End of Contents -->
</td></tr></table></form>
                                        </td><td background="/Images/down_10.jpg"></td><td background="/Images/down_11.gif"></td></tr><tr><!-- row 3 -->
                                        <td valign=top background="/Images/down_37.gif">
                                                <table width="100%" border="0" cellspacing="0" cellpadding="0" align=center>
                                                        <tr>
                                                                <td class="style2" align=center valign=middle onClick="javascript:Link('HomeWizard.html')">Wizard</td></tr><tr>
                                                                <td class="style1" align=center valign=middle onClick="javascript:Link('Wireless.html?1')">Wireless</td></tr><tr>
                                                                <td class="style1" align=center valign=middle onClick="javascript:Link('CfgIpSetup.html')">LAN</td></tr></table></td><td background="/Images/down_03.jpg"></td><td background="/Images/down_14.gif"></td><td background="/Images/down_40.gif"></td><td background="/Images/down_11.gif"></td></tr><tr><!-- row 4 -->
                                        <td height="150" background="/Images/down_37.gif"></td><td background="/Images/down_37.gif"></td><td background="/Images/down_03.jpg"></td><td background="/Images/down_14.gif"></td><td background="/Images/down_40.gif"></td><td background="/Images/down_11.gif"></td></tr><tr><!-- row 5 -->
                                        <td colspan=6 rowspan=2><img src="/Images/down_43.jpg" border="0"></td><td><img src="/Images/down_45.gif" border="0"></td></tr><tr>
                                        <td><img src="/Images/down_44.gif" border="0"></td></tr></table></td></tr></table><map id="MapMap" name="MapMap">
  <area shape="rect" coords="17,17,82,45" href="/html/HomeWizard.html" target="_self"/>
  <area shape="rect" coords="109,18,205,42" href="/html/CfgWLanParam.html?1" target="_self"/>
  <area shape="rect" coords="232,19,289,46" href="/html/MgtUserAccount.html" target="_self"/>
  <area shape="rect" coords="346,18,405,45" href="/html/DeviceInfo.html" target="_self"/>
  <area shape="rect" coords="455,18,501,47" href="/html/help_men.html" target="_self"/>
</map>
<script type="text/javascript">
var Run_Wizard = document.getElementById("Run_Wizard");
var NewPwd = document.getElementById("NewPwd");
var CfmNewPwd = document.getElementById("CfmNewPwd");
var channel = document.getElementById("channel");
var WizardRootSsid = document.getElementById("WizardRootSsid");
var no = document.getElementById("No");
var wpa = document.getElementById("wpa");
var psk = document.getElementById("psk");
var keytype    = document.getElementById("Wizard_KeyType");
var KeySize1 = document.getElementById("KeySize1");
var KeySize2 = document.getElementById("KeySize2");
var KeySize3 = document.getElementById("KeySize3");
var key = document.getElementById("Key");
var passphrase = document.getElementById("passphrase");
var cipher     = document.getElementById("cipher");
var groupkey   = document.getElementById("groupkey");
</script>

</body></html>

これにより、再起動するための確認画面が表示されます。

-

リクエストに応じてより多くのデータを追加できます。

答え1

残念ながら、最近、多くのルータにはlynxがサポートしていないJavaScriptが必要です。

ただし、代わりにSSH経由でトンネルを使用し、実際のブラウザを使用してアクセスできる必要があります。たとえば、ルータIP(192.168.1.1:80など)でポート8888をポート80にトンネリングする場合です。 SSH接続を確立したら、ローカルコンピュータで「本物の」ブラウザ(jsを含むグラフィックブラウザ)を参照して、リモートルータの一般的なhttp://127.0.0.1:8888Webページにアクセスします。これはリモートSSHホストをプロキシとして使用します。

このようなブラウザを使用すると、firefox実際には非常に簡単にプロキシを有効にすることができ、SSHはプロキシをSOCKS設定し、ローカルネットワークからルーターアクセス権まで、すべてを含むリモートホストをネットワークプロキシとして透過的に使用できます。SOCKS特定のSSHクライアントを使用してSOCKS(ダイナミックポート転送とも呼ばれる)を設定する方法と、接続ダイアログfirefoxボックスでプロキシ接続を確立する方法を学びます。その後、最終的にfirefoxSOCKSプロキシを使用するように指示できる必要があります127.0.0.1:1080(例:)

(同様のURLを使用しようとすると、Lynxはさらに進むことができますが、まもなく問題が発生すると予想されます。)http://admin:[email protected]js

答え2

多くのルータは、lynx他の端末ベースのブラウザが処理できないページを返します。

これを行うには、Webスクレイピングスクリプトを作成できます。拡張このWebスクレイピング方法、しかし詳しく説明せずにcURL HTTP スクリプティングガイド、私のアプローチは次のとおりです。


1 - (サポートされている)ブラウザの動作ログ

次のパケットキャプチャツールを使用できます。tcpdump(1)またはラインシャーク、またはブラウザでこれに似たものFirefox用開発者ツール。 tcpdump/wireshark は、移植可能であるが読み取れない pcap 形式ですべてをキャプチャします。特に、レスポンスが圧縮されている場合、ブラウザ内でデータを理解しやすくなります。また、訪問する各ページのコピーを保存してください。ステップ3で必要な場合があります。

2 - コマンドラインから同じ要求を送信する

curl手順1で生成された各HTTP要求に対してこれを使用または送信する方法を特定し、wgetそれをスクリプトに配置します。

する必要があるかもしれませんHTTP仕様幅広いオプションをご覧ください。カールまたは得るただし、他のすべての方法が失敗した場合は、両方のツールで必要なヘッダー(curl -H "Name: Value"wget --header "Name: Value")を送信できます。 / confirmを使用してcurl -v送受信した内容を確認してくださいwget -d。リクエストがステップ1と同じ応答を受け取らない場合は、何かを逃した可能性があります。

しばらくしてから要求のいずれかを処理した場合は、サイト/デバイスがタイムアウトしたか、セッションが無効になっている可能性があり、最初に以前の要求の一部(ログインなど)を繰り返す必要があります。

最終リクエストを送信した後、希望の結果を得たら良いです。ステップ4に進んでください。

3 - 変更されるすべてのアイテムを更新

もしまったく同じHTTP要求が同じ応答を提供しない場合は、要求の一部が無効になっているため変更する必要があります。手順1を繰り返して同じ操作を再記録し、リクエストとレスポンスの違いを確認します。

リクエストの内容はすべて以下で提供されます。どこかに。変化する各部分のソースを追跡する必要があります。すべてのHTTPレスポンス(HTMLページ全体、JavaScript、CSS、JSONフラグメント)を見て、文字列のソースを見つけます。ページ名とGET / POSTパラメータはほとんどHTMLから取得され、CookieはHTTPヘッダーから取得されますが、JavaScriptはどちらかを設定できます。

追跡したら、将来自動的に新しい値を見つける必要があります。 //選択したテキスト処理言語を使用して、検索されたページから予測不可能なsedマークアップを抽出しますawk。 //現在のタイムスタンプを生成します。date +"format"

4 - (オプション)不要な部品の取り外し

ブラウザは何十もの要求を生成でき、同じ最終結果を得るためにすべての要求を送信する必要はほとんどありません。たとえば、ページを表示しないと、画像やCSSに興味がない可能性があります。重要でないリクエストをすべて削除し、スクリプトがまだ機能していることを確認してください。経験により、どのようなリクエストが選択肢であるかがわかります。


これまでに公開した情報を使用すると、DAP-2310にログインするにはPOSTリクエストが必要です。

wget $IP_ADDRESS/login.php --save-cookies cookies.txt --keep-session-cookies \
  --post-data "ACTION_POST=login&f_date=MM/DD/YY&f_time=HH:MM:SS&LOGIN_USER=username&LOGIN_PASSWD=password&login=+Login+"

(現在の日付と時刻を使用した形式は次のとおりです。日付(1))しかし、より多くのステップを含めることができます。

DWL-2100AP パケットキャプチャは使用中であることを示します。HTTP基本認証、JavaScriptで設定されたカスタムCookieと組み合わせられます。これを行うには、ログインする前に最初のページからCookieをインポートする必要があります。

# obtain the cookie
COOKIE=$(curl $IP_ADDRESS |grep "cookie = "|cut -d"'" -f2)

# log in
curl -b "$COOKIE" --anyauth -u "admin:$PASSWORD" $IP_ADDRESS/html/HomeWizard.html 

# fetch the restart form; may not be necessary
curl -b "$COOKIE" $IP_ADDRESS/html/MntRestartSystem.html

# send the restart request
curl -b "$COOKIE" --data "FlagForReboot=&Submit=+Restart+" $IP_ADDRESS/Forms/RESET_Switch

関連情報