Sisukord:

NLDWRTG ULTIMATE WRT54G laiendusplaat: 8 sammu (piltidega)
NLDWRTG ULTIMATE WRT54G laiendusplaat: 8 sammu (piltidega)

Video: NLDWRTG ULTIMATE WRT54G laiendusplaat: 8 sammu (piltidega)

Video: NLDWRTG ULTIMATE WRT54G laiendusplaat: 8 sammu (piltidega)
Video: Linksys WRT54G Ultimate Hacking 2024, Juuli
Anonim
NLDWRTG ULTIMATE WRT54G laiendusplaat
NLDWRTG ULTIMATE WRT54G laiendusplaat
NLDWRTG ULTIMATE WRT54G laiendusplaat
NLDWRTG ULTIMATE WRT54G laiendusplaat

Olen modifitseerinud WRT54G ruutereid alates 2006. aastast, kuid mul ei olnud kunagi aega selle jaoks spetsiaalset tahvlit kavandada kuni eelmise aastani. See riistvara on kirjutamise ajal endiselt üks häkkimisvõimelisemaid wifi -ruutereid ja väärib elus hoidmist.

1. samm: Linksys WRT54G seeria lühiülevaade

Linksys WRT54G seeria lühiülevaade
Linksys WRT54G seeria lühiülevaade

en.wikipedia.org/wiki/Linksys_WRT54G_serie…

Turul on palju erinevaid versioone, nii et vaatame, mida saab muuta:

-WRT54G 2.0/2.1/2.2 -> Kuigi kõik modifikatsioonid on võimalikud, võtab suur vana emaplaat kogu korpuse ruumi, kuid kui muudate seda seeriat, peate oma vooluringi kastist välja viima või looma täiesti uue korpuse (pole vaeva väärt)

-WRT54G 4.0 Lülitati uuele SoC -le -> See oli esimene plaat, kus tutvustati L -kujulist emaplaati, nii et see on esimene versioon, kus saate kasutada minu kilpi ja selle korpusesse sisestada

-WRT54GL 1.0/1.1-> Linksys avaldas 2005. aastal WRT54GL (kõigi aegade enimmüüdud ruuter), et toetada kolmanda osapoole püsivara, mis põhineb Linuxil, pärast algse WRT54G liini vahetamist Linuxilt VxWorksile, alustades versioonist 5. WRT54GL on tehniliselt korduvversioon WRT54G. See mudel on WRTG -de KING. Turul on palju kasutatud ruutereid, nii et kui teil on valida, millist tüüpi osta, ostke ALATI WRT54GL.

-WRT54G 5.0 ja uuemad -> Kasutab VxWorks OS -i ja vähendatud välkmälu; ei ühildu enamiku kolmanda osapoole püsivaraga, kuigi utiliit "VxWorks killer" võimaldab mõnda kolmanda osapoole avatud lähtekoodiga püsivara laadida sellesse ja tulevastesse versioonidesse. Linksys tegi siin halva pöörde ja rikkus sisuliselt täiesti hea toote. Ehkki neid on võimalik muuta, on ruuteri ruum nii väike (2 MB), et see mahuks ainult DD-WRT mikro püsivaraga, mis ei saa peaaegu midagi teha peale tavapärase marsruutimisfunktsiooni (VPN puudub, smbfs/cifs, NFS puudub), ei mmc, pole ext2). Mul on õnnestunud selle sarja jaoks tuumad luua ja teiste väljaviimise kulude eest 1-1 nõutud moodul sisse pigistada. See EI ole teie aja ja vaeva väärt, ÄRGE ostke neid ruutereid.

Hiljem WRT-seeriaga lülitati Linksys üle ARM-arhitektuurile, näiteks WRT1200 AC-l on 1,3 GHz kahetuumaline ARM-protsessor. Kuid mul on nende ruuteritega halvad kogemused isegi pärast mitme OpenWRT (nüüd LEDE) versiooni proovimist võivad ruuterid juhuslikult külmuda. Ma eeldan, et unix -seadmetest on tööaeg üle 300 päeva.

2. samm: funktsionaalsuse laiendamine

Funktsionaalsuse laiendamine
Funktsionaalsuse laiendamine

