Korjoogteynta fog iyo maareynta aaladaha Linux/OpenWrt/Lede ku saleysan ee loo maro dekedda 80, ayaa sii socota

Tani waa qaybta ugu dambeysa ee maqaalka, halkan waa bilowga habr.com/en/post/445568
Markii ugu dambeysay ee aan wax ka qoray sida aan u hirgeliyay la socodka qalabka, hadda waxaan ka hadli doonaa maamulka. Wadahadallada lala yeesho "farsamo yaqaannada" dhinaca Macaamilka, waxaan inta badan la kulmaa aragti xaddidan oo ku saabsan awoodaha aaladaha yaryar ee noocaas ah (oo leh kheyraadka xusuusta hooseeya iyo waxqabadka), qaar badan ayaa aaminsan in "inta ugu badan ee aan u baahanahay waa inaan u dirno reboot, wax dheeraad ah si dhab ah ayaanu koox u diri doonaa”.
Laakiin dhaqanku waxa uu tusinayaa in aanay taasi run ahayn. Halkan waxaa ah liis yar oo ah hawlaha caadiga ah ee caadiga ah:

  1. Baadhista shabakada iyo cilad-baadhista. Dekadda ethernetka ee routerkaaga gadaasheeda waxaa inta badan jira qalab kale oo leh ciwaanka IP-ga ee gudaha. Mararka qaarkood, waad awoodaa (waa inaad) "ping" Ama maamulka tunnel - haddii tunnelku si lama filaan ah ugu kici waayo router ka shaqeeya modem 3G, laakiin waxaan arki karnaa router laftiisa.
  2. Dayactirka nidaamka. Cusboonaysiinta Firmware, cusboonaysiinta qoraalka adeegga.
  3. Ficil dheellitirka Tan waxaa lagu magacaabi karaa "qalloocin", laakiin fikradda "equilibrist" sida, aan soo xigtay, "Awoodda riwaayadaha wareegga si uu u ilaaliyo dheelitirka booska jirka oo aan degganayn" - si fiican ugu habboon. Xaaladahan oo kale waxay soo baxaan sababtoo ah miisaaniyadda xaddidan ee macaamilka. Hoos waxaan ku soo qaatay dhowr tusaale, balse... Si toos ah ulama xidhiidhin mawduuca sheekada, waxaan ku dhejiyay qoraalada

La socodka Wi-FiMawduuca moodada ah ee shantii sano ee la soo dhaafay, inta badan ka mid ah silsiladaha tafaariiqda federaalka. Waxaad si nasasho leh ugu dhex mushaaxaysaa sagxadaha ganacsiga, teleefankaaga gacanta ee Wi-Fi-ku daaran yahay, isku day inaad "ku dhegto" qayb ka mid ah shabakadaha, wuxuu si joogto ah u soo dirayaa xidhmooyinka Codsiga Baarista, kuwaas oo la lafaguray si loo xisaabiyo adiga: imisa jeer ayaad dukaankan u timaadaa, sababahee? Kadibna xogta ayaa la ururiyaa, la falanqeeyaa, khariidado kulaylka ayaa la sawiraa, maamulayaashu waxay "ka qaadaan" lacag maamulka ama maalgashadayaasha sawirada noocaas ah. Hagaag, hadda .... "lacag ma jirto, laakiin waad xajisan tahay ...", natiijada (dhabta ah) waxay mar hore u baahan tahay in la muujiyo, gabaygii hore ee wanaagsani wuxuu bilaabmayaa: "Haa, haa, markaa dabcan waxaan waxay ku rakibi doontaa cis iyo wax kasta oo aad rabto, laakiin hadda waxaan u baahanahay inaan muujino Macmiilka natiijada! Jid ahaan, waxaan iloobin in aan sheegno in Macmiilku uu noo ogolaaday in aan ku xirno qalabkeena goobta uu ku yaal Wi-Fi, laakiin guud ahaan, sida haddii aan nahay macaamiisha martida. " Markaa waa inaan samaynaa isku dheellitirka router - dhowr interface-hoosaadyada WiFi ayaa kor loo qaadayaa, mid ka mid ah kaas oo ku dheggan goobta kulul, kan labaadna wuxuu kormeeraa deegaanka, wuxuu si waali ah u dhejiyaa natiijada tcpdump laftiisa, ka dibna waxa ku jira faylka ku shubaya kayd iyo khataro. u dhimanaya "cunista xad dhaafka ah" waxay isku daydaa inay tufto waxa ku jira server-ka FTP. La yaab maaha in isku dheelitirka routerku uu inta badan "jabiyo" oo si uun loo "soo nooleeyo" meel fog.

