Jak změřit přenesená data u ADSL modemu Alcatel SpeedTouch

Máte měřené ADSL a chcete kdykoli zjistit, jak jste na tom s přenesenými daty? Měření přenesených dat na stránkách provozovatelů nebývá zrovna v reálném čase, nebo není dostupné vůbec, měření na síťové kartě pak započítává i lokální provoz. Řešení přesto možné je.

Kdo potřebuje měřit přenesená data na vnějším rozhraní sítě, nemá moc jednoduchou situaci. Měřiče přenesených dat pro počítače měří data na síťovém rozhraní, tedy včetně dat přenášených v lokální síti. Kdo chce měřit data jen z a do internetu má horší pozici. Různé na trhu dostupné modemy to mají různé, budu popisovat Alcatel SpeedTouch Home/Pro, který je stále hodně rozšířen.

Předem tohoto návodu chci upozornit, že ač nabídnu celkem blbovzdorné řešení, které může vyzkoušet každý, je vhodnější aspoň trochu lepší znalost počítačů a ADSL modemu Alcatel SpeedTouch. Tento modem je základním typem, se kterým bylo ADSL nabízeno a ještě je velmi rozšířen. V Ethernet variantě se velmi často pomocí i zde zveřejněného postupu přepíná z varianty Home na Pro, která má řadu funkcí navíc. Toto přepínání poskytovatelé nijak neřeší, když modem máte v pronájmu, tak je to trochu sporné, dnes si ale můžete ADSL modem koupit a tak není co řešit.

Samotný Alcatel SpeedTouch nezobrazuje na webovém rozhraní statistiku přenesených dat. Přesto je schopen tyto informace nabídnout. Musíte se ale k němu připojit přes Telnet. Budu předpokládat, že máte modem na standardní IP adrese 10.0.0.138 a máte jej chráněný heslem.

telnet 10.0.0.138

dále odklepněte uživatelské jméno a na výzvu zadejte heslo. zobrazí se úvodní obrazovka a příkazová řádka se znaky =>. Nyní zadejte následující příkaz:

ip iflist

vypíše se něco zhruba v tomto duchu:

=>ip iflist
Interface      GRP MTU  RX      TX      TX-DROP  STATUS      HWADDR
0  loop        1  1500  292      0        0          UP
1  eth0        2  1500  3497361  15367978 0          UP  00:90:d0:28:21:76
2  MXS         0  1500  15000638 3164116  0          UP
3  cip0        0  9180  0        0        0          UP

Jedná se o výpis rozhraní v modemu. Je tu vnitřní síť ethernet (eth0) a definované připojení k vnějšímu internetu (zde MXS, ale může se lišit). Důležité je to počítání dat. Ve sloupci RX máte počet přenesených dat směrem dovnitř, u TX pak směrem ven, zajímá nás samozřejmě údaj u řádku MXS, který označuje vnější rozhraní. Tato data stále narůstají, vynuluje je restart modemu. Modem sem vypínal nedávno, takže na čítači je 15 MB přijato a 3 MB posláno.

Tato data je tedy třeba nějak monitorovat nejlépe vnějším skriptem. Nejen na Linuxu to zvládnete Perl skriptem (odkaz obsahuje kód a potřebné komponenty), ve Windows můžete využít běžný Windows Scripting. Bohužel se mi nepodařilo najít bezplatnou komponentu pro Telnet, nabízím 30denní verzi Asocket.dll (od Activexperts), která se pro demonstrační účely dá využít. Komponentu uložte do Windows\system32 a zaregistrujte pomocí příkazu:

regsrv32 asocket.dll

Pak už jen zbývá samotný kód, kde v prvních třech řádcích musíte změnit hodnoty dle svého nastavení. Tento text uložte do souboru s příponou .vbs, třeba data.vbs, abyste jej mohli normálně spouštět:

` konstanty
Const IPadresa = "10.0.0.138"
Const strHeslo="heslo"  `tady musite zadat vase heslo
Const strRozhrani="MXS"  `tady je jmeno vystupniho rozhrani

Const asCONN_CONNECTED=3
Const asERR_SUCCESS=0
Const asPROTOCOL_TELNET=2

` Create a socket instance
Set asObj = CreateObject("ActivXperts.Socket")
asObj.Protocol = asPROTOCOL_TELNET
asObj.Connect IPadresa, 23

If asObj.LastError = asERR_SUCCESS And asObj.ConnectionState = asCONN_CONNECTED Then

    strReceived = ""

    asObj.Sleep 500
    asObj.SendString "admin", True ` Alcatel kasle na username, ale neco je tam treba zadat
    asObj.Sleep 100
    asObj.SendString strHeslo, True
    asObj.Sleep 100
    asObj.SendString "ip iflist", True
    asObj.Sleep 500

    strReceived = asObj.ReceiveString
    strReceived = mid(strReceived,Instr(strReceived,strRozhrani),60) `najdeme radek s rozhranim
    strRX = round(int(mid(strReceived,24,9))/1048576, 2)
    strTX = round(int(mid(strReceived,33,9))/1048576, 2)
    WScript.Echo "download: " & strRX & " MB" & vbCrLf & "upload: " & strTX & " MB"
    asObj.Sleep 500
  asObj.Disconnect
End If

Při spuštění se program nejprve připojí na Alcatela, zjistí si informace a vypíše je do dialogového okna zaokrouhlené na megabajty.

Samozřejmě nejlepší by bylo udělat přímo samostatný program nebo tento postup zabudovat do měřičů přenesených dat, jako je například český Traffic Meter. Vodítka jsem vám poskytl.

Diskuze (30) Další článek: Morseovka bude po 60 letech aktualizována

Témata článku: Windows, Modem, Přenesená data, Demonstrační účel, Vnější internet, Traffic, Mode, ADS, Vase, Up, Jak


Určitě si přečtěte

Nejlepší notebooky do 10 000 korun: Co má ještě smysl kupovat. A co ne?

Nejlepší notebooky do 10 000 korun: Co má ještě smysl kupovat. A co ne?

** Notebooky s cenou do deseti tisíc korun jsou plné kompromisů ** Existuje několik modelů dobře použitelných pro nenáročné použití ** Vhodnou alternativou jsou tablety nebo repasované počítače

David Polesný | 87

Není jen Flightradar: Našli jsme další aplikace pro sledování letadel, některé ukážou i víc

Není jen Flightradar: Našli jsme další aplikace pro sledování letadel, některé ukážou i víc

** 8 služeb pro sledování leteckého provozu ** Nejznámější je Flightradar24, ale alternativy leckdy prozradí více ** Letadla i v této pohnuté době čile létají a je co pozorovat

Karel Kilián | 14


Aktuální číslo časopisu Computer

Megatest mobilů do 5 500 Kč

Test levných herních notebooků

Hrajeme na Xbox Series X

Programy pro kontrolu dětí na počítači