Uncategorized

Hackovanie tlačového servera pre Ethernet Home Automation

odoslania Dan McGrath. Čo je to potom? Mám veľa domácej automatizácie a milujem ju! Kedykoľvek to však ukážem priateľom a rodine, mám tendenciu získať jednu z dvoch odpovedí. Prvým je, že je to len trik a nikdy by nechceli nič také. Druhým je, že je to skvelé, ale príliš komplikované na to, aby nastavili niečo podobné.

Toto je môj pokus o jednoduché, v skutočnosti veľmi ľahké zariadenie domácej automatizácie, ktoré môže použiť ktokoľvek, a prakticky môže urobiť niekto. Vlastne vážne uvažujem o výrobe ich vo veľkom (dobre niečo podobné) a predávam celú časť ako spravovanú službu asi Tennera ročne. (Dajte mi vedieť, či by to mohlo byť pre kohokoľvek zaujímavé). Každopádne, takže toto je môj pokus o lacnú domácu automatizáciu mas, dúfam, že sa vám bude páčiť …

Dizajn – správne, takže potrebujem niečo, čo je lacné, spoľahlivé a ľahko sa dostanú. Tiež niečo, čo sa dá spustiť jednoduchým prepínačom a ktorý by mohol byť spínač, môže byť každé z nasledujúcich:

Pripojte ho k zásuvke, svetle alebo inému zariadeniu a použite ho na jeho montor.

Pripojte k solárnemu panelu alebo LDR na monitorovanie hladín svetla.

Pripojte pár sond a detekuje vodu (rastliny, dážď, úniky atď.)

Pripojte sa k prepínaču PIR alebo Reed pre bezpečnosť,

Pripojte sa k dymovému alarmu na ochranu proti požiaru,

Pripojte sa k tlakovej podložke atď.

Väčšina ľudí nechce, aby PC alebo server bežal celý deň, kvôli spotrebe hluku, tepla a energie. Jednoduché počítače jednej dosky je teraz možné zakúpiť od 50 dolárov (Xport, Arduino, Picotux atď.), Ale aj to sa zdá byť nadmerné pre to, čo chcem …

Spravovaný prepínač, router, firewall, čokoľvek s ethernetovým portom a nejakým webovým rozhraním bolo to, čo som bol, ale musel to byť lacné … a malé…. Potom som prišiel s myšlienkou tlačového servera … tlačové servery sú ideálne, používajú veľmi málo elektriny, sú vyvinuté na zapnutie stále, môžu reagovať na ping a lepšie mať aj zabudovaný webový server. Urobil som trochu googlingu a videl som ich tak málo ako tenner na eBay. Och a oni sú tiež drobní! Mal som tri nápady na tento projekt:

Prvým bolo, že som mohol zlomiť alebo skrátiť pár vysielania v prichádzajúcom televíznom televízii Ethernet na tlačový server. Určite s týmito skratovanými alebo zlomenými zariadenia by nebolo schopné reagovať na ping alebo žiadosť HTTP.

Myslím, že by to fungovalo, ale zdalo sa to trochu barbarské a som si istý, že by som mohol urobiť lepšie.

Druhým bolo len prerušenie napájania zariadenia

To malo potenciál z pohľadu na úsporu energie, pretože by ste zariadenie napájate iba v čase, samozrejme, keď bolo vypnuté, neuvideli by ste ani jeho webovú stránku, ani na žiadosť pingu. Táto myšlienka sa mi celkom páčila, jediná vec, ktorá ma odložila, bolo, že keď je vypnuté, nebolo by možné povedať, či bolo zariadenie vypnuté alebo odpojené od siete z iného dôvodu – možno zlyhanie inde. Tiež som si nebol istý, ako dlho bude zariadenie udržiavať nastavenia (sieť atď.) Keď bolo vypnuté.

Skutočne som chcel, aby bol spôsob, ako získať reakciu od jednotky, aby som potvrdil, že to bolo buď v jednom alebo druhom štáte, takže si si mohol byť istý, čo sa skutočne deje. Tam prichádza môj tretí nápad.

Tretím nápadom bolo oklamať tlačový server, že k nemu bola tlačiareň skutočne pripojená,

a potom to, aby sa zdalo, že tlačiareň bola na čiare alebo vypnutí.