Okei, mis häkkimist saate selle ruuteriga teha:

1, lisage 2x jadaporti -> mis võivad osutuda kasulikuks, kui teil on kauges kohas muid servereid ja soovite luua ühenduse nende biosiga jada- või muude ruuterite kaudu.

2, lisage 1 USB1.0 port -> seda saab kasutada printeri, välise kõvaketta jne ühendamiseks (ma pole seda modi kunagi teinud, nii et see ei kuulu kirjutamisse)

3, lisage salvestamiseks väline SD -kaart, see võib laiendada teie ruuteri väikest 16 MB välkmälu 16/32/…+GB -ni. Mul ei olnud probleeme selle suurusega SD -kaartide kasutamisega ega ka probleeme uute, vastupidavate CLASS 10 kaartide kasutamisega. Kui olete katsetanud, mis on WRTG -mudelite kaartide piirang, jätke kommentaar allpool.

4, lisage arduino, et juhtida oma kodu, releed, rcswitches

Arduino lisamine avab sisuliselt piiramatu hulga võimalusi: robotjuhtimine, infrapuna -seadmete juhtimine (televiisorid, videomakid, DVD -d, projektorid, kliimaseade), tonni seadmete ühendamine odavate 433Mhz traadita lülititega, suhtlemine teiste arduinodega, raspis, Xbee lisamine jne jne.

Kuigi seda kõike saaks teha Raspberry PI + Arduino ja laiendustega, pean ma WRT54G ruuterit usaldusväärsemaks kui raspis. Mul on need ruuterid sarnastes konfiguratsioonides üle 1 aasta (!) Tööajaga, ma ei saaks sama öelda raspide kohta, kus mu kõrgeim tööaeg oli raspi 1 umbes 240 päeva, siis SD -kaart loobus süsteemist, kuigi C Arduino juhtkood laaditi mällu, nii et ma ei pidanud kiirustama asendamisega, kuna juhtimissõlm oli endiselt täiesti töökorras:))

Samm: riistvara loend

Riistvara loend
Riistvara loend

Lisan tahvli paigutuse nii SVG kui ka EasyEda vormingus. Kui soovite projekti ehitada, vajate järgmisi komponente: 1x LM7805 pingeregulaator

2x korgid vreg 1uF 10uF (10tk elektrolüütkondensaatorid 25V 35V 50V 1uF ~ 1000uF erinevad väärtused ja pinged)

1x 4 -kontaktiline kaabel SDcarilt plaadile (10tk hüppajajuhe 2/3/4/5/6/7 pin, emane -emane Duponti kaabel 20 cm Arduino jaoks)

2x DIP051A7212D pilliroo releed

1x RS232 pistikupesa (20 tk 9-kontaktiline D-Sub DB9 isane täisnurga PCB-pistik WT7n)

1x MAX 233 (10 tk Max233 Max233cpp Rs232 Rs-232 draiver/vastuvõtjad Ic Uus X)

1x 10 -pin pistikukaabel (5tk 2mm pigi 2x5 -pin 10 -pin 10 -juhtmeline IDC lame lindi kaabli pikkus 10cm)

1x 10 -pin pistikupesa (20tk 2,54mm 2x5 -pin 10 -pin sirge isane varjatud PCB -karbi päise IDC -pistik)

1x pistikupesad (10tk 1*40Pin üherealine emane 2,54mm purunev päiseühendus fr Arduino 2017)

1x SD -kaart (võib olla vana suur SD või uus microsd koos muunduriga, alla 32 GB suurused peaksid need töötama, üle selle, et ma kaarte ei testinud)

1x 3v5v TTL muundur (5x loogilise taseme muundur 3.3V kuni 5V TTL kahesuunaline Arduino vaarika pi jaoks)

1x 4n35 optron

1x SD -kaardi moodulipesa pesa lugeja Arduino ARM MCU lugemiseks ja kirjutamiseks

1x Arduino Promicro (5tk Leonardo Pro Micro ATmega32U4 16MHz 5V Replace ATmega328 Arduino Pro Mini)

