<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Strainu onLine &#187; Articles</title>
	<atom:link href="http://www.strainu.ro/category/articles/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.strainu.ro</link>
	<description>Blogul unui automatist</description>
	<lastBuildDate>Fri, 28 Oct 2011 15:46:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Maşină de codare cu algoritmul ARCFOUR şi microcontrollerul Atmel ATmega16</title>
		<link>http://www.strainu.ro/projects/masina-de-codare-cu-algoritmul-arcfour-si-microcontrollerul-atmel-atmega16/</link>
		<comments>http://www.strainu.ro/projects/masina-de-codare-cu-algoritmul-arcfour-si-microcontrollerul-atmel-atmega16/#comments</comments>
		<pubDate>Tue, 23 Jan 2007 20:39:19 +0000</pubDate>
		<dc:creator>Strainu</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[My Projects]]></category>
		<category><![CDATA[Romana]]></category>
		<category><![CDATA[ARCFOUR]]></category>
		<category><![CDATA[ATMEGA16]]></category>
		<category><![CDATA[microcontroller]]></category>
		<category><![CDATA[Proiectarea cu microprocesoare]]></category>

		<guid isPermaLink="false">http://www.strainu.ro/site/?p=209</guid>
		<description><![CDATA[Pentru versiunea original&#259; a articolului, inclusiv codul, vezi pagina de proiecte. Cuprins 1 Ideea proiectului 1.1 Codarea 1.2 Decodarea 2 Modalitatea de implementare 3 Partea hardware 3.1 Comunicarea cu cardul 3.1.1 Initializarea 3.1.2 Citirea 3.1.3 Scrierea 3.2 Lista componentelor necesare 4 Partea software 4.1 CODARE 4.2 DECODARE 4.3 LIMIT&#258;RI 4.4 STRUCTURA PROGRAMULUI 4.5 UNELTE SOFTWARE [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
<!--
	#content {
	  padding: 0 1em 1.5em 1em;
	  background: white;
	  color: black;
	  line-height: 1.5em;
	  position: relative;
	  z-index: 2;
        }</p>
<p>/* Font size:
** We take advantage of keyword scaling- browsers won't go below 9px
** More at http://www.w3.org/2003/07/30-font-size
** http://style.cleverchimp.com/font_size_intervals/altintervals.html
*/</p>
<p>body {
	color: black;
	margin: 0;
	padding: 0;
}</p>
<p>/* general styles */</p>
<p>table {
	font-size: 100%;
	color: black;
	/* we don't want the bottom borders of 
<h2>s to be visible through
	   floated tables */
	background-color: white;
}</p>
<p>img {
	border: none;
	vertical-align: middle;
}</p>
<p>p img {
	margin: 0;
}</p>
<p>hr {
	height: 1px;
	color: #aaa;
	background-color: #aaa;
	border: 0;
	margin: .2em 0 .2em 0;
}</p>
<p>ul {
	line-height: 1.5em;
	list-style-type: square;
	margin: .3em 0 0 1.5em;
	padding: 0;
	list-style-image: url(bullet.gif);
}
ol {
	line-height: 1.5em;
	margin: .3em 0 0 3.2em;
	padding: 0;
	list-style-image: none;
}
li {
	margin-bottom: .1em;
}
dt {
	font-weight: bold;
	margin-bottom: .1em;
}
dl {
	margin-top: .2em;
	margin-bottom: .5em;
}
dd {
	line-height: 1.5em;
	margin-left: 2em;
	margin-bottom: .1em;
}</p>
<p>fieldset {
	border: 1px solid #2f6fab;
	margin: 1em 0 1em 0;
	padding: 0 1em 1em;
	line-height: 1.5em;
}
legend {
	padding: .5em;
	font-size: 95%;
}
form {
	border: none;
	margin: 0;
}</p>
<p>textarea {
	width: 100%;
	padding: .1em;
}</p>
<p>select {
	vertical-align: top;
}
abbr, acronym, .explain {
	border-bottom: 1px dotted black;
	color: black;
	background: none;
	cursor: help;
}
q {
	font-family: Times, "Times New Roman", serif;
	font-style: italic;
}</p>
<p>code {
	background-color: #f9f9f9;
}
pre {
	padding: 1em;
	border: 1px dashed #2f6fab;
	color: black;
	background-color: #f9f9f9;
	line-height: 1.1em;
}</p>
<p>/*
** the main content area
*/</p>
<p>#contentSub, #contentSub2 {
	font-size: 84%;
	line-height: 1.2em;
	margin: 0 0 1.4em 1em;
	color: #7d7d7d;
	width: auto;
}
span.subpages {
	display: block;
}</p>
<p>/* Some space under the headers in the content area */
#bodyContent h1, #bodyContent h2 {
	margin-bottom: .6em;
}
#bodyContent h3, #bodyContent h4, #bodyContent h5 {
	margin-bottom: .3em;
}
.firstHeading {
	margin-bottom: .1em;
}</p>
<p>/* user notification thing */
.usermessage {
	background-color: #ffce7b;
	border: 1px solid #ffa500;
	color: black;
	font-weight: bold;
	margin: 2em 0 1em;
	padding: .5em 1em;
	vertical-align: middle;
}
#siteNotice {
	text-align: center;
	font-size: 95%;
	padding: 0 .9em;
}
#siteNotice p {
	margin: 0;
	padding: 0;
}
.error {
	color: red;
	font-size: larger;
}
.errorbox, .successbox {
	font-size: larger;
	border: 2px solid;
	padding: .5em 1em;
	float: left;
	margin-bottom: 2em;
	color: #000;
}
.errorbox {
	border-color: red;
	background-color: #fff2f2;
}
.successbox {
	border-color: green;
	background-color: #dfd;
}
.errorbox h2, .successbox h2 {
	font-size: 1em;
	font-weight: bold;
	display: inline;
	margin: 0 .5em 0 0;
	border: none;
}</p>
<p>#catlinks {
	border: 1px solid #aaa;
	background-color: #f9f9f9;
	padding: 5px;
	margin-top: 1em;
	clear: both;
}</p>
<p>/* emulate center */
.center {
	width: 100%;
	text-align: center;
}
*.center * {
	margin-left: auto;
	margin-right: auto;
}
/* small for tables and similar */
.small, .small * {
	font-size: 94%;
}
table.small {
	font-size: 100%;
}</p>
<p>/*
** content styles
*/</p>
<p>#toc{
	border: 1px solid #aaa;
	background-color: #f9f9f9;
	padding: 5px;
	font-size: 95%;
}
.toc{
	border: 1px solid #aaa;
	background-color: #f9f9f9;
	padding: 5px;
	font-size: 95%;
}</p>
<p>#toc h2 {
	display: inline;
	border: none;
	padding: 0;
	font-size: 100%;
	font-weight: bold;
}
.toc h2 {
	display: inline;
	border: none;
	padding: 0;
	font-size: 100%;
	font-weight: bold;
}
#toc #toctitle,
.toc #toctitle,
#toc .toctitle,
.toc .toctitle {
	text-align: center;
}
#toc ul,
.toc ul {
	list-style-type: none;
	list-style-image: none;
	margin-left: 0;
	padding-left: 0;
	text-align: left;
}
#toc ul ul,
.toc ul ul {
	margin: 0 0 0 2em;
}
#toc .toctoggle,
.toc .toctoggle {
	font-size: 94%;
}</p>
<p>.mw-warning {
	margin-left: 50px;
	margin-right: 50px;
	text-align: center;
}</p>
<p>/* images */
div.floatright, table.floatright {
	clear: right;
	float: right;
	position: relative;
	margin: 0 0 .5em .5em;
	border: 0;
/*
	border: .5em solid white;
	border-width: .5em 0 .8em 1.4em;
*/
}
div.floatright p { font-style: italic; }
div.floatleft, table.floatleft {
	float: left;
	clear: left;
	position: relative;
	margin: 0 .5em .5em 0;
	border: 0;
}
div.floatleft p { font-style: italic; }
/* thumbnails */
div.thumb {
	margin-bottom: .5em;
	border-style: solid;
	border-color: white;
	width: auto;
}
div.thumbinner {
	border: 1px solid #ccc;
	padding: 3px !important;
	background-color: #f9f9f9;
	font-size: 94%;
	text-align: center;
	overflow: hidden;
}
html .thumbimage {
	border: 1px solid #ccc;
}
html .thumbcaption {
	border: none;
	text-align: left;
	line-height: 1.4em;
	padding: 3px !important;
	font-size: 94%;
}
div.magnify {
	float: right;
	border: none !important;
	background: none !important;
}
div.magnify a, div.magnify img {
	display: block;
	border: none !important;
	background: none !important;
}
div.tright {
	clear: right;
	float: right;
	border-width: .5em 0 .8em 1.4em;
}
div.tleft {
	float: left;
	clear: left;
	margin-right: .5em;
	border-width: .5em 1.4em .8em 0;
}</p>
<p>.hiddenStructure {
	display: none;
	speak: none;
}
img.tex {
	vertical-align: middle;
}
span.texhtml {
	font-family: serif;
}</p>
<p>/*
** classes for special content elements like town boxes
** intended to be referenced directly from the wiki src
*/</p>
<p>/*
** User styles
*/
/* table standards */
table.rimage {
	float: right;
	position: relative;
	margin-left: 1em;
	margin-bottom: 1em;
	text-align: center;
}
.toccolours {
	border: 1px solid #aaa;
	background-color: #f9f9f9;
	padding: 5px;
	font-size: 95%;
}
div.townBox {
	position: relative;
	float: right;
	background: white;
	margin-left: 1em;
	border: 1px solid gray;
	padding: .3em;
	width: 200px;
	overflow: hidden;
	clear: right;
}
div.townBox dl {
	padding: 0;
	margin: 0 0 .3em;
	font-size: 96%;
}
div.townBox dl dt {
	background: none;
	margin: .4em 0 0;
}
div.townBox dl dd {
	margin: .1em 0 0 1.1em;
	background-color: #f3f3f3;
}</p>
<p>#login-sectiontip {
	font-size: 85%;
	line-height: 1.2;
	padding-top: 2em;
}</p>
<p>.redirectText {
	font-size: 150%;
	margin: 5px;
}</p>
<p>.printfooter {
	display: none;
}</p>
<p>table.gallery {
	border: 1px solid #ccc;
	margin: 2px;
	padding: 2px;
	background-color: white;
}</p>
<p>table.gallery tr {
	vertical-align: top;
}</p>
<p>table.gallery td {
	vertical-align: top;
	background-color: #f9f9f9;
	border: solid 2px white;
}</p>
<p>table.gallery td.galleryheader {
	text-align: center;
	font-weight: bold;
}</p>
<p>div.gallerybox {
	margin: 2px;
	width:  150px;
}</p>
<p>div.gallerybox div.thumb {
	text-align: center;
	border: 1px solid #ccc;
	margin: 2px;
}</p>
<p>div.gallerytext {
	font-size: 94%;
	padding: 2px 4px;
}</p>
<p>span.comment {
	font-style: italic;
}</p>
<p>span.changedby {
	font-size: 95%;
}</p>
<p>.previewnote {
	text-indent: 3em;
	color: #c00;
	border-bottom: 1px solid #aaa;
	padding-bottom: 1em;
	margin-bottom: 1em;
}</p>
<p>.previewnote p {
	margin: 0;
	padding: 0;
}</p>
<p>li span.deleted, span.history-deleted {
	text-decoration: line-through;
	color: #888;
	font-style: italic;
}</p>
<p>.toggle {
	margin-left: 2em;
	text-indent: -2em;
}</p>
<p>.imagelist td, .imagelist th { white-space: nowrap }
.imagelist .TablePager_col_links { background-color: #eeeeff }
.imagelist .TablePager_col_img_description { white-space: normal }
.imagelist th.TablePager_sort { background-color: #ccccff }</p>
<p>-->
</style>
<p>Pentru versiunea original&#259; a articolului, inclusiv codul, vezi <a href="http://proiecte.strainu.ro/ProiectPM/">pagina de proiecte</a>.</p>
<table id="toc" class="toc" summary="Cuprins">
<tr>
<td>
<div id="toctitle">
<h2>Cuprins</h2>
</div>
<ul>
<li class="toclevel-1"><a href="#Ideea_proiectului"><span class="tocnumber">1</span> <span class="toctext">Ideea proiectului</span></a>
<ul>
<li class="toclevel-2"><a href="#Codarea"><span class="tocnumber">1.1</span> <span class="toctext">Codarea</span></a></li>
<li class="toclevel-2"><a href="#Decodarea"><span class="tocnumber">1.2</span> <span class="toctext">Decodarea</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="#Modalitatea_de_implementare"><span class="tocnumber">2</span> <span class="toctext">Modalitatea de implementare</span></a></li>
<li class="toclevel-1"><a href="#Partea_hardware"><span class="tocnumber">3</span> <span class="toctext">Partea hardware</span></a>
<ul>
<li class="toclevel-2"><a href="#Comunicarea_cu_cardul"><span class="tocnumber">3.1</span> <span class="toctext">Comunicarea cu cardul</span></a>
<ul>
<li class="toclevel-3"><a href="#Initializarea"><span class="tocnumber">3.1.1</span> <span class="toctext">Initializarea</span></a></li>
<li class="toclevel-3"><a href="#Citirea"><span class="tocnumber">3.1.2</span> <span class="toctext">Citirea</span></a></li>
<li class="toclevel-3"><a href="#Scrierea"><span class="tocnumber">3.1.3</span> <span class="toctext">Scrierea</span></a></li>
</ul>
</li>
<li class="toclevel-2"><a href="#Lista_componentelor_necesare"><span class="tocnumber">3.2</span> <span class="toctext">Lista componentelor necesare</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="#Partea_software"><span class="tocnumber">4</span> <span class="toctext">Partea software</span></a>
<ul>
<li class="toclevel-2"><a href="#CODARE"><span class="tocnumber">4.1</span> <span class="toctext">CODARE</span></a></li>
<li class="toclevel-2"><a href="#DECODARE"><span class="tocnumber">4.2</span> <span class="toctext">DECODARE</span></a></li>
<li class="toclevel-2"><a href="#LIMIT.C4.82RI"><span class="tocnumber">4.3</span> <span class="toctext">LIMIT&#258;RI</span></a></li>
<li class="toclevel-2"><a href="#STRUCTURA_PROGRAMULUI"><span class="tocnumber">4.4</span> <span class="toctext">STRUCTURA PROGRAMULUI</span></a></li>
<li class="toclevel-2"><a href="#UNELTE_SOFTWARE"><span class="tocnumber">4.5</span> <span class="toctext">UNELTE SOFTWARE</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="#Concluzii"><span class="tocnumber">5</span> <span class="toctext">Concluzii</span></a></li>
<li class="toclevel-1"><a href="#Referinte_.C5.9Fi_Link-uri"><span class="tocnumber">6</span> <span class="toctext">Referinte &#351;i Link-uri</span></a></li>
</ul>
</td>
</tr>
</table>
<p><a name="Ideea_proiectului" id="Ideea_proiectului"></a></p>
<h2> <span class="mw-headline">Ideea proiectului</span></h2>
<p>Proiectul const&#259; în realizarea unui dispozitiv de codare/decodare a datelor de pe un card de memorie folosind un algoritm asem&#259;n&#259;tor cu RC4.</p>
<p><a name="Codarea" id="Codarea"></a></p>
<h3><span class="mw-headline">Codarea</span></h3>
<p>Datele vor fi citite de la calculator prin interfa&#355;a serial&#259;, vor fi codate în microporcesor &#351;i vor fi scrise pe un card SD/MMC care poate fi apoi transportat la o ma&#351;in&#259; de decodare</p>
<p><a name="Decodarea" id="Decodarea"></a></p>
<h3> <span class="mw-headline">Decodarea</span></h3>
<p>Datele codate vor fi citite de pe card, decodate &#351;i scrise pe interfa&#355;a serial&#259; c&#259;tre calculator.</p>
<p>Proiectul nu va coda decât buc&#259;&#355;i de text introduse în hyperterminal. Pentru a coda &#351;i alte tipuri de date se poate crea un program care s&#259; ruleze pe calculator &#351;i care s&#259; fac&#259; o codare în base64.</p>
<p></p>
<p><a name="Modalitatea_de_implementare" id="Modalitatea_de_implementare"></a></p>
<h2> <span class="mw-headline">Modalitatea de implementare</span></h2>
<p>Vom folosi <a href="http://learningcenter.ncit.pub.ro/mod/resource/view.php?id=360" title="plăcuţa realizată la faza 1">plăcuţa realizată la faza 1</a>, care con&#355;ine microcontrolerul Atmel ATMega16, circuitul de alimentare la 5V &#351;i portul serial de comunicare cu calculatorul.</p>
<p>La acest circuit vom mai ata&#351;a un cititor de carduri SD/MMC pentru a stoca datele codate. Comunicarea între microcontroler &#351;i cititorul de carduri se face prin portul SPI (pinii PB4-PB7 ai microcontrolerului). Cardurile MMC sunt alimentate la 3,3V &#351;i nu la 5V ca restul circuitului, de aceea mai avem nevoie &#351;i de o surs&#259; de tensiune de 3,3V care s&#259; ofere Vcc pentru card.</p>
<p>Utilizatorul va comunica cu programul prin intermediul portului serial &#351;i a unui program dedicat (de exemplu hyperterminal). El va putea decide dac&#259; dore&#351;te s&#259; codeze sau s&#259; decodeze un text, va putea s&#259; introduc&#259; parola &#351;i eventual textul care trebuie codat.</p>
<p><img src="http://proiecte.strainu.ro/ProiectPM/PROIECT_PM_images/dcxjtbqh_1cbbjk2.jpg" style="width: 800px; height: 600px;" title="Proiectul functional" align="middle"/></p>
</p>
<p><a name="Partea_hardware" id="Partea_hardware"></a></p>
<h2> <span class="mw-headline">Partea hardware</span></h2>
<p>Schema electric&#259; a întregului ansamblu: <br /><a href="http://proiecte.strainu.ro/ProiectPM/PROIECT_PM_images/dcxjtbqh_6g2r4xj.jpg"><img src="http://proiecte.strainu.ro/ProiectPM/PROIECT_PM_images/dcxjtbqh_6g2r4xj.jpg" style="width: 604px; height: 440px;"/></a></p>
<p> Schema folosit&#259; la simulare. Se observ&#259; folosirea SPI debugger în locul cardului SD/MMC<br />
<a href="http://proiecte.strainu.ro/ProiectPM/PROIECT_PM_images/dcxjtbqh_5f3nxqr.jpg"><img src="http://proiecte.strainu.ro/ProiectPM/PROIECT_PM_images/dcxjtbqh_5f3nxqr.jpg" style="width: 604px; height: 440px;"/></a></p>
<p></p>
<p><a name="Comunicarea_cu_cardul" id="Comunicarea_cu_cardul"></a></p>
<h3> <span class="mw-headline">Comunicarea cu cardul</span></h3>
<p>Comunicarea se face prin trimiterea de comenzi c&#259;tre card &#351;i primirea r&#259;spunsurilor. În total exist&#259; 15 comenzi &#351;i 3 r&#259;spunsuri, pe care îns&#259; nu le vom descrie aici. Pentru o desciere am&#259;nun&#355;it&#259;, vezi [4]. Citirea/scrierea se fac pe blocuri, dimensiunea implicit&#259; fiind de 512 octe&#355;i. Multe carduri nu permit schimbarea acestei dimensiuni, de&#351;i protocolul prevede &#351;i aceast&#259; posibilitate.</p>
<p>Comunicarea are 3 componente:</p>
<ol>
<li>Initializarea</li>
<li>Citirea</li>
<li>Scrierea</li>
</ol>
<p><a name="Initializarea" id="Initializarea"></a></p>
<h4> <span class="mw-headline">Initializarea</span></h4>
<p>În primul rând cardul trebuie resetat. Acest lucru se face trimi&#355;ând comanda 0, la care cardul trebuie s&#259; r&#259;rpund&#259; cu 0&#215;01 (ceea ce înseamn&#259; c&#259; a intrat în starea IDLE). Apoi se face ini&#355;ializare propriu zis&#259;, în care se trimite comanda 1 &#351;i se asteapt&#259; r&#259;spunsul 0&#215;00. Ini&#355;ializarea poate dura câteva zeci de milisecunde, timp în care se va primi altceva.</p>
<p><a name="Citirea" id="Citirea"></a></p>
<h4> <span class="mw-headline">Citirea</span></h4>
<p>În cadrul acestui proiect vom face numai citirea unui singur bloc. Se va trimite comanda 17 cu un argument ce reprezint&#259; numarul de octe&#355;i de la începutul cardului de la care se va face citirea. R&#259;spunsul primit trebuie s&#259; fie 0xFE, altfel avem eroare. Dac&#259; nu avem eroare, va urma un bloc de date &#351;i 2 octe&#355;i reprezentând CRC-ul blocului. În aceast&#259; aplica&#355;ie am decis s&#259; ignor&#259;m acest câmp.</p>
<p><a name="Scrierea" id="Scrierea"></a></p>
<h4> <span class="mw-headline">Scrierea</span></h4>
<p>Scrierea va fi tot pe un bloc. Se va trimite comanda 24, se va a&#351;tepta r&#259;spunsul plus timpul necesar înc&#259; unui octet, apoi se vor trimite datele. Dup&#259; terminarea transmisiei, cardul va trimite imediat un r&#259;spuns, urmat de o perioad&#259; de BUSY în care se va face efectiv scrierea, &#351;i în care trebuie s&#259; a&#351;tept&#259;m cardul s&#259; devin&#259; disponibil.</p>
<p>Comunicarea cu seriala Atmel ATmega16 are inclus&#259; posibilitatea de comunica&#355;ie pe serial&#259;. Func&#355;iile implementate asigur&#259; conversia dintre \r\n &#351;i \n. În plus, am folosit macroul FDEV_SETUP_STREAM pentru a putea folosi seriala ca intrare/ie&#351;ire standard.</p>
<p></p>
<p><a name="Lista_componentelor_necesare" id="Lista_componentelor_necesare"></a></p>
<h3> <span class="mw-headline">Lista componentelor necesare</span></h3>
<p>Lista cuprinde doar componentele suplimentare fa&#355;&#259; de cele folosite în pl&#259;cu&#355;a comun&#259;. Pentru lista componentelor folosite la pl&#259;cu&#355;&#259;, vezi <a href="http://learningcenter.ncit.pub.ro/mod/resource/view.php?id=359">aici</a>.</p>
<p></p>
<table border="1">
<tr>
<td>Cititor carduri SD/MMC</td>
<td>1 bucat&#259;</td>
<td>Comet S.R.L.</td>
</tr>
<tr>
<td>Rezisten&#355;e de 1K8</td>
<td>3 buc&#259;&#355;i</td>
<td>Comet S.R.L.</td>
</tr>
<tr>
<td>Rezisten&#355;e de 3K3</td>
<td>3 buc&#259;&#355;i</td>
<td>Comet S.R.L.</td>
</tr>
<tr>
<td>Stabilizator tensiune de 3,3V</td>
<td>1 bucat&#259;</td>
<td>Comet S.R.L.</td>
</tr>
<tr>
<td>Condensatori de 100nF</td>
<td>2 buc&#259;&#355;i</td>
<td>r&#259;ma&#351;i de la faza 1</td>
</tr>
</table>
<p></p>
<p><a name="Partea_software" id="Partea_software"></a></p>
<h2> <span class="mw-headline">Partea software</span></h2>
<p>Programul rulat de microcontroler folose&#351;te portul serial pentru a primi informa&#355;ii de la utilizator. Acesta trebuie s&#259; aleag&#259; dac&#259; dore&#351;te s&#259; codeze sau s&#259; decodeze text.</p>
<p><a name="CODARE" id="CODARE"></a></p>
<h3> <span class="mw-headline">CODARE</span></h3>
<p>La codare, utilizatorul trebuie s&#259; introduc&#259; parola cu care se face codarea precum &#351;i textul de codat. Rezultatul cod&#259;rii este scris în sectorul 1 al cardului MMC</p>
<p><a name="DECODARE" id="DECODARE"></a></p>
<h3><span class="mw-headline">DECODARE</span></h3>
<p>La decodare, utilizatorul va introduce parola &#351;i programul va decoda textul. Dac&#259; parola este corect&#259;, textul va avea sens, dac&#259; nu, cel mai probabil vom avea caractere din setul ASCII extins, eventual neafi&#351;abile.</p>
<p><a name="LIMIT.C4.82RI" id="LIMIT.C4.82RI"></a></p>
<h3><span class="mw-headline">LIMIT&#258;RI</span></h3>
<p>Datorit&#259; limit&#259;rilor hardware (doar 512 octe&#355;i de RAM) &#351;i a faptului c&#259; algoritmul ARCFOUR folose&#351;te un vector de 256 de elemente, limita pentru lungimea parolei este de 8 caractere (64 de bi&#355;i) &#351;i lungimea textului este de maxim250 de caractere. Teoretic s-ar putea dezvolta o metod&#259; prin care cei 256 de octe&#355;i ar putea fi redu&#351;i la 224, ceea ce ar elibera înc&#259; 32 de octe&#355;i, îns&#259; aceast&#259; metod&#259; ar fi mare consumatoare de timp.</p>
<p>O alt&#259; solu&#355;ie ar fi citirea câte 250 de caractere pân&#259; la finalizarea textului, îns&#259; acest lucru ar putea crea confuzie pentru anumi&#355;i utilizatori.</p>
<p><a name="STRUCTURA_PROGRAMULUI" id="STRUCTURA_PROGRAMULUI"></a></p>
<h3> <span class="mw-headline">STRUCTURA PROGRAMULUI</span></h3>
<p>Pe lâng&#259; programul principal, codul mai are 3 module: unul care se ocup&#259; de comunicarea pe serial&#259;, altul care se ocup&#259; de comunicarea cu cardul MMC &#351;i a treia care se ocup&#259; efectiv de codare.</p>
<p><a name="UNELTE_SOFTWARE" id="UNELTE_SOFTWARE"></a></p>
<h3> <span class="mw-headline">UNELTE SOFTWARE</span></h3>
<p>Pentru acest proiect am folosit avr-studio, win-avr pentru compilatorul gcc-avr &#351;i Proteus pentru simulare.</p>
<p><a name="Concluzii" id="Concluzii"></a></p>
<h2> <span class="mw-headline">Concluzii</span></h2>
<p>Datorit&#259; problemelor software men&#355;ionate la punctul anterior dispozitivul nu poate fi utilizat în lumea real&#259;. Dac&#259; problemele acestea ar fi dep&#259;&#351;ite, proiectul ar putea fi cu adev&#259;rat util. Printre dezvolt&#259;rile ulterioare ce ar putea fi realizate a&#351; enumera folosirea unui algoritm de criptare mai performant (sl&#259;biciunile lui ARCFOUR au fost demonstrate de spargerea cript&#259;rii WEP), critarea fi&#351;ierelor &#351;i/sau a directoarelor, etc. Dac&#259; la faza 2 am spus c&#259; voi folosi întreruperi pentru a decide dac&#259; e vorba de codare sau decodare, pân&#259; la urm&#259; am renun&#355;at la aceast&#259; solu&#355;ie ca fiind nepractic&#259; (se poate uita foarte u&#351;or s&#259; se apese pe buton). Singura problem&#259; hardware cu adev&#259;rat dificil&#259; a fost defectarea stabilizatorului de 3,3V. Cum toate magazinele de specialitate erau în inventar, am recurs la o schem&#259; de stabilizare folosind o diod&#259; Zener &#351;i o rezisten&#355;&#259; de 100&#937;, care d&#259; o tensiune de aproximativ 3,2V, în limitele de func&#355;ionare ale cardului.</p>
<p><a name="Referinte_.C5.9Fi_Link-uri" id="Referinte_.C5.9Fi_Link-uri"></a></p>
<h2><span class="mw-headline">Referinte &#351;i Link-uri</span></h2>
<ol>
<li>Schema electric&#259; pentru MMC: <a href="http://www.captain.at/electronic-atmega-mmc.php" class="external free" title="http://www.captain.at/electronic-atmega-mmc.php" rel="nofollow">http://www.captain.at/electronic-atmega-mmc.php</a></li>
<li>Codarea RC4: <a href="http://en.wikipedia.org/wiki/RC4" class="external free" title="http://en.wikipedia.org/wiki/RC4" rel="nofollow">http://en.wikipedia.org/wiki/RC4</a></li>
<li>Date tehnice MMC: <a href="http://mmc.drzeus.cx/wiki/" class="external free" title="http://mmc.drzeus.cx/wiki/" rel="nofollow">http://mmc.drzeus.cx/wiki/</a></li>
<li>Comenzi MMC în modul SPI: <a href="http://elm-chan.org/docs/mmc/mmc_e.html" class="external free" title="http://elm-chan.org/docs/mmc/mmc_e.html" rel="nofollow">http://elm-chan.org/docs/mmc/mmc_e.html</a></li>
</ol>
<div class='sociable'><div><span class='sociable-tagline'><strong>Share and Enjoy:</strong></span></div><ul><li><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.strainu.ro%2Fprojects%2Fmasina-de-codare-cu-algoritmul-arcfour-si-microcontrollerul-atmel-atmega16%2F&amp;t=Ma%C5%9Fin%C4%83%20de%20codare%20cu%20algoritmul%20ARCFOUR%20%C5%9Fi%20microcontrollerul%20Atmel%20ATmega16" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Ma%C5%9Fin%C4%83%20de%20codare%20cu%20algoritmul%20ARCFOUR%20%C5%9Fi%20microcontrollerul%20Atmel%20ATmega16%20-%20http%3A%2F%2Fwww.strainu.ro%2Fprojects%2Fmasina-de-codare-cu-algoritmul-arcfour-si-microcontrollerul-atmel-atmega16%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.strainu.ro%2Fprojects%2Fmasina-de-codare-cu-algoritmul-arcfour-si-microcontrollerul-atmel-atmega16%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow" target="_blank"  href="mailto:?subject=Ma%C5%9Fin%C4%83%20de%20codare%20cu%20algoritmul%20ARCFOUR%20%C5%9Fi%20microcontrollerul%20Atmel%20ATmega16&amp;body=http%3A%2F%2Fwww.strainu.ro%2Fprojects%2Fmasina-de-codare-cu-algoritmul-arcfour-si-microcontrollerul-atmel-atmega16%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/email_link.png" class="sociable-img sociable-hovers" title="email" alt="email" /></a></li><li><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a></li><li><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.strainu.ro%2Fprojects%2Fmasina-de-codare-cu-algoritmul-arcfour-si-microcontrollerul-atmel-atmega16%2F&amp;title=Ma%C5%9Fin%C4%83%20de%20codare%20cu%20algoritmul%20ARCFOUR%20%C5%9Fi%20microcontrollerul%20Atmel%20ATmega16&amp;bodytext=%0D%0A%0D%0A%0D%0A%0D%0APentru%20versiunea%20original%26%23259%3B%20a%20articolului%2C%20inclusiv%20codul%2C%20vezi%20pagina%20de%20proiecte.%0D%0A%0D%0A%0D%0A%0D%0A%0D%0ACuprins%0D%0A%0D%0A%0D%0A1%20Ideea%20proiectului%0D%0A%0D%0A1.1%20Codarea%0D%0A1.2%20Decodarea%0D%0A%0D%0A%0D%0A%0D%0A2%20Modalitatea%20de%20implementare%0D%0A3%20Partea%20hardware%0D%0A%0D%0A3.1%20Comunicarea%20cu%20card" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.strainu.ro%2Fprojects%2Fmasina-de-codare-cu-algoritmul-arcfour-si-microcontrollerul-atmel-atmega16%2F&amp;title=Ma%C5%9Fin%C4%83%20de%20codare%20cu%20algoritmul%20ARCFOUR%20%C5%9Fi%20microcontrollerul%20Atmel%20ATmega16" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.strainu.ro/projects/masina-de-codare-cu-algoritmul-arcfour-si-microcontrollerul-atmel-atmega16/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Configurarea Linksys WRT54GL pentru mărirea TTL-ului</title>
		<link>http://www.strainu.ro/articles/configurarea-linksys-wrt54gl-pentru-marirea-ttl-ului/</link>
		<comments>http://www.strainu.ro/articles/configurarea-linksys-wrt54gl-pentru-marirea-ttl-ului/#comments</comments>
		<pubDate>Tue, 21 Nov 2006 19:42:22 +0000</pubDate>
		<dc:creator>Strainu</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[czone ttl=1]]></category>
		<category><![CDATA[Linksys WRT54GL]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[router wireless]]></category>

		<guid isPermaLink="false">http://www.strainu.ro/site/?p=198</guid>
		<description><![CDATA[Cuprins 1 Introducere 1.1 Ce este TTL? 1.2 Cum se poate modifica TTL? 2 Cerin&#355;e 2.1 Cuno&#351;tin&#355;e necesare 2.2 Cerin&#355;e hardware 2.2.1 Linksys WRT54GL 3 Instalarea OpenWrt 4 Configurarea 4.1 Configurarea minimal&#259; a routerului 4.1.1 Stabilirea unei parole 4.1.2 Instalarea libr&#259;riilor necesare 4.1.3 Configurarea interfe&#355;ei externe 4.1.4 Configurarea interfe&#355;ei cu re&#355;eaua local&#259; 4.1.5 Configurarea re&#355;elei [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
<!--
	#content {
	  padding: 0 1em 1.5em 1em;
	  background: white;
	  color: black;
	  line-height: 1.5em;
	  position: relative;
	  z-index: 2;
        }</p>
<p>/* Font size:
** We take advantage of keyword scaling- browsers won't go below 9px
** More at http://www.w3.org/2003/07/30-font-size
** http://style.cleverchimp.com/font_size_intervals/altintervals.html
*/</p>
<p>body {
	color: black;
	margin: 0;
	padding: 0;
}</p>
<p>/* general styles */</p>
<p>table {
	font-size: 100%;
	color: black;
	/* we don't want the bottom borders of 
<h2>s to be visible through
	   floated tables */
	background-color: white;
}</p>
<p>img {
	border: none;
	vertical-align: middle;
}</p>
<p>p img {
	margin: 0;
}</p>
<p>hr {
	height: 1px;
	color: #aaa;
	background-color: #aaa;
	border: 0;
	margin: .2em 0 .2em 0;
}</p>
<p>ul {
	line-height: 1.5em;
	list-style-type: square;
	margin: .3em 0 0 1.5em;
	padding: 0;
	list-style-image: url(bullet.gif);
}
ol {
	line-height: 1.5em;
	margin: .3em 0 0 3.2em;
	padding: 0;
	list-style-image: none;
}
li {
	margin-bottom: .1em;
}
dt {
	font-weight: bold;
	margin-bottom: .1em;
}
dl {
	margin-top: .2em;
	margin-bottom: .5em;
}
dd {
	line-height: 1.5em;
	margin-left: 2em;
	margin-bottom: .1em;
}</p>
<p>fieldset {
	border: 1px solid #2f6fab;
	margin: 1em 0 1em 0;
	padding: 0 1em 1em;
	line-height: 1.5em;
}
legend {
	padding: .5em;
	font-size: 95%;
}
form {
	border: none;
	margin: 0;
}</p>
<p>textarea {
	width: 100%;
	padding: .1em;
}</p>
<p>select {
	vertical-align: top;
}
abbr, acronym, .explain {
	border-bottom: 1px dotted black;
	color: black;
	background: none;
	cursor: help;
}
q {
	font-family: Times, "Times New Roman", serif;
	font-style: italic;
}</p>
<p>code {
	background-color: #f9f9f9;
}
pre {
	padding: 1em;
	border: 1px dashed #2f6fab;
	color: black;
	background-color: #f9f9f9;
	line-height: 1.1em;
}</p>
<p>/*
** the main content area
*/</p>
<p>#contentSub, #contentSub2 {
	font-size: 84%;
	line-height: 1.2em;
	margin: 0 0 1.4em 1em;
	color: #7d7d7d;
	width: auto;
}
span.subpages {
	display: block;
}</p>
<p>/* Some space under the headers in the content area */
#bodyContent h1, #bodyContent h2 {
	margin-bottom: .6em;
}
#bodyContent h3, #bodyContent h4, #bodyContent h5 {
	margin-bottom: .3em;
}
.firstHeading {
	margin-bottom: .1em;
}</p>
<p>/* user notification thing */
.usermessage {
	background-color: #ffce7b;
	border: 1px solid #ffa500;
	color: black;
	font-weight: bold;
	margin: 2em 0 1em;
	padding: .5em 1em;
	vertical-align: middle;
}
#siteNotice {
	text-align: center;
	font-size: 95%;
	padding: 0 .9em;
}
#siteNotice p {
	margin: 0;
	padding: 0;
}
.error {
	color: red;
	font-size: larger;
}
.errorbox, .successbox {
	font-size: larger;
	border: 2px solid;
	padding: .5em 1em;
	float: left;
	margin-bottom: 2em;
	color: #000;
}
.errorbox {
	border-color: red;
	background-color: #fff2f2;
}
.successbox {
	border-color: green;
	background-color: #dfd;
}
.errorbox h2, .successbox h2 {
	font-size: 1em;
	font-weight: bold;
	display: inline;
	margin: 0 .5em 0 0;
	border: none;
}</p>
<p>#catlinks {
	border: 1px solid #aaa;
	background-color: #f9f9f9;
	padding: 5px;
	margin-top: 1em;
	clear: both;
}</p>
<p>/* emulate center */
.center {
	width: 100%;
	text-align: center;
}
*.center * {
	margin-left: auto;
	margin-right: auto;
}
/* small for tables and similar */
.small, .small * {
	font-size: 94%;
}
table.small {
	font-size: 100%;
}</p>
<p>/*
** content styles
*/</p>
<p>#toc{
	border: 1px solid #aaa;
	background-color: #f9f9f9;
	padding: 5px;
	font-size: 95%;
}
.toc{
	border: 1px solid #aaa;
	background-color: #f9f9f9;
	padding: 5px;
	font-size: 95%;
}</p>
<p>#toc h2 {
	display: inline;
	border: none;
	padding: 0;
	font-size: 100%;
	font-weight: bold;
}
.toc h2 {
	display: inline;
	border: none;
	padding: 0;
	font-size: 100%;
	font-weight: bold;
}
#toc #toctitle,
.toc #toctitle,
#toc .toctitle,
.toc .toctitle {
	text-align: center;
}
#toc ul,
.toc ul {
	list-style-type: none;
	list-style-image: none;
	margin-left: 0;
	padding-left: 0;
	text-align: left;
}
#toc ul ul,
.toc ul ul {
	margin: 0 0 0 2em;
}
#toc .toctoggle,
.toc .toctoggle {
	font-size: 94%;
}</p>
<p>.mw-warning {
	margin-left: 50px;
	margin-right: 50px;
	text-align: center;
}</p>
<p>/* images */
div.floatright, table.floatright {
	clear: right;
	float: right;
	position: relative;
	margin: 0 0 .5em .5em;
	border: 0;
/*
	border: .5em solid white;
	border-width: .5em 0 .8em 1.4em;
*/
}
div.floatright p { font-style: italic; }
div.floatleft, table.floatleft {
	float: left;
	clear: left;
	position: relative;
	margin: 0 .5em .5em 0;
	border: 0;
}
div.floatleft p { font-style: italic; }
/* thumbnails */
div.thumb {
	margin-bottom: .5em;
	border-style: solid;
	border-color: white;
	width: auto;
}
div.thumbinner {
	border: 1px solid #ccc;
	padding: 3px !important;
	background-color: #f9f9f9;
	font-size: 94%;
	text-align: center;
	overflow: hidden;
}
html .thumbimage {
	border: 1px solid #ccc;
}
html .thumbcaption {
	border: none;
	text-align: left;
	line-height: 1.4em;
	padding: 3px !important;
	font-size: 94%;
}
div.magnify {
	float: right;
	border: none !important;
	background: none !important;
}
div.magnify a, div.magnify img {
	display: block;
	border: none !important;
	background: none !important;
}
div.tright {
	clear: right;
	float: right;
	border-width: .5em 0 .8em 1.4em;
}
div.tleft {
	float: left;
	clear: left;
	margin-right: .5em;
	border-width: .5em 1.4em .8em 0;
}</p>
<p>.hiddenStructure {
	display: none;
	speak: none;
}
img.tex {
	vertical-align: middle;
}
span.texhtml {
	font-family: serif;
}</p>
<p>/*
** classes for special content elements like town boxes
** intended to be referenced directly from the wiki src
*/</p>
<p>/*
** User styles
*/
/* table standards */
table.rimage {
	float: right;
	position: relative;
	margin-left: 1em;
	margin-bottom: 1em;
	text-align: center;
}
.toccolours {
	border: 1px solid #aaa;
	background-color: #f9f9f9;
	padding: 5px;
	font-size: 95%;
}
div.townBox {
	position: relative;
	float: right;
	background: white;
	margin-left: 1em;
	border: 1px solid gray;
	padding: .3em;
	width: 200px;
	overflow: hidden;
	clear: right;
}
div.townBox dl {
	padding: 0;
	margin: 0 0 .3em;
	font-size: 96%;
}
div.townBox dl dt {
	background: none;
	margin: .4em 0 0;
}
div.townBox dl dd {
	margin: .1em 0 0 1.1em;
	background-color: #f3f3f3;
}</p>
<p>#login-sectiontip {
	font-size: 85%;
	line-height: 1.2;
	padding-top: 2em;
}</p>
<p>.redirectText {
	font-size: 150%;
	margin: 5px;
}</p>
<p>.printfooter {
	display: none;
}</p>
<p>table.gallery {
	border: 1px solid #ccc;
	margin: 2px;
	padding: 2px;
	background-color: white;
}</p>
<p>table.gallery tr {
	vertical-align: top;
}</p>
<p>table.gallery td {
	vertical-align: top;
	background-color: #f9f9f9;
	border: solid 2px white;
}</p>
<p>table.gallery td.galleryheader {
	text-align: center;
	font-weight: bold;
}</p>
<p>div.gallerybox {
	margin: 2px;
	width:  150px;
}</p>
<p>div.gallerybox div.thumb {
	text-align: center;
	border: 1px solid #ccc;
	margin: 2px;
}</p>
<p>div.gallerytext {
	font-size: 94%;
	padding: 2px 4px;
}</p>
<p>span.comment {
	font-style: italic;
}</p>
<p>span.changedby {
	font-size: 95%;
}</p>
<p>.previewnote {
	text-indent: 3em;
	color: #c00;
	border-bottom: 1px solid #aaa;
	padding-bottom: 1em;
	margin-bottom: 1em;
}</p>
<p>.previewnote p {
	margin: 0;
	padding: 0;
}</p>
<p>li span.deleted, span.history-deleted {
	text-decoration: line-through;
	color: #888;
	font-style: italic;
}</p>
<p>.toggle {
	margin-left: 2em;
	text-indent: -2em;
}</p>
<p>.imagelist td, .imagelist th { white-space: nowrap }
.imagelist .TablePager_col_links { background-color: #eeeeff }
.imagelist .TablePager_col_img_description { white-space: normal }
.imagelist th.TablePager_sort { background-color: #ccccff }</p>
<p>-->
</style>
<table id="toc" class="toc" summary="Cuprins">
<tr>
<td>
<div id="toctitle">
<h2>Cuprins</h2>
</div>
<ul>
<li class="toclevel-1"><a href="#Introducere"><span class="tocnumber">1</span> <span class="toctext">Introducere</span></a>
<ul>
<li class="toclevel-2"><a href="#Ce_este_TTL.3F"><span class="tocnumber">1.1</span> <span class="toctext">Ce este TTL?</span></a></li>
<li class="toclevel-2"><a href="#Cum_se_poate_modifica_TTL.3F"><span class="tocnumber">1.2</span> <span class="toctext">Cum se poate modifica TTL?</span></a></li>
</ul>
</li>
<li class="toclevel-1"><a href="#Cerin.C5.A3e"><span class="tocnumber">2</span> <span class="toctext">Cerin&#355;e</span></a>
<ul>
<li class="toclevel-2"><a href="#Cuno.C5.9Ftin.C5.A3e_necesare"><span class="tocnumber">2.1</span> <span class="toctext">Cuno&#351;tin&#355;e necesare</span></a></li>
<li class="toclevel-2"><a href="#Cerin.C5.A3e_hardware"><span class="tocnumber">2.2</span> <span class="toctext">Cerin&#355;e hardware</span></a>
<ul>
<li class="toclevel-3"><a href="#Linksys_WRT54GL"><span class="tocnumber">2.2.1</span> <span class="toctext">Linksys WRT54GL</span></a></li>
</ul>
</li>
</ul>
</li>
<li class="toclevel-1"><a href="#Instalarea_OpenWrt"><span class="tocnumber">3</span> <span class="toctext">Instalarea OpenWrt</span></a></li>
<li class="toclevel-1"><a href="#Configurarea"><span class="tocnumber">4</span> <span class="toctext">Configurarea</span></a>
<ul>
<li class="toclevel-2"><a href="#Configurarea_minimal.C4.83_a_routerului"><span class="tocnumber">4.1</span> <span class="toctext">Configurarea minimal&#259; a routerului</span></a>
<ul>
<li class="toclevel-3"><a href="#Stabilirea_unei_parole"><span class="tocnumber">4.1.1</span> <span class="toctext">Stabilirea unei parole</span></a></li>
<li class="toclevel-3"><a href="#Instalarea_libr.C4.83riilor_necesare"><span class="tocnumber">4.1.2</span> <span class="toctext">Instalarea libr&#259;riilor necesare</span></a></li>
<li class="toclevel-3"><a href="#Configurarea_interfe.C5.A3ei_externe"><span class="tocnumber">4.1.3</span> <span class="toctext">Configurarea interfe&#355;ei externe</span></a></li>
<li class="toclevel-3"><a href="#Configurarea_interfe.C5.A3ei_cu_re.C5.A3eaua_local.C4.83"><span class="tocnumber">4.1.4</span> <span class="toctext">Configurarea interfe&#355;ei cu re&#355;eaua local&#259;</span></a></li>
<li class="toclevel-3"><a href="#Configurarea_re.C5.A3elei_Wireless"><span class="tocnumber">4.1.5</span> <span class="toctext">Configurarea re&#355;elei Wireless</span></a></li>
</ul>
</li>
<li class="toclevel-2"><a href="#Configurarea_calculatoarelor"><span class="tocnumber">4.2</span> <span class="toctext">Configurarea calculatoarelor</span></a></li>
<li class="toclevel-2"><a href="#M.C4.83rirea_TTL-ului"><span class="tocnumber">4.3</span> <span class="toctext">M&#259;rirea TTL-ului</span></a></li>
<li class="toclevel-2"><a href="#Alte_configur.C4.83ri"><span class="tocnumber">4.4</span> <span class="toctext">Alte configur&#259;ri</span></a>
<ul>
<li class="toclevel-3"><a href="#Forwardarea_unui_port"><span class="tocnumber">4.4.1</span> <span class="toctext">Forwardarea unui port</span></a></li>
<li class="toclevel-3"><a href="#Blocarea_unui_port"><span class="tocnumber">4.4.2</span> <span class="toctext">Blocarea unui port</span></a></li>
</ul>
</li>
</ul>
</li>
<li class="toclevel-1"><a href="#Note_specifice_CZONE"><span class="tocnumber">5</span> <span class="toctext">Note specifice CZONE</span></a></li>
<li class="toclevel-1"><a href="#Concluzii"><span class="tocnumber">6</span> <span class="toctext">Concluzii</span></a></li>
<li class="toclevel-1"><a href="#Bibliografie"><span class="tocnumber">7</span> <span class="toctext">Bibliografie</span></a></li>
</ul>
</td>
</tr>
</table>
<p><a name="Introducere"></a></p>
<h2><span class="editsection"><a name="Introducere"></a></span><a name="Introducere"></a> <span class="mw-headline">Introducere</span></h2>
<p><a name="Introducere"></a><a name="Introducere"></a>În <a title="România" href="http://ro.wikipedia.org/wiki/Rom%C3%A2nia">România</a> exist&#259; foarte mul&#355;i <a title="ISP" href="http://ro.wikipedia.org/wiki/ISP">ISP</a> care trimit pachetele c&#259;tre utilizatori cu ttl=1, pentru a împiedica <em>furtul de net</em>. Din p&#259;cate acest lucru afecteaz&#259; &#351;i utilizatorii cinsti&#355;i, care posed&#259; mai multe calculatoare &#351;i doresc s&#259; le conecteze în re&#355;ea, eventual wireless.</p>
<p>Acest articol va explica cum se poate realiza acest lucru cu ajutorul unui router care ruleaz&#259; <a title="Linux" href="http://ro.wikipedia.org/wiki/Linux">Linux</a>.</p>
<p><a name="Ce_este_TTL.3F"></a></p>
<h3><span class="editsection"><a name="Ce_este_TTL.3F"></a></span> <span class="mw-headline">Ce este TTL?</span></h3>
<p><strong>TTL</strong>, sau <em>Time to live</em>, este un câmp din antetul pachetelor <a class="extiw" title="en:Internet_Protocol" href="http://en.wikipedia.org/wiki/Internet_Protocol">IP</a> care precizeaz&#259; prin câte servere/routere poate trece pachetul respectiv. Acest câmp este setat de calculatorul care trimite pachetul &#351;i este decrementat de fiecare router prin care va trece. Când valoarea sa ajunge la 0, pachetul este distrus. Dup&#259; cum spuneam, anumi&#355;i ISP modific&#259; valoarea TTL-ului la 1 pentru toate pachetele la ultimul router înainte de calculatorul utilizatorului. În acest fel, dac&#259; înainte de calculator mai pui un router, toate pachetele primite vor fi distruse de acesta.</p>
<p><a name="Cum_se_poate_modifica_TTL.3F"></a></p>
<h3><span class="editsection"><a name="Cum_se_poate_modifica_TTL.3F"></a></span> <span class="mw-headline">Cum se poate modifica TTL?</span></h3>
<p>Un r&#259;spuns simplu este: în loc s&#259;-l decrement&#259;m, îl set&#259;m la orice valoare dorim. În Linux, acest lucru se realizeaz&#259; prin comada <em>iptables</em>. Cum se procedeaz&#259; exact pute&#355;i afla din <a href="#Bibliografie">[7]</a>. Pentru comenzile care v&#259; trebuie pentru modificarea TTL, citi&#355;i în continuare. <img src='http://www.strainu.ro/site/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a name="Cerin.C5.A3e"></a></p>
<h2><span class="editsection"><a name="Cerin.C5.A3e"></a></span><span class="mw-headline">Cerin&#355;e</span></h2>
<div class="errorbox"><strong>ATENTIE!</strong> Instalarea unui alt firmware decât cel original duce la <em>pierderea garan&#355;iei</em> &#351;i poate provoca distrugerea routerului. Toate opera&#355;iunile pe care le face&#355;i <strong>SUNT PE R&#258;SPUNDEREA DVS.</strong> În nici un caz nu pot fi tras la r&#259;spundere pentru pagubele de orice fel provocate de încercarea de a implementa metoda prezentat&#259; în acest articol.</div>
<p><a name="Cuno.C5.9Ftin.C5.A3e_necesare"></a></p>
<h3><span class="editsection"><a name="Cuno.C5.9Ftin.C5.A3e_necesare"></a></span><span class="mw-headline">Cuno&#351;tin&#355;e necesare</span></h3>
<p><strong>CUNO&#350;TIN&#354;E INDISPENSABILE</strong> (aka <em>dac&#259; nu e&#351;ti sigur pe astea las-o balt&#259;</em>):</p>
<ul>
<li>lucrul în linie de comand&#259; în Linux;</li>
<li>configurarea pl&#259;cii de re&#355;ea pe sistemul t&#259;u de operare (adres&#259; IP, adres&#259; de re&#355;ea, netmask, DNS, DHCP);</li>
<li>cuno&#351;tin&#355;e despre rutare;</li>
<li>folosirea unei interfe&#355;e web (de&#351;i dac&#259; ai ajuns s&#259; cite&#351;ti asta probabil c&#259; m&#259;car atât e&#351;ti în stare)</li>
</ul>
<p><strong>CUNO&#350;TIN&#354;E RECOMANDATE</strong> (aka <em>caut&#259; &#351;i tu pe net</em>):</p>
<ul>
<li>cum se poate prinde ISP-ul c&#259; tu ai router;</li>
<li>securitatea în re&#355;ele wireless (dac&#259; ai un router wireless)</li>
</ul>
<p><a name="Cerin.C5.A3e_hardware"></a></p>
<h3><span class="editsection"><a name="Cerin.C5.A3e_hardware"></a></span><span class="mw-headline">Cerin&#355;e hardware</span></h3>
<p>Pentru a implementa aceast&#259; solu&#355;ie, ave&#355;i nevoie de un router care s&#259; ruleze Linux. O list&#259; a routerelor suportate de OpenWrt g&#259;si&#355;i <a class="external text" title="http://wiki.openwrt.org/TableOfHardware" rel="nofollow" href="http://wiki.openwrt.org/TableOfHardware">aici</a>.</p>
<p><a name="Linksys_WRT54GL"></a></p>
<h4><span class="editsection"><a name="Linksys_WRT54GL"></a></span> <span class="mw-headline">Linksys WRT54GL</span></h4>
<p>Eu am ales un router <a class="extiw" title="en:WRT54G" href="http://en.wikipedia.org/wiki/WRT54G">Linksys WRT54GL</a>. WRT54G a fost primul router la care Linksys a f&#259;cut publice sursele firmwareului s&#259;u. Ulterior, Linksys a trecut de la Linux la <a class="extiw" title="en:vxWorks" href="http://en.wikipedia.org/wiki/vxWorks">VxWorks</a> dar a scos pe pia&#355;&#259; modelul GL care ruleaz&#259; în continuare Linux. Pute&#355;i g&#259;si pre&#355;uri c&#259;utând pe <a class="external text" title="http://www.google.ro/search?hs=V4p&#038;hl=ro&#038;client=firefox-a&#038;rls=org.mozilla%3Aen-US%3Aofficial&#038;q=linksys+wrt54gl&#038;btnG=Caut%C4%83&#038;meta=lr%3Dlang_ro" rel="nofollow" href="http://www.google.ro/search?hs=V4p&#038;hl=ro&#038;client=firefox-a&#038;rls=org.mozilla%3Aen-US%3Aofficial&#038;q=linksys+wrt54gl&#038;btnG=Caut%C4%83&#038;meta=lr%3Dlang_ro">Google</a>.</p>
<div><a class="external free" href="http://www.flickr.com/photos/strainu/299673679/" title="Photo Sharing"><img class="external free" src="http://static.flickr.com/117/299673679_d798e86218_m.jpg" width="240" height="180" alt="dsc01550" /></a><a class="external free"  href="http://www.flickr.com/photos/strainu/299673683/" title="Photo Sharing"><img class="external free"  src="http://static.flickr.com/109/299673683_af1d8ce849_m.jpg" width="240" height="180" alt="dsc01549" /></a><br />
<a class="external free" href="http://www.flickr.com/photos/strainu/299673685/" title="Photo Sharing"><img class="external free" src="http://static.flickr.com/110/299673685_71d06c00fe_m.jpg" width="240" height="180" alt="dsc01548" /><br />
</a></div>
<p><a name="Instalarea_OpenWrt"></a></p>
<h2><span class="editsection"><a name="Instalarea_OpenWrt"></a></span><span class="mw-headline">Instalarea OpenWrt</span></h2>
<p>OpenWrt este una din multele distribu&#355;ii de Linux ap&#259;rute pentru routerele care ruleaz&#259; Linux. De&#351;i nu exist&#259; înc&#259; versiunea 1.0 (deci teoretic sistemul este înc&#259; în faza de testare), OpenWrt este suficient de stabil pentru utilizatorii obi&#351;nui&#355;i.</p>
<dl>
<dd><em>Înainte de orice, citi&#355;i <a class="external text" title="http://wiki.openwrt.org/OpenWrtDocs/Installing" rel="nofollow" href="http://wiki.openwrt.org/OpenWrtDocs/Installing">ghidul oficial de instalare</a></em></dd>
</dl>
<p>Modalitatea cea mai simpl&#259; de instalare, precum &#351;i singura prezentat&#259; aici, este din interfa&#355;a web a routerului. Eu personal v&#259; recomand s&#259; seta&#355;i conexiunea la internet din interfa&#355;a web ÎNAINTE de a instala OpenWrt. Valorile setate se vor p&#259;stra.</p>
<ol>
<li>Downloada&#355;i de <a class="external text" title="http://downloads.openwrt.org/whiterussian/newest/" rel="nofollow" href="http://downloads.openwrt.org/whiterussian/newest/">aici</a> imaginea de firmware corespunz&#259;toare routerului folosit (pentru WRT54GL fisierul este <em>openwrt-wrt54g-squashfs.bin</em> )</li>
<li>Intra&#355;i în interfa&#355;a web la adresa <a class="external free" title="http://192.168.1.1/" rel="nofollow" href="http://192.168.1.1/">http://192.168.1.1/</a> &#351;i merge&#355;i la <strong>system -> administration -> firmware upgrade</strong></li>
<li>Alege&#355;i fi&#351;ierul downloadat &#351;i cu asta basta!</li>
<div class="error"><strong>ATEN&#354;IE!</strong> Instalarea NU trebuie întrerupt&#259; sub nici un motiv! Ave&#355;i grij&#259; s&#259; nu se întrerup&#259; curentul în timpul instal&#259;rii. Dac&#259; ave&#355;i un UPS, folosi&#355;i-l. O instalare întrerupt&#259; poate duce la distrugerea routerului.</div>
<li>Dup&#259; instalarea OpenWrt este recomandat&#259; (dar nu neap&#259;rat necesar&#259;) instalarea <a class="external text" title="http://xwrt.berlios.de/xwrt.asp" rel="nofollow" href="http://xwrt.berlios.de/xwrt.asp">X-Wrt</a>, un set de pachete care amelioreaz&#259; interfa&#355;a cu utilizatorul a OpenWrt. Principala component&#259; este webif<sup>2</sup>, o interfa&#355;&#259; web complet modificat&#259;. Instalarea X-Wrt se poate face online, direct din pagina principal&#259; a proiectului. Pozele prezentate în continuare folosesc X-Wrt. Multe dintre ele pot fi din versiuni mai vechi, dar în principiu nu exist&#259; deosebiri esen&#355;iale.</li>
</ol>
<p><a name="Configurarea"></a></p>
<h2><span class="editsection"><a name="Configurarea"></a></span><span class="mw-headline">Configurarea</span></h2>
<p><a name="Configurarea_minimal.C4.83_a_routerului"></a></p>
<h3><span class="editsection"><a name="Configurarea_minimal.C4.83_a_routerului"></a></span> <span class="mw-headline">Configurarea minimal&#259; a routerului</span></h3>
<p>Dup&#259; ce modifica&#355;i ceva din set&#259;ri, aminti&#355;i-v&#259; s&#259; ap&#259;sa&#355;i pe butonul &#8220;Save&#8221;. La sf&#259;r&#351;it trebuie s&#259; ap&#259;sa&#355;i pe leg&#259;tura &#8220;Apply Changes&#8221; pentru ca modificarile s&#259; fie efectuate pe router</p>
<p><a name="Stabilirea_unei_parole"></a></p>
<h4><span class="editsection"><a name="Stabilirea_unei_parole"></a></span><span class="mw-headline">Stabilirea unei parole</span></h4>
<p>La prima pornire a OpenWrt vi se va cere s&#259; v&#259; seta&#355;i o parol&#259; pentru utilizatorul root. Acest lucru este necesar pentru asigurarea securit&#259;&#355;ii routerului.</p>
<p><a name="Instalarea_libr.C4.83riilor_necesare"></a></p>
<h4><span class="editsection"><a name="Instalarea_libr.C4.83riilor_necesare"></a></span><span class="mw-headline">Instalarea libr&#259;riilor necesare</span></h4>
<p>Pentru a realiza configur&#259;rile prezentate mai jos, ave&#355;i nevoie de câteva pachete suplimentare. Instalarea lor se face foarte u&#351;or din interfa&#355;a web, mai exact din tabul <strong>System ->Packages</strong>. Trebuie s&#259; alege&#355;i din lista de pachete disponibile toate pachetele care încep cu <strong>iptables-</strong> sau cu <strong>kmod-ipt-</strong>. În mod normal, dac&#259; instala&#355;i pachetul <strong>iptables-extra</strong>, celelalte pachete necesare vor fi instalate automat. Dac&#259; nu, ap&#259;sa&#355;i pe linkul <em>Install</em> de lâng&#259; fiecare pachet.</p>
<p><a name="Configurarea_interfe.C5.A3ei_externe"></a></p>
<h4><span class="editsection"><a name="Configurarea_interfe.C5.A3ei_externe"></a></span><span class="mw-headline">Configurarea interfe&#355;ei externe</span></h4>
<p>În interfa&#355;a de re&#355;ea WAN ve&#355;i introduce cablul de re&#355;ea care vine de la ISP/modemul de cablu/modemul ADSL. Pentru a o configura, merge&#355;i în interfa&#355;a web la tabul <strong>Network ->WAN-LAN -> WAN Configuration</strong>. Configurarea este intuitiv&#259;, ea sem&#259;nând destul de mult cu cea din Windows. Singurul lucru care merit&#259; men&#355;ionat este s&#259; v&#259; salva&#355;i modific&#259;rile înainte de a ad&#259;uga un server DNS. <br /><a href="http://wiki.x-wrt.org/images/thumb/b/b6/Wrp_network-wan-lan.png" alt="network_lan"><img src="http://wiki.x-wrt.org/images/thumb/b/b6/Wrp_network-wan-lan.png/120px-Wrp_network-wan-lan.png" alt="WAN-LAN" /></a></p>
<p><a name="Configurarea_interfe.C5.A3ei_cu_re.C5.A3eaua_local.C4.83"></a></p>
<h4><span class="editsection"><a name="Configurarea_interfe.C5.A3ei_cu_re.C5.A3eaua_local.C4.83"></a></span><span class="mw-headline">Configurarea interfe&#355;ei cu re&#355;eaua local&#259;</span></h4>
<p>Pentru a modifica aceste set&#259;ri, merge&#355;i în interfa&#355;a web la tabul <strong>Network ->WAN-LAN -> WAN Configuration</strong>. În principiu, set&#259;rile default ar trebui s&#259; fie OK. <br /><a href="http://wiki.x-wrt.org/images/thumb/b/b6/Wrp_network-wan-lan.png" alt="network_lan"><img src="http://wiki.x-wrt.org/images/thumb/b/b6/Wrp_network-wan-lan.png/120px-Wrp_network-wan-lan.png" alt="WAN-LAN" /></a></p>
<p><a name="Configurarea_re.C5.A3elei_Wireless"></a></p>
<h4><span class="editsection"><a name="Configurarea_re.C5.A3elei_Wireless"></a></span><span class="mw-headline">Configurarea re&#355;elei Wireless</span></h4>
<p>Dac&#259; ave&#355;i &#351;i o interfa&#355;&#259; wireless, o pute&#355;i configura din tabul <strong>Network ->Wireless</strong>. Dac&#259; nu &#351;ti&#355;i cu ce se m&#259;nânc&#259; set&#259;rile respective, c&#259;uta&#355;i pe net sau l&#259;sa&#355;i-le a&#351;a cum sunt. <br /><a href="http://wiki.x-wrt.org/images/7/74/Wrp_network-wifi-lan.png alt="network_lan"><img src="http://wiki.x-wrt.org/images/7/74/Wrp_network-wifi-lan.png/120px-Wrp_network-wifi-lan.png" alt="WLAN" /></a></p>
<p><a name="Configurarea_calculatoarelor"></a></p>
<h3><span class="editsection"><a name="Configurarea_calculatoarelor"></a></span><span class="mw-headline">Configurarea calculatoarelor</span></h3>
<p>Cel mai u&#351;or este s&#259; v&#259; seta&#355;i calculatoarele s&#259;-&#351;i ia adresa IP automat de la serverul DHCP (încorporat în router). Pentru a modifica modul de func&#355;ionare al acestui server, merge&#355;i în interfa&#355;a web a routerului la tabul <strong>Network ->DHCP</strong>. Set&#259;rile default ar trebui s&#259; fie OK.<br /> <a href="http://wiki.x-wrt.org/images/thumb/4/46/Wrp_status-leases.png" alt="dhcp"><img src="http://wiki.x-wrt.org/images/thumb/4/46/Wrp_status-leases.png/120px-Wrp_status-leases.png" alt="DHCP" /></a></p>
<p><a name="M.C4.83rirea_TTL-ului"></a></p>
<h3><span class="editsection"><a name="M.C4.83rirea_TTL-ului"></a></span><span class="mw-headline">M&#259;rirea TTL-ului</span></h3>
<p>În acest moment ave&#355;i o re&#355;ea func&#355;ional&#259;, dar care nu poate accesa Internetul <img src='http://www.strainu.ro/site/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Singurul calculator pentru care ar trebui s&#259; func&#355;ioneze este routerul însu&#351;i. Pentru a verifica acest lucru, loga&#355;i-v&#259; prin ssh la router (un client foarte bun de ssh pentru Windows este <a class="external text" title="http://www.chiark.greenend.org.uk/~sgtatham/putty/" rel="nofollow" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">putty</a>) folosind userul <strong>root</strong> &#351;i parola setat&#259; la instalare, apoi încerca&#355;i s&#259; scrie&#355;i în linia de comand&#259; <strong>ping www.yahoo.com</strong>. Dac&#259; serverul v&#259; r&#259;spunde, a&#355;i terminat cu prima parte. Dac&#259; nu, verifica&#355;i c&#259; a&#355;i b&#259;gat toate firele &#351;i a&#355;i configurat corect routerul.</p>
<p>Observa&#355;i c&#259; mesajele de r&#259;spuns de la yahoo au ttl=1. În continuare vom încerca s&#259; modific&#259;m acest ttl la 64.</p>
<p>Primul lucru (&#351;i de fapt &#351;i singurul) care trebuie f&#259;cut este s&#259; modific&#259;m fi&#351;ierul <strong>/etc/firewall.user</strong>. Acest fi&#351;ier este rulat la start-up &#351;i seteaz&#259; modul în care routerul trateaz&#259; pachetele primite. Pentru modificare trebuie s&#259; folosim editorul <em>vim</em>. Dac&#259; nu sunte&#355;i familiar cu comenzile sale, citi&#355;i mai întâi <a class="external text" title="http://vimdoc.sourceforge.net/htmldoc/usr_toc.html" rel="nofollow" href="http://vimdoc.sourceforge.net/htmldoc/usr_toc.html">manualul</a>.</p>
<ul>
<li>Conecta&#355;i-v&#259; prin ssh la router.</li>
<li>Când v&#259; apare linia de comand&#259;, scrie&#355;i:</li>
</ul>
<pre>vi /etcfirewall.user</pre>
<ul>
<li>Chiar la începutul fi&#351;ierului, ad&#259;uga&#355;i liniile urm&#259;toare:</li>
</ul>
<pre>/sbin/insmod ipt_ttl.o          2> /dev/null 

/sbin/insmod ipt_TTL.o          2> /dev/null 

/sbin/insmod ipt_recent.o          2> /dev/null</pre>
<p>Aceste linii încarc&#259; în kernel anumite libr&#259;rii (suprimând mesajele de eroare)</p>
<ul>
<li>Dac&#259; nu le ave&#355;i deja, introduce&#355;i &#351;i liniile urm&#259;toare:</li>
</ul>
<pre>WAN_IP=$(nvram get wan_ipaddr) 

LAN_IP=$(nvram get lan_ipaddr)</pre>
<ul>
<li>În sfâr&#351;it ajungem &#351;i la liniile care modific&#259; efectiv ttl-ul:</li>
</ul>
<pre>iptables -t mangle -F PREROUTING 

iptables -A PREROUTING -t mangle -d $WAN_IP -j TTL --ttl-set 64</pre>
<p>S&#259; explic&#259;m un pic semnifica&#355;iile comenzilor. Prima linie gole&#351;te, în tabelul <em>mangle</em>, suita de comenzi efectuate înainte de rutarea fiec&#259;rui pachet. A doua linie introduce, în acela&#351;i loc, o nou&#259; comand&#259; care seteaz&#259; ttl-ul la valoarea de 64. Pentru mai multe informa&#355;ii vede&#355;i <a href="#Bibliografie">[6]</a>.</p>
<ul>
<li>Salva&#355;i fi&#351;ierul. În acest moment ar trebui s&#259; pute&#355;i accesa internetul de pe oricare din calculatoarele din re&#355;ea f&#259;r&#259; probleme.</li>
</ul>
<p><a name="Alte_configur.C4.83ri"></a></p>
<h3><span class="editsection"><a name="Alte_configur.C4.83ri"></a></span><span class="mw-headline">Alte configur&#259;ri</span></h3>
<p>Internetul func&#355;ioneaz&#259;, dar ce facem dac&#259; dorim s&#259; rul&#259;m un server sau s&#259; folosim programe p2p gen DC++ sau BitTorrent? R&#259;spunsul este <em>port forwarding</em>. Set&#259;rile respective se pot face din interfa&#355;a web, din tabul <strong>Network ->Firewall</strong>. Acolo pute&#355;i seta reguli de tratare a pachetelor în func&#355;ie de IP/portul surs&#259;/destina&#355;ie. <br /><!--a href="http://wiki.x-wrt.org/index.php/Image:Wrp_network-firewall.png" alt="firewall"><img src="http://wiki.x-wrt.org/images/2/22/Wrp_network-firewall.png" alt="firewall" /--/></p>
<p>În acest tutorial vom ar&#259;ta cum s&#259; deschidem portul necesar pentru a fi &#8220;conectabili&#8221; folosind clientul de torrente BitComet &#351;i cum s&#259; bloc&#259;m accesul SSH pe router din Internet.</p>
<p><a name="Forwardarea_unui_port"></a></p>
<h4><span class="editsection"><a name="Forwardarea_unui_port"></a></span><span class="mw-headline">Forwardarea unui port</span></h4>
<p>BitComet ascult&#259;, în set&#259;rile default, pe portul 7935. Algoritmul prezentat aici poate fi îns&#259; aplicat pentru orice alt port, f&#259;când posibil&#259; rularea unui server în spatele routerului. Dac&#259; dorim ca mai multe calculatoare s&#259; ruleze acel&#351;i program, trebuie s&#259; le asociem porturi diferite pe router.</p>
<ul>
<li>Din <strong>Network ->Firewall</strong> alegem o regul&#259; nou&#259; de tip <em>Forward</em>;</li>
<li>La <em>Forward to</em> scriem adresa calculatorului care va rula BitComet;</li>
<li>La <em>Port</em> scriem 7935 (portul pe care va asculta aplica&#355;ia noastr&#259;;</li>
<li>Din meniul de deasupra alegem <em>Destination Ports</em> &#351;i scriem portul de pe router, în cazul nostru tot 7935;</li>
<li>Ap&#259;sa&#355;i pe <em>Save</em> &#351;i nu uita&#355;i s&#259; &#351;i aplica&#355;i schimb&#259;rile.</li>
</ul>
<p><a name="Blocarea_unui_port"></a></p>
<h4><span class="editsection"><a name="Blocarea_unui_port"></a></span><span class="mw-headline">Blocarea unui port</span></h4>
<p>Blocarea uui port este similar&#259; cu forwardarea. Alegem o regul&#259; de tip <em>Drop</em>, ad&#259;ug&#259;m portul destina&#355;ie (în cazul nostru 22 &#8211; portul default de SSH) &#351;i salv&#259;m</p>
<p><a name="Concluzii"></a></p>
<h2><span class="editsection"><a name="Concluzii"></a></span><span class="mw-headline">Concluzii</span></h2>
<p>Configurarea unui router care ruleaz&#259; linux nu este mai dificil&#259; decât configurarea unui calculator normal cu acest sistem de operare. Singura dificultate ar putea fi reprezentat&#259; de lipsa unei interfe&#355;e grafice, dar aceasta este înlocuit&#259; cu succes de interfa&#355;a web. Totu&#351;i, este recomandat s&#259; v&#259; apuca&#355;i de o asemenea modificare doar dac&#259; &#351;ti&#355;i ce face&#355;i, în caz contrar s-ar putea s&#259; v&#259; trezi&#355;i cu un router inutilizabil (bricked).</p>
<p><a name="Bibliografie"></a></p>
<h2><span class="editsection"><a name="Bibliografie"></a></span><span class="mw-headline">Bibliografie</span></h2>
<ol>
<li><a class="external text" title="http://openwrt.org" rel="nofollow" href="http://openwrt.org">Openwrt.org</a>, furnizorii distribu&#355;iei de linux folosite</li>
<li><a class="external text" title="http://www.linksys.com" rel="nofollow" href="http://www.linksys.com">Linksys.com</a></li>
<li><a class="external text" title="http://forum.openwrt.org/viewtopic.php?id=6158" rel="nofollow" href="http://forum.openwrt.org/viewtopic.php?id=6158">O discu&#355;ie</a> foarte interesant&#259; &#351;i la obiect despre m&#259;rirea TTL</li>
<li><a class="external text" title="http://www.linux.ro/forum/viewtopic.php?topic=22065&#038;forum=8" rel="nofollow" href="http://www.linux.ro/forum/viewtopic.php?topic=22065&#038;forum=8">Linux.ro</a> &#8211; discu&#355;ia de la care a pornit totul</li>
<li><a class="extiw" title="en:WRT54G" href="http://en.wikipedia.org/wiki/WRT54G">Linksys WRT54G/GL/GS pe Wikipedia</a> &#8211; mai multe informa&#355;ii &#351;i firmware-uri alternative</li>
<li><a class="external text" title="http://www.linuxguruz.com/iptables/howto/maniptables.html" rel="nofollow" href="http://www.linuxguruz.com/iptables/howto/maniptables.html">Pagina de manual pentru iptables</a></li>
<li><a class="external text" title="http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/ro/text/Linux-Packet-Filtering-HOWTO" rel="nofollow" href="http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/ro/text/Linux-Packet-Filtering-HOWTO">Linux 2.4 Packet Filtering HOWTO</a> &#8211; un document care explic&#259; în detaliu cum se poate face filtrarea pachetelor pe Linux 2.4</li>
<li><em>Rughini&#351; R, Deaconescu R., Dobrescu M, Iconaru C.</em>, <strong>Administrarea re&#355;elelor locale</strong>, Printech, Bucure&#351;ti, 2006</li>
</ol>
<div class='sociable'><div><span class='sociable-tagline'><strong>Share and Enjoy:</strong></span></div><ul><li><a rel="nofollow" target="_blank"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.strainu.ro%2Farticles%2Fconfigurarea-linksys-wrt54gl-pentru-marirea-ttl-ului%2F&amp;t=Configurarea%20Linksys%20WRT54GL%20pentru%20m%C4%83rirea%20TTL-ului" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/facebook.png" class="sociable-img sociable-hovers" title="Facebook" alt="Facebook" /></a></li><li><a rel="nofollow" target="_blank"  href="http://twitter.com/home?status=Configurarea%20Linksys%20WRT54GL%20pentru%20m%C4%83rirea%20TTL-ului%20-%20http%3A%2F%2Fwww.strainu.ro%2Farticles%2Fconfigurarea-linksys-wrt54gl-pentru-marirea-ttl-ului%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/twitter.png" class="sociable-img sociable-hovers" title="Twitter" alt="Twitter" /></a></li><li><a rel="nofollow" target="_blank"  href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fwww.strainu.ro%2Farticles%2Fconfigurarea-linksys-wrt54gl-pentru-marirea-ttl-ului%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/identica.png" class="sociable-img sociable-hovers" title="Identi.ca" alt="Identi.ca" /></a></li><li><a rel="nofollow" target="_blank"  href="mailto:?subject=Configurarea%20Linksys%20WRT54GL%20pentru%20m%C4%83rirea%20TTL-ului&amp;body=http%3A%2F%2Fwww.strainu.ro%2Farticles%2Fconfigurarea-linksys-wrt54gl-pentru-marirea-ttl-ului%2F" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/email_link.png" class="sociable-img sociable-hovers" title="email" alt="email" /></a></li><li><a rel="nofollow" target="_blank" title="Add to favorites" href="#" onclick="AddToFavorites(); return false;"><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/addtofavorites.png" class="sociable-img sociable-hovers" title="Add to favorites" alt="Add to favorites" /></a></li><li><a rel="nofollow" target="_blank"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.strainu.ro%2Farticles%2Fconfigurarea-linksys-wrt54gl-pentru-marirea-ttl-ului%2F&amp;title=Configurarea%20Linksys%20WRT54GL%20pentru%20m%C4%83rirea%20TTL-ului&amp;bodytext=%0D%0A%0D%0A%0D%0A%0D%0A%0D%0A%09%0D%0A%09%09%0D%0A%0D%0ACuprins%0D%0A%0D%0A%0D%0A%091%20Introducere%0D%0A%0D%0A%091.1%20Ce%20este%20TTL%3F%0D%0A%091.2%20Cum%20se%20poate%20modifica%20TTL%3F%0D%0A%0D%0A%0D%0A%092%20Cerin%26%23355%3Be%0D%0A%0D%0A%092.1%20Cuno%26%23351%3Btin%26%23355%3Be%20necesare%0D%0A%092.2%20Cerin%26%23355%3Be%20hardware%0D%0A%0D%0A%092.2.1%20Linksys%20WRT54GL%0D%0A%0D%0A%0D%0A%0D%0A%0D%0A%093%20Instalarea%20OpenWrt%0D%0A%094%20C" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/digg.png" class="sociable-img sociable-hovers" title="Digg" alt="Digg" /></a></li><li><a rel="nofollow" target="_blank"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.strainu.ro%2Farticles%2Fconfigurarea-linksys-wrt54gl-pentru-marirea-ttl-ului%2F&amp;title=Configurarea%20Linksys%20WRT54GL%20pentru%20m%C4%83rirea%20TTL-ului" ><img src="http://www.strainu.ro/site/wp-content/plugins/sociable-30/images/default/16/stumbleupon.png" class="sociable-img sociable-hovers" title="StumbleUpon" alt="StumbleUpon" /></a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.strainu.ro/articles/configurarea-linksys-wrt54gl-pentru-marirea-ttl-ului/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

