Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Login na web page pomoci bash  (Přečteno 12162 krát)

eddieul

  • Návštěvník
  • Příspěvků: 32
Login na web page pomoci bash
« kdy: 18 Srpna 2008, 07:46:04 »
Dobrý den. Mám jeden problém. Můj provider kazdy den "restartuje" prihlaseni vsem uzivatelum, tzn. ze me kazdy den cca. v 6.00 odhlasi a ja se musim zase na jeho web page prihlasit ,abych se dostal na internet. Pri brouzdani to neni problem,ale pokud neco taham a nejsem dele doma,problem to je. Tak me napadlo,zda by nesel napsat script ,ktery by zjistil,zda je internet dostupny a pokud ne, poslal by prihlasovaci udaje na prihlasovaci stranku. Chtel bych toto reseni pouzit pro router ASUS WL500gP . Za kazdou radu popripade nakopnuti predem dekuji.

PS: Jsem Linux a BASH total lama :-(
« Poslední změna: 22 Srpna 2008, 22:46:33 od Anna Taliánová »

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: Logina na web page pomoci bash
« Odpověď #1 kdy: 18 Srpna 2008, 08:45:58 »
zkuste pohledat googlem curl auto login
Jestli chcete aby to dělal přímo sám WL500gP bez PC tak se porozhlédněte zde: http://wl500g.info/ ,mám takový pocit že někdo curl v routeru rozběhal: http://wl500g.info/showthread.php?t=1679 (Hugo)
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

eddieul

  • Návštěvník
  • Příspěvků: 32
Re: Logina na web page pomoci bash
« Odpověď #2 kdy: 18 Srpna 2008, 13:41:25 »
zkuste pohledat googlem curl auto login
Jestli chcete aby to dělal přímo sám WL500gP bez PC tak se porozhlédněte zde: http://wl500g.info/ ,mám takový pocit že někdo curl v routeru rozběhal: http://wl500g.info/showthread.php?t=1679 (Hugo)


Ano,rád bych,aby se o to staral Asus sám. Mrknu na ten curl, jen se docela obávám, že kompilace pod linuxem je pro mne Španělská vesnice :-( .Kdyby byl jednoduší způsob ( Cron + script ? ) ,uvítal bych ho.

Díky.

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: Logina na web page pomoci bash
« Odpověď #3 kdy: 18 Srpna 2008, 15:41:19 »
Jednodušší by to mělo být rozchodit nejdříve z počítače, curl je v repozitářích. Až potom případně zkoušet asus.
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

eddieul

  • Návštěvník
  • Příspěvků: 32
Re: Logina na web page pomoci bash
« Odpověď #4 kdy: 18 Srpna 2008, 15:49:20 »
Dobrý nápad. Jdu na to ;-)

kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Logina na web page pomoci bash
« Odpověď #5 kdy: 18 Srpna 2008, 20:14:48 »
mozna by stacil i wget

eddieul

  • Návštěvník
  • Příspěvků: 32
Re: Logina na web page pomoci bash
« Odpověď #6 kdy: 20 Srpna 2008, 20:14:31 »
mozna by stacil i wget

A to jak ?

 Zkousim cURL ,ale moc se nedaří. Přidávám i kod stranky, kterou zkousim :

<H1 align="center">BLABLA <BR>
přihlašovací stránka</H1>
<div align="center">
  </div>
<form name="login" method="post" action="https://www.blablabla.cz/index.php">
<table align="center" border=1>
<tr><td>Přihlašovací jméno :</td><td><input type="text" name="login"></td></tr>
<tr><td>Heslo : </td><td><input type="password" name="pwd"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="OK"></td></tr>

</table>
</form>

A takto jsem to zkousel pres cURL :

curl -d "login=hlupak&pwd=nejapny&press=OK" --cacert soubor_s_certifikatem.pem  https://www.blablabla.cz/index.php

Díky za každý kopanec.





Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: Logina na web page pomoci bash
« Odpověď #7 kdy: 20 Srpna 2008, 21:32:42 »
server si může hlídat referer, cookies

Hoďte si do FF doplněk HttpFox, uvidíte veškerou komunikaci se serverem, podle toho si pak upravte skript
(existoval i doplněk který uměl to samé ale navíc umožňoval i odesílané hlavičky před odesláním modifikovat - je to už delší čas a nějak si nemohu vzpomenout jak se jmenoval)

Pak si podle toho upravte příkaz
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

Firzen

  • Stálý člen
  • **
  • Příspěvků: 1287
    • Beroot
Re: Logina na web page pomoci bash
« Odpověď #8 kdy: 20 Srpna 2008, 21:37:57 »
mozna by stacil i wget

A to jak ?
Jednoduše :) Stačí ve FF kliknout pravým tlač. na přímý odkaz ke stažení, dát "Kopírovat adresu odkazu" a potom spustit terminál, napsat "wget " (i s tou mezerou) a potom jen stisknout kolečko myši(nebo prostřední tlačítko). Pak dáte enter a můžete s klidem odejít.. váš soubor se stáhne doslova za každou cenu - stahování se prostě neukončí a po restartu sítě pokračuje ;)
AMD Phenom II X6 1100T@3,3GHz, Gigabyte GeForce GT 430 1GiB, 8GiB RAM, 1TiB SATA3 HDD, Nokia N900
OS: Debian 6.0 Squeeze, Maemo 5
Citace
Prosintě ty jsi takový zkušený vývojář - co mám dělat, když nevím, jako něco udělat? :D

