Hacking DVD BackTrack, Linux, Hashe RSS Feed twitter airdump.cz BackTrack 3 4 5 6 CZ
Security a Tip
Donate a Sponzor

Programujeme LPT – krokový motor pre Wi-Fi hacking

LPT wi-fi hacking Podrobný návod + aplikace pro BackTrack ke stažení (sekce Stuff nebo download). Časy prepojenia tlačiarne s počítačom pomocou paralelného portu sú dávno preč, USB sa dnes vyskytuje bežne, dokonca aj v náramkových hodinkách. Ak však na svojom počítači ešte máte tento port, ste Linux user, máte chuť experimentovať, nasledujúce riadky vás možno inšpirujú. Paralelný port, označovaný obvykle len skratkou LPT je špecifický 25 pinovým konektorom. Osem pinov (2-9) sa dá použiť na priamy zápis, päť na čítanie (10-13 a 15), štyri na obe operácie (1,14,16 a 17) a zvyšných osem pinov (18-25) je uzemnenie.

Obrázok zapojenia paralelného portu (LPT) je prevzatý zo serveru hw.cz. LPT paralelní port - schéma Jednotlivé piny LPT portu sú ovládateľné cez tri osembitové registre. Register na adrese 378h sa nazýva data register a prislúchajú mu piny 2 – 9. Do tohto registra sa zapisuje číselná hodnota celého bajtu určujúca, na ktoré piny je vysielaný signál. Adresa tohto registra sa často označuje ako báza alebo tiež baseport. (BASEPORT) Register dostupný na porte s adresou báza + 1 (379h) sa nazýva status register a prislúchajú mu piny 10 – 13 a 15. Z pinov status registra je možné iba čítať. Posledný register nesie názov control register, je dostupný na adrese báza + 2 (37Ah) a prislúchajú mu piny 1, 14, 16 a 17. Na tieto piny je možné signál vysielať, no tiež ho z nich aj prijímať. Tieto piny su však hardwarovo negované!.

LPT port a LED diódy

LED dioda schéma zapojení na LPT V začiatkoch programovania metódou pokus – omyl výborne poslúžia LED diódy. Ak chceme, aby svietila iba dióda pripojená k pinu č. 2, musíme na port s adresou 378h odoslať binárne číslo 00000001, čo je v desiatkovej sústave číslo 1. Logická jednotka následne rozsvieti diódu.  V prípade starších počítačov s dvoma LTP portami, je dôležité zvoliť v Bios -e port na adrese 378h. Výstupné signály paralelného portu sú definované klasickou TTL logickou úrovňou signálov, tzn. log. 1. odpovedá hladine +3.5V až +5V a log. 0 hladine 0V až +0.4V – Príklad pripojenia LED diódy (Pin č. 25 slúži na uzemnenie)

Vrámci tréningu, pripojíme viacero LED diód a začneme programovať. (najlepšie vysokosvietivé LED). Počas programovania si využívame funkcie ioperm a outb. Funkcia ioperm získava a uvoľňuje práva pre prístup k vybraným portom pre funkciu outb, ktorá nastavuje hodnotu byte-u na definovaný port.

Získanie prístupových práv k portu:

if (ioperm(BASEPORT, 3, 1))
{
perror(„Nepodarilo sa ziskat pristup k LPT“);
exit(EXIT_FAILURE);
}

Uvoľnenie prístupových práv k portu:

if (ioperm(BASEPORT, 3, 0))
{
perror(„Nepodarilo sa uvolnit pristup k LPT“);
exit(EXIT_FAILURE);
}

Funkcia outb vyšle log 1 na pin č. 2 paralelného portu:

outb(1, BASEPORT);
printf(„Svieti zlta LED-ka! \n“);
sleep(1);

Rovnakým postupom s inou dvojicou pinov LPT portu môžeme pripojiť ďalšie LED diódy a programovať ich rozsvecovanie v ľubovoľnom poradí a čase.

LPT port a Unipolárny krokový motor

Odporúčam krokový motor  5,25 palcovej disketovej mechaniky TEAC. Často sa povaľujú v bazároch s elektronikou, starých počítačoch. Pokusy s disketovými mechanikami iných značiek nedopadli najšťastnejšie. Krokové motory neboli dostatočne robusné, prípadne by výroba prevodného mechanizmu pre natáčanie smerovej antény trvala príliš dlho.

Diskuze Programujeme LPT - Wi-Fi hacking

Základný princíp krokového motora je, že  prúd prechádzajúci cievkou statora vytvorí magnetické pole, ktoré pritiahne opačný pól magnetu rotora. Motor je schopný v tejto polohe presne stáť. Vhodnou kombináciou zapojenia cievok vznikne rotujúce krokové magnetické pole, ktoré nielen otáča rotorom, ale zabezpečuje aj jeho presnú polohu voči statoru. Použitý krokový motor TEAC potrebuje pre rotáciu 360° vykonať  200 krokov. ( 1.8° / krok)

Pre prepojenie všetkých elektronických prvkov použijeme prepojovacie pole. Na internete dostupné schémy ohľadom prepojenia krokového motora a LPT portu sú často zastarané, použitý integrovaný obvod ULN 2003 už nie je na trhu dostupný (min. v mojom okolí), môžeme ho však nahradiť integrovaným obvodom ULN 2003 APG. Medzi integrovaný obvod ULN2003 APG, obsahujúci 7 Darlingtonových tranzistorov, ktoré slúžia na zosilnenie prechádzajúceho prúdu od pinov paralelného portu pri vyslaní log 1, pripojíme Zenerovú diódu (12V: 0,5 W) pre absorbovanie spätného elektromagnetického poľa od cievok krokového motora pri ich vypínaní. Pre napájanie krokového motora postačuje  + 12 V jednosmerných. Je možné napájať krokový motor priamo zo zdroja počítača (žltý káblik + 12 V, pre uzemnenie čierny vedľa neho), no použil som prídavný zdroj. Dôvodom bola nová grafická karta, 2x HDD a neónové trubice na počítači s 300W zdrojom a postaršou matičnou doskou. Jeden nikdy nevie…