1x RX- ja TX -moodulid ostavad need kombineeritud pakendina (5 tk 433 MHz RF -saatja ja vastuvõtja komplekt Arduino traadita kaugjuhtimispuldi jaoks)

4. samm: riistvara disain

Riistvara disain
Riistvara disain
Riistvara disain
Riistvara disain
Riistvara disain
Riistvara disain

-Plaadi kruvid musta plastikust põhiplaadi põhiosasse

-MAX233 valiti MAX232 asemel, nii et PC jaoks pole vaja täiendavaid korke -> WRTG jadamuundur -Kõik komponendid on ühes reas, nii et lihtsat ristkülikut saab lõigata eest, mitte puurida mitu auku, või kena katteplaat (või täiesti uue WRTG ümbrise) võiks kujundada koos makerbotiga

-Arduino promicros mikro -USB pesa esipaneeli poole välise programmeerimise jaoks.

-Arduino Promicro põhjal (arduino toidab WRT54G ruuteri 12V sisendist (pingeregulaatori kaudu) on adapteri avatud vooluahela pinge umbes 16V!)

-Promicrol on tõeline usb, mitte jagatud prügi, nii et WRTG -sid/dev/tts/1 saab ühendada Promicro riistvara UART -iga

-Seriaalne side läbi/dev/tts/0 PC WRTG vahel

-RF 433Mhz vastuvõtja + saatja (saatja võib võtta 12V kõrgema vahemiku jaoks)

-Esipaneelile saab lisada IR -saatja ja vastuvõtja

-Esipaneelile saab lisada täiendavaid LED -e (RF, IR, ruuteri/ardu comm indikaatori jaoks märkige Rx/Tx)

Ma oleksin saanud plaadi kujundada mini -buck -muunduriga, kuid kasutasin lineaarset pingeregulaatori lähenemist, kuna mul oli see käes. Olen leidnud vooluahela mõnest punktist 5V, kuid selle puudutamisel muutis ruuter kasutuskõlbmatuks (tõenäoliselt ei suutnud see pakkuda arduino plaadile vajalikku voolu), seetõttu kasutasin täiendavat vreg -lähenemist.

3v5v TTL muundur on selleks, et tagada õige volatage'i muundamine (kasutan 5V arduino promicro mudelit, mis kasutab riistvara UART -pordis 5V, seega on vajalik pingetaseme teisendamine). Kuid ma olen varem modifitseerinud ruutereid, lisades ilma konverterita Arduino Nanos, Microsofti ja mul polnud probleemi, kuna WRTG TTY -port on 5 V tolerantne, kuid see ei tähenda, et peaksite seda sellest pingest kasutama.

4n35 tutvustati ka selleks, et vabaneda mõnest välisest arvutipoolsest mürast, ma ei kasutanud seda komponenti varem, kuid see võib olla ka seetõttu, et testide ajal kasutatud sülearvuti oli vigane.

10 -pin pistikukaabel hoolitseb enamiku ühenduste eest, kuid peate veenduma, et pistikupesad on õigesti paigaldatud.

Nagu on näidatud jadapordi pildil

Pin 1: 3.3V + Pin 2: 3.3V <= 2 parempoolset tihvti (valgusdioodidele lähemal) ühendavad POSITIIVNE NLDWRTG kilbi pistiku parema küljega (pingeregulaatori LM7805 lähedal)

Tihvt 9: GND + tihvt 10: GND <= Vastupidine külg on NEGATIIVNE ühendus NLDWRTG kilbi pistiku vasakule küljele

Juhtmete ühendamiseks SDCARD -lugeja ja WRTG vahel toimige järgmiselt.

www.jbprojects.net/articles/wrt54gl_mods/

Asjakohased tihvtid:

  • CS -> punkt 1
  • MOSI -> punkt 2
  • SCK -> Punkt 5
  • MISO -> punkt 7

Samm: piirangud

Piirangud
Piirangud

WRT54GL protsessor ei ole kõige tugevam (Broadcom BCM5352 @ 200 MHz), seda saab kiirendada kiirusega 250 MHz (see pole soovitatav:)), nii et ärge oodake, et sellel käivitatakse SETI @ HOME. Ruuteril - ainult - on 100mbit/s liidesed ja erinevalt sellest, mida leiate paljudest kohtadest, see riistvara *EI toeta 802.1q VLAN -e *. See on ainult lihtne sadamal põhinev VLAN, palun ärge pange WRTG -d võrku, mis transpordib VLAN -e, see ei saa seda teha.