eddieul

  • Návštěvník
  • Příspěvků: 32
Re: Logina na web page pomoci bash
« Odpověď #9 kdy: 21 Srpna 2008, 07:23:56 »
mozna by stacil i wget

A to jak ?
Jednoduše :) Stačí ve FF kliknout pravým tlač. na přímý odkaz ke stažení, dát "Kopírovat adresu odkazu" a potom spustit terminál, napsat "wget " (i s tou mezerou) a potom jen stisknout kolečko myši(nebo prostřední tlačítko). Pak dáte enter a můžete s klidem odejít.. váš soubor se stáhne doslova za každou cenu - stahování se prostě neukončí a po restartu sítě pokračuje ;)

Tak tohle bohužel fungovat nebude. Nejde o problém s navázáním na stahování ale o to,že po restartu se nedostanu na internet bez toho,aniž bych se přihlásil na speciální stránce. wget se tedy asi bude pokoušet tahat,ale když nebude odkud,nedokaže to....

eddieul

  • Návštěvník
  • Příspěvků: 32
Re: Logina na web page pomoci bash
« Odpověď #10 kdy: 21 Srpna 2008, 07:24:46 »
server si může hlídat referer, cookies

Hoďte si do FF doplněk HttpFox, uvidíte veškerou komunikaci se serverem, podle toho si pak upravte skript
(existoval i doplněk který uměl to samé ale navíc umožňoval i odesílané hlavičky před odesláním modifikovat - je to už delší čas a nějak si nemohu vzpomenout jak se jmenoval)

Pak si podle toho upravte příkaz

Díky... odpoledne na to skočím.

dumi

  • Stálý člen
  • **
  • Příspěvků: 1152
Re: Logina na web page pomoci bash
« Odpověď #11 kdy: 21 Srpna 2008, 08:10:09 »
Tak me napadlo,zda by nesel napsat script ,ktery by zjistil,zda je internet dostupny a pokud ne...
na toto mám jedno dokonale vulgárne riešenie, ktoré som však so svojimi znalosťami scriptovania zvládol spraviť: dal som pingovať nejakú stránku (ja to mám limitované na 50 krát, ale tuším by to mohlo ísť aj donekonečna) a ak ju nie je schopný pingnúť, mám pripravenú sériu príkazov ktoré spraví. ak všetko ide v poriadku, spustí script znovu. vyzerá to nejak takto (nepamätám presne, som v robote teraz)
Kód: [Vybrat]
if ping www.google.com;
exec bash /cesta/ku/scriptu
else príkaz1&&prikaz2&prikaz3
..alebo tak nejak :).  dôležité sú príkazy if a exec. viac o bashi napr. tu: http://www.linuxexpres.cz/praxe/bash-1-dil-1
AMD Sempron 2500+, GF 5200FX, 1,5GB RAM, Ubuntu 8.04

eddieul

  • Návštěvník
  • Příspěvků: 32
Re: Logina na web page pomoci bash
« Odpověď #12 kdy: 21 Srpna 2008, 12:39:42 »
Tak me napadlo,zda by nesel napsat script ,ktery by zjistil,zda je internet dostupny a pokud ne...
na toto mám jedno dokonale vulgárne riešenie, ktoré som však so svojimi znalosťami scriptovania zvládol spraviť: dal som pingovať nejakú stránku (ja to mám limitované na 50 krát, ale tuším by to mohlo ísť aj donekonečna) a ak ju nie je schopný pingnúť, mám pripravenú sériu príkazov ktoré spraví. ak všetko ide v poriadku, spustí script znovu. vyzerá to nejak takto (nepamätám presne, som v robote teraz)
Kód: [Vybrat]
if ping www.google.com;
exec bash /cesta/ku/scriptu
else príkaz1&&prikaz2&prikaz3
..alebo tak nejak :).  dôležité sú príkazy if a exec. viac o bashi napr. tu: http://www.linuxexpres.cz/praxe/bash-1-dil-1

Díky. Tohle pouziju hned jak vymyslím, jak se prihlásit pres cURL.


kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Logina na web page pomoci bash
« Odpověď #13 kdy: 21 Srpna 2008, 15:05:57 »
Tim wgetem by to mohlo vypadat treba takto:

Kód: [Vybrat]
wget --post-data="login=LOGIN&pwd=HESLO" https://www.blablabla.cz/index.php -O -
--post-data je poslani dat metodou POST, stranka je myslim jasna a to "-O -" (velke "o") zaridi, ze se stranka neulozi do souboru, ale jen vypise na terminal. Kdyz by to bezelo, tak to muzes zamenit treba za "-O /dev/null".

ikdyz nemuzu ti zarucit, ze to takto bude fungovat, na https jsem to nikdy nezkousel (ikdyz to umi), mozna je treba jeste neco (cookies, podvrhnout hlavicky,..), ladit by to bylo treba na konkretni stranku. Nezbyva, nez te pripadne odkazat na "man wget".

Mimochodem, dalsi podobne rozsireni do firefoxu je Live HTTP Headers.
« Poslední změna: 21 Srpna 2008, 15:10:50 od kkaarreell »

eddieul

  • Návštěvník
  • Příspěvků: 32
Re: Logina na web page pomoci bash
« Odpověď #14 kdy: 22 Srpna 2008, 10:39:15 »
Tim wgetem by to mohlo vypadat treba takto:

Kód: [Vybrat]
wget --post-data="login=LOGIN&pwd=HESLO" https://www.blablabla.cz/index.php -O -
--post-data je poslani dat metodou POST, stranka je myslim jasna a to "-O -" (velke "o") zaridi, ze se stranka neulozi do souboru, ale jen vypise na terminal. Kdyz by to bezelo, tak to muzes zamenit treba za "-O /dev/null".

ikdyz nemuzu ti zarucit, ze to takto bude fungovat, na https jsem to nikdy nezkousel (ikdyz to umi), mozna je treba jeste neco (cookies, podvrhnout hlavicky,..), ladit by to bylo treba na konkretni stranku. Nezbyva, nez te pripadne odkazat na "man wget".

Mimochodem, dalsi podobne rozsireni do firefoxu je Live HTTP Headers.

Tak to uz vypada zajimaveji,ale stranka vyzaduje certifikat a bojim se, ze tato metoda s tim nepocita. Kazdopadne to dnes testnu pac cURL me zatim moc neposloucha...

kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Logina na web page pomoci bash
« Odpověď #15 kdy: 22 Srpna 2008, 11:37:07 »
No, ta co jsem napsal ne.. nicmene jak uz jsem psal, wget to umi. Koukni se do manualovych stranek do sekce  "HTTPS (SSL/TLS) Options", figuruje tam nekolik parametru, vcetne toho pro zadani certifikatu.

truhlik

  • Závislák
  • ***
  • Příspěvků: 1626
Re: Logina na web page pomoci bash
« Odpověď #16 kdy: 22 Srpna 2008, 14:55:57 »
Treba se ti to bude hodit, pripadne nekomu jinemu.

Tento skript jsem pouzival na stahovani uvodni stranky z speed.travian.cz. (uvodni stranky po prihlaseni) Je to dobre okomentovane, takze neni problem to pochopit.

Kód: [Vybrat]
#!/bin/bash
# travian.sh by TommyHot
# Original by beginner

CESTA="/home/truhlik/travian";
COOKIES_FOLDER="$CESTA/cookies"; # cookies folder, asi budes muset vytvorit rucne..
COOKIES_FILE="$COOKIES_FOLDER/cookies.txt"; # cookies file to use

URL_LOGIN="http://speed.travian.cz/login.php/"
USERNAME="dotatown"
PASSWORD="creep"

rm -r $CESTA/index*

##stiahnutie uvodnej prvej stranky za ucelom zistenia premennych
wget -q $URL_LOGIN

##zistenie hodnoty nahodnej premennej type="hidden" name="login" _HIDDEN_LOGIN
HIDDEN_LOGIN=`cat $CESTA/index.html | grep "type=\"hidden\" name=\"login\"" | awk '{print $4}'  |awk -F"\"" '{print $2}'`

#zistenie hodnoty nahodnej premennej "prihlasovacie meno" _RANDOM_NAME
RANDOM_NAME=`cat $CESTA/index.html | grep "class=\"fm fm110\" type=\"text\" name=\"" | awk '{print $5}' | awk -F "\"" '{print $2}'`

#zistenie hodnoty nahodnej premennej "prihlasovacie heslo" _RANDOM_PASS
RANDOM_PASS=`cat $CESTA/index.html | grep "class=\"fm fm110\" type=\"password\"" | awk '{print $5}' | awk -F "\"" '{print $2}'`

RANDOM_HIDDEN=`cat $CESTA/index.html | grep "<p align=\"center\"><input type=\"hidden\" name=\"" | awk '{print $4}' | awk -F "\"" '{print $2}'`

# w= nastav tam svoje rozlisenie monitora, ktore pouzivas
# RANDOM_HIDDEN a aj jej hodnota mi zostala vzdy nemenna aj napriek tomu ze som vymazal cookies, btw ked nemas cookies, tak sa neposiela, iba ked ich mas prijate
# Ale ak sa to nahodou zmeni (mozno pre kazdeho usera inak), tak si to tam pridaj manualne..  To by nemal byt az taky problem
POST_DATA="'w=1280%3A800&login="$HIDDEN_LOGIN"&$RANDOM_NAME="$USERNAME"&$RANDOM_PASS="$PASSWORD"&$RANDOM_HIDDEN=1205804237&s1.x=45&s1.y=6&s1=login&autologin=ja'";

wget -q --cookies=on --load-cookies "$COOKIES_FILE" --save-cookies "$COOKIES_FILE" --post-data $POST_DATA "http://speed.travian.cz/dorf1.php/?newdid=108329"

EDIT: 1000  ;D
« Poslední změna: 23 Srpna 2008, 15:49:41 od truhlik »
http://wiki.ubuntu.cz/P%C5%99ipojen%C3%AD%20disku
http://www.linuxsoft.cz/article.php?id_article=1351
http://www.root.cz/clanky/klonovani-obrazu-a-dva-monitory-v-linuxu
Citace: Otakar
Červi jsou moc milá zvířátka, zvláště když má jejich chovatel výhrady proti chování tučňáků

eddieul

  • Návštěvník
  • Příspěvků: 32
Re: Logina na web page pomoci bash
« Odpověď #17 kdy: 22 Srpna 2008, 18:27:41 »
No, ta co jsem napsal ne.. nicmene jak uz jsem psal, wget to umi. Koukni se do manualovych stranek do sekce  "HTTPS (SSL/TLS) Options", figuruje tam nekolik parametru, vcetne toho pro zadani certifikatu.

Tak to pravdepodobne chodi,bohuzel jen na PC ponevadz Asus router nema GNU wget ,ale pouze BusyBox wget a ten neumi --post-data. Takze se musim pokusit rozchodit cURL. :-(  Kazdopadne diky.

ares952

  • Aktivní člen
  • *
  • Příspěvků: 124
    • http://www.lumidan.eu
Re: Logina na web page pomoci bash
« Odpověď #18 kdy: 22 Srpna 2008, 20:13:56 »
No, ta co jsem napsal ne.. nicmene jak uz jsem psal, wget to umi. Koukni se do manualovych stranek do sekce  "HTTPS (SSL/TLS) Options", figuruje tam nekolik parametru, vcetne toho pro zadani certifikatu.

Tak to pravdepodobne chodi,bohuzel jen na PC ponevadz Asus router nema GNU wget ,ale pouze BusyBox wget a ten neumi --post-data. Takze se musim pokusit rozchodit cURL. :-(  Kazdopadne diky.

na svym ASUS WL500gP jsem nainstaloval wget (balicek je wget-ssl) pomoci ipkg (pouzivam teda oleg firmware)

skript na login muze vypadat nasledovne:

Kód: [Vybrat]
#!/bin/sh
#

wget --quiet --save-cookies=blablabla.cookie \
--no-check-certificate \
--post-data="login=LOGIN&pwd=HESLO" \
-P /tmp/harddisk/stazena-data \
-O - \
"https://www.blablabla.cz/index.php" > /dev/null

a je to

eddieul

  • Návštěvník
  • Příspěvků: 32
Re: Logina na web page pomoci bash
« Odpověď #19 kdy: 22 Srpna 2008, 20:44:10 »
No, ta co jsem napsal ne.. nicmene jak uz jsem psal, wget to umi. Koukni se do manualovych stranek do sekce  "HTTPS (SSL/TLS) Options", figuruje tam nekolik parametru, vcetne toho pro zadani certifikatu.

Tak to pravdepodobne chodi,bohuzel jen na PC ponevadz Asus router nema GNU wget ,ale pouze BusyBox wget a ten neumi --post-data. Takze se musim pokusit rozchodit cURL. :-(  Kazdopadne diky.

na svym ASUS WL500gP jsem nainstaloval wget (balicek je wget-ssl) pomoci ipkg (pouzivam teda oleg firmware)

skript na login muze vypadat nasledovne:

Kód: [Vybrat]
#!/bin/sh
#

wget --quiet --save-cookies=blablabla.cookie \
--no-check-certificate \
--post-data="login=LOGIN&pwd=HESLO" \
-P /tmp/harddisk/stazena-data \
-O - \
"https://www.blablabla.cz/index.php" > /dev/null

a je to

Uz jsem zacinal jasat, bohuzel muj Asus hlasi, ze wget-ssl neexistuje.Neni ani ve vypisu ipkg list :-( Take pouzivam Olega.

ares952

  • Aktivní člen
  • *
  • Příspěvků: 124
    • http://www.lumidan.eu
Re: Login na web page pomoci bash
« Odpověď #20 kdy: 23 Srpna 2008, 05:35:54 »
zkus aktualizovat seznam balicku pomoci ipkg update, protoze kdyz se podivas na http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ , tak v seznamu je


eddieul

  • Návštěvník
  • Příspěvků: 32
Re: Login na web page pomoci bash
« Odpověď #21 kdy: 23 Srpna 2008, 06:18:44 »
zkus aktualizovat seznam balicku pomoci ipkg update, protoze kdyz se podivas na feeds/optware/oleg/cross/stable/ , tak v seznamu je



jj..to jsem udelal ,ale nevidi ho..ani po v seznamu LIST... a kdyz napisu ipkg update ,stahuje seznam z http://ipkg.nslu2-linux.org/unslug/wl500g/Packades .. pouzivam Olega 1.9.2.7-9.

ares952

  • Aktivní člen
  • *
  • Příspěvků: 124
    • http://www.lumidan.eu
Re: Login na web page pomoci bash
« Odpověď #22 kdy: 23 Srpna 2008, 15:32:40 »
zkus aktualizovat seznam balicku pomoci ipkg update, protoze kdyz se podivas na feeds/optware/oleg/cross/stable/ , tak v seznamu je



jj..to jsem udelal ,ale nevidi ho..ani po v seznamu LIST... a kdyz napisu ipkg update ,stahuje seznam z http://ipkg.nslu2-linux.org/unslug/wl500g/Packades .. pouzivam Olega 1.9.2.7-9.

potom tedy mrkni do /opt/etc/ipkg.conf

#Uncomment the following line for native packages feed (if any)
#src/gz native http://ipkg.nslu2-linux.org/feeds/optware/oleg/native/stable
src/gz optware http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable
dest /opt/ /
#option verbose-wget

eddieul

  • Návštěvník
  • Příspěvků: 32
Re: Login na web page pomoci bash
« Odpověď #23 kdy: 23 Srpna 2008, 18:31:39 »
zkus aktualizovat seznam balicku pomoci ipkg update, protoze kdyz se podivas na feeds/optware/oleg/cross/stable/ , tak v seznamu je



jj..to jsem udelal ,ale nevidi ho..ani po v seznamu LIST... a kdyz napisu ipkg update ,stahuje seznam z http://ipkg.nslu2-linux.org/unslug/wl500g/Packades .. pouzivam Olega 1.9.2.7-9.

potom tedy mrkni do /opt/etc/ipkg.conf

#Uncomment the following line for native packages feed (if any)
#src/gz native http://ipkg.nslu2-linux.org/feeds/optware/oleg/native/stable
src/gz optware http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable
dest /opt/ /
#option verbose-wget


Presne to jsem po chvilce googlovani udelal,presto diky .Instalace probehla, ve vypisu IPKG LIST_INSTALLED je videt wgwt-ssl ,ale pri zpousteni at uz meho prikazu ( funkcniho na PC ) a nebo tveho sciptu to nejede.Porad hlasi BusyBox v1.1.3 ....Usage: .... a ze nezna --no-check-certificate a -O ... jsem z toho tak trochu jelen.

kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Login na web page pomoci bash
« Odpověď #24 kdy: 24 Srpna 2008, 06:46:34 »
hm, to by mohlo znamenat, ze nebyl kompilovan s podporou pro OpenSSL

 

Provoz zaštiťuje spolek OpenAlt.