Discovery are o serie de emisiuni foarte interesante n care oamenii construiesc diverse mainrii din fiare
vechi. Pe lng factorul educaional (nu se tie niciodat cnd naufragiezi pe o insul i mai ai doar
frmele unei brci din care s-i improvizezi o anten de satelit, hehe), emisiunile te pot convinge c un
lucru, fie el i aruncat la groapa de gunoi, nu este neaprat bun doar pentru reciclat. Poi s faci din el o
barc, o macara sau un monster-truck.
Mi-am propus s nv mai multe despre reele i am folosit prima dat pentru aceasta o main VMware
legat ntr-o reea virtual cu sistemul de operare gazd. Pe lng faptul c mnca o grmad de resurse
(chiar i cu 512MB de RAM), maina virtual se mai trezea din cnd n cnd c e oarb i nu vede nici o
reea. Deci tot o reea tradiional ar fi soluia, mi-am spus.
Mi-am adus aminte de vechiul meu calculator, un Pentium 1 cu 32MB de RAM i hard-disk de 2GB. De
civa ani, acesta a lsat locul unui computer mai rapid i a ateptat cuminte n cutia sa s i aduc aminte
cineva de el i s-l fac iar folositor. Zis i fcut. I-am adugat o plac de reea i am instalat pe el un Red
Hat Linux 7.2. Dup ce i-am fcut toate setrile pentru a putea fi accesat de la "distan", am ajustat setrile
de BIOS i serviciile Linux pentru bootarea fr tastatur, mouse i monitor. Astfel, toat unitatea central
mai are acum nfipte n ea doar cablul de alimentare i pe cel de reea.
La ce bun toate acestea? n primul rnd, acum am o mic reea din dou calculatoare pe care pot s
experimentez mai tot ce-mi trece prin cap. n al doilea rnd, pe acestea dou pot testa anumite configuraii
ale serviciilor de reea nainte de la pune n producie la firma la care lucrez. i nu n ultimul rnd, pe staia
mea de lucru pot lucra linitit n Photoshop n timp ce pe cellalt se recompileaz un kernel.
Gndii-v cte putei nva cu un calculator ce nu conine datele voastre importante. Pe un calculator
avei deschise howto-urile n fa i cu un ssh pe cellalt configurai ce citii n howto. Apoi, tot de pe
primul, testai configuraia. Eu am reuit astfel s testez conlucrarea lui Apache cu PAM.
Bineneles, hardware-ul vechi are nevoie de software pe msura puterilor sale. Ca o regul, o distribuie cu
5-6 generaii mai veche dect cea actual este potrivit. Dac v sperie numrul, stai linitii. Aplicaiile de
sistem nu se schimb i nici modul de configurare al acestora. De exemplu, eu nu am vzut nici o diferen
ntre RedHat 7.2 i Fedora Core 3 la configurrile Apache i PAM.
Avei un calculator vechi prin jur? Vrei s fii un "junkyard hacker"? Excelent!
Ovidiu
linux360 - nr. 10 ianuarie 2005
www.linux360.ro / redactia@linux360.ro
articol pag
Editorial 1
Oamenii LOAD-ului 3
Duke for President 4
Sistemul de operare
SUSE LINUX 9.2 Professional - o afacere Novell 6
Iubire fratricid - Novell Linux Desktop 1.0 10
Un desktop agresiv - Ubuntu Linux 12
Ierarhia standard a sistemelor de fiiere 15
Software
A treia dimensiune a desktop-ului 17
Nmap - de partea binelui sau a rului? 19
Reele virtuale private 21
Jocuri
Unreal Tournament 2004 - FPS n for 22
Hardware
Linux i 'gadget'-urile din zilele noastre 23
Programare
Limbajul de asamblare sub Linux 25
Programare Web cu PHP (2) 28
Practic
Migrare - "Cuvntistul" turmentat 30
Echipa Copyright
Dan Marcu
de conferin.
Duke for President
Rzvan Vilt
Am trecut n 2004 de ceva timp i operare uzuale si pe diverse sisteme mbuntit cu o imagine mult mai
acum pot s spun c este un an mobile/portabile (pe telefoanele mobile de modern, pstrnd n acelai timp
excepional. In ultimul timp toi auzim de exemplu). Un limbaj curat i clar orientat compatibilitatea cu vechea interfa,
Novell, de RedHat, de IBM i de Sun. pe obiecte nsoit de un API unitar i numit de obicei "Metal". De asemenea
Se ntmpl minuni pe toate fronturile. complet, a reuit sa fie indragit de toi o tem nou i customizabil, numit
Am decis sa le disec pe ct mai multe developperii care au ajuns sa-l cunoasc. "Synth", a fost adugat la Swing,
dintre ele i am ajuns la concluzia ca La ntrebarile privitoare la Java tem care poate fii complet
schimbarea cea mai radical a fost la raspunsurile mi-au fost furnizate de Blake customizat fr a fii necesar scrierea
Sun. Connell din cadrul divizei WebServices de cod, permind chiar i non-
Business Marketing. programatorilor s creeze interfee
Sun Microsystems Inc. este o vizuale noi (nr: seaman, conceptual,
companie cu o istorie foarte bogat. Q: Java 5 (nr: 1.5 ca numar de cu pixbuf engine din gtk).
Aprut n 1982 cu doar 4 angajai, versiune) este practic aici. Care sunt z Java2D
reuete n doar un an s aib primul principalele avantaje pe care un utilizator Suport nou pentru randri accelerate
contract mare: $40M. n 1988 ajunge la al calculatorului le va observa pe sistemul hardware folosind OpenGL. Au fost
venituri de $1Bln. Ce a adus Sun su desktop? adugate multe mbuntiri la motorul
comunitii informatice? NFS, PC-NFS, de randare al text-ului pentru a-i spori
NIS, NIS+ pentru un inceput. A A: Sunt mai multe schimbri la nivel viteza i pentru suport de randari de
contribuit cu IBM i HP la unificarea desktop n J2SE 5.0 (informaii despre text multi-limb.
standardului UNIX. A creat Java, una nume i vesiuni gsii la z Internaionalizare
dintre cele mai folosite tehnologii din http://java.sun.com/j2se/ Suport pentru Unicode 4.0 i pentru
lume. naming_versioning_5_0.html): Caractere Suplementare. Suportul
pentru Unicode 4.0 aduce J2SE-ul la zi
Sun are i un sistem de operare z JFC/Swing cu standardele de text curente.
numit SunOS. Acesta a nceput cu Un "look" nou i mbuntit numit Suportul pentru Caractere
rdcinile n BSD 4.1a fiind lansat n "Ocean". Interfaa Swing a fost sensibil Suplementare aduce un suport mult
februarie 1982. De atunci a ncercat s mai solid pentru limbile est-asiatice.
ia cele mai bune funcii din BSD i din
System V. La versiunea 4.1 a fost
redenumit n Solaris. Singura amintire a
numelui vechi este la mesajul de boot al
kernel-ului. n ziua de azi Solaris poate
fii catalogat ca SystemV practic,
majoritatea prilor BSD fiind rescrise
ori de echipa Sun ori folosind cod din
Unix SystemV.
Ovidiu Lixandru
Ecranul de login
Dup ce suntei siguri de seleciile
fcute, instalarea v va cere acceptul
pentru cteva licene (printre care i cea a
Flash Player 7, inclus n distro), va copia
pe hard-disk pachetele de pe primul CD,
va reporni sistemul i va continua cu
celelalte CD-uri. Un lucru un pic neobinuit
l-am observat cnd installer-ul a cerut cel
de-al doilea CD. El l-a cutat mai nti n
toate unitile de pe calculator,
aprinzndu-se LED-ul de accesare att la
DVD-ROM ct i la CD-Writer. Am
introdus n uniti att CD-ul 2 ct i CD-ul
3, iar installer-ul l-a preluat pe urmtorul
dup ce a terminat cu unul. E un mic truc
prin care putei schimba dintr-un foc toate
cele 4 CD-uri; instalarea dureaz 1 or i
jumtate i e destul de plictisitor s stai
lng PC ateptnd urmtorul "Please
insert...".
Ovidiu Lixandru
Pregtiri
Documentaie
Albastru infinit
n bara de scurtturi utilizatorul are la
dispoziie un manual electronic foarte Yet another Setup Tool Aa repede?
bine scris. Acesta pornete cu o
paralel ntre aspectele cele mai
Ca i n cazul SUSE, administrarea se Foarte multe nu am avut de spus n
utilizate ale NLD i Windows (GNOME
face prin intermediul utilitarului YaST. plus fa de cealalt distribuie Novell
Control Center - Control Panel, Nautilus
Acesta d acces administratorului la prezent n acest numr. Este practic o
- Windows Explorer etc.). Cu explicaii
setrile hardware i software, printr-o variant mai subire a acesteia, cu o "fa"
simple i concise, manualul poart
interfa un pic modificat (au fost un pic mai lucrat i cu cteva aplicaii
utilizatorul prin modul de realizare a
nlocuite iconiele KDE cu cele Hi-Color specifice Novell incluse. Pe partea de
diverselor activiti de rutin, cum ar fi
ale GNOME). De asemenea, este desktop este un concurent dibace pentru
navigarea pe web, scrierea unui e-mail,
prezent i aici opiunea de administrare RHEL WS, dar din pcate nu am putut
ascultarea unui CD sau scrierea unuia.
remote a staiei prin intermediul VNC. face nici o comparaie din punct de vedere
Din punct de vedere al unui manager,
al suportului, al serviciilor adiacente i al
acest manual este o min de aur, un
Distribuia este per ansamblu un pic costului licenelor, aceste detalii nefiind
angajat ce tocmai i-a primit noua staie
mai sprinar dect SUSE 9.2, probabil specificate de distribuitor. ntr-o firm,
de lucru NLD putndu-se acomoda cu
din cauza cantitii mai mici de pachete facilitile de configurare i administrare
ea ntr-o zi sau dou doar prin citirea
instalate. sunt foarte atrgtoare. ntr-un segment
manualului.
cu concureni deja bine stabilii i cu o
distribuie care nu aduce nimic
revoluionar, Novell va trebui s se bazeze
foarte mult pe marketing. Andreea, ai
legtura.
Evaluare:
z Instalare: 8
z Ergonomie: 9,5
z Interfa: 9,5
z Vitez: 8,5
Resurse:
z http://www.novell.com
z http://www.genesys.ro
Autor:
ovidiu.lixandru@linux360.ro
Un desktop agresiv - Ubuntu Linux
Ovidiu Lixandru
Le fin
Root? Dup cum putei vedea, aplicaiile sunt Intrai pe site-ul Ubuntu, comandai
relativ puine la numr. Probabil sunt cteva CD-uri, pstrai unul i ncercai-l
Nu-i nimic, mcar s rezolv cu GRUB- disponibile mult mai multe pe Internet ce voi, iar pe celelalte dai-le mai departe
ul i s-mi pun i Windows-ul n meniu. pot fi aduse printr-un simplu apt-get, dar prietenilor sau cunotinelor. Cele mai
Pornesc un pico cu fiierul de configurare ce te faci atunci cnd nu ai o conexiune la bune lucruri n via sunt cteodat gratis,
al bootloader-ului, fac modificrile i dau Internet acas? Knoppix a reuit totui s nu?
s salvez. Dar stai, trebuie s fiu root. nghesuie mai multe n 700 de MB.
Hmmm. M gndesc bine i mi aduc
aminte c nu mi s-a cerut parola de root. Nu vei gsi n distribuie nici un Evaluare:
O fi ca la Knoppix, fr parol? Operez serviciu pe care s l putei oferi de pe z Instalare: 9,5
"su" i nimic. Asta chiar c e grosolan din PC, cum ar fi un daemon ssh sau unul z Ergonomie: 8,5
partea lui. Se instaleaz dar nu-mi d ftp. Aa c s nu v prind, aa cum z Interfa: 9
root. Primul impuls (pe care l-am i ncerca cineva pe forum, c vrei s facei z Vitez: 9,5
urmat) a fost s rebootez n mod single, un server din ea. La fel, nici c vrei s
am ajustat setrile bootloader-ului, am punei KDE pe o distribuie bazat explicit
Resurse:
schimbat parola de root i am intrat iar n pe GNOME. V vei mnca nervii n
mediul grafic normal. zadar. z http://www.ubuntulinux.org
z http://shipit.ubuntulinux.org
Claudiu-Alexandru Pcuraru
Introducere Fiierele "Static" (statice) includ fiiere z dev - Conine fiiere ce reprezint
binare, biblioteci i alte fiiere care nu pot dispozitivele ataate sistemului.
Standardul FHS permite: fi modificate fr intervenia z etc - Directorul este rezervat pentru
administratorului de sistem. Fiierele fiierele de configurare. Exemple de
"Variable" (variabile) sunt acelea care nu astfel de fiiere sunt /etc/passwd
z precizarea locaiei fiierelor i
sunt statice. Cu ceva timp n urm, i /etc/XF11Config
directoarelor programelor instalate i
ierarhia sistemelor de fiiere UNIX z lib - Conine biblioteci necesare
z utilizatorilor prezicerea locaiei
coninea i fiierele statice i cele rulrii programelor din /bin
programelor instalate
variabile n /usr i /etc. Dup aceea i /sbin; unele dintre acestea sunt
s-a creat /var i toate fiierele
Acest lucru se face: folosite de mai multe programe -
din /usr au fost transferate n /var. Ca
"shared libraries" (biblioteci partajate)
urmare /usr poate fi montat numai
pentru a economisi din resursele
z specificnd ndrumarea principiilor pentru citire (read-only) fiind o ierarhie sistemului. Tot acest director conine
pentru fiecare arie a fiierelor de separat. Fiierele variabile au fost i modulele care pot fi ncrcate n
sistem transferate din /etc n /var ntr-o
kernel.
z specificnd minimul de fiiere i perioada mai lung, att timp ct i z mnt - Este folosit pentru montarea
directoare necesare permitea tehnologia. temporar a unor sisteme de fiiere
z enumernd excepiile principiilor i
folosite de unitile optice i unitile
z enumernd cazurile specifice unde au
Coninutul unui fiier de sistem de dischet.
existat conflicte istorice
rdcin (root) trebuie s fie adecvant z opt - Directorul conine aplicaii mari
pentru bootare, restabilire i/sau ca dimensiune sau alte programe care
Sisteme de fiiere reparare. nu pot avea alt destinaie logic.
z sbin - Conine "esena" sistemului
Acest standard adopt sistemul de Sistemul de boot trebuie s fie prezent binar.
fiiere susinnd un binevoitor FHS, pe partiia de root pentru a monta alte z srv - Acest director conine datele
suportnd aceeai securitate sisteme de fiiere. Acesta include pentru serviciile oferite de sistem.
fundamental, trstur gsit n utilitare, configurri, informaii despre z tmp - Directorul are ca scop stocarea
majoritatea sistemelor de fiiere UNIX. bootloader i alte informaii eseniale temporar de date.
pentru pornire. /usr, /opt i /var z usr - Conine comenzi i aplicaii
Este posibil a defini dou atribute sunt concepute astfel nct s fie relevante pentru utilizatorul obinuit.
independente pentru fiiere: shareable vs. localizate pe alte partiii sau sisteme de z var - Conine fiiere temporare
unshareable (partajabil vs. nepartajabil) i fiiere (filesystems). folosite la salvarea datelor.
variable vs. static (variabil vs. static). n z home - Conine directoarele
general, fiierele care difer n oricare din Partiia root utilizatorilor obinuii.
aceste atribute ar trebui localizate n z boot - Conine fiiere statice
directoare diferite, aceasta fcnd mult necesare pentru bootarea sistemului.
Urmtoarele directoare se afl n "/".
mai uoar "depozitarea" fiierelor z lost+found - La unele distribuii
Root directory (directorul rdcin) este
utilizate dup diferite caracteristici ale exist i acest director care conine
n vrful ierarhiei n structura
sistemelor de fiiere. fiiere ce dispar n urma coruperii
directoarelor; el conine toate
sistemului de fiiere sau ce nu pot fi
directoarele:
Fiierele "Shareable" (partajabile) sunt identificate
acelea care sunt "depozitate" pe un
z bin - Conine comenzile esteniale
calculator host(gazd) i folosite de altele. /bin: comenzile binare eseniale
care nu sunt specifice doar
Fiierele "Unshareable" (nepartajabile)
utilizatorului root (ex: cd, pwd, ls)
sunt acele fiiere care nu sunt Directorul /bin conine comenzile care
z root - Fiierele statice ale
"shareable" (partajabile). De exemplu, pot fi folosite de administratorul de sistem
bootloaderului i fiierele de
fiierele din directorul /home pot fi ct i de oricare utilizator, dar sunt
administrare. Este similar directoarelor
partajate.
utilizatorilor de pe sistem dar nu poate
fi vzut de ctre acetia.
necesare cnd nici un alt sistem de fiier z rmdir - utilitar care elimin directoare
sistemului posibil (presupunnd c / este
nu este montat (ex: folosirea n "single goale intact).
mode"). El poate s mai conin z sed - editorul "sed"
comenzie care sunt folosite indirect de z sh - consol de comenzi Bourne Dac se dorete restaurarea unui
ctre script-uri. z stty - utilitar care modific i arat sistem prin reea, atunci suportul pentru
setrile liniei terminalului ftp/tftp (inclusiv toate utilitarele necesare
n el nu au voie s fie alte z su - utilitar care schimb userul pentru a stabili o astfel de conexiune)
subdirectoare. z syne - utilitar care mrete buffer-ul trebuie s fie disponibil de pe partiia
sistemelor de fiiere rdcin.
n urmtoarea list sunt comenzi sau z true - utilitar care ntoarce "adevrat"
legturi simbolice ctre comenzi care z umount - utilitar care demonteaz /boot: fiiere statice necesare pentru
sunt necesare n /bin: sistemul de fiiere bootarea sistemului
z uname - utilitar care afieaz
z cat - utilitar care concateneaz
informaiile de sistem Conine fiiere statice necesare pentru
fiierele spre standard output
z chrgrp - utilitar care modific bootarea sistemului, precum kernelul
proprietatea fiierelor de grup Dac n /bin/sh nu e consola Bourne, vmlinuz. /boot depoziteaz date care sunt
z chmod ? utilitar care modific accesul trebuie s fie o legtur simbolic spre folosite nainte ca kernelul s nceap s
permis fiierelor adevrata consol de comenzi. execute programe user-mode (mod
z cp - utilitar folosit pentru copierea utilizator). Acesta mai include sectoare
fiierelor sau directoarelor Comenzile "[" i "test" trebuie s fie salvate master boot i sectoare de fiiere
z date - utilitar care arat sau seteaz plasate amndou n /bin sau n /usr/bin. hart. Kkernel-ul sistemului trebuie s fie
data i timpul localizat n / sau n /boot.
z dd - utilitar care convertete i copie Ca exemplu, bash se comport diferit
fiiere cnd este folosit ca sh sau bash. /dev: fiiere ce reprezint dispozitivele
z df - utilitar care raporteaz spaiul Folosirea legturilor simbolice permite ataate sistemului
utilizat de sistemul de fiiere userilor ca s vad foarte uor c /bin/sh
z dmesg - utilitar care arat sau nu este un Bourne shell adevrat. Conine fiiere ce reprezint
controleaz buffer-ul mesajelor kernel dispozitivele ataate sistemului. Fiierele
z echo - utilitar care reproduce o linie din acest director se mpart n dou
Cerina pentru de a include comenzile
de text categorii : "character devices" - tastatur,
"[" i "test" [i] ca executabile separate
z false - utilitar care ntoarece rezultat mouse, porturi seriale i paralele etc. i
este comun cu standardul POSIX.
"fals" "block devices" - uniti de dischet , cd-
z hostname - utilitar care arat sau rom-uri, hard disk-uri etc. Tot aici se afl i
Urmtoarele programe sau legturi
seteaz numele host de sistem "coul de gunoi" - trash bin, /dev/null.
simbolice spre programe trebuie s fie
z kill - utilitar care trimite semnale ctre
n /bin dac subsistemul corespondent
procese
este instalat: Este posibil ca dispozitivele din /dev s
z ln - utilitar care face legturi ntre
fie create manual; /dev trebuie s aib o
fiiere z csh - consola C
comand numit MAKEDEV care poate
z login - utilitar care pornete o sesiune z ed - editorul "ed"
crea dispozitivul necesar. Poate s mai
pe sistem z tar - utilitarul pentru arhivare "tar"
conin i MAKEDEV.local pentru orice
z ls - utilitar care listeaz coninutul z cpio - utilitarul pentru arhivare "cpio"
dispozitiv local.
unui director z gzip - utilitarul de comprimare GNU
z mkdir - utilitar care creaz un director z gunzip - utilitarul de decomprimare
GNU Dac este necesar, MAKEDEV trebuie
z mknod - utilitar care creaz blocuri
z zcat - utilitarul de decomprimare GNU s aib prevederi pentru crearea oricrui
sau caractere speciale fiierelor
z netsat - utilitar de statistici pentru dispozitiv gsit pe sistem, nu doar acele
z more - utilitar care face pagini printre
reea instalri particulare implementate.
texte
z mount - utilitar care monteaz un z ping - utilitarul ICMP de test de reea
sistem de fiiere
Autor:
z mv - utilitar care mut sau Toate aceste programe sunt
redenumete fiiere opionale. Dac gunzip i zcat exist, ele
neo@linux360.ro
z ps - utilitar care raporteaz statusul trebuie s aib o legtur cu
proceselor gzip. /bin/csh poate avea o legatur
z pwd - utilitar care afieaz numele simbolic cu /bin/tcsh sau /usr/bin/tcsh.
directorului pe care se lucreaz
z rm - utilitar care elimin fiiere sau Comenzile tar, gzip i cpio au fost
directoare adugate pentru a face restaurarea
A treia dimensiune a desktop-ului
Metisse
(http://insitu.lri.fr/
~chapuis/metisse/index.html)
este un proiect experimental de desktop
3D aprut la sfritul lunii iunie. Are la
baz o versiune modificat de FVWM i
modulul Ametista
(http://insitu.lri.fr/
Ct de repede putei spune "Metisse"?
~roussel/projects/ametista/).
ns, nainte ca utilizatorii Gnome sau
KDE s nchid pagina doar pentru c e
vorba de FVWM, a sugera s aruncai o
privire pe imaginile de pe prima pagin.
Transparena este realizat exclusiv de
Metisse, Xorg neavnd Composite activat.
n regim normal de lucru, fr transparene
sau alte efecte speciale, doar KDE 3.3.1,
cteva console, Kmail, cteva ferestre
Konqueror, Beep media player i 1-2
compilri n fundal, din 512MB RAM
ocupai sunt 490 i swap 0. Cu
WindowMaker, Metisse, KDE i aceleai
aplicaii- 500MB RAM si 0MB swap.
Cerinele hardware nu sunt deci
prohibitive.
Dan Marcu
Toi am auzit de acest program numit 113/tcp open auth 5. Idle (scan) - aceast metod este
nmap. E cel mai bun scanner, toi hackerii 139/tcp open netbios-ssn printre cele mai deosebite metode
l folosesc. Muli tim ce este acela un 143/tcp open imap i printre cele mai sigure, identitatea
hacker i cu se ocup. Dac ei folosesc 3000/tcp open ppp adevrat a celui ce efectueaz
nmap, hai s-l folosim i noi. Primul lucru
3306/tcp open mysql detectarea fiind ascuns in spatele
10000/tcp open snet- unei alte victime. "Idle scan"-ul
pe care l va face un nceptor va fi acela
sensor-mgmt poate fi folosit utiliznd opiunea -
de a ntreba pe prima persoan care
Device type: general sI
deine astfel de cunotine cu ce se
purpose
mnnc nmap-ul. Dac acea persoan 6. Decoy Scanning - este o metod
Running: Linux
este un amic, probabil i va spune, dac care ce permite trimiterea unor
2.4.X|2.5.X
nu, va primi raspunsul unui profesionist: pachete modificate astfel nct
OS details: Linux Kernel
"Google it!". i astfel micul nostru 2.4.0 - 2.5.20 victima s aib impresia c nu
nceptor se duce frumos pe Google i n Uptime 17.282 days (since numai dumneavoastr o scanai ci
cele din urm va afla "secretul". Thu Oct 14 18:00:00 2004) i alii, fiind astfel mai greu de
identificat adevratul atacator.
Nmap run completed -- 1 Acest tip de scanare se iniializeaz
Nmap este o aplicaie destinat oricui.
IP address (1 host up) folosind opiunea -D, dar este cam
Este un explorator de reea (network
scanned in 96.916 seconds inutil fiindc orice administrator
exploration tool). Acest program reprezint
(avansat) de sistem poate observa
pentru utilizatorii si o lam cu doau
Acest exemplu ne arat c IP-ul real.
tiuri; el este folosit att de hackeri ct i
maina interogat ruleaz Linux, 7. Ack scann - acest tip de detectare
de administratorii de reele. Totui el are
ceea ce pentru un hacker nseamn permite descoperirea regulilor unui
acela scop: s descopere ct mai multe
c trebuie s-si aleag anumite firewall din reea i se activeaz
informaii despre un computer, un
utilitare pentru a reui folosind opiunea -sA:
segment de reea sau o reea ntreag. Un
penetrarea/exploatarea sistemului, #nmap -sA <ip/host>
hacker l-ar folosi pentru a obine ct mai
iar pentru un administrator 8. Ident scan - este o detectare a
multe informaii despre inta sa, n timp ce
nseamn c el trebuie s verifice utilizatorilor sub care ruleaz
un adimnistrator l-ar folosi pentru a
dac patchurile sunt puse i dac aplicaiile de tip server i este folosit
descoperi posibile vulnerabiliti, pentru a
sistemul este exploatabil. n special de hackeri pentru a
mpiedica astfel unele atacuri. Unul din
compromite procesele ce ruleaz
lucrurile interesante tiute de nmap este
sub utilzatorul root. Metoda se
OS-detection-ul (detectarea sistemului de n ceea ce privete modalitile
iniializeaz folosind opiunea -I i
operare). Prin folosirea opiunii "-O" putem de scanare nmap face fa
aproximativ tuturor cerinelor avnd
-sT, deorece implementarea
ncerca s descoperim ce sistem de
implementate diferite metode de necestit o conectare la serverele
operare ruleaz pe computerul int:
detectare: respective:
# nmap -sT -I
bash-2.05b# nmap -O
1. TCP SYN - o modalitate de 192.168.0.3
192.168.0.10
detectare invizibil iniializat
Starting nmap 3.30 (
Starting nmap 3.50 cu opiunea -sS:
http://www.insecure.org/
( http://www.insecure.org/nmap/ ) #nmap -sS <ip/host>
nmap/ ) at 2003-07-22
at 2004-10-31 23:43 EET 2. TCP connect() - o alt metod
15:11 EST
Interesting ports on 192-168- de detectare iniializat prin Interesting ports on
0-10.rdsnet.ro opiunea -sT: 192.168.0.3:
(192.168.0.10): #nmap -sT <ip/host> (The 1629 ports scanned
(The 1651 ports scanned but 3. UDP - o metod de detectare but not shown below are
not shown below are in state: iniializat prin opiunea -sU: in state: closed)
closed) #nmap -sU <ip/host> Port State Service Owner
PORT STATE SERVICE
4. Stealth FIN, Xmas sau Null - 9/tcp open discard root
22/tcp filtered ssh
metode destinate utilizatorilor 13/tcp open daytime root
80/tcp open http 21/tcp open ftp root
avansai, aplicabile folosind
opiunile -sF, -sX, -sN 22/tcp open ssh root
25/tcp open smtp root
37/tcp open time root
80/tcp open http www-data
111/tcp open sunrpc daemon
113/tcp open auth identd
139/tcp open netbios-ssn
root
443/tcp open https root
515/tcp open printer root
993/tcp open imaps root
995/tcp open pop3s root
9999/tcp open abyss root
Nmap run completed -- 1 IP
address (1 host up) scanned
in 9.202 seconds
As you can see there are
allot of root processes on
this machine, and if we
where to exploit anyone of
them we would have full
access to the entire
system. This scan will not
work on windows.
9. Alte metode obinute prin Nu v ncredei ntotdeauna
folosirea mai complex a
opiunilor i parametrilor
programului. Nmap poate cerceta unul sau mai
multe porturi specificate, fie introduse Resurse:
manual fie luate dintr-o list, sau o serie z http://www.insecure.org/nmap
Nmap permite cercetarea unui
de porturi aflat ntr-un interval. De Autor:
singur computer sau a unei reele
asemenea nmap permite efectuarea unor dan.marcu@linux360.ro
ntregi:
serii de cercetri de reea mult mai
avansate ce vor fi prezentate n numrul
#nmap <opiuni> 192.168.0.3
urmator. Pn atunci am s v dau un
- un singur computer (ipul
poate fi nlocuit cu un singur sfat:
hostname)
#nmap <opiuni> #man nmap
192.168.0.0/24 - pentru
scanarea unei clase de
ipuri
Eduard Munteanu
Imaginai-v ca lucrai la o banc, ca configurare greit nu numai c poate performana are mult de suferit. O alt
administrator de reea, si trebuie s diminua performana, dar pot aprea i problem a suprapunerii TCP peste TCP
interconectai dou filiale din dou probleme grave de securitate. n plus, este reducerea mai pronunat a MTU
orae diferite, asigurnd i securitatea cand avem de a face cu o criptare (Maximum Transmission Unit), ceea ce
datelor in acelai timp. Crearea unei asimetric, administratorul trebuie s fie duce la o fragmentare mai mare a datelor
legturi fizice intre cele dou orae capabil s genereze perechea de chei transmise prin tunel. ns nu toate soluiile
pare imposibil de realizat. In schimb, (cheie public si cheie privat). Chiar i VPN au aceast problem. De exemplu,
putem folosi o infrastructur deja distribuirea i stocarea intr-un mod sigur CIPE encapsuleaz datele n datagrame
existent, i anume Internet-ul. Dar ale acestor chei devin o problem. Dac UDP, iar FreeS/WAN n datagrame IPSec,
cum protejm datele care se transmit in suntei incepator n acest domeniu, v asemntoare pachetelor IP.
acest mediu? Se poate folosi SSL/TLS recomand sa experimentai cu CIPE sau
pentru a cripta ce transmitem, dar OpenVPN mai intai. Protocoale precum Securitatea
implic un efort mare in configurare. IPSec (in implementarea open-source
FreeS/WAN) prezint un grad de Analiza securitaii unei soluii VPN este
Ce este un VPN? dificultate in configurare mai ridicat. un subiect sensibil, deoarece implic in
mod direct si analiza algoritmilor de
Performana criptare. Tocmai datorit faptului c este
Un VPN (= Virtual Private Network)
este o reea virtual, construit prin greu de afirmat sau infirmat soliditatea
encapsularea datelor intr-un tunel, Din moment ce datele sunt unui astfel de algoritm, ei nu vor constitui
stabilit in prealabil intre dou encapsulate ntr-un tunel, este normal ca subiectul acestui articol. Tot ce v pot
calculatoare, care este (optional, dar de viteza de transfer si de rspuns s aib de recomanda este sa utilizati un algoritm de
cele mai multe ori) criptat. Tunelul este suferit. Astfel, comunicarea se realizeaz, criptare asimetric, bazat pe certificate, ori
constituit din pachete de date care sunt intr-o anumit masura, mai greu dect de cate ori este posibil. ns trebuie
transmise printr-o reea public, precum dac am transmite datele direct prin menionat c protoculului PPTP i se aduc
Internet-ul. Avand dou routere i reteaua fizica. numeroase "laude" cu privire la gurile de
stabilind o legatur VPN intre ele, securitate pe care le are. Nu este vorba
calculatoarele din spatele lor par c fac Exist i soluii mai puin inspirate n doar despre standard sau concept n sine,
parte din aceeai retea. O astfel de aceast privin, precum PPP over SSH ci mai ales despre implementarea
legatur prezint urmtoarele avantaje: sau PPTP. n aceste cazuri, tunelul este clientului/serverului care ruleaz sub
transmis sub forma unor pachete TCP. Windows, dei Microsoft afirm c a
z Transparena n criptare i
Dar i n interiorul tunelului se vor efectua, rezolvat numeroase probleme legate de
comunicare
de cele mai multe ori, transmisii de acest aspect. Din acest motiv, v
z Posibilitatea utilizrii protocoalelor
pachete TCP. Acest protocol a fost recomand sa l evitai.
nerutabile, precum IPX
z Face posibil o comunicare proiectat pentru a detecta
nelimitat intre calculatoarele cu IP- pierderea/dublarea datagramelor i pentru
a le fragmenta si asambla corespunzator. Autor:
uri din spaiul privat de adrese
De asemenea, TCP a fost conceput sa i
adapteze timpul de timeout, fiind potrivit eduard.munteanu@linux360.ro
Cum aleg?
oricarui mediu. ns putem observa cum,
prin aplicarea acestor mecanisme in mod
Din multitudinea de soluii redundant si independent, la ambele
disponibile, avei de ales pe cea mai niveluri,
potrivit dintre ele. In paragrafele
urmtoare, veti vedea care sunt
criteriile pentru a face alegerea
potrivit.
Usurina n configurare
inconvenient minor n legtur cu CD- Este gndit ntr-un mod excepional. z http://icculus.org
urile. Toate trebuie montate ntr-un Atunci cnd cineva vorbete sunetul
director uor de intuit, de preferat normal al jocului este oprit pentru ca Autor:
"/mnt/cdrom". Acest lucru se ntmpl mesajul s poat fi auzit. Calitatea
din cauz c natura Linux-ului i las sunetului transmis este foarte bun, dup ciprian.negrila@linux360.ro
libertate deplin, iar scriptul nu caut prerea mea cu mult mai bun dect cea
dect ntr-un numr restrns de locaii
fiierele. Un alt bug rezolvat este citirea
intensiv de pe
Linux i 'gadget'-urile din zilele noastre
Florin Vere
Ce este, de fapt, acest cod main de lum n calcul faptul c unele comenzi au z sintaxa Intel (folosit de nasm, masm)
care tot aud? Rspunsul scurt: un singur operand, altele nici unul etc., iar z sintaxa AT&T (folosit de gas - gnu
instruciuni de care microprocesorul "tie" inginerii nu vor s iroseasc nici un bit. assembler)
direct din hardware. Spre exmplu, familia de microprocesoare
80x86 de la Intel duce acest lucru la Diferenele cele mai notabile dintre
Rspunsul mai lung (dar mai detaliat) extrem, avnd opcode-uri1e ("Operation cele dou tipuri de sintax sunt, n primul
trebuie cutat tot n istorie. Cele mai codes" n limba englez, adic toat rnd la ordinea operanzilor. Intel are nti
vechi calculatoare aveau programele comanda mpachetat, inclusiv operanzii) destinaia i apoi sursa:
stocate direct n circuite, astfel nct nu de dimensiuni ce variaz de la opt bii
puteau rezolva dect un singur tip de pn la zece octei. mov eax, 1
problem. Lucru, lesne de neles, foarte
costisitor - pentru orice fel nou de Limbajul de asamblare
AT&T are nti sursa i apoi
problem trebuia construit alt main.
destinaia:
Ulterior, s-a gndit o rezolvare Probabil c deja v intrebai care este
asemntoare cu ceea ce se ntampl legtura dintre comutatoare, opcode-uri i
movl $1, %eax
astazi sub capota PC-ului nostru: o serie limbajul de asamblare. Cum spuneam i la
de comutatoare trimiteau, n binar, codul nceput, primii programatori trebuiau s
instruciunii ce va fi folosit (s Ambele fragmente de mai sus pun
cunoasc foarte multe numere binare i s
presupunem c avem trei astfel de valoarea 1 zecimal n registrul eax. Se
tie s le lege ntr-o form coerent pentru
comutatoare, iar primul i ultimul sunt mai poate observa c n sintaxa AT&T,
a crea chiar i cel mai simplu progmel.
scurtcircuitate; n acest fel, se va trimite valorile imediate sunt precedate de
Fiind un proces foarte greoi i complicat,
ctre microprocesor instruciunea a caracterul $, iar regitrii au nainte %.
s-a nceput cutarea de alternative la
cincea pentru c 1012 = 510). Bineneles irurile de zero i unu. Astfel a aprut
c unele comenzi aveau nevoie de unul ideea unui limbaj mai apropiat de limba Alt deosebire important o
sau mai muli operanzi (spre exemplu englez, care s poat exprima mai uor reprezint faptul c n cadrul sintaxei
move are nevoie de doi operanzi: surs instruciunile i cursul unui program. Baza AT&T apare un sufix la mnemonic astfel:
i destinaie), care erau transmii n procesoarelor programabile fiind deja l pentru cuvnt (word) dublu, w pentru
acelai fel. construit pe opcode-uri binare, cel mai cuvnt i b pentru octet. n exemplul de
simplu pas de fcut a fost crearea unor mai sus, movl pentru operaie de copiere
Urmtorul pas logic au fost asocieri de mnemonici (abrevieri ale unor a unui cuvnt n registrul eax. Normal c
programele stocate n memorie, iar restul cuvinte din limba englez) cu opcode-uri. nu am epuizat diferenele, dar acestea
este istorie. Cum era stocat n memorie? Textul reprezentat de aceste cuvinte este sunt cele mai importante.
Bineneles c binar, n calupuri de trecut printr-un alt program, numit
patru ??? (poate la inceput?!), opt, asamblor, care transform numiii De ce e bun limbajul de asamblare?
aisprezece i, mai nou treizeciidoi de mnemonici n opcode-uri gata de folosit de
bii. Metoda de mpachetare este destul ctre microprocesor. n primul rnd este foarte rapid.
de simpl: un numr de bii pentru Avnd n vedere c este att de apropiat
instruciunea propriu-zis, iar restul De atunci lucrurile au evoluat, n sensul de instruciunile "scrise" direct n
pentru operanzi. n realitate, lucrurile c asambloarele tiu de rutine predefinite, procesor, este relativ uor pentru un
sunt ceva mai complicate, dac programator
experimentat s scrie cod ce ruleaz performan adus este insignifiant datorit 5. intrare / ieire
rapid. Spun experimentat pentru c faptului c s-a ajuns la o vitez 6. pentru lucrul cu iruri de caractere ?
majoritatea compilatoarelor de extraordinar, iar la ct memorie avem ceva nentlnit pe arhitecturi RISC
limbaje de nivel nalt (Pascal, C etc.) zilele astea, cine se mai uita la civa (Reduced Instruction Set
au ca rezultat cod de foarte bun kilooctei n plus sau n minus? Acest Computers)
calitate. Totui, un om poate fi mult afirmaie este adevrat, dar numai pe 7. instruciuni care controleaz cursul
mai creativ i poate folosi anumite calculatoare noi. n schimb, pe mainile programului (jmp, call, ret i alte
instruciuni specifice anumitor maini vechi, limbajul de asamblare devine o salturi condiionate)
pentru a-i accelera aplicaiile (spre adevrat man cereasc. 8. altele (spre exemplu clc, stc, cmc).
exmplu, instruciunile MMX, specifice
procesoarelor mai noi de Pentium, Arhitectura 80x86
Asamblare pe Linux
sau SSE, specifice Pentium III).
Cele mai rspndite calculatoare sunt
Din pcate, Linux nu este o platform
De multe ori (80%, poate?), un cele motorizate de procesoare Intel sau
atractiv pentru programatorii de limbaj de
program realizat integral in limbaj de compatibile. De aceea, voi prezenta
asamblare pentru c, din motive de
asamblare ocup mult mai puin cteva lucruri de baz despre acestea.
securitate nu ofer dect control limitat
spaiu dect un program ce face
asupra procesorului. Cu alte cuvinte, vei
acelai lucru, dar este scris n C,
putea face o adunare cu add, dar nu ai nici
bunoar. Acest lucru este util atunci
o ans sa schimbi starea procesorului din
cnd vrei s rulezi foarte multe de pe
mod protejat in mod real. Totui, exist o
o simpl dischet de 1.44M sau cnd
metod elegant de a realiza programe n
nu prea ai RAM, sau cnd scrii
limbaj de asamblare pe acest sistem de
pentru, s zicem, un procesor
operare: interfaa oferit de kernel.
nglobat ntr-un ceas sau...
Florin Vere
Dup cum v-am promis ntr-unul din <?php Funcia mysql_drop_db (string
numerele precedente, v vom prezenta n $conn = mysql_connect database_name [, resource
acest numr diferite funcii pentru ("localhost", link_identifier])
conectarea la un server MySQL, pentru a "user","parola");
interoga datele din acesta.
if ($conn==FALSE) echo
Aceast funcie este utilizat pentru
"Conexiunea a euat.";
else echo "Conexiunea a tergerea unei baze de date de pe
Funcia mysql_connect ([string server reuit."; server. Parametrii sunt explicai la
[, string username [, string password [, mysql_close($conn); mysql_create_db. Funcia
bool new_link [, int client_flags]]]]])) ?> returneaz TRUE dac baza de date a
</BODY> fost tears cu succes, respectiv FALSE
Aceast funcie face conectarea la </HTML> dac baza de date nu a putut fi tears.
serverul MySQL. Ea primete cinci
parametri opionali: Funcia mysql_close ([resource Funcia mysql_select_db (string
link_identifier]) database_name [, resource
z string server - acest parametru
reprezint numele serverului MySQL. link_identifier])
Dac lipsete, se ncearc conectarea Aceast funcie realizeaz nchiderea
la calculatorul curent (localhost) conexiunii la serverul MySQL. Aceast funcie seteaz baza de date
z string username - acest Identificatorul conexiunii e transmis ca i pentru o conexiune spre un server
parametru reprezint numele parametru. MySQL. Dup cum v-ai obinuit,
utlilizatorului. Dac lipsete, se va parametrii sunt explicai mai sus. Funcia
folosi automat user-ul 'root' Funcia mysql_ping ([resource returneaz TRUE dac baza de date a
z string password - acest link_identifier]) fost selectat cu succes, respectiv
parametru reprezint parola de acces FALSE dac acest lucru a euat.
la serverul MySQL, corespunztoare Aceast funcie verific dac serverul
utlilizatorului specificat MySQL a nchis sau nu conexiunea. Funcia mysql_query (string query [,
z bool new_link - acest parametru Identificatorul conexiunii e transmis ca i resource link_identifier])
este unul de tip logic, ce are rolul de a-i parametru. Funcia returneaz TRUE
indica PHP-ului c n cazul n care dac conexiunea e nc activ, respectiv Aceast funcie este folosit pentru
exist o conexiune existent la serverul FALSE dac conexiunea a fost nchis. interogarea serverului MySQL. Ea are
MySQL s mai creeze una doi parametri:
z int client_flags - acest
Funcia mysql_create_db (string z string query - acest parametru
parametru este de tip ntreg, i database_name [, resource reprezint cererea emis serverului
reprezint proprietile pe care le va link_identifier]) z resource link_identifier -
avea conexiunea
acest parametru reprezint
Aceast funcie este utilizat pentru identificatorul de acces al unei
Aceast funcie returneaz valoarea logic crearea unei noi baze de date pe conexiuni la un server
FALSE n cazul n care a euat serverul MySQL. Funcia are doi
conectarea la serverul MySQL sau un parametri: Funcia returneaz o valoare de tip
identificator de acces la conexiunea ctre
z string database_name - resurs n cazul n care a fost apelat
server, n cazul n care aceasta a reuit.
numele bazei de date care se dorete folosind o interogare care presupune
a fi create primirea unui rezultat (de exemplu, o
Exemplu de utilizare a mysql_connect:
z resource link_identifier - interogare SELECT) i nu a aprut nici o
<HTML>
identificatorul conexiunii la serverul eroare, respectiv FALSE n cazul n care
<HEAD>
MySQL a aprut o eroare. n cazul n care funcia
<TITLE>mysql_connect</TITLE>
</HEAD> a fost apelat pentru o interogare ce nu
<BODY> Funcia returneaz TRUE dac a reuit presupune primirea unui rezultat, ea
crearea bazei de date, respectiv FALSE returneaz TRUE dac nu au aprut
dac aceasta a euat. erori, respectiv FALSE n cazul unei
erori.
n continuare, vom prezenta un Funcia mysql_num_rows (resource z resource result - variabil de tip
exemplu de utilizare a acestei funcii: result) resurs, care a fost setat anterior prin
apelarea mysql_query
<HTML> Aceast funcie returneaz numrul de z int result_type - parametru
<HEAD> nregistrri coninute ntr-un rezultat primit opional, de tip ntreg, care prezint
<TITLE>Exemplu complicat :) de la serverul MySQL. Ea are un singur modul n care se va face transformarea
</TITLE> parametru, de tip resurs, a crei valoare
</HEAD> a fost setat la apelarea mysql_query.
<BODY> Cel de-al doilea parametru poate avea una
Funcia returneaz un ntreg ce reprezint din urmtoarele valori:
<?php
numrul de nregistrri coninute de
$link = mysql_connect z MYSQL_ASSOC - elementele din lista
variabila de tip resurs primit ca i
("localhost", rezultat pot fi accesate doar folosind
"user","parola1"); parametru.
numele cmpurilor
if ($link==FALSE) die z MYSQL_NUM - elementele din lista
("Conexiunea a euat"); Exemplu de utilizare a funciei:
rezultat pot fi accesate doar folosind
mysql_select_db("dbname",
numerele de ordine a cmpurilor
$link); <HTML> z MYSQL_BOTH - elementele din lista
$res=mysql_query("SELECT * <HEAD>
FROM users order by " . rezultat pot fi accesate n ambele
<TITLE>mysql_num_rows</TITLE>
" nume,prenume",$link); moduri
</HEAD>
?> <BODY>
<TABLE border=1> <?php Funcia mysql_fetch_assoc (resource
<TR><TD>Nume</TD> $link = mysql_connect result)
<TD>Prenume</TD> ("localhost",
<TD>E-mail</TD></TR> "user", "parola1"); Aceast funcie transform o
<?php if ($link==FALSE) die nregistrare dintr-un rezultat primit de la
while ($linie = ("Conexiunea a euat"); server ntr-un array, i are acelai efect cu
mysql_fetch_array($res)) { mysql_select_db("dbname",
?> cel al folosirii funciei
$link);
<TR><TD><?php echo $linie mysql_fetch_array, folosind pentru
$res=mysql_query("SELECT *
["nume"]; ?></TD> cel de-al doilea parametru valoarea
FROM users order by " .
<TD><?php echo $linie " nume,prenume",$link); MYSQL_ASSOC.
["prenume"]; ?></TD> $num_rows = mysql_num_rows
<TD><?php echo $linie ($res); Funcia mysql_fetch_num (resource
["mail"]; ?></TD></TR> echo "au fost returnate" . result)
<?php $num_rows . "nregistrri";
} mysql_free_result($res); Aceast funcie transform o
?> mysql_close($link);
</TABLE> nregistrare dintr-un rezultat primit de la
?>
<?php server ntr-un array, i are acelai efect cu
</BODY>
mysql_free_result($res); cel al folosirii funciei
</HTML>
mysql_close($link); mysql_fetch_array, folosind pentru
?> cel de-al doilea parametru valoarea
Funcia mysql_fetch_array (resource
</BODY> MYSQL_NUM.
result [, int result_type])
</HTML>
Setul de funcii de acces la bazele de
Aceast funcie transform o
Funcia mysql_free_result (resource date MySQL oferit de limbajul PHP este
nregistrare dintr-un rezultat primit de la
result) larg, i n acest articol m-am rezumat la
serverul MySQL ntr-un array. Dac nu
prezentarea celor mai importante astfel de
mai sunt nregistrri de prelucrat, funcia
Aceast funcie se folosete pentru funcii. Cu ajutorul acestora se poate
returneaz FALSE. Funcia
eliberarea memoriei alocate stocrii administra i utiliza foarte uor orice baz
mysql_fetch_array colecteaz
unui rezultat primit n urma apelrii de date MySQL indiferent de
datele referitoare la nregistrarea curent
mysql_query. Funcia returneaz complexitatea i dimensiunea ei.
i le returneaz sub forma unei liste ale
TRUE dac a fost eliberat memoria crui elemente pot fi accesate folosind
utilizat de variabila transmis ca i numele cmpurilor, numrul lor de ordine,
parametru, respectiv FALSE n caz Autor:
sau n ambele moduri.
contrar. Aceast funcie are 2 parametri:
florin.veres@linux360.ro
Migrare - "Cuvntistul" turmentat
Ioana-Rebeca Gliia