Üks eriti kasulik rakendus on ruuteri kasutamine VPN -kliendina keskse asukohaga ühenduse loomiseks. Kuigi see on täiesti kasutatav ka VPN -serverite jaoks, ärge oodake sellest palju jõudlust.

Siin on mõned minu tulemused WRT54GL v1.1 kasutamisel, kasutades kliendina OpenVPN -i.

Tunneli maksimaalne läbilaskevõime: 500 kbit/s alla 50 kbit/s üles

Maksimaalne marsruudi jõudlus ilma VPN -iga WAN -i kaudu -> LAN 28 mbit/s

Maksimaalne NAT (Masquerade) jõudlus ilma WAN -i VPN -iga -> LAN 27 mbit/s

On veel palju asukohti, mille üldine ribalaius on väiksem (ISDN, Adsls, kaabelvõrk, satelliit jne), mida see ruuter suudab täielikult rahuldada.

Tavaliselt tekivad probleemid sellest, et neile ruuteritele pannakse liiga palju traadita kliente. Ma nägin aastate jooksul palju seadistusi kohvides, hotellides, restoranides, kus nad viskavad ühe wifi -ruuteri letti ja nimetavad seda päevas, eeldades, et see suudab teenindada 10+ inimest. Kõik, mida nad saavad, on lõpuks täiesti kasutamatu WiFi -kogemus, kuna selle 802.11G ruuteri üldine teoreetiline ribalaius on 51 mbit/s ja see on kõigile, ütleme, et tegelik on umbes 30mbit/s. 10 inimesele, mis on parimal juhul 3 MB/s kasutaja kohta, millest ei piisa tänapäeva ribalaiuse näljaste jaoks (video/heli voogesitus, veebi 2.0 leheküljed, mis on täis suuri pilte jne).

Nagu ma varem ütlesin, on selle häkkimise mõte kaugjuhtimispult ja see ei kasutaks VPN -i kaudu rohkem kui paar kbit/s liiklust.

Samm: WRTG tarkvara

WRTG tarkvara
WRTG tarkvara

Püsivara on üles ehitatud parimale versioonile: DD-WRT v24-sp2 (08/12/10) std-nokaid (SVN-i versioon 14929) On ka teisi pilte, näiteks VPN, mis ohverdab lisamooduli ruumi säästmiseks, säilitades samal ajal mmc kernelmodul (LoL). Optware 2 on lõpetatud, kuid siiski kasulik utiliidipakett, mis laiendab DD-WRT põhifunktsioone:

-See teeb lihtsa linuxi distro vigase busyboxi installist.

-Pakub bashi ja muid kestasid.

-Pakub palju jumalaid nagu: htop, netcat, tcpdump, ngrep, mc

-Pakub selliseid serveriteenuseid nagu: samba, tärn, vsftpd, jabber -server

Tarkvarapaketid on aga vanad, täis vigu ja haavatavusi. Avaldamine ja pilt siin oleks sama, mis Windowsi $ 98 installimine, seega ma ei avalda veel midagi, vaid kirjutan selle samm -sammult üles, kuidas seadistada oma OptWare 2 SDCard.

Tulevikus plaanin teha uue seadme paketi (SnowGlobe Linux) selle seadme jaoks värskete pakettidega ja selle avaldada.

1, JFFS2 peab olema lubatud, pole tähtis, et sellel pole vaba ruumi:

/dev/mtdblock/4 128K 128K 0 100%/jffs

2, SDCARD -i eraldamine. Siin on kaval trikk:

14 GB või mis iganes me soovime saada esimese andmepartitsiooni jaoks ddwrt 100-500mb teise sektsiooni (EXT2) jaoks taastamiseks

Näiteks:

Disk /dev /sde: 14,5 GiB, 15523119104 baiti, 30318592 sektorit

