abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 2
    dnes 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    dnes 12:33 | IT novinky

    Evropská komise by do léta mohla předložit návrh normy omezující používání sociálních sítí dětmi v zájmu jejich bezpečí na internetu. Prohlásila to včera předsedkyně EK Ursula von der Leyenová, podle níž řada zemí Evropské unie volá po zavedení věkové hranice pro sociální sítě. EU částečně řeší bezpečnost dětí v digitálním prostředí v již platném nařízení o digitálních službách (DSA), podle německé političky to však není dostatečné a

    … více »
    Ladislav Hagara | Komentářů: 24
    dnes 04:11 | Nová verze

    Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 4.0.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Pozvánky

    Chybí vám někdo, s kým byste si popovídali o bastlení, technice, počítačích a vědě? Nechcete riskovat debatu o sportu u piva v hospodě? Pak doražte na virtuální pokec u virtuálního piva v rámci Virtuální Bastlírny organizované strahovským MacGyverem již tento čtvrtek. Možná se ptáte, co se tak může probírat? Dají se probrat slavná výročí - kromě 55 let obvodu 555 (což je mimochodem prý andělské číslo) a vzpomínky na firmu Signetics -

    … více »
    bkralik | Komentářů: 0
    včera 23:11 | Zajímavý software

    GTK2-NG je komunitní fork GTK 2.24 (aktuální verze je 4.22). Oznámení a diskuse v diskusním fóru Devuanu, forku Debianu bez systemd. Není to jediný fork GTK 2. Ardour je například postaven na vlastním forku GTK 2 s názvem YTK.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Pozvánky

    V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »

    lkocman | Komentářů: 0
    včera 15:00 | Komunita

    Vývojáři Debianu zhruba v polovině vývojového cyklu Debianu 14 s kódovým názvem Forky rozhodli, že Debian musí dodávat reprodukovatelné balíčky, tj. kdokoli si může nezávisle ověřit, že daný binární balíček vznikl překladem a sestavením z konkrétních zdrojových kódů. Aktuálně je reprodukovatelných 98,29 % balíčků.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Bezpečnostní upozornění

    Německý e-shop Škoda Auto byl hacknut. Útočníci získali přístup k uživatelským údajům (jméno, adresa, e-mail, heslo, telefon, …).

    Ladislav Hagara | Komentářů: 6
    včera 11:22 | Pozvánky

    Na webu konference Den IPv6 2026, která se uskuteční 4. června v Národní technické knihovně v pražských Dejvicích, je nyní k dispozici kompletní program této tradiční akce věnované tématům spojeným s protokolem IPv6. Na celodenní pásmo přednášek je třeba se přihlásit a zaplatit účastnický poplatek 242 korun. Registrační formulář najdou zájemci opět na webu akce. Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1597 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: wget nepřenese celý parametr

    29.3.2018 07:58 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    wget nepřenese celý parametr
    Přečteno: 393×
    Zdravím, Mám podivný problém s wget. Z asi 50 PC ( stejný OS - Opensuse 11) si stahuju (nechávám posílat) data o "zdraví" disků.

    Z nich je asi 8 PC, ze kterých se data 24.3 přestala načítat. Zkoumáním jsem zjistil, že
    data=`/usr/sbin/smartctl -a $1 | base64 -w0`
    echo $data
    wget -qO - --post-data "pc=$2&pcm=$3&pcs=$4&data=$data" http://nasserver.cz/disky.php
    wget ( asi ) ořízne na těchto PC argument $data na 1024 znaků. Zkoušel jsem googlit, co to může způsobovat, ale nic kloudného jsem nezjistil.

    Echo vypíše celou salvu dat ( 5-6 kB ) ale následně v PHP skriptu hned na začátku print_r( $_REQUEST, 1 ) ukáže jen 1024 znaků z $data. Podezírám wget, ale nevím co s tím.

    Uříznuto je to co je za polmčkami ( nevím, jak to líp zvýraznit ) :

    .....U9OID09PQpTTUFS----VCBvdmVyYWxsLWhlYWx0a

    V tom 1024B řetězci je jedna mezera někde +- uprostřed, v místě uříznutí ne. Jinak mně nic nenapadá.

    Předem děkuji za nasměrování.

    Milan


    Řešení dotazu:


    Odpovědi

    Řešení 1× (Milan Uhrák (tazatel))
    29.3.2018 09:04 NN
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    Co na to wireshark/tcpdump, aby se vyloucil problem na siti a zjistilo se na ktere strane je problem?
    29.3.2018 09:55 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    Od vás vždy dobré rady ... bez ironie. V tomto případě nevím, protože ty kouzelné věci neovládám. zkusím tcpdump na odesílacím PC ?
    29.3.2018 10:03 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    hm .. tak jsem to zkusil ( ani to nebylo složité .. ) a vypadá to, že wget je v tom nevinně .. <>
    listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
    09:50:04.498568 IP filialkajpo172.38312 > nasserver.cz.http: S 735164019:735164019(0) win 5840 <mss 1460,sackOK,timestamp 6954384 0,nop,wscale 6>
    09:50:04.632886 IP filialkajpo172.38312 > nasserver.cz.http: . ack 3553872297 win 92 <nop,nop,timestamp 6954417 2249017047>
    09:50:04.633047 IP filialkajpo172.38312 > nasserver.cz.http: P 0:190(190) ack 1 win 92 <nop,nop,timestamp 6954417 2249017047>
    09:50:04.633162 IP filialkajpo172.38312 > nasserver.cz.http: . 190:3070(2880) ack 1 win 92 <nop,nop,timestamp 6954418 2249017047>
    09:50:04.829839 IP filialkajpo172.38312 > nasserver.cz.http: . 3070:5950(2880) ack 1 win 92 <nop,nop,timestamp 6954467 2249017245>
    09:50:04.889016 IP filialkajpo172.38312 > nasserver.cz.http: . 5950:7390(1440) ack 1 win 92 <nop,nop,timestamp 6954481 2249017305>
    09:50:04.889024 IP filialkajpo172.38312 > nasserver.cz.http: P 7390:7622(232) ack 1 win 92 <nop,nop,timestamp 6954481 2249017305>
    09:50:05.144622 IP filialkajpo172.38312 > nasserver.cz.http: . ack 1441 win 137 <nop,nop,timestamp 6954545 2249017556>
    09:50:05.145479 IP filialkajpo172.38312 > nasserver.cz.http: . ack 1634 win 182 <nop,nop,timestamp 6954546 2249017556>
    09:50:05.145844 IP filialkajpo172.38312 > nasserver.cz.http: F 7622:7622(0) ack 1634 win 182 <nop,nop,timestamp 6954546 2249017556>
    09:50:05.231676 IP filialkajpo172.38312 > nasserver.cz.http: . ack 1635 win 182 <nop,nop,timestamp 6954567 2249017647>
    09:50:07.238133 IP filialkajpo172.38316 > nasserver.cz.http: S 779152149:779152149(0) win 5840 <mss 1460,sackOK,timestamp 6955069 0,nop,wscale 6>
    09:50:07.398023 IP filialkajpo172.38316 > nasserver.cz.http: . ack 1093656530 win 92 <nop,nop,timestamp 6955109 2249019813>
    09:50:07.398183 IP filialkajpo172.38316 > nasserver.cz.http: P 0:190(190) ack 1 win 92 <nop,nop,timestamp 6955109 2249019813>
    09:50:07.398298 IP filialkajpo172.38316 > nasserver.cz.http: . 190:3070(2880) ack 1 win 92 <nop,nop,timestamp 6955109 2249019813>
    09:50:07.559120 IP filialkajpo172.38316 > nasserver.cz.http: . 3070:5950(2880) ack 1 win 92 <nop,nop,timestamp 6955149 2249019975>
    09:50:07.620969 IP filialkajpo172.38316 > nasserver.cz.http: . 5950:7390(1440) ack 1 win 92 <nop,nop,timestamp 6955164 2249020036>
    09:50:07.620976 IP filialkajpo172.38316 > nasserver.cz.http: P 7390:7622(232) ack 1 win 92 <nop,nop,timestamp 6955164 2249020036>
    09:50:07.874718 IP filialkajpo172.38316 > nasserver.cz.http: . ack 1441 win 137 <nop,nop,timestamp 6955228 2249020287>
    09:50:07.875273 IP filialkajpo172.38316 > nasserver.cz.http: . ack 1634 win 182 <nop,nop,timestamp 6955228 2249020287>
    09:50:07.875681 IP filialkajpo172.38316 > nasserver.cz.http: F 7622:7622(0) ack 1634 win 182 <nop,nop,timestamp 6955228 2249020287>
    09:50:07.966890 IP filialkajpo172.38316 > nasserver.cz.http: . ack 1635 win 182 <nop,nop,timestamp 6955251 2249020383>
    
    Jestli tomu dobře rozumím, tak (jsou tam 2 disky) wget posílá 2x 7622 bajtů .. ten zásek na 1024 je ale magický, a vztahuje se jen na tu poslední proměnnou ( $data ) ..

    Děkuji za nakopnutí, ale .. nebyl by další nápad ?
    29.3.2018 12:27 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    Je super, že jste to zvládl. Paketový analyzáor je ten první nástroj, který je na pořadu dne, když je komunikační problém s nejasnou diagnostikou. Prostě se zjistí co jednotlivé strany posílají a jestli to odpovídá protokolu, očekávání a požadavkům.
    29.3.2018 10:28 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    A ještě legrace : u tohoto konkretního PC, které teď zkoumám, je ve stejné budově další PC, a z toho data projdou komplet. To je mešuge.
    29.3.2018 10:44 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    na cílovém stroji který data přijímá mi
    tcpdump -nn src 90.179.130.8 and dst port 80
    ani nepípne ..

    dělám něco špatně ? Moc tomu tcpdumpu nerozumím, to co dělám, je narychlo vygůgleno.
    29.3.2018 12:31 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    na cílovém stroji nemůže být dst port 80 (vyhodte u portu i adres src a dst protože tím se dostane jen jedne směr komunikace) přijímaný paket webu je na klientovi src port 80 ale odesílaný http dotaz je dst port 80. a vy jste oba zkombinoval tak že je to nula.
    29.3.2018 12:02 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    ok, takže tcpdump -i eth1 dst nasserver.cz and dst port 80 ukazuje, že data přijdou ( 7622 ) ...

    hm, takže co teď ?

    než jsem to stihl dopsat, objevil jsem patrně příčinu tohoto problému : https://stackoverflow.com/questions/5077969/php-some-post-values-missing-but-are-present-in-php-input

    mne navedlo k

    var_dump($file = file_get_contents('php://input'));

    které vypsalo celý balík dat tak, jak jsou odeslána. Problém je asi v té mezeře, která nějak blokuje správnou transformaci na straně PHP interpreteru. V odkazu je také náčrt řešení, to ještě musím prověřit ...

    NN díky, máš zase řešení u mně :-)
    30.3.2018 12:39 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    Mezera by měla být při přenosu nahrazena znakem "+". Prostě urlencode().
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    2.4.2018 21:01 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    Jak už vyplynulo z tohoto "řešení", hlavní problém je v tom, že base64 zakódovaný výstup smartctl jako součást odesílané URL wget-em není předem url-enkódován. PHP při načítání proměnných url-dekóduje a tím se to rozeseje.
    29.3.2018 12:50 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    tak na odkazu uvedená funkce
    function getRealPOST() {
        $pairs = explode("&", file_get_contents("php://input"));
        $vars = array();
        foreach ($pairs as $pair) {
            $nv = explode("=", $pair);
            $name = urldecode($nv[0]);
            $value = urldecode($nv[1]);
            $vars[$name] = $value;
        }
        return $vars;
    }
    
    se v podstatě chová stejně špatně jako PHP. Musel jsem ji trochu upravit ( používá wget urlencode ? ) a už je to v pořádku :
    		$pairs = explode("&", file_get_contents("php://input"));
    		$vars = array();
    		foreach ($pairs as $pair) {
    			$nv =		strpos( $pair, "=" );
    			$name =	urldecode( substr( $pair, 0, $nv ) );
    			$value =	( substr( $pair, $nv+1 ) );
    			$vars[$name] = $value;
    		}
    		return $vars;
    
    Není tam nějaká bota, která mně unikla ?

    Jinak díky všem za reakce, nakopnutí, pootočení atd ...

    Milan
    29.3.2018 13:07 chrono
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    V návode k wget sa píše, že by mali byť tie parametre zakódované pomocou urlencode, ale že samotný wget nič také nerobí a ani nekontroluje (a má sa o to postarať používateľ).
    29.3.2018 13:51 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    Dobré vědět :)

    Jde to v bashi ?

    ....

    Tak jsem koukal, a na jednoduché stringy by možná stačilo totok.

    No uvidím, když jsem skript psal, vše fungovalo, zdálo se mi to dobře napsané, ale jak vidím, radost byla předčasná..

    Tak uvidím, jak se to bude chovat takto, a jsem připraven zase do toho říznout ..

    Díky

    M.
    29.3.2018 17:50 Kit
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    Umí to curl.
    29.3.2018 10:06 chrono
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    base64 nepoužíva znak pomlčky, takže problém pravdepodobne nebude v $data ale niekde inde. Môže ale použiť znak = a ten by mohol spôsobovať problém (stačí ale použiť url percent encoding a nahradiť ho reťazcom %3D).
    29.3.2018 10:23 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    pomlčky jsem tam dal já jako šidítko pro očí "tady se to rozseklo". Z 42 + 10 jiných kompů to funguje jen u těchto osmi ne ... to je to nejzajímavější
    29.3.2018 10:55 chrono
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    A keď sa odošle len "data=$data" dáta prídu kompletné, alebo nie? (a teda, naozaj je problém v $data?) Prípadne obsahuje $data na konci znak = a ak áno, (ne)obsahujú znak = aj tie počítače, kde to funguje?
    Jendа avatar 29.3.2018 23:39 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    Osobně bych ta data dal do souboru a udělal --post-file, k dlouhatánským parametrům nemám moc důvěru.
    30.3.2018 10:54 chrono
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    --post-file funguje úplne rovnako, ako --post-data. Jediný rozdiel je v tom, že sa údaje načítajú zo súboru a nie priamo z parametrov programu.
    Jendа avatar 30.3.2018 12:30 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: wget nepřenese celý parametr
    Ano, přesně tak.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.