![]() |
Connect Checker
Собственно, нужно следущие, пинать извне мой ройтер, скажем раз в 15 минут, на предмет наличия тыранета.
Имеем Asus WL-500gP v2 - Tomato Firmware v1.28.8754 ND USB Ext Провайдер с статическим IP, *IMSYS он еще на кой то хрен отключил наружу ping, trace.. Ужас. Хых, Как это сделать грамотно? Не обязательно даже такую схему реализовывать, суть мне нужно проверить именно стабильность доступа. |
IMHO.ws Connect Checker 1.0
MarkXIII, чтобы "пинать извне" - нужно иметь какой-то порт открытым наружу (и проброшенным на роутере вовнутрь).
Дальше на этот порт вешается (к примеру) веб-сервис с каким-нить небольшим файликом (пары байт в принципе достаточно). Дальше с внешнего (по отношению ко всей конструкции) компа обычным GNU Wget по шедулеру тягаешь тот самый файлик, отписываешь в лог-файл время и результат (удачно/неудачно), удаляешь файлик чтоб не мешал, при необходимости выполняешь какие-то ещё действия. Как вариант - "какой-то сервис" может висеть и на роутере. Как ещё один вариант - логи может вести и веб-сервер. Как ещё один вариант - wget может работать изнутри (в т.ч. и на роутере), а файлик качать с внешнего сервиса (www.microsoft.com:80/index.html весит Если изнутри на машине стоит XP (на других Win не сработает) - можно вместо wget использовать встроенный netsh (netsh diag connect iphost www.microsoft.com 80). В отличие от wget - для netsh не нужен никакой файлик, проверяется возможность соединения и только. <Добавлено утром> Собственно, вариант "комп с Win за роутером, сервер снаружи" checker.cmd Код:
set REMOTEURL=ftp://ftp.mozilla.org/index.html Код:
schtasks /create /RU SYSTEM /SC MINUTE /MO 15 /ST 00:00:01 /TR "c:\checker\checker.cmd" /TN "IMHO.ws Connect Checker" |
IMHO.ws Connect Checker 2.0
Возвращаясь к напечатанному. :gigi:
Счастливым владельцам роутеров DLINK посвящается. Впрочем, будет работать и на других роутерах с *NIX-based прошивкой. :) На этот раз решалась задача "проверить наличие интернета и при отсутствии такового перезагрузить роутер". Для решения задачи использован единственный несистемный компонент - freeware библиотечка w3sockets для организации telnet-сесcии в скрипте. Идея почерпнута отсюда. Скрипт проверяет соединение с SMTP-сервером gmail на порт 25, при удачном соединении в лог пишется "Passed at <дата и время>", при неудачном роутеру отправляется команда на перезагрузку и в лог пишется "Epic fail at <дата и время>. Router rebooted". Checker2.cmd Код:
@set @script=0 /* В скрипте использованы умолчальные IP, login и password, характерные для роутеров dlink с оригинальной прошивкой. Соответственно - исправьте на свои, если у вас другие. RouterCommandPrompt зависит от прошивки и модели роутера. Для Dlink DIR-320 с родной прошивкой это "#", для Asus RT-N16 с "олеговской" это "$". Что у вашего роутера - то и ставьте RouterRebootCommand - команда перезагрузки роутера. Для доступных мне роутеров это "reboot", если у вашего что-то другое - впишите своё. В назначенные задания добавляется командой Код:
schtasks /create /RU SYSTEM /SC MINUTE /MO 15 /ST 00:00:01 /TR "c:\checker2\checker2.cmd" /TN "IMHO.ws Connect Checker 2.0" Не будет работать, если ваш провайдер заблокировал доступ к внешним серверам по 25 порту!!! |
IMHO.ws Connect Checker 1.5
Тут мне на руборде wolf0425 высказал претензию по-поводу обилия JScript в IMHO.ws Connect Cheker 2.0:
Цитата:
Правда, там кроме wget с кучей библиотечек требуется ещё одна доп. программа TSE (Telnet script executor). И файлов несколько поболее... Checker.cmd: Код:
set REMOTEURL=ftp://ftp.mozilla.org/index.html Работает... Точнее - уже работало, версию 2.0 я для того и делал, чтобы от лишних файлов избавиться... ;) Единственный (на мой взгляд) существенный плюс по сравнению с версией 2.0 - wget в принципе всё равно какой файлик, откель и с какого порта тянуть. Можно по http с сайта мокрософта, можно по ftp с сайта мозилы. Нет привязки к smtp... |
Если у вас VPN без роутера
Вопрос из другого топика, и довольно старый
Цитата:
Код:
rasdial <Имя соединения> /DISCONNECT Или даже без использования сторонних утилит вообще: Код:
>nul ping -n 10 www.ru |find /i "TTL" ||( |
Часовой пояс GMT +4, время: 16:12. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.