Urobil som trochu Research a zdá sa, že na tento účel sa používa kolík 13 konektora. Vezmite pin vysoko (t.

Ako všetko, čo musím urobiť, je aplikovať a odstrániť 5 hlasov, môžem niekde nájsť 5 hlasov a nasmerovať ho cez spínač. Zatvorte spínač a zdá sa, že tlačiareň je on_line, otvorte prepínač a tlačiareň sa zobrazí mimo_line. Ako hovorím, tento stav sa odráža vo webovom rozhraní, takže ľahký skript by mal byť schopný anketu tejto stránky a analyzovať stav tlačiarne a potom tieto informácie použiť na niečo užitočné.

Konštrukcia-Ako je uvedené vyššie, použil som paralelný tlačový server Edimax PS-1206P, ktorý som si kúpil za približne 25 libier online. V skutočnosti to bolo oveľa viac ako 22 quid, ale poštovné a balenie to trochu zvýši. Nakoniec som ich kúpil hŕstku, pretože boli také lacné. Nikdy predtým som o Edimaxe nepočul, takže produkt by mohol byť dobrý alebo zlý, ale je mi to jedno, pokiaľ to bude reagovať na žiadosť HTTP, potom budem šťastný! Bol som príjemne ohromený, keď sa objavili, boli pekne krabiční a obsah tiež vyzeral dobre:

Jedna vec je istá, toto zariadenie však nikdy nebude zapojené do zadnej časti tlačiarne. Čoskoro to nasekám na niečo oveľa zaujímavejšie. Podrobnosti tu: Edimax PS-1206p

Dobre, tak poďme na veko z jedného z nich … len rád rozoberiem veci, ale beriem úplne nové veciOkrem toho je pre mňa obzvlášť zábava, zdá sa, že je to také zlé !! Na spodnej časti je niekoľko skrutiek hlavy Phillips a po odstránení sa puzdro len od seba, hoci musíte trochu stlačiť strany, keď sa dve polovice pripoja k sebe.

Bol som príjemne ohromený vnútornou časťou tejto jednotky, bol veľmi dobre zostavený. Pán vie, na čo sú všetky bity, myslím, že je tam procesor, nejaká pamäť, trochu I/O a ďalšie veci, ktorým nerozumiem.

Teraz by ste si mohli ponechať veľkú soket s 36pin Centronics na tlačovom serveri a jednoducho chytiť zodpovedajúcu zástrčku, aby ste sa k nemu pripojili, ale sú dosť objemné a zdá sa, že je to trochu nad vrchol, najmä vzhľadom na to týchto 36 kolíkov. Rozhodol som sa odrezať zásuvku … Nie, neurobil som to so sekerou, v tejto chvíli to však vyzerá trochu drsne:

Potom som z toho vyrazil jednotlivé špendlíky z dosky a vymyslel som malú kovovú dosku, aby som zablokoval otvor vľavo z chýbajúcej zásuvky. Vyvŕtal som v ňom pár dier a pripojil som pár skrutkových svoriek. Trochu 2 diely epoxidu a nejaké Heathrink a máte toto …

Docela úhľadné hm?! Takže to je pracovný prototyp, s trochou šťastia, preklenutie týchto dvoch skrutkových terminálov vráti stav ON_LINE a nechanie je otvorené poskytne Off_line. Takže je čas testovať. Poznámka: Vyššie uvedené obrázky ukazujú pripojenia k kolíkom 35 a 36, ​​toto je nesprávne, následné testovanie ukázalo, že v skutočnosti potrebujem kolíky 13 a 19.

Rozhodol som sa zmerať spotrebu energie a bol som príjemne ohromený tým, čo som našiel, používa iba 6WATT, čo nie je všetko, čo je všetko? (Pri 10 p -kwh, bude stáť beh asi 5 quid ročne)

Ako som už povedal vyššie, môj server sa chystám na svoj server anketou s požiadavkou HTTP a zhromaždím stav tlačiarne, ale ak chcete len zistiť, či je tam jeho pingovaním, potom môžete použiť ping na to, aby ste ho montior, pomocou niečoho ako:

dátum
n = 1

zatiaľ čo [$ n -lt 1000]
robiť
ping -n 1 server_ip
echo $ n
Nech n = n+1
hotový
dátum

Ukazuje, že toto zariadenie môže ľahko odosielať (a prijímať) 1 000 pingov za 52 sekúnd, čo je 20 pings za sekundu. Takže pinging je to životaschopná možnosť a mala by vám poskytnúť pomerne rýchlu reakciu. Samozrejme, ak chcete použiť iba ping, musíte jednotku spustiť jednotkou prerušením napájacieho alebo sieťového pripojenia (nebude to ovplyvnené stavom tlačiarne). Pings na internete nefunguje dobre, veľa ľudí a smerovačov zakazujú požiadavky ICMP na svojich hraniciach, avšak výhodou s týmto zariadením je, že má tiež webové rozhranie, ktoré môže byť oslovené, aby sa skontrolovala jeho dostupnosť. To sa dá urobiť cez internet ľahko a krátky skript opäť ukazuje, že pomocou približne 1 žiadosť za sekundu pomocou …

#!/usr/bin/bash

User = používateľské meno
Heslo = heslo
URL = server_url

wget –Quiet –http-user = $ user –http-Password = $ heslo \
–Proxy = $ proxy $ URL

grep off_line tlačiareň.htm> /dev /null

Ak [„$?“ == „0“]
potom ozvena „offline“
Else Echo „Online“
fi

RM tlačiareň.htm

Vráti hodnotu na základe stavu tlačiarne. Všimnite si, že webový server na palube je dosť pomalý, ako sa očakávalo, ale dostanete reakciu za menej ako sekundu, takže si myslím, že bude možné uskutočniť anketu každých 5-10 sekúnd. Výmena príkazov echo poštou alebo ďalšími príkazmi WGET vám môže poslať e -mail alebo získať adresu URL (možno použite Twitter na SMS You atď.)

Dobre, príklad toho, ako aktualizovať stav Twitteru, je uvedený nižšie:

WGET –Veep-Session-Cookies –http-user = username \
–Http-Password = heslo –post-data = správa \

(Vymeňte používateľské meno, heslo a správu, dobre viete ..)

Alebo ešte lepšie, tu je návod, ako si poslať tweet, keď sa niečo stane:

wget –Neep-Session-Cookies –http-user = user \
–Http-Password = heslo –post-data = správa \

Poznámka, musíte URL kódovať správu, ktorá je celkom v pohode, nie? Viac informácií o rozhraní API Twitter nájdete tu. – Twitter API

Ak to chcete vidieť zo siete, musíte sa nachádzať na svoj tlačový server, prevádzkujem smerovač Cisco, takže pre mňa fungovalo nasledujúce:

IP NAT vo vnútri zdroja statické TCP rozšíriteľné

(Číslo portu udržiavajte vyššie vo vysokých 50 000 s a dostanete menej ľudí, ktorí vás skenujú a skúmajú). Ak máte smerovač Linksys, usmernenie sa bude líšiť, ale niečo také by to malo urobiť:

Ak nemáte ani jeden z vyššie uvedených, potom ste sami … Veľa šťastia!

Softvér – OK, uvádzal som niekoľko príkladov vyššie, nižšie je funkčný skript Bash Shell, ktorý pre vás monitoruje jeden z nich, a Twitter SMS, keď sa zmení stav. Je to veľmi ľahký príklad, ale mal by vás začať.

#!/bin/bash

## Web Get Parametre
user = ”admin”
heslo = ”1234 ″
url = ”http: //ip_address/printer.htm”

## Parametre Twitter
t_user = používateľ
t_passwd = heslo

## Ostatné parametre
status = “zatvorené”

zatiaľ čo pravda
robiť
old_status = $ status
wget –Quiet –http-user = $ user –http-Passwd = $ heslo $ URL

grep off_line tlačiareň.htm> /dev /null

Ak [„$?“ == „0“]
potom status = “Otvorené”
else status = “zatvorené”
fi

RM tlačiareň.htm

Ak [$ status! = $ old_status]
potom wget –wiet –http-user = $ t_user \
–Http-passwd = $ t_passwd –Keep-Session-Cookies \
–Post-data = ”user = twitter_username & text = správa” \

fi
spánok 1
hotový

Prípadne by ste mohli použiť nejaký monitorovací softvér, ako sú vynikajúci Freenats, aby vás upozornil, keď sa niečo stane.

Záver – No, dúfam, že ste sa tešili z toho, čo som urobil, musíte pripustiť, že ide o domácu automatizáciu
Za lacné a veľmi ľahké robiť. Na zdravie – Dan

Užitočné odkazy

CPAN – všetky veci perl
Perl – oveľa viac vecí Perl
WGET – WGET Application
EDIMAX – poskytovatelia tlačového servera iní / MISC
Twitter – stránka sociálnych sietí s SMS

Tento krátky článok reprodukoval z originálu láskavým súhlasom Dan McGrath z YourMissus.com

Chcieť viac? – Sledujte nás na Twitteri, ako sme my na Facebooku, alebo sa prihláste na odber nášho informačného kanála RSS. Môžete dokonca dostať tieto spravodajské príbehy doručené prostredníctvom e -mailu, priamo do svojej doručenej pošty každý deň

Zdieľajte toto:
Facebook
Twarch
Redit
Linkedin
Pinterest
E -mail
Viac

Whatsapp
Tlač

Skype
Tumblr

Telegram
Vreckovka

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *