Squeak (Wikipedie), open source implementace programovacího jazyka a prostředí Smalltalk, byl vydán ve verzi 6.1. Přehled novinek v poznámkách k vydání.
V Linuxu v KVM byla nalezena a v upstreamu již byla opravena kritická zranitelnost Zapscape aneb CVE-2026-64561. Root na hostovaném počítači (virtuální stroj) může obejít izolaci a získat plnou kontrolu nad hostitelským systémem (DoS útok nebo vzdálené spuštění kódu s právy roota). Na obou hlavních architekturách – Intel i AMD. Zranitelnost v Linuxu existovala 6 let (od července 2020 do července 2026).
Počítačová hra Knytt napsaná v Multimedia Fusion 2 byla vydána před 20 lety. Při této příležitosti byl dnes představen moderní port (YouTube) této plošinovky na současné operační systémy pod názvem Knytt Classic. Je zdarma k dispozici na Steamu a GOG.com.
Americká technologická společnost Meta Platforms představila nový model umělé inteligence (AI) Muse Glimmer. Model je menší než přední modely AI od konkurence a má běžet přímo na počítačích uživatelů. Meta model zpřístupní jako open source, tedy otevřený software. Nový model je navržen tak, aby zvládal takzvané agentní úkoly na počítačích se spotřebitelskou grafickou kartou. Klade si tak za cíl uspokojit poptávku po systémech AI, které běží přímo na zařízeních uživatelů.
V pátek 28. srpna 2026 se v pražském Karlíně uskuteční již osmý Mobilní Hackday. Akce začne v 10:00 a potrvá až do večera. Setkání proběhne v prostorách SUSE Linux, s.r.o. na adrese Křižíkova 148/34, Praha 8 – Karlín. Nejbližší zastávkou je Křižíkova, kam se lze dostat tramvají i metrem. Na programu budou například novinky z posledních měsíců, možnosti, jak si zjednodušit práci s LLM/AI, a také nová linuxová distribuce BengalOS, včetně … více »
Jakub Vrána vydal Adminer ve verzi 6.0.0 s více než 130 změnami: "Většina změn vznikla s asistencí Claude Opus 5. Někteří lidi se bojí, že AI asistence může kód zamořit technickým dluhem. To je jistě pravda, pokud vývojář všechny změny bezduše odbouchne Enterem. Ale pokud si pořádně projde plán, vyjedná v něm změny a pak totéž udělá i s vygenerovaným kódem, kvalita kódu stoupne a technický dluh naopak klesne. Je to jako párové programování s
… více »Sam Aaron vydal novou major verzi 5.0.0 aplikace Sonic Pi (Wikipedie) určené také pro výuku programování pomocí skládání hudby. Přehled novinek na GitHubu. Instalovat lze také z Flathubu.
U příležitosti 30. výročí vydání počítačové hry Quake byla vydána nová epizoda s názvem Dawn of the Machine (Steam).
Vládní CERT upozorňuje (𝕏) na sérii bezpečnostních záplat (CVSS 9.9) v produktech Cisco řešících kritické zranitelnosti umožňující obejití autentizace, eskalaci oprávnění, vzdálené spuštění kódu a odepření služby. Úspěšné zneužití může útočníkům umožnit získat neoprávněný přístup k dotčeným systémům, kompromitovat zařízení Cisco Catalyst SD-WAN a Cisco IOS XE, spustit libovolný kód, zpřístupnit citlivé informace nebo narušit dostupnost postižených systémů.
Soud v americkém státě Nové Mexiko ve čtvrtek nařídil internetové společnosti Meta Platforms zaplatit 567 milionů dolarů (téměř 12 miliard Kč) za újmy, které její platformy působí mladým lidem. S přihlédnutím k dřívějšímu verdiktu tak má společnost celkem zaplatit 942 milionů dolarů, což je malý zlomek jejího ročního výnosu, který loni činil 60 miliard dolarů. Čtvrteční verdikt firmě také nařizuje, aby změnila způsob, jakým její
… více »tcpdump trochu záludné (i když naštěstí zdokumentované): neuvedete-li interface, poslouchá na prvním, který najde kromě lokální smyčky. A vy tady potřebujete právě tu lokální smyčku. Nejjistější je navyknout si specifikovat interface pokaždé.
To ze to takhle jde udelat je dost well-known. Proto se taky overuje zda klic sedi k domene a nezmenil se od posledni navstevy, kdyz nekam lezes.
Ale jo, taky delam spoustu hovadim (treba pisu do tehle diskuze, kdyz bych mel pracovat [nebo spat]).
Aha, no, pak mi ale unika, proc to delasTo ze to takhle jde udelat je dost well-known.
U některých lidí je velmi užitečné jim prakticky předvést, jak je to jednoduché. Sám jsem to na školeních začal předvádět a ze zkušenosti mohu říct, že je to mnohem účinnější než samotný teoretický výklad principu.
nc -l -p 1212 | nc seznam.cz 80 | nc -b -l -p 1212Asi máte kouzelný netcat, protože si nedokážu představt, jak se výstup toho prostřední netcatu (HTTP odpověď) dostane zpátky do TCP spojení mezi prvním netcatem a HTTP klientem a odešle se tak klientovi.
-b allow UDP broadcastsPotreboval bych spis neco jako
mkfifo fifo ; nc -l -p 1212 < fifo | nc www.seznam.cz 80 > fifocili , vystup z prvniho nc presmerovat na vstup druhyho nc a pak pres "fifo" predat vystup z druhyho nc na stdin prvniho nc. A kdyz tohle spustis a pak das
nc localhost 1212, tak by to melo spravne komunikovat se seznamem.
nc -l -p 1212 -c 'nc seznam.cz 80'.
Ostatně toto je klasický problém shellu, který propojuje jen dva předdefinované deskriptory. I když doufám, že nějaký rozumný shell bude umět poskládat nepojmenované roury, jak potřebuje uživatel (něco jako nc -l -p 1212 0<!roura | nc seznam.cz 80 1>!roura, kde roura by byl identifikikátor, kterým by se odkazovalo na onu nepojmenovanou rouru).
mkfifo fifo ; nc -l -p 556 < fifo | nc 127.0.0.1 557 > fifo (overil jsem to ted a funguje). Zkousel jsem ted ten tvuj zapis s nc -b a nefunguje mi. Takze to nebude ono.
K otazce cislo tri: vubec nechapu, jak se ti mohla zobrazit stranka seznamu, me to vubec nejede.
Jinak bych mozna doporucoval zapojit jeste xinetd/inetd. Mohl bys to pak resit
iptables redirect -- stunnel -- xinet (bash skript) -- openssl
Iptables by udelal redirect na stunnel. Stunnel by desifroval spojeni a plaintext predal na xinet, ktery by na urcitym postu pustil bash skript (nebo perl, python, c) - vyhoda je, ze ten skript by cetl data na stdin a posilal na stdout (cili zadna sitova komunikace) a dale pak bys mohl data predavat bud nc smerovany na stunnel nebo primona na openssl s_client.
1112 stream tcp nowait root /usr/sbin/tcpd /bin/netcat 127.0.0.1 1113problém ale nastává v případě že chci s daty něco udělat (upravit v načtené stránce) slovo JOHNY za XXXXX, logicky by to mohlo být nějak takto.
1112 stream tcp nowait root /usr/sbin/tcpd /bin/netcat 127.0.0.1 1113 | sed 's/JOHNY/'XXXX'/g'"bohužel takto inetd na daném portu ani nezačne naslouchat. Tedy, nějaký nápad jak do inet deamonovi vnutit něco co bude ve smyslu nefungujícího příkladu? dík, Johny
#!/bin/sh read data echo $datakdybych uměl načíst komplet stdin tak by nebyl problém si na to napsat wrapper...
#!/bin/sh while read line do echo $line > /tmp/qqq done
1112 stream tcp nowait root /usr/sbin/tcpd "/bin/netcat 127.0.0.1 1113 | sed --unbuffered 's/JOHNY/'XXXX'/g'"
/usr/sbin/tcpd /bin/bash -c '/bin/netcat 127.0.0.1 1113 | sed .....' , ale to si spis zpusobis bolesti hlavy. Udelej shell skript s obsahem netcat | sed a ten pak nacpi do inetd.
Ale i tak si myslim, ze to nebude ono. Pokud se nepletu, tak musis vyresit problem:
inetd ---> transform1 ----> netcat ^------- transform2 <------|Slovne popsane: z inetd jeho stdout presmerovat do tvyho skriptu na stdin, tam neco nacist a upravit a poslat na stdin netcatu. Vystup stdout z netcatu poslat na stdin tvyho skriptu, neco provest a poslat na stdin inetd. Problem je, ze pokud bys chtel opravdu neco dokonalyho, tak ten tvuj "skript" by mel testovat zaroven vystup z inetu (klient neco posila) i z netcatu (server neco posila) a to neblokujicim zpusobem - proste kdyz neco posle klient NEBO server, tak to precist a predat dal. Mozna by slo nejak nahodit dva ruzny child skripty, kde jeden by upravovat smer inetd->netcat a druhy by upravoval netcat->inetd. Krome pojmenovanych rour (named pipes) me zatim nic nenapada. To by byl skriptik asi takhle:
#!/bin/bash mkfifo /tmp/stdout-netcat /tmp/stdin-netcat nc 127.0.0.1 1113 </tmp/stdin-netcat >/tmp/stdout-netcat & p=$! sed 'UPRAVY1' <&0 >/tmp/stdin-netcat & ps1=$! sed 'UPRAVY2' </tmp/stdout-netcat >&1 & ps2=$! # a tady neco na cekani ukonceni # a pak zabiti tech tri procesuJe to jenom takova idea, nezkousel jsem to. Nevim, jestli ty presmerovani STDIN a STDOUT pomoci
<&0 a >&1 jsou spravne a budou fungovat.
1112 stream tcp nowait root /usr/sbin/tcpd "/bin/netcat 127.0.0.1 1113 | cat"konstrukce se sedem by měla také fungovat. V podstatě nevidím nejmenší rozdíl když "cat" nahradím sedem, tak sed dělá to samé co cat (pokud nenajde shodu podmínek tak ani nic neupravuje). Proč to tedy se sedem neprojde nechápu :(
situace je v podstatě jednoduší než si uvedl, stačí mi upravit příchozí data, tedy analogie s tím, co mi nefunguje.No, ten obrazek
inetd ---> transform1 ----> netcat ^------- transform2 <------|plati, ale da se udelat da se to zapsat taky jako
(*) [stdin] inetd [stdout] --> [stdin] transform1 [stdout] ---> [stdin] netcat [stdout] ---> [stdin] transform2 [stdout] ----> (vrat se na zacatek) (*) [stdin] inetdTakze viz niz. Osobne si myslim, ze ty si tady ale hrajes stylem "zkusim tohle. hele, ono to NEJAK funguje, tak to bude zrejme spravne". Ale takhle to fakt neni a nemel bys to takhle resit, mel bys presne vedet, proc to funguje, a ze to tak ma skutecne fungovat. Podle man tcpd:
Operation is as follows: whenever a request for service arrives, the inetd daemon is tricked into running the tcpd program instead of the desired server. tcpd logs the request and does some additional checks. When all is well, tcpd runs the appropriate server program and goes away.Nejsem si jistej ale, jakym zpusobem tcpd spousti ten program. Mozna to spousti prave pomoci
bash -c "XXX", pak zapis /bin/netcat 127.0.0.1 1113 | cat funguje a mel by fungovat i sed.
Ale zrejme to tak nebude. Zkusil jsem presne ten priklad s tim catem a nefunguje mi. Osobne nechapu, jak ti to muze fungovat, pochybuju, ze mame ruzny verze tcpd. Jsi si jistej, ze po kazde zmene inetd.conf restartujes inetd? Me osobne takhle konfigurace
1112 stream tcp nowait root /usr/sbin/tcpd "/bin/netcat 127.0.0.1 80 | cat"udala po pripojeni na ten port 1112 tehle seznam procesu:
18791 ? Ss 0:00 /usr/sbin/inetd 18801 ? Ss 0:00 \_ "/bin/netcat 127.0.0.1 80 | cat"coz vypada presne na ten pripad, ze to tcpd spousti pouze presne jako prikaz, jak to napises. Cili ani uvozovky se neberou jako ohranicujici znaky, ale jako soucast prikazu. Takze, TOHLE JE SPATNE! Dale konfigurace bez uvozovek:
1112 stream tcp nowait root /usr/sbin/tcpd /bin/netcat 127.0.0.1 80 | catspusti po pripojeni na port 1112 nasledovny:
18898 ? Ss 0:00 /usr/sbin/inetd 18903 ? Ss 0:00 \_ netcat 127.0.0.1 80 | catzase to spousti jako jeden prikaz, nebo teda spis to vypada, ze spusti prikaz netcat a preda mu parametry (1.par="127.0.0.1", 2.par="80", 3.par="|", 4.par="cat"). Tzn. TOHLE JE TAKY SPATNE! Pro tvoji informaci, spravne by ty procesy mely vypadat takhle:
18942 ttyp7 Ss 0:00 \_ /bin/bash 18946 ttyp7 S+ 0:00 \_ nc 127.0.0.1 80 18947 ttyp7 S+ 0:00 \_ catA toho jsem dosahnul tak, ze jsem spustil V BASHi(!!) prikaz
nc 127.0.0.1 80 | cat. Takze takhle nejak by to melo vypadat.
Zkusil jsem ted i konfiguraci
1112 stream tcp nowait root /usr/sbin/tcpd /bin/bash -c "/bin/netcat 127.0.0.1 80 | cat"ale po pripojeni mi to hlasi bash chybu
127.0.0.1: -c: line 0: unexpected EOF while looking for matching `"' 127.0.0.1: -c: line 1: syntax error: unexpected end of fileZ toho nejsem taky moc moudrej. Mozna to bude tim, ze tcpd to zase spusti jako
command: /bin/bash 1.par: -c 2.par: "/bin/netcat 3.par: 127.0.0.1 4.par: 80 5.par: | 6.par: cat"Cili tcpd nevyhodnocuje text v uvozovkach jako jeden retezec, ale bere uvozovky a apostrofy jenom jako obyc znak a paramatry oddeluje podle mezer.
Script který toto obslouží jsem se snažil vytvořit. Bohužel jsem nenašel způsob jak načíst stdin do toho scriptu. Snažil jsem se toho dosáhnout cyklem (někde výše v diskuzi je můj příklad) ale to také moc nechodilo.No, jak jsem psal, me to nechodi ani s tim catem, ani kdyz to nacpu jako bash -c "...", bohuzel s tim bash -c se to chova naprosto stejne i v xinetd. Ale myslim, ze jsem na to prisel. Zkus udelat presne tenhle postup, aspon me to funguje.
toto funguje, tedy inetd pajpám rozumí ...1112 stream tcp nowait root /usr/sbin/tcpd "/bin/netcat 127.0.0.1 1113 | cat"konstrukce se sedem by měla také fungovat. V podstatě nevidím nejmenší rozdíl když "cat" nahradím sedem, tak sed dělá to samé co cat (pokud nenajde shodu podmínek tak ani nic neupravuje). Proč to tedy se sedem neprojde nechápu :(
/root/filter s obsahem:
#!/bin/bash cat | nc 127.0.0.1 1113 | cata udelej ho spustitelny
chmod a+x /root/filter. Muzes ho pripadne otestovat, na prikazovej radce spust /root/filter. Muzes se podivat taky do procesu ps faxw a mel bys videt
19360 ? Ss 0:00 \_ /bin/bash /root/filter 19361 ? S 0:00 \_ cat 19362 ? S 0:00 \_ nc 127.0.0.1 1113 19363 ? S 0:00 \_ catPokud tam zacnes psat, mel bys videt spravnou odpoved. Ty prikazy cat muzes nahradit samozrejme sed/awk/perl. Prvni cat slouzi k uprave komunikace od klienta na server, druhy cat pak meni odpoved od serveru ke klientovi.
1112 stream tcp nowait root /usr/sbin/tcpd /root/filtera restartuj inetd
/etc/init.d/inetd (pripadne openbsd-inetd na debianu nebo jiny inetd)
nc 127.0.0.1 1112 a melo by to fungovat. U me to aspon funguje, dal jsem menit odpoved od HTTP serveru a funguje to.
Tiskni
Sdílej: