Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

(Trochę Inny) Monitor połączenia modemu bezprzewodowego (Aero2) .BAT

09 Sty 2013 00:13 2199 1
  • Poziom 20  
    Korzystając z karty bezpłatnego dostępu do internetu Aero², jak wielu innych natrafiłem nieraz na problem z niedziałającym internetem pomimo poprawnego połączenia. Skrypt ten ping-uje zewnętrzne serwery (domyślnie: 8.8.4.4 -DNS Google, oraz onet.pl) w celu sprawdzenia poprawności połączenia z internetem.
    Poniższy skrypt został utworzony pod Windows XP SP3 Pro i powinien w nim działać bez większych przeszkód.

    Przykładową konfiguracje bezprzewodowego modemu do internetu można znaleźć na Link, a dokładniej Link


    Konfiguracja i uruchomienie skryptu:
    1. Przed uruchomieniem skryptu Test_Con.BAT, klikamy nań prawym przyciskiem myszy i klikamy edytuj.
    Powinien nam się pokazać skrypt w notatniku. Dla zwykłego użytkownika przewidziana jest sekcja konfiguracyjna.
    (Trochę Inny) Monitor połączenia modemu bezprzewodowego (Aero2) .BAT
    (plik .log jest usuwany jeśli nie było błędnych połączeń)

    2. Można również skorzystać z wiersza poleceń (więcej informacji Test_Con.bat /?)

    3. Żeby uruchomić program w tle(bez okienka) edytujemy plik TCHidden.vbs i odnajdujemy część z:
    oShell.run "cmd /C test_con.bat Aero2",0
    którą zmieniamy na stosowną:
    oShell.run "cmd /C test_con.bat nazwa_mojego_połączenia_modemowego",0
    można również podać 2 dodatkowe parametry:
    oShell.run "cmd /C test_con.bat nazwa_połączenia_modemowego tryb_działania ip_serwera",0

    Uwaga! Najlepiej podać co najmniej 2 parametry, gdyż program sprawdza istnienie drugiego parametru przed zadaniem pytania czy zamknąć skrypt. Jeśli takowy nie istnieje program wypisze pytanie i będzie oczekiwało na ENTER

    Nazwę połączenia modemowego bierzemy z Połączenia sieciowe.
    U mnie to wygląda tak:
    (Trochę Inny) Monitor połączenia modemu bezprzewodowego (Aero2) .BAT


    Stosowane argumenty nie powinny zawierać spacji:!:
    Opis parametru tryb działania skryptu (czyli co skrypt ma robić jeżeli nie ma internetu):
    1 - rozłącz połączenie
    2 - rozłącz i poczekaj 3 sekundy
    3 - rozłącz, poczekaj 3s i próbuj połączyć ponownie
    jeżeli wystąpi inna wartość lub jej brak skrypt przyjmuje tryb 3.
    Uwaga!:Skrypt korzysta z systemowego programu rasdial.exe .

    Opis działania skryptu:
    Skrypt ping-uje IP danego serwera co 10s, jeżeli ping jest większy niż 1000ms uznaje go za błędny i ping-uje ponownie po 2s. Jeżeli wystąpi kolejno 5 błędnych pingów przechodzi do realizacji naprawy połączenia wybranego przez tryb działania skryptu.

    Skrypt sprawdza czy dane połączenie nie jest już monitorowane, więc nie powinno udać się uruchomienie więcej niż jednego skryptu dla danego połączenia.

    Żeby zamknąć wszystkie odpalone skrypty odpalamy: ZamknijWszystkieTC.bat .

    Żeby zamknąć skrypt dla danego połączenia musimy uruchamiamy:
    Test_Con.bat nazwa_połączenia_modemowego
    i po wyświetleniu:
    Zamknąć działający program? [T]ak :
    naciskamy klawisz T ,który potwierdzamy następnie przyciskiem ENTER.
    W innym przypadku skrypt nie zakończy się poprawnie.


    W niektórych przypadkach antywirusy mogą zgłaszać wykorzystanie pliku _tmp.vbs, jest to plik pomocniczy uśpienia/wstrzymania na daną ilość sekund.

    PS. Nie jestem humanistą, ani nauczycielem żeby tłumaczyć innym co i jak działa. Powyższa zawartość może nie być dla wszystkich zrozumiała za co zawczasu serdecznie przepraszam.

    PS.2 W załączniku znajduje się również plik @.bat, który ping-uje co 2s wewnątrz zawarte adresy i zwraca w tytule 0 jeśli ping był poprawny lub 1 jeśli dany ping był niepoprawny. Sumaryczna ilość 0 i 1 w tytule została ograniczona do 5 oraz do ilości podanych adresów.

    PS.3 Przy korzystaniu z TopNetInfo, który czasami nie widzi utraty połączenia, przy użyciu trybu działania 1 lub 2

    Proszę o przesunięcie do odpowiedniego działu, jeśli ten jest błędny. Może się komuś przyda.
    Treści są twórczością własną i udostępniane są jedynie w ramach portalu elektroda.pl i licencji beerware.
    Załączniki:
  • Poziom 20  
    W porównaniu do powyższej wersji dodano:
    -ewentualny przełącznik -f jako pierwszy argument, który wymusza użycie nazwy połączenia pomijając pierwotne sprawdzanie czy połączenie zostało poprawnie nawiązane
    -poprawiono kilka błędów merytoryczno-logicznych skryptu
    -dodano prosty filtr wycinający adresy IP przy sprawdzaniu IP połączenia zaczynające się od: 127. (localhost), 0. (karty TV i podobne), 192.168. (najpopularniejsza klasa prywatnej sieci lokalnej)