Schéma prepojenia LPT portu a krokového motora

Schéma TEAC motor zapojení na LPT

Prepojenie

Schéma zapojení pole

Programovanie krokového motora

Princíp zostáva rovnaký ako pri LED diódach. Funkcia ioperm získa práva pre prístup k portu a funkcia outb zabezpečuje budenie cievok podľa naprogramovaného poradia a tým otáčanie motora do želanej strany. Na nasledujúcej časti kódu si ukážeme rotáciu motora 4 kroky vpravo. Hodnoty vysielané funkciou outb v desiatkovej sústave (1, 2, 4, 8) zodpovedajú hodnotám v dvojkovej sústave a prislúchajú pinom 2, 3, 4, 5 prevodom  2^0=1, 2^1=2, 2^2=4, 2^3=8.

{
printf(„\n4 kroky vpravo!“);
// log 1, pin 2,
outb(1, BASEPORT);
//čakaj 1 sekundu
sleep(1);
// log 1, pin 3
outb(2, BASEPORT);
sleep(1);
// log 1, pin 4
outb(4, BASEPORT);
sleep(1);
// log 1, pin 5
outb(8, BASEPORT);
sleep(1);
}

Pre jednoduchšie ovládanie vytvoríme tri programy v programovacom jazyku C, s ktorými budeme pracovať neskôr. Program motor3 , zabezpečuje manuálne ovládanie krokového motora smerom vľavo a vpravo vždy po 20 – tich krokoch, zatiaľ, čo programy motorp a motorl natáčajú krokový motor po štyroch krokoch.

Zdrojové kódy kompilujeme:

gcc motor3.c -o motor3
gcc motorp.c -o motorp
gcc motorl.c -o motorl

Na aké účely použijete krokový motor je už len otázkou fantázie, (mnoho nápadov nájdete na YouTube) v mojom prípade som sa rozhodol natáčať smerovú anténu Yagi 16 dBi pripojenú na bezdrôtovú kartu. Krokový motor je ideálny najmä kôli malému vyžarovaciemu uhlu smerovej antény. Ako je možné aby krokový motor z disketovej mechaniky natáčal 1,1 kg smerovú anténu dlhú 60cm? Riešením je systém niekoľkých ,,otočných koliesok“, prepájaných rybárskymi vlascami. Stačí zapojiť fantáziu. Tieto kolieska sú rovnako súčasťou disketových mechaník.

Pre uľahčenie ovládania krokového motora je výhodné využiť bohaté možnosti programovania v bash (Bourne Again SHell) a napísať skript s jednoduchým menu pre spúštanie programov motorp, motorl, motor3.

Pre užívateľov operačného systému BackTrack 3 som neskôr tento skript rozšíril o Lazzy menu. Vznikol môj prvý skript s príznačným názvom firstone.sh. Skript je napísaný pre bezdrôtový adaptér Edimax 7318 USg registrovaný v systéme ako rausb0.

Firstone menu skript BackTrack

Lazzy Menu je funkčné aj v prípade, ak nemáte pripojený krokový motor k LPT portu, bude však potrebné upgrade, resp. inštalácia nasledujúcich aplikácií: Airoscript, MDK3 v.5, Nmap 4.85BETA5. Rovnako skript počíta s umiestnením skriptov ws.sh/ws.tcl, skynet.sh v rovnakom adresári v ktorom sa sám nachádza. Pre Kismet editovať kismet.conf.

Lazzy menu skript BackTrack

Fotografia z testovania skriptu: ( 2dBi všesmerová anténa bola použitá iba pri testovaní)

Teac motor v provozu s omni anténou

Celkové náklady cca 4 EUR. (disketová mechanika, integrovaný obvod ULN2003 APG, Zenerova dióda, prepojovacie pole, samec LPT portu)

Zaujímavým vylepšením by bolo pripojiť vysokosvietivú LED diódu na krokový motor a upraviť zdrojové kódy programov pre signalizáciu jeho pohybu. Prípadne signalizovať aktuálny mód bezdrôtovej karty dvoma rôznofarebnými LED – kami ?

Pripájanie paralelného portu vždy realizujte pri vypnutom napájaní počítača, dodržujte zásady pre minimalizáciu výskytu statickej elektriny, neskratujte výstupy a dodržujte maximálne hodnoty privádzaného napätia! Nedodržanie týchto zásad bude mať za následok zničenie portu.

Zdrojové kódy programov semafor.c, motor3.c, motorl,c, motorp.c rovnako ako skript firstone.sh je v distpozícii v downloade. Vaše komentáre sú vítané vo Fóre rovnako ako fotografie vašich experimentov.

Pre študovanie detailného popisu paralelného portu je vynikajúce stránka hw.cz . Pre hardwarovú realizáciu prepojenia LPT portu a krokového motora výborne poslúžila stránka doc.ic. Nájdete tam aj krokové sekvencie motorov 5.25″ disketových mechaník Generic, TEAC, Apple II.
Pre programovanie LPT portu som sa inšpiroval zdrojovým kódom pre rozsvecovanie desiatich LED diód z webu odkiaľ pochádza aj popis registrov LPT portu. Zdrojáky a skripty jsou ke stažení v členské sekci (Stuff) ve fóru (v části download pod písmenem L).

Pre AMP písal Michal

Kam dál?



Přihlásit / Odhlásit odběr novinek

Počet přihlášených k odběru novinek

    2573