Byla vydána první veřejná preview verze PrusaSliceru 3.0. Přesně 15 let po zveřejnění první verze Slic3ru, které připadlo na 1. září 2011. Jedná se o dosud největší upgrade PrusaSliceru: "Řídili jsme se tím, co skutečně potřebujete, a tak jsme například zcela zahodili stávající uživatelské rozhraní a vytvořili ho znovu od nuly. Přinášíme také nový systém projektů, kompletně přepracované profily navržené pro moderní tiskárny s větším
… více »Byl vydán Mozilla Firefox 155.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze Smart Window, zatím ale dostupné pouze pro uživatele v USA, Kanadě a Francii. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 155 bude brzy k dispozici také na Flathubu a Snapcraftu.
Tima Cooka na pozici generálního ředitele společnosti Apple dnešním dnem nahradil John Ternus, který byl dosud odpovědný za hardware. Tim Cook vedl Apple od roku 2011, kdy funkci převzal od později zesnulého spoluzakladatele společnosti Stevea Jobse. Za 15 let v čele Applu více než zdvojnásobil tržní hodnotu firmy.
Organizátoři konference LinuxDays ukončil veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata pro letošní ročník. Hlasovat můžete do pondělí 7. září, poté bude podle výsledků hlasování sestaven program pro letošní ročník.
Servo, engine webového prohlížeče napsaný v Rustu, byl vydán ve verzi 0.5.0. Novinky shrnuje přehled projektu za červenec. Došlo k dalšímu pokroku ve vykreslování webových stránek. Současným cílem projektu je vytvořit komponentu webového prohlížeče jako WebView pro použití v jiných aplikacích.
IKEA a XBOX představují kolekci YXSTABY (pdf). Ta přináší designová a praktická řešení, díky nimž se prostor pro hraní během sekundy promění v útulný a harmonický domov.
Jonathan Thomas oznámil vydání verze 4.0 nelineární střižny OpenShot. Nově podporuje nahrávání obrazu a zvuku, vylepšuje uživatelské rozhraní, mj. color grading, přidává další efekty a mnoho dalšího (seznam změn).
Proběhlo hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu si odhlasovali zodpovědné využívání generativní umělé inteligence.
Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří vývoj Flatpaku částkou 508 640 eur.
Byla vydána první veřejná verze v7.0-mk2 projektu Multikernel (mklinux), který umožňuje spouštět více nezávislých linuxových jader současně na jednom stroji bez hypervizoru.
Mám obývací pokoj oknem "prosvícen" wifi signálem jednoho místního providera. Koukal jsem se jak pokročila technologie louskání WEPu, a překvapeně zjistil že slabé inicializační vektory jsou minulostí, že aircrack-ng používá jiný, mnohem účinnější útok. Stačí nasbírat dost inicializačních vektorů, spustit na ně aircrack, a máte WEP heslo. Podrobných návodů je na netu dost. Jenže co s takovým heslem? Krást se nemá, a to ani internetová konektivita.
Spokojím se proto s pasivním monitorováním, a dekódováním šifrovaných packetů pomocí airdecap-ng. Po mírném opatchování umí fungovat i jako filtr, číst pcap file ze standardního vstupu, a posílat dekódované packety na standardní výstup. Na vstupu i výstupu může být tcpdump, nebo něco jiného. Asi jsem blízko antény která je na straně gatewaye, protože packety které vidím chodí vždy z internetu směrem k uživatelům. Samotný tcpdump či wireshark je docela nepraktický, proto jsem spáchal jednoduchý skript, který packety mění na něco použitelného, tj soubory. Co skript dělá:
- rekonstruuje TCP streamy, a zpracovává "HTTP 200 OK" odpovědi.
- prázdné packety a SYN/FIN flagy pro jednoduchost zcela ignoruje, spoléhá se na timeouty.
- connection: keep-alive, a transfer-encoding: chunked jsou podporovány.
- content-encoding: gzip produkuje .gz soubory, takže se snadno prohlížejí.
- soubory rozhazuje do adresářů podle cílové IP adresy, čísluje a pojmenovává podle zdrojové IP. Škoda že nejde zjisit původní URL, program proto použije alespoň předchozí CNAMEs k dané IP.
- příponu nastavuje podle content-type hlavičky.
A jak to vypadá? Normálně, co by kdo taky mohl čekat.. updaty antivirů, google, seznam, centrum, idos, dpmb, atlas.cz, O2, vodafone, motobazar, libimseti, baculky.cz, fotbal.sport.cz, youtube, super.cz...
$ cat decouder.py
#! /usr/bin/python
from struct import unpack
from string import join, split, index
import sys, re, os
cn = {}
ns = {}
def ip(a):
n = ns.get(a)
if not n: return join([str(ord(i)) for i in a], '.')
return cn.get(n) or n # prefer CNAMEs
def pcap(read):
if unpack('IH14xI', read(24)) != (0xA1B2C3D4, 2, 1):
print 'not an ethernet pcap file'
sys.exit(1)
flow = {}; flow_lim = 16
while 1:
try:
tm, l = unpack('I4xI4x', read(16))
pkt = read(l)
dm, sm, t, i, l, p, chk, s, d = unpack(
'!6s6sHBxH5xBH4s4s', pkt[:34])
except: break # eof
if t != 0x800 or i & 0xf0 != 0x40: continue # not ip
pkt = pkt[14 + 4*(i & 0xf) : 14 + l]
if p == 0x6: # tcp
sp, dp, seq, l, f, chk = unpack(
'!HHI4xBB2xH', pkt[:18])
pkt = pkt[4*(l >> 4):]
if not pkt: continue
if len(flow) > flow_lim: # collect garbage
flush(flow, tm - 180)
flow_lim = len(flow) * 2
data = flow.setdefault((s, d, sp, dp), [tm, '', seq])
if data[0] < tm - 180: # reusing old
tcp(s, d, data[1])
data[1] = ''
elif data[2] != seq: continue
data[0] = tm; data[1] += pkt
data[2] = (seq + len(pkt)) & 0xffffffff
if p == 0x11: # udp
sp, dp, l, chk = unpack('!HHHH', pkt[:8])
if sp == 53: dns(pkt[8:l])
flush(flow, 1e99)
def flush(flow, tm):
n = 0
l = flow.items()
l.sort(key = lambda x: x[1][0]) # in tm order
for k, data in l:
if data[0] >= tm: break
tcp(k[0], k[1], data[1])
del flow[k]; n += 1
def dns(pkt):
f, q, r = unpack('!2x3H4x', pkt[:12]); i = 12
if f & 0xfa0f != 0x8000: return
def name(i, pkt = pkt):
s = ''; si = None; c = 0
while 1:
n = ord(pkt[i]); i += 1
if n >= 0xc0:
c += 1
if not si: si = i + 1
elif c > 10: return # prevent dos
i = (n - 0xc0) << 8 | ord(pkt[i])
continue
if n == 0: return s[:-1], si or i
s += pkt[i:i + n] +'.'; i += n
for p in range(q): # skip queries
i = name(i)[1] + 4
for p in range(r): # response
s, i = name(i)
t, c, n = unpack('!HH4xH', pkt[i:i + 10])
if t == 1 and c == 1 and n == 4: # A
ns[pkt[i + 10:i + 14]] = s
if t == 5 and c == 1: # CNAME
cn[name(i + 10)[0]] = s
i += 10 + n
dirs = {}
def rx(regex, s, n = 1):
m = re.search(regex, s)
return m and m.group(n)
def tcp(s, d, doc):
while doc[:5] == 'HTTP/':
try: l, doc = split(doc, '\r\n', 1)
except: return
ok = split(l)[1]
ct = ce = sz = None
while 1: # mime cruft
try: l, doc = split(doc, '\r\n', 1)
except: return
if not l: break
ct = ct or rx('^Content-Type: (\S+/)?([^; ]+)', l, 2)
ce = ce or rx('^Content-Encoding: (\S+)', l)
sz = sz or rx('^Transfer-Encoding: (\S+)', l) \
or rx('^Content-Length: (\d+)', l)
if doc[:5] == 'HTTP/': continue # IIS/6.0 @#%$$&!!
if ct in ('x-javascript', 'javascript'): ct = 'js'
elif not ct: ct = 'unknown'
if ce == 'gzip': ct += '.gz'
if sz == 'chunked': # unchunk
out = ''
while 1:
try: l, doc = split(doc, '\r\n', 1); l = int(l, 16)
except: return
out += doc[:l]
doc = doc[l + 2:]
if l == 0: break
else:
try: sz = int(sz)
except: sz = len(doc)
if len(doc) < sz: return
out = doc[:sz]
doc = doc[sz:]
if ok != '200' or len(out) < 1024: continue
dir = 'HTTP-'+ ip(d)
n = dirs[dir] = dirs.get(dir, 0) + 1
if n == 1: os.mkdir(dir)
n = '%s/%04d-%s.%s' % (dir, n, ip(s), ct)
open(n, 'w').write(out)
print n, len(out)
pcap(sys.stdin.read)
Tiskni
Sdílej:
Takže BTW z prvního komentáře zůstává.
Ohledně předmětu mého komentáře. Pokud by četl obsah té komunikace (a to i kdyby byla nešifrovaná), tak to legální není.
Nikdo nesmí porušit listovní tajemství ani tajemství jiných písemností a záznamů, ať již uchovávaných v soukromí, nebo zasílaných poštou a nebo jiným způsobem, s výjimkou případů a způsobem, které stanoví zákon. Stejně se zaručuje tajemství zpráv podávaných telefonem, telegrafem nebo jiným podobným zařízením.
elektronická pošta je poštou a i písemnosti v elektronické podobě jsou písemnostmi (ve smyslu § 40 občanského zákoníku) a i pro ně platí obdobná pravidla jako pro ostatní písemnosti
Mně to s tím zářením připomíná, jakoby na sebe sousedi hulákali čínsky a já se pod pohrůžkou zákona nesměl naučit čínsky, natož je poslouchat.
S tou čínštinou je to špatný příklad. Mnohem přilehavější je ten s tou dopisní obálkou.Vzhledem k jisté podobnosti mezi šířením zvukových a rádiových vln a (ne)srozumitelnosti přenášené informace mi připadá lepší ten můj. Chápu, že podle zákona je to jinak. Tímto postojem rozhodně neříkám, že fandím odposlechům sousedů... jen se mi víc líbí, když to v Internetu/sítích funguje více jako svět za dávných dob (tj. žádná státní regulace/kontrola)
Ovšem oni na sebe asi nekřičí čínsky za účelem znemožnění odposlechu, ale protože jsou to dva Číňani.Špatný příklad. Já osobně ve škole používám španělštinu pro utajení obsahu konverzace s kamarádem
Mám na své okolí posílat policii, když mě odposlouchává?
Rozdíl je mezi vnikat někam a pasivně poslouchat. Rádiové vlny jsou plně pasivní odposlech. Navíc - proč oni smí a já ne: http://www.zive.cz/h/Bleskovky/AR.asp?ARI=133851 ?
Rozdíl je mezi vnikat někam a pasivně poslouchat. Rádiové vlny jsou plně pasivní odposlech.Pokud nelámete šifrovací klíče. A i kdyby komunikace byla nešifrovaná, vy při tom odposlechu moc pasivní nejste. Když narazíte na obsazený kanál, měl byste z něj uhnout, ne poslouchat. Když uslyšíte ve škole, že se někdo baví tajně španělsky, zvolíte s kamarádem taky jiný jazyk
Stejně, ať je to poslech aktivní nebo pasivní, zákonný či nezákonný, je to nemorální. Dál není co řešit.
Navíc - proč oni smí a já ne.Oni toho smí, co vy ne…
Jen si tak říkám, jestli je v provozu ta anténa na bezdrát (BreezeNet) na střeše služebny, na kterou koukám z okna
airodump-ng ukazuje RXQ 80-100%, bez jakékoliv antény, jen na běžnou PCMCIA kartu...