gacanWay fududahay in lagu qeexo xaaladda halkan wax la mid ah bayaankan macmiilka: "Waxaan rabnaa shabakad baahsan oo hotspots ah oo ka shaqeyn doonta qalabka aan qaabkiisa hore loo aqoon, iyada oo loo marayo kanaalada, laakiin kuwa aan weli garanayn. Oh, waxaan iloobin inaan dhahno, ma dooneyno oo kaliya inaan muujino xayeysiiska macaamiisha, laakiin sidoo kale waxaan falanqeyneynaa wax kasta oo ku wareegsan goobta meesha hotspot lagu rakibay. Maya, ma garanayno sababta weli, laakiin waanu ogaan doonaa, ha ka shakin, waxaan awoodnay inaan la nimaadno fikraddan. "

Oo waa in aynaan iloobin in xaalado badan oo aan hore loo aqoon, xakamaynta waa in lagu fuliyaa xaalado aan caadi ahayn, marka aan si toos ah ugu xiri karin router iyada oo loo marayo IP: dekedda oo lagu qasbay inay si fudud u sugaan waxqabadyada. Haddii aan nafteena soo koobno, wada-hadalka u dhexeeya server-ka iyo router-ku wuxuu noqon karaa sidan:

  • Router: Hello. Anigu waxaan ahay router-ka noocaas ah, ma jiraan hawlo ii jira?
  • Server: router sida iyo sida, waan ku diiwaan galiyay, in aad nooshahay. Waa kan caqabadda: i tus natiijada amarka ifconfig?
  • Router: Hello. Anigu waxaan ahay router noocan oo kale ah, markii ugu dambeysay ee aad weydiiso inaad muujiso natiijada ifconfig, waa kan. Ma jiraan hawlo ii yaal?
  • Server: router sida iyo sida, waan ku diiwaan galiyay, in aad nooshahay. Ma jiraan hawlo kuu taal.

Su'aasha ugu xiisaha badan: sidee buu router fog u diri karaa xaddi macluumaad ah? Qeybta ugu dambeysa, waxaan ku qeexay in sababo la xiriira kheyraadka xaddidan, router-ku uu leeyahay oo keliya "wget-ka-saaran", kaas oo ka shaqeeya kaliya GET oo aan wax kale ahayn; ma jiro macmiil FTP ah ama curls. Si sax ah, waxaan u baahanahay hab caalami ah, iyada oo aan loo eegin sifooyinka ururinta sawirka. Waxaan la qabsaday isticmaalka wget. Si sax ah, sida aan u "joojiyay" - Kaliya ma haysan wax ikhtiyaar ah :)

Kaliya afeefXalka maamulkaygu wuu shaqeeyaa, maaha mid aad u xaddidan, waxaanan hubaa inay qalloocan tahay, xitaa haddii ay ku habboon tahay macaamiishayda intooda badan. Sideed u samayn kartaa si xikmad leh - qor utility yar oo u soo dira POST xogta binary ee dekedda 80. Ku dar (utility) aaladda router-ka oo gal adigoo isticmaalaya bash. Laakiin xaqiiqadu waxay tahay: a) waxaan u baahanahay inaan si dhakhso ah u sameyno b) waxay u badan tahay inaynu u baahanahay inaan wax walba ku samayno "xagaaga router" ee jira c) "wax dhib ah ha samayn!" - haddii router uu shaqeynayo oo uu qabanayo hawlo kale, isku day inaad sameyso isbeddelo aan saameyn doonin shaqada jirta.

Aan u gudubno hirgelinta. Aynu sheegno macmiilkaagu inuu rabo inuu dib uga bilaabo router-ka zabbix si sahlan oo dabiici ah, isagoo "guji jiirka." Maanta waxaan ku bilaabi doonaa sharaxaadda hirgelinta Zabbix.
Gudaha "Maamulka" -> "Scripts", ku dar qoraal cusub. Waxaan u yeernaa "Reboot", geli "php /usr/share/zabbix/reboot.php {HOST.HOST}" amar ahaan

Korjoogteynta fog iyo maareynta aaladaha Linux/OpenWrt/Lede ku saleysan ee loo maro dekedda 80, ayaa sii socota

