Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem hladam program - Na monitorování trafficu (a následné akci při malém vytížení)

Hladam neaky program, ktory by monitoroval nez a keby bol trafic napr. za 5 min nulovy alebo neaky zanedbatelny vykonal by neaku akci napr. spustil neaky program resetil program alebo pod.
Potrebujem preto bo ked upujem tak som vacsinou v praci a cez den mi zblbne rapiduploader, prestane upovat, takze to mozem az vecer napravit. Ten program by monitoroval upload a keby bol zanedbatelny v priebehu napr 5. min tak by resetol program. thx
[mod]Změna předmětu, původně: hladam program (AZOR)[/mod]

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Tento příklad počítá s tím, že proměnné a dávka jsou uloženy v C:\temp. Je to předvedeno na příkladu…
touchwood 30.07.2007 14:49
touchwood
v system32 ja nemam subor ipfw.exe. mam winxp. este by som sa chcel spytat na rozmiestnenie suborov…
eth4rendil 30.07.2007 16:36
eth4rendil
Ani se nedivím, že ipfw.exe nemáš... Touchwood zřejmě předpokládal použití wipfw? wipfw.sourceforge.…
host 30.07.2007 16:48
host
este jedna mala otazocka, tento script konroluje traffic jednorazovo ze? musim ho dat nex sa spusta…
eth4rendil 30.07.2007 16:58
eth4rendil
Už ti to touchwoood psal: ...a co 5 minut to stačí kontrolovat VBS skriptem, který se může nastavit…
host 30.07.2007 17:01
host
jj přesně tak. samozřejmě by to šlo udělat jako nekonečný cyklus a spouštět jako program.
touchwood 30.07.2007 18:35
touchwood
ok este raz thx. ked pridem domof s prace tak to vyskusam... dufam ze tam nic nepomrvim..
eth4rendil 30.07.2007 22:49
eth4rendil
mno zatim som to vseko porobkal a tvari sa to, ze to funguje. este taka mala otazocka konstanta Cons…
eth4rendil 31.07.2007 04:11
eth4rendil
FWrow se odkazuje na řádek pravidel ipfw. Na řádku 101 je pravidlo, jehož počítání proteklých bajtů…
touchwood 31.07.2007 08:12
touchwood
nieco nefunguje, premennu konst som nastavil takto: konst = 7340032 to je 7 mb a teraz mi to vypisuj…
eth4rendil 01.08.2007 13:21
eth4rendil
Je ti jasne ze cislo ulozene v PC (ako byte alebo word alebo dword alebo qword) nemoze nadobudat nek…
MM.. 01.08.2007 13:32
MM..
vsak hej ale neviem preco by to mala byt nekonecna hodnota...
eth4rendil 01.08.2007 13:38
eth4rendil
nie nekonecna, staci ze je vacsia ako urcita maximalna hodnota a nie je mozne ju do daneho miesta (r…
MM.. 01.08.2007 13:55
MM..
hmm uz mi to kupodivu prestalo vyhadzovat, nexapem. thx moc za vsetko
eth4rendil 01.08.2007 23:58
eth4rendil
Fcia CLng konvertuje na premennu typu long, t.j. maximalny rozsah je -2147483648 az 2147483647. Ak h…
MM.. 02.08.2007 01:13
MM..
alebo zmenit premennej maximalny rozsah na neaky neobmedzeny.
eth4rendil 02.08.2007 02:59
eth4rendil
Neobmedzeny rozsah neexistuje. Ked tam mas take cislo tak ten program nefunguje spravne, ako si moho…
MM.. 02.08.2007 13:25
MM..
jj spravil som to presne tak, len ten rozsah to je 10 miestne cislo a to cca 2200 mb to mam upload z…
eth4rendil 02.08.2007 15:54
eth4rendil
2G upload ::) ok tak ten prevod zmen na double, to zvladne aj hodne vecsie cisla ale od urcitej velk…
MM.. 02.08.2007 16:15
MM..
jj, přesně tak. BTW, by mě zajímalo, co furt eth4endil uploaduje ;-)
touchwood 03.08.2007 13:10
touchwood
a malickost 200 filmov :-| nový
eth4rendil 03.08.2007 14:39
eth4rendil
No jo ale to sem nepis. Takze budem predpokladat ze sa jedna o tvoje "filmy" z dovolenky apod. poslední
MM.. 03.08.2007 14:44
MM..

Tento příklad počítá s tím, že proměnné a dávka jsou uloženy v C:\temp. Je to předvedeno na příkladu restartování aplikace calc.exe s tím, že se počítají odeslaná data na vzdálený port 80 - jedná se o řádku konfigurace 101.

Kdyby bylo něco nejasné, dej vědět.

edit: jo, proměnná konst slouží k nastavení minimálního trafficu (v bytech), který se přičte k naměřeným datům

FWrow se odkazuje na řádek pravidel ipfw. Na řádku 101 je pravidlo, jehož počítání proteklých bajtů nás zajímá. Tedy změnou čísla řádku můžeš změnit řádek (vždy je to třetí sloupec na daném řádku), kterou ti bude skript "vycucávst" z výpisu ipfw. To se hodí, kdybys náhodou začal ipfw používat jako standardní firewall (což každému doporučuju; je k tomu ke stažení i GUI klikátko)

samotná pravidla ipfw si můžeš zobrazit pomocí příkazu ipfw show - pak ti to bude jasné.

nie nekonecna, staci ze je vacsia ako urcita maximalna hodnota a nie je mozne ju do daneho miesta (rezerbvovaneho pre premennu) ulozit. To sa vola overflow (pretecenie).
Pockaj si ale na vyjadrenie touchwooda, kedze je to naprogramovane v niecom strasne divnom a nevidim tam ziadne definicie typu (a teda aj max.rozsahu) premennych.

Fcia CLng konvertuje na premennu typu long, t.j. maximalny rozsah je -2147483648 az 2147483647. Ak hodnota (oldtraffic + konst), alebo hodnota traffic je z nejakeho dovodu mimo tohoto rozsahu, tak nastane overflow. Alebo mozno to vypise nejaku chybu aj ak niektora z tych premennych neobsahuje nic alebo nejaku blbost (text apod).

Pozeram ze ten program bere hodnotu oldtraffic zo suboru status.txt

Set objReadFile = objFSO.OpenTextFile(PROGDIR & "status.txt", 1)
oldtraffic = objReadFile.ReadAll
objReadFile.Close

do ktoreho si o par riadkov neskor zapisuje aktualny traffic (pre dalsi priebeh programu).

problem bol mozno v tom ze pri prvom spusteni programu ten subor status.txt este neexistoval, takze precital asi do premennej oldtraffic nejaku hovadinu. Pri dalsom spusteni programu uz ten subor existuje (pri prvom spusteni ho tesne pred tym padnutim vytvoril).

P.S. Alebo to precita do oldtraffic alebo traffic nahodne nejake sialene cislo. Ak to niekedy v buducnosti padne tak si pozri subor status.txt (mal by byt tam kde je ten program), mala by byt v nom posledna hodnota premennej traffic.

Neobmedzeny rozsah neexistuje. Ked tam mas take cislo tak ten program nefunguje spravne, ako si mohol mat taky velky traffic?

P.S. ked to zas drbne tak si pozri aj C:\temp\data.txt to by mal byt posledny vystup z firewallu, tam vidiet potom aj v riadku 00101 ten traffic (odtial ho program precital).
Urobil si vsetko presne tak ako pisal touchwood?
.bat subor, ten program (nemenit tu hodnotu "00101"), zmenil si tie konfiguracne subory firewallu?

.. alebo si skus rucne spustit
C:\WINDOWS\system32\ipfw.exe show
ked si v C:\temp, ze ci to vobec korektne vola ten firewall a ci ti to do riadku s 00101 vypise aktualny traffic.

2G upload ::)
ok tak ten prevod zmen na double, to zvladne aj hodne vecsie cisla ale od urcitej velkosti straca presnost, co ale v tomto pripade nebude vadit.

if CLng(oldtraffic + konst) >= CLng(traffic) then

zmen na

if (CDbl(oldtraffic) + CDbl(konst)) >= CDbl(traffic) then

neskusal som to VBasicu sa na kilometer vyhybam, daj vediet ci to funguje.

P.S. inac to if by logickejsie malo byt
if (CDbl(traffic) - CDbl(oldtraffic)) <= CDbl(konst) then
aby to bolo pochopitelne nielen pre autora programu :-), inac je to ale to iste.

Zpět do poradny Odpovědět na původní otázku Nahoru