まあ、大丈夫、私は泣き言を言うつもりはありません-要点まで。
ルーターの次の攻撃中に、通常はppp接続の接続につながる、再起動のプロセスを自動化することにしました。 DLinkに接続してログインし、rebootinfo.cgiファイルを要求するbashスクリプトを作成しました。 プロセス全体が「インターネットができるまで」サイクルに成功し、それに応じて-私はお茶を飲むためにキッチンに移動します。 すべてがシンプルです。 手にVim-そして行った:
#!/ bin / bash host = $ {host:= "4.2.2.2"} router_ip = "192.168.1.1" router_reboot_path = "/ rebootinfo.cgi" router_user = "admin" router_pw = "pw_here" num_packets = 4 受信中= "" 再起動= 1 connect_wait = 60 while ["$ received" == ""] する echo -ne `date +%T`" \ t " echo "$ num_packetsパケットで$ hostをping" 受信= `ping $ host -c $ num_packets | grep "$ num_packets received" ` if ["$ receive"!= ""] それから echo -ne `date +%T`" \ t " echo "$ホストは生きています" 他に echo -ne `date +%T`" \ t " echo "$ホストが応答していません" echo -ne `date +%T`" \ t " echo -n "ルーターを再起動-$再起動を試行" 「reboots + = 1」とします `curl -s -u $ router_user:$ router_pw" http:// $ router_ip $ router_reboot_path "> / dev / null` 寝る10 routerAlive = "" while ["$ routerAlive" == ""] する routerAlive = `ping $ router_ip -c $ num_packets | grep "$ num_packets received" ` if ["$ routerAlive"!= ""] それから エコー「完了」。 echo -ne `date +%T`" \ t " echo -n「可能な接続のために$ connect_wait秒待機」 秒= 0 while ["$ sec"!= $ connect_wait] する 「sec + = 1」とします if ["$ sec" == $ connect_wait] それから エコー "。" 他に echo -n "。" fi 寝る1 やった 他に echo -n "。" fi やった fi やった
おおよその出力:
$ ./routerReboot 23:25:48 4つのパケットを使用した4.2.2.2のping 23:26:01 4.2.2.2応答なし 23:26:01ルーターを再起動します-1を試行します.....完了しました。 23:27:10可能な接続を60秒待機します....................................... ..................... 23:28:11 4パケットでの4.2.2.2のping 23:28:14 4.2.2.2は生きています
確かに、Googleなしでbashを理解しなければなりませんでした-私自身はそれに強くないので、/ usr / libでスクリプトを探しました。たとえば、マニュアルを読みました。 最終的に、スクリプトは機能しました(ただし、インターネットはより高速に見えました:)。 しばらくして、それは本当に役に立ちました。
はい、4.2.2.2-常にpingを実行するため、ya.ruの代わりに使用できます。 さらに、それを使用してDNSを確認できます。
幸せな金曜日