Xiga: Menu "Monitoring" -> "Xogtii ugu dambeysay" -> "Midig-guji noodhka shabakada la rabo." Tani waa waxa menu-ku u ekaan doono ka dib marka lagu daro qoraalka.

Korjoogteynta fog iyo maareynta aaladaha Linux/OpenWrt/Lede ku saleysan ee loo maro dekedda 80, ayaa sii socota
Sidaa darteed, waxaan ku dhejineynaa qoraalka reboot.php ee /usr/share/zabbix directory (kaagu wuu ka duwanaan karaa, waxaan isticmaalaa tusaha xididka zabbixa).

Afeef BadbaadadaSi aan sharaxaadda uga dhigo mid cad oo ku jirta qoraalka, waxaan kaliya isticmaalaa id-ka router, laakiin ma isticmaalo erayga sirta ah. Laguma talin in tan lagu sameeyo nooca wax soo saarka! Waa maxay sababta aan sidan u sameeyay: sababtoo ah su'aasha ugu weyn ayaa ah meesha lagu kaydiyo furayaasha sirta ah ee router? In zabbixe lafteeda "xogta alaabada"? Dhaqanka muranka dhaliyay. Haddii kale: xaddid gelitaanka dibadda ee faylka reboot.php laftiisa

Faylka reboot.php

<?php
	// присваиваем параметры с консоли переменным
	$user = $argv[1];
	// ВНИМАНИЕ. Вот здесь в целях безопасности все-таки прописывать пароль устройства! Но для демонстрации мы будем обращаться к базе данных без использования пароля. 
	//$password = $argv[2];
		
	$conn=new mysqli("localhost","db_user","db_password","db_name");
	if (mysqli_connect_errno()) {
		exit();
	}
	$conn->set_charset("utf8");
			
	// "Отправляем" команду reboot за счет изменения поля task таблицы users. В поле task можно отправлять любую команду.
	$sql_users=$conn->prepare("UPDATE users SET task='reboot' WHERE id=? AND status='active';");
	$sql_users->bind_param('s', $user);
	$sql_users->execute();
	$sql_users->close();
?>

Waa intaas. Su'aashu waxay weli furan tahay: "sida loo helo natiijada fulinta amarka qalabka." Aynu eegno hawsha anagoo adeegsanayna amarka ifconfig tusaale ahaan. Amarka waxaa loo diri karaa qalabka:

message=`ifconfig`; wget "http://xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php?u=user&p=password!&m=$message" -O /tmp/out.txt

, meesha:
fariin =`ifconfig` - natiijada soo-saarka amarka ifconfig waxaan ku wareejinaa doorsoomiyaha fariimaha $
wget"xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php - script our a.php kaas oo diiwangeliya router-yada oo ka hela farriimaha iyaga
u=user&p=password!&m=$ fariin - shahaadooyinka iyo qiimaha doorsoomiyaha codsiga m - wuxuu u xilsaaraa waxa ku jira doorsoomaha fariimaha $
-O /tmp/out.txt - Uma baahnid wax soo saarka faylka /tmp/out.txt kiiskan, laakiin haddii cabbirkan aan la cayimin, wget ma shaqeeyo

Maxay tani u shaqayn wayday?Sababtoo ah waa god amni oo suurtagal ah. Khaladka ugu dhibka badan ee dhici kara waa haddii, tusaale ahaan, uu jiro "&" dabeecad ku jirta soo-saarka amarkaaga. Sidaa darteed, waa lagama maarmaan in la sifeeyo wax kasta oo laga soo diro router-yada iyo wax kasta oo ku yimaada server-ka. Haa, waan ka xishoonayaa, runtii. Difaacayga, waxaan kaliya ku qori karaa in maqaalka oo dhan uu u go'ay sida loo maareeyo router-yada leh firmware-ka hore loo qeexay iyo kanaalada isgaarsiinta ee aan horay loo sii qeexin.

Hagaag, bilaw mustaqbalka: Wali maan fahmin sida loo isticmaalo qalabka caadiga ah ee zabbix si ay u muujiyaan natiijooyinka (tusaale ahaan, natiijada fulinta amarka) ee u yimaada serverka.

Waxaan ku xasuusinayaa in dhammaan ilaha laga heli karo kaydka Git ee: github.com/BazDen/iotnet.online.git

Source: www.habr.com

Add a comment