Ühikud: sektorid 1 * 512 = 512 baiti Sektori suurus (loogiline/füüsiline): 512 baiti/512 baiti I/O suurus (minimaalne/optimaalne): 512 baiti/512 baiti Kettasildi tüüp: dos Ketta identifikaator: 0x6ad48986 Seadme alglaadimise algus Sektorid Suurus Id Tüüp /dev /sde1 2048 29362175 29360128 14G 83 Linux /dev /sde2 29362176 30318591 956416 467M 83 Linux

Looge failisüsteemid:

mkfs.ext2 -L SnowGlobe -data /dev /sde1

mkfs.ext2 -L SnowGlobe -recovery /dev /sde2

Häälestage failisüsteemid:

tune2fs -c0 -i0 -m0 /dev /sde1

tune2fs -c0 -i0 -m0 /dev /sde2

Süsteemi automaatne kokkuarvutamine käivitamisel alustab ainult esimest sektsiooni! Taastepartitsiooni idee seisneb selles, et WRT54G -l pole ruumi kusagil mujal fdiski hoidmiseks. Nii et kui toimub ebapuhas väljalülitus ja failisüsteemis esineb vastuolusid, on ainus viis selle parandamiseks fdiski koopia (ja käivitamiseks vajalike libide) olemasolu teises sektsioonis, mis paigaldatakse fscki käivitamiseks ainult aeg -ajalt ainult lugemiseks vaja. Vastasel juhul oleks vaja kaart välja võtta ja arvutisse parandada.

3, paigaldamine

Kui panete juba partitsioonitud, vormindatud kaardi ja wrtg -saapad korralikult sisse, on kõige tõenäolisem, et esimene partitsioon lisatakse automaatselt:

/dev/mmc/disk0/part1 13.8G 59.6M 13.7G 0%/mmc

Opt tuleb kohe siduda:

mount -o bind /mmc / /opt /

4, OWRT2 installiskript

Enne alustamist kontrollige, kas defgw on dns.

wget https://www.3iii.dk/linux/optware/optware-install-… -O -| tr -d '\ r'> /tmp/optware-install.sh

sh /tmp/optware-install.sh

Kui see ei saa skripti kätte, on see põhjus, et busybox wget ebaõnnestub. See töötab Owrt'i vidinaga, kuid kuule, soovite installida…

Väljund peaks välja nägema selline:

Süsteemi konfiguratsiooni kontrollimine…

192.168.1.1 kasutamine vaikelüüsina. Järgmiste nimeserverite kasutamine: nimeserver 192.168.1.30 Hoiatus: kohalik nimeserver erineb lüüsist! Selle parandamiseks kontrollige konfiguratsiooni või sisestage: sed -i s/192.168.*/192.168.1.1/ /tmp/resolv.conf. Paketi uclibc-opt_0.9.28-13_mipsel.ipk installimine… Ühendamine saidiga ipkg.nslu2-linux.org [140.211.166.82]: 80 uclibc-opt_0.9.28-12 100% | ************ *********************************** | 832 KB 00:00:00 ETA Uuendamine /opt/etc/ld.so.cache/opt/sbin/ldconfig: ei saa luua /opt/etc/ld.so.cache~ (sellist faili või kataloogi pole) Paigaldamine ipkg-opt_0.99.163-9_mipsel.ipk… Ühendamine teenusega ipkg.nslu2-linux.org [140.211.166.82]: 80 ipkg-opt_0.99.163-9_ 100% | ************** ******************************** | 75896 00:00:00 ETA Allalaadimine https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Täitmine https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Värskendatud saadaolevate pakettide loend kataloogis/opt/lib/ipkg/lists/optware Edukalt lõpetatud. Uclibc-opt (0.9.28-12) installimine asukohta/opt/… https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… paketi allalaadimine uclibc-opt soovitab installida ipkg-opt uclibc-opt seadistamine /Opt/etc/ld.so.cache värskendamine lõpetati. Ipkg-opt (0.99.163-9) installimine asukohta/opt/… Allalaadimine https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… ipkg-opt seadistamine Edukalt lõpetatud.

5, teeviga:

Peate tee eksportima järgmiselt:

eksport PATH = "/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin:/bin:/usr/bin:/sbin:/usr/sbin:/jffs/sbin:/ jffs/bin:/jffs/usr/sbin:/jffs/usr/bin:/mmc/sbin:/mmc/bin:/mmc/usr/sbin:/mmc/usr/bin"

muidu ei tee ipkg midagi!

6, kontrollige ipkg:

ipkg värskendus

Peaks väljastama:

Allalaadimine

Täitmine https://ipkg.nslu2-linux.org/feeds/optware/ddwrt/c… Saidil/opt/lib/ipkg/lists/optware saadaolevate pakettide uuendatud nimekiri on edukalt lõpetatud.

7, installige paketid:

ipkg install bash htop mc openvpn tcpdump vim bzip2 bc e2fsprogs findutils gawk grep gzip less make ntfs-3g openssl perl php psmisc psutils

samba36 sed tar unrar unzip vnstat vsftpd wget whois zip ncftp

8, loetlege installitud paketid:

ipkg-opt list_installed

Pakettide loomine ruuterile ei ole ressursside puudumise tõttu soovitatav. Seadistage selleks Vmware/Vbox/KVM -is eraldi mips -ristkompileerimiskeskkond.

Vajalikud asjad:

-Debian 7 vilisev 64 -bitine operatsioonisüsteem

-OpenWrt-SDK-Linux-x86_64-1.tar.bz2->

openwrt.org/docs/guide-developer/obtain.fi…

Ärge raisake aega, et proovida SDK -d iseseisvalt kompileerida, pakutav binaarne SDK on piisavalt hea.

Looge lihtne helloworldi rakendus

#include int main (void) {printf ("Hell! O 'world, miks mu kood ei kompileeri? / n / n"); tagasitulek 0; }

./staging_dir_mipsel/mipsel-linux-uclibc/bin/gcc -lpthread hello.c -o tere

Kui kõik läheb õigesti, peaks teil olema käivitatav mips:

tere: ELF 32-bitine käivitatav LSB, MIPS, MIPS32 versioon 1 (SYSV), dünaamiliselt lingitud (kasutab jagatud libisid), eemaldamata

Samm: Arduino tarkvara

Allpool saate alla laadida täieliku lähtekoodi. See on üsna lihtne, see suudab 433 MHz raadio kaudu juhtida kahte releed ja mõnda RC -pistikut. Saate seda hõlpsalt laiendada, nt: lisage rohkem rc -lüliteid.

8. samm: sulgemine ja ülesannete loend

Sulgemis- ja ülesannete loend
Sulgemis- ja ülesannete loend

WRT54G on suurepärane riistvara, nii et kogu sellesse projekti investeeritud töö on seda väärt, peale NLD Wrtg kilbi võib seda kasutada ka tulevaste riistvaraversioonidega.

Kuna WRTG energiatarve on madalam kui Raspberry PI -del, võib ruuteri päikeseenergia toide olla ka hea uuendus ning Arduino abil saame jälgida päikeseenergia laadimisprotsessi kõiki üksikasju (aku pinge, paneeli pinge, tarbimine). Jätkan hiljem WRTG -sarja päikeseenergia häkkidega.

Oleks tore leida viis Arduino programmeerimiseks otse WRTG -st (selleks oleks vaja meetodit Arduino lähtestamiseks).

Inimesed, kellel on 3D- ja Makerboti oskused, on rohkem kui teretulnud kavandama esipaneelile kohandatud katteplaadi (millel on minu plaadi pistikud) või kujundama ümber ruuteri plastikust esiosa.

UUENDAMINE: tähistamaks MIPS -arhitektuuri muutumist avatud lähtekoodiks, olen värskendanud õpetust lihtsate C -programmide ristkonstrueerimise WRTG -le.

Elagu MIPS!:)

süsteemitüüp: Broadcom BCM5352 kiip rev 0 protsessor: 0 protsessor mudel: BCM3302 V0.8 BogoMIPS: 199.47 oota juhis: ei mikrosekundilisi taimerid: jah tlb_entries: 32 täiendavat katkestusvektorit: puudub riistvarapunkt: pole VCED erandeid: pole saadaval VCEI erandid: pole saadaval

